├── .gitignore ├── web ├── js │ ├── video-js.swf │ └── videojs-flash.min.js ├── ws.html ├── get.html ├── rtmp.html └── css │ ├── video-js.min.css │ └── video-js.css ├── config.js ├── package.json ├── README.MD └── index.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /web/js/video-js.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ljsxx/express-ffmpeg-flv/HEAD/web/js/video-js.swf -------------------------------------------------------------------------------- /config.js: -------------------------------------------------------------------------------- 1 | // node域名 2 | var host = 'localhost' 3 | // node端口 4 | var port = 1011 5 | // 海康摄像头账号 6 | var account = 'admin' 7 | // 海康摄像头密码 8 | var password = 'admin' 9 | // 海康摄像头ip 10 | var ipLists = [ 11 | '192.168.1.201', 12 | '192.168.1.202', 13 | '192.168.1.203', 14 | // '192.168.1.204' 15 | ] 16 | // node环境下才需要导出 17 | if (typeof window === 'undefined') { 18 | module.exports = { 19 | host, 20 | port, 21 | account, 22 | password, 23 | ipLists 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "express-ffmpeg-flv", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "server": "node index.js", 8 | "dev": "node dev.js", 9 | "test": "echo \"Error: no test specified\" && exit 1" 10 | }, 11 | "author": "", 12 | "license": "ISC", 13 | "devDependencies": { 14 | "express": "^4.17.1", 15 | "express-ws": "^4.0.0", 16 | "ffmpeg": "0.0.4", 17 | "fluent-ffmpeg": "^2.1.2", 18 | "http": "0.0.0", 19 | "websocket-stream": "^5.5.0" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /README.MD: -------------------------------------------------------------------------------- 1 | # 浏览器显示海康摄像头实时预览画面纯前端解决方案 2 | > 将海康设备的 rtsp 协议视频流通过 ffmpeg 转码为 flv 实时视频流,并将实时视频流通过 express 服务生成 http 长链接或 ws 返回。 3 | > 最后通过b站开源的 flv.js 插件在浏览器上显示直播画面。 4 | 5 | ## 安装 ffmpeg 6 | - 下载ffmpeg 7 | - 安装 **fluent-ffmpeg** 插件 8 | > npm i fluent-ffmpeg 9 | - 指定 ffmpeg 的安装地址 10 | > ffmpeg.setFfmpegPath("G:/app/ffmpeg-20200108-5bd0010-win64-static/ffmpeg-20200108-5bd0010-win64-static/bin/ffmpeg"); 11 | 12 | 13 | ## 修改配置 14 | 修改 config.js 文件,配置海康设备的ip和账号密码 15 | ```javascript 16 | // 海康摄像头账号 17 | var account = 'admin' 18 | // 海康摄像头密码 19 | var password = 'admin' 20 | // 海康摄像头ip 21 | // 可配置多个ip,在浏览器上同时显示多个视频 22 | var ipLists = [ 23 | '192.168.1.201', 24 | '192.168.1.202', 25 | '192.168.1.203', 26 | // '192.168.1.204' 27 | ] 28 | 29 | ``` 30 | 31 | ## 跑起来 32 | ``` 33 | npm i 34 | npm run server 35 | ``` 36 | -------------------------------------------------------------------------------- /web/ws.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 23 | 24 | 25 | 26 | 27 |

ws请求 flv流直播

28 |
29 |
30 | 31 | 75 | -------------------------------------------------------------------------------- /web/get.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 23 | 24 | 25 | 26 | 27 |

get请求 flv流直播

28 |
29 |
30 | 31 | 75 | -------------------------------------------------------------------------------- /web/rtmp.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 23 | 24 | 25 | 26 | 27 |

rtmp流直播

