From 02cb093f7b9003ad045b95aa42e75cd9636bae13 Mon Sep 17 00:00:00 2001 From: Sam Potts Date: Tue, 3 Oct 2017 00:00:45 +1100 Subject: [PATCH] Small tweaks to focus --- demo/dist/demo.css | 2 +- demo/dist/demo.js | 2 +- dist/plyr.css | 2 +- dist/plyr.js | 4 +- src/js/plyr.js | 66 ++++++++++----------------------- src/less/plyr.less | 92 +++++++++++++++++++++++----------------------- 6 files changed, 71 insertions(+), 97 deletions(-) diff --git a/demo/dist/demo.css b/demo/dist/demo.css index e9ae6437..5423e289 100644 --- a/demo/dist/demo.css +++ b/demo/dist/demo.css @@ -1 +1 @@ -/*! normalize.css v2.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a{background:0 0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@-webkit-keyframes fade-in{0%{opacity:0}100%{opacity:1}}@keyframes fade-in{0%{opacity:0}100%{opacity:1}}@font-face{font-family:Avenir;src:url(https://cdn.plyr.io/static/fonts/avenir-medium.woff2) format("woff2"),url(https://cdn.plyr.io/static/fonts/avenir-medium.woff) format("woff");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Avenir;src:url(https://cdn.plyr.io/static/fonts/avenir-bold.woff2) format("woff2"),url(https://cdn.plyr.io/static/fonts/avenir-bold.woff) format("woff");font-style:normal;font-weight:700;font-display:swap}html{font-size:100%}body{font-family:Avenir,"Helvetica Neue",Helvetica,Arial,sans-serif;line-height:1.5;text-align:center;color:#55646b;font-weight:500;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}h1,h2{letter-spacing:-.025em;color:#3498db;margin:0 0 10px;line-height:1.2;font-weight:700}h1{font-size:64px;font-size:4rem}p,small{margin:0 0 20px}small{display:block;padding:0 10px;font-size:14px;font-size:.875rem}li,ul{list-style:none;margin:0;padding:0}a{text-decoration:none;color:#3498db;border-bottom:1px dotted currentColor;-webkit-transition:background .3s ease,color .3s ease,border .3s ease;transition:background .3s ease,color .3s ease,border .3s ease}a:focus,a:hover{color:#343f4a;border-bottom-color:transparent}a:focus{outline:thin dotted #343f4a;outline-offset:1px}a.logo{border:0}.color--vimeo{color:#19b7ed}.color--youtube{color:#cc181e}*,::after,::before{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none}html{height:100%;background:#f2f5f7 fixed}body{margin:0 auto 20px;padding:10px;max-width:1200px}@media (min-width:480px){body{margin-bottom:40px}}header{padding:20px;margin-bottom:20px}header p{font-size:18px;font-size:1.125rem}@media (min-width:480px){header{padding-top:60px;padding-bottom:60px}}.icon{fill:currentColor;width:18px;height:18px;vertical-align:-3px}a svg,button svg,label svg{pointer-events:none}.btn .icon,a .icon{margin-right:10px}.btn:not(.btn-large) .icon{width:16px;height:16px}nav ul{list-style:none;margin:0;padding:0;font-size:0}nav li{display:inline-block;margin-top:10px;font-size:16px;font-size:1rem;white-space:nowrap}nav li+li{margin-left:20px}.btn__bar{position:relative;margin:0 auto 20px;max-width:1200px;white-space:nowrap}.btn__bar::before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#dbe3e8}.btn__bar ul{position:relative;z-index:1;display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn__bar li{margin:0}.btn__bar li:first-child .btn{border-radius:4px 0 0 4px}.btn__bar li:last-child .btn{border-radius:0 4px 4px 0}.btn__bar li+li .btn{margin-left:-1px}.btn__bar li.active .btn{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.2);box-shadow:inset 0 1px 1px rgba(0,0,0,.2);position:relative;z-index:1}.btn__bar li.active .btn .icon{color:inherit}.btn__bar li.active+li .btn:hover{z-index:0}.btn__bar .btn{position:relative;display:block;border-radius:0}.btn__bar .btn:focus,.btn__bar .btn:hover{z-index:1}@media (min-width:560px){.btn__bar{margin-bottom:40px}}.btn,.btn__count{display:inline-block;vertical-align:middle;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-weight:700}.btn{padding:10px 12px;background:-webkit-gradient(linear,left top,left bottom,from(#f8fafb),to(#e9eef1));background:linear-gradient(#f8fafb,#e9eef1);border:1px solid #cbd0d3;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05);text-shadow:0 1px 1px #fff;color:#55646b;-webkit-transition:background .1s ease,color .1s ease;transition:background .1s ease,color .1s ease;font-size:14px;font-size:.875rem}.btn:focus,.btn:hover{border-color:#b5bcc0;color:#55646b;outline:0}.btn--large{padding:10px 20px;font-size:16px;font-size:1rem}.btn--primary,.btn__bar li.active .btn{background-image:-webkit-gradient(linear,left top,left bottom,from(#3498db),to(#258cd1));background-image:linear-gradient(#3498db,#258cd1);background-color:#3498db;border-color:#217dbb;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.15);box-shadow:0 1px 1px rgba(0,0,0,.15);text-shadow:0 1px 1px rgba(0,0,0,.1);color:#fff}.btn--primary:focus,.btn--primary:hover{color:#fff;border-color:#196090}.btn--youtube .icon{color:#cc181e}.btn--vimeo .icon{color:#19b7ed}.btn--twitter .icon{color:#4baaf4}.btn__count{position:relative;margin-left:10px;padding:10px 15px;background:#fff;border:1px solid #cbd0d3}.btn__count::before{content:"";position:absolute;display:block;width:8px;height:8px;left:1px;top:50%;margin-top:-4px;background:inherit;border:inherit;border-width:1px 0 0 1px;-webkit-transform:rotate(-45deg) translate(-50%,-50%);transform:rotate(-45deg) translate(-50%,-50%)}.error body,html.error{height:100%}.error body{width:100%;display:table;table-layout:fixed}.error main{display:table-cell;width:100%;vertical-align:middle}video{max-width:100%;vertical-align:middle}.plyr{margin:0 auto;border-radius:6px}.plyr--audio{max-width:520px}.plyr__video-wrapper::after{content:"";pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;border:1px solid rgba(0,0,0,.15);border-radius:inherit}.plyr__cite{display:none;margin-top:20px}.plyr__cite .icon{margin-right:5px}.plyr--audio~ul .plyr__cite--audio,.plyr--video:not(.plyr--youtube):not(.plyr--vimeo)~ul .plyr__cite--video,.plyr--vimeo~ul .plyr__cite--vimeo,.plyr--youtube~ul .plyr__cite--youtube{display:block} \ No newline at end of file +/*! normalize.css v2.1.3 | MIT License | git.io/normalize */a.logo,img,legend{border:0}a,h1,h2{color:#3498db}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,small,summary{display:block}figure,li,ul{margin:0}[hidden],template{display:none}li,nav ul,ul{list-style:none;padding:0}legend,li,nav ul,ul{padding:0}.btn__bar,sub,sup{position:relative}.btn__bar,body{max-width:1200px}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}a{background:0 0;text-decoration:none;border-bottom:1px dotted currentColor;transition:background .3s ease,color .3s ease,border .3s ease}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}.btn__bar,nav li{white-space:nowrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}sub,sup{font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@keyframes fade-in{0%{opacity:0}100%{opacity:1}}@font-face{font-family:Avenir;src:url(https://cdn.plyr.io/static/fonts/avenir-medium.woff2) format("woff2"),url(https://cdn.plyr.io/static/fonts/avenir-medium.woff) format("woff");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Avenir;src:url(https://cdn.plyr.io/static/fonts/avenir-bold.woff2) format("woff2"),url(https://cdn.plyr.io/static/fonts/avenir-bold.woff) format("woff");font-style:normal;font-weight:700;font-display:swap}html{font-size:100%;height:100%;background:fixed #f2f5f7}body{font-family:Avenir,"Helvetica Neue",Helvetica,Arial,sans-serif;line-height:1.5;text-align:center;color:#55646b;font-weight:500;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0 auto 20px;padding:10px}h1,h2{letter-spacing:-.025em;margin:0 0 10px;line-height:1.2;font-weight:700}h1{font-size:64px;font-size:4rem}p,small{margin:0 0 20px}small{padding:0 10px;font-size:14px;font-size:.875rem}a:focus,a:hover{color:#343f4a;border-bottom-color:transparent}a:focus{outline:#343f4a dotted thin;outline-offset:1px}.color--vimeo{color:#19b7ed}.color--youtube{color:#cc181e}*,::after,::before{box-sizing:border-box}.btn__bar ul,nav li{display:inline-block}header{padding:20px;margin-bottom:20px}header p{font-size:18px;font-size:1.125rem}@media (min-width:480px){body{margin-bottom:40px}header{padding-top:60px;padding-bottom:60px}}.icon{fill:currentColor;width:18px;height:18px;vertical-align:-3px}.btn,.btn__count,.error main,video{vertical-align:middle}a svg,button svg,label svg{pointer-events:none}.btn .icon,a .icon{margin-right:10px}.btn:not(.btn-large) .icon{width:16px;height:16px}nav ul{margin:0;font-size:0}nav li{margin-top:10px;font-size:16px;font-size:1rem}nav li+li{margin-left:20px}.btn__bar{margin:0 auto 20px}.btn__bar::before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#dbe3e8}.btn__bar ul{position:relative;z-index:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn__bar li{margin:0}.btn__bar li:first-child .btn{border-radius:4px 0 0 4px}.btn__bar li:last-child .btn{border-radius:0 4px 4px 0}.btn__bar li+li .btn{margin-left:-1px}.btn__bar li.active .btn{position:relative;z-index:1}.btn__bar li.active .btn .icon{color:inherit}.btn__bar li.active+li .btn:hover{z-index:0}.btn__bar .btn{position:relative;display:block;border-radius:0}.btn__bar .btn:focus,.btn__bar .btn:hover{z-index:1}@media (min-width:560px){.btn__bar{margin-bottom:40px}}.btn,.btn__count{display:inline-block;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-weight:700}.btn{padding:10px 12px;background:linear-gradient(#f8fafb,#e9eef1);border:1px solid #cbd0d3;box-shadow:0 1px 1px rgba(0,0,0,.05);text-shadow:0 1px 1px #fff;color:#55646b;transition:background .1s ease,color .1s ease;font-size:14px;font-size:.875rem}.btn:focus,.btn:hover{border-color:#b5bcc0;color:#55646b;outline:0}.btn--large{padding:10px 20px;font-size:16px;font-size:1rem}.btn--primary,.btn__bar li.active .btn{background-image:linear-gradient(#3498db,#258cd1);background-color:#3498db;border-color:#217dbb;box-shadow:0 1px 1px rgba(0,0,0,.15);text-shadow:0 1px 1px rgba(0,0,0,.1);color:#fff}.btn--primary:focus,.btn--primary:hover{color:#fff;border-color:#196090}.btn--youtube .icon{color:#cc181e}.btn--vimeo .icon{color:#19b7ed}.btn--twitter .icon{color:#4baaf4}.btn__count{position:relative;margin-left:10px;padding:10px 15px;background:#fff;border:1px solid #cbd0d3}.btn__count::before,.plyr__video-wrapper::after{content:"";position:absolute}.btn__count::before{display:block;width:8px;height:8px;left:1px;top:50%;margin-top:-4px;background:inherit;border:inherit;border-width:1px 0 0 1px;transform:rotate(-45deg) translate(-50%,-50%)}.error body,html.error{height:100%}.error body{width:100%;display:table;table-layout:fixed}.error main{display:table-cell;width:100%}video{max-width:100%}.plyr{margin:0 auto;border-radius:6px}.plyr--audio{max-width:520px}.plyr__video-wrapper::after{pointer-events:none;top:0;bottom:0;left:0;right:0;border:1px solid rgba(0,0,0,.15);border-radius:inherit}.plyr__cite{display:none;margin-top:20px}.plyr__cite .icon{margin-right:5px}.plyr--audio~ul .plyr__cite--audio,.plyr--video:not(.plyr--youtube):not(.plyr--vimeo)~ul .plyr__cite--video,.plyr--vimeo~ul .plyr__cite--vimeo,.plyr--youtube~ul .plyr__cite--youtube{display:block} \ No newline at end of file diff --git a/demo/dist/demo.js b/demo/dist/demo.js index 77408968..ff93cf34 100644 --- a/demo/dist/demo.js +++ b/demo/dist/demo.js @@ -1 +1 @@ -"document"in self&&("classList"in document.createElement("_")?function(){"use strict";var t=document.createElement("_");if(t.classList.add("c1","c2"),!t.classList.contains("c2")){var e=function(t){var e=DOMTokenList.prototype[t];DOMTokenList.prototype[t]=function(t){var i,o=arguments.length;for(i=0;i=0;a--)t(o[a].parentElement,"active",!1);t(document.querySelector('[data-source="'+e+'"]').parentElement,"active",!0),[].forEach.call(document.querySelectorAll(".plyr__cite"),function(t){t.setAttribute("hidden","")}),document.querySelector(".plyr__cite--"+e).removeAttribute("hidden")}}var i=new Plyr("#player",{debug:!0,title:"View From A Blue Moon",iconUrl:"../dist/plyr.svg",tooltips:{controls:!0},captions:{defaultActive:!0},controls:["play-large","play","progress","current-time","mute","volume","captions","settings","fullscreen","pip","airplay"]});window.player=i,window.loadSprite("dist/demo.svg","demo-sprite");var o=document.querySelectorAll("[data-source]"),n={video:"video",audio:"audio",youtube:"youtube",vimeo:"vimeo"},r=window.location.hash.replace("#",""),s=window.history&&window.history.pushState;if([].forEach.call(o,function(t){t.addEventListener("click",function(){var t=this.getAttribute("data-source");e(t),s&&history.pushState({type:t},"","#"+t)})}),window.addEventListener("popstate",function(t){t.state&&"type"in t.state&&e(t.state.type)}),s){var a=!r.length;a&&(r=n.video),r in n&&history.replaceState({type:r},"",a?"":"#"+r),r!==n.video&&e(r,!0)}}(),"plyr.io"===window.location.host&&(!function(t,e,i,o,n,r,s){t.GoogleAnalyticsObject=n,t[n]=t[n]||function(){(t[n].q=t[n].q||[]).push(arguments)},t[n].l=1*new Date,r=e.createElement(i),s=e.getElementsByTagName(i)[0],r.async=1,r.src="//www.google-analytics.com/analytics.js",s.parentNode.insertBefore(r,s)}(window,document,"script",0,"ga"),window.ga("create","UA-40881672-11","auto"),window.ga("send","pageview")); \ No newline at end of file +"document"in self&&("classList"in document.createElement("_")?!function(){"use strict";var t=document.createElement("_");if(t.classList.add("c1","c2"),!t.classList.contains("c2")){var e=function(t){var e=DOMTokenList.prototype[t];DOMTokenList.prototype[t]=function(t){var i,o=arguments.length;for(i=0;i=0;a--)t(o[a].parentElement,"active",!1);t(document.querySelector('[data-source="'+e+'"]').parentElement,"active",!0),[].forEach.call(document.querySelectorAll(".plyr__cite"),function(t){t.setAttribute("hidden","")}),document.querySelector(".plyr__cite--"+e).removeAttribute("hidden")}}var i=new Plyr("#player",{debug:!0,title:"View From A Blue Moon",iconUrl:"../dist/plyr.svg",tooltips:{controls:!0},captions:{defaultActive:!0},controls:["play-large","play","progress","current-time","mute","volume","captions","settings","fullscreen","pip","airplay"]});window.player=i,window.loadSprite("dist/demo.svg","demo-sprite");var o=document.querySelectorAll("[data-source]"),n={video:"video",audio:"audio",youtube:"youtube",vimeo:"vimeo"},r=window.location.hash.replace("#",""),s=window.history&&window.history.pushState;if([].forEach.call(o,function(t){t.addEventListener("click",function(){var t=this.getAttribute("data-source");e(t),s&&history.pushState({type:t},"","#"+t)})}),window.addEventListener("popstate",function(t){t.state&&"type"in t.state&&e(t.state.type)}),s){var a=!r.length;a&&(r=n.video),r in n&&history.replaceState({type:r},"",a?"":"#"+r),r!==n.video&&e(r,!0)}}(),"plyr.io"===window.location.host&&(!function(t,e,i,o,n,r,s){t.GoogleAnalyticsObject=n,t[n]=t[n]||function(){(t[n].q=t[n].q||[]).push(arguments)},t[n].l=1*new Date,r=e.createElement(i),s=e.getElementsByTagName(i)[0],r.async=1,r.src=o,s.parentNode.insertBefore(r,s)}(window,document,"script","//www.google-analytics.com/analytics.js","ga"),window.ga("create","UA-40881672-11","auto"),window.ga("send","pageview")); \ No newline at end of file diff --git a/dist/plyr.css b/dist/plyr.css index 0fd875fb..8acf77c4 100644 --- a/dist/plyr.css +++ b/dist/plyr.css @@ -1 +1 @@ -@-webkit-keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-progress{to{background-position:25px 0}}@-webkit-keyframes plyr-popup{from{-webkit-transform:translateY(10px);transform:translateY(10px);opacity:.5}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes plyr-popup{from{-webkit-transform:translateY(10px);transform:translateY(10px);opacity:.5}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:inherit;font-weight:500;direction:ltr}.plyr,.plyr *,.plyr ::after,.plyr ::before{-webkit-box-sizing:border-box;box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr [aria-hidden=true]{display:none}.plyr:focus{outline:0}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;cursor:pointer;border:none;background:0 0;-webkit-appearance:none}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;-webkit-transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;-webkit-box-shadow:0 1px 1px rgba(52,63,74,.15),0 0 0 1px rgba(52,63,74,.2);box-shadow:0 1px 1px rgba(52,63,74,.15),0 0 0 1px rgba(52,63,74,.2);-webkit-box-sizing:border-box;box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;-webkit-transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(52,63,74,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#1aafff}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;-webkit-transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(52,63,74,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]:focus{outline:0}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#1aafff;border-color:#fff;-webkit-transform:scale(1.25);transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#1aafff;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#1aafff;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:1px dotted rgba(255,255,255,.5)}.plyr--audio input[type=range].tab-focus:focus{outline:1px dotted rgba(86,93,100,.5)}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute!important;padding:0!important;border:0!important;height:1px!important;width:1px!important}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit;z-index:0;overflow:hidden}.plyr__video-embed{padding-bottom:56.25%;height:0}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__video-embed>div{position:relative;padding-bottom:200%;-webkit-transform:translateY(-35.95%);transform:translateY(-35.95%)}.plyr .plyr__video-embed iframe{pointer-events:none}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:10px;-webkit-transform:translateY(-40px);transform:translateY(-40px);-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;color:#fff;font-size:14px;text-align:center}.plyr__captions span{border-radius:2px;padding:.2em .5em;background:rgba(52,63,74,.8);-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:170%;white-space:pre-wrap}.plyr__captions span div{display:inline}.plyr__captions span:empty{display:none}@media (min-width:480px){.plyr__captions{padding:20px;font-size:16px}}@media (min-width:768px){.plyr__captions{font-size:20px}}.plyr--captions-active .plyr__captions{display:block}.plyr--hide-controls .plyr__captions{-webkit-transform:translateY(-15px);transform:translateY(-15px)}@media (min-width:1024px){.plyr--fullscreen-active .plyr__captions{font-size:24px}}.plyr ::-webkit-media-controls{display:none}.plyr__controls{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:1;text-align:center}.plyr__controls .plyr__menu,.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>.plyr__control{margin-left:5px}.plyr__controls .plyr__menu:first-child,.plyr__controls .plyr__menu:first-child+[data-plyr=pause],.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__progress:first-child+[data-plyr=pause],.plyr__controls .plyr__time:first-child,.plyr__controls .plyr__time:first-child+[data-plyr=pause],.plyr__controls>.plyr__control:first-child,.plyr__controls>.plyr__control:first-child+[data-plyr=pause]{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}@media (min-width:480px){.plyr__controls .plyr__menu,.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>.plyr__control{margin-left:10px}.plyr__controls .plyr__menu+.plyr__control,.plyr__controls>.plyr__control+.plyr__control,.plyr__controls>.plyr__control+.plyr__menu{margin-left:5px}}.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none}.plyr__control{position:relative;display:inline-block;-ms-flex-negative:0;flex-shrink:0;overflow:visible;vertical-align:middle;padding:7px;border:0;background:0 0;border-radius:3px;cursor:pointer;-webkit-transition:background .3s ease,color .3s ease,opacity .3s ease;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__control svg{width:18px;height:18px;display:block;fill:currentColor;pointer-events:none;-webkit-filter:drop-shadow(0 1px 1px rgba(0, 0, 0, .15));filter:drop-shadow(0 1px 1px rgba(0, 0, 0, .15))}.plyr__control .icon--captions-on,.plyr__control .icon--exit-fullscreen,.plyr__control .icon--muted{display:none}.plyr__control:focus{outline:0}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:35px 10px 10px;background:-webkit-gradient(linear,left top,left bottom,from(rgba(52,63,74,0)),to(rgba(52,63,74,.85)));background:linear-gradient(rgba(52,63,74,0),rgba(52,63,74,.85));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff;-webkit-transition:opacity .3s ease;transition:opacity .3s ease}.plyr--video .plyr__controls .plyr__control.tab-focus:focus,.plyr--video .plyr__controls .plyr__control:hover,.plyr--video .plyr__controls .plyr__control[aria-expanded=true]{background:#1aafff;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;color:#565d64}.plyr--audio .plyr__controls .plyr__control.tab-focus:focus,.plyr--audio .plyr__controls .plyr__control:hover,.plyr--audio .plyr__controls .plyr__control[aria-expanded=true]{background:#1aafff;color:#fff}.plyr__play-large{display:none;position:absolute;z-index:1;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);padding:13px;background:rgba(26,175,255,.8);border:3px solid currentColor;border-radius:100%;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.15);box-shadow:0 1px 1px rgba(0,0,0,.15);color:#fff;-webkit-transition:all .3s ease;transition:all .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor;pointer-events:none}.plyr__play-large:focus,.plyr__play-large:hover{background:#1aafff}.plyr__play-large:focus{outline:1px dotted rgba(255,255,255,.5)}.plyr .plyr__play-large{display:inline-block}.plyr--audio .plyr__play-large{display:none}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__control .icon--captions-on,.plyr--fullscreen-active .plyr__control .icon--exit-fullscreen,.plyr--muted .plyr__control .icon--muted{display:block}.plyr--captions-active .plyr__control .icon--captions-on+svg,.plyr--fullscreen-active .plyr__control .icon--exit-fullscreen+svg,.plyr--muted .plyr__control .icon--muted+svg{display:none}.plyr [data-plyr=airplay],.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr [data-plyr=pip]{display:none}.plyr--airplay-enabled [data-plyr=airplay],.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr--pip-enabled [data-plyr=pip]{display:inline-block}.plyr__menu{position:relative}.plyr__menu .plyr__control svg{-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease}.plyr__menu .plyr__control[aria-expanded=true] svg{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{position:absolute;z-index:1;bottom:100%;right:-3px;margin-bottom:10px;-webkit-animation:plyr-popup .2s ease;animation:plyr-popup .2s ease;background:rgba(52,63,74,.9);border-radius:4px;white-space:nowrap;text-align:left;color:#fff;font-size:14px}.plyr__menu__container>div{overflow:hidden;-webkit-transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1);transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu__container::after{content:"";position:absolute;top:100%;right:15px;height:0;width:0;border:4px solid transparent;border-top-color:rgba(52,63,74,.9)}.plyr__menu__container ul{margin:0;padding:7px;list-style:none;overflow:hidden}.plyr__menu__container .plyr__control{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;padding:7px 14px;color:#fff;font-weight:600;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__menu__container .plyr__control::after{content:"";position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);border:4px solid transparent}.plyr__menu__container .plyr__control--forward{padding-right:28px}.plyr__menu__container .plyr__control--forward::after{right:5px;border-left-color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__control--back{position:relative;width:calc(100% - 14px);margin:7px;margin-bottom:3px;padding-left:28px;font-weight:500}.plyr__menu__container .plyr__control--back::after{left:7px;border-right-color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__control--back::before{content:"";position:absolute;top:100%;left:0;right:0;height:1px;overflow:hidden;margin-top:4px;background:rgba(0,0,0,.15);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.1);box-shadow:0 1px 0 rgba(255,255,255,.1)}.plyr__menu__container label.plyr__control{padding-left:18px}.plyr__menu__container label.plyr__control input[type=radio]{position:relative;left:-7px}.plyr__menu__container .plyr__menu__value{display:inherit;margin-left:auto;padding-left:25px;pointer-events:none;overflow:hidden;font-weight:500;color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__menu__value .plyr__badge{font-weight:600}.plyr__badge{padding:2px 4px;border-radius:2px;background:#fff;color:rgba(52,63,74,.9);font-size:10px}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;pointer-events:none;opacity:0;background:rgba(52,63,74,.9);border-radius:3px;color:#fff;font-size:14px;font-weight:500;line-height:1.3;-webkit-transform:translate(-50%,10px) scale(.8);transform:translate(-50%,10px) scale(.8);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transition:opacity .2s .1s ease,-webkit-transform .2s .1s ease;transition:opacity .2s .1s ease,-webkit-transform .2s .1s ease;transition:transform .2s .1s ease,opacity .2s .1s ease;transition:transform .2s .1s ease,opacity .2s .1s ease,-webkit-transform .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(52,63,74,.9);border-left:4px solid transparent;z-index:2}.plyr .plyr__control.tab-focus:focus .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;-webkit-transform:translate(-50%,0) scale(1);transform:translate(-50%,0) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;-webkit-transform:translate(0,10px) scale(.8);transform:translate(0,10px) scale(.8);-webkit-transform-origin:0 100%;transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip::before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip::before{left:16px}.plyr__controls>.plyr__control:last-child .plyr__tooltip{right:0;-webkit-transform:translate(0,10px) scale(.8);transform:translate(0,10px) scale(.8);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip::before{left:auto;right:16px;-webkit-transform:translateX(50%);transform:translateX(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control.tab-focus:focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child.tab-focus:focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child.tab-focus:focus .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{-webkit-transform:translate(0,0) scale(1);transform:translate(0,0) scale(1)}.plyr__progress{position:relative;display:none;-webkit-box-flex:1;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr .plyr__progress{display:inline-block}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;border:none;border-radius:100px;-webkit-appearance:none}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#1aafff;background:0 0;-webkit-transition:none;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;-webkit-transition:none;transition:none}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;-webkit-transition:none;transition:none}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{-webkit-transition:width .2s ease;transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{-webkit-transition:width .2s ease;transition:width .2s ease}.plyr__progress--buffer::-ms-fill{-webkit-transition:width .2s ease;transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25);-webkit-box-shadow:0 1px 1px rgba(0,0,0,.15);box-shadow:0 1px 1px rgba(0,0,0,.15)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{-webkit-animation:plyr-progress 1s linear infinite;animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(52,63,74,.2) 25%,transparent 25%,transparent 50%,rgba(52,63,74,.2) 50%,rgba(52,63,74,.2) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr--video .plyr__time{text-shadow:0 1px 1px rgba(0,0,0,.15)}.plyr__volume{display:none}.plyr .plyr__volume{-webkit-box-flex:1;-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0!important}.plyr--fullscreen-active video{height:100%}.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen-active .plyr__video-embed{overflow:visible}.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0}.plyr--fullscreen-active.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)} \ No newline at end of file +.plyr input[type=range]:focus,.plyr:focus{outline:0}@keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-popup{from{transform:translateY(10px);opacity:.5}to{transform:translateY(0);opacity:1}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:inherit;font-weight:500;direction:ltr}.plyr,.plyr *,.plyr ::after,.plyr ::before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr [aria-hidden=true]{display:none}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;cursor:pointer;border:none;background:0 0;-webkit-appearance:none}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(52,63,74,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(52,63,74,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#1aafff}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(52,63,74,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#1aafff;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#1aafff;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#1aafff;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--audio input[type=range].tab-focus{outline:rgba(86,93,100,.5) dotted 1px}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute!important;padding:0!important;border:0!important;height:1px!important;width:1px!important}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit;z-index:0;overflow:hidden}.plyr__video-embed{padding-bottom:56.25%;height:0}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__video-embed>div{position:relative;padding-bottom:200%;transform:translateY(-35.95%)}.plyr .plyr__video-embed iframe{pointer-events:none}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:10px;transform:translateY(-40px);transition:transform .3s ease;color:#fff;font-size:14px;text-align:center}.plyr__captions span{border-radius:2px;padding:.2em .5em;background:rgba(52,63,74,.8);-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:170%;white-space:pre-wrap}.plyr__captions span div{display:inline}.plyr__captions span:empty{display:none}@media (min-width:480px){.plyr__captions{padding:20px;font-size:16px}}@media (min-width:768px){.plyr__captions{font-size:20px}}.plyr--captions-active .plyr__captions{display:block}.plyr--hide-controls .plyr__captions{transform:translateY(-15px)}@media (min-width:1024px){.plyr--fullscreen-active .plyr__captions{font-size:24px}}.plyr ::-webkit-media-controls{display:none}.plyr__controls{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;line-height:1;text-align:center}.plyr__controls .plyr__menu,.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>.plyr__control{margin-left:5px}.plyr__controls .plyr__menu:first-child,.plyr__controls .plyr__menu:first-child+[data-plyr=pause],.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__progress:first-child+[data-plyr=pause],.plyr__controls .plyr__time:first-child,.plyr__controls .plyr__time:first-child+[data-plyr=pause],.plyr__controls>.plyr__control:first-child,.plyr__controls>.plyr__control:first-child+[data-plyr=pause]{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}@media (min-width:480px){.plyr__controls .plyr__menu,.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>.plyr__control{margin-left:10px}.plyr__controls .plyr__menu+.plyr__control,.plyr__controls>.plyr__control+.plyr__control,.plyr__controls>.plyr__control+.plyr__menu{margin-left:5px}}.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none}.plyr__control{position:relative;display:inline-block;-ms-flex-negative:0;flex-shrink:0;overflow:visible;vertical-align:middle;padding:7px;border:0;background:0 0;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__control svg{width:18px;height:18px;display:block;fill:currentColor;pointer-events:none;filter:drop-shadow(0 1px 1px rgba(0, 0, 0, .15))}.plyr__control .icon--captions-on,.plyr__control .icon--exit-fullscreen,.plyr__control .icon--muted{display:none}.plyr__control:focus{outline:0}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:35px 10px 10px;background:linear-gradient(rgba(52,63,74,0),rgba(52,63,74,.85));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff;transition:opacity .3s ease}.plyr--video .plyr__controls .plyr__control.tab-focus,.plyr--video .plyr__controls .plyr__control:hover,.plyr--video .plyr__controls .plyr__control[aria-expanded=true]{background:#1aafff;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;color:#565d64}.plyr--audio .plyr__controls .plyr__control.tab-focus,.plyr--audio .plyr__controls .plyr__control:hover,.plyr--audio .plyr__controls .plyr__control[aria-expanded=true]{background:#1aafff;color:#fff}.plyr__play-large{display:none;position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);padding:13px;background:rgba(26,175,255,.8);border:3px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);color:#fff;transition:all .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor;pointer-events:none}.plyr__play-large:focus,.plyr__play-large:hover{background:#1aafff}.plyr__play-large:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr .plyr__play-large{display:inline-block}.plyr--audio .plyr__play-large,.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__control .icon--captions-on,.plyr--fullscreen-active .plyr__control .icon--exit-fullscreen,.plyr--muted .plyr__control .icon--muted{display:block}.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr [data-plyr=pip],.plyr [data-plyr=airplay],.plyr--captions-active .plyr__control .icon--captions-on+svg,.plyr--fullscreen-active .plyr__control .icon--exit-fullscreen+svg,.plyr--muted .plyr__control .icon--muted+svg{display:none}.plyr--airplay-enabled [data-plyr=airplay],.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr--pip-enabled [data-plyr=pip]{display:inline-block}.plyr__menu{position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(45deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{position:absolute;z-index:1;bottom:100%;right:-3px;margin-bottom:10px;animation:plyr-popup .2s ease;background:rgba(52,63,74,.9);border-radius:4px;white-space:nowrap;text-align:left;color:#fff;font-size:14px}.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu__container::after{content:"";position:absolute;top:100%;right:15px;height:0;width:0;border:4px solid transparent;border-top-color:rgba(52,63,74,.9)}.plyr__menu__container ul{margin:0;padding:7px;list-style:none;overflow:hidden}.plyr__menu__container .plyr__control{display:-ms-flexbox;display:flex;width:100%;padding:7px 14px;color:#fff;font-weight:600;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__menu__container .plyr__control::after{content:"";position:absolute;top:50%;transform:translateY(-50%);border:4px solid transparent}.plyr__menu__container .plyr__control--forward{padding-right:28px}.plyr__menu__container .plyr__control--forward::after{right:5px;border-left-color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__control--back{position:relative;width:calc(100% - 14px);margin:7px 7px 3px;padding-left:28px;font-weight:500}.plyr__menu__container .plyr__control--back::after{left:7px;border-right-color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__control--back::before{content:"";position:absolute;top:100%;left:0;right:0;height:1px;overflow:hidden;margin-top:4px;background:rgba(0,0,0,.15);box-shadow:0 1px 0 rgba(255,255,255,.1)}.plyr__menu__container label.plyr__control{padding-left:18px}.plyr__menu__container label.plyr__control input[type=radio]{position:relative;left:-7px}.plyr__menu__container .plyr__menu__value{display:inherit;margin-left:auto;padding-left:25px;pointer-events:none;overflow:hidden;font-weight:500;color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__menu__value .plyr__badge{font-weight:600}.plyr__badge{padding:2px 4px;border-radius:2px;background:#fff;color:rgba(52,63,74,.9);font-size:10px}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;pointer-events:none;opacity:0;background:rgba(52,63,74,.9);border-radius:3px;color:#fff;font-size:14px;font-weight:500;line-height:1.3;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease}.plyr__tooltip::before{content:"";position:absolute;width:0;height:0;left:50%;transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(52,63,74,.9);border-left:4px solid transparent;z-index:2}.plyr .plyr__control.tab-focus .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%,0) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip::before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip::before{left:16px}.plyr__controls>.plyr__control:last-child .plyr__tooltip{right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip::before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control.tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child.tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child.tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr__progress{position:relative;display:none;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr .plyr__progress{display:inline-block}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;border:none;border-radius:100px;-webkit-appearance:none}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#1aafff;background:0 0;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25);box-shadow:0 1px 1px rgba(0,0,0,.15)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(52,63,74,.2) 25%,transparent 25%,transparent 50%,rgba(52,63,74,.2) 50%,rgba(52,63,74,.2) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:"\2044";margin-right:10px}.plyr--video .plyr__time{text-shadow:0 1px 1px rgba(0,0,0,.15)}.plyr__volume{display:none}.plyr .plyr__volume{-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0!important}.plyr--fullscreen-active video{height:100%}.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen-active .plyr__video-embed{overflow:visible}.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0}.plyr--fullscreen-active.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)} \ No newline at end of file diff --git a/dist/plyr.js b/dist/plyr.js index 7c19e4c7..498da59b 100644 --- a/dist/plyr.js +++ b/dist/plyr.js @@ -1 +1,3 @@ -(function(e,t,n){"use strict";"object"==typeof exports?module.exports=n(require):"function"==typeof define&&define.amd?define(n):t[e]=n()}).call(this,"Plyr",this,function(){"use strict";function e(e,t){function r(e,t,n,i){a.dispatchEvent(e,t,n,a.extend({},i,{plyr:de}))}function l(){var e=c("input:not([disabled]), button:not([disabled])"),t=e[0],n=e[e.length-1];a.on(de.elements.container,"keydown",function(e){9===e.which&&de.fullscreen.active&&(e.target!==n||e.shiftKey?e.target===t&&e.shiftKey&&(e.preventDefault(),n.focus()):(e.preventDefault(),t.focus()))},!1)}function c(e){return de.elements.container.querySelectorAll(e)}function u(e){return c(e)[0]}function d(e){a.is.string(e)?(a.removeElement(de.elements[e]),de.elements[e]=null):a.removeElement(e)}function p(e,t){a.is.string(t)?a.insertElement(e,de.media,{src:t}):a.is.array(t)&&(ge(t),t.forEach(function(t){a.insertElement(e,de.media,t)}))}function m(){return{url:de.config.iconUrl,absolute:0===de.config.iconUrl.indexOf("http")||de.browser.isIE}}function g(e,t){var n=m(),i=(n.absolute?"":n.url)+"#"+de.config.iconPrefix,o=document.createElementNS("http://www.w3.org/2000/svg","svg");a.setAttributes(o,a.extend(t,{role:"presentation"}));var s=document.createElementNS("http://www.w3.org/2000/svg","use");return s.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",i+"-"+e),o.appendChild(s),o}function f(e){var t=de.config.i18n[e];switch(e){case"pip":t="PIP";break;case"airplay":t="AirPlay"}return a.createElement("span",{class:de.config.classNames.hidden},t)}function y(e){var t=a.createElement("span",{class:de.config.classNames.menu.value});return t.appendChild(a.createElement("span",{class:de.config.classNames.menu.badge},e)),t}function b(e,t){var n,i,o,s=a.createElement("button");switch(a.is.object(t)||(t={}),"type"in t||(t.type="button"),"class"in t?-1===t.class.indexOf(de.config.classNames.control)&&(t.class+=" "+de.config.classNames.control):t.class=de.config.classNames.control,e){case"mute":o="toggleMute",n="volume",i="muted";break;case"captions":o="toggleCaptions",n="captions-off",i="captions-on";break;case"fullscreen":o="toggleFullscreen",n="enter-fullscreen",i="exit-fullscreen";break;case"play-large":t.class="plyr__play-large",e="play",o="play",n="play";break;default:o=e,n=e}return a.extend(t,a.getAttributesFromSelector(de.config.selectors.buttons[e],t)),a.is.string(i)&&s.appendChild(g(i,{class:"icon--"+i})),s.appendChild(g(n)),s.appendChild(f(o)),a.setAttributes(s,t),de.elements.buttons[e]=s,s}function v(e,t){var n=a.createElement("label",{for:t.id,class:de.config.classNames.hidden},de.config.i18n[e]),i=a.createElement("input",a.extend(a.getAttributesFromSelector(de.config.selectors.inputs[e]),{type:"range",min:0,max:100,step:.1,value:0,autocomplete:"off"},t));return de.elements.inputs[e]=i,{label:n,input:i}}function h(e,t){var n=a.createElement("progress",a.extend(a.getAttributesFromSelector(de.config.selectors.display[e]),{min:0,max:100,value:0},t));if("volume"!==e){n.appendChild(a.createElement("span",null,"0"));var i="";switch(e){case"played":i=de.config.i18n.played;break;case"buffer":i=de.config.i18n.buffered}n.textContent="% "+i.toLowerCase()}return de.elements.display[e]=n,n}function w(e){var t=a.createElement("span",{class:"plyr__time"});return t.appendChild(a.createElement("span",{class:de.config.classNames.hidden},de.config.i18n[e])),t.appendChild(a.createElement("span",a.getAttributesFromSelector(de.config.selectors.display[e]),"00:00")),de.elements.display[e]=t,t}function k(e){if(!a.is.empty(de.config.controls)){var t=a.createElement("div",a.getAttributesFromSelector(de.config.selectors.controls.wrapper));if(a.inArray(de.config.controls,"restart")&&t.appendChild(b("restart")),a.inArray(de.config.controls,"rewind")&&t.appendChild(b("rewind")),a.inArray(de.config.controls,"play")&&(t.appendChild(b("play")),t.appendChild(b("pause"))),a.inArray(de.config.controls,"fast-forward")&&t.appendChild(b("fast-forward")),a.inArray(de.config.controls,"progress")){var n=a.createElement("span",a.getAttributesFromSelector(de.config.selectors.progress)),i=v("seek",{id:"plyr-seek-"+e.id});if(n.appendChild(i.label),n.appendChild(i.input),n.appendChild(h("played")),n.appendChild(h("buffer")),de.config.tooltips.seek){var o=a.createElement("span",{role:"tooltip",class:de.config.classNames.tooltip},"00:00");n.appendChild(o),de.elements.display.seekTooltip=o}de.elements.progress=n,t.appendChild(de.elements.progress)}if(a.inArray(de.config.controls,"current-time")&&t.appendChild(w("currentTime")),a.inArray(de.config.controls,"duration")&&t.appendChild(w("duration")),a.inArray(de.config.controls,"mute")&&t.appendChild(b("mute")),a.inArray(de.config.controls,"volume")){var r=a.createElement("span",{class:"plyr__volume"}),l={max:1,step:.05,value:de.config.volume},c=v("volume",a.extend(l,{id:"plyr-volume-"+e.id}));r.appendChild(c.label),r.appendChild(c.input);var u=h("volume",l);r.appendChild(u),t.appendChild(r)}if(a.inArray(de.config.controls,"captions")&&t.appendChild(b("captions")),a.inArray(de.config.controls,"settings")&&!a.is.empty(de.config.settings)){var d=a.createElement("div",{class:"plyr__menu"});d.appendChild(b("settings",{id:"plyr-settings-toggle-"+e.id,"aria-haspopup":!0,"aria-controls":"plyr-settings-"+e.id,"aria-expanded":!1}));var p=a.createElement("form",{class:"plyr__menu__container",id:"plyr-settings-"+e.id,"aria-hidden":!0,"aria-labelled-by":"plyr-settings-toggle-"+e.id,role:"tablist",tabindex:-1}),m=a.createElement("div"),g=a.createElement("div",{id:"plyr-settings-"+e.id+"-home","aria-hidden":!1,"aria-labelled-by":"plyr-settings-toggle-"+e.id,role:"tabpanel"}),f=a.createElement("ul",{role:"tablist"});de.config.settings.forEach(function(t){var n=a.createElement("li",{role:"tab",hidden:""}),i=a.createElement("button",a.extend(a.getAttributesFromSelector(de.config.selectors.buttons.settings),{type:"button",class:de.config.classNames.control+" "+de.config.classNames.control+"--forward",id:"plyr-settings-"+e.id+"-"+t+"-tab","aria-haspopup":!0,"aria-controls":"plyr-settings-"+e.id+"-"+t,"aria-expanded":!1}),de.config.i18n[t]),o=a.createElement("span",{class:de.config.classNames.menu.value});o.innerHTML=e[t],i.appendChild(o),n.appendChild(i),f.appendChild(n),de.elements.settings.tabs[t]=n}),g.appendChild(f),m.appendChild(g),de.config.settings.forEach(function(t){var n=a.createElement("div",{id:"plyr-settings-"+e.id+"-"+t,"aria-hidden":!0,"aria-labelled-by":"plyr-settings-"+e.id+"-"+t+"-tab",role:"tabpanel",tabindex:-1,hidden:""}),i=a.createElement("button",{type:"button",class:de.config.classNames.control+" "+de.config.classNames.control+"--back","aria-haspopup":!0,"aria-controls":"plyr-settings-"+e.id+"-home","aria-expanded":!1},de.config.i18n[t]);n.appendChild(i);var o=a.createElement("ul");n.appendChild(o),m.appendChild(n),de.elements.settings.panes[t]=n}),p.appendChild(m),d.appendChild(p),t.appendChild(d),de.elements.settings.form=p,de.elements.settings.menu=d}return a.inArray(de.config.controls,"pip")&&s.pip&&t.appendChild(b("pip")),a.inArray(de.config.controls,"airplay")&&s.airplay&&t.appendChild(b("airplay")),a.inArray(de.config.controls,"fullscreen")&&t.appendChild(b("fullscreen")),a.inArray(de.config.controls,"play-large")&&(de.elements.buttons.playLarge=b("play-large"),de.elements.container.appendChild(de.elements.buttons.playLarge)),de.elements.controls=t,a.inArray(de.config.controls,"settings")&&a.inArray(de.config.settings,"speed")&&N(),t}}function C(e,t){var n=de.elements.settings.tabs[e],i=de.elements.settings.panes[e];a.is.htmlElement(n)&&(t?n.removeAttribute("hidden"):n.setAttribute("hidden","")),a.is.htmlElement(i)&&(t?i.removeAttribute("hidden"):i.setAttribute("hidden",""))}function E(e,t){function n(e){var t="";switch(e){case"hd2160":t="4K";break;case"hd1440":t="WQHD";break;case"hd1080":case"hd720":t="HD"}return t.length?y(t):null}var i=de.elements.settings.panes.quality.querySelector("ul");a.is.array(e)?de.quality.options=e.filter(function(e){return a.inArray(de.config.quality.options,e)}):de.quality.options=de.config.quality.options,a.is.string(t)&&a.inArray(de.quality.options,t)&&(de.quality.selected=t);var o=!a.is.empty(de.quality.options)&&"youtube"===de.type;C("quality",o),o&&(a.emptyElement(i),de.quality.options.forEach(function(e){var t=a.createElement("li"),o=a.createElement("label",{class:de.config.classNames.control}),s=a.createElement("input",a.extend(a.getAttributesFromSelector(de.config.selectors.inputs.quality),{type:"radio",name:"plyr-quality",value:e}));o.appendChild(s),o.appendChild(document.createTextNode(A("quality",e)));var r=n(e);a.is.htmlElement(r)&&o.appendChild(r),t.appendChild(o),i.appendChild(t)}),T("quality",i))}function A(e,t){switch(e){case"speed":return 1===t?"Normal":t+"×";case"quality":switch(t){case"hd2160":return"2160P";case"hd1440":return"1440P";case"hd1080":return"1080P";case"hd720":return"720P";case"large":return"480P";case"medium":return"360P";case"small":return"240P";case"tiny":return"Tiny";case"default":return"Auto";default:return t}case"captions":return F()}}function T(e,t){var n=de.elements.settings.panes[e],i=null;switch(e){case"captions":i=de.captions.language,de.captions.enabled||(i="");break;default:if(i=de[e].selected,a.is.empty(i)&&(i=de.config[e].default),!a.inArray(de[e].options,i))return void ge("Unsupported option")}a.is.htmlElement(t)||(t=n&&n.querySelector("ul"));var o=t&&t.querySelector('input[value="'+i+'"]');a.is.htmlElement(o)&&(o.checked=!0,de.elements.settings.tabs[e].querySelector("."+de.config.classNames.menu.value).innerHTML=A(e,i))}function S(){var e=de.elements.settings.panes.captions.querySelector("ul");if(C("captions",!a.is.empty(de.captions.tracks)),a.emptyElement(e),!a.is.empty(de.captions.tracks)){var t=[].map.call(de.captions.tracks,function(e){return{language:e.language,badge:!0,label:a.is.empty(e.label)?e.language.toUpperCase():e.label}});t.unshift({language:"",label:de.config.i18n.none}),t.forEach(function(t){var n=a.createElement("li"),i=a.createElement("label",{class:de.config.classNames.control}),o=a.createElement("input",a.extend(a.getAttributesFromSelector(de.config.selectors.inputs.language),{type:"radio",name:"plyr-language",value:t.language}));t.language.toLowerCase()===de.captions.language.toLowerCase()&&(o.checked=!0),i.appendChild(o),i.appendChild(document.createTextNode(t.label||t.language)),t.badge&&i.appendChild(y(t.language.toUpperCase())),n.appendChild(i),e.appendChild(n)}),T("captions",e)}}function N(e,t){a.is.array(e)?de.speed.options=e.filter(function(e){return a.inArray(de.config.speed.options,e)}):de.speed.options=de.config.speed.options,a.is.number(t)&&a.inArray(de.speed.options,t)&&(de.speed.selected=t);var n=!a.is.empty(de.speed.options);if(C("speed",n),n){var i=de.elements.settings.panes.speed.querySelector("ul");de.elements.settings.tabs.speed.removeAttribute("hidden"),de.elements.settings.panes.speed.removeAttribute("hidden"),a.emptyElement(i),de.speed.options.forEach(function(e){var t=a.createElement("li"),n=a.createElement("label",{class:de.config.classNames.control}),o=a.createElement("input",a.extend(a.getAttributesFromSelector(de.config.selectors.inputs.speed),{type:"radio",name:"plyr-speed",value:e}));n.appendChild(o),n.insertAdjacentHTML("beforeend",A("speed",e)),t.appendChild(n),i.appendChild(t)}),T("speed",i)}}function x(){if(de.supported.full&&("audio"!==de.type||de.config.fullscreen.allowAudio)&&de.config.fullscreen.enabled){var e=s.fullscreen;e||de.config.fullscreen.fallback&&!a.inFrame()?(me((e?"Native":"Fallback")+" fullscreen enabled"),a.toggleClass(de.elements.container,de.config.classNames.fullscreen.enabled,!0)):me("Fullscreen not supported and fallback disabled"),de.elements.buttons&&de.elements.buttons.fullscreen&&a.toggleState(de.elements.buttons.fullscreen,!1),l()}}function P(){function e(){de.captions.currentTrack=null,[].forEach.call(de.captions.tracks,function(e){e.language===de.captions.language.toLowerCase()&&(de.captions.currentTrack=e)})}if(a.is.empty(de.storage.language)?a.is.empty(de.captions.language)&&(de.captions.language=de.config.captions.language.toLowerCase()):de.captions.language=de.storage.language,a.is.boolean(de.captions.enabled)||(a.is.empty(de.storage.language)?de.captions.enabled=de.config.captions.active:de.captions.enabled=de.storage.captions),!a.inArray(["video","vimeo"],de.type)||"video"===de.type&&!s.textTracks)return de.captions.tracks=null,void(a.inArray(de.config.controls,"settings")&&a.inArray(de.config.settings,"captions")&&S());if(a.is.htmlElement(de.elements.captions)||(de.elements.captions=a.createElement("div",a.getAttributesFromSelector(de.config.selectors.captions)),a.insertAfter(de.elements.captions,de.elements.wrapper)),"video"===de.type&&(de.captions.tracks=de.media.textTracks),a.toggleClass(de.elements.container,de.config.classNames.captions.enabled,!a.is.empty(de.captions.tracks)),!a.is.empty(de.captions.tracks)){if(_(),e(),!a.is.track(de.captions.currentTrack)){var t=de.config.captions.language;de.captions.language=t,e(),a.is.track(de.captions.currentTrack)||de.toggleCaptions(!1),T("captions")}if("video"===de.type){[].forEach.call(de.captions.tracks,function(e){a.off(e,"cuechange",I),e.mode="hidden"});var n=a.inArray(["captions","subtitles"],de.captions.currentTrack&&de.captions.currentTrack.kind);a.is.track(de.captions.currentTrack)&&n&&(a.on(de.captions.currentTrack,"cuechange",I),de.captions.currentTrack.activeCues&&de.captions.currentTrack.activeCues.length>0&&I(de.captions.currentTrack))}else"vimeo"===de.type&&de.captions.active&&de.embed.enableTextTrack(de.captions.language);a.inArray(de.config.controls,"settings")&&a.inArray(de.config.settings,"captions")&&S()}}function F(){return!s.textTracks||a.is.empty(de.captions.tracks)?de.config.i18n.none:de.captions.enabled?de.captions.currentTrack.label:de.config.i18n.disabled}function I(e){a.is.event(e)&&(e=e.target);var t=e.activeCues[0];a.is.cue(t)?q(t.getCueAsHTML()):q(),r(de.media,"cuechange")}function q(e){if(a.is.htmlElement(de.elements.captions)){var t=a.createElement("span");a.emptyElement(de.elements.captions),a.is.undefined(e)&&(e=""),a.is.string(e)?t.textContent=e.trim():t.appendChild(e),de.elements.captions.appendChild(t)}else ge("No captions element to render to")}function _(){if(de.elements.buttons.captions){var e=de.storage.captions;a.is.boolean(e)?de.captions.active=e:e=de.captions.active,e&&(a.toggleClass(de.elements.container,de.config.classNames.captions.active,!0),a.toggleState(de.elements.buttons.captions,!0))}}function L(){if(de.config.loadSprite){var e=m();e.absolute?(me("AJAX loading absolute SVG sprite"+(de.browser.isIE?" (due to IE)":"")),a.loadSprite(e.url,"sprite-plyr")):me("Sprite will be used as external resource directly")}de.id=Math.floor(1e4*Math.random());var t=null;t=a.is.string(de.config.controls)?de.config.controls:a.is.function(de.config.controls)?de.config.controls({id:de.id,seektime:de.config.seekTime}):k({id:de.id,seektime:de.config.seekTime,speed:"-",quality:"-",captions:F(),loop:"None"});var n;if(a.is.string(de.config.selectors.controls.container)&&(n=document.querySelector(de.config.selectors.controls.container)),a.is.htmlElement(n)||(n=de.elements.container),a.is.htmlElement(t)?n.appendChild(t):n.insertAdjacentHTML("beforeend",t),a.is.htmlElement(de.elements.controls)&&M(),de.config.tooltips.controls)for(var i=c([de.config.selectors.controls.wrapper," ",de.config.selectors.labels," .",de.config.classNames.hidden].join("")),o=i.length-1;o>=0;o--){var s=i[o];a.toggleClass(s,de.config.classNames.hidden,!1),a.toggleClass(s,de.config.classNames.tooltip,!0)}}function M(){try{return de.elements.controls=u(de.config.selectors.controls.wrapper),de.elements.buttons={play:c(de.config.selectors.buttons.play),pause:u(de.config.selectors.buttons.pause),restart:u(de.config.selectors.buttons.restart),rewind:u(de.config.selectors.buttons.rewind),forward:u(de.config.selectors.buttons.forward),mute:u(de.config.selectors.buttons.mute),pip:u(de.config.selectors.buttons.pip),airplay:u(de.config.selectors.buttons.airplay),settings:u(de.config.selectors.buttons.settings),captions:u(de.config.selectors.buttons.captions),fullscreen:u(de.config.selectors.buttons.fullscreen)},de.elements.progress=u(de.config.selectors.progress),de.elements.inputs={seek:u(de.config.selectors.inputs.seek),volume:u(de.config.selectors.inputs.volume)},de.elements.display={buffer:u(de.config.selectors.display.buffer),played:u(de.config.selectors.display.played),volume:u(de.config.selectors.display.volume),duration:u(de.config.selectors.display.duration),currentTime:u(de.config.selectors.display.currentTime)},a.is.htmlElement(de.elements.progress)&&(de.elements.display.seekTooltip=de.elements.progress.querySelector("."+de.config.classNames.tooltip)),!0}catch(e){return ge("It looks like there is a problem with your custom controls HTML",e),O(!0),!1}}function V(){a.toggleClass(de.elements.container,de.config.selectors.container.replace(".",""),de.supported.full)}function O(e){e&&a.inArray(i.html5,de.type)?de.media.setAttribute("controls",""):de.media.removeAttribute("controls")}function j(e){var t=de.config.i18n.play;if(a.is.string(de.config.title)&&!a.is.empty(de.config.title)&&(t+=", "+de.config.title,de.elements.container.setAttribute("aria-label",de.config.title)),de.supported.full&&(a.is.htmlElement(de.elements.buttons.play)&&de.elements.buttons.play.setAttribute("aria-label",t),a.is.htmlElement(de.elements.buttons.playLarge)&&de.elements.buttons.playLarge.setAttribute("aria-label",t)),a.is.htmlElement(e)){var n=a.is.string(de.config.title)&&!a.is.empty(de.config.title)?de.config.title:"video";e.setAttribute("title",de.config.i18n.frameTitle.replace("{title}",n))}}function D(){var e=null;de.storage={},s.storage&&de.config.storage.enabled&&(window.localStorage.removeItem("plyr-volume"),(e=window.localStorage.getItem(de.config.storage.key))&&(/^\d+(\.\d+)?$/.test(e)?R({volume:parseFloat(e)}):de.storage=JSON.parse(e)))}function R(e){s.storage&&de.config.storage.enabled&&(a.extend(de.storage,e),window.localStorage.setItem(de.config.storage.key,JSON.stringify(de.storage)))}function H(){de.media?(de.supported.full&&(a.toggleClass(de.elements.container,de.config.classNames.type.replace("{0}",de.type),!0),a.inArray(i.embed,de.type)&&a.toggleClass(de.elements.container,de.config.classNames.type.replace("{0}","video"),!0),a.toggleClass(de.elements.container,de.config.classNames.pip.enabled,s.pip&&"video"===de.type),a.toggleClass(de.elements.container,de.config.classNames.airplay.enabled,s.airplay&&a.inArray(i.html5,de.type)),a.toggleClass(de.elements.container,de.config.classNames.stopped,de.config.autoplay),a.toggleClass(de.elements.container,de.config.classNames.isIos,de.browser.isIos),a.toggleClass(de.elements.container,de.config.classNames.isTouch,s.touch)),a.inArray(["video","youtube","vimeo"],de.type)&&(de.elements.wrapper=a.createElement("div",{class:de.config.classNames.video}),a.wrap(de.media,de.elements.wrapper)),a.inArray(i.embed,de.type)&&B()):ge("No media element found!")}function B(){var e,t=de.type+"-"+Math.floor(1e4*Math.random());switch(de.type){case"youtube":e=a.parseYouTubeId(de.embedId);break;default:e=de.embedId}for(var n=c('[id^="'+de.type+'-"]'),i=n.length-1;i>=0;i--)a.removeElement(n[i]);if(a.toggleClass(de.elements.wrapper,de.config.classNames.embed,!0),"youtube"===de.type)de.media.setAttribute("id",t),a.is.object(window.YT)?W(e):(a.injectScript(de.config.urls.youtube.api),window.onYouTubeReadyCallbacks=window.onYouTubeReadyCallbacks||[],window.onYouTubeReadyCallbacks.push(function(){W(e)}),window.onYouTubeIframeAPIReady=function(){window.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===de.type)if(de.media.setAttribute("id",t),a.is.object(window.Vimeo))Q(e);else{a.injectScript(de.config.urls.vimeo.api);var o=window.setInterval(function(){a.is.object(window.Vimeo)&&(window.clearInterval(o),Q(e))},50)}else if("soundcloud"===de.type){var s=a.createElement("iframe");s.loaded=!1,a.on(s,"load",function(){s.loaded=!0}),a.setAttributes(s,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+e,id:t}),de.media.appendChild(s),window.SC||a.injectScript(de.config.urls.soundcloud.api);var r=window.setInterval(function(){window.SC&&s.loaded&&(window.clearInterval(r),U.call(s))},50)}}function Y(){de.supported.full&&(ce(),ue()),j(u("iframe"))}function W(e){de.embed=new window.YT.Player(de.media.id,{videoId:e,playerVars:{autoplay:de.config.autoplay?1:0,controls:de.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,modestbranding:1,disablekb:1,playsinline:1,origin:window.location.hostname,widget_referrer:window.location.href},events:{onError:function(e){r(de.elements.container,"error",!0,{code:e.data,embed:e.target})},onPlaybackQualityChange:function(e){var t=e.target;de.media.quality=t.getPlaybackQuality(),r(de.media,"qualitychange")},onPlaybackRateChange:function(e){var t=e.target;de.media.playbackRate=t.getPlaybackRate(),r(de.media,"ratechange")},onReady:function(e){var t=e.target;de.media.play=function(){t.playVideo(),de.media.paused=!1},de.media.pause=function(){t.pauseVideo(),de.media.paused=!0},de.media.stop=function(){t.stopVideo(),de.media.paused=!0},de.media.duration=t.getDuration(),de.media.paused=!0,de.media.currentTime=0,de.media.muted=t.isMuted(),a.inArray(de.config.controls,"settings")&&a.inArray(de.config.settings,"speed")&&N(t.getAvailablePlaybackRates(),t.getPlaybackRate()),de.config.title=t.getVideoData().title,de.supported.full&&de.media.setAttribute("tabindex",-1),Y(),r(de.media,"timeupdate"),r(de.media,"durationchange"),window.clearInterval(pe.buffering),pe.buffering=window.setInterval(function(){de.media.buffered=t.getVideoLoadedFraction(),(null===de.media.lastBuffered||de.media.lastBuffered0;n=("0"+n).slice(-2),i=("0"+i).slice(-2);var r=(s?a+":":"")+i+":"+n;return t.textContent=r,r}}function ne(){if(de.supported.full){var e=de.getDuration()||0;!de.elements.display.duration&&de.config.displayDuration&&de.media.paused&&te(e,de.elements.display.currentTime),de.elements.display.duration&&te(e,de.elements.display.duration),oe()}}function ie(e){te(de.media.currentTime,de.elements.display.currentTime),e&&"timeupdate"===e.type&&de.media.seeking||Z(e)}function ae(e){a.is.number(e)||(e=0);var t=de.getDuration(),n=a.getPercentage(e,t);de.elements.progress&&de.elements.display.played&&(de.elements.display.played.value=n),de.elements.buttons&&de.elements.inputs.seek&&(de.elements.inputs.seek.value=n)}function oe(e){var t=de.getDuration();if(de.config.tooltips.seek&&a.is.htmlElement(de.elements.inputs.seek)&&a.is.htmlElement(de.elements.display.seekTooltip)&&0!==t){var n=de.elements.inputs.seek.getBoundingClientRect(),i=0,o=de.config.classNames.tooltip+"--visible";if(a.is.event(e))i=100/n.width*(e.pageX-n.left);else{if(!a.hasClass(de.elements.display.seekTooltip,o))return;i=de.elements.display.seekTooltip.style.left.replace("%","")}i<0?i=0:i>100&&(i=100),te(t/100*i,de.elements.display.seekTooltip),de.elements.display.seekTooltip.style.left=i+"%",a.is.event(e)&&a.inArray(["mouseenter","mouseleave"],e.type)&&a.toggleClass(de.elements.display.seekTooltip,o,"mouseenter"===e.type)}}function se(){function e(){var e=de.togglePlay(),t=de.elements.buttons[e?"play":"pause"],n=de.elements.buttons[e?"pause":"play"];n&&t&&a.hasClass(t,de.config.classNames.tabFocus)&&setTimeout(function(){n.focus(),a.toggleClass(t,de.config.classNames.tabFocus,!1),a.toggleClass(n,de.config.classNames.tabFocus,!0)},0)}function t(e){return e.keyCode?e.keyCode:e.which}function n(e){a.toggleClass(c("."+de.config.classNames.tabFocus),de.config.classNames.tabFocus,!1),de.elements.container.contains(e)&&a.toggleClass(e,de.config.classNames.tabFocus,!0)}function i(n){var i=t(n),o="keydown"===n.type,r=o&&i===l;if(a.is.number(i))if(o){var c=[48,49,50,51,52,53,54,56,57,32,75,38,40,77,39,37,70,67,73,76,79],u=[38,40];if(a.inArray(u,i)){var d=a.getFocusElement();if(a.is.htmlElement(d)&&"radio"===a.getFocusElement().type)return}switch(a.inArray(c,i)&&(n.preventDefault(),n.stopPropagation()),i){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:r||function(){var e=de.media.duration;a.is.number(e)&&de.seek(e/10*(i-48))}();break;case 32:case 75:r||e();break;case 38:de.increaseVolume();break;case 40:de.decreaseVolume();break;case 77:r||de.toggleMute();break;case 39:de.forward();break;case 37:de.rewind();break;case 70:de.toggleFullscreen();break;case 67:r||de.toggleCaptions();break;case 73:de.setLoop("start");break;case 76:de.setLoop();break;case 79:de.setLoop("end")}!s.fullscreen&&de.fullscreen.active&&27===i&&de.toggleFullscreen(),l=i}else l=null}var r=de.browser.isIE?"change":"input";if(de.config.keyboard.focused){var l=null;de.config.keyboard.global&&a.on(window,"keydown keyup",function(e){var n=t(e),o=a.getFocusElement(),s=[48,49,50,51,52,53,54,56,57,75,77,70,67,73,76,79];!a.inArray(s,n)||a.is.htmlElement(o)&&a.matches(o,de.config.selectors.editable)||i(e)},!1),a.on(de.elements.container,"keydown keyup",i,!1)}a.on(window,"keyup",function(e){var i=t(e),o=a.getFocusElement();9===i&&n(o)}),a.on(document.body,"click",function(){a.toggleClass(u("."+de.config.classNames.tabFocus),de.config.classNames.tabFocus,!1)});for(var d in de.elements.buttons)a.on(de.elements.buttons[d],"blur",function(e){a.toggleClass(e.target,de.config.classNames.tabFocus,!1)});var p=function(e,t,n){a.is.function(t)&&t.call(this,e),a.is.function(n)&&n.call(this,e)};a.proxy(de.elements.buttons.play,"click",de.config.listeners.play,e),a.proxy(de.elements.buttons.playLarge,"click",de.config.listeners.play,e),a.proxy(de.elements.buttons.pause,"click",de.config.listeners.pause,e),a.proxy(de.elements.buttons.restart,"click",de.config.listeners.restart,function(){de.restart()}),a.proxy(de.elements.buttons.rewind,"click",de.config.listeners.rewind,function(){de.rewind()}),a.proxy(de.elements.buttons.forward,"click",de.config.listeners.forward,function(){de.forward()}),a.proxy(de.elements.buttons.mute,"click",de.config.listeners.mute,function(){de.toggleMute()}),a.proxy(de.elements.buttons.captions,"click",de.config.listeners.captions,function(){de.toggleCaptions()}),a.proxy(de.elements.buttons.fullscreen,"click",de.config.listeners.fullscreen,function(e){de.toggleFullscreen(e)}),a.proxy(de.elements.buttons.pip,"click",de.config.listeners.pip,function(){de.togglePictureInPicture()}),a.proxy(de.elements.buttons.airplay,"click",de.config.listeners.airplay,function(){de.airPlay()}),a.on(de.elements.buttons.settings,"click",X),a.on(document.documentElement,"click",X),a.on(de.elements.settings.form,"click",$),a.on(de.elements.settings.form,"click",function(e){a.matches(e.target,de.config.selectors.inputs.language)?p.call(this,e,de.config.listeners.language,function(){de.toggleCaptions(!0),de.setLanguage(e.target.value.toLowerCase())}):a.matches(e.target,de.config.selectors.inputs.quality)?p.call(this,e,de.config.listeners.quality,function(){de.setQuality(e.target.value)}):a.matches(e.target,de.config.selectors.inputs.speed)?p.call(this,e,de.config.listeners.speed,function(){de.setSpeed(parseFloat(e.target.value))}):a.matches(e.target,de.config.selectors.buttons.loop)&&p.call(this,e,de.config.listeners.loop,function(){ge("Set loop")})}),a.proxy(de.elements.inputs.seek,r,de.config.listeners.seek,function(e){var t=de.getDuration();de.seek(e.target.value/e.target.max*t)}),a.proxy(de.elements.inputs.volume,r,de.config.listeners.volume,function(){de.setVolume(event.target.value)}),a.on(de.elements.progress,"mouseenter mouseleave mousemove",oe),de.config.hideControls&&(a.on(de.elements.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",function(e){de.toggleControls(e)}),a.on(de.elements.controls,"mouseenter mouseleave",function(e){de.elements.controls.hover="mouseenter"===e.type}),a.on(de.elements.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){de.elements.controls.pressed=a.inArray(["mousedown","touchstart"],e.type)}),a.on(de.elements.controls,"focus blur",function(e){de.toggleControls(e)},!0,!0)),a.proxy(de.elements.inputs.volume,"wheel",de.config.listeners.volume,function(e){var t=e.webkitDirectionInvertedFromDevice,n=0;(e.deltaY<0||e.deltaX>0)&&(t?(de.decreaseVolume(.02),n=-1):(de.increaseVolume(.02),n=1)),(e.deltaY>0||e.deltaX<0)&&(t?(de.increaseVolume(.02),n=1):(de.decreaseVolume(.02),n=-1)),(1===n&&de.media.volume<1||-1===n&&de.media.volume>0)&&e.preventDefault()},!1),s.fullscreen&&a.on(document,o.eventType,function(e){de.toggleFullscreen(e)})}function re(){if(a.on(de.media,"timeupdate seeking",ie),a.on(de.media,"durationchange loadedmetadata",ne),a.on(de.media,"ended",function(){"video"===de.type&&de.config.showPosterOnEnd&&("video"===de.type&&q(),de.restart(),de.media.load())}),a.on(de.media,"progress playing",Z),a.on(de.media,"volumechange",G),a.on(de.media,"play pause ended",J),a.on(de.media,"waiting canplay seeked",K),de.config.clickToPlay&&"audio"!==de.type){var e=u("."+de.config.classNames.video);if(!e)return;e.style.cursor="pointer",a.on(e,"click",function(){de.config.hideControls&&s.touch&&!de.media.paused||(de.media.paused?de.play():de.media.ended?(de.restart(),de.play()):de.pause())})}de.config.disableContextMenu&&a.on(de.media,"contextmenu",function(e){e.preventDefault()},!1),a.on(de.media,"ratechange",function(){de.speed.selected=de.media.playbackRate,T("speed"),R({speed:de.speed.selected})}),a.on(de.media,"qualitychange",function(){de.quality.selected=de.media.quality,T("quality"),R({quality:de.quality.selected})}),a.on(de.media,"captionchange",function(){R({language:de.captions.language})}),a.on(de.media,"captionsenabled captionsdisabled",function(){T("captions"),R({captions:de.captions.enabled})}),a.on(de.media,de.config.events.concat(["keyup","keydown"]).join(" "),function(e){r(de.elements.container,e.type,!0)})}function le(){if(a.inArray(i.html5,de.type)){for(var e=de.media.querySelectorAll("source"),t=0;t=0;n--){var i=n>0?t.cloneNode(!0):t,a=e[n],o=a.parentNode,s=a.nextSibling;return i.appendChild(a),s?o.insertBefore(i,s):o.appendChild(i),i}},removeElement:function(e){a.is.htmlElement(e)&&a.is.htmlElement(e.parentNode)&&e.parentNode.removeChild(e)},insertAfter:function(e,t){t.parentNode.insertBefore(e,t.nextSibling)},createElement:function(e,t,n){var i=document.createElement(e);return a.is.object(t)&&a.setAttributes(i,t),a.is.string(n)&&(i.textContent=n),i},insertElement:function(e,t,n,i){t.appendChild(a.createElement(e,n,i))},emptyElement:function(e){for(var t=e.childNodes.length;t--;)e.removeChild(e.lastChild)},setAttributes:function(e,t){for(var n in t)e.setAttribute(n,t[n])},getAttributesFromSelector:function(e,t){if(!a.is.string(e)||a.is.empty(e))return{};var n={};return e.split(",").forEach(function(e){switch((e=e.trim()).charAt(0)){case".":var i=e.replace(".","");a.is.object(t)&&a.is.string(t.class)&&(t.class+=" "+i),n.class=i;break;case"#":n.id=e.replace("#","");break;case"[":var o=(e=e.replace(/[\[\]]/g,"")).split("="),s=o[0],r=o.length>1?o[1].replace(/[\"\']/g,""):"";n[s]=r}}),n},toggleClass:function(e,t,n){if(a.is.htmlElement(e)){var i=!1;if(e.classList)i=e.classList.contains(t),e.classList[n?"add":"remove"](t);else{i=a.inArray(e.className.split(" "),t);var o=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=o+(n?" "+t:"")}return n&&!i||!n&&i}return null},hasClass:function(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))},matches:function(e,t){var n=Element.prototype;return(n.matches||n.webkitMatchesSelector||n.mozMatchesSelector||n.msMatchesSelector||function(e){return-1!==[].indexOf.call(document.querySelectorAll(e),this)}).call(e,t)},getFocusElement:function(){var e=document.activeElement;return e=e&&e!==document.body?document.querySelector(":focus"):null},proxy:function(e,t,n,i,o,s){a.on(e,t,function(t){n&&n.apply(e,[t]),i.apply(e,[t])},o,s)},toggleListener:function(e,t,n,i,o,r){if(null!==e&&!a.is.undefined(e)){if(t=t.split(" "),a.is.boolean(r)||(r=!1),a.is.boolean(o)||(o=!0),e instanceof NodeList){var l=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);return l.shift(),void[].forEach.call(e,function(e){e instanceof Node&&a.toggleListener.apply(null,[e].concat(l))})}var c=r;s.passiveListeners&&(c={passive:o,capture:r}),t.forEach(function(t){e[i?"addEventListener":"removeEventListener"](t,n,c)})}},on:function(e,t,n,i,o){a.toggleListener(e,t,n,!0,i,o)},off:function(e,t,n,i,o){a.toggleListener(e,t,n,!1,i,o)},dispatchEvent:function(e,t,n,i){if(e&&t){a.is.boolean(n)||(n=!1);var o;a.is.function(window.CustomEvent)?o=window.CustomEvent:(o=function(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}).prototype=window.Event.prototype;var s=new o(t,{bubbles:n,detail:i});e.dispatchEvent(s)}},toggleState:function(e,t){if(e)return t=a.is.boolean(t)?t:!e.getAttribute("aria-pressed"),e.setAttribute("aria-pressed",t),t},getPercentage:function(e,t){return 0===e||0===t||isNaN(e)||isNaN(t)?0:(e/t*100).toFixed(2)},extend:function(){var e=arguments;if(e.length){if(1===e.length)return e[0];var t=Array.prototype.shift.call(e);a.is.object(t)||(t={});for(var n=e.length,i=0;is&&(n=s),t.core.updateSeekDisplay(n),a.inArray(i.embed,t.type)){switch(t.type){case"youtube":t.embed.seekTo(n);break;case"vimeo":t.embed.setCurrentTime(n);break;case"soundcloud":t.embed.seekTo(1e3*n)}o&&t.pause(),t.core.trigger(t.media,"timeupdate"),t.media.seeking=!0,t.core.trigger(t.media,"seeking")}else t.media.currentTime=n.toFixed(4);return t.core.log("Seeking to "+t.media.currentTime+" seconds"),t},e.prototype.setVolume=function(e){var t=this,n=!a.is.undefined(e);if(a.is.string(e)&&(e=parseFloat(e)),a.is.number(e)||(e=t.storage.volume),a.is.number(e)||(e=t.config.volume),e>1&&(e=1),e<0&&(e=0),t.media.volume=e,a.inArray(i.embed,t.type)){switch(t.type){case"youtube":t.embed.setVolume(100*t.media.volume);break;case"vimeo":case"soundcloud":t.embed.setVolume(t.media.volume)}t.core.trigger(t.media,"volumechange")}return 0===e?t.toggleMute(!0):t.media.muted&&n&&t.toggleMute(),t},e.prototype.increaseVolume=function(e){var t=this,n=t.media.muted?0:t.media.volume;return a.is.number(e)||(e=1),t.setVolume(n+e),t},e.prototype.decreaseVolume=function(e){var t=this,n=t.media.muted?0:t.media.volume;return a.is.number(e)||(e=1),t.setVolume(n-e),t},e.prototype.toggleMute=function(e){var t=this;if(a.is.boolean(e)||(e=!t.media.muted),a.toggleState(t.elements.buttons.mute,e),t.media.muted=e,t.media.muted||0!==t.media.volume||t.setVolume(t.config.volume),a.inArray(i.embed,t.type)){switch(t.type){case"youtube":t.embed[t.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":t.embed.setVolume(t.media.muted?0:t.config.volume)}t.core.trigger(t.media,"volumechange")}return t},e.prototype.setSpeed=function(e){var t=this;if(a.is.number(e)||(e=parseFloat(t.storage.speed||t.speed.selected||t.config.speed.default)),e<.1&&(e=.1),e>2&&(e=2),a.inArray(t.config.speed.options,e)){switch(t.type){case"youtube":t.embed.setPlaybackRate(e);break;case"vimeo":e=null,t.core.warn("Vimeo playback rate change is not supported");break;default:t.media.playbackRate=e}return t}t.core.warn("Unsupported speed ("+e+")")},e.prototype.setQuality=function(e){var t=this;a.is.string(e)||(e=parseFloat(t.storage.quality||t.config.quality.selected));{if(a.inArray(t.config.quality.options,e)){switch(t.type){case"youtube":t.core.trigger(t.media,"qualityrequested",!1,{quality:e}),t.embed.setPlaybackQuality(e);break;default:t.core.warn("Quality options are only available for YouTube")}return t}t.core.warn("Unsupported quality option ("+e+")")}},e.prototype.setLoop=function(e){var t=this;a.inArray(["start","end","all","none","toggle"],e)||(e="toggle");var n=Number(t.media.currentTime);switch(e){case"start":t.config.loop.end&&t.config.loop.end<=n&&(t.config.loop.end=null),t.config.loop.start=n,t.config.loop.indicator.start=t.elements.display.played.value;break;case"end":if(t.config.loop.start>=n)return;t.config.loop.end=n,t.config.loop.indicator.end=t.elements.display.played.value;break;case"all":t.config.loop.start=0,t.config.loop.end=t.media.duration-2,t.config.loop.indicator.start=0,t.config.loop.indicator.end=100;break;case"toggle":t.config.loop.active?(t.config.loop.start=0,t.config.loop.end=null):(t.config.loop.start=0,t.config.loop.end=t.media.duration-2);break;default:t.config.loop.start=0,t.config.loop.end=null}return t},e.prototype.source=function(e){var t=this;if(a.is.object(e))return t.core.updateSource(e),t;var n;switch(t.type){case"youtube":n=t.embed.getVideoUrl();break;case"vimeo":t.embed.getVideoUrl.then(function(e){n=e});break;case"soundcloud":t.embed.getCurrentSound(function(e){n=e.permalink_url});break;default:n=t.media.currentSrc}return n},e.prototype.poster=function(e){var t=this;return a.is.string(e)?("video"===t.type?t.media.setAttribute("poster",e):t.core.warn("Poster can only be set on HTML5 video"),t):t.media.getAttribute("poster")},e.prototype.toggleCaptions=function(e){var t=this;if(t.supported.full&&t.elements.buttons.captions)return a.is.boolean(e)||(e=-1===t.elements.container.className.indexOf(t.config.classNames.captions.active)),t.captions.enabled===e?t:(t.captions.enabled=e,a.toggleState(t.elements.buttons.captions,t.captions.enabled),a.toggleClass(t.elements.container,t.config.classNames.captions.active,t.captions.enabled),t.core.trigger(t.media,t.captions.enabled?"captionsenabled":"captionsdisabled"),t)},e.prototype.setLanguage=function(e){var t=this;return a.is.empty(e)?(t.toggleCaptions(!1),t):(e=e.toLowerCase(),t.captions.language===e?t:(t.toggleCaptions(!0),t.captions.language=e,t.core.trigger(t.media,"captionchange"),t.core.setCaption(),t.core.setupCaptions(),t))},e.prototype.getLanguage=function(){return this.captions.language},e.prototype.toggleFullscreen=function(e){var n=this,i=s.fullscreen;if(i){if(!a.is.event(e)||e.type!==o.eventType)return o.isFullScreen(n.elements.container)?o.cancelFullScreen():(t={x:window.pageXOffset||0,y:window.pageYOffset||0},o.requestFullScreen(n.elements.container)),void(n.fullscreen.active=o.isFullScreen(n.elements.container));n.fullscreen.active=o.isFullScreen(n.elements.container)}else n.fullscreen.active=!n.fullscreen.active,document.body.style.overflow=n.fullscreen.active?"hidden":"";return a.toggleClass(n.elements.container,n.config.classNames.fullscreen.active,n.fullscreen.active),n.elements.buttons&&n.elements.buttons.fullscreen&&a.toggleState(n.elements.buttons.fullscreen,n.fullscreen.active),n.core.trigger(n.media,n.fullscreen.active?"enterfullscreen":"exitfullscreen",!0),!n.fullscreen.active&&i&&window.scrollTo(t.x,t.y),n},e.prototype.togglePictureInPicture=function(e){var t=this,n={pip:"picture-in-picture",inline:"inline"};if(t.core.support.pip)return a.is.boolean(e)||(e=t.media.webkitPresentationMode===n.inline),t.media.webkitSetPresentationMode(e?n.pip:n.inline),t},e.prototype.airPlay=function(){var e=this;if(e.core.support.airplay)return e.media.webkitShowPlaybackTargetPicker(),e},e.prototype.toggleControls=function(e){var t=this;if(t.config.hideControls&&"audio"!==t.type){var n=0,i=e,o=!1,r=a.hasClass(t.elements.container,t.config.classNames.loading);if(a.is.boolean(e)||(a.is.event(e)?(o="enterfullscreen"===e.type,i=a.inArray(["mousemove","touchstart","mouseenter","focus"],e.type),a.inArray(["mousemove","touchmove"],e.type)&&(n=2e3),"focus"===e.type&&(n=3e3)):i=a.hasClass(t.elements.container,t.config.classNames.hideControls)),window.clearTimeout(t.core.timers.hover),i||t.media.paused||r){if(a.toggleClass(t.elements.container,t.config.classNames.hideControls,!1)&&t.core.trigger(t.media,"controlsshown"),t.media.paused||r)return;s.touch&&(n=3e3)}return i&&t.media.paused||(t.core.timers.hover=window.setTimeout(function(){(!t.elements.controls.pressed&&!t.elements.controls.hover||o)&&a.toggleClass(t.elements.container,t.config.classNames.hideControls,!0)&&(t.core.trigger(t.media,"controlshidden"),a.inArray(t.config.controls,"settings")&&!a.is.empty(t.config.settings)&&t.core.toggleMenu(!1))},n)),t}},e.prototype.on=function(e,t){var n=this;return a.on(n.elements.container,e,t),n},e.prototype.off=function(e,t){var n=this;return a.off(n.elements.container,e,t),n},e.prototype.supports=function(e){return s.mime(this,e)},e.prototype.destroy=function(e,t){function n(){if(null!==i){if(a.is.boolean(t)||(t=!0),document.body.style.overflow="",t){var n=i.elements.container.parentNode;a.is.htmlElement(n)&&n.replaceChild(i.elements.original,i.elements.container)}i.core.trigger(i.elements.original,"destroyed",!0),a.is.function(e)&&e.call(i.elements.original),i=null}}var i=this;switch(i.type){case"youtube":window.clearInterval(i.core.timers.buffering),window.clearInterval(i.core.timers.playing),i.embed.destroy(),n();break;case"vimeo":i.embed.unload().then(n),window.setTimeout(n,200);break;case"video":case"audio":i.core.toggleNativeControls(!0),n()}},e.prototype.getDuration=function(){var e=this,t=parseInt(e.config.duration),n=0;return null===e.media.duration||isNaN(e.media.duration)||(n=e.media.duration),isNaN(t)?n:t},e}); \ No newline at end of file +(function(e,t,n){"use strict";"object"==typeof exports?module.exports=n(require):"function"==typeof define&&define.amd?define(n):t[e]=n()}).call(this,"Plyr",this,function(){"use strict";function e(e,t){function r(e,t,n,i){a.dispatchEvent(e,t,n,a.extend({},i,{plyr:me}))}function l(){function e(e){9===e.which&&me.fullscreen.active&&(e.target!==i||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),i.focus()):(e.preventDefault(),n.focus()))}var t=c("input:not([disabled]), button:not([disabled])"),n=t[0],i=t[t.length-1];a.on(me.elements.container,"keydown",e,!1)}function c(e){return me.elements.container.querySelectorAll(e)}function u(e){return c(e)[0]}function d(e){a.is.string(e)?(a.removeElement(me.elements[e]),me.elements[e]=null):a.removeElement(e)}function p(e,t){a.is.string(t)?a.insertElement(e,me.media,{src:t}):a.is.array(t)&&(ye(t),t.forEach(function(t){a.insertElement(e,me.media,t)}))}function m(){return{url:me.config.iconUrl,absolute:0===me.config.iconUrl.indexOf("http")||me.browser.isIE}}function g(e,t){var n="http://www.w3.org/2000/svg",i=m(),o=(i.absolute?"":i.url)+"#"+me.config.iconPrefix,s=document.createElementNS(n,"svg");a.setAttributes(s,a.extend(t,{role:"presentation"}));var r=document.createElementNS(n,"use");return r.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",o+"-"+e),s.appendChild(r),s}function f(e){var t=me.config.i18n[e];switch(e){case"pip":t="PIP";break;case"airplay":t="AirPlay"}return a.createElement("span",{"class":me.config.classNames.hidden},t)}function y(e){var t=a.createElement("span",{"class":me.config.classNames.menu.value});return t.appendChild(a.createElement("span",{"class":me.config.classNames.menu.badge},e)),t}function b(e,t){var n,i,o,s=a.createElement("button");switch(a.is.object(t)||(t={}),"type"in t||(t.type="button"),"class"in t?t["class"].indexOf(me.config.classNames.control)===-1&&(t["class"]+=" "+me.config.classNames.control):t["class"]=me.config.classNames.control,e){case"mute":o="toggleMute",n="volume",i="muted";break;case"captions":o="toggleCaptions",n="captions-off",i="captions-on";break;case"fullscreen":o="toggleFullscreen",n="enter-fullscreen",i="exit-fullscreen";break;case"play-large":t["class"]="plyr__play-large",e="play",o="play",n="play";break;default:o=e,n=e}return a.extend(t,a.getAttributesFromSelector(me.config.selectors.buttons[e],t)),a.is.string(i)&&s.appendChild(g(i,{"class":"icon--"+i})),s.appendChild(g(n)),s.appendChild(f(o)),a.setAttributes(s,t),me.elements.buttons[e]=s,s}function v(e,t){var n=a.createElement("label",{"for":t.id,"class":me.config.classNames.hidden},me.config.i18n[e]),i=a.createElement("input",a.extend(a.getAttributesFromSelector(me.config.selectors.inputs[e]),{type:"range",min:0,max:100,step:.1,value:0,autocomplete:"off"},t));return me.elements.inputs[e]=i,{label:n,input:i}}function h(e,t){var n=a.createElement("progress",a.extend(a.getAttributesFromSelector(me.config.selectors.display[e]),{min:0,max:100,value:0},t));if("volume"!==e){n.appendChild(a.createElement("span",null,"0"));var i="";switch(e){case"played":i=me.config.i18n.played;break;case"buffer":i=me.config.i18n.buffered}n.textContent="% "+i.toLowerCase()}return me.elements.display[e]=n,n}function w(e){var t=a.createElement("span",{"class":"plyr__time"});return t.appendChild(a.createElement("span",{"class":me.config.classNames.hidden},me.config.i18n[e])),t.appendChild(a.createElement("span",a.getAttributesFromSelector(me.config.selectors.display[e]),"00:00")),me.elements.display[e]=t,t}function k(e){if(!a.is.empty(me.config.controls)){var t=a.createElement("div",a.getAttributesFromSelector(me.config.selectors.controls.wrapper));if(a.inArray(me.config.controls,"restart")&&t.appendChild(b("restart")),a.inArray(me.config.controls,"rewind")&&t.appendChild(b("rewind")),a.inArray(me.config.controls,"play")&&(t.appendChild(b("play")),t.appendChild(b("pause"))),a.inArray(me.config.controls,"fast-forward")&&t.appendChild(b("fast-forward")),a.inArray(me.config.controls,"progress")){var n=a.createElement("span",a.getAttributesFromSelector(me.config.selectors.progress)),i=v("seek",{id:"plyr-seek-"+e.id});if(n.appendChild(i.label),n.appendChild(i.input),n.appendChild(h("played")),n.appendChild(h("buffer")),me.config.tooltips.seek){var o=a.createElement("span",{role:"tooltip","class":me.config.classNames.tooltip},"00:00");n.appendChild(o),me.elements.display.seekTooltip=o}me.elements.progress=n,t.appendChild(me.elements.progress)}if(a.inArray(me.config.controls,"current-time")&&t.appendChild(w("currentTime")),a.inArray(me.config.controls,"duration")&&t.appendChild(w("duration")),a.inArray(me.config.controls,"mute")&&t.appendChild(b("mute")),a.inArray(me.config.controls,"volume")){var r=a.createElement("span",{"class":"plyr__volume"}),l={max:1,step:.05,value:me.config.volume},c=v("volume",a.extend(l,{id:"plyr-volume-"+e.id}));r.appendChild(c.label),r.appendChild(c.input);var u=h("volume",l);r.appendChild(u),t.appendChild(r)}if(a.inArray(me.config.controls,"captions")&&t.appendChild(b("captions")),a.inArray(me.config.controls,"settings")&&!a.is.empty(me.config.settings)){var d=a.createElement("div",{"class":"plyr__menu"});d.appendChild(b("settings",{id:"plyr-settings-toggle-"+e.id,"aria-haspopup":!0,"aria-controls":"plyr-settings-"+e.id,"aria-expanded":!1}));var p=a.createElement("form",{"class":"plyr__menu__container",id:"plyr-settings-"+e.id,"aria-hidden":!0,"aria-labelled-by":"plyr-settings-toggle-"+e.id,role:"tablist",tabindex:-1}),m=a.createElement("div"),g=a.createElement("div",{id:"plyr-settings-"+e.id+"-home","aria-hidden":!1,"aria-labelled-by":"plyr-settings-toggle-"+e.id,role:"tabpanel"}),f=a.createElement("ul",{role:"tablist"});me.config.settings.forEach(function(t){var n=a.createElement("li",{role:"tab",hidden:""}),i=a.createElement("button",a.extend(a.getAttributesFromSelector(me.config.selectors.buttons.settings),{type:"button","class":me.config.classNames.control+" "+me.config.classNames.control+"--forward",id:"plyr-settings-"+e.id+"-"+t+"-tab","aria-haspopup":!0,"aria-controls":"plyr-settings-"+e.id+"-"+t,"aria-expanded":!1}),me.config.i18n[t]),o=a.createElement("span",{"class":me.config.classNames.menu.value});o.innerHTML=e[t],i.appendChild(o),n.appendChild(i),f.appendChild(n),me.elements.settings.tabs[t]=n}),g.appendChild(f),m.appendChild(g),me.config.settings.forEach(function(t){var n=a.createElement("div",{id:"plyr-settings-"+e.id+"-"+t,"aria-hidden":!0,"aria-labelled-by":"plyr-settings-"+e.id+"-"+t+"-tab",role:"tabpanel",tabindex:-1,hidden:""}),i=a.createElement("button",{type:"button","class":me.config.classNames.control+" "+me.config.classNames.control+"--back","aria-haspopup":!0,"aria-controls":"plyr-settings-"+e.id+"-home","aria-expanded":!1},me.config.i18n[t]);n.appendChild(i);var o=a.createElement("ul");n.appendChild(o),m.appendChild(n),me.elements.settings.panes[t]=n}),p.appendChild(m),d.appendChild(p),t.appendChild(d),me.elements.settings.form=p,me.elements.settings.menu=d}return a.inArray(me.config.controls,"pip")&&s.pip&&t.appendChild(b("pip")),a.inArray(me.config.controls,"airplay")&&s.airplay&&t.appendChild(b("airplay")),a.inArray(me.config.controls,"fullscreen")&&t.appendChild(b("fullscreen")),a.inArray(me.config.controls,"play-large")&&(me.elements.buttons.playLarge=b("play-large"),me.elements.container.appendChild(me.elements.buttons.playLarge)),me.elements.controls=t,a.inArray(me.config.controls,"settings")&&a.inArray(me.config.settings,"speed")&&x(),t}}function C(e,t){var n=me.elements.settings.tabs[e],i=me.elements.settings.panes[e];a.is.htmlElement(n)&&(t?n.removeAttribute("hidden"):n.setAttribute("hidden","")),a.is.htmlElement(i)&&(t?i.removeAttribute("hidden"):i.setAttribute("hidden",""))}function E(e,t){function n(e){var t="";switch(e){case"hd2160":t="4K";break;case"hd1440":t="WQHD";break;case"hd1080":t="HD";break;case"hd720":t="HD"}return t.length?y(t):null}var i=me.elements.settings.panes.quality.querySelector("ul");a.is.array(e)?me.quality.options=e.filter(function(e){return a.inArray(me.config.quality.options,e)}):me.quality.options=me.config.quality.options,a.is.string(t)&&a.inArray(me.quality.options,t)&&(me.quality.selected=t);var o=!a.is.empty(me.quality.options)&&"youtube"===me.type;C("quality",o),o&&(a.emptyElement(i),me.quality.options.forEach(function(e){var t=a.createElement("li"),o=a.createElement("label",{"class":me.config.classNames.control}),s=a.createElement("input",a.extend(a.getAttributesFromSelector(me.config.selectors.inputs.quality),{type:"radio",name:"plyr-quality",value:e}));o.appendChild(s),o.appendChild(document.createTextNode(A("quality",e)));var r=n(e);a.is.htmlElement(r)&&o.appendChild(r),t.appendChild(o),i.appendChild(t)}),T("quality",i))}function A(e,t){switch(e){case"speed":return 1===t?"Normal":t+"×";case"quality":switch(t){case"hd2160":return"2160P";case"hd1440":return"1440P";case"hd1080":return"1080P";case"hd720":return"720P";case"large":return"480P";case"medium":return"360P";case"small":return"240P";case"tiny":return"Tiny";case"default":return"Auto";default:return t}case"captions":return I()}}function T(e,t){var n=me.elements.settings.panes[e],i=null;switch(e){case"captions":i=me.captions.language,me.captions.enabled||(i="");break;default:if(i=me[e].selected,a.is.empty(i)&&(i=me.config[e]["default"]),!a.inArray(me[e].options,i))return void ye("Unsupported option")}a.is.htmlElement(t)||(t=n&&n.querySelector("ul"));var o=t&&t.querySelector('input[value="'+i+'"]');if(a.is.htmlElement(o)){o.checked=!0;var s=me.elements.settings.tabs[e].querySelector("."+me.config.classNames.menu.value);s.innerHTML=A(e,i)}}function S(){var e=me.elements.settings.panes.captions.querySelector("ul"),t=!a.is.empty(me.captions.tracks);if(C("captions",t),a.emptyElement(e),!a.is.empty(me.captions.tracks)){var n=[].map.call(me.captions.tracks,function(e){return{language:e.language,badge:!0,label:a.is.empty(e.label)?e.language.toUpperCase():e.label}});n.unshift({language:"",label:me.config.i18n.none}),n.forEach(function(t){var n=a.createElement("li"),i=a.createElement("label",{"class":me.config.classNames.control}),o=a.createElement("input",a.extend(a.getAttributesFromSelector(me.config.selectors.inputs.language),{type:"radio",name:"plyr-language",value:t.language}));t.language.toLowerCase()===me.captions.language.toLowerCase()&&(o.checked=!0),i.appendChild(o),i.appendChild(document.createTextNode(t.label||t.language)),t.badge&&i.appendChild(y(t.language.toUpperCase())),n.appendChild(i),e.appendChild(n)}),T("captions",e)}}function x(e,t){a.is.array(e)?me.speed.options=e.filter(function(e){return a.inArray(me.config.speed.options,e)}):me.speed.options=me.config.speed.options,a.is.number(t)&&a.inArray(me.speed.options,t)&&(me.speed.selected=t);var n=!a.is.empty(me.speed.options);if(C("speed",n),n){var i=me.elements.settings.panes.speed.querySelector("ul");me.elements.settings.tabs.speed.removeAttribute("hidden"),me.elements.settings.panes.speed.removeAttribute("hidden"),a.emptyElement(i),me.speed.options.forEach(function(e){var t=a.createElement("li"),n=a.createElement("label",{"class":me.config.classNames.control}),o=a.createElement("input",a.extend(a.getAttributesFromSelector(me.config.selectors.inputs.speed),{type:"radio",name:"plyr-speed",value:e}));n.appendChild(o),n.insertAdjacentHTML("beforeend",A("speed",e)),t.appendChild(n),i.appendChild(t)}),T("speed",i)}}function N(){if(me.supported.full&&("audio"!==me.type||me.config.fullscreen.allowAudio)&&me.config.fullscreen.enabled){var e=s.fullscreen;e||me.config.fullscreen.fallback&&!a.inFrame()?(fe((e?"Native":"Fallback")+" fullscreen enabled"),a.toggleClass(me.elements.container,me.config.classNames.fullscreen.enabled,!0)):fe("Fullscreen not supported and fallback disabled"),me.elements.buttons&&me.elements.buttons.fullscreen&&a.toggleState(me.elements.buttons.fullscreen,!1),l()}}function P(){function e(){me.captions.currentTrack=null,[].forEach.call(me.captions.tracks,function(e){e.language===me.captions.language.toLowerCase()&&(me.captions.currentTrack=e)})}if(a.is.empty(me.storage.language)?a.is.empty(me.captions.language)&&(me.captions.language=me.config.captions.language.toLowerCase()):me.captions.language=me.storage.language,a.is["boolean"](me.captions.enabled)||(a.is.empty(me.storage.language)?me.captions.enabled=me.config.captions.active:me.captions.enabled=me.storage.captions),!a.inArray(["video","vimeo"],me.type)||"video"===me.type&&!s.textTracks)return me.captions.tracks=null,void(a.inArray(me.config.controls,"settings")&&a.inArray(me.config.settings,"captions")&&S());if(a.is.htmlElement(me.elements.captions)||(me.elements.captions=a.createElement("div",a.getAttributesFromSelector(me.config.selectors.captions)),a.insertAfter(me.elements.captions,me.elements.wrapper)),"video"===me.type&&(me.captions.tracks=me.media.textTracks),a.toggleClass(me.elements.container,me.config.classNames.captions.enabled,!a.is.empty(me.captions.tracks)),!a.is.empty(me.captions.tracks)){if(L(),e(),!a.is.track(me.captions.currentTrack)){var t=me.config.captions.language;me.captions.language=t,e(),a.is.track(me.captions.currentTrack)||me.toggleCaptions(!1),T("captions")}if("video"===me.type){[].forEach.call(me.captions.tracks,function(e){a.off(e,"cuechange",q),e.mode="hidden"});var n=a.inArray(["captions","subtitles"],me.captions.currentTrack&&me.captions.currentTrack.kind);a.is.track(me.captions.currentTrack)&&n&&(a.on(me.captions.currentTrack,"cuechange",q),me.captions.currentTrack.activeCues&&me.captions.currentTrack.activeCues.length>0&&q(me.captions.currentTrack))}else"vimeo"===me.type&&me.captions.active&&me.embed.enableTextTrack(me.captions.language);a.inArray(me.config.controls,"settings")&&a.inArray(me.config.settings,"captions")&&S()}}function I(){return!s.textTracks||a.is.empty(me.captions.tracks)?me.config.i18n.none:me.captions.enabled?me.captions.currentTrack.label:me.config.i18n.disabled}function q(e){a.is.event(e)&&(e=e.target);var t=e.activeCues[0];a.is.cue(t)?F(t.getCueAsHTML()):F(),r(me.media,"cuechange")}function F(e){if(a.is.htmlElement(me.elements.captions)){var t=a.createElement("span");a.emptyElement(me.elements.captions),a.is.undefined(e)&&(e=""),a.is.string(e)?t.textContent=e.trim():t.appendChild(e),me.elements.captions.appendChild(t)}else ye("No captions element to render to")}function L(){if(me.elements.buttons.captions){var e=me.storage.captions;a.is["boolean"](e)?me.captions.active=e:e=me.captions.active,e&&(a.toggleClass(me.elements.container,me.config.classNames.captions.active,!0),a.toggleState(me.elements.buttons.captions,!0))}}function _(){if(me.config.loadSprite){var e=m();e.absolute?(fe("AJAX loading absolute SVG sprite"+(me.browser.isIE?" (due to IE)":"")),a.loadSprite(e.url,"sprite-plyr")):fe("Sprite will be used as external resource directly")}me.id=Math.floor(1e4*Math.random());var t=null;t=a.is.string(me.config.controls)?me.config.controls:a.is["function"](me.config.controls)?me.config.controls({id:me.id,seektime:me.config.seekTime}):k({id:me.id,seektime:me.config.seekTime,speed:"-",quality:"-",captions:I(),loop:"None"});var n;if(a.is.string(me.config.selectors.controls.container)&&(n=document.querySelector(me.config.selectors.controls.container)),a.is.htmlElement(n)||(n=me.elements.container),a.is.htmlElement(t)?n.appendChild(t):n.insertAdjacentHTML("beforeend",t),a.is.htmlElement(me.elements.controls)&&M(),me.config.tooltips.controls)for(var i=c([me.config.selectors.controls.wrapper," ",me.config.selectors.labels," .",me.config.classNames.hidden].join("")),o=i.length-1;o>=0;o--){var s=i[o];a.toggleClass(s,me.config.classNames.hidden,!1),a.toggleClass(s,me.config.classNames.tooltip,!0)}}function M(){try{return me.elements.controls=u(me.config.selectors.controls.wrapper),me.elements.buttons={play:c(me.config.selectors.buttons.play),pause:u(me.config.selectors.buttons.pause),restart:u(me.config.selectors.buttons.restart),rewind:u(me.config.selectors.buttons.rewind),forward:u(me.config.selectors.buttons.forward),mute:u(me.config.selectors.buttons.mute),pip:u(me.config.selectors.buttons.pip),airplay:u(me.config.selectors.buttons.airplay),settings:u(me.config.selectors.buttons.settings),captions:u(me.config.selectors.buttons.captions),fullscreen:u(me.config.selectors.buttons.fullscreen)},me.elements.progress=u(me.config.selectors.progress),me.elements.inputs={seek:u(me.config.selectors.inputs.seek),volume:u(me.config.selectors.inputs.volume)},me.elements.display={buffer:u(me.config.selectors.display.buffer),played:u(me.config.selectors.display.played),volume:u(me.config.selectors.display.volume),duration:u(me.config.selectors.display.duration),currentTime:u(me.config.selectors.display.currentTime)},a.is.htmlElement(me.elements.progress)&&(me.elements.display.seekTooltip=me.elements.progress.querySelector("."+me.config.classNames.tooltip)),!0}catch(e){return ye("It looks like there is a problem with your custom controls HTML",e),O(!0),!1}}function V(){a.toggleClass(me.elements.container,me.config.selectors.container.replace(".",""),me.supported.full)}function O(e){e&&a.inArray(i.html5,me.type)?me.media.setAttribute("controls",""):me.media.removeAttribute("controls")}function D(e){var t=me.config.i18n.play;if(a.is.string(me.config.title)&&!a.is.empty(me.config.title)&&(t+=", "+me.config.title,me.elements.container.setAttribute("aria-label",me.config.title)),me.supported.full&&(a.is.htmlElement(me.elements.buttons.play)&&me.elements.buttons.play.setAttribute("aria-label",t),a.is.htmlElement(me.elements.buttons.playLarge)&&me.elements.buttons.playLarge.setAttribute("aria-label",t)),a.is.htmlElement(e)){var n=a.is.string(me.config.title)&&!a.is.empty(me.config.title)?me.config.title:"video";e.setAttribute("title",me.config.i18n.frameTitle.replace("{title}",n))}}function j(){var e=null;me.storage={},s.storage&&me.config.storage.enabled&&(window.localStorage.removeItem("plyr-volume"),e=window.localStorage.getItem(me.config.storage.key),e&&(/^\d+(\.\d+)?$/.test(e)?R({volume:parseFloat(e)}):me.storage=JSON.parse(e)))}function R(e){s.storage&&me.config.storage.enabled&&(a.extend(me.storage,e),window.localStorage.setItem(me.config.storage.key,JSON.stringify(me.storage)))}function H(){return me.media?(me.supported.full&&(a.toggleClass(me.elements.container,me.config.classNames.type.replace("{0}",me.type),!0),a.inArray(i.embed,me.type)&&a.toggleClass(me.elements.container,me.config.classNames.type.replace("{0}","video"),!0),a.toggleClass(me.elements.container,me.config.classNames.pip.enabled,s.pip&&"video"===me.type),a.toggleClass(me.elements.container,me.config.classNames.airplay.enabled,s.airplay&&a.inArray(i.html5,me.type)),a.toggleClass(me.elements.container,me.config.classNames.stopped,me.config.autoplay),a.toggleClass(me.elements.container,me.config.classNames.isIos,me.browser.isIos),a.toggleClass(me.elements.container,me.config.classNames.isTouch,s.touch)),a.inArray(["video","youtube","vimeo"],me.type)&&(me.elements.wrapper=a.createElement("div",{"class":me.config.classNames.video}),a.wrap(me.media,me.elements.wrapper)),void(a.inArray(i.embed,me.type)&&B())):void ye("No media element found!")}function B(){var e,t=me.type+"-"+Math.floor(1e4*Math.random());switch(me.type){case"youtube":e=a.parseYouTubeId(me.embedId);break;default:e=me.embedId}for(var n=c('[id^="'+me.type+'-"]'),i=n.length-1;i>=0;i--)a.removeElement(n[i]);if(a.toggleClass(me.elements.wrapper,me.config.classNames.embed,!0),"youtube"===me.type)me.media.setAttribute("id",t),a.is.object(window.YT)?W(e):(a.injectScript(me.config.urls.youtube.api),window.onYouTubeReadyCallbacks=window.onYouTubeReadyCallbacks||[],window.onYouTubeReadyCallbacks.push(function(){W(e)}),window.onYouTubeIframeAPIReady=function(){window.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===me.type)if(me.media.setAttribute("id",t),a.is.object(window.Vimeo))Q(e);else{a.injectScript(me.config.urls.vimeo.api);var o=window.setInterval(function(){a.is.object(window.Vimeo)&&(window.clearInterval(o),Q(e))},50)}else if("soundcloud"===me.type){var s=a.createElement("iframe");s.loaded=!1,a.on(s,"load",function(){s.loaded=!0}),a.setAttributes(s,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+e,id:t}),me.media.appendChild(s),window.SC||a.injectScript(me.config.urls.soundcloud.api);var r=window.setInterval(function(){window.SC&&s.loaded&&(window.clearInterval(r),U.call(s))},50)}}function Y(){me.supported.full&&(ue(),de()),D(u("iframe"))}function W(e){me.embed=new window.YT.Player(me.media.id,{videoId:e,playerVars:{autoplay:me.config.autoplay?1:0,controls:me.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,modestbranding:1,disablekb:1,playsinline:1,origin:window.location.hostname,widget_referrer:window.location.href},events:{onError:function(e){r(me.elements.container,"error",!0,{code:e.data,embed:e.target})},onPlaybackQualityChange:function(e){var t=e.target;me.media.quality=t.getPlaybackQuality(),r(me.media,"qualitychange")},onPlaybackRateChange:function(e){var t=e.target;me.media.playbackRate=t.getPlaybackRate(),r(me.media,"ratechange")},onReady:function(e){var t=e.target;me.media.play=function(){t.playVideo(),me.media.paused=!1},me.media.pause=function(){t.pauseVideo(),me.media.paused=!0},me.media.stop=function(){t.stopVideo(),me.media.paused=!0},me.media.duration=t.getDuration(),me.media.paused=!0,me.media.currentTime=0,me.media.muted=t.isMuted(),a.inArray(me.config.controls,"settings")&&a.inArray(me.config.settings,"speed")&&x(t.getAvailablePlaybackRates(),t.getPlaybackRate()),me.config.title=t.getVideoData().title,me.supported.full&&me.media.setAttribute("tabindex",-1),Y(),r(me.media,"timeupdate"),r(me.media,"durationchange"),window.clearInterval(ge.buffering),ge.buffering=window.setInterval(function(){me.media.buffered=t.getVideoLoadedFraction(),(null===me.media.lastBuffered||me.media.lastBuffered0;n=("0"+n).slice(-2),i=("0"+i).slice(-2);var r=(s?a+":":"")+i+":"+n;return t.textContent=r,r}}function ne(){if(me.supported.full){var e=me.getDuration()||0;!me.elements.display.duration&&me.config.displayDuration&&me.media.paused&&te(e,me.elements.display.currentTime),me.elements.display.duration&&te(e,me.elements.display.duration),oe()}}function ie(e){te(me.media.currentTime,me.elements.display.currentTime),e&&"timeupdate"===e.type&&me.media.seeking||Z(e)}function ae(e){a.is.number(e)||(e=0);var t=me.getDuration(),n=a.getPercentage(e,t);me.elements.progress&&me.elements.display.played&&(me.elements.display.played.value=n),me.elements.buttons&&me.elements.inputs.seek&&(me.elements.inputs.seek.value=n)}function oe(e){var t=me.getDuration();if(me.config.tooltips.seek&&a.is.htmlElement(me.elements.inputs.seek)&&a.is.htmlElement(me.elements.display.seekTooltip)&&0!==t){var n=me.elements.inputs.seek.getBoundingClientRect(),i=0,o=me.config.classNames.tooltip+"--visible";if(a.is.event(e))i=100/n.width*(e.pageX-n.left);else{if(!a.hasClass(me.elements.display.seekTooltip,o))return;i=me.elements.display.seekTooltip.style.left.replace("%","")}i<0?i=0:i>100&&(i=100),te(t/100*i,me.elements.display.seekTooltip),me.elements.display.seekTooltip.style.left=i+"%",a.is.event(e)&&a.inArray(["mouseenter","mouseleave"],e.type)&&a.toggleClass(me.elements.display.seekTooltip,o,"mouseenter"===e.type)}}function se(e){return a.is.object(e)&&"sources"in e&&e.sources.length?(ae(),ee(),ce(),void me.destroy(function(){if(d(me.media),d("captions"),d("wrapper"),me.elements.container&&me.elements.container.removeAttribute("class"),"type"in e&&(me.type=e.type,"video"===me.type)){var t=e.sources[0];"type"in t&&a.inArray(i.embed,t.type)&&(me.type=t.type)}switch(me.supported=a.checkSupport(me.type,me.config.inline),me.type){case"video":me.media=a.createElement("video");break;case"audio":me.media=a.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":me.media=a.createElement("div"),me.embedId=e.sources[0].src}me.elements.container.appendChild(me.media),a.is["boolean"](e.autoplay)&&(me.config.autoplay=e.autoplay),a.inArray(i.html5,me.type)&&(me.config.crossorigin&&me.media.setAttribute("crossorigin",""),me.config.autoplay&&me.media.setAttribute("autoplay",""),"poster"in e&&me.media.setAttribute("poster",e.poster),me.config.loop.active&&me.media.setAttribute("loop",""),me.config.muted&&me.media.setAttribute("muted",""),me.config.inline&&me.media.setAttribute("playsinline","")),a.toggleClass(me.elements.container,me.config.classNames.fullscreen.active,me.fullscreen.active),a.toggleClass(me.elements.container,me.config.classNames.captions.active,me.captions.enabled),V(),a.inArray(i.html5,me.type)&&p("source",e.sources),H(),a.inArray(i.html5,me.type)&&("tracks"in e&&p("track",e.tracks),me.media.load()),(a.inArray(i.html5,me.type)||a.inArray(i.embed,me.type)&&!me.supported.full)&&(ue(),de()),me.config.title=e.title,D()},!1)):void ye("Invalid source format")}function re(){function e(){var e=me.togglePlay(),t=me.elements.buttons[e?"pause":"play"];t&&t.focus()}function t(e){return e.keyCode?e.keyCode:e.which}function n(n){function i(){var e=me.media.duration;a.is.number(e)&&me.seek(e/10*(o-48)); +}var o=t(n),l="keydown"===n.type,c=l&&o===r;if(a.is.number(o))if(l){var u=[48,49,50,51,52,53,54,56,57,32,75,38,40,77,39,37,70,67,73,76,79],d=[38,40];if(a.inArray(d,o)){var p=a.getFocusElement();if(a.is.htmlElement(p)&&"radio"===a.getFocusElement().type)return}switch(a.inArray(u,o)&&(n.preventDefault(),n.stopPropagation()),o){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:c||i();break;case 32:case 75:c||e();break;case 38:me.increaseVolume();break;case 40:me.decreaseVolume();break;case 77:c||me.toggleMute();break;case 39:me.forward();break;case 37:me.rewind();break;case 70:me.toggleFullscreen();break;case 67:c||me.toggleCaptions();break;case 73:me.setLoop("start");break;case 76:me.setLoop();break;case 79:me.setLoop("end")}!s.fullscreen&&me.fullscreen.active&&27===o&&me.toggleFullscreen(),r=o}else r=null}var i=me.browser.isIE?"change":"input";if(me.config.keyboard.focused){var r=null;me.config.keyboard.global&&a.on(window,"keydown keyup",function(e){var i=t(e),o=a.getFocusElement(),s=[48,49,50,51,52,53,54,56,57,75,77,70,67,73,76,79];!a.inArray(s,i)||a.is.htmlElement(o)&&a.matches(o,me.config.selectors.editable)||n(e)},!1),a.on(me.elements.container,"keydown keyup",n,!1)}a.on(me.elements.container,"focusout",function(e){a.toggleClass(e.target,me.config.classNames.tabFocus,!1)}),a.on(me.elements.container,"keydown",function(e){9===e.keyCode&&window.setTimeout(function(){a.toggleClass(a.getFocusElement(),me.config.classNames.tabFocus,!0)},0)});var l=function(e,t,n){a.is["function"](t)&&t.call(this,e),a.is["function"](n)&&n.call(this,e)};a.proxy(me.elements.buttons.play,"click",me.config.listeners.play,e),a.proxy(me.elements.buttons.playLarge,"click",me.config.listeners.play,e),a.proxy(me.elements.buttons.pause,"click",me.config.listeners.pause,e),a.proxy(me.elements.buttons.restart,"click",me.config.listeners.restart,function(){me.restart()}),a.proxy(me.elements.buttons.rewind,"click",me.config.listeners.rewind,function(){me.rewind()}),a.proxy(me.elements.buttons.forward,"click",me.config.listeners.forward,function(){me.forward()}),a.proxy(me.elements.buttons.mute,"click",me.config.listeners.mute,function(){me.toggleMute()}),a.proxy(me.elements.buttons.captions,"click",me.config.listeners.captions,function(){me.toggleCaptions()}),a.proxy(me.elements.buttons.fullscreen,"click",me.config.listeners.fullscreen,function(e){me.toggleFullscreen(e)}),a.proxy(me.elements.buttons.pip,"click",me.config.listeners.pip,function(){me.togglePictureInPicture()}),a.proxy(me.elements.buttons.airplay,"click",me.config.listeners.airplay,function(){me.airPlay()}),a.on(me.elements.buttons.settings,"click",X),a.on(document.documentElement,"click",X),a.on(me.elements.settings.form,"click",$),a.on(me.elements.settings.form,"click",function(e){a.matches(e.target,me.config.selectors.inputs.language)?l.call(this,e,me.config.listeners.language,function(){me.toggleCaptions(!0),me.setLanguage(e.target.value.toLowerCase())}):a.matches(e.target,me.config.selectors.inputs.quality)?l.call(this,e,me.config.listeners.quality,function(){me.setQuality(e.target.value)}):a.matches(e.target,me.config.selectors.inputs.speed)?l.call(this,e,me.config.listeners.speed,function(){me.setSpeed(parseFloat(e.target.value))}):a.matches(e.target,me.config.selectors.buttons.loop)&&l.call(this,e,me.config.listeners.loop,function(){ye("Set loop")})}),a.proxy(me.elements.inputs.seek,i,me.config.listeners.seek,function(e){var t=me.getDuration();me.seek(e.target.value/e.target.max*t)}),a.proxy(me.elements.inputs.volume,i,me.config.listeners.volume,function(){me.setVolume(event.target.value)}),a.on(me.elements.progress,"mouseenter mouseleave mousemove",oe),me.config.hideControls&&(a.on(me.elements.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",function(e){me.toggleControls(e)}),a.on(me.elements.controls,"mouseenter mouseleave",function(e){me.elements.controls.hover="mouseenter"===e.type}),a.on(me.elements.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){me.elements.controls.pressed=a.inArray(["mousedown","touchstart"],e.type)}),a.on(me.elements.controls,"focus blur",function(e){me.toggleControls(e)},!0)),a.proxy(me.elements.inputs.volume,"wheel",me.config.listeners.volume,function(e){var t=e.webkitDirectionInvertedFromDevice,n=.02,i=0;(e.deltaY<0||e.deltaX>0)&&(t?(me.decreaseVolume(n),i=-1):(me.increaseVolume(n),i=1)),(e.deltaY>0||e.deltaX<0)&&(t?(me.increaseVolume(n),i=1):(me.decreaseVolume(n),i=-1)),(1===i&&me.media.volume<1||i===-1&&me.media.volume>0)&&e.preventDefault()},!1),s.fullscreen&&a.on(document,o.eventType,function(e){me.toggleFullscreen(e)})}function le(){if(a.on(me.media,"timeupdate seeking",ie),a.on(me.media,"durationchange loadedmetadata",ne),a.on(me.media,"ended",function(){"video"===me.type&&me.config.showPosterOnEnd&&("video"===me.type&&F(),me.restart(),me.media.load())}),a.on(me.media,"progress playing",Z),a.on(me.media,"volumechange",G),a.on(me.media,"play pause ended",J),a.on(me.media,"waiting canplay seeked",K),me.config.clickToPlay&&"audio"!==me.type){var e=u("."+me.config.classNames.video);if(!e)return;e.style.cursor="pointer",a.on(e,"click",function(){me.config.hideControls&&s.touch&&!me.media.paused||(me.media.paused?me.play():me.media.ended?(me.restart(),me.play()):me.pause())})}me.config.disableContextMenu&&a.on(me.media,"contextmenu",function(e){e.preventDefault()},!1),a.on(me.media,"ratechange",function(){me.speed.selected=me.media.playbackRate,T("speed"),R({speed:me.speed.selected})}),a.on(me.media,"qualitychange",function(){me.quality.selected=me.media.quality,T("quality"),R({quality:me.quality.selected})}),a.on(me.media,"captionchange",function(){R({language:me.captions.language})}),a.on(me.media,"captionsenabled captionsdisabled",function(){T("captions"),R({captions:me.captions.enabled})}),a.on(me.media,me.config.events.concat(["keyup","keydown"]).join(" "),function(e){r(me.elements.container,e.type,!0)})}function ce(){if(a.inArray(i.html5,me.type)){for(var e=me.media.querySelectorAll("source"),t=0;t=0;n--){var i=n>0?t.cloneNode(!0):t,a=e[n],o=a.parentNode,s=a.nextSibling;return i.appendChild(a),s?o.insertBefore(i,s):o.appendChild(i),i}},removeElement:function(e){a.is.htmlElement(e)&&a.is.htmlElement(e.parentNode)&&e.parentNode.removeChild(e)},insertAfter:function(e,t){t.parentNode.insertBefore(e,t.nextSibling)},createElement:function(e,t,n){var i=document.createElement(e);return a.is.object(t)&&a.setAttributes(i,t),a.is.string(n)&&(i.textContent=n),i},insertElement:function(e,t,n,i){t.appendChild(a.createElement(e,n,i))},emptyElement:function(e){for(var t=e.childNodes.length;t--;)e.removeChild(e.lastChild)},setAttributes:function(e,t){for(var n in t)e.setAttribute(n,t[n])},getAttributesFromSelector:function(e,t){if(!a.is.string(e)||a.is.empty(e))return{};var n={};return e.split(",").forEach(function(e){e=e.trim();var i=e.charAt(0);switch(i){case".":var o=e.replace(".","");a.is.object(t)&&a.is.string(t["class"])&&(t["class"]+=" "+o),n["class"]=o;break;case"#":n.id=e.replace("#","");break;case"[":e=e.replace(/[\[\]]/g,"");var s=e.split("="),r=s[0],l=s.length>1?s[1].replace(/[\"\']/g,""):"";n[r]=l}}),n},toggleClass:function(e,t,n){if(a.is.htmlElement(e)){var i=!1;if(e.classList)i=e.classList.contains(t),e.classList[n?"add":"remove"](t);else{i=a.inArray(e.className.split(" "),t);var o=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=o+(n?" "+t:"")}return n&&!i||!n&&i}return null},hasClass:function(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))},matches:function(e,t){var n=Element.prototype,i=n.matches||n.webkitMatchesSelector||n.mozMatchesSelector||n.msMatchesSelector||function(e){return[].indexOf.call(document.querySelectorAll(e),this)!==-1};return i.call(e,t)},getFocusElement:function(){var e=document.activeElement;return e=e&&e!==document.body?document.querySelector(":focus"):null},proxy:function(e,t,n,i,o,s){a.on(e,t,function(t){n&&n.apply(e,[t]),i.apply(e,[t])},o,s)},toggleListener:function(e,t,n,i,o,r){if(null!==e&&!a.is.undefined(e)){if(t=t.split(" "),a.is["boolean"](r)||(r=!1),a.is["boolean"](o)||(o=!0),e instanceof NodeList){var l=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);return l.shift(),void[].forEach.call(e,function(e){e instanceof Node&&a.toggleListener.apply(null,[e].concat(l))})}var c=r;s.passiveListeners&&(c={passive:o,capture:r}),t.forEach(function(t){e[i?"addEventListener":"removeEventListener"](t,n,c)})}},on:function(e,t,n,i,o){a.toggleListener(e,t,n,!0,i,o)},off:function(e,t,n,i,o){a.toggleListener(e,t,n,!1,i,o)},dispatchEvent:function(e,t,n,i){if(e&&t){a.is["boolean"](n)||(n=!1);var o;a.is["function"](window.CustomEvent)?o=window.CustomEvent:(o=function(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n},o.prototype=window.Event.prototype);var s=new o(t,{bubbles:n,detail:i});e.dispatchEvent(s)}},toggleState:function(e,t){if(e)return t=a.is["boolean"](t)?t:!e.getAttribute("aria-pressed"),e.setAttribute("aria-pressed",t),t},getPercentage:function(e,t){return 0===e||0===t||isNaN(e)||isNaN(t)?0:(e/t*100).toFixed(2)},extend:function(){var e=arguments;if(e.length){if(1===e.length)return e[0];var t=Array.prototype.shift.call(e);a.is.object(t)||(t={});for(var n=e.length,i=0;is&&(n=s),t.core.updateSeekDisplay(n),a.inArray(i.embed,t.type)){switch(t.type){case"youtube":t.embed.seekTo(n);break;case"vimeo":t.embed.setCurrentTime(n);break;case"soundcloud":t.embed.seekTo(1e3*n)}o&&t.pause(),t.core.trigger(t.media,"timeupdate"),t.media.seeking=!0,t.core.trigger(t.media,"seeking")}else t.media.currentTime=n.toFixed(4);return t.core.log("Seeking to "+t.media.currentTime+" seconds"),t},e.prototype.setVolume=function(e){var t=this,n=1,o=0,s=!a.is.undefined(e);if(a.is.string(e)&&(e=parseFloat(e)),a.is.number(e)||(e=t.storage.volume),a.is.number(e)||(e=t.config.volume),e>n&&(e=n),e2&&(e=2),!a.inArray(t.config.speed.options,e))return void t.core.warn("Unsupported speed ("+e+")");switch(t.type){case"youtube":t.embed.setPlaybackRate(e);break;case"vimeo":e=null,t.core.warn("Vimeo playback rate change is not supported");break;default:t.media.playbackRate=e}return t},e.prototype.setQuality=function(e){var t=this;if(a.is.string(e)||(e=parseFloat(t.storage.quality||t.config.quality.selected)),!a.inArray(t.config.quality.options,e))return void t.core.warn("Unsupported quality option ("+e+")");switch(t.type){case"youtube":t.core.trigger(t.media,"qualityrequested",!1,{quality:e}),t.embed.setPlaybackQuality(e);break;default:t.core.warn("Quality options are only available for YouTube")}return t},e.prototype.setLoop=function(e){var t=this;a.inArray(["start","end","all","none","toggle"],e)||(e="toggle");var n=Number(t.media.currentTime);switch(e){case"start":t.config.loop.end&&t.config.loop.end<=n&&(t.config.loop.end=null),t.config.loop.start=n,t.config.loop.indicator.start=t.elements.display.played.value;break;case"end":if(t.config.loop.start>=n)return;t.config.loop.end=n,t.config.loop.indicator.end=t.elements.display.played.value;break;case"all":t.config.loop.start=0,t.config.loop.end=t.media.duration-2,t.config.loop.indicator.start=0,t.config.loop.indicator.end=100;break;case"toggle":t.config.loop.active?(t.config.loop.start=0,t.config.loop.end=null):(t.config.loop.start=0,t.config.loop.end=t.media.duration-2);break;default:t.config.loop.start=0,t.config.loop.end=null}return t},e.prototype.source=function(e){var t=this;if(a.is.object(e))return t.core.updateSource(e),t;var n;switch(t.type){case"youtube":n=t.embed.getVideoUrl();break;case"vimeo":t.embed.getVideoUrl.then(function(e){n=e});break;case"soundcloud":t.embed.getCurrentSound(function(e){n=e.permalink_url});break;default:n=t.media.currentSrc}return n},e.prototype.poster=function(e){var t=this;return a.is.string(e)?("video"===t.type?t.media.setAttribute("poster",e):t.core.warn("Poster can only be set on HTML5 video"),t):t.media.getAttribute("poster")},e.prototype.toggleCaptions=function(e){var t=this;if(t.supported.full&&t.elements.buttons.captions)return a.is["boolean"](e)||(e=t.elements.container.className.indexOf(t.config.classNames.captions.active)===-1),t.captions.enabled===e?t:(t.captions.enabled=e,a.toggleState(t.elements.buttons.captions,t.captions.enabled),a.toggleClass(t.elements.container,t.config.classNames.captions.active,t.captions.enabled),t.core.trigger(t.media,t.captions.enabled?"captionsenabled":"captionsdisabled"),t)},e.prototype.setLanguage=function(e){var t=this;return a.is.empty(e)?(t.toggleCaptions(!1),t):(e=e.toLowerCase(),t.captions.language===e?t:(t.toggleCaptions(!0),t.captions.language=e,t.core.trigger(t.media,"captionchange"),t.core.setCaption(),t.core.setupCaptions(),t))},e.prototype.getLanguage=function(){return this.captions.language},e.prototype.toggleFullscreen=function(e){function n(){t={x:window.pageXOffset||0,y:window.pageYOffset||0}}function i(){window.scrollTo(t.x,t.y)}var r=this,l=s.fullscreen;if(l){if(!a.is.event(e)||e.type!==o.eventType)return o.isFullScreen(r.elements.container)?o.cancelFullScreen():(n(),o.requestFullScreen(r.elements.container)),void(r.fullscreen.active=o.isFullScreen(r.elements.container));r.fullscreen.active=o.isFullScreen(r.elements.container)}else r.fullscreen.active=!r.fullscreen.active,document.body.style.overflow=r.fullscreen.active?"hidden":"";return a.toggleClass(r.elements.container,r.config.classNames.fullscreen.active,r.fullscreen.active),r.elements.buttons&&r.elements.buttons.fullscreen&&a.toggleState(r.elements.buttons.fullscreen,r.fullscreen.active),r.core.trigger(r.media,r.fullscreen.active?"enterfullscreen":"exitfullscreen",!0),!r.fullscreen.active&&l&&i(),r},e.prototype.togglePictureInPicture=function(e){var t=this,n={pip:"picture-in-picture",inline:"inline"};if(t.core.support.pip)return a.is["boolean"](e)||(e=t.media.webkitPresentationMode===n.inline),t.media.webkitSetPresentationMode(e?n.pip:n.inline),t},e.prototype.airPlay=function(){var e=this;if(e.core.support.airplay)return e.media.webkitShowPlaybackTargetPicker(),e},e.prototype.toggleControls=function(e){var t=this;if(t.config.hideControls&&"audio"!==t.type){var n=0,i=e,o=!1,r=a.hasClass(t.elements.container,t.config.classNames.loading);if(a.is["boolean"](e)||(a.is.event(e)?(o="enterfullscreen"===e.type,i=a.inArray(["mousemove","touchstart","mouseenter","focus"],e.type),a.inArray(["mousemove","touchmove"],e.type)&&(n=2e3),"focus"===e.type&&(n=3e3)):i=a.hasClass(t.elements.container,t.config.classNames.hideControls)),window.clearTimeout(t.core.timers.hover),i||t.media.paused||r){var l=a.toggleClass(t.elements.container,t.config.classNames.hideControls,!1);if(l&&t.core.trigger(t.media,"controlsshown"),t.media.paused||r)return;s.touch&&(n=3e3)}return i&&t.media.paused||(t.core.timers.hover=window.setTimeout(function(){if(!t.elements.controls.pressed&&!t.elements.controls.hover||o){var e=a.toggleClass(t.elements.container,t.config.classNames.hideControls,!0);e&&(t.core.trigger(t.media,"controlshidden"),a.inArray(t.config.controls,"settings")&&!a.is.empty(t.config.settings)&&t.core.toggleMenu(!1))}},n)),t}},e.prototype.on=function(e,t){var n=this;return a.on(n.elements.container,e,t),n},e.prototype.off=function(e,t){var n=this;return a.off(n.elements.container,e,t),n},e.prototype.supports=function(e){return s.mime(this,e)},e.prototype.destroy=function(e,t){function n(){if(null!==i){ +if(a.is["boolean"](t)||(t=!0),document.body.style.overflow="",t){var n=i.elements.container.parentNode;a.is.htmlElement(n)&&n.replaceChild(i.elements.original,i.elements.container)}i.core.trigger(i.elements.original,"destroyed",!0),a.is["function"](e)&&e.call(i.elements.original),i=null}}var i=this;switch(i.type){case"youtube":window.clearInterval(i.core.timers.buffering),window.clearInterval(i.core.timers.playing),i.embed.destroy(),n();break;case"vimeo":i.embed.unload().then(n),window.setTimeout(n,200);break;case"video":case"audio":i.core.toggleNativeControls(!0),n()}},e.prototype.getDuration=function(){var e=this,t=parseInt(e.config.duration),n=0;return null===e.media.duration||isNaN(e.media.duration)||(n=e.media.duration),isNaN(t)?n:t},e}); \ No newline at end of file diff --git a/src/js/plyr.js b/src/js/plyr.js index f2786a84..4af5ffa4 100644 --- a/src/js/plyr.js +++ b/src/js/plyr.js @@ -3969,18 +3969,11 @@ var play = player.togglePlay(); // Determine which buttons - var trigger = player.elements.buttons[play ? 'play' : 'pause']; var target = player.elements.buttons[play ? 'pause' : 'play']; // Transfer focus - if (target && trigger) { - if (utils.hasClass(trigger, player.config.classNames.tabFocus)) { - setTimeout(function() { - target.focus(); - utils.toggleClass(trigger, player.config.classNames.tabFocus, false); - utils.toggleClass(target, player.config.classNames.tabFocus, true); - }, 0); - } + if (target) { + target.focus(); } } @@ -3989,19 +3982,6 @@ return event.keyCode ? event.keyCode : event.which; } - // Detect tab focus - function checkTabFocus(focused) { - utils.toggleClass( - getElements('.' + player.config.classNames.tabFocus), - player.config.classNames.tabFocus, - false - ); - - if (player.elements.container.contains(focused)) { - utils.toggleClass(focused, player.config.classNames.tabFocus, true); - } - } - // Keyboard shortcuts if (player.config.keyboard.focused) { var last = null; @@ -4193,31 +4173,24 @@ } } - // Focus/tab management - utils.on(window, 'keyup', function(event) { - var code = getKeyCode(event); - var focused = utils.getFocusElement(); - - if (code === 9) { - checkTabFocus(focused); - } - }); - - utils.on(document.body, 'click', function() { - utils.toggleClass( - getElement('.' + player.config.classNames.tabFocus), - player.config.classNames.tabFocus, - false - ); - }); - - for (var button in player.elements.buttons) { - utils.on(player.elements.buttons[button], 'blur', onBlur); - } - - function onBlur(event) { + // Detect tab focus + // Remove class on blur/focusout + utils.on(player.elements.container, 'focusout', function(event) { utils.toggleClass(event.target, player.config.classNames.tabFocus, false); - } + }); + + // Add classname to tabbed elements + utils.on(player.elements.container, 'keydown', function(event) { + if (event.keyCode !== 9) { + return; + } + + // Delay the adding of classname until the focus has changed + // This event fires before the focusin event + window.setTimeout(function () { + utils.toggleClass(utils.getFocusElement(), player.config.classNames.tabFocus, true); + }, 0); + }); // Trigger custom and default handlers var handlerProxy = function(event, customHandler, defaultHandler) { @@ -4367,7 +4340,6 @@ function(event) { player.toggleControls(event); }, - true, true ); } diff --git a/src/less/plyr.less b/src/less/plyr.less index 01fbc7e7..047c6867 100644 --- a/src/less/plyr.less +++ b/src/less/plyr.less @@ -16,7 +16,7 @@ @keyframes plyr-popup { from { transform: translateY(10px); - opacity: .5; + opacity: 0.5; } to { transform: translateY(0); @@ -35,7 +35,7 @@ font-weight: @plyr-font-weight-normal; direction: ltr; - & when (@plyr-border-box = true) { + & when(@plyr-border-box = true) { // border-box everything // http://paulirish.com/2012/box-sizing-border-box-ftw/ &, @@ -46,7 +46,7 @@ } } - & when (@plyr-touch-action = true) { + & when(@plyr-touch-action = true) { // Fix 300ms delay a, button, @@ -57,7 +57,7 @@ } // ARIA - [aria-hidden='true'] { + [aria-hidden="true"] { display: none; } @@ -77,7 +77,7 @@ // Range inputs // Specificity is for bootstrap compatibility - input[type='range'] { + input[type="range"] { display: block; height: (@plyr-range-thumb-height * @plyr-range-thumb-active-scale); width: 100%; @@ -137,7 +137,7 @@ &::-moz-focus-outer { border: 0; } - &.tab-focus:focus { + &.tab-focus { outline-offset: 3px; } @@ -157,12 +157,12 @@ } // Video range inputs -.plyr--video input[type='range'].tab-focus:focus { +.plyr--video input[type="range"].tab-focus { outline: 1px dotted fade(@plyr-video-control-color, 50%); } // Audio range inputs -.plyr--audio input[type='range'].tab-focus:focus { +.plyr--audio input[type="range"].tab-focus { outline: 1px dotted fade(@plyr-audio-control-color, 50%); } @@ -172,14 +172,14 @@ overflow: hidden; // !important is not always needed - & when (@plyr-sr-only-important = true) { + & when(@plyr-sr-only-important = true) { position: absolute !important; padding: 0 !important; border: 0 !important; height: 1px !important; width: 1px !important; } - & when (@plyr-sr-only-important = false) { + & when(@plyr-sr-only-important = false) { position: absolute; padding: 0; border: 0; @@ -239,14 +239,14 @@ width: 100%; padding: @plyr-control-spacing; transform: translateY(-(@plyr-control-spacing * 4)); - transition: transform .3s ease; + transition: transform 0.3s ease; color: @plyr-captions-color; font-size: @plyr-font-size-captions-small; text-align: center; span { border-radius: 2px; - padding: .2em .5em; + padding: 0.2em 0.5em; background: @plyr-captions-bg; box-decoration-break: clone; line-height: 170%; @@ -345,7 +345,7 @@ background: transparent; border-radius: 3px; cursor: pointer; - transition: background .3s ease, color .3s ease, opacity .3s ease; + transition: background 0.3s ease, color 0.3s ease, opacity 0.3s ease; color: inherit; svg { @@ -382,13 +382,13 @@ border-bottom-left-radius: inherit; border-bottom-right-radius: inherit; color: @plyr-video-control-color; - transition: opacity .3s ease; + transition: opacity 0.3s ease; .plyr__control { // Hover and tab focus - &.tab-focus:focus, + &.tab-focus, &:hover, - &[aria-expanded='true'] { + &[aria-expanded="true"] { background: @plyr-video-control-bg-hover; color: @plyr-video-control-color-hover; } @@ -405,9 +405,9 @@ .plyr__control { // Hover and tab focus - &.tab-focus:focus, + &.tab-focus, &:hover, - &[aria-expanded='true'] { + &[aria-expanded="true"] { background: @plyr-audio-control-bg-hover; color: @plyr-audio-control-color-hover; } @@ -428,7 +428,7 @@ border-radius: 100%; box-shadow: 0 1px 1px fade(#000, 15%); color: @plyr-video-control-color; - transition: all .3s ease; + transition: all 0.3s ease; svg { position: relative; @@ -461,11 +461,11 @@ } // States -.plyr__controls [data-plyr='pause'], -.plyr--playing .plyr__controls [data-plyr='play'] { +.plyr__controls [data-plyr="pause"], +.plyr--playing .plyr__controls [data-plyr="play"] { display: none; } -.plyr--playing .plyr__controls [data-plyr='pause'] { +.plyr--playing .plyr__controls [data-plyr="pause"] { display: inline-block; } @@ -481,16 +481,16 @@ } // Some options are hidden by default -.plyr [data-plyr='captions'], -.plyr [data-plyr='fullscreen'], -.plyr [data-plyr='pip'], -.plyr [data-plyr='airplay'] { +.plyr [data-plyr="captions"], +.plyr [data-plyr="fullscreen"], +.plyr [data-plyr="pip"], +.plyr [data-plyr="airplay"] { display: none; } -.plyr--captions-enabled [data-plyr='captions'], -.plyr--fullscreen-enabled [data-plyr='fullscreen'], -.plyr--pip-enabled [data-plyr='pip'], -.plyr--airplay-enabled [data-plyr='airplay'] { +.plyr--captions-enabled [data-plyr="captions"], +.plyr--fullscreen-enabled [data-plyr="fullscreen"], +.plyr--pip-enabled [data-plyr="pip"], +.plyr--airplay-enabled [data-plyr="airplay"] { display: inline-block; } @@ -501,9 +501,9 @@ // Hide tooltip .plyr__control svg { - transition: transform .3s ease; + transition: transform 0.3s ease; } - .plyr__control[aria-expanded='true'] { + .plyr__control[aria-expanded="true"] { svg { transform: rotate(45deg); } @@ -519,7 +519,7 @@ bottom: 100%; right: -3px; margin-bottom: 10px; - animation: plyr-popup .2s ease; + animation: plyr-popup 0.2s ease; background: @plyr-menu-bg; border-radius: 4px; @@ -531,7 +531,7 @@ > div { overflow: hidden; - transition: height .35s cubic-bezier(.4, 0, .2, 1), width .35s cubic-bezier(.4, 0, .2, 1); + transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1), width 0.35s cubic-bezier(0.4, 0, 0.2, 1); } // Arrow @@ -662,13 +662,13 @@ font-weight: 500; line-height: 1.3; - transform: translate(-50%, 10px) scale(.8); + transform: translate(-50%, 10px) scale(0.8); transform-origin: 50% 100%; - transition: transform .2s .1s ease, opacity .2s .1s ease; + transition: transform 0.2s 0.1s ease, opacity 0.2s 0.1s ease; &::before { // Arrows - content: ''; + content: ""; position: absolute; width: 0; height: 0; @@ -684,7 +684,7 @@ } } .plyr .plyr__control:hover .plyr__tooltip, -.plyr .plyr__control.tab-focus:focus .plyr__tooltip, +.plyr .plyr__control.tab-focus .plyr__tooltip, .plyr__tooltip--visible { opacity: 1; transform: translate(-50%, 0) scale(1); @@ -697,7 +697,7 @@ .plyr__controls > .plyr__control:first-child .plyr__tooltip, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip { left: 0; - transform: translate(0, 10px) scale(.8); + transform: translate(0, 10px) scale(0.8); transform-origin: 0 100%; &::before { @@ -708,7 +708,7 @@ // Last tooltip .plyr__controls > .plyr__control:last-child .plyr__tooltip { right: 0; - transform: translate(0, 10px) scale(.8); + transform: translate(0, 10px) scale(0.8); transform-origin: 100% 100%; &::before { @@ -722,7 +722,7 @@ .plyr__controls > .plyr__control:first-child + .plyr__control, .plyr__controls > .plyr__control:last-child { &:hover .plyr__tooltip, - &.tab-focus:focus .plyr__tooltip, + &.tab-focus .plyr__tooltip, .plyr__tooltip--visible { transform: translate(0, 0) scale(1); } @@ -826,13 +826,13 @@ } .plyr__progress--buffer { &::-webkit-progress-value { - transition: width .2s ease; + transition: width 0.2s ease; } &::-moz-progress-bar { - transition: width .2s ease; + transition: width 0.2s ease; } &::-ms-fill { - transition: width .2s ease; + transition: width 0.2s ease; } } .plyr--video .plyr__progress--buffer, @@ -892,7 +892,7 @@ // Add a slash in before &::before { - content: '\2044'; + content: "\2044"; margin-right: @plyr-control-spacing; } } @@ -926,7 +926,7 @@ // It's not supported to change volume using JavaScript: // https://developer.apple.com/library/safari/documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/Device-SpecificConsiderations/Device-SpecificConsiderations.html .plyr--is-ios .plyr__volume, -.plyr--is-ios [data-plyr='mute'] { +.plyr--is-ios [data-plyr="mute"] { display: none !important; }