28 |
29 |
30 | 31 | 32 | 33 | 92 | 93 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | var express = require("express"); 2 | var expressWebSocket = require("express-ws"); 3 | var ffmpeg = require("fluent-ffmpeg"); 4 | ffmpeg.setFfmpegPath("G:/app/ffmpeg-20200108-5bd0010-win64-static/ffmpeg-20200108-5bd0010-win64-static/bin/ffmpeg"); 5 | var webSocketStream = require("websocket-stream/stream"); 6 | 7 | const config = require('./config') 8 | 9 | const host = config.host 10 | const port = config.port 11 | 12 | function localServer() { 13 | let app = express(); 14 | app.use(express.static(__dirname)); 15 | expressWebSocket(app, null, { 16 | perMessageDeflate: true 17 | }); 18 | app.all('*', function (req, res, next) { 19 | res.header('Access-Control-Allow-Origin', '*'); 20 | //Access-Control-Allow-Headers ,可根据浏览器的F12查看,把对应的粘贴在这里就行 21 | // res.header('Access-Control-Allow-Headers', 'Content-Type'); 22 | // res.header('Access-Control-Allow-Methods', '*'); 23 | // res.header('Content-Type', 'application/json;charset=utf-8'); 24 | next(); 25 | }); 26 | app.get('/', (req, res) => { 27 | res.end('ok') 28 | }) 29 | app.get('/live/get/:id', handleGetRequest) 30 | app.ws("/live/ws/:id/", handleWsRequest) 31 | app.listen(port, host); 32 | console.log("express listened") 33 | // handleRtmp(0) 34 | } 35 | // 处理get请求,返回flv直播流 36 | function handleGetRequest (req, res) { 37 | console.log('get请求 -> ', req.params) 38 | const index = +(req.params && req.params.id) || 0 39 | var url = `rtsp://${config.account}:${config.password}@${config.ipLists[index]}/Streaming/Channels/101?transportmode=unicast` 40 | try { 41 | ffmpeg(url) 42 | .addInputOption("-rtsp_transport", "tcp", "-buffer_size", "102400") // 这里可以添加一些 RTSP 优化的参数 43 | .on("start", function () { 44 | console.log(url, "Stream started."); 45 | }) 46 | .on("codecData", function () { 47 | console.log(url, "Stream codecData.") 48 | // 摄像机在线处理 49 | }) 50 | .on("error", function (err) { 51 | console.log(url, "An error occured: ", err); 52 | }) 53 | .on("end", function () { 54 | console.log(url, "Stream end!"); 55 | // 摄像机断线的处理 56 | }) 57 | .outputFormat("flv").videoCodec("copy").noAudio().pipe(res); 58 | } catch (error) { 59 | console.log(error); 60 | } 61 | } 62 | // 处理ws请求,返回flv直播流 63 | function handleWsRequest(ws, req) { 64 | const stream = webSocketStream(ws, { 65 | binary: true, 66 | browserBufferTimeout: 1000000 67 | }, { 68 | browserBufferTimeout: 1000000 69 | }); 70 | console.log("ws请求 -> ", req.params); 71 | const index = +(req.params && req.params.id) || 0 72 | const url = `rtsp://${config.account}:${config.password}@${config.ipLists[index]}/Streaming/Channels/101?transportmode=unicast` 73 | try { 74 | ffmpeg(url) 75 | .addInputOption("-rtsp_transport", "tcp", "-buffer_size", "102400") // 这里可以添加一些 RTSP 优化的参数 76 | .on("start", function () { 77 | console.log(url, "Stream started."); 78 | }) 79 | .on("codecData", function () { 80 | console.log(url, "Stream codecData.") 81 | // 摄像机在线处理 82 | }) 83 | .on("error", function (err) { 84 | console.log(url, "An error occured: ", err.message); 85 | }) 86 | .on("end", function () { 87 | console.log(url, "Stream end!"); 88 | // 摄像机断线的处理 89 | }) 90 | .outputFormat("flv").videoCodec("copy").noAudio().pipe(stream); 91 | } catch (error) { 92 | console.log(error); 93 | } 94 | } 95 | function handleRtmp (index) { 96 | console.log('handleRtmp ', index) 97 | var inputUrl = `rtsp://${config.account}:${config.password}@${config.ipLists[index]}/Streaming/Channels/102?transportmode=unicast` 98 | var outputUrl = `rtmp://${host}:1013/rtmp/${index}` 99 | // var outputUrl = `rtmp://192.168.30.53:1935/rtmp/0` 100 | console.log('inputUrl', inputUrl) 101 | console.log('outputUrl', outputUrl) 102 | try { 103 | ffmpeg(inputUrl) 104 | // .addInputOption("-rtsp_transport", "tcp") 105 | .outputOptions([ 106 | "-vcodec", 107 | "copy", 108 | "-r", 109 | "25", 110 | "-an" 111 | ]) 112 | .inputFPS(50) 113 | .noAudio() 114 | .aspect("4:3") 115 | .format("flv") 116 | .output(outputUrl) 117 | .on("start", function () { 118 | console.log('start ---> rtmp'); 119 | }) 120 | .on("codecData", function () { 121 | console.log('codecData ---> rtmp') 122 | // 摄像机在线处理 123 | }) 124 | .on("error", function (err) { 125 | console.log('error ---> rtmp', err); 126 | }) 127 | // .on("end", function () { 128 | // console.log('end ---> rtmp'); 129 | // // 摄像机断线的处理 130 | // }) 131 | // .run() 132 | console.log('okkkk') 133 | } catch (error) { 134 | console.log(error); 135 | } 136 | } 137 | localServer(); 138 | handleRtmp(0) 139 | const cp = require('child_process') 140 | // 自动打开默认浏览器 141 | cp.exec(`start http://${host}:${port}/web/get.html`) 142 | -------------------------------------------------------------------------------- /web/js/videojs-flash.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * videojs-flash 3 | * @version 2.2.0 4 | * @copyright 2019 Brightcove, Inc. 5 | * @license Apache-2.0 6 | */ 7 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("video.js")):"function"==typeof define&&define.amd?define(["video.js"],t):e.videojsFlash=t(e.videojs)}(this,function(e){"use strict";function t(e){var t=e.charAt(0).toUpperCase()+e.slice(1);v["set"+t]=function(t){return this.el_.vjs_setProperty(e,t)}}function r(e){v[e]=function(){return this.el_.vjs_getProperty(e)}}e=e&&e.hasOwnProperty("default")?e["default"]:e;for(var n="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},o="undefined"!=typeof window?window:void 0!==n?n:"undefined"!=typeof self?self:{},i=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},a=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},s=e.getComponent("Tech"),c=e.dom,u=e.url,l=e.createTimeRange,p=e.mergeOptions,f=o&&o.navigator||{},d=function(e){function t(r,n){i(this,t);var s=a(this,e.call(this,r,n));return r.source&&s.ready(function(){this.setSource(r.source)},!0),r.startTime&&s.ready(function(){this.load(),this.play(),this.currentTime(r.startTime)},!0),o.videojs=o.videojs||{},o.videojs.Flash=o.videojs.Flash||{},o.videojs.Flash.onReady=t.onReady,o.videojs.Flash.onEvent=t.onEvent,o.videojs.Flash.onError=t.onError,s.on("seeked",function(){this.lastSeekTarget_=undefined}),s}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.createEl=function(){var e=this.options_;e.swf||(e.swf="https://vjs.zencdn.net/swf/5.4.2/video-js.swf");var r=e.techId,n=p({readyFunction:"videojs.Flash.onReady",eventProxyFunction:"videojs.Flash.onEvent",errorEventProxyFunction:"videojs.Flash.onError",autoplay:e.autoplay,preload:e.preload,loop:e.loop,muted:e.muted},e.flashVars),o=p({wmode:"opaque",bgcolor:"#000000"},e.params),i=p({id:r,name:r,"class":"vjs-tech"},e.attributes);return this.el_=t.embed(e.swf,n,o,i),this.el_.tech=this,this.el_},t.prototype.play=function(){this.ended()&&this.setCurrentTime(0),this.el_.vjs_play()},t.prototype.pause=function(){this.el_.vjs_pause()},t.prototype.src=function(e){return e===undefined?this.currentSrc():this.setSrc(e)},t.prototype.setSrc=function(e){var t=this;e=u.getAbsoluteURL(e),this.el_.vjs_src(e),this.autoplay()&&this.setTimeout(function(){return t.play()},0)},t.prototype.seeking=function(){return this.lastSeekTarget_!==undefined},t.prototype.setCurrentTime=function(t){var r=this.seekable();r.length&&(t=(t=t>r.start(0)?t:r.start(0))=0?e:Infinity},t.prototype.load=function(){this.el_.vjs_load()},t.prototype.poster=function(){this.el_.vjs_getProperty("poster")},t.prototype.setPoster=function(){},t.prototype.seekable=function(){var e=this.duration();return 0===e?l():l(0,e)},t.prototype.buffered=function(){var e=this.el_.vjs_getProperty("buffered");return 0===e.length?l():l(e[0][0],e[0][1])},t.prototype.supportsFullScreen=function(){return!1},t.prototype.enterFullScreen=function(){return!1},t.prototype.getVideoPlaybackQuality=function(){var e=this.el_.vjs_getProperty("getVideoPlaybackQuality");return o.performance&&"function"==typeof o.performance.now?e.creationTime=o.performance.now():o.performance&&o.performance.timing&&"number"==typeof o.performance.timing.navigationStart&&(e.creationTime=o.Date.now()-o.performance.timing.navigationStart),e},t}(s),h=["rtmpConnection","rtmpStream","preload","defaultPlaybackRate","playbackRate","autoplay","loop","controls","volume","muted","defaultMuted"],y=["networkState","readyState","initialTime","startOffsetTime","paused","ended","videoWidth","videoHeight"],v=d.prototype,m=0;m=10},s.withSourceHandlers(d),d.nativeSourceHandler={},d.nativeSourceHandler.canPlayType=function(e){return e in d.formats?"maybe":""},d.nativeSourceHandler.canHandleSource=function(e,t){var r=void 0;return r=e.type?e.type.replace(/;.*/,"").toLowerCase():function(e){var t=u.getFileExtension(e);return t?"video/"+t:""}(e.src),d.nativeSourceHandler.canPlayType(r)},d.nativeSourceHandler.handleSource=function(e,t,r){t.setSrc(e.src)},d.nativeSourceHandler.dispose=function(){},d.registerSourceHandler(d.nativeSourceHandler),d.formats={"video/flv":"FLV","video/x-flv":"FLV","video/mp4":"MP4","video/m4v":"MP4"},d.onReady=function(e){var t=c.$("#"+e),r=t&&t.tech;r&&r.el()&&d.checkReady(r)},d.checkReady=function(e){e.el()&&(e.el().vjs_getProperty?e.triggerReady():this.setTimeout(function(){d.checkReady(e)},50))},d.onEvent=function(e,t){var r=c.$("#"+e).tech,n=Array.prototype.slice.call(arguments,2);r.setTimeout(function(){r.trigger(t,n)},1)},d.onError=function(e,t){var r=c.$("#"+e).tech;if("srcnotfound"===t)return r.error(4);"string"==typeof t?r.error("FLASH: "+t):(t.origin="flash",r.error(t))},d.version=function(){var e="0,0,0";try{e=new o.ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version").replace(/\D+/g,",").match(/^,?(.+),?$/)[1]}catch(t){try{f.mimeTypes["application/x-shockwave-flash"].enabledPlugin&&(e=(f.plugins["Shockwave Flash 2.0"]||f.plugins["Shockwave Flash"]).description.replace(/\D+/g,",").match(/^,?(.+),?$/)[1])}catch(r){}}return e.split(",")},d.embed=function(e,t,r,n){var o=d.getEmbedCode(e,t,r,n);return c.createEl("div",{innerHTML:o}).childNodes[0]},d.getEmbedCode=function(e,t,r,n){var o="",i="",a="";return t&&Object.getOwnPropertyNames(t).forEach(function(e){o+=e+"="+t[e]+"&"}),r=p({movie:e,flashvars:o,allowScriptAccess:"always",allowNetworking:"all"},r),Object.getOwnPropertyNames(r).forEach(function(e){i+=''}),n=p({data:e,width:"100%",height:"100%"},n),Object.getOwnPropertyNames(n).forEach(function(e){a+=e+'="'+n[e]+'" '}),'"+i+""},function(e){e.streamingFormats={"rtmp/mp4":"MP4","rtmp/flv":"FLV"},e.streamFromParts=function(e,t){return e+"&"+t},e.streamToParts=function(e){var t={connection:"",stream:""};if(!e)return t;var r=e.search(/&(?![\w-]+=)/),n=void 0;return-1!==r?n=r+1:0===(r=n=e.lastIndexOf("/")+1)&&(r=n=e.length),t.connection=e.substring(0,r),t.stream=e.substring(n,e.length),t},e.isStreamingType=function(t){return t in e.streamingFormats},e.RTMP_RE=/^rtmp[set]?:\/\//i,e.isStreamingSrc=function(t){return e.RTMP_RE.test(t)},e.rtmpSourceHandler={},e.rtmpSourceHandler.canPlayType=function(t){return e.isStreamingType(t)?"maybe":""},e.rtmpSourceHandler.canHandleSource=function(t,r){var n=e.rtmpSourceHandler.canPlayType(t.type);return n||(e.isStreamingSrc(t.src)?"maybe":"")},e.rtmpSourceHandler.handleSource=function(t,r,n){var o=e.streamToParts(t.src);r.setRtmpConnection(o.connection),r.setRtmpStream(o.stream)},e.registerSourceHandler(e.rtmpSourceHandler)}(d),s.getTech("Flash")?(e.log.warn("Not using videojs-flash as it appears to already be registered"),e.log.warn("videojs-flash should only be used with video.js@6 and above")):e.registerTech("Flash",d),d.VERSION="2.2.0",d}); -------------------------------------------------------------------------------- /web/css/video-js.min.css: -------------------------------------------------------------------------------- 1 | .video-js .vjs-big-play-button .vjs-icon-placeholder:before,.video-js .vjs-modal-dialog,.vjs-button>.vjs-icon-placeholder:before,.vjs-modal-dialog .vjs-modal-dialog-content{position:absolute;top:0;left:0;width:100%;height:100%}.video-js .vjs-big-play-button .vjs-icon-placeholder:before,.vjs-button>.vjs-icon-placeholder:before{text-align:center}@font-face{font-family:VideoJS;src:url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAABBIAAsAAAAAGoQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAAPgAAAFZRiV3RY21hcAAAAYQAAADQAAADIjn098ZnbHlmAAACVAAACv4AABEIAwnSw2hlYWQAAA1UAAAAKwAAADYV1OgpaGhlYQAADYAAAAAbAAAAJA4DByFobXR4AAANnAAAAA8AAACE4AAAAGxvY2EAAA2sAAAARAAAAEQ9NEHGbWF4cAAADfAAAAAfAAAAIAEyAIFuYW1lAAAOEAAAASUAAAIK1cf1oHBvc3QAAA84AAABDwAAAZ5AAl/0eJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGQ7xTiBgZWBgaWQ5RkDA8MvCM0cwxDOeI6BgYmBlZkBKwhIc01hcPjI+FGBHcRdyA4RZgQRAC4HCwEAAHic7dFprsIgAEXhg8U61XmeWcBb1FuQP4w7ZQXK5boMm3yclFDSANAHmuKviBBeBPQ8ymyo8w3jOh/5r2ui5nN6v8sYNJb3WMdeWRvLji0DhozKdxM6psyYs2DJijUbtuzYc+DIiTMXrty4k8oGLb+n0xCe37ekM7Z66j1DbUy3l6PpHnLfdLO5NdSBoQ4NdWSoY9ON54mhdqa/y1NDnRnq3FAXhro01JWhrg11Y6hbQ90Z6t5QD4Z6NNSToZ4N9WKoV0O9GerdUJORPqkhTd54nJ1YDXBU1RV+576/JBs2bPYPkrDZt5vsJrv53V/I5mclhGDCTwgGBQQSTEji4hCkYIAGd4TGIWFAhV0RQTpWmQp1xv6hA4OTOlNr2zFANbHUYbq2OtNCpViRqsk+e+7bTQAhzti8vPfuPffcc88959zznbcMMPjHD/KDDGEY0ABpYX384NhlomIYlo4JISGEY9mMh2FSidYiqkEUphtNYDSY/dXg9023l4DdxlqUl0chuZRhncJKrsCQHIwcGuwfnhMIzBnuH4Sym+1D2zaGjheXlhYfD238z80mKYMmvJ5XeOTzd8z9eujbMxJNhu4C9xPE/bCMiDuSNIWgkTQwBE55hLSAE7ZwhrHLnAHZOGV/kmBGTiNjZxzI77Hb7Hqjz68TjT6vh+5JT/cCIkqS0D6CqPf5jX4Qjdx5j6vlDfZM4aZFdbVXIxtOlJaP/WottMnH6CJQ3bTiue3PrY23HjnChtuamxwvvzFjxkPrNj3z0tG9T561HDYf6OgmRWvlY3JQHoQb8ltV2Yet7YfWctEjR1AtxS/cSX6U4alf6NJEBQ7YKg9wrXQKd0IeZCb2ux75Uhh1Un+Nz+9LTOE7PK777nN5xqdTneTBhCbx446mZrhnUkrCz2YhA9dSMxaG0SYmT8hi9ZPu1E94PJYQSH6LRmhxec7Q7ZeXntgQuVpbh+a4qWNsckVyTdn0P7o7DpgPW84+uRcq0BITflBikGdUjAZ9wYBVI3mtrNvr9kpg1UsaK6t3690aoorC1lg0GpMH2HAMtkZjsSi5Ig9ESVosOh7GQfLjKNLvKpMKkLSKNFAka710GdgSi8oDMSoNhqjkKBXTgn3swtaxyzGkUzIzae9RtLdWkSlZ1KDX6EzgllzV4NV4SoDFSOGD4+HCeQUF8wrZ5Hs8zIb5EaVxy8DYFTbMCJPnLIWZxugZE2NlivC0gc1qEQUR8jEKgZcAXeH18BiCgl5nlHh0CrjB4Hb5fX4gb0J7c9PuHVsfgkx2n/vTY/JV8kn8PGxf7faOZ8qX8JVByuIf4whk9sqXli2hvPJV9hrp0hY7l8r2x37ydaVsb4xvXv/47v2NjfCl8m5oRDJclFMoE1yk0Uh1Te4/m8lFXe9qBZD0EkheicebXvzI2PLCuoKCukLuhPIeKwaHPEouxw3kMqaIUXDQ1p0mip+MyCORSCQaoUsnY1VZ38nUTrG21WvVo4f1OsEJFhvSfAFwGfT8VHRMeAVUpwLOoLzjT/REIj3O3FhuURE+nERF+0pTId5Fyxv5sfwGyg4O+my4vZv0sZm7oeQlFZORiB+tG0MweVNraeitl7yxiPIHTk4/diVxs94o5lEYishB2iAtkchEnsActoEpx44Fo8XnsQMaA22BlqC20RmhBKzYojZyYaxg+JggMc4HHY2m+L9EkWSYljirOisrO7d3VorxzyZ6Vc4lJqITAu1b2wOBdrLElAP+bFc2eGaZFVbkmJktv5uT6Jlz5D/MnBFor6ig/JPnRViBsV3LNKGGqB1ChJ0tgQywlVLFJIuQgTFttwkiKxhyQdAZMdMYtSaoAewqfvXVYPAbDT6/1mez85YS8FSDywQ6NfAnef6FNEGMilnppyvn5rB6tTyq1pOceRWnp2WJEZFXHeX5oyoem1nTTgdqc4heDY7bOeKz63vnz+/dRx+s31Ht2JGanQ5seirfWJL9tjozU/12TnEjn5oux9OzU3ckGbBzBwNOyk69JykKH0n/0LM9A72tuwM3zQpIRu4AxiToseEpgPOmbROyFe9/X2yeUvoUsCyEvjcgs7fpWP3/aKlFN0+6HFUe6D9HFz/XPwBlN9tTqNyZjFJ8UO2RUT5/h4CptCctEyeisnOyXjALEp7dXKaQKf6O7IMnGjNNACRMLxqdYJX8eMLvmmd68D+ayBLyKKYZwYxDt/GNhzETDJ05Qxlyi3pi3/Z93ndYVSumgj0V/KkIFlO6+1K3fF2+3g0q+YtuSIf0bvmLqV09nnobI6hwcjIP8aPCKayjsF5JBY3LaKAeRLSyYB1h81oTwe9SlPMkXB7G0mfL9q71gaqqwPqu67QRKS1+ObTx+sbQy9QV2OQHEScGkdFBeT7v7qisqqrs6N52i78/R+6S0qQONVj26agOVoswCyQWIV5D86vH53bxNUeXV0K+XZaHv/nm/KsHhOvylwsWnJX/HE8l/4WCv5x+l5n08z6UU8bUMa3MBpSmM7F63AxntdC9eBCKEZW9Hr+ABNqtxgAQrSbMtmrW7lKQuoSgBhSrTazWVU2QAKWY8wiiuhqFmQgWJBgoXiuWIm42N7hqZbBsgXz52O5P5uSvaNgFGnOuvsRw8I8Laha91wMvDuxqWFheN7/8GVtTltdS83DQsXRmqc5ZtcJXEVrlV2doTWk5+Yunm71dG5f55m/qY0MjI93vv9/NfpxXV9sUXrxy2fbNy1or65cOlDRnOoKFeeXcbw42H/bNDT5Qs3flgs31gWC1lD1nfUV/X7NdCnSUdHY2e8afzfKsqZ5ZljfDqjLOmk3UebNXB+aHArPYDRs+/HDDxeT5DiP+sFg7OpRaVQMGBV89PpeBdj22hCE0Uub0UqwLrNWsG0cuyadgLXTeR5rbO4+3c/vl15cur2nRq+TXCQDcS3SO+s6ak+e5/eMS+1dw3btu3YG2tvFL8XdIZvdjdW6TO/4B7IdrZWVPmctm5/59AgsPItTSbCiIBr2OqIGzmu20SMKAS7yqwGBUfGfgjDYlLLDeF0SfcLB2LSx8flT+08/kzz6yOj96rft4rpTjdPQcmLd47uKibbDq7ZSz/XtbH2nN717Nd62rU+c8Icevvv7I09wA6WvjVcafb+FsbNG+ZQ80Rn6ZZsvrP7teP2dzTdoETvNhjCmsr8FID2sJ69VYvdUcxk4AzYRlKcaE38eXNRlfW9H1as9i6acLHp1XpuNB5K7DIvkX08y1ZYvh3KfWaiCzH+ztrSDmD7LuX73x/mJelB8Yj39t8nhNQJJ2CAthpoFGLsGgtSOCJooCGoaJAMTjSWHVZ08YAa1Fg9lPI5U6DOsGVjDasJeZZ+YyhfCwfOzCxlBA69M9XLXtza7H/rav+9Tjq5xNi0wpKQIRNO4Lrzz7yp5QVYM6Jd/oc1Uvn/mQhhuWh6ENXoS2YTZ8QT42bF5d/559zp5r0Uff2VnR2tdf2/WCOd2cO0Mw6qpWPnvxpV0nrt5fZd2yItc199GWe8vlNfNDq+CH/7yAAnB9hn7T4QO4c1g9ScxsZgmzntnE/IDGndtHMw69lFwoCnYsMGx+rBp8JSBqdLzBr9QRPq/PbhWMWFtQZp1xguy/haw3TEHm3TWAnxFWQQWgt7M5OV0lCz1VRYucpWliy7z6Zd4urwPIyeZQqli2Lgg7szJV09PysATbOQtYIrB2YzbkJYkGgJ0m4AjPUap1pvYu1K9qr97z0Yl3p332b2LYB78ncYIlRkau/8GObSsOlZancACE5d5ily+c2+7h5Yj4lqhVmXXB+iXLfvdqSgqfKtQvfHDV0OnvQR1qhw42XS/vkvsh/hXcrDFP0a+SJNIomEfD1nsrYGO+1bgTOJhM8Hv6ek+7vVglxuSRwoKn17S937bm6YJCeSSG0Op1n+7tE37tcZ/p7dsTv4EUrGpDbWueKigsLHhqTVsoEj+JU0kaSjnj9tz8/gryQWwJ9BcJXBC/7smO+I/IFURJetFPrdt5WcoL6DbEJaygI8CTHfQTjf40ofD+DwalTqIAAHicY2BkYGAA4gDud4bx/DZfGbjZGUDg+q1z05BpdkawOAcDE4gCAB45CXEAeJxjYGRgYGcAARD5/z87IwMjAypQBAAtgwI4AHicY2BgYGAfYAwAOkQA4QAAAAAAAA4AaAB+AMwA4AECAUIBbAGYAcICGAJYArQC4AMwA7AD3gQwBJYE3AUkBWYFigYgBmYGtAbqB1gIEghYCG4IhHicY2BkYGBQZChlYGcAASYg5gJCBob/YD4DABfTAbQAeJxdkE1qg0AYhl8Tk9AIoVDaVSmzahcF87PMARLIMoFAl0ZHY1BHdBJIT9AT9AQ9RQ9Qeqy+yteNMzDzfM+88w0K4BY/cNAMB6N2bUaPPBLukybCLvleeAAPj8JD+hfhMV7hC3u4wxs7OO4NzQSZcI/8Ltwnfwi75E/hAR7wJTyk/xYeY49fYQ/PztM+jbTZ7LY6OWdBJdX/pqs6NYWa+zMxa13oKrA6Uoerqi/JwtpYxZXJ1coUVmeZUWVlTjq0/tHacjmdxuL90OR8O0UEDYMNdtiSEpz5XQGqzlm30kzUdAYFFOb8R7NOZk0q2lwAyz1i7oAr1xoXvrOgtYhZx8wY5KRV269JZ5yGpmzPTjQhvY9je6vEElPOuJP3mWKnP5M3V+YAAAB4nG2PyXLCMBBE3YCNDWEL2ffk7o8S8oCnkCVHC5C/jzBQlUP6IHVPzYyekl5y0iL5X5/ooY8BUmQYIkeBEca4wgRTzDDHAtdY4ga3uMM9HvCIJzzjBa94wzs+8ImvZNAq8TM+HqVkKxWlrQiOxjujQkNlEzyNzl6Z/cU2XF06at7U83VQyklLpEvSnuzsb+HAPnPfQVgaupa1Jlu4sPLsFblcitaz0dHU0ZF1qatjZ1+aTXYCmp6u0gSvWNPyHLtFZ+ZeXWVSaEkqs3T8S74WklbGbNNNq4LL4+CWKtZDv2cfX8l8aFbKFhEnJnJ+IULFpqwoQnNHlHaVQtPBl+ypmbSWdmyC61KS/AKZC3Y+AA==) format("woff");font-weight:400;font-style:normal}.video-js .vjs-big-play-button .vjs-icon-placeholder:before,.video-js .vjs-play-control .vjs-icon-placeholder,.vjs-icon-play{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-big-play-button .vjs-icon-placeholder:before,.video-js .vjs-play-control .vjs-icon-placeholder:before,.vjs-icon-play:before{content:"\f101"}.vjs-icon-play-circle{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-play-circle:before{content:"\f102"}.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder,.vjs-icon-pause{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before,.vjs-icon-pause:before{content:"\f103"}.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder,.vjs-icon-volume-mute{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before,.vjs-icon-volume-mute:before{content:"\f104"}.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder,.vjs-icon-volume-low{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before,.vjs-icon-volume-low:before{content:"\f105"}.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder,.vjs-icon-volume-mid{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before,.vjs-icon-volume-mid:before{content:"\f106"}.video-js .vjs-mute-control .vjs-icon-placeholder,.vjs-icon-volume-high{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-mute-control .vjs-icon-placeholder:before,.vjs-icon-volume-high:before{content:"\f107"}.video-js .vjs-fullscreen-control .vjs-icon-placeholder,.vjs-icon-fullscreen-enter{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-fullscreen-control .vjs-icon-placeholder:before,.vjs-icon-fullscreen-enter:before{content:"\f108"}.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder,.vjs-icon-fullscreen-exit{font-family:VideoJS;font-weight:400;font-style:normal}.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before,.vjs-icon-fullscreen-exit:before{content:"\f109"}.vjs-icon-square{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-square:before{content:"\f10a"}.vjs-icon-spinner{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-spinner:before{content:"\f10b"}.video-js .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-subtitles-button .vjs-icon-placeholder,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder,.vjs-icon-subtitles{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-subtitles-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before,.vjs-icon-subtitles:before{content:"\f10c"}.video-js .vjs-captions-button .vjs-icon-placeholder,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder,.vjs-icon-captions{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-captions-button .vjs-icon-placeholder:before,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before,.vjs-icon-captions:before{content:"\f10d"}.video-js .vjs-chapters-button .vjs-icon-placeholder,.vjs-icon-chapters{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-chapters-button .vjs-icon-placeholder:before,.vjs-icon-chapters:before{content:"\f10e"}.vjs-icon-share{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-share:before{content:"\f10f"}.vjs-icon-cog{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-cog:before{content:"\f110"}.video-js .vjs-play-progress,.video-js .vjs-volume-level,.vjs-icon-circle,.vjs-seek-to-live-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-play-progress:before,.video-js .vjs-volume-level:before,.vjs-icon-circle:before,.vjs-seek-to-live-control .vjs-icon-placeholder:before{content:"\f111"}.vjs-icon-circle-outline{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-circle-outline:before{content:"\f112"}.vjs-icon-circle-inner-circle{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-circle-inner-circle:before{content:"\f113"}.vjs-icon-hd{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-hd:before{content:"\f114"}.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder,.vjs-icon-cancel{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before,.vjs-icon-cancel:before{content:"\f115"}.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder,.vjs-icon-replay{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before,.vjs-icon-replay:before{content:"\f116"}.vjs-icon-facebook{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-facebook:before{content:"\f117"}.vjs-icon-gplus{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-gplus:before{content:"\f118"}.vjs-icon-linkedin{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-linkedin:before{content:"\f119"}.vjs-icon-twitter{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-twitter:before{content:"\f11a"}.vjs-icon-tumblr{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-tumblr:before{content:"\f11b"}.vjs-icon-pinterest{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-pinterest:before{content:"\f11c"}.video-js .vjs-descriptions-button .vjs-icon-placeholder,.vjs-icon-audio-description{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-descriptions-button .vjs-icon-placeholder:before,.vjs-icon-audio-description:before{content:"\f11d"}.video-js .vjs-audio-button .vjs-icon-placeholder,.vjs-icon-audio{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-audio-button .vjs-icon-placeholder:before,.vjs-icon-audio:before{content:"\f11e"}.vjs-icon-next-item{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-next-item:before{content:"\f11f"}.vjs-icon-previous-item{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-previous-item:before{content:"\f120"}.video-js{display:block;vertical-align:top;box-sizing:border-box;color:#fff;background-color:#000;position:relative;padding:0;font-size:10px;line-height:1;font-weight:400;font-style:normal;font-family:Arial,Helvetica,sans-serif;word-break:initial}.video-js:-moz-full-screen{position:absolute}.video-js:-webkit-full-screen{width:100%!important;height:100%!important}.video-js[tabindex="-1"]{outline:0}.video-js *,.video-js :after,.video-js :before{box-sizing:inherit}.video-js ul{font-family:inherit;font-size:inherit;line-height:inherit;list-style-position:outside;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.video-js.vjs-16-9,.video-js.vjs-4-3,.video-js.vjs-fluid{width:100%;max-width:100%;height:0}.video-js.vjs-16-9{padding-top:56.25%}.video-js.vjs-4-3{padding-top:75%}.video-js.vjs-fill{width:100%;height:100%}.video-js .vjs-tech{position:absolute;top:0;left:0;width:100%;height:100%}body.vjs-full-window{padding:0;margin:0;height:100%}.vjs-full-window .video-js.vjs-fullscreen{position:fixed;overflow:hidden;z-index:1000;left:0;top:0;bottom:0;right:0}.video-js.vjs-fullscreen{width:100%!important;height:100%!important;padding-top:0!important}.video-js.vjs-fullscreen.vjs-user-inactive{cursor:none}.vjs-hidden{display:none!important}.vjs-disabled{opacity:.5;cursor:default}.video-js .vjs-offscreen{height:1px;left:-9999px;position:absolute;top:0;width:1px}.vjs-lock-showing{display:block!important;opacity:1;visibility:visible}.vjs-no-js{padding:20px;color:#fff;background-color:#000;font-size:18px;font-family:Arial,Helvetica,sans-serif;text-align:center;width:300px;height:150px;margin:0 auto}.vjs-no-js a,.vjs-no-js a:visited{color:#66a8cc}.video-js .vjs-big-play-button{font-size:3em;line-height:1.5em;height:1.5em;width:3em;display:block;position:absolute;top:10px;left:10px;padding:0;cursor:pointer;opacity:1;border:.06666em solid #fff;background-color:#2b333f;background-color:rgba(43,51,63,.7);border-radius:.3em;transition:all .4s}.vjs-big-play-centered .vjs-big-play-button{top:50%;left:50%;margin-top:-.75em;margin-left:-1.5em}.video-js .vjs-big-play-button:focus,.video-js:hover .vjs-big-play-button{border-color:#fff;background-color:#73859f;background-color:rgba(115,133,159,.5);transition:all 0s}.vjs-controls-disabled .vjs-big-play-button,.vjs-error .vjs-big-play-button,.vjs-has-started .vjs-big-play-button,.vjs-using-native-controls .vjs-big-play-button{display:none}.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause .vjs-big-play-button{display:block}.video-js button{background:0 0;border:none;color:inherit;display:inline-block;font-size:inherit;line-height:inherit;text-transform:none;text-decoration:none;transition:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.vjs-control .vjs-button{width:100%;height:100%}.video-js .vjs-control.vjs-close-button{cursor:pointer;height:3em;position:absolute;right:0;top:.5em;z-index:2}.video-js .vjs-modal-dialog{background:rgba(0,0,0,.8);background:linear-gradient(180deg,rgba(0,0,0,.8),rgba(255,255,255,0));overflow:auto}.video-js .vjs-modal-dialog>*{box-sizing:border-box}.vjs-modal-dialog .vjs-modal-dialog-content{font-size:1.2em;line-height:1.5;padding:20px 24px;z-index:1}.vjs-menu-button{cursor:pointer}.vjs-menu-button.vjs-disabled{cursor:default}.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu{display:none}.vjs-menu .vjs-menu-content{display:block;padding:0;margin:0;font-family:Arial,Helvetica,sans-serif;overflow:auto}.vjs-menu .vjs-menu-content>*{box-sizing:border-box}.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu{display:none}.vjs-menu li{list-style:none;margin:0;padding:.2em 0;line-height:1.4em;font-size:1.2em;text-align:center;text-transform:lowercase}.js-focus-visible .vjs-menu li.vjs-menu-item:hover,.vjs-menu li.vjs-menu-item:focus,.vjs-menu li.vjs-menu-item:hover{background-color:#73859f;background-color:rgba(115,133,159,.5)}.js-focus-visible .vjs-menu li.vjs-selected:hover,.vjs-menu li.vjs-selected,.vjs-menu li.vjs-selected:focus,.vjs-menu li.vjs-selected:hover{background-color:#fff;color:#2b333f}.vjs-menu li.vjs-menu-title{text-align:center;text-transform:uppercase;font-size:1em;line-height:2em;padding:0;margin:0 0 .3em 0;font-weight:700;cursor:default}.vjs-menu-button-popup .vjs-menu{display:none;position:absolute;bottom:0;width:10em;left:-3em;height:0;margin-bottom:1.5em;border-top-color:rgba(43,51,63,.7)}.vjs-menu-button-popup .vjs-menu .vjs-menu-content{background-color:#2b333f;background-color:rgba(43,51,63,.7);position:absolute;width:100%;bottom:1.5em;max-height:15em}.vjs-menu-button-popup .vjs-menu.vjs-lock-showing,.vjs-workinghover .vjs-menu-button-popup:hover .vjs-menu{display:block}.video-js .vjs-menu-button-inline{transition:all .4s;overflow:hidden}.video-js .vjs-menu-button-inline:before{width:2.222222222em}.video-js .vjs-menu-button-inline.vjs-slider-active,.video-js .vjs-menu-button-inline:focus,.video-js .vjs-menu-button-inline:hover,.video-js.vjs-no-flex .vjs-menu-button-inline{width:12em}.vjs-menu-button-inline .vjs-menu{opacity:0;height:100%;width:auto;position:absolute;left:4em;top:0;padding:0;margin:0;transition:all .4s}.vjs-menu-button-inline.vjs-slider-active .vjs-menu,.vjs-menu-button-inline:focus .vjs-menu,.vjs-menu-button-inline:hover .vjs-menu{display:block;opacity:1}.vjs-no-flex .vjs-menu-button-inline .vjs-menu{display:block;opacity:1;position:relative;width:auto}.vjs-no-flex .vjs-menu-button-inline.vjs-slider-active .vjs-menu,.vjs-no-flex .vjs-menu-button-inline:focus .vjs-menu,.vjs-no-flex .vjs-menu-button-inline:hover .vjs-menu{width:auto}.vjs-menu-button-inline .vjs-menu-content{width:auto;height:100%;margin:0;overflow:hidden}.video-js .vjs-control-bar{display:none;width:100%;position:absolute;bottom:0;left:0;right:0;height:3em;background-color:#2b333f;background-color:rgba(43,51,63,.7)}.vjs-has-started .vjs-control-bar{display:flex;visibility:visible;opacity:1;transition:visibility .1s,opacity .1s}.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{visibility:visible;opacity:0;transition:visibility 1s,opacity 1s}.vjs-controls-disabled .vjs-control-bar,.vjs-error .vjs-control-bar,.vjs-using-native-controls .vjs-control-bar{display:none!important}.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{opacity:1;visibility:visible}.vjs-has-started.vjs-no-flex .vjs-control-bar{display:table}.video-js .vjs-control{position:relative;text-align:center;margin:0;padding:0;height:100%;width:4em;flex:none}.vjs-button>.vjs-icon-placeholder:before{font-size:1.8em;line-height:1.67}.video-js .vjs-control:focus,.video-js .vjs-control:focus:before,.video-js .vjs-control:hover:before{text-shadow:0 0 1em #fff}.video-js .vjs-control-text{border:0;clip:rect(0 0 0 0);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.vjs-no-flex .vjs-control{display:table-cell;vertical-align:middle}.video-js .vjs-custom-control-spacer{display:none}.video-js .vjs-progress-control{cursor:pointer;flex:auto;display:flex;align-items:center;min-width:4em;touch-action:none}.video-js .vjs-progress-control.disabled{cursor:default}.vjs-live .vjs-progress-control{display:none}.vjs-liveui .vjs-progress-control{display:flex;align-items:center}.vjs-no-flex .vjs-progress-control{width:auto}.video-js .vjs-progress-holder{flex:auto;transition:all .2s;height:.3em}.video-js .vjs-progress-control .vjs-progress-holder{margin:0 10px}.video-js .vjs-progress-control:hover .vjs-progress-holder{font-size:1.666666666666666666em}.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled{font-size:1em}.video-js .vjs-progress-holder .vjs-load-progress,.video-js .vjs-progress-holder .vjs-load-progress div,.video-js .vjs-progress-holder .vjs-play-progress{position:absolute;display:block;height:100%;margin:0;padding:0;width:0}.video-js .vjs-play-progress{background-color:#fff}.video-js .vjs-play-progress:before{font-size:.9em;position:absolute;right:-.5em;top:-.333333333333333em;z-index:1}.video-js .vjs-load-progress{background:rgba(115,133,159,.5)}.video-js .vjs-load-progress div{background:rgba(115,133,159,.75)}.video-js .vjs-time-tooltip{background-color:#fff;background-color:rgba(255,255,255,.8);border-radius:.3em;color:#000;float:right;font-family:Arial,Helvetica,sans-serif;font-size:1em;padding:6px 8px 8px 8px;pointer-events:none;position:absolute;top:-3.4em;visibility:hidden;z-index:1}.video-js .vjs-progress-holder:focus .vjs-time-tooltip{display:none}.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip,.video-js .vjs-progress-control:hover .vjs-time-tooltip{display:block;font-size:.6em;visibility:visible}.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip{font-size:1em}.video-js .vjs-progress-control .vjs-mouse-display{display:none;position:absolute;width:1px;height:100%;background-color:#000;z-index:1}.vjs-no-flex .vjs-progress-control .vjs-mouse-display{z-index:0}.video-js .vjs-progress-control:hover .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display{visibility:hidden;opacity:0;transition:visibility 1s,opacity 1s}.video-js.vjs-user-inactive.vjs-no-flex .vjs-progress-control .vjs-mouse-display{display:none}.vjs-mouse-display .vjs-time-tooltip{color:#fff;background-color:#000;background-color:rgba(0,0,0,.8)}.video-js .vjs-slider{position:relative;cursor:pointer;padding:0;margin:0 .45em 0 .45em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#73859f;background-color:rgba(115,133,159,.5)}.video-js .vjs-slider.disabled{cursor:default}.video-js .vjs-slider:focus{text-shadow:0 0 1em #fff;box-shadow:0 0 1em #fff}.video-js .vjs-mute-control{cursor:pointer;flex:none}.video-js .vjs-volume-control{cursor:pointer;margin-right:1em;display:flex}.video-js .vjs-volume-control.vjs-volume-horizontal{width:5em}.video-js .vjs-volume-panel .vjs-volume-control{visibility:visible;opacity:0;width:1px;height:1px;margin-left:-1px}.video-js .vjs-volume-panel{transition:width 1s}.video-js .vjs-volume-panel .vjs-mute-control:hover~.vjs-volume-control,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active,.video-js .vjs-volume-panel .vjs-volume-control:active,.video-js .vjs-volume-panel .vjs-volume-control:hover,.video-js .vjs-volume-panel:active .vjs-volume-control,.video-js .vjs-volume-panel:focus .vjs-volume-control,.video-js .vjs-volume-panel:hover .vjs-volume-control{visibility:visible;opacity:1;position:relative;transition:visibility .1s,opacity .1s,height .1s,width .1s,left 0s,top 0s}.video-js .vjs-volume-panel .vjs-mute-control:hover~.vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control:hover.vjs-volume-horizontal,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:hover .vjs-volume-control.vjs-volume-horizontal{width:5em;height:3em}.video-js .vjs-volume-panel .vjs-mute-control:hover~.vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control:hover.vjs-volume-vertical,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:hover .vjs-volume-control.vjs-volume-vertical{left:-3.5em}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal:hover{width:9em;transition:width .1s}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only{width:4em}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical{height:8em;width:3em;left:-3000em;transition:visibility 1s,opacity 1s,height 1s 1s,width 1s 1s,left 1s 1s,top 1s 1s}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal{transition:visibility 1s,opacity 1s,height 1s 1s,width 1s,left 1s 1s,top 1s 1s}.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal{width:5em;height:3em;visibility:visible;opacity:1;position:relative;transition:none}.video-js.vjs-no-flex .vjs-volume-control.vjs-volume-vertical,.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical{position:absolute;bottom:3em;left:.5em}.video-js .vjs-volume-panel{display:flex}.video-js .vjs-volume-bar{margin:1.35em .45em}.vjs-volume-bar.vjs-slider-horizontal{width:5em;height:.3em}.vjs-volume-bar.vjs-slider-vertical{width:.3em;height:5em;margin:1.35em auto}.video-js .vjs-volume-level{position:absolute;bottom:0;left:0;background-color:#fff}.video-js .vjs-volume-level:before{position:absolute;font-size:.9em}.vjs-slider-vertical .vjs-volume-level{width:.3em}.vjs-slider-vertical .vjs-volume-level:before{top:-.5em;left:-.3em}.vjs-slider-horizontal .vjs-volume-level{height:.3em}.vjs-slider-horizontal .vjs-volume-level:before{top:-.3em;right:-.5em}.video-js .vjs-volume-panel.vjs-volume-panel-vertical{width:4em}.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level{height:100%}.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level{width:100%}.video-js .vjs-volume-vertical{width:3em;height:8em;bottom:8em;background-color:#2b333f;background-color:rgba(43,51,63,.7)}.video-js .vjs-volume-horizontal .vjs-menu{left:-2em}.vjs-poster{display:inline-block;vertical-align:middle;background-repeat:no-repeat;background-position:50% 50%;background-size:contain;background-color:#000;cursor:pointer;margin:0;padding:0;position:absolute;top:0;right:0;bottom:0;left:0;height:100%}.vjs-has-started .vjs-poster{display:none}.vjs-audio.vjs-has-started .vjs-poster{display:block}.vjs-using-native-controls .vjs-poster{display:none}.video-js .vjs-live-control{display:flex;align-items:flex-start;flex:auto;font-size:1em;line-height:3em}.vjs-no-flex .vjs-live-control{display:table-cell;width:auto;text-align:left}.video-js.vjs-liveui .vjs-live-control,.video-js:not(.vjs-live) .vjs-live-control{display:none}.video-js .vjs-seek-to-live-control{cursor:pointer;flex:none;display:inline-flex;height:100%;padding-left:.5em;padding-right:.5em;font-size:1em;line-height:3em;width:auto;min-width:4em}.vjs-no-flex .vjs-seek-to-live-control{display:table-cell;width:auto;text-align:left}.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,.video-js:not(.vjs-live) .vjs-seek-to-live-control{display:none}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge{cursor:auto}.vjs-seek-to-live-control .vjs-icon-placeholder{margin-right:.5em;color:#888}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder{color:red}.video-js .vjs-time-control{flex:none;font-size:1em;line-height:3em;min-width:2em;width:auto;padding-left:1em;padding-right:1em}.vjs-live .vjs-time-control{display:none}.video-js .vjs-current-time,.vjs-no-flex .vjs-current-time{display:none}.video-js .vjs-duration,.vjs-no-flex .vjs-duration{display:none}.vjs-time-divider{display:none;line-height:3em}.vjs-live .vjs-time-divider{display:none}.video-js .vjs-play-control{cursor:pointer}.video-js .vjs-play-control .vjs-icon-placeholder{flex:none}.vjs-text-track-display{position:absolute;bottom:3em;left:0;right:0;top:0;pointer-events:none}.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display{bottom:1em}.video-js .vjs-text-track{font-size:1.4em;text-align:center;margin-bottom:.1em}.vjs-subtitles{color:#fff}.vjs-captions{color:#fc6}.vjs-tt-cue{display:block}video::-webkit-media-text-track-display{-webkit-transform:translateY(-3em);transform:translateY(-3em)}.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display{-webkit-transform:translateY(-1.5em);transform:translateY(-1.5em)}.video-js .vjs-fullscreen-control{cursor:pointer;flex:none}.vjs-playback-rate .vjs-playback-rate-value,.vjs-playback-rate>.vjs-menu-button{position:absolute;top:0;left:0;width:100%;height:100%}.vjs-playback-rate .vjs-playback-rate-value{pointer-events:none;font-size:1.5em;line-height:2;text-align:center}.vjs-playback-rate .vjs-menu{width:4em;left:0}.vjs-error .vjs-error-display .vjs-modal-dialog-content{font-size:1.4em;text-align:center}.vjs-error .vjs-error-display:before{color:#fff;content:'X';font-family:Arial,Helvetica,sans-serif;font-size:4em;left:0;line-height:1;margin-top:-.5em;position:absolute;text-shadow:.05em .05em .1em #000;text-align:center;top:50%;vertical-align:middle;width:100%}.vjs-loading-spinner{display:none;position:absolute;top:50%;left:50%;margin:-25px 0 0 -25px;opacity:.85;text-align:left;border:6px solid rgba(43,51,63,.7);box-sizing:border-box;background-clip:padding-box;width:50px;height:50px;border-radius:25px;visibility:hidden}.vjs-seeking .vjs-loading-spinner,.vjs-waiting .vjs-loading-spinner{display:block;-webkit-animation:0s linear .3s forwards vjs-spinner-show;animation:0s linear .3s forwards vjs-spinner-show}.vjs-loading-spinner:after,.vjs-loading-spinner:before{content:"";position:absolute;margin:-6px;box-sizing:inherit;width:inherit;height:inherit;border-radius:inherit;opacity:1;border:inherit;border-color:transparent;border-top-color:#fff}.vjs-seeking .vjs-loading-spinner:after,.vjs-seeking .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:before{-webkit-animation:vjs-spinner-spin 1.1s cubic-bezier(.6,.2,0,.8) infinite,vjs-spinner-fade 1.1s linear infinite;animation:vjs-spinner-spin 1.1s cubic-bezier(.6,.2,0,.8) infinite,vjs-spinner-fade 1.1s linear infinite}.vjs-seeking .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:before{border-top-color:#fff}.vjs-seeking .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:after{border-top-color:#fff;-webkit-animation-delay:.44s;animation-delay:.44s}@keyframes vjs-spinner-show{to{visibility:visible}}@-webkit-keyframes vjs-spinner-show{to{visibility:visible}}@keyframes vjs-spinner-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes vjs-spinner-spin{100%{-webkit-transform:rotate(360deg)}}@keyframes vjs-spinner-fade{0%{border-top-color:#73859f}20%{border-top-color:#73859f}35%{border-top-color:#fff}60%{border-top-color:#73859f}100%{border-top-color:#73859f}}@-webkit-keyframes vjs-spinner-fade{0%{border-top-color:#73859f}20%{border-top-color:#73859f}35%{border-top-color:#fff}60%{border-top-color:#73859f}100%{border-top-color:#73859f}}.vjs-chapters-button .vjs-menu ul{width:24em}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;display:inline-block;margin-bottom:-.1em}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{font-family:VideoJS;content:"\f10d";font-size:1.5em;line-height:inherit}.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;display:inline-block;margin-bottom:-.1em}.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{font-family:VideoJS;content:" \f11d";font-size:1.5em;line-height:inherit}.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-custom-control-spacer{flex:auto;display:block}.video-js.vjs-layout-tiny:not(.vjs-fullscreen).vjs-no-flex .vjs-custom-control-spacer{width:auto}.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-audio-button,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-captions-button,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-chapters-button,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-current-time,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-descriptions-button,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-duration,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-mute-control,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-playback-rate,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-progress-control,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-remaining-time,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-subs-caps-button,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-subtitles-button,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-time-divider,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-volume-control,.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-volume-panel{display:none}.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-audio-button,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-captions-button,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-chapters-button,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-current-time,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-descriptions-button,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-duration,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-mute-control,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-playback-rate,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-remaining-time,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-subs-caps-button,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-subtitles-button,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-time-divider,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-volume-control,.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-volume-panel{display:none}.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-audio-button,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-captions-button,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-chapters-button,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-current-time,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-descriptions-button,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-duration,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-mute-control,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-playback-rate,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-remaining-time,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-subtitles-button,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-time-divider,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-volume-control,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-volume-panel{display:none}.vjs-modal-dialog.vjs-text-track-settings{background-color:#2b333f;background-color:rgba(43,51,63,.75);color:#fff;height:70%}.vjs-text-track-settings .vjs-modal-dialog-content{display:table}.vjs-text-track-settings .vjs-track-settings-colors,.vjs-text-track-settings .vjs-track-settings-controls,.vjs-text-track-settings .vjs-track-settings-font{display:table-cell}.vjs-text-track-settings .vjs-track-settings-controls{text-align:right;vertical-align:bottom}@supports (display:grid){.vjs-text-track-settings .vjs-modal-dialog-content{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;padding:20px 24px 0 24px}.vjs-track-settings-controls .vjs-default-button{margin-bottom:20px}.vjs-text-track-settings .vjs-track-settings-controls{grid-column:1/-1}.vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content{grid-template-columns:1fr}}.vjs-track-setting>select{margin-right:1em;margin-bottom:.5em}.vjs-text-track-settings fieldset{margin:5px;padding:3px;border:none}.vjs-text-track-settings fieldset span{display:inline-block}.vjs-text-track-settings fieldset span>select{max-width:7.3em}.vjs-text-track-settings legend{color:#fff;margin:0 0 5px 0}.vjs-text-track-settings .vjs-label{position:absolute;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);display:block;margin:0 0 5px 0;padding:0;border:0;height:1px;width:1px;overflow:hidden}.vjs-track-settings-controls button:active,.vjs-track-settings-controls button:focus{outline-style:solid;outline-width:medium;background-image:linear-gradient(0deg,#fff 88%,#73859f 100%)}.vjs-track-settings-controls button:hover{color:rgba(43,51,63,.75)}.vjs-track-settings-controls button{background-color:#fff;background-image:linear-gradient(-180deg,#fff 88%,#73859f 100%);color:#2b333f;cursor:pointer;border-radius:2px}.vjs-track-settings-controls .vjs-default-button{margin-right:1em}@media print{.video-js>:not(.vjs-tech):not(.vjs-poster){visibility:hidden}}.vjs-resize-manager{position:absolute;top:0;left:0;width:100%;height:100%;border:none;z-index:-1000}.js-focus-visible .video-js :focus:not(.focus-visible){outline:0;background:0 0}.video-js .vjs-menu :focus:not(:focus-visible),.video-js :focus:not(:focus-visible){outline:0;background:0 0} -------------------------------------------------------------------------------- /web/css/video-js.css: -------------------------------------------------------------------------------- 1 | .video-js .vjs-big-play-button:before, .video-js .vjs-control:before, .video-js .vjs-modal-dialog, .vjs-modal-dialog .vjs-modal-dialog-content { 2 | position: absolute; 3 | top: 0; 4 | left: 0; 5 | width: 100%; 6 | height: 100%; } 7 | 8 | .video-js .vjs-big-play-button:before, .video-js .vjs-control:before { 9 | text-align: center; } 10 | 11 | @font-face { 12 | font-family: VideoJS; 13 | src: url("../font/2.0.0/VideoJS.eot?#iefix") format("eot"); } 14 | 15 | @font-face { 16 | font-family: VideoJS; 17 | src: url(data:application/font-woff;charset=utf-8;base64,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) format("woff"), url(data:application/x-font-ttf;charset=utf-8;base64,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FjY3PgE3LgEnIwYfAR4BFw4BBTM/ARUzESMGAyUVJwMchM2UWwgNq4JHrQgBAapUaAoJcWMBfiIhDiMrAQJLMB0BBAokNAIBPmMiIQ4iLAECSzAeAQUKJDQBP2MiIQ4iLAECSzAeAQUKJDQBAT75g+5B4arNLNIBJ44ByQL9BQ9mvYCKwA8FBQMDwwJVTGdzBf6VB8IHNR08lld9uT4LCRA/qGNxvUwHNR08lld9uT4LCRA/qGNxvUwHNR08lld9uT4LCRA/qGNxvVJkAWUDDEf+tYP5AQAAAAEAAAAABiAGtgAbAAABBAADER4BFzMRITU2ADcWABcVIREzPgE3EQIAA4D+4v6FBwJ/X+D+1QYBJ97eAScG/tXgX38CB/6FBrUH/oX+4v32X38CAlWV3gEnBgb+2d6V/asCf18CCgEeAXsAAAAAEADGAAEAAAAAAAEABwAAAAEAAAAAAAIABwAHAAEAAAAAAAMABwAOAAEAAAAAAAQABwAVAAEAAAAAAAUACwAcAAEAAAAAAAYABwAnAAEAAAAAAAoAKwAuAAEAAAAAAAsAEwBZAAMAAQQJAAEADgBsAAMAAQQJAAIADgB6AAMAAQQJAAMADgCIAAMAAQQJAAQADgCWAAMAAQQJAAUAFgCkAAMAAQQJAAYADgC6AAMAAQQJAAoAVgDIAAMAAQQJAAsAJgEeVmlkZW9KU1JlZ3VsYXJWaWRlb0pTVmlkZW9KU1ZlcnNpb24gMS4wVmlkZW9KU0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAFYAaQBkAGUAbwBKAFMAUgBlAGcAdQBsAGEAcgBWAGkAZABlAG8ASgBTAFYAaQBkAGUAbwBKAFMAVgBlAHIAcwBpAG8AbgAgADEALgAwAFYAaQBkAGUAbwBKAFMARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAgAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAABAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8EcGxheQtwbGF5LWNpcmNsZQVwYXVzZQt2b2x1bWUtbXV0ZQp2b2x1bWUtbG93CnZvbHVtZS1taWQLdm9sdW1lLWhpZ2gQZnVsbHNjcmVlbi1lbnRlcg9mdWxsc2NyZWVuLWV4aXQGc3F1YXJlB3NwaW5uZXIJc3VidGl0bGVzCGNhcHRpb25zCGNoYXB0ZXJzBXNoYXJlA2NvZwZjaXJjbGUOY2lyY2xlLW91dGxpbmUTY2lyY2xlLWlubmVyLWNpcmNsZQJoZAZjYW5jZWwGcmVwbGF5CGZhY2Vib29rBWdwbHVzCGxpbmtlZGluB3R3aXR0ZXIGdHVtYmxyCXBpbnRlcmVzdBFhdWRpby1kZXNjcmlwdGlvbgVhdWRpbwAAAAAA) format("truetype"); 18 | font-weight: normal; 19 | font-style: normal; } 20 | 21 | .vjs-icon-play, .video-js .vjs-big-play-button, .video-js .vjs-play-control { 22 | font-family: VideoJS; 23 | font-weight: normal; 24 | font-style: normal; } 25 | .vjs-icon-play:before, .video-js .vjs-big-play-button:before, .video-js .vjs-play-control:before { 26 | content: "\f101"; } 27 | 28 | .vjs-icon-play-circle { 29 | font-family: VideoJS; 30 | font-weight: normal; 31 | font-style: normal; } 32 | .vjs-icon-play-circle:before { 33 | content: "\f102"; } 34 | 35 | .vjs-icon-pause, .video-js .vjs-play-control.vjs-playing { 36 | font-family: VideoJS; 37 | font-weight: normal; 38 | font-style: normal; } 39 | .vjs-icon-pause:before, .video-js .vjs-play-control.vjs-playing:before { 40 | content: "\f103"; } 41 | 42 | .vjs-icon-volume-mute, .video-js .vjs-mute-control.vjs-vol-0, 43 | .video-js .vjs-volume-menu-button.vjs-vol-0 { 44 | font-family: VideoJS; 45 | font-weight: normal; 46 | font-style: normal; } 47 | .vjs-icon-volume-mute:before, .video-js .vjs-mute-control.vjs-vol-0:before, 48 | .video-js .vjs-volume-menu-button.vjs-vol-0:before { 49 | content: "\f104"; } 50 | 51 | .vjs-icon-volume-low, .video-js .vjs-mute-control.vjs-vol-1, 52 | .video-js .vjs-volume-menu-button.vjs-vol-1 { 53 | font-family: VideoJS; 54 | font-weight: normal; 55 | font-style: normal; } 56 | .vjs-icon-volume-low:before, .video-js .vjs-mute-control.vjs-vol-1:before, 57 | .video-js .vjs-volume-menu-button.vjs-vol-1:before { 58 | content: "\f105"; } 59 | 60 | .vjs-icon-volume-mid, .video-js .vjs-mute-control.vjs-vol-2, 61 | .video-js .vjs-volume-menu-button.vjs-vol-2 { 62 | font-family: VideoJS; 63 | font-weight: normal; 64 | font-style: normal; } 65 | .vjs-icon-volume-mid:before, .video-js .vjs-mute-control.vjs-vol-2:before, 66 | .video-js .vjs-volume-menu-button.vjs-vol-2:before { 67 | content: "\f106"; } 68 | 69 | .vjs-icon-volume-high, .video-js .vjs-mute-control, 70 | .video-js .vjs-volume-menu-button { 71 | font-family: VideoJS; 72 | font-weight: normal; 73 | font-style: normal; } 74 | .vjs-icon-volume-high:before, .video-js .vjs-mute-control:before, 75 | .video-js .vjs-volume-menu-button:before { 76 | content: "\f107"; } 77 | 78 | .vjs-icon-fullscreen-enter, .video-js .vjs-fullscreen-control { 79 | font-family: VideoJS; 80 | font-weight: normal; 81 | font-style: normal; } 82 | .vjs-icon-fullscreen-enter:before, .video-js .vjs-fullscreen-control:before { 83 | content: "\f108"; } 84 | 85 | .vjs-icon-fullscreen-exit, .video-js.vjs-fullscreen .vjs-fullscreen-control { 86 | font-family: VideoJS; 87 | font-weight: normal; 88 | font-style: normal; } 89 | .vjs-icon-fullscreen-exit:before, .video-js.vjs-fullscreen .vjs-fullscreen-control:before { 90 | content: "\f109"; } 91 | 92 | .vjs-icon-square { 93 | font-family: VideoJS; 94 | font-weight: normal; 95 | font-style: normal; } 96 | .vjs-icon-square:before { 97 | content: "\f10a"; } 98 | 99 | .vjs-icon-spinner { 100 | font-family: VideoJS; 101 | font-weight: normal; 102 | font-style: normal; } 103 | .vjs-icon-spinner:before { 104 | content: "\f10b"; } 105 | 106 | .vjs-icon-subtitles, .video-js .vjs-subtitles-button { 107 | font-family: VideoJS; 108 | font-weight: normal; 109 | font-style: normal; } 110 | .vjs-icon-subtitles:before, .video-js .vjs-subtitles-button:before { 111 | content: "\f10c"; } 112 | 113 | .vjs-icon-captions, .video-js .vjs-captions-button { 114 | font-family: VideoJS; 115 | font-weight: normal; 116 | font-style: normal; } 117 | .vjs-icon-captions:before, .video-js .vjs-captions-button:before { 118 | content: "\f10d"; } 119 | 120 | .vjs-icon-chapters, .video-js .vjs-chapters-button { 121 | font-family: VideoJS; 122 | font-weight: normal; 123 | font-style: normal; } 124 | .vjs-icon-chapters:before, .video-js .vjs-chapters-button:before { 125 | content: "\f10e"; } 126 | 127 | .vjs-icon-share { 128 | font-family: VideoJS; 129 | font-weight: normal; 130 | font-style: normal; } 131 | .vjs-icon-share:before { 132 | content: "\f10f"; } 133 | 134 | .vjs-icon-cog { 135 | font-family: VideoJS; 136 | font-weight: normal; 137 | font-style: normal; } 138 | .vjs-icon-cog:before { 139 | content: "\f110"; } 140 | 141 | .vjs-icon-circle, .video-js .vjs-mouse-display, .video-js .vjs-play-progress, .video-js .vjs-volume-level { 142 | font-family: VideoJS; 143 | font-weight: normal; 144 | font-style: normal; } 145 | .vjs-icon-circle:before, .video-js .vjs-mouse-display:before, .video-js .vjs-play-progress:before, .video-js .vjs-volume-level:before { 146 | content: "\f111"; } 147 | 148 | .vjs-icon-circle-outline { 149 | font-family: VideoJS; 150 | font-weight: normal; 151 | font-style: normal; } 152 | .vjs-icon-circle-outline:before { 153 | content: "\f112"; } 154 | 155 | .vjs-icon-circle-inner-circle { 156 | font-family: VideoJS; 157 | font-weight: normal; 158 | font-style: normal; } 159 | .vjs-icon-circle-inner-circle:before { 160 | content: "\f113"; } 161 | 162 | .vjs-icon-hd { 163 | font-family: VideoJS; 164 | font-weight: normal; 165 | font-style: normal; } 166 | .vjs-icon-hd:before { 167 | content: "\f114"; } 168 | 169 | .vjs-icon-cancel, .video-js .vjs-control.vjs-close-button { 170 | font-family: VideoJS; 171 | font-weight: normal; 172 | font-style: normal; } 173 | .vjs-icon-cancel:before, .video-js .vjs-control.vjs-close-button:before { 174 | content: "\f115"; } 175 | 176 | .vjs-icon-replay { 177 | font-family: VideoJS; 178 | font-weight: normal; 179 | font-style: normal; } 180 | .vjs-icon-replay:before { 181 | content: "\f116"; } 182 | 183 | .vjs-icon-facebook { 184 | font-family: VideoJS; 185 | font-weight: normal; 186 | font-style: normal; } 187 | .vjs-icon-facebook:before { 188 | content: "\f117"; } 189 | 190 | .vjs-icon-gplus { 191 | font-family: VideoJS; 192 | font-weight: normal; 193 | font-style: normal; } 194 | .vjs-icon-gplus:before { 195 | content: "\f118"; } 196 | 197 | .vjs-icon-linkedin { 198 | font-family: VideoJS; 199 | font-weight: normal; 200 | font-style: normal; } 201 | .vjs-icon-linkedin:before { 202 | content: "\f119"; } 203 | 204 | .vjs-icon-twitter { 205 | font-family: VideoJS; 206 | font-weight: normal; 207 | font-style: normal; } 208 | .vjs-icon-twitter:before { 209 | content: "\f11a"; } 210 | 211 | .vjs-icon-tumblr { 212 | font-family: VideoJS; 213 | font-weight: normal; 214 | font-style: normal; } 215 | .vjs-icon-tumblr:before { 216 | content: "\f11b"; } 217 | 218 | .vjs-icon-pinterest { 219 | font-family: VideoJS; 220 | font-weight: normal; 221 | font-style: normal; } 222 | .vjs-icon-pinterest:before { 223 | content: "\f11c"; } 224 | 225 | .vjs-icon-audio-description, .video-js .vjs-descriptions-button { 226 | font-family: VideoJS; 227 | font-weight: normal; 228 | font-style: normal; } 229 | .vjs-icon-audio-description:before, .video-js .vjs-descriptions-button:before { 230 | content: "\f11d"; } 231 | 232 | .vjs-icon-audio, .video-js .vjs-audio-button { 233 | font-family: VideoJS; 234 | font-weight: normal; 235 | font-style: normal; } 236 | .vjs-icon-audio:before, .video-js .vjs-audio-button:before { 237 | content: "\f11e"; } 238 | 239 | .video-js { 240 | display: block; 241 | vertical-align: top; 242 | box-sizing: border-box; 243 | color: #fff; 244 | background-color: #000; 245 | position: relative; 246 | padding: 0; 247 | font-size: 10px; 248 | line-height: 1; 249 | font-weight: normal; 250 | font-style: normal; 251 | font-family: Arial, Helvetica, sans-serif; 252 | -webkit-user-select: none; 253 | -moz-user-select: none; 254 | -ms-user-select: none; 255 | user-select: none; } 256 | .video-js:-moz-full-screen { 257 | position: absolute; } 258 | .video-js:-webkit-full-screen { 259 | width: 100% !important; 260 | height: 100% !important; } 261 | 262 | .video-js *, 263 | .video-js *:before, 264 | .video-js *:after { 265 | box-sizing: inherit; } 266 | 267 | .video-js ul { 268 | font-family: inherit; 269 | font-size: inherit; 270 | line-height: inherit; 271 | list-style-position: outside; 272 | margin-left: 0; 273 | margin-right: 0; 274 | margin-top: 0; 275 | margin-bottom: 0; } 276 | 277 | .video-js.vjs-fluid, 278 | .video-js.vjs-16-9, 279 | .video-js.vjs-4-3 { 280 | width: 100%; 281 | max-width: 100%; 282 | height: 0; } 283 | 284 | .video-js.vjs-16-9 { 285 | padding-top: 56.25%; } 286 | 287 | .video-js.vjs-4-3 { 288 | padding-top: 75%; } 289 | 290 | .video-js.vjs-fill { 291 | width: 100%; 292 | height: 100%; } 293 | 294 | .video-js .vjs-tech { 295 | position: absolute; 296 | top: 0; 297 | left: 0; 298 | width: 100%; 299 | height: 100%; } 300 | 301 | body.vjs-full-window { 302 | padding: 0; 303 | margin: 0; 304 | height: 100%; 305 | overflow-y: auto; } 306 | 307 | .vjs-full-window .video-js.vjs-fullscreen { 308 | position: fixed; 309 | overflow: hidden; 310 | z-index: 1000; 311 | left: 0; 312 | top: 0; 313 | bottom: 0; 314 | right: 0; } 315 | 316 | .video-js.vjs-fullscreen { 317 | width: 100% !important; 318 | height: 100% !important; 319 | padding-top: 0 !important; } 320 | 321 | .video-js.vjs-fullscreen.vjs-user-inactive { 322 | cursor: none; } 323 | 324 | .vjs-hidden { 325 | display: none !important; } 326 | 327 | .vjs-disabled { 328 | opacity: 0.5; 329 | cursor: default; } 330 | 331 | .video-js .vjs-offscreen { 332 | height: 1px; 333 | left: -9999px; 334 | position: absolute; 335 | top: 0; 336 | width: 1px; } 337 | 338 | .vjs-lock-showing { 339 | display: block !important; 340 | opacity: 1; 341 | visibility: visible; } 342 | 343 | .vjs-no-js { 344 | padding: 20px; 345 | color: #fff; 346 | background-color: #000; 347 | font-size: 18px; 348 | font-family: Arial, Helvetica, sans-serif; 349 | text-align: center; 350 | width: 300px; 351 | height: 150px; 352 | margin: 0px auto; } 353 | 354 | .vjs-no-js a, 355 | .vjs-no-js a:visited { 356 | color: #66A8CC; } 357 | 358 | .video-js .vjs-big-play-button { 359 | font-size: 3em; 360 | line-height: 1.5em; 361 | height: 1.5em; 362 | width: 3em; 363 | display: block; 364 | position: absolute; 365 | top: 10px; 366 | left: 10px; 367 | padding: 0; 368 | cursor: pointer; 369 | opacity: 1; 370 | border: 0.06666em solid #fff; 371 | background-color: #2B333F; 372 | background-color: rgba(43, 51, 63, 0.7); 373 | -webkit-border-radius: 0.3em; 374 | -moz-border-radius: 0.3em; 375 | border-radius: 0.3em; 376 | -webkit-transition: all 0.4s; 377 | -moz-transition: all 0.4s; 378 | -o-transition: all 0.4s; 379 | transition: all 0.4s; } 380 | 381 | .vjs-big-play-centered .vjs-big-play-button { 382 | top: 50%; 383 | left: 50%; 384 | margin-top: -0.75em; 385 | margin-left: -1.5em; } 386 | 387 | .video-js:hover .vjs-big-play-button, 388 | .video-js .vjs-big-play-button:focus { 389 | outline: 0; 390 | border-color: #fff; 391 | background-color: #73859f; 392 | background-color: rgba(115, 133, 159, 0.5); 393 | -webkit-transition: all 0s; 394 | -moz-transition: all 0s; 395 | -o-transition: all 0s; 396 | transition: all 0s; } 397 | 398 | .vjs-controls-disabled .vjs-big-play-button, 399 | .vjs-has-started .vjs-big-play-button, 400 | .vjs-using-native-controls .vjs-big-play-button, 401 | .vjs-error .vjs-big-play-button { 402 | display: none; } 403 | 404 | .vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause .vjs-big-play-button { 405 | display: block; } 406 | 407 | .video-js button { 408 | background: none; 409 | border: none; 410 | color: inherit; 411 | display: inline-block; 412 | overflow: visible; 413 | font-size: inherit; 414 | line-height: inherit; 415 | text-transform: none; 416 | text-decoration: none; 417 | transition: none; 418 | -webkit-appearance: none; 419 | -moz-appearance: none; 420 | appearance: none; } 421 | 422 | .video-js .vjs-control.vjs-close-button { 423 | cursor: pointer; 424 | height: 3em; 425 | position: absolute; 426 | right: 0; 427 | top: 0.5em; 428 | z-index: 2; } 429 | 430 | .vjs-menu-button { 431 | cursor: pointer; } 432 | 433 | .vjs-menu-button.vjs-disabled { 434 | cursor: default; } 435 | 436 | .vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu { 437 | display: none; } 438 | 439 | .vjs-menu .vjs-menu-content { 440 | display: block; 441 | padding: 0; 442 | margin: 0; 443 | overflow: auto; 444 | font-family: Arial, Helvetica, sans-serif; } 445 | 446 | .vjs-scrubbing .vjs-menu-button:hover .vjs-menu { 447 | display: none; } 448 | 449 | .vjs-menu li { 450 | list-style: none; 451 | margin: 0; 452 | padding: 0.2em 0; 453 | line-height: 1.4em; 454 | font-size: 1.2em; 455 | text-align: center; 456 | text-transform: lowercase; } 457 | 458 | .vjs-menu li.vjs-menu-item:focus, 459 | .vjs-menu li.vjs-menu-item:hover { 460 | outline: 0; 461 | background-color: #73859f; 462 | background-color: rgba(115, 133, 159, 0.5); } 463 | 464 | .vjs-menu li.vjs-selected, 465 | .vjs-menu li.vjs-selected:focus, 466 | .vjs-menu li.vjs-selected:hover { 467 | background-color: #fff; 468 | color: #2B333F; } 469 | 470 | .vjs-menu li.vjs-menu-title { 471 | text-align: center; 472 | text-transform: uppercase; 473 | font-size: 1em; 474 | line-height: 2em; 475 | padding: 0; 476 | margin: 0 0 0.3em 0; 477 | font-weight: bold; 478 | cursor: default; } 479 | 480 | .vjs-menu-button-popup .vjs-menu { 481 | display: none; 482 | position: absolute; 483 | bottom: 0; 484 | width: 10em; 485 | left: -3em; 486 | height: 0em; 487 | margin-bottom: 1.5em; 488 | border-top-color: rgba(43, 51, 63, 0.7); } 489 | 490 | .vjs-menu-button-popup .vjs-menu .vjs-menu-content { 491 | background-color: #2B333F; 492 | background-color: rgba(43, 51, 63, 0.7); 493 | position: absolute; 494 | width: 100%; 495 | bottom: 1.5em; 496 | max-height: 15em; } 497 | 498 | .vjs-workinghover .vjs-menu-button-popup:hover .vjs-menu, 499 | .vjs-menu-button-popup .vjs-menu.vjs-lock-showing { 500 | display: block; } 501 | 502 | .video-js .vjs-menu-button-inline { 503 | -webkit-transition: all 0.4s; 504 | -moz-transition: all 0.4s; 505 | -o-transition: all 0.4s; 506 | transition: all 0.4s; 507 | overflow: hidden; } 508 | 509 | .video-js .vjs-menu-button-inline:before { 510 | width: 2.222222222em; } 511 | 512 | .video-js .vjs-menu-button-inline:hover, 513 | .video-js .vjs-menu-button-inline:focus, 514 | .video-js .vjs-menu-button-inline.vjs-slider-active, 515 | .video-js.vjs-no-flex .vjs-menu-button-inline { 516 | width: 12em; } 517 | 518 | .video-js .vjs-menu-button-inline.vjs-slider-active { 519 | -webkit-transition: none; 520 | -moz-transition: none; 521 | -o-transition: none; 522 | transition: none; } 523 | 524 | .vjs-menu-button-inline .vjs-menu { 525 | opacity: 0; 526 | height: 100%; 527 | width: auto; 528 | position: absolute; 529 | left: 4em; 530 | top: 0; 531 | padding: 0; 532 | margin: 0; 533 | -webkit-transition: all 0.4s; 534 | -moz-transition: all 0.4s; 535 | -o-transition: all 0.4s; 536 | transition: all 0.4s; } 537 | 538 | .vjs-menu-button-inline:hover .vjs-menu, 539 | .vjs-menu-button-inline:focus .vjs-menu, 540 | .vjs-menu-button-inline.vjs-slider-active .vjs-menu { 541 | display: block; 542 | opacity: 1; } 543 | 544 | .vjs-no-flex .vjs-menu-button-inline .vjs-menu { 545 | display: block; 546 | opacity: 1; 547 | position: relative; 548 | width: auto; } 549 | 550 | .vjs-no-flex .vjs-menu-button-inline:hover .vjs-menu, 551 | .vjs-no-flex .vjs-menu-button-inline:focus .vjs-menu, 552 | .vjs-no-flex .vjs-menu-button-inline.vjs-slider-active .vjs-menu { 553 | width: auto; } 554 | 555 | .vjs-menu-button-inline .vjs-menu-content { 556 | width: auto; 557 | height: 100%; 558 | margin: 0; 559 | overflow: hidden; } 560 | 561 | .video-js .vjs-control-bar { 562 | display: none; 563 | width: 100%; 564 | position: absolute; 565 | bottom: 0; 566 | left: 0; 567 | right: 0; 568 | height: 3.0em; 569 | background-color: #2B333F; 570 | background-color: rgba(43, 51, 63, 0.7); } 571 | 572 | .vjs-has-started .vjs-control-bar { 573 | display: -webkit-box; 574 | display: -webkit-flex; 575 | display: -ms-flexbox; 576 | display: flex; 577 | visibility: visible; 578 | opacity: 1; 579 | -webkit-transition: visibility 0.1s, opacity 0.1s; 580 | -moz-transition: visibility 0.1s, opacity 0.1s; 581 | -o-transition: visibility 0.1s, opacity 0.1s; 582 | transition: visibility 0.1s, opacity 0.1s; } 583 | 584 | .vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar { 585 | visibility: visible; 586 | opacity: 0; 587 | -webkit-transition: visibility 1s, opacity 1s; 588 | -moz-transition: visibility 1s, opacity 1s; 589 | -o-transition: visibility 1s, opacity 1s; 590 | transition: visibility 1s, opacity 1s; } 591 | 592 | .vjs-controls-disabled .vjs-control-bar, 593 | .vjs-using-native-controls .vjs-control-bar, 594 | .vjs-error .vjs-control-bar { 595 | display: none !important; } 596 | 597 | .vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar { 598 | opacity: 1; 599 | visibility: visible; } 600 | 601 | .vjs-has-started.vjs-no-flex .vjs-control-bar { 602 | display: table; } 603 | 604 | .video-js .vjs-control { 605 | outline: none; 606 | position: relative; 607 | text-align: center; 608 | margin: 0; 609 | padding: 0; 610 | height: 100%; 611 | width: 4em; 612 | -webkit-box-flex: none; 613 | -moz-box-flex: none; 614 | -webkit-flex: none; 615 | -ms-flex: none; 616 | flex: none; } 617 | .video-js .vjs-control:before { 618 | font-size: 1.8em; 619 | line-height: 1.67; } 620 | 621 | .video-js .vjs-control:focus:before, 622 | .video-js .vjs-control:hover:before, 623 | .video-js .vjs-control:focus { 624 | text-shadow: 0em 0em 1em white; } 625 | 626 | .video-js .vjs-control-text { 627 | border: 0; 628 | clip: rect(0 0 0 0); 629 | height: 1px; 630 | margin: -1px; 631 | overflow: hidden; 632 | padding: 0; 633 | position: absolute; 634 | width: 1px; } 635 | 636 | .vjs-no-flex .vjs-control { 637 | display: table-cell; 638 | vertical-align: middle; } 639 | 640 | .video-js .vjs-custom-control-spacer { 641 | display: none; } 642 | 643 | .video-js .vjs-progress-control { 644 | -webkit-box-flex: auto; 645 | -moz-box-flex: auto; 646 | -webkit-flex: auto; 647 | -ms-flex: auto; 648 | flex: auto; 649 | display: -webkit-box; 650 | display: -webkit-flex; 651 | display: -ms-flexbox; 652 | display: flex; 653 | -webkit-box-align: center; 654 | -webkit-align-items: center; 655 | -ms-flex-align: center; 656 | align-items: center; 657 | min-width: 4em; } 658 | 659 | .vjs-live .vjs-progress-control { 660 | display: none; } 661 | 662 | .video-js .vjs-progress-holder { 663 | -webkit-box-flex: auto; 664 | -moz-box-flex: auto; 665 | -webkit-flex: auto; 666 | -ms-flex: auto; 667 | flex: auto; 668 | -webkit-transition: all 0.2s; 669 | -moz-transition: all 0.2s; 670 | -o-transition: all 0.2s; 671 | transition: all 0.2s; 672 | height: 0.3em; } 673 | 674 | .video-js .vjs-progress-control:hover .vjs-progress-holder { 675 | font-size: 1.666666666666666666em; } 676 | 677 | /* If we let the font size grow as much as everything else, the current time tooltip ends up 678 | ginormous. If you'd like to enable the current time tooltip all the time, this should be disabled 679 | to avoid a weird hitch when you roll off the hover. */ 680 | .video-js .vjs-progress-control:hover .vjs-time-tooltip, 681 | .video-js .vjs-progress-control:hover .vjs-mouse-display:after, 682 | .video-js .vjs-progress-control:hover .vjs-play-progress:after { 683 | font-family: Arial, Helvetica, sans-serif; 684 | visibility: visible; 685 | font-size: 0.6em; } 686 | 687 | .video-js .vjs-progress-holder .vjs-play-progress, 688 | .video-js .vjs-progress-holder .vjs-load-progress, 689 | .video-js .vjs-progress-holder .vjs-tooltip-progress-bar, 690 | .video-js .vjs-progress-holder .vjs-load-progress div { 691 | position: absolute; 692 | display: block; 693 | height: 0.3em; 694 | margin: 0; 695 | padding: 0; 696 | width: 0; 697 | left: 0; 698 | top: 0; } 699 | 700 | .video-js .vjs-mouse-display:before { 701 | display: none; } 702 | 703 | .video-js .vjs-play-progress { 704 | background-color: #fff; } 705 | .video-js .vjs-play-progress:before { 706 | position: absolute; 707 | top: -0.333333333333333em; 708 | right: -0.5em; 709 | font-size: 0.9em; } 710 | 711 | .video-js .vjs-time-tooltip, 712 | .video-js .vjs-mouse-display:after, 713 | .video-js .vjs-play-progress:after { 714 | visibility: hidden; 715 | pointer-events: none; 716 | position: absolute; 717 | top: -3.4em; 718 | right: -1.9em; 719 | font-size: 0.9em; 720 | color: #000; 721 | content: attr(data-current-time); 722 | padding: 6px 8px 8px 8px; 723 | background-color: #fff; 724 | background-color: rgba(255, 255, 255, 0.8); 725 | -webkit-border-radius: 0.3em; 726 | -moz-border-radius: 0.3em; 727 | border-radius: 0.3em; } 728 | 729 | .video-js .vjs-time-tooltip, 730 | .video-js .vjs-play-progress:before, 731 | .video-js .vjs-play-progress:after { 732 | z-index: 1; } 733 | 734 | .video-js .vjs-progress-control .vjs-keep-tooltips-inside:after { 735 | display: none; } 736 | 737 | .video-js .vjs-load-progress { 738 | background: #bfc7d3; 739 | background: rgba(115, 133, 159, 0.5); } 740 | 741 | .video-js .vjs-load-progress div { 742 | background: white; 743 | background: rgba(115, 133, 159, 0.75); } 744 | 745 | .video-js.vjs-no-flex .vjs-progress-control { 746 | width: auto; } 747 | 748 | .video-js .vjs-time-tooltip { 749 | display: inline-block; 750 | height: 2.4em; 751 | position: relative; 752 | float: right; 753 | right: -1.9em; } 754 | 755 | .vjs-tooltip-progress-bar { 756 | visibility: hidden; } 757 | 758 | .video-js .vjs-progress-control .vjs-mouse-display { 759 | display: none; 760 | position: absolute; 761 | width: 1px; 762 | height: 100%; 763 | background-color: #000; 764 | z-index: 1; } 765 | 766 | .vjs-no-flex .vjs-progress-control .vjs-mouse-display { 767 | z-index: 0; } 768 | 769 | .video-js .vjs-progress-control:hover .vjs-mouse-display { 770 | display: block; } 771 | 772 | .video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display, 773 | .video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display:after { 774 | visibility: hidden; 775 | opacity: 0; 776 | -webkit-transition: visibility 1s, opacity 1s; 777 | -moz-transition: visibility 1s, opacity 1s; 778 | -o-transition: visibility 1s, opacity 1s; 779 | transition: visibility 1s, opacity 1s; } 780 | 781 | .video-js.vjs-user-inactive.vjs-no-flex .vjs-progress-control .vjs-mouse-display, 782 | .video-js.vjs-user-inactive.vjs-no-flex .vjs-progress-control .vjs-mouse-display:after { 783 | display: none; } 784 | 785 | .vjs-mouse-display .vjs-time-tooltip, 786 | .video-js .vjs-progress-control .vjs-mouse-display:after { 787 | color: #fff; 788 | background-color: #000; 789 | background-color: rgba(0, 0, 0, 0.8); } 790 | 791 | .video-js .vjs-slider { 792 | outline: 0; 793 | position: relative; 794 | cursor: pointer; 795 | padding: 0; 796 | margin: 0 0.45em 0 0.45em; 797 | background-color: #73859f; 798 | background-color: rgba(115, 133, 159, 0.5); } 799 | 800 | .video-js .vjs-slider:focus { 801 | text-shadow: 0em 0em 1em white; 802 | -webkit-box-shadow: 0 0 1em #fff; 803 | -moz-box-shadow: 0 0 1em #fff; 804 | box-shadow: 0 0 1em #fff; } 805 | 806 | .video-js .vjs-mute-control, 807 | .video-js .vjs-volume-menu-button { 808 | cursor: pointer; 809 | -webkit-box-flex: none; 810 | -moz-box-flex: none; 811 | -webkit-flex: none; 812 | -ms-flex: none; 813 | flex: none; } 814 | 815 | .video-js .vjs-volume-control { 816 | width: 5em; 817 | -webkit-box-flex: none; 818 | -moz-box-flex: none; 819 | -webkit-flex: none; 820 | -ms-flex: none; 821 | flex: none; 822 | display: -webkit-box; 823 | display: -webkit-flex; 824 | display: -ms-flexbox; 825 | display: flex; 826 | -webkit-box-align: center; 827 | -webkit-align-items: center; 828 | -ms-flex-align: center; 829 | align-items: center; } 830 | 831 | .video-js .vjs-volume-bar { 832 | margin: 1.35em 0.45em; } 833 | 834 | .vjs-volume-bar.vjs-slider-horizontal { 835 | width: 5em; 836 | height: 0.3em; } 837 | 838 | .vjs-volume-bar.vjs-slider-vertical { 839 | width: 0.3em; 840 | height: 5em; 841 | margin: 1.35em auto; } 842 | 843 | .video-js .vjs-volume-level { 844 | position: absolute; 845 | bottom: 0; 846 | left: 0; 847 | background-color: #fff; } 848 | .video-js .vjs-volume-level:before { 849 | position: absolute; 850 | font-size: 0.9em; } 851 | 852 | .vjs-slider-vertical .vjs-volume-level { 853 | width: 0.3em; } 854 | .vjs-slider-vertical .vjs-volume-level:before { 855 | top: -0.5em; 856 | left: -0.3em; } 857 | 858 | .vjs-slider-horizontal .vjs-volume-level { 859 | height: 0.3em; } 860 | .vjs-slider-horizontal .vjs-volume-level:before { 861 | top: -0.3em; 862 | right: -0.5em; } 863 | 864 | .vjs-volume-bar.vjs-slider-vertical .vjs-volume-level { 865 | height: 100%; } 866 | 867 | .vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level { 868 | width: 100%; } 869 | 870 | .vjs-menu-button-popup.vjs-volume-menu-button .vjs-menu { 871 | display: block; 872 | width: 0; 873 | height: 0; 874 | border-top-color: transparent; } 875 | 876 | .vjs-menu-button-popup.vjs-volume-menu-button-vertical .vjs-menu { 877 | left: 0.5em; 878 | height: 8em; } 879 | 880 | .vjs-menu-button-popup.vjs-volume-menu-button-horizontal .vjs-menu { 881 | left: -2em; } 882 | 883 | .vjs-menu-button-popup.vjs-volume-menu-button .vjs-menu-content { 884 | height: 0; 885 | width: 0; 886 | overflow-x: hidden; 887 | overflow-y: hidden; } 888 | 889 | .vjs-volume-menu-button-vertical:hover .vjs-menu-content, 890 | .vjs-volume-menu-button-vertical:focus .vjs-menu-content, 891 | .vjs-volume-menu-button-vertical.vjs-slider-active .vjs-menu-content, 892 | .vjs-volume-menu-button-vertical .vjs-lock-showing .vjs-menu-content { 893 | height: 8em; 894 | width: 2.9em; } 895 | 896 | .vjs-volume-menu-button-horizontal:hover .vjs-menu-content, 897 | .vjs-volume-menu-button-horizontal:focus .vjs-menu-content, 898 | .vjs-volume-menu-button-horizontal .vjs-slider-active .vjs-menu-content, 899 | .vjs-volume-menu-button-horizontal .vjs-lock-showing .vjs-menu-content { 900 | height: 2.9em; 901 | width: 8em; } 902 | 903 | .vjs-volume-menu-button.vjs-menu-button-inline .vjs-menu-content { 904 | background-color: transparent !important; } 905 | 906 | .vjs-poster { 907 | display: inline-block; 908 | vertical-align: middle; 909 | background-repeat: no-repeat; 910 | background-position: 50% 50%; 911 | background-size: contain; 912 | background-color: #000000; 913 | cursor: pointer; 914 | margin: 0; 915 | padding: 0; 916 | position: absolute; 917 | top: 0; 918 | right: 0; 919 | bottom: 0; 920 | left: 0; 921 | height: 100%; } 922 | 923 | .vjs-poster img { 924 | display: block; 925 | vertical-align: middle; 926 | margin: 0 auto; 927 | max-height: 100%; 928 | padding: 0; 929 | width: 100%; } 930 | 931 | .vjs-has-started .vjs-poster { 932 | display: none; } 933 | 934 | .vjs-audio.vjs-has-started .vjs-poster { 935 | display: block; } 936 | 937 | .vjs-using-native-controls .vjs-poster { 938 | display: none; } 939 | 940 | .video-js .vjs-live-control { 941 | display: -webkit-box; 942 | display: -webkit-flex; 943 | display: -ms-flexbox; 944 | display: flex; 945 | -webkit-box-align: flex-start; 946 | -webkit-align-items: flex-start; 947 | -ms-flex-align: flex-start; 948 | align-items: flex-start; 949 | -webkit-box-flex: auto; 950 | -moz-box-flex: auto; 951 | -webkit-flex: auto; 952 | -ms-flex: auto; 953 | flex: auto; 954 | font-size: 1em; 955 | line-height: 3em; } 956 | 957 | .vjs-no-flex .vjs-live-control { 958 | display: table-cell; 959 | width: auto; 960 | text-align: left; } 961 | 962 | .video-js .vjs-time-control { 963 | -webkit-box-flex: none; 964 | -moz-box-flex: none; 965 | -webkit-flex: none; 966 | -ms-flex: none; 967 | flex: none; 968 | font-size: 1em; 969 | line-height: 3em; 970 | min-width: 2em; 971 | width: auto; 972 | padding-left: 1em; 973 | padding-right: 1em; } 974 | 975 | .vjs-live .vjs-time-control { 976 | display: none; } 977 | 978 | .video-js .vjs-current-time, 979 | .vjs-no-flex .vjs-current-time { 980 | display: none; } 981 | 982 | .video-js .vjs-duration, 983 | .vjs-no-flex .vjs-duration { 984 | display: none; } 985 | 986 | .vjs-time-divider { 987 | display: none; 988 | line-height: 3em; } 989 | 990 | .vjs-live .vjs-time-divider { 991 | display: none; } 992 | 993 | .video-js .vjs-play-control { 994 | cursor: pointer; 995 | -webkit-box-flex: none; 996 | -moz-box-flex: none; 997 | -webkit-flex: none; 998 | -ms-flex: none; 999 | flex: none; } 1000 | 1001 | .vjs-text-track-display { 1002 | position: absolute; 1003 | bottom: 3em; 1004 | left: 0; 1005 | right: 0; 1006 | top: 0; 1007 | pointer-events: none; } 1008 | 1009 | .video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display { 1010 | bottom: 1em; } 1011 | 1012 | .video-js .vjs-text-track { 1013 | font-size: 1.4em; 1014 | text-align: center; 1015 | margin-bottom: 0.1em; 1016 | background-color: #000; 1017 | background-color: rgba(0, 0, 0, 0.5); } 1018 | 1019 | .vjs-subtitles { 1020 | color: #fff; } 1021 | 1022 | .vjs-captions { 1023 | color: #fc6; } 1024 | 1025 | .vjs-tt-cue { 1026 | display: block; } 1027 | 1028 | video::-webkit-media-text-track-display { 1029 | -moz-transform: translateY(-3em); 1030 | -ms-transform: translateY(-3em); 1031 | -o-transform: translateY(-3em); 1032 | -webkit-transform: translateY(-3em); 1033 | transform: translateY(-3em); } 1034 | 1035 | .video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display { 1036 | -moz-transform: translateY(-1.5em); 1037 | -ms-transform: translateY(-1.5em); 1038 | -o-transform: translateY(-1.5em); 1039 | -webkit-transform: translateY(-1.5em); 1040 | transform: translateY(-1.5em); } 1041 | 1042 | .video-js .vjs-fullscreen-control { 1043 | cursor: pointer; 1044 | -webkit-box-flex: none; 1045 | -moz-box-flex: none; 1046 | -webkit-flex: none; 1047 | -ms-flex: none; 1048 | flex: none; } 1049 | 1050 | .vjs-playback-rate .vjs-playback-rate-value { 1051 | font-size: 1.5em; 1052 | line-height: 2; 1053 | position: absolute; 1054 | top: 0; 1055 | left: 0; 1056 | width: 100%; 1057 | height: 100%; 1058 | text-align: center; } 1059 | 1060 | .vjs-playback-rate .vjs-menu { 1061 | width: 4em; 1062 | left: 0em; } 1063 | 1064 | .vjs-error .vjs-error-display .vjs-modal-dialog-content { 1065 | font-size: 1.4em; 1066 | text-align: center; } 1067 | 1068 | .vjs-error .vjs-error-display:before { 1069 | color: #fff; 1070 | content: 'X'; 1071 | font-family: Arial, Helvetica, sans-serif; 1072 | font-size: 4em; 1073 | left: 0; 1074 | line-height: 1; 1075 | margin-top: -0.5em; 1076 | position: absolute; 1077 | text-shadow: 0.05em 0.05em 0.1em #000; 1078 | text-align: center; 1079 | top: 50%; 1080 | vertical-align: middle; 1081 | width: 100%; } 1082 | 1083 | .vjs-loading-spinner { 1084 | display: none; 1085 | position: absolute; 1086 | top: 50%; 1087 | left: 50%; 1088 | margin: -25px 0 0 -25px; 1089 | opacity: 0.85; 1090 | text-align: left; 1091 | border: 6px solid rgba(43, 51, 63, 0.7); 1092 | box-sizing: border-box; 1093 | background-clip: padding-box; 1094 | width: 50px; 1095 | height: 50px; 1096 | border-radius: 25px; } 1097 | 1098 | .vjs-seeking .vjs-loading-spinner, 1099 | .vjs-waiting .vjs-loading-spinner { 1100 | display: block; } 1101 | 1102 | .vjs-loading-spinner:before, 1103 | .vjs-loading-spinner:after { 1104 | content: ""; 1105 | position: absolute; 1106 | margin: -6px; 1107 | box-sizing: inherit; 1108 | width: inherit; 1109 | height: inherit; 1110 | border-radius: inherit; 1111 | opacity: 1; 1112 | border: inherit; 1113 | border-color: transparent; 1114 | border-top-color: white; } 1115 | 1116 | .vjs-seeking .vjs-loading-spinner:before, 1117 | .vjs-seeking .vjs-loading-spinner:after, 1118 | .vjs-waiting .vjs-loading-spinner:before, 1119 | .vjs-waiting .vjs-loading-spinner:after { 1120 | -webkit-animation: vjs-spinner-spin 1.1s cubic-bezier(0.6, 0.2, 0, 0.8) infinite, vjs-spinner-fade 1.1s linear infinite; 1121 | animation: vjs-spinner-spin 1.1s cubic-bezier(0.6, 0.2, 0, 0.8) infinite, vjs-spinner-fade 1.1s linear infinite; } 1122 | 1123 | .vjs-seeking .vjs-loading-spinner:before, 1124 | .vjs-waiting .vjs-loading-spinner:before { 1125 | border-top-color: white; } 1126 | 1127 | .vjs-seeking .vjs-loading-spinner:after, 1128 | .vjs-waiting .vjs-loading-spinner:after { 1129 | border-top-color: white; 1130 | -webkit-animation-delay: 0.44s; 1131 | animation-delay: 0.44s; } 1132 | 1133 | @keyframes vjs-spinner-spin { 1134 | 100% { 1135 | transform: rotate(360deg); } } 1136 | 1137 | @-webkit-keyframes vjs-spinner-spin { 1138 | 100% { 1139 | -webkit-transform: rotate(360deg); } } 1140 | 1141 | @keyframes vjs-spinner-fade { 1142 | 0% { 1143 | border-top-color: #73859f; } 1144 | 20% { 1145 | border-top-color: #73859f; } 1146 | 35% { 1147 | border-top-color: white; } 1148 | 60% { 1149 | border-top-color: #73859f; } 1150 | 100% { 1151 | border-top-color: #73859f; } } 1152 | 1153 | @-webkit-keyframes vjs-spinner-fade { 1154 | 0% { 1155 | border-top-color: #73859f; } 1156 | 20% { 1157 | border-top-color: #73859f; } 1158 | 35% { 1159 | border-top-color: white; } 1160 | 60% { 1161 | border-top-color: #73859f; } 1162 | 100% { 1163 | border-top-color: #73859f; } } 1164 | 1165 | .vjs-chapters-button .vjs-menu ul { 1166 | width: 24em; } 1167 | 1168 | .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-custom-control-spacer { 1169 | -webkit-box-flex: auto; 1170 | -moz-box-flex: auto; 1171 | -webkit-flex: auto; 1172 | -ms-flex: auto; 1173 | flex: auto; } 1174 | 1175 | .video-js.vjs-layout-tiny:not(.vjs-fullscreen).vjs-no-flex .vjs-custom-control-spacer { 1176 | width: auto; } 1177 | 1178 | .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-current-time, .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-time-divider, .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-duration, .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-remaining-time, 1179 | .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-playback-rate, .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-progress-control, 1180 | .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-mute-control, .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-volume-control, .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-volume-menu-button, 1181 | .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-chapters-button, .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-descriptions-button, .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-captions-button, 1182 | .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-subtitles-button, .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-audio-button { 1183 | display: none; } 1184 | 1185 | .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-current-time, .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-time-divider, .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-duration, .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-remaining-time, 1186 | .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-playback-rate, 1187 | .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-mute-control, .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-volume-control, .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-volume-menu-button, 1188 | .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-chapters-button, .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-descriptions-button, .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-captions-button, 1189 | .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-subtitles-button, .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-audio-button { 1190 | display: none; } 1191 | 1192 | .video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-current-time, .video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-time-divider, .video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-duration, .video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-remaining-time, 1193 | .video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-playback-rate, 1194 | .video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-mute-control, .video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-volume-control, 1195 | .video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-chapters-button, .video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-descriptions-button, .video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-captions-button, 1196 | .video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-subtitles-button .vjs-audio-button { 1197 | display: none; } 1198 | 1199 | .vjs-caption-settings { 1200 | position: relative; 1201 | top: 1em; 1202 | background-color: #2B333F; 1203 | background-color: rgba(43, 51, 63, 0.75); 1204 | color: #fff; 1205 | margin: 0 auto; 1206 | padding: 0.5em; 1207 | height: 16em; 1208 | font-size: 12px; 1209 | width: 40em; } 1210 | 1211 | .vjs-caption-settings .vjs-tracksettings { 1212 | top: 0; 1213 | bottom: 1em; 1214 | left: 0; 1215 | right: 0; 1216 | position: absolute; 1217 | overflow: auto; } 1218 | 1219 | .vjs-caption-settings .vjs-tracksettings-colors, 1220 | .vjs-caption-settings .vjs-tracksettings-font { 1221 | float: left; } 1222 | 1223 | .vjs-caption-settings .vjs-tracksettings-colors:after, 1224 | .vjs-caption-settings .vjs-tracksettings-font:after, 1225 | .vjs-caption-settings .vjs-tracksettings-controls:after { 1226 | clear: both; } 1227 | 1228 | .vjs-caption-settings .vjs-tracksettings-controls { 1229 | position: absolute; 1230 | bottom: 1em; 1231 | right: 1em; } 1232 | 1233 | .vjs-caption-settings .vjs-tracksetting { 1234 | margin: 5px; 1235 | padding: 3px; 1236 | min-height: 40px; 1237 | border: none; } 1238 | 1239 | .vjs-caption-settings .vjs-tracksetting label, 1240 | .vjs-caption-settings .vjs-tracksetting legend { 1241 | display: block; 1242 | width: 100px; 1243 | margin-bottom: 5px; } 1244 | 1245 | .vjs-caption-settings .vjs-tracksetting span { 1246 | display: inline; 1247 | margin-left: 5px; 1248 | vertical-align: top; 1249 | float: right; } 1250 | 1251 | .vjs-caption-settings .vjs-tracksetting > div { 1252 | margin-bottom: 5px; 1253 | min-height: 20px; } 1254 | 1255 | .vjs-caption-settings .vjs-tracksetting > div:last-child { 1256 | margin-bottom: 0; 1257 | padding-bottom: 0; 1258 | min-height: 0; } 1259 | 1260 | .vjs-caption-settings label > input { 1261 | margin-right: 10px; } 1262 | 1263 | .vjs-caption-settings fieldset { 1264 | margin-top: 1em; 1265 | margin-left: .5em; } 1266 | 1267 | .vjs-caption-settings fieldset .vjs-label { 1268 | position: absolute; 1269 | clip: rect(1px 1px 1px 1px); 1270 | /* for Internet Explorer */ 1271 | clip: rect(1px, 1px, 1px, 1px); 1272 | padding: 0; 1273 | border: 0; 1274 | height: 1px; 1275 | width: 1px; 1276 | overflow: hidden; } 1277 | 1278 | .vjs-caption-settings input[type="button"] { 1279 | width: 40px; 1280 | height: 40px; } 1281 | 1282 | .video-js .vjs-modal-dialog { 1283 | background: rgba(0, 0, 0, 0.8); 1284 | background: -webkit-linear-gradient(-90deg, rgba(0, 0, 0, 0.8), rgba(255, 255, 255, 0)); 1285 | background: linear-gradient(180deg, rgba(0, 0, 0, 0.8), rgba(255, 255, 255, 0)); } 1286 | 1287 | .vjs-modal-dialog .vjs-modal-dialog-content { 1288 | font-size: 1.2em; 1289 | line-height: 1.5; 1290 | padding: 20px 24px; 1291 | z-index: 1; } 1292 | 1293 | @media print { 1294 | .video-js > *:not(.vjs-tech):not(.vjs-poster) { 1295 | visibility: hidden; } } 1296 | 1297 | @media \0screen { 1298 | .vjs-user-inactive.vjs-playing .vjs-control-bar :before { 1299 | content: ""; 1300 | } 1301 | } 1302 | 1303 | @media \0screen { 1304 | .vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar { 1305 | visibility: hidden; 1306 | } 1307 | } 1308 | --------------------------------------------------------------------------------