From 0c9b7370decc9dd2cb9bf589f0e0dd75ae4825b1 Mon Sep 17 00:00:00 2001 From: Hitko Development Date: Thu, 15 Dec 2016 19:35:31 +0100 Subject: [PATCH] Version 6.0.0-rc13 --- dist/videobox.bundle.js | 6 ++-- dist/videobox.bundle.map | 2 +- dist/videobox.css.map | 2 +- dist/videobox.js.map | 2 +- dist/videobox.min.css | 2 +- dist/videobox.min.js | 2 +- docs/assets/js/main.js | 10 +++--- docs/assets/js/search.js | 2 +- docs/classes/vbinline.html | 12 +++---- docs/classes/vbslider.html | 12 +++---- docs/classes/videobox.html | 12 +++---- docs/globals.html | 12 +++---- docs/index.html | 12 +++---- docs/interfaces/jquery.html | 12 +++---- docs/interfaces/jquerystatic.html | 12 +++---- docs/interfaces/vboptions.html | 52 ++++++++++++++++++++++++---- docs/interfaces/vborigin.html | 22 ++++++------ docs/interfaces/vbslideroptions.html | 12 +++---- docs/interfaces/vbvideo.html | 20 +++++------ gulpfile.js | 6 ++-- package.json | 6 ++-- src/ts/components/box.ts | 29 ++++++++++------ src/ts/components/helpers.ts | 10 ++++++ src/ts/components/inline.ts | 7 +++- 24 files changed, 169 insertions(+), 107 deletions(-) diff --git a/dist/videobox.bundle.js b/dist/videobox.bundle.js index e99e8e7..17b42e8 100644 --- a/dist/videobox.bundle.js +++ b/dist/videobox.bundle.js @@ -16,7 +16,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see */ -function create(t,e,i){return t=document.createElement(t),e&&(t.id=e),i&&(t.onclick=i),t}function createClass(t,e,i){return t=document.createElement(t),e&&(t.className=e),i&&(t.onclick=i),t}function iterableToArray(t){for(var e=[],i=0;ie&&(e=Math.max(0,n+e)),(null==i||i>n)&&(i=n),i=Number(i),0>i&&(i=Math.max(0,n+i)),e=Number(e||0);et||1i||1=r){var o=0;return 0i?o=(n-1)/(i-1):1==i&&1>t&&(o=(e-1)/(t-1)),1+o*(r-1);for(var o=0,s=1;oMath.abs(r-l))break;l=Math.min(i.delay+t,n)?w:T}var c=["backwards","forwards","both","none"],h=["reverse","alternate","alternate-reverse"],d=function(t){return t};i.prototype={_setMember:function(e,i){this["_"+e]=i,this._effect&&(this._effect._timingInput[e]=i,this._effect._timing=t.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=t.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(t){this._setMember("delay",t)},get delay(){return this._delay},set endDelay(t){this._setMember("endDelay",t)},get endDelay(){return this._endDelay},set fill(t){this._setMember("fill",t)},get fill(){return this._fill},set iterationStart(t){if((isNaN(t)||0>t)&&n())throw new TypeError("iterationStart must be a non-negative number, received: "+timing.iterationStart);this._setMember("iterationStart",t)},get iterationStart(){return this._iterationStart},set duration(t){if("auto"!=t&&(isNaN(t)||0>t)&&n())throw new TypeError("duration must be non-negative or auto, received: "+t);this._setMember("duration",t)},get duration(){return this._duration},set direction(t){this._setMember("direction",t)},get direction(){return this._direction},set easing(t){this._easingFunction=l(a(t)),this._setMember("easing",t)},get easing(){return this._easing},set iterations(t){if((isNaN(t)||0>t)&&n())throw new TypeError("iterations must be non-negative, received: "+t);this._setMember("iterations",t)},get iterations(){return this._iterations}};var p=1,f=.5,m=0,g={ease:o(.25,.1,.25,1),"ease-in":o(.42,0,1,1),"ease-out":o(0,0,.58,1),"ease-in-out":o(.42,0,.58,1),"step-start":s(1,p),"step-middle":s(1,f),"step-end":s(1,m)},b=null,v=/cubic-bezier\(\s*(-?\d+\.?\d*|-?\.\d+)\s*,\s*(-?\d+\.?\d*|-?\.\d+)\s*,\s*(-?\d+\.?\d*|-?\.\d+)\s*,\s*(-?\d+\.?\d*|-?\.\d+)\s*\)/,y=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,_=0,x=1,w=2,T=3;t.cloneTimingInput=function(t){if("number"==typeof t)return t;var e,i={};for(e in t)i[e]=t[e];return i},t.makeTiming=r,t.numericTimingToObject=function(t){return"number"==typeof t&&(t=isNaN(t)?{duration:0}:{duration:t}),t},t.normalizeTimingInput=function(e,i){return e=t.numericTimingToObject(e),r(e,i)},t.calculateActiveDuration=function(t){return Math.abs((0===t.duration||0===t.iterations?0:t.duration*t.iterations)/t.playbackRate)},t.calculateIterationProgress=function(t,e,i){var n=u(t,e,i);t:{var r=i.fill;switch(n){case x:t="backwards"==r||"both"==r?0:null;break t;case T:t=e-i.delay;break t;case w:t="forwards"==r||"both"==r?t:null;break t;case _:t=null;break t}t=void 0}return null===t?null:(e=i.duration,r=i.iterationStart,0===e?n!==x&&(r+=i.iterations):r+=t/e,e=r,r=e===1/0?i.iterationStart%1:e%1,0!==r||n!==w||0===i.iterations||0===t&&0!==i.duration||(r=1),t=r,r=n===w&&i.iterations===1/0?1/0:1===t?Math.floor(e)-1:Math.floor(e),e=n=i.direction,"normal"!==n&&"reverse"!==n&&("alternate-reverse"===n&&(r+=1),e="normal",r!==1/0&&0!==r%2&&(e="reverse")),i._easingFunction("normal"===e?t:1-t))},t.calculatePhase=u,t.normalizeEasing=a,t.parseEasingFunction=l}(e,null),function(t,e){function i(t){var e,i=[];for(e in t)if(!(e in["easing","offset","composite"])){var n=t[e];Array.isArray(n)||(n=[n]);for(var r,o=n.length,s=0;sa||1=t.offset}),e||s(),a}}(e,null),function(t){var e={};t.isDeprecated=function(t,i,n,r){r=r?"are":"is";var o=new Date;return i=new Date(i),i.setMonth(i.getMonth()+3),!(o=t.applyFrom&&ithis._surrogateStyle.length;)this._length--,Object.defineProperty(this,this._length,{configurable:!0,enumerable:!1,value:void 0})},_set:function(t,e){this._style[t]=e,this._isAnimatedProperty[t]=!0},_clear:function(t){this._style[t]=this._surrogateStyle[t],delete this._isAnimatedProperty[t]}};for(var a in o)n.prototype[a]=function(t,e){return function(){var i=this._surrogateStyle[t].apply(this._surrogateStyle,arguments);return e&&(this._isAnimatedProperty[arguments[0]]||this._style[t].apply(this._style,arguments),this._updateIndices()),i}}(a,a in s);for(var l in document.documentElement.style)l in e||l in o||!function(t){i(n.prototype,t,{get:function(){return this._surrogateStyle[t]},set:function(e){this._surrogateStyle[t]=e,this._updateIndices(),this._isAnimatedProperty[t]||(this._style[t]=e)}})}(l);t.apply=function(e,i,n){r(e),e.style._set(t.propertyName(i),n)},t.clear=function(e,i){e._webAnimationsPatchedStyle&&e.style._clear(t.propertyName(i))}}(k,null),function(t){window.Element.prototype.animate=function(e,i){var n="";return i&&i.id&&(n=i.id),t.timeline._play(t.KeyframeEffect(this,e,i,n))}}(k),function(t,e){function i(t,e,n){if("number"==typeof t&&"number"==typeof e)return t*(1-n)+e*n;if("boolean"==typeof t&&"boolean"==typeof e)return.5>n?t:e;if(t.length==e.length){for(var r=[],o=0;on;n++)for(var r=0;4>r;r++)for(var o=0;4>o;o++)i[n][r]+=e[n][o]*t[o][r];return i}return function(e,i,n,r,o){for(var s=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],a=0;4>a;a++)s[a][3]=o[a];for(a=0;3>a;a++)for(o=0;3>o;o++)s[3][a]+=e[o]*s[o][a];e=r[0],a=r[1],o=r[2],r=r[3];var l=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];for(l[0][0]=1-2*(a*a+o*o),l[0][1]=2*(e*a-o*r),l[0][2]=2*(e*o+a*r),l[1][0]=2*(e*a+o*r),l[1][1]=1-2*(e*e+o*o),l[1][2]=2*(a*o-e*r),l[2][0]=2*(e*o-a*r),l[2][1]=2*(a*o+e*r),l[2][2]=1-2*(e*e+a*a),s=t(s,l),r=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],n[2]&&(r[2][1]=n[2],s=t(s,r)),n[1]&&(r[2][1]=0,r[2][0]=n[0],s=t(s,r)),n[0]&&(r[2][0]=0,r[1][0]=n[0],s=t(s,r)),a=0;3>a;a++)for(o=0;3>o;o++)s[a][o]*=i[a];return 0==s[0][2]&&0==s[0][3]&&0==s[1][2]&&0==s[1][3]&&0==s[2][0]&&0==s[2][1]&&1==s[2][2]&&0==s[2][3]&&0==s[3][2]&&1==s[3][3]?[s[0][0],s[0][1],s[1][0],s[1][1],s[3][0],s[3][1]]:s[0].concat(s[1],s[2],s[3])}}(),t.composeMatrix=e,t.quat=function(e,i,n){var r=t.dot(e,i),r=Math.max(Math.min(r,1),-1),o=[];if(1===r)o=e;else for(var s=Math.acos(r),a=1*Math.sin(n*s)/Math.sqrt(1-r*r),l=0;4>l;l++)o.push(e[l]*(Math.cos(n*s)-r*a)+i[l]*a);return o}}(k,null),function(t,e,i){t.sequenceNumber=0;var n=function(t,e,i){this.target=t,this.currentTime=e,this.timelineTime=i,this.type="finish",this.cancelable=this.bubbles=!1,this.currentTarget=t,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()};e.Animation=function(e){this.id="",e&&e._id&&(this.id=e._id),this._sequenceNumber=t.sequenceNumber++,this._currentTime=0,this._startTime=null,this._paused=!1,this._playbackRate=1,this._finishedFlag=this._inTimeline=!0,this.onfinish=null,this._finishHandlers=[],this._effect=e,this._inEffect=this._effect._update(0),this._idle=!0,this._currentTimePending=!1},e.Animation.prototype={_ensureAlive:function(){0>this.playbackRate&&0===this.currentTime?this._inEffect=this._effect._update(-1):this._inEffect=this._effect._update(this.currentTime),this._inTimeline||!this._inEffect&&this._finishedFlag||(this._inTimeline=!0,e.timeline._animations.push(this))},_tickCurrentTime:function(t,e){t!=this._currentTime&&(this._currentTime=t,this._isFinished&&!e&&(this._currentTime=0=this._totalDuration||0>this._playbackRate&&0>=this._currentTime)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":this._paused?"paused":this._isFinished?"finished":"running"},_rewind:function(){if(0<=this._playbackRate)this._currentTime=0;else{if(!(this._totalDuration<1/0))throw new DOMException("Unable to rewind negative playback rate animation with infinite duration","InvalidStateError");this._currentTime=this._totalDuration}},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),this._startTime=null),this._idle=this._finishedFlag=!1,this._ensureAlive(),e.applyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this._idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=0a;a++)s.push(o[a].slice());for(a=0;3>a;a++)s[a][3]=0;if(0===t(s))return!1;var l;if(l=[],o[0][3]||o[1][3]||o[2][3]){l.push(o[0][3]),l.push(o[1][3]),l.push(o[2][3]),l.push(o[3][3]);for(var u=1/t(s),c=s[0][0],h=s[0][1],a=s[0][2],d=s[1][0],p=s[1][1],f=s[1][2],m=s[2][0],g=s[2][1],b=s[2][2],u=[[(p*b-f*g)*u,(a*g-h*b)*u,(h*f-a*p)*u,0],[(f*m-d*b)*u,(c*b-a*m)*u,(a*d-c*f)*u,0],[(d*g-p*m)*u,(m*h-c*g)*u,(c*p-h*d)*u,0]],c=[],h=0;3>h;h++){for(d=a=0;3>d;d++)a+=s[3][d]*u[d][h];c.push(a)}for(c.push(1),u.push(c),s=u,s=[[s[0][0],s[1][0],s[2][0],s[3][0]],[s[0][1],s[1][1],s[2][1],s[3][1]],[s[0][2],s[1][2],s[2][2],s[3][2]],[s[0][3],s[1][3],s[2][3],s[3][3]]],u=[],c=0;4>c;c++){for(a=h=0;4>a;a++)h+=l[a]*s[a][c];u.push(h)}l=u}else l=[0,0,0,1];if(s=o[3].slice(0,3),u=[],u.push(o[0].slice(0,3)),c=[],c.push(n(u[0])),u[0]=e(u[0]),h=[],u.push(o[1].slice(0,3)),h.push(i(u[0],u[1])),u[1]=r(u[1],u[0],1,-h[0]), -c.push(n(u[1])),u[1]=e(u[1]),h[0]/=c[1],u.push(o[2].slice(0,3)),h.push(i(u[0],u[2])),u[2]=r(u[2],u[0],1,-h[1]),h.push(i(u[1],u[2])),u[2]=r(u[2],u[1],1,-h[2]),c.push(n(u[2])),u[2]=e(u[2]),h[1]/=c[2],h[2]/=c[2],o=u[1],a=u[2],0>i(u[0],[o[1]*a[2]-o[2]*a[1],o[2]*a[0]-o[0]*a[2],o[0]*a[1]-o[1]*a[0]]))for(a=0;3>a;a++)c[a]*=-1,u[a][0]*=-1,u[a][1]*=-1,u[a][2]*=-1;var v,y;return o=u[0][0]+u[1][1]+u[2][2]+1,1e-4u[1][1]&&u[0][0]>u[2][2]?(v=2*Math.sqrt(1+u[0][0]-u[1][1]-u[2][2]),y=[.25*v,(u[0][1]+u[1][0])/v,(u[0][2]+u[2][0])/v,(u[2][1]-u[1][2])/v]):u[1][1]>u[2][2]?(v=2*Math.sqrt(1+u[1][1]-u[0][0]-u[2][2]),y=[(u[0][1]+u[1][0])/v,.25*v,(u[1][2]+u[2][1])/v,(u[0][2]-u[2][0])/v]):(v=2*Math.sqrt(1+u[2][2]-u[0][0]-u[1][1]),y=[(u[0][2]+u[2][0])/v,(u[1][2]+u[2][1])/v,.25*v,(u[1][0]-u[0][1])/v]),[s,c,h,y,l]}}();t.dot=i,t.makeMatrixDecomposition=function(t){return[s(0===t.length?[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]:t.map(o).reduce(n))]}}(k,null),function(t){function e(t,e){var i=t.exec(e);if(i)return i=t.ignoreCase?i[0].toLowerCase():i[0],[i,e.substr(i.length)]}function i(t,e){if(e=e.replace(/^\s*/,""),t=t(e))return[t[0],t[1].replace(/^\s*/,"")]}function n(t,e){for(var i=t,n=e;i&&n;)i>n?i%=n:n%=i;return t*e/(i+n)}function r(t,e,i,r,o){for(var s=[],a=[],l=[],u=n(r.length,o.length),c=0;c=i))break;return t=t(e.substr(0,n)),void 0==t?void 0:[t,e.substr(n)]},t.ignore=function(t){return function(e){return e=t(e),e&&(e[0]=void 0),e}},t.optional=function(t,e){return function(i){var n=t(i);return n?n:[e,i]}},t.consumeList=function(e,i){for(var n=[],r=0;r=i?t:1<=i?e:"visible"}]},["visibility"])}(k),function(t,e){function i(t){t=t.trim(),r.fillStyle="#000",r.fillStyle=t;var e=r.fillStyle;if(r.fillStyle="#fff",r.fillStyle=t,e==r.fillStyle)return r.fillRect(0,0,1,1),t=r.getImageData(0,0,1,1).data,r.clearRect(0,0,1,1),e=t[3]/255,[t[0]*e,t[1]*e,t[2]*e,e]}function n(e,i){return[e,i,function(e){if(e[3])for(var i=0;3>i;i++)e[i]=Math.round(Math.max(0,Math.min(255,e[i]/e[3])));return e[3]=t.numberToString(t.clamp(0,1,e[3])),"rgba("+e.join(",")+")"}]}e=document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),e.width=e.height=1;var r=e.getContext("2d");t.addPropertiesHandler(i,n,"background-color border-bottom-color border-left-color border-right-color border-top-color color outline-color text-decoration-color".split(" ")),t.consumeColor=t.consumeParenthesised.bind(null,i),t.mergeColors=n}(k,null),function(a,c){function h(a,b){if(b=b.trim().toLowerCase(),"0"==b&&0<="px".search(a))return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\(/g,"(");var c={};b=b.replace(a,function(t){return c[t]=null,"U"+t}),a="U("+a.source+")";for(var d=b.replace(/[-+]?(\d*\.)?\d+/g,"N").replace(new RegExp("N"+a,"g"),"D").replace(/\s[+-]\s/g,"O").replace(/\s/g,""),f=[/N\*(D)/g,/(N|D)[*\/]N/g,/(N|D)O\1/g,/\((N|D)\)/g],h=0;hr.indexOf(n)&&r.push(n);return t=r.map(function(e){return t[e]||0}),e=r.map(function(t){return e[t]||0}),[t,e,function(t){var e=t.map(function(e,n){return 1==t.length&&i&&(e=Math.max(e,0)),a.numberToString(e)+r[n]}).join(" + ");return 1t||900',this.bottom.appendChild(this.button),this.caption=create("strong","vbCaption"),this.bottom.appendChild(this.caption),this.closeText=this.button.querySelector("#vbCloseText"),window.addEventListener("resize",function(){n.isOpen&&n.activeVideo&&n.setPlayerSizePosition()}),t&&this.bind(t,e,i||this.linkMapper)};Videobox.prototype.bind=function(t,e,i){e=void 0===e?{}:e,i=void 0===i?this.linkMapper:i;var n=this;"string"==typeof t&&(t=iterableToArray(document.querySelectorAll(t))),t.forEach(function(t){t.vbListener&&t.removeEventListener("click",t.vbListener),t.vbiListener&&t.removeEventListener("click",t.vbiListener),t.vbListener=function(r){return r.preventDefault(),r.stopPropagation(),r=i(t),r.options=Object.assign({},e,r.options),n.open(r),!1},t.addEventListener("click",t.vbListener)})},Videobox.prototype.open=function(t){"VbInline"in window&&window.VbInline.close(),this.close(),t.options=Object.assign({},this.defaults,t.options),t.options.root||(t.options.root=document.body),this.setup(t);var e=t.origin.target,e=e.querySelector(e.getAttribute("data-target"))||e,i=this.wrap.getBoundingClientRect(),n=e.getBoundingClientRect();toggleClass(e,"vb_line_fix",!0),t.origin=Object.assign({},{x:n.left-i.left+e.clientWidth/2,y:n.top-i.top+e.clientHeight/2,width:e.clientWidth,height:e.clientHeight},t.origin),toggleClass(e,"vb_line_fix",!1),this.changeVideo(t)},Videobox.prototype.close=function(){return this.stop(),[this.wrap,this.bottomContainer,this.overlay].forEach(function(t){return toggleClass(t,"visible",!1)}),this.wrap.style.top="0px",this.wrap.style.left="0px",this.activeVideo=null,!1},Videobox.prototype.setPlayerSizePosition=function(){if(this.activeVideo){this.setPlayerPosition(this.activeVideo.options.root);var t=this.activeVideo.options.width,e=this.activeVideo.options.height;if(t+2*this.activeVideo.options.padding>this.wrap.clientWidth)var i=this.wrap.clientWidth-2*this.activeVideo.options.padding,e=e*i/t,t=i;return e+2*this.activeVideo.options.padding>this.wrap.clientHeight&&(e=this.wrap.clientHeight-2*this.activeVideo.options.padding),t=100*e/t,this.responsive.style.paddingBottom=t+"%",t}},Videobox.prototype.linkMapper=function(t){var e=JSON.parse(t.getAttribute("data-videobox"))||{};if(e.root){var i=e.root;"string"==typeof i&&(i=iterableToArray(document.querySelectorAll(i))),0n&&(e="l"==e?"r":"l",n=0-n);var r=(this.options.moveAll?this.visible:1)*n,r=r%(this.visible+this.detachedElements.length);if("l"==e)for(n=0;nthis.timeout?this.move():this.moving=!1},VbSlider.prototype.setCount=function(){var t=this.visible,e=this.target.clientWidth,i=this.attached,i=this.basis+i[0].offsetWidth-i[0].clientWidth,n=Math.floor(e/this.basis);1>n?n=1:i/(e/(n+1))<2-i/(e/n)&&n++,n!=t&&(this.visible=n,this.setAttached()),this.content.style.height=this.target.clientHeight+"px";var r=0; -this.options.target&&(r=(this.target.querySelector(this.options.target)||{offsetHeight:0}).offsetHeight/2),this.buttons.forEach(function(t){return t.style.top=r?r+"px":""})},VbSlider.prototype.setAttached=function(){var t=this.attached;if(t.lengththis.visible)for(var e=t.length-1;e>=this.visible;e--)this.detachedElements.unshift(t[e]),detach([t[e]])},$jscomp.global.Object.defineProperties(VbSlider.prototype,{attached:{configurable:!0,enumerable:!0,get:function(){return iterableToArray(this.target.children)}},isMoving:{configurable:!0,enumerable:!0,get:function(){return this.moving}}}),VbSlider.sliders=[],window.addEventListener("resize",function(){return VbSlider.updateSizes()}),window.VbSlider=VbSlider,"undefined"!=typeof jQuery&&libBind$2(jQuery),"undefined"!=typeof Zepto&&libBind$2(Zepto),"loading"!=document.readyState?bindAll():document.addEventListener("readystatechange",function t(){"loading"!=document.readyState&&(document.removeEventListener("readystatechange",t),bindAll())}); +function create(t,e,i){return t=document.createElement(t),e&&(t.id=e),i&&(t.onclick=i),t}function createClass(t,e,i){return t=document.createElement(t),e&&(t.className=e),i&&(t.onclick=i),t}function iterableToArray(t){for(var e=[],i=0;ie&&(e=Math.max(0,n+e)),(null==i||i>n)&&(i=n),i=Number(i),0>i&&(i=Math.max(0,n+i)),e=Number(e||0);et||1i||1=r){var o=0;return 0i?o=(n-1)/(i-1):1==i&&1>t&&(o=(e-1)/(t-1)),1+o*(r-1);for(var o=0,s=1;oMath.abs(r-l))break;l=Math.min(i.delay+t,n)?w:T}var u=["backwards","forwards","both","none"],h=["reverse","alternate","alternate-reverse"],d=function(t){return t};i.prototype={_setMember:function(e,i){this["_"+e]=i,this._effect&&(this._effect._timingInput[e]=i,this._effect._timing=t.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=t.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(t){this._setMember("delay",t)},get delay(){return this._delay},set endDelay(t){this._setMember("endDelay",t)},get endDelay(){return this._endDelay},set fill(t){this._setMember("fill",t)},get fill(){return this._fill},set iterationStart(t){if((isNaN(t)||0>t)&&n())throw new TypeError("iterationStart must be a non-negative number, received: "+timing.iterationStart);this._setMember("iterationStart",t)},get iterationStart(){return this._iterationStart},set duration(t){if("auto"!=t&&(isNaN(t)||0>t)&&n())throw new TypeError("duration must be non-negative or auto, received: "+t);this._setMember("duration",t)},get duration(){return this._duration},set direction(t){this._setMember("direction",t)},get direction(){return this._direction},set easing(t){this._easingFunction=l(a(t)),this._setMember("easing",t)},get easing(){return this._easing},set iterations(t){if((isNaN(t)||0>t)&&n())throw new TypeError("iterations must be non-negative, received: "+t);this._setMember("iterations",t)},get iterations(){return this._iterations}};var p=1,f=.5,m=0,g={ease:o(.25,.1,.25,1),"ease-in":o(.42,0,1,1),"ease-out":o(0,0,.58,1),"ease-in-out":o(.42,0,.58,1),"step-start":s(1,p),"step-middle":s(1,f),"step-end":s(1,m)},b=null,v=/cubic-bezier\(\s*(-?\d+\.?\d*|-?\.\d+)\s*,\s*(-?\d+\.?\d*|-?\.\d+)\s*,\s*(-?\d+\.?\d*|-?\.\d+)\s*,\s*(-?\d+\.?\d*|-?\.\d+)\s*\)/,y=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,_=0,x=1,w=2,T=3;t.cloneTimingInput=function(t){if("number"==typeof t)return t;var e,i={};for(e in t)i[e]=t[e];return i},t.makeTiming=r,t.numericTimingToObject=function(t){return"number"==typeof t&&(t=isNaN(t)?{duration:0}:{duration:t}),t},t.normalizeTimingInput=function(e,i){return e=t.numericTimingToObject(e),r(e,i)},t.calculateActiveDuration=function(t){return Math.abs((0===t.duration||0===t.iterations?0:t.duration*t.iterations)/t.playbackRate)},t.calculateIterationProgress=function(t,e,i){var n=c(t,e,i);t:{var r=i.fill;switch(n){case x:t="backwards"==r||"both"==r?0:null;break t;case T:t=e-i.delay;break t;case w:t="forwards"==r||"both"==r?t:null;break t;case _:t=null;break t}t=void 0}return null===t?null:(e=i.duration,r=i.iterationStart,0===e?n!==x&&(r+=i.iterations):r+=t/e,e=r,r=e===1/0?i.iterationStart%1:e%1,0!==r||n!==w||0===i.iterations||0===t&&0!==i.duration||(r=1),t=r,r=n===w&&i.iterations===1/0?1/0:1===t?Math.floor(e)-1:Math.floor(e),e=n=i.direction,"normal"!==n&&"reverse"!==n&&("alternate-reverse"===n&&(r+=1),e="normal",r!==1/0&&0!==r%2&&(e="reverse")),i._easingFunction("normal"===e?t:1-t))},t.calculatePhase=c,t.normalizeEasing=a,t.parseEasingFunction=l}(e,null),function(t,e){function i(t){var e,i=[];for(e in t)if(!(e in["easing","offset","composite"])){var n=t[e];Array.isArray(n)||(n=[n]);for(var r,o=n.length,s=0;sa||1=t.offset}),e||s(),a}}(e,null),function(t){var e={};t.isDeprecated=function(t,i,n,r){r=r?"are":"is";var o=new Date;return i=new Date(i),i.setMonth(i.getMonth()+3),!(o=t.applyFrom&&ithis._surrogateStyle.length;)this._length--,Object.defineProperty(this,this._length,{configurable:!0,enumerable:!1,value:void 0})},_set:function(t,e){this._style[t]=e,this._isAnimatedProperty[t]=!0},_clear:function(t){this._style[t]=this._surrogateStyle[t],delete this._isAnimatedProperty[t]}};for(var a in o)n.prototype[a]=function(t,e){return function(){var i=this._surrogateStyle[t].apply(this._surrogateStyle,arguments);return e&&(this._isAnimatedProperty[arguments[0]]||this._style[t].apply(this._style,arguments),this._updateIndices()),i}}(a,a in s);for(var l in document.documentElement.style)l in e||l in o||!function(t){i(n.prototype,t,{get:function(){return this._surrogateStyle[t]},set:function(e){this._surrogateStyle[t]=e,this._updateIndices(),this._isAnimatedProperty[t]||(this._style[t]=e)}})}(l);t.apply=function(e,i,n){r(e),e.style._set(t.propertyName(i),n)},t.clear=function(e,i){e._webAnimationsPatchedStyle&&e.style._clear(t.propertyName(i))}}(k,null),function(t){window.Element.prototype.animate=function(e,i){var n="";return i&&i.id&&(n=i.id),t.timeline._play(t.KeyframeEffect(this,e,i,n))}}(k),function(t,e){function i(t,e,n){if("number"==typeof t&&"number"==typeof e)return t*(1-n)+e*n;if("boolean"==typeof t&&"boolean"==typeof e)return.5>n?t:e;if(t.length==e.length){for(var r=[],o=0;on;n++)for(var r=0;4>r;r++)for(var o=0;4>o;o++)i[n][r]+=e[n][o]*t[o][r];return i}return function(e,i,n,r,o){for(var s=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],a=0;4>a;a++)s[a][3]=o[a];for(a=0;3>a;a++)for(o=0;3>o;o++)s[3][a]+=e[o]*s[o][a];e=r[0],a=r[1],o=r[2],r=r[3];var l=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];for(l[0][0]=1-2*(a*a+o*o),l[0][1]=2*(e*a-o*r),l[0][2]=2*(e*o+a*r),l[1][0]=2*(e*a+o*r),l[1][1]=1-2*(e*e+o*o),l[1][2]=2*(a*o-e*r),l[2][0]=2*(e*o-a*r),l[2][1]=2*(a*o+e*r),l[2][2]=1-2*(e*e+a*a),s=t(s,l),r=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],n[2]&&(r[2][1]=n[2],s=t(s,r)),n[1]&&(r[2][1]=0,r[2][0]=n[0],s=t(s,r)),n[0]&&(r[2][0]=0,r[1][0]=n[0],s=t(s,r)),a=0;3>a;a++)for(o=0;3>o;o++)s[a][o]*=i[a];return 0==s[0][2]&&0==s[0][3]&&0==s[1][2]&&0==s[1][3]&&0==s[2][0]&&0==s[2][1]&&1==s[2][2]&&0==s[2][3]&&0==s[3][2]&&1==s[3][3]?[s[0][0],s[0][1],s[1][0],s[1][1],s[3][0],s[3][1]]:s[0].concat(s[1],s[2],s[3])}}(),t.composeMatrix=e,t.quat=function(e,i,n){var r=t.dot(e,i),r=Math.max(Math.min(r,1),-1),o=[];if(1===r)o=e;else for(var s=Math.acos(r),a=1*Math.sin(n*s)/Math.sqrt(1-r*r),l=0;4>l;l++)o.push(e[l]*(Math.cos(n*s)-r*a)+i[l]*a);return o}}(k,null),function(t,e,i){t.sequenceNumber=0;var n=function(t,e,i){this.target=t,this.currentTime=e,this.timelineTime=i,this.type="finish",this.cancelable=this.bubbles=!1,this.currentTarget=t,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()};e.Animation=function(e){this.id="",e&&e._id&&(this.id=e._id),this._sequenceNumber=t.sequenceNumber++,this._currentTime=0,this._startTime=null,this._paused=!1,this._playbackRate=1,this._finishedFlag=this._inTimeline=!0,this.onfinish=null,this._finishHandlers=[],this._effect=e,this._inEffect=this._effect._update(0),this._idle=!0,this._currentTimePending=!1},e.Animation.prototype={_ensureAlive:function(){0>this.playbackRate&&0===this.currentTime?this._inEffect=this._effect._update(-1):this._inEffect=this._effect._update(this.currentTime),this._inTimeline||!this._inEffect&&this._finishedFlag||(this._inTimeline=!0,e.timeline._animations.push(this))},_tickCurrentTime:function(t,e){t!=this._currentTime&&(this._currentTime=t,this._isFinished&&!e&&(this._currentTime=0=this._totalDuration||0>this._playbackRate&&0>=this._currentTime)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":this._paused?"paused":this._isFinished?"finished":"running"},_rewind:function(){if(0<=this._playbackRate)this._currentTime=0;else{if(!(this._totalDuration<1/0))throw new DOMException("Unable to rewind negative playback rate animation with infinite duration","InvalidStateError");this._currentTime=this._totalDuration}},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),this._startTime=null),this._idle=this._finishedFlag=!1,this._ensureAlive(),e.applyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this._idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=0a;a++)s.push(o[a].slice());for(a=0;3>a;a++)s[a][3]=0;if(0===t(s))return!1;var l;if(l=[],o[0][3]||o[1][3]||o[2][3]){l.push(o[0][3]),l.push(o[1][3]),l.push(o[2][3]),l.push(o[3][3]);for(var c=1/t(s),u=s[0][0],h=s[0][1],a=s[0][2],d=s[1][0],p=s[1][1],f=s[1][2],m=s[2][0],g=s[2][1],b=s[2][2],c=[[(p*b-f*g)*c,(a*g-h*b)*c,(h*f-a*p)*c,0],[(f*m-d*b)*c,(u*b-a*m)*c,(a*d-u*f)*c,0],[(d*g-p*m)*c,(m*h-u*g)*c,(u*p-h*d)*c,0]],u=[],h=0;3>h;h++){for(d=a=0;3>d;d++)a+=s[3][d]*c[d][h];u.push(a)}for(u.push(1),c.push(u),s=c,s=[[s[0][0],s[1][0],s[2][0],s[3][0]],[s[0][1],s[1][1],s[2][1],s[3][1]],[s[0][2],s[1][2],s[2][2],s[3][2]],[s[0][3],s[1][3],s[2][3],s[3][3]]],c=[],u=0;4>u;u++){for(a=h=0;4>a;a++)h+=l[a]*s[a][u];c.push(h)}l=c}else l=[0,0,0,1];if(s=o[3].slice(0,3),c=[],c.push(o[0].slice(0,3)),u=[],u.push(n(c[0])),c[0]=e(c[0]),h=[],c.push(o[1].slice(0,3)),h.push(i(c[0],c[1])),c[1]=r(c[1],c[0],1,-h[0]), +u.push(n(c[1])),c[1]=e(c[1]),h[0]/=u[1],c.push(o[2].slice(0,3)),h.push(i(c[0],c[2])),c[2]=r(c[2],c[0],1,-h[1]),h.push(i(c[1],c[2])),c[2]=r(c[2],c[1],1,-h[2]),u.push(n(c[2])),c[2]=e(c[2]),h[1]/=u[2],h[2]/=u[2],o=c[1],a=c[2],0>i(c[0],[o[1]*a[2]-o[2]*a[1],o[2]*a[0]-o[0]*a[2],o[0]*a[1]-o[1]*a[0]]))for(a=0;3>a;a++)u[a]*=-1,c[a][0]*=-1,c[a][1]*=-1,c[a][2]*=-1;var v,y;return o=c[0][0]+c[1][1]+c[2][2]+1,1e-4c[1][1]&&c[0][0]>c[2][2]?(v=2*Math.sqrt(1+c[0][0]-c[1][1]-c[2][2]),y=[.25*v,(c[0][1]+c[1][0])/v,(c[0][2]+c[2][0])/v,(c[2][1]-c[1][2])/v]):c[1][1]>c[2][2]?(v=2*Math.sqrt(1+c[1][1]-c[0][0]-c[2][2]),y=[(c[0][1]+c[1][0])/v,.25*v,(c[1][2]+c[2][1])/v,(c[0][2]-c[2][0])/v]):(v=2*Math.sqrt(1+c[2][2]-c[0][0]-c[1][1]),y=[(c[0][2]+c[2][0])/v,(c[1][2]+c[2][1])/v,.25*v,(c[1][0]-c[0][1])/v]),[s,u,h,y,l]}}();t.dot=i,t.makeMatrixDecomposition=function(t){return[s(0===t.length?[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]:t.map(o).reduce(n))]}}(k,null),function(t){function e(t,e){var i=t.exec(e);if(i)return i=t.ignoreCase?i[0].toLowerCase():i[0],[i,e.substr(i.length)]}function i(t,e){if(e=e.replace(/^\s*/,""),t=t(e))return[t[0],t[1].replace(/^\s*/,"")]}function n(t,e){for(var i=t,n=e;i&&n;)i>n?i%=n:n%=i;return t*e/(i+n)}function r(t,e,i,r,o){for(var s=[],a=[],l=[],c=n(r.length,o.length),u=0;u=i))break;return t=t(e.substr(0,n)),void 0==t?void 0:[t,e.substr(n)]},t.ignore=function(t){return function(e){return e=t(e),e&&(e[0]=void 0),e}},t.optional=function(t,e){return function(i){var n=t(i);return n?n:[e,i]}},t.consumeList=function(e,i){for(var n=[],r=0;r=i?t:1<=i?e:"visible"}]},["visibility"])}(k),function(t,e){function i(t){t=t.trim(),r.fillStyle="#000",r.fillStyle=t;var e=r.fillStyle;if(r.fillStyle="#fff",r.fillStyle=t,e==r.fillStyle)return r.fillRect(0,0,1,1),t=r.getImageData(0,0,1,1).data,r.clearRect(0,0,1,1),e=t[3]/255,[t[0]*e,t[1]*e,t[2]*e,e]}function n(e,i){return[e,i,function(e){if(e[3])for(var i=0;3>i;i++)e[i]=Math.round(Math.max(0,Math.min(255,e[i]/e[3])));return e[3]=t.numberToString(t.clamp(0,1,e[3])),"rgba("+e.join(",")+")"}]}e=document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),e.width=e.height=1;var r=e.getContext("2d");t.addPropertiesHandler(i,n,"background-color border-bottom-color border-left-color border-right-color border-top-color color outline-color text-decoration-color".split(" ")),t.consumeColor=t.consumeParenthesised.bind(null,i),t.mergeColors=n}(k,null),function(a,c){function g(a,b){if(b=b.trim().toLowerCase(),"0"==b&&0<="px".search(a))return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\(/g,"(");var c={};b=b.replace(a,function(t){return c[t]=null,"U"+t}),a="U("+a.source+")";for(var d=b.replace(/[-+]?(\d*\.)?\d+/g,"N").replace(new RegExp("N"+a,"g"),"D").replace(/\s[+-]\s/g,"O").replace(/\s/g,""),f=[/N\*(D)/g,/(N|D)[*\/]N/g,/(N|D)O\1/g,/\((N|D)\)/g],g=0;gr.indexOf(n)&&r.push(n);return t=r.map(function(e){return t[e]||0}),e=r.map(function(t){return e[t]||0}),[t,e,function(t){var e=t.map(function(e,n){return 1==t.length&&i&&(e=Math.max(e,0)),a.numberToString(e)+r[n]}).join(" + ");return 1t||900',this.bottom.appendChild(this.button),this.caption=create("strong","vbCaption"),this.bottom.appendChild(this.caption),this.closeText=this.button.querySelector("#vbCloseText"),window.addEventListener("resize",function(){n.isOpen&&n.activeVideo&&n.setPlayerSizePosition()}),window.addEventListener("keyup",function(t){n.activeVideo&&0<=n.activeVideo.options.closeKeys.indexOf(t.keyCode)&&n.close()}),t&&this.bind(t,e,i||this.linkMapper)};Videobox.prototype.bind=function(t,e,i){e=void 0===e?{}:e,i=void 0===i?this.linkMapper:i;var n=this;"string"==typeof t&&(t=iterableToArray(document.querySelectorAll(t))),t.forEach(function(t){t.vbListener&&t.removeEventListener("click",t.vbListener),t.vbiListener&&t.removeEventListener("click",t.vbiListener),t.vbListener=function(r){return r.preventDefault(),r.stopPropagation(),r=i(t),r.options=Object.assign({},e,r.options),n.open(r),!1},t.addEventListener("click",t.vbListener)})},Videobox.prototype.open=function(t){"VbInline"in window&&window.VbInline.close(),this.close(),t.options=Object.assign({},this.defaults,t.options),t.options.root||(t.options.root=document.body),this.setup(t);var e=t.origin.target,e=e.querySelector(e.getAttribute("data-target"))||e,i=this.wrap.getBoundingClientRect(),n=e.getBoundingClientRect();toggleClass(e,"vb_line_fix",!0),t.origin=Object.assign({},{x:n.left-i.left+e.clientWidth/2,y:n.top-i.top+e.clientHeight/2,width:e.clientWidth,height:e.clientHeight},t.origin),toggleClass(e,"vb_line_fix",!1),this.changeVideo(t)},Videobox.prototype.close=function(){return this.stop(),[this.wrap,this.bottomContainer,this.overlay].forEach(function(t){return toggleClass(t,"visible",!1)}),this.wrap.style.top="0px",this.wrap.style.left="0px",this.activeVideo=null,!1},Videobox.prototype.setPlayerSizePosition=function(){if(this.activeVideo){this.setPlayerPosition(this.activeVideo.options.root);var t=this.activeVideo.options.width,e=this.activeVideo.options.height;if(t+2*this.activeVideo.options.padding>this.wrap.clientWidth)var i=this.wrap.clientWidth-2*this.activeVideo.options.padding,e=e*i/t,t=i;return e+2*this.activeVideo.options.padding>this.wrap.clientHeight&&(e=this.wrap.clientHeight-2*this.activeVideo.options.padding),t=100*e/t,this.responsive.style.paddingBottom=t+"%",t}},Videobox.prototype.linkMapper=function(t){var e=JSON.parse(t.getAttribute("data-videobox"))||{};if(e.root){var i=e.root;"string"==typeof i&&(i=iterableToArray(document.querySelectorAll(i))),0n&&(e="l"==e?"r":"l",n=0-n);var r=(this.options.moveAll?this.visible:1)*n,r=r%(this.visible+this.detachedElements.length);if("l"==e)for(n=0;nthis.timeout?this.move():this.moving=!1; +},VbSlider.prototype.setCount=function(){var t=this.visible,e=this.target.clientWidth,i=this.attached,i=this.basis+i[0].offsetWidth-i[0].clientWidth,n=Math.floor(e/this.basis);1>n?n=1:i/(e/(n+1))<2-i/(e/n)&&n++,n!=t&&(this.visible=n,this.setAttached()),this.content.style.height=this.target.clientHeight+"px";var r=0;this.options.target&&(r=(this.target.querySelector(this.options.target)||{offsetHeight:0}).offsetHeight/2),this.buttons.forEach(function(t){return t.style.top=r?r+"px":""})},VbSlider.prototype.setAttached=function(){var t=this.attached;if(t.lengththis.visible)for(var e=t.length-1;e>=this.visible;e--)this.detachedElements.unshift(t[e]),detach([t[e]])},$jscomp.global.Object.defineProperties(VbSlider.prototype,{attached:{configurable:!0,enumerable:!0,get:function(){return iterableToArray(this.target.children)}},isMoving:{configurable:!0,enumerable:!0,get:function(){return this.moving}}}),VbSlider.sliders=[],window.addEventListener("resize",function(){return VbSlider.updateSizes()}),window.VbSlider=VbSlider,"undefined"!=typeof jQuery&&libBind$2(jQuery),"undefined"!=typeof Zepto&&libBind$2(Zepto),"loading"!=document.readyState?bindAll():document.addEventListener("readystatechange",function t(){"loading"!=document.readyState&&(document.removeEventListener("readystatechange",t),bindAll())}); //# sourceMappingURL=videobox.bundle.map diff --git a/dist/videobox.bundle.map b/dist/videobox.bundle.map index 22544f6..1a22b3c 100644 --- a/dist/videobox.bundle.map +++ b/dist/videobox.bundle.map @@ -1 +1 @@ -{"version":3,"sources":["../src/ts/components/helpers.ts","../src/ts/components/box.ts","../src/ts/components/inline.ts","../src/ts/components/slider.ts","../src/ts/index.ts"," [synthetic:base] "," [synthetic:util/global] "," [synthetic:util/defineproperty] "," [synthetic:util/polyfill] "," [synthetic:es6/array/fill] "," [synthetic:es6/symbol] "," [synthetic:es6/array/from] "," [synthetic:util/owns] "," [synthetic:es6/object/assign] "," [synthetic:util/findinternal] "," [synthetic:es6/array/find] ","../node_modules/web-animations-js/src/scope.js","../node_modules/web-animations-js/src/timing-utilities.js","../node_modules/web-animations-js/src/keyframe-interpolations.js","../node_modules/web-animations-js/src/property-interpolation.js","../node_modules/web-animations-js/src/keyframe-effect.js","../node_modules/web-animations-js/src/apply-preserving-inline-style.js"],"names":["create","tagName","id","click","el","document","createElement","onclick","createClass","className","iterableToArray","iterable","list","i","length","push","applyStyles","styles","key","style","hide","originalDisplay","display","show","insertAfter","target","parentElement","insertBefore","nextSibling","toggleClass","on","classList","contains","toggle","libBind","$","videobox","$.videobox","video","VideoboxObj","open","vbClose","$.vbClose","close","fn","$.fn.videobox","options","linkMapper","elements","this","bind","libBind$1","vbInline","$.vbInline","VbInlineObj","vbiClose","$.vbiClose","callback","$.fn.vbInline","detach","forEach","querySelector","VbInline","parentNode","removeChild","libBind$2","vbSlider","$.vbSlider","VbSlider","getSlider","$.fn.vbSlider","bindAll","Videobox","$jscomp","scope","getGlobal","a","window","global","defineProperty","Object","defineProperties","c","e","get","set","TypeError","Array","prototype","value","polyfill","k","split","p","configurable","writable","Math","max","Number","SYMBOL_PREFIX","initSymbol","Symbol","symbolCounter_","initSymbolIterator","iterator","arrayIterator","iteratorPrototype","done","next","r","call","h","owns","hasOwnProperty","arguments","findInternal","String","v","webAnimationsShared","webAnimations1","shared","testing","d","linear","isDeprecated","f","timingInput","forGroup","effect","timing","b","isNaN","undefined","property","fills","directions","x","g","start_gradient","end_gradient","end","start","xEst","mid","l","j","count","pos","stepSize","easing","styleForCleaning","normalizedEasing","isInvalidTimingDeprecated","cubicBezierRe","cubicData","apply","stepRe","stepData","Start","middle","Middle","End","presets","preset","o","activeDuration","localTime","G","endTime","PhaseBefore","PhaseAfter","PhaseActive","_setMember","member","playbackRate","_playbackRate","delay","_delay","endDelay","_endDelay","fill","_fill","iterationStart","_iterationStart","duration","_duration","direction","_direction","_easingFunction","_easing","iterations","_iterations","y","z","A","B","ease","ease-in","ease-out","ease-in-out","step-start","step-middle","step-end","C","E","F","H","I","J","cloneTimingInput","clone","m","makeTiming","numericTimingToObject","normalizeTimingInput","calculateActiveDuration","abs","calculateIterationProgress","u","calculatePhase","phase","fillMode","activeTime","iterationDuration","overallProgress","Infinity","simpleIterationProgress","currentIteration","playbackDirection","currentDirection","normalizeEasing","parseEasingFunction","isArray","offset","composite","sort","background","border","borderBottom","borderColor","borderLeft","borderRadius","borderRight","borderTop","borderWidth","flex","font","margin","outline","padding","createElementNS","thin","medium","thick","borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","fontSize","xx-small","x-small","small","large","x-large","xx-large","fontWeight","normal","bold","outlineWidth","textShadow","none","boxShadow","convertToArrayForm","normalizeKeyframes","from","map","isFinite","type","DOMException","NOT_SUPPORTED_ERR","name","message","lastIndexOf","filter","a.isDeprecated","Date","setMonth","getMonth","console","warn","toDateString","deprecated","a.deprecated","Error","documentElement","animate","applyFrom","applyTo","startOffset","endOffset","easingFunction","interpolation","propertyInterpolation","convertEffectInput","b.convertEffectInput","clear","replace","toUpperCase","addPropertiesHandler","backgroundColor","backgroundPosition","borderBottomColor","borderBottomLeftRadius","borderBottomRightRadius","borderLeftColor","borderRightColor","borderSpacing","borderTopColor","borderTopLeftRadius","borderTopRightRadius","bottom","clip","color","height","left","letterSpacing","lineHeight","marginBottom","marginLeft","marginRight","marginTop","maxHeight","maxWidth","minHeight","minWidth","opacity","outlineColor","outlineOffset","paddingBottom","paddingLeft","paddingRight","paddingTop","right","textIndent","top","transform","verticalAlign","visibility","width","wordSpacing","zIndex","test","n","Interpolation","_totalDuration","KeyframeEffect","b.KeyframeEffect","_update","k._update","_clear","k._clear","_hasSameTarget","k._hasSameTarget","_target","_id","NullEffect","b.NullEffect","b._update","b._hasSameTarget","enumerable","_surrogateStyle","_style","_length","_isAnimatedProperty","_updateIndices","_webAnimationsPatchedStyle","_set","a.style._set","a.style._clear","cssText","parentRule","getPropertyCSSValue","getPropertyPriority","getPropertyValue","item","removeProperty","setProperty","a.apply","propertyName","a.clear","Element","window.Element.prototype.animate","timeline","_play","a.Interpolation","concat","composeMatrix","quat","dot","min","acos","sin","sqrt","cos","sequenceNumber","currentTime","timelineTime","cancelable","bubbles","currentTarget","defaultPrevented","eventPhase","Event","AT_TARGET","timeStamp","now","Animation","b.Animation","_sequenceNumber","_currentTime","_startTime","_paused","_finishedFlag","_inTimeline","onfinish","_finishHandlers","_effect","_inEffect","_idle","_currentTimePending","_ensureAlive","_animations","_tickCurrentTime","_isFinished","restart","_timeline","applyDirtiedAnimation","startTime","playState","_rewind","play","pause","finish","cancel","reverse","addEventListener","removeEventListener","indexOf","splice","_fireEvents","setTimeout","_tick","_needsTick","pending","running","_targetAnimations","_activeAnimations","_markTarget","_unmarkTarget","q","performance","requestAnimationFrame","window.requestAnimationFrame","cancelAnimationFrame","window.cancelAnimationFrame","_timing","b.restart","b.applyDirtiedAnimation","slice","deg","grad","turn","PI","rad","t","tan","px","s","w","makeMatrixDecomposition","reduce","exec","ignoreCase","toLowerCase","substr","join","consumeToken","consumeTrimmed","consumeRepeated","consumeParenthesised","ignore","optional","consumeList","mergeNestedRepeated","mergeWrappedNestedRepeated","mergeList","inset","lengths","consumeLengthOrPercent","consumeColor","propertySpecificKeyframeGroups","makeInterpolations","interpolations","keyframes","groupName","startIndex","endIndex","mergeDimensions","mergeColors","group","lengthReconstitution","result","string","makePropertySpecificKeyframeGroups","fraction","offsetFraction","localDuration","scaledLocalTime","rightInterpolation","effectInput","parseNumber","leftInterpolation","webAnimationsTesting","addPropertyHandler","toCamelCase","_","merger","propertyHandlers","parser","properties","ucProperty","pixelColor","alpha","initialValues","handlers","parsedLeft","canvas","interpolationArgs","parsedRight","match","taggedUnitRegExp","reductions","typeCheck","unit","units","EffectTime","effectTime","timeFraction","parseLengthOrPercent","parseAngle","keyframeEffect","consumeSizePairList","nullEffect","consumeSizePair","configureProperty","mergeDimensionsNonNegative","AnimatedCSSStyleDeclaration","element","constructor","links","isOpen","animations","defaults","closeText","root","body","animation","overlay","wrap","center","appendChild","responsive","bottomContainer","allowFullscreen","frameBorder","button","innerHTML","caption","activeVideo","setPlayerSizePosition","querySelectorAll","link","vbListener","vbiListener","evt","preventDefault","stopPropagation","assign","setup","origin","getAttribute","bw","getBoundingClientRect","bt","clientWidth","clientHeight","changeVideo","stop","setPlayerPosition","nw","ratio","JSON","parse","pop","url","title","newVideo","innerText","parent","offsetParent","wbr","obr","offsetLeft","offsetTop","targetRatio","centerOrigin","centerTarget","originRatio","centerAnimation","centerAnimation.onfinish","animateBotton","bottomAnimation","bottomAnimation.onfinish","showVideo","setAttribute","anim","jQuery","jQuery.fn.videobox","Zepto","hidding","hidden","closeTimeout","maxW","v1","v1.onfinish","v2","class","wrapDest","animation.onfinish","responsiveDest","animation2","animation2.onfinish","timer","clearTimeout","queue","timeout","moving","visible","detachedElements","moveAll","singleDuration","doubleClickTimeout","outer","prev","showPrev","showNext","content","buttons","attached","basis","parseInt","setCount","sliders","sizeTarget","trim","move","opts","slider","find","updateSizes","queueMove","setBasis","getTarget","dir","oldHeight","num","shift","firstChild","oldElements","animationProperties","positionOrigin","positionDest","skip","offsetHeight","elm","unshift","current","ch","base","offsetWidth","floor","setAttached","children","isMoving","readyState","ready"],"mappings":"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","file":"videobox.bundle.js","sourcesContent":["/**\r\n * Interface for Videobox configuration\r\n */\r\nexport interface vbOptions {\r\n\r\n /**\r\n * default player width\r\n */\r\n width?: number,\r\n\r\n /**\r\n * default player height\r\n */\r\n height?: number,\r\n\r\n /**\r\n * text for the close button\r\n */\r\n closeText?: string,\r\n\r\n /**\r\n * player padding\r\n */\r\n padding?: number,\r\n\r\n /**\r\n * element the pop-up will be attached to \r\n */\r\n root?: HTMLElement,\r\n\r\n /**\r\n * adittional style for the player (doesn't apply to the pop-up player)\r\n */\r\n style?: string,\r\n\r\n /**\r\n * adittional class name(s) for the player (doesn't apply to the pop-up player)\r\n */\r\n class?: string,\r\n\r\n /**\r\n * time (in ms) while the close button remains visible when the inline player is shown\r\n */\r\n closeTimeout?: number,\r\n\r\n /**\r\n * animation properties (see web animations specifications)\r\n */\r\n animation?: KeyframeAnimationOptions\r\n}\r\n\r\n/**\r\n * Interface for the Videobox's video element\r\n */\r\nexport interface vbVideo {\r\n\r\n /**\r\n * player url\r\n */\r\n url: string,\r\n\r\n /**\r\n * optional title, is supplied it'll dispalyed under the player\r\n */\r\n title?: string,\r\n\r\n /**\r\n * origin for Videobox actions, such as player open animation\r\n */\r\n origin: vbOrigin,\r\n\r\n /**\r\n * configuration overrides\r\n */\r\n options: vbOptions\r\n}\r\n\r\n/**\r\n * Interface for video origin\r\n */\r\nexport interface vbOrigin {\r\n\r\n /**\r\n * X coordinate where the player will appear (relative to options.root)\r\n */\r\n x?: number,\r\n\r\n /**\r\n * Y coordinate where the player will appear (relative to options.root)\r\n */\r\n y?: number,\r\n\r\n /**\r\n * initial player width\r\n */\r\n width?: number,\r\n\r\n /**\r\n * initial player height\r\n */\r\n height?: number,\r\n\r\n /**\r\n * target element (the clicked element)\r\n */\r\n target: HTMLElement\r\n}\r\n\r\n/** @internal */\r\nexport function create(tagName: string, id?: string, click?: any): HTMLElement {\r\n let el = document.createElement(tagName)\r\n if (id)\r\n el.id = id\r\n if (click)\r\n el.onclick = click\r\n return el\r\n}\r\n\r\n/** @internal */\r\nexport function createClass(tagName: string, className?: string, click?: any): HTMLElement {\r\n let el = document.createElement(tagName)\r\n if (className)\r\n el.className = className\r\n if (click)\r\n el.onclick = click\r\n return el\r\n}\r\n\r\n/** @internal */\r\nexport function iterableToArray(iterable: any): Array {\r\n let list = []\r\n for (let i = 0; i < iterable.length; i++)\r\n list.push(iterable[i])\r\n return list\r\n}\r\n\r\n/** @internal */\r\nexport function applyStyles(el: HTMLElement, styles: { [key: string]: string }): void {\r\n for (let key in styles)\r\n if (key in el.style)\r\n el.style[key] = styles[key]\r\n}\r\n\r\n/** @internal */\r\nexport function hide(el: HTMLElement) {\r\n el['originalDisplay'] = (el.style.display && (el.style.display == 'none' ? '' : el.style.display)) || ''\r\n el.style.display = 'none'\r\n}\r\n\r\n/** @internal */\r\nexport function show(el: HTMLElement) {\r\n if ('originalDisplay' in el && el['originalDisplay'])\r\n el.style.display = el['originalDisplay']\r\n else\r\n el.style.display = ''\r\n}\r\n\r\n/** @internal */\r\nexport function insertAfter(el: HTMLElement, target: HTMLElement) {\r\n target.parentElement.insertBefore(el, target.nextSibling)\r\n}\r\n\r\n/** @internal */\r\nexport function toggleClass(el: HTMLElement, className: string, on: boolean) {\r\n if (el.classList.contains(className) ? !on : on) el.classList.toggle(className)\r\n}","import { create, applyStyles, vbOptions, vbVideo, hide, show, iterableToArray, toggleClass } from './helpers'\r\nimport { VbInlineObj as VbInline } from './inline'\r\n\r\nexport class Videobox {\r\n\r\n private closeText: HTMLSpanElement\r\n private center: HTMLDivElement\r\n private caption: HTMLElement\r\n private wrap: HTMLDivElement\r\n private responsive: HTMLDivElement\r\n private overlay: HTMLDivElement\r\n private bottomContainer: HTMLDivElement\r\n private video: HTMLIFrameElement\r\n private bottom: HTMLDivElement\r\n private button: HTMLLinkElement\r\n\r\n private activeVideo: vbVideo\r\n private isOpen: boolean = false\r\n private animations: Array = []\r\n\r\n private defaults: vbOptions = {\r\n width: 720,\r\n height: 405,\r\n closeText: 'Close',\r\n padding: 30,\r\n root: document.body,\r\n animation: {\r\n duration: 500,\r\n iterations: 1,\r\n delay: 0,\r\n easing: 'ease-in-out'\r\n }\r\n }\r\n\r\n /** @internal */\r\n constructor(links?: Array | string, options: vbOptions = {}, linkMapper?: ((el: HTMLElement) => vbVideo)) {\r\n this.overlay = create('div', 'vbOverlay', () => this.close())\r\n //this.defaults.root.appendChild(this.overlay)\r\n\r\n this.wrap = create('div', 'vbWrap')\r\n //this.defaults.root.appendChild(this.wrap)\r\n\r\n this.center = create('div', 'vbCenter')\r\n this.wrap.appendChild(this.center)\r\n\r\n this.responsive = create('div', 'vbResponsive')\r\n this.center.appendChild(this.responsive)\r\n\r\n this.bottomContainer = create('div', 'vbBottomContainer')\r\n this.center.appendChild(this.bottomContainer)\r\n\r\n this.video = create('iframe', 'vbVideo')\r\n this.video.allowFullscreen = true\r\n this.video.frameBorder = '0px'\r\n hide(this.video)\r\n this.responsive.appendChild(this.video)\r\n\r\n this.bottom = create('div', 'vbBottom')\r\n this.bottomContainer.appendChild(this.bottom)\r\n\r\n this.button = create('a', 'vbCloseLink', () => this.close())\r\n this.button.innerHTML = '' + this.defaults.closeText + ''\r\n this.bottom.appendChild(this.button)\r\n\r\n this.caption = create('strong', 'vbCaption')\r\n this.bottom.appendChild(this.caption)\r\n\r\n this.closeText = this.button.querySelector('#vbCloseText')\r\n\r\n window.addEventListener('resize', () => {\r\n if (this.isOpen && this.activeVideo)\r\n this.setPlayerSizePosition()\r\n })\r\n\r\n if (links)\r\n this.bind(links, options, linkMapper || this.linkMapper)\r\n }\r\n\r\n /**\r\n * Map pop-up player to links \r\n * \r\n * @param links array of elements or query selector to bind Videobox to\r\n * @param options player configuration\r\n * @param linkMapper function to get a Videobox video object from the clicked element\r\n */\r\n bind(\r\n links: Array | string,\r\n options: vbOptions = {},\r\n linkMapper: ((el: HTMLElement) => vbVideo) = this.linkMapper\r\n ): void {\r\n if (typeof links == 'string')\r\n links = iterableToArray(document.querySelectorAll(links))\r\n\r\n links.forEach(link => {\r\n if (link['vbListener']) link.removeEventListener('click', link['vbListener'])\r\n if (link['vbiListener']) link.removeEventListener('click', link['vbiListener'])\r\n link['vbListener'] = (evt) => {\r\n evt.preventDefault()\r\n evt.stopPropagation()\r\n let video = linkMapper(link)\r\n video.options = Object.assign({}, options, video.options)\r\n this.open(video)\r\n return false\r\n }\r\n link.addEventListener('click', link['vbListener'])\r\n })\r\n }\r\n\r\n /**\r\n * Open Videobox pop-up player\r\n * \r\n * @param video video to show\r\n */\r\n open(video: vbVideo): void {\r\n if ('VbInline' in window)\r\n window['VbInline'].close()\r\n this.close()\r\n\r\n video.options = Object.assign({}, this.defaults, video.options)\r\n if (!video.options.root) video.options.root = document.body\r\n this.setup(video)\r\n\r\n let link = video.origin.target\r\n let target = link.querySelector(link.getAttribute(\"data-target\")) || link\r\n\r\n let bw = this.wrap.getBoundingClientRect()\r\n let bt = target.getBoundingClientRect()\r\n\r\n toggleClass(target, 'vb_line_fix', true)\r\n video.origin = Object.assign({}, {\r\n x: bt.left - bw.left + target.clientWidth / 2,\r\n y: bt.top - bw.top + target.clientHeight / 2,\r\n width: target.clientWidth,\r\n height: target.clientHeight\r\n }, video.origin)\r\n toggleClass(target, 'vb_line_fix', false)\r\n\r\n this.changeVideo(video)\r\n }\r\n\r\n /**\r\n * Close the open pop-up\r\n */\r\n close() {\r\n this.stop()\r\n new Array(this.wrap, this.bottomContainer, this.overlay).forEach(el => toggleClass(el, 'visible', false))\r\n this.wrap.style.top = '0px'\r\n this.wrap.style.left = '0px'\r\n this.activeVideo = null\r\n return false\r\n }\r\n\r\n /**\r\n * Calculate and set player position & size\r\n * \r\n * @returns width to height ratio of the player (in percent)\r\n */\r\n setPlayerSizePosition(): number {\r\n if (!this.activeVideo) return\r\n\r\n this.setPlayerPosition(this.activeVideo.options.root)\r\n\r\n let width: number = this.activeVideo.options.width\r\n let height: number = this.activeVideo.options.height\r\n\r\n if (width + 2 * this.activeVideo.options.padding > this.wrap.clientWidth) {\r\n let nw = this.wrap.clientWidth - 2 * this.activeVideo.options.padding\r\n height = (height * nw) / width\r\n width = nw\r\n }\r\n if (height + 2 * this.activeVideo.options.padding > this.wrap.clientHeight)\r\n height = this.wrap.clientHeight - 2 * this.activeVideo.options.padding\r\n\r\n let ratio = (height * 100) / width\r\n this.responsive.style.paddingBottom = ratio + '%'\r\n return ratio\r\n }\r\n\r\n private linkMapper(el: HTMLElement): vbVideo {\r\n let options = JSON.parse(el.getAttribute(\"data-videobox\")) || {}\r\n if (options.root) {\r\n let root = options.root\r\n if (typeof root == 'string')\r\n root = iterableToArray(document.querySelectorAll(root))\r\n\r\n if (root.length > 0)\r\n options.root = root[0]\r\n else\r\n options.pop('root')\r\n }\r\n return {\r\n url: el.getAttribute(\"href\") || \"\",\r\n title: el.getAttribute(\"title\") || \"\",\r\n options: options,\r\n origin: { target: el }\r\n }\r\n }\r\n\r\n private setup(newVideo: vbVideo): void {\r\n this.closeText.innerText = newVideo.options.closeText\r\n newVideo.options.root.appendChild(this.overlay)\r\n newVideo.options.root.appendChild(this.wrap)\r\n this.setPlayerPosition(newVideo.options.root)\r\n }\r\n\r\n private setPlayerPosition(root: HTMLElement = this.activeVideo.options.root): void {\r\n let parent = this.wrap.offsetParent\r\n let wbr = this.wrap.getBoundingClientRect()\r\n let obr = this.overlay.getBoundingClientRect()\r\n let pos = {\r\n top: this.wrap.offsetTop - parent.offsetTop,\r\n left: this.wrap.offsetLeft - parent.offsetLeft\r\n }\r\n let diff = {\r\n top: obr.top - wbr.top,\r\n left: obr.left - wbr.left\r\n }\r\n this.wrap.style.top = (pos.top + diff.top) + 'px'\r\n this.wrap.style.left = (pos.left + diff.left) + 'px'\r\n }\r\n\r\n private changeVideo(newVideo: vbVideo): void {\r\n this.activeVideo = newVideo\r\n this.caption.innerHTML = this.activeVideo.title\r\n\r\n let targetRatio = this.setPlayerSizePosition()\r\n\r\n this.isOpen = true\r\n\r\n let centerOrigin = {\r\n top: (this.activeVideo.origin.y - this.wrap.clientHeight / 2) + 'px',\r\n left: (this.activeVideo.origin.x - this.wrap.clientWidth / 2) + 'px',\r\n 'maxWidth': this.activeVideo.origin.width + 'px'\r\n }\r\n\r\n let centerTarget = {\r\n top: '0px',\r\n left: '0px',\r\n 'maxWidth': this.activeVideo.options.width + 'px'\r\n }\r\n\r\n applyStyles(this.center, centerOrigin)\r\n new Array(this.wrap, this.overlay).forEach(el => toggleClass(el, 'visible', true))\r\n toggleClass(this.wrap, 'animating', true)\r\n\r\n let originRatio = ((this.activeVideo.origin.height * 100) / this.activeVideo.origin.width) || targetRatio\r\n if (originRatio != targetRatio)\r\n this.animations.push(this.responsive.animate([\r\n { 'paddingBottom': originRatio + '%' },\r\n { 'paddingBottom': targetRatio + '%' }\r\n ], this.activeVideo.options.animation))\r\n\r\n let centerAnimation = this.center.animate([\r\n centerOrigin,\r\n centerTarget\r\n ], this.activeVideo.options.animation)\r\n centerAnimation.onfinish = () => this.animateBotton()\r\n this.animations.push(centerAnimation)\r\n applyStyles(this.center, centerTarget)\r\n centerAnimation.play()\r\n }\r\n\r\n private animateBotton(): void {\r\n let bottomAnimation = this.bottomContainer.animate([\r\n { 'maxHeight': '0px' },\r\n { 'maxHeight': '200px' }\r\n ], this.activeVideo.options.animation)\r\n toggleClass(this.bottomContainer, 'visible', true)\r\n bottomAnimation.onfinish = () => this.showVideo()\r\n this.animations.push(bottomAnimation)\r\n bottomAnimation.play()\r\n }\r\n\r\n private showVideo(): void {\r\n if (!this.isOpen || this.video.getAttribute('src')) return\r\n show(this.video)\r\n this.video.setAttribute('src', this.activeVideo.url)\r\n toggleClass(this.wrap, 'animating', false)\r\n }\r\n\r\n private stop(): void {\r\n this.animations.forEach(anim => anim.cancel())\r\n this.animations = []\r\n this.isOpen = false\r\n this.video.setAttribute('src', '')\r\n hide(this.video)\r\n toggleClass(this.wrap, 'animating', false)\r\n }\r\n}\r\n\r\nexport const VideoboxObj = new Videobox()\r\nwindow['Videobox'] = VideoboxObj\r\n\r\nexport declare interface JQueryStatic {\r\n /**\r\n * Open Videobox pop-up player\r\n * \r\n * @param video video to show\r\n */\r\n videobox: (video: vbVideo) => void\r\n\r\n /**\r\n * Close the open pop-up\r\n */\r\n vbClose: () => void\r\n}\r\n\r\nexport declare interface JQuery {\r\n /**\r\n * Map pop-up player to elements matched by the query\r\n * \r\n * @example \r\n * ```javascript\r\n * $('a[rel=videobox]').videobox() // Bind the pop-up effect to every element\r\n * ```\r\n * \r\n * @param options player configuration\r\n * @param linkMapper function to get a Videobox video object from the clicked element\r\n */\r\n videobox: (options?: vbOptions, linkMapper?: ((el: HTMLElement) => vbVideo)) => void\r\n}\r\n\r\nif (typeof (jQuery) !== 'undefined') {\r\n jQuery['videobox'] = function (video: vbVideo): void {\r\n VideoboxObj.open(video)\r\n }\r\n\r\n jQuery['vbClose'] = function (): void {\r\n VideoboxObj.close()\r\n }\r\n\r\n jQuery.fn.videobox = function (options: vbOptions = {}, linkMapper?: ((el: HTMLElement) => vbVideo)): void {\r\n let elements = iterableToArray(this)\r\n if (linkMapper)\r\n VideoboxObj.bind(elements, options, linkMapper)\r\n else\r\n VideoboxObj.bind(elements, options)\r\n }\r\n}\r\n\r\nfunction libBind($) {\r\n $.videobox = function (video: vbVideo): void {\r\n VideoboxObj.open(video)\r\n }\r\n\r\n $.vbClose = function (): void {\r\n VideoboxObj.close()\r\n }\r\n\r\n $.fn.videobox = function (options: vbOptions = {}, linkMapper?: ((el: HTMLElement) => vbVideo)): void {\r\n let elements = iterableToArray(this)\r\n if (linkMapper)\r\n VideoboxObj.bind(elements, options, linkMapper)\r\n else\r\n VideoboxObj.bind(elements, options)\r\n }\r\n}\r\n\r\nif (typeof jQuery != 'undefined') libBind(jQuery)\r\nif (typeof Zepto != 'undefined') libBind(Zepto)","import { create, applyStyles, vbOptions, vbVideo, hide, show, iterableToArray, insertAfter, toggleClass } from './helpers'\r\nimport { VideoboxObj as Videobox } from './box'\r\n\r\nexport class VbInline {\r\n\r\n private wrap: HTMLDivElement\r\n private responsive: HTMLDivElement\r\n private caption: HTMLElement\r\n private button: HTMLDivElement\r\n private video: HTMLIFrameElement\r\n\r\n private activeVideo: vbVideo\r\n private isOpen: boolean = false\r\n private hidding: boolean = false\r\n private animations: Array = []\r\n private hidden: Array = []\r\n private timer: number\r\n\r\n private defaults: vbOptions = {\r\n width: 720,\r\n height: 405,\r\n closeText: 'Close',\r\n padding: 30,\r\n closeTimeout: 1000,\r\n animation: {\r\n duration: 500,\r\n iterations: 1,\r\n delay: 0,\r\n easing: 'ease-in-out'\r\n }\r\n }\r\n\r\n /** @internal */\r\n constructor(links?: Array | string, options: vbOptions = {}, linkMapper?: ((el: HTMLElement) => vbVideo)) {\r\n this.wrap = create('div', 'vbiWrap')\r\n\r\n this.responsive = create('div', 'vbiResponsive')\r\n this.wrap.appendChild(this.responsive)\r\n\r\n this.caption = document.createElement('span')\r\n this.caption.className = 'vb_video_title'\r\n this.wrap.appendChild(this.caption)\r\n\r\n this.button = create('div', 'vbiClose', () => this.close())\r\n this.button.innerHTML = ''\r\n this.wrap.appendChild(this.button)\r\n\r\n this.video = create('iframe', 'vbiVideo')\r\n this.video.allowFullscreen = true\r\n this.video.frameBorder = '0px'\r\n hide(this.video)\r\n this.responsive.appendChild(this.video)\r\n\r\n if (links)\r\n this.bind(links, options, linkMapper || this.linkMapper)\r\n\r\n }\r\n\r\n /**\r\n * Map inline player to elements matched by the query \r\n * \r\n * @param links array of elements or query selector to bind inline player to\r\n * @param options player configuration\r\n * @param linkMapper function to get a Videobox video object from the clicked element\r\n */\r\n bind(\r\n links: Array | string,\r\n options: vbOptions = {},\r\n linkMapper: ((el: HTMLElement) => vbVideo) = this.linkMapper\r\n ): void {\r\n if (typeof links == 'string')\r\n links = iterableToArray(document.querySelectorAll(links))\r\n\r\n links.forEach(link => {\r\n if (link['vbListener']) link.removeEventListener('click', link['vbListener'])\r\n if (link['vbiListener']) link.removeEventListener('click', link['vbiListener'])\r\n link['vbiListener'] = (evt) => {\r\n evt.preventDefault()\r\n evt.stopPropagation()\r\n let video = linkMapper(link)\r\n video.options = Object.assign({}, options, video.options)\r\n this.open(video)\r\n return false\r\n }\r\n link.addEventListener('click', link['vbiListener'])\r\n })\r\n }\r\n\r\n /**\r\n * Open an inline player\r\n * \r\n * @param video video to show\r\n */\r\n open(video: vbVideo): void {\r\n if ('Videobox' in window)\r\n window['Videobox'].close()\r\n\r\n video.options = Object.assign({}, this.defaults, video.options)\r\n\r\n let link = video.origin.target\r\n let target = link.querySelector(link.getAttribute(\"data-target\")) || link\r\n\r\n toggleClass(target, 'vb_line_fix', true)\r\n video.origin = Object.assign({}, {\r\n x: target.clientWidth / 2,\r\n y: target.clientHeight / 2,\r\n width: target.clientWidth,\r\n height: target.clientHeight\r\n }, video.origin)\r\n toggleClass(target, 'vb_line_fix', false)\r\n\r\n this.close(() => this.changeVideo(video))\r\n }\r\n\r\n /**\r\n * Close the open inline player\r\n * \r\n * @param callback function to run when close animation is over\r\n */\r\n close(callback?: () => any) {\r\n this.stop()\r\n\r\n if (!this.hidding)\r\n if (this.wrap.parentElement && this.activeVideo) {\r\n this.hidding = true\r\n let maxW = this.activeVideo.origin.width + 'px'\r\n let v1 = this.wrap.animate([\r\n { 'maxWidth': (this.activeVideo.options.width + 2 * this.activeVideo.options.padding) + 'px' },\r\n { 'maxWidth': maxW }\r\n ], this.activeVideo.options.animation)\r\n\r\n v1.onfinish = () => this.hide(callback)\r\n this.wrap.style.maxWidth = maxW\r\n v1.play()\r\n\r\n let padding = ((this.activeVideo.origin.height * 100) / this.activeVideo.origin.width) + '%'\r\n let v2 = this.responsive.animate([\r\n { 'paddingBottom': ((this.activeVideo.options.height * 100) / this.activeVideo.options.width) + '%' },\r\n { 'paddingBottom': padding }\r\n ], this.activeVideo.options.animation)\r\n this.responsive.style.paddingBottom = padding\r\n v2.play()\r\n } else\r\n this.hide(callback)\r\n\r\n return false\r\n }\r\n\r\n private linkMapper(el: HTMLElement): vbVideo {\r\n return {\r\n url: el.getAttribute(\"href\") || \"\",\r\n title: el.getAttribute(\"title\") || \"\",\r\n options: JSON.parse(el.getAttribute(\"data-videobox\")) || {},\r\n origin: { target: el }\r\n }\r\n }\r\n\r\n private setup(): void {\r\n insertAfter(this.wrap, this.activeVideo.origin.target)\r\n hide(this.activeVideo.origin.target)\r\n this.hidden.push(this.activeVideo.origin.target)\r\n }\r\n\r\n private changeVideo(newVideo: vbVideo): void {\r\n\r\n this.activeVideo = newVideo\r\n\r\n this.setup()\r\n\r\n this.wrap.setAttribute('style', this.activeVideo.options.style)\r\n this.wrap.setAttribute('class', this.activeVideo.options.class)\r\n this.caption.innerHTML = this.activeVideo.title\r\n toggleClass(this.button, 'visible', true)\r\n this.isOpen = true\r\n\r\n let wrapOrigin = {\r\n 'maxWidth': this.activeVideo.origin.width + 'px'\r\n }\r\n let wrapDest = {\r\n 'maxWidth': (this.activeVideo.options.width + 2 * this.activeVideo.options.padding) + 'px'\r\n }\r\n let animation = this.wrap.animate([wrapOrigin, wrapDest], this.activeVideo.options.animation)\r\n applyStyles(this.wrap, wrapDest)\r\n animation.onfinish = () => this.showVideo()\r\n this.animations.push(animation)\r\n animation.play()\r\n\r\n let responsiveDest = {\r\n 'paddingBottom': ((this.activeVideo.options.height * 100) / this.activeVideo.options.width) + '%'\r\n }\r\n let responsiveOrigin = {\r\n 'paddingBottom': ((this.activeVideo.origin.height * 100) / this.activeVideo.origin.width) + '%'\r\n }\r\n let animation2 = this.responsive.animate([responsiveOrigin, responsiveDest], this.activeVideo.options.animation)\r\n animation2.onfinish = () => {\r\n this.timer = window.setTimeout(() => toggleClass(this.button, 'visible', false), newVideo.options.closeTimeout)\r\n }\r\n this.animations.push(animation2)\r\n animation2.play()\r\n applyStyles(this.responsive, responsiveDest)\r\n }\r\n\r\n private showVideo() {\r\n if (!this.isOpen) return\r\n show(this.video)\r\n this.video.setAttribute('src', this.activeVideo.url)\r\n }\r\n\r\n private hide(callback?: () => any) {\r\n if (this.wrap.parentElement)\r\n this.wrap.parentNode.removeChild(this.wrap)\r\n\r\n this.hidden.forEach(el => show(el))\r\n this.hidden = []\r\n\r\n this.hidding = false\r\n this.activeVideo = null\r\n if (typeof callback == \"function\")\r\n callback()\r\n }\r\n\r\n private stop() {\r\n this.animations.forEach(anim => anim.cancel())\r\n this.animations = []\r\n this.isOpen = false\r\n this.video.setAttribute('src', '')\r\n window.clearTimeout(this.timer)\r\n hide(this.video)\r\n }\r\n}\r\n\r\nexport const VbInlineObj = new VbInline()\r\nwindow['VbInline'] = VbInlineObj\r\n\r\nexport declare interface JQueryStatic {\r\n /**\r\n * Open an inline player\r\n * \r\n * @param video video to show\r\n */\r\n vbInline: (video: vbVideo) => void\r\n\r\n /**\r\n * Close the open inline player\r\n * \r\n * @param callback function to run when close animation is over\r\n */\r\n vbiClose: (callback?: () => any) => void\r\n}\r\n\r\nexport declare interface JQuery {\r\n /**\r\n * Map inline player to elements matched by the query\r\n * \r\n * @example \r\n * ```javascript\r\n * $('a[rel=vbinline]').vbInline() // Bind the inline effect to every element\r\n * ```\r\n * \r\n * @param options player configuration\r\n * @param linkMapper function to get a Videobox video object from the clicked element\r\n */\r\n vbInline: (options?: vbOptions, linkMapper?: ((el: HTMLElement) => vbVideo)) => void\r\n}\r\n\r\nfunction libBind($) {\r\n $.vbInline = function (video: vbVideo): void {\r\n VbInlineObj.open(video)\r\n }\r\n\r\n $.vbiClose = function (callback?: () => any): void {\r\n VbInlineObj.close(callback)\r\n }\r\n\r\n $.fn.vbInline = function (options: vbOptions = {}, linkMapper?: ((el: HTMLElement) => vbVideo)): void {\r\n let elements = iterableToArray(this)\r\n if (linkMapper)\r\n VbInlineObj.bind(elements, options, linkMapper)\r\n else\r\n VbInlineObj.bind(elements, options)\r\n }\r\n}\r\n\r\nif (typeof jQuery != 'undefined') libBind(jQuery)\r\nif (typeof Zepto != 'undefined') libBind(Zepto)","import { createClass, applyStyles, vbOptions, vbVideo, hide, show, iterableToArray, insertAfter, toggleClass } from './helpers'\r\nimport { VbInlineObj as VbInline } from './inline'\r\n\r\nfunction detach(elements: Array): void {\r\n elements.forEach(el => {\r\n if ('querySelector' in el && el.querySelector('#vbiWrap')) VbInline.close()\r\n el.parentNode.removeChild(el)\r\n })\r\n}\r\n\r\n/**\r\n * Interface for Videobox slider configuration\r\n */\r\nexport interface vbSliderOptions {\r\n\r\n /**\r\n * if true, slider will scroll all visible elements\r\n */\r\n moveAll?: boolean,\r\n\r\n /**\r\n * target selector\r\n */\r\n target?: string,\r\n\r\n /**\r\n * transition duration for one element\r\n */\r\n singleDuration?: number,\r\n\r\n /**\r\n * clicks within the timeout are processed together\r\n */\r\n doubleClickTimeout?: number,\r\n\r\n /**\r\n * animation properties (see web animations specifications)\r\n */\r\n animation?: KeyframeAnimationOptions\r\n}\r\n\r\n/**\r\n * Videobox thumbnail slider\r\n */\r\nexport class VbSlider {\r\n\r\n private static sliders: Array = []\r\n\r\n /**\r\n * Map Videobox slider to elements matched by the query\r\n * \r\n * @param elements array of elements or query selector to bind Videobox slider to\r\n * @param options slider configuration\r\n * @returns array of sliders matching the corresponding elements\r\n */\r\n static bind(elements: Array | string, options: vbSliderOptions = {}): Array {\r\n if (typeof elements == 'string')\r\n elements = iterableToArray(document.querySelectorAll(elements))\r\n\r\n let sliders: Array = []\r\n elements.forEach(target => {\r\n let sizeTarget = (target.getAttribute('data-target') || '').trim()\r\n let move = (target.getAttribute('data-move') || 'single').trim()\r\n let opts: vbSliderOptions = {}\r\n\r\n if (sizeTarget)\r\n opts.target = sizeTarget\r\n\r\n if (move)\r\n opts.moveAll = move == 'all'\r\n\r\n sliders.push(this.getSlider(target, Object.assign({}, options, opts)))\r\n })\r\n return sliders\r\n }\r\n\r\n /**\r\n * Create a new Videobox slider, or find an existing slider and update it's configuration\r\n * \r\n * @param target an element containing the slider items\r\n * @param options slider configuration\r\n * @returns slider containing the target element\r\n */\r\n static getSlider(target: HTMLElement, options: vbSliderOptions = {}): VbSlider {\r\n let slider = this.sliders.find(slider => slider.target == target)\r\n if (slider) {\r\n slider.options = Object.assign(slider.options, options)\r\n return slider\r\n } else {\r\n return new VbSlider(target, options)\r\n }\r\n }\r\n\r\n static updateSizes() {\r\n this.sliders.forEach(slider => slider.setCount())\r\n }\r\n\r\n private target: HTMLElement\r\n private outer: HTMLDivElement\r\n private wrap: HTMLDivElement\r\n private content: HTMLDivElement\r\n private prev: HTMLDivElement\r\n private next: HTMLDivElement\r\n private buttons: Array\r\n\r\n private basis: number\r\n private queue: Array = []\r\n private timeout: number = -1\r\n private moving: boolean = false\r\n private visible: number = -1\r\n private detachedElements: Array = []\r\n\r\n private options: vbSliderOptions = {\r\n moveAll: false,\r\n target: '',\r\n singleDuration: 500,\r\n doubleClickTimeout: 200,\r\n animation: {\r\n duration: 500,\r\n iterations: 1,\r\n delay: 0,\r\n easing: 'ease-in-out'\r\n },\r\n }\r\n\r\n /**\r\n * Array of currently visible elements (includes both new and old elements when moving)\r\n */\r\n get attached(): Array {\r\n return iterableToArray(this.target.children)\r\n }\r\n\r\n /**\r\n * True when slider is moving\r\n */\r\n get isMoving(): boolean {\r\n return this.moving\r\n }\r\n\r\n /**\r\n * Scroll slider to the left\r\n */\r\n showPrev(): void {\r\n this.queueMove('r')\r\n }\r\n\r\n /**\r\n * Scroll slider to the right \r\n */\r\n showNext(): void {\r\n this.queueMove('l')\r\n }\r\n\r\n /**\r\n * Set base width\r\n * \r\n * @param basis new base width\r\n */\r\n setBasis(basis: number): void {\r\n if (basis != this.basis) {\r\n this.basis = basis\r\n this.setCount()\r\n }\r\n }\r\n\r\n /**\r\n * Get the slider's target element\r\n */\r\n getTarget(): HTMLElement {\r\n return this.target\r\n }\r\n\r\n private constructor(target: HTMLElement, options: vbSliderOptions = {}) {\r\n this.outer = createClass('div', 'vb_slider_outer')\r\n\r\n this.prev = createClass('div', 'vb_slider_prev', () => this.showPrev())\r\n this.prev.innerHTML = ''\r\n this.outer.appendChild(this.prev)\r\n\r\n this.wrap = createClass('div', 'vb_slider_wrap')\r\n this.outer.appendChild(this.wrap)\r\n\r\n this.next = createClass('div', 'vb_slider_next', () => this.showNext())\r\n this.next.innerHTML = ''\r\n this.outer.appendChild(this.next)\r\n\r\n this.content = createClass('div', 'vb_slider_cont')\r\n this.wrap.appendChild(this.content)\r\n\r\n this.buttons = iterableToArray(this.outer.querySelectorAll('i'))\r\n\r\n this.target = target\r\n let elements = this.attached\r\n\r\n insertAfter(this.outer, this.target)\r\n this.content.appendChild(this.target)\r\n\r\n this.basis = parseInt(target.getAttribute('data-width')) || elements[0].clientWidth\r\n\r\n this.options = Object.assign(this.options, options)\r\n\r\n toggleClass(this.content, 'vb-slider__move-all', this.options.moveAll)\r\n\r\n this.setCount()\r\n }\r\n\r\n private queueMove(dir: string): void {\r\n if (this.queue.length > 0 && this.queue[this.queue.length - 1] != dir)\r\n this.queue.pop()\r\n else\r\n this.queue.push(dir)\r\n\r\n if (this.timeout >= 0)\r\n\r\n clearTimeout(this.timeout)\r\n this.timeout = setTimeout(() => {\r\n this.timeout = -1\r\n if (!this.moving && this.queue.length > 0)\r\n this.move()\r\n }, this.options.doubleClickTimeout)\r\n }\r\n\r\n private move(): void {\r\n this.moving = true\r\n let dir = this.queue.pop()\r\n\r\n let oldHeight = this.target.clientHeight\r\n\r\n let num = 1\r\n while (this.queue.length > 0)\r\n num += this.queue.pop() == dir ? 1 : -1\r\n if (num == 0) {\r\n this.moving = false\r\n return\r\n }\r\n if (num < 0) {\r\n dir = dir == 'l' ? 'r' : 'l'\r\n num = 0 - num\r\n }\r\n\r\n let count = (this.options.moveAll ? this.visible : 1) * num\r\n count = count % (this.visible + this.detachedElements.length)\r\n\r\n if (dir == 'l')\r\n for (let i = 0; i < count && this.detachedElements.length > 0; i++)\r\n this.target.appendChild(this.detachedElements.shift())\r\n else\r\n for (let i = 0; i < count && this.detachedElements.length > 0; i++)\r\n this.target.insertBefore(this.detachedElements.pop(), this.target.firstChild)\r\n\r\n let attached = this.attached\r\n let oldElements = dir == 'l' ? attached.slice(0, attached.length - this.visible) : attached.slice(this.visible)\r\n detach(oldElements)\r\n\r\n let height = this.target.clientHeight\r\n let width = 100 * count / this.visible\r\n\r\n if (dir == 'l')\r\n for (let i = oldElements.length - 1; i >= 0; i--)\r\n this.target.insertBefore(oldElements[i], this.target.firstChild)\r\n else\r\n for (let i = 0; i < oldElements.length; i++)\r\n this.target.appendChild(oldElements[i])\r\n\r\n let animationProperties = this.options.singleDuration ? Object.assign({}, this.options.animation, { duration: this.options.singleDuration * count }) : this.options.animation\r\n\r\n let w = width + 100\r\n w = 100 * width / w\r\n\r\n let positionOrigin = {\r\n 'transform': 'translate(' + (dir == 'l' ? 0 : -w) + '%)'\r\n }\r\n let positionDest = {\r\n 'transform': 'translate(' + (dir == 'l' ? -w : 0) + '%)'\r\n }\r\n this.content.style.width = (width + 100) + '%'\r\n\r\n let anim = this.content.animate([positionOrigin, positionDest], animationProperties)\r\n anim.addEventListener('finish', () => {\r\n this.content.style.width = '100%'\r\n this.skip(dir)\r\n })\r\n\r\n anim = this.content.animate([\r\n {\r\n height: oldHeight + 'px'\r\n }, {\r\n height: height + 'px'\r\n }\r\n ], animationProperties)\r\n this.content.style.height = height + 'px'\r\n\r\n let top = 0\r\n if (this.options.target)\r\n top = (this.target.querySelector(this.options.target) || { offsetHeight: 0 }).offsetHeight / 2\r\n\r\n this.buttons.forEach(el => el.style.top = top ? top + 'px' : '')\r\n }\r\n\r\n private skip(dir: string): void {\r\n let attached = this.attached\r\n if (dir == 'l') {\r\n let el = attached.slice(0, attached.length - this.visible)\r\n detach(el)\r\n el.forEach(elm => this.detachedElements.push(elm))\r\n } else if (dir == 'r') {\r\n let el = attached.slice(this.visible)\r\n detach(el)\r\n el.forEach(elm => this.detachedElements.unshift(elm))\r\n }\r\n\r\n if (this.queue.length > 0 && this.timeout < 0)\r\n this.move()\r\n else\r\n this.moving = false\r\n\r\n }\r\n\r\n private setCount(): void {\r\n let current = this.visible\r\n let width = this.target.clientWidth\r\n let ch = this.attached\r\n let base = this.basis + ch[0].offsetWidth - ch[0].clientWidth \t// base width including any offset\r\n\r\n // calculate number of displayed items\r\n let visible = Math.floor(width / this.basis)\r\n if (visible < 1) {\r\n visible = 1\r\n } else {\r\n let w1 = 2 - base / (width / visible)\r\n let w2 = base / (width / (visible + 1))\r\n if (w2 < w1) visible++\r\n }\r\n\r\n // add or remove visible items if needed\r\n if (visible != current) {\r\n this.visible = visible\r\n this.setAttached()\r\n }\r\n\r\n // set new size\r\n this.content.style.height = this.target.clientHeight + 'px'\r\n\r\n let top = 0\r\n if (this.options.target)\r\n top = (this.target.querySelector(this.options.target) || { offsetHeight: 0 }).offsetHeight / 2\r\n\r\n this.buttons.forEach(el => el.style.top = top ? top + 'px' : '')\r\n }\r\n\r\n private setAttached(): void {\r\n let attached = this.attached\r\n if (attached.length < this.visible)\r\n for (let i = attached.length; i < this.visible && this.detachedElements.length > 0; i++) {\r\n this.target.appendChild(this.detachedElements.shift())\r\n }\r\n else if (attached.length > this.visible)\r\n for (let i = attached.length - 1; i >= this.visible; i--) {\r\n this.detachedElements.unshift(attached[i])\r\n detach([attached[i]])\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\nwindow.addEventListener('resize', () => VbSlider.updateSizes())\r\nwindow['VbSlider'] = VbSlider\r\n\r\nexport declare interface JQueryStatic {\r\n /**\r\n * Create a new Videobox slider, or find an existing slider and update it's configuration\r\n * \r\n * @param target an element containing the slider items\r\n * @param options slider configuration\r\n * @returns slider containing the target element\r\n */\r\n vbSlider: (target: HTMLElement | JQuery, options: vbSliderOptions) => VbSlider\r\n}\r\n\r\nexport declare interface JQuery {\r\n /**\r\n * Map Videobox slider to elements matched by the query\r\n * \r\n * @example \r\n * ```javascript\r\n * var sliders = $('ul.vb_slider').vbSlider() // Create a Videobox slider for every
    element\r\n * ```\r\n * \r\n * @param options slider configuration\r\n * @returns array of sliders matching the corresponding elements\r\n */\r\n vbSlider: (options?: vbSliderOptions) => Array\r\n}\r\n\r\nfunction libBind($) {\r\n $.vbSlider = function (target: HTMLElement | JQuery, options: vbSliderOptions = {}): VbSlider {\r\n if ('length' in target)\r\n target = target[0]\r\n return VbSlider.getSlider(target, options)\r\n }\r\n\r\n $.fn.vbSlider = function (options: vbSliderOptions = {}): Array {\r\n let elements = iterableToArray(this)\r\n return VbSlider.bind(elements, options)\r\n }\r\n}\r\n\r\nif (typeof jQuery != 'undefined') libBind(jQuery)\r\nif (typeof Zepto != 'undefined') libBind(Zepto)\r\n","import { VideoboxObj as Videobox } from './components/box'\r\nimport { VbInlineObj as VbInline } from './components/inline'\r\nimport { VbSlider } from './components/slider'\r\n\r\nfunction bindAll() {\r\n Videobox.bind(\"a[rel^='videobox']\")\r\n VbInline.bind(\"a[rel^='vbinline']\")\r\n VbSlider.bind(\".vb_slider\")\r\n}\r\n\r\nif (document.readyState != 'loading')\r\n bindAll()\r\nelse\r\n document.addEventListener('readystatechange', function ready() {\r\n if (document.readyState != 'loading') {\r\n document.removeEventListener('readystatechange', ready)\r\n bindAll()\r\n }\r\n })",null,null,null,null,null,null,null,null,null,null,null,"// Copyright 2014 Google Inc. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nvar webAnimationsShared = {};\nvar webAnimations1 = {};\nvar webAnimationsNext = {};\n\nif (!WEB_ANIMATIONS_TESTING)\n var webAnimationsTesting = null;\n","// Copyright 2014 Google Inc. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n(function(shared, testing) {\n\n var fills = 'backwards|forwards|both|none'.split('|');\n var directions = 'reverse|alternate|alternate-reverse'.split('|');\n var linear = function(x) { return x; };\n\n function cloneTimingInput(timingInput) {\n if (typeof timingInput == 'number') {\n return timingInput;\n }\n var clone = {};\n for (var m in timingInput) {\n clone[m] = timingInput[m];\n }\n return clone;\n }\n\n function AnimationEffectTiming() {\n this._delay = 0;\n this._endDelay = 0;\n this._fill = 'none';\n this._iterationStart = 0;\n this._iterations = 1;\n this._duration = 0;\n this._playbackRate = 1;\n this._direction = 'normal';\n this._easing = 'linear';\n this._easingFunction = linear;\n }\n\n function isInvalidTimingDeprecated() {\n return shared.isDeprecated('Invalid timing inputs', '2016-03-02', 'TypeError exceptions will be thrown instead.', true);\n }\n\n AnimationEffectTiming.prototype = {\n _setMember: function(member, value) {\n this['_' + member] = value;\n if (this._effect) {\n this._effect._timingInput[member] = value;\n this._effect._timing = shared.normalizeTimingInput(this._effect._timingInput);\n this._effect.activeDuration = shared.calculateActiveDuration(this._effect._timing);\n if (this._effect._animation) {\n this._effect._animation._rebuildUnderlyingAnimation();\n }\n }\n },\n get playbackRate() {\n return this._playbackRate;\n },\n set delay(value) {\n this._setMember('delay', value);\n },\n get delay() {\n return this._delay;\n },\n set endDelay(value) {\n this._setMember('endDelay', value);\n },\n get endDelay() {\n return this._endDelay;\n },\n set fill(value) {\n this._setMember('fill', value);\n },\n get fill() {\n return this._fill;\n },\n set iterationStart(value) {\n if ((isNaN(value) || value < 0) && isInvalidTimingDeprecated()) {\n throw new TypeError('iterationStart must be a non-negative number, received: ' + timing.iterationStart);\n }\n this._setMember('iterationStart', value);\n },\n get iterationStart() {\n return this._iterationStart;\n },\n set duration(value) {\n if (value != 'auto' && (isNaN(value) || value < 0) && isInvalidTimingDeprecated()) {\n throw new TypeError('duration must be non-negative or auto, received: ' + value);\n }\n this._setMember('duration', value);\n },\n get duration() {\n return this._duration;\n },\n set direction(value) {\n this._setMember('direction', value);\n },\n get direction() {\n return this._direction;\n },\n set easing(value) {\n this._easingFunction = parseEasingFunction(normalizeEasing(value));\n this._setMember('easing', value);\n },\n get easing() {\n return this._easing;\n },\n set iterations(value) {\n if ((isNaN(value) || value < 0) && isInvalidTimingDeprecated()) {\n throw new TypeError('iterations must be non-negative, received: ' + value);\n }\n this._setMember('iterations', value);\n },\n get iterations() {\n return this._iterations;\n }\n };\n\n function makeTiming(timingInput, forGroup, effect) {\n var timing = new AnimationEffectTiming();\n if (forGroup) {\n timing.fill = 'both';\n timing.duration = 'auto';\n }\n if (typeof timingInput == 'number' && !isNaN(timingInput)) {\n timing.duration = timingInput;\n } else if (timingInput !== undefined) {\n Object.getOwnPropertyNames(timingInput).forEach(function(property) {\n if (timingInput[property] != 'auto') {\n if (typeof timing[property] == 'number' || property == 'duration') {\n if (typeof timingInput[property] != 'number' || isNaN(timingInput[property])) {\n return;\n }\n }\n if ((property == 'fill') && (fills.indexOf(timingInput[property]) == -1)) {\n return;\n }\n if ((property == 'direction') && (directions.indexOf(timingInput[property]) == -1)) {\n return;\n }\n if (property == 'playbackRate' && timingInput[property] !== 1 && shared.isDeprecated('AnimationEffectTiming.playbackRate', '2014-11-28', 'Use Animation.playbackRate instead.')) {\n return;\n }\n timing[property] = timingInput[property];\n }\n });\n }\n return timing;\n }\n\n function numericTimingToObject(timingInput) {\n if (typeof timingInput == 'number') {\n if (isNaN(timingInput)) {\n timingInput = { duration: 0 };\n } else {\n timingInput = { duration: timingInput };\n }\n }\n return timingInput;\n }\n\n function normalizeTimingInput(timingInput, forGroup) {\n timingInput = shared.numericTimingToObject(timingInput);\n return makeTiming(timingInput, forGroup);\n }\n\n function cubic(a, b, c, d) {\n if (a < 0 || a > 1 || c < 0 || c > 1) {\n return linear;\n }\n return function(x) {\n if (x <= 0) {\n var start_gradient = 0;\n if (a > 0)\n start_gradient = b / a;\n else if (!b && c > 0)\n start_gradient = d / c;\n return start_gradient * x;\n }\n if (x >= 1) {\n var end_gradient = 0;\n if (c < 1)\n end_gradient = (d - 1) / (c - 1);\n else if (c == 1 && a < 1)\n end_gradient = (b - 1) / (a - 1);\n return 1 + end_gradient * (x - 1);\n }\n\n var start = 0, end = 1;\n while (start < end) {\n var mid = (start + end) / 2;\n function f(a, b, m) { return 3 * a * (1 - m) * (1 - m) * m + 3 * b * (1 - m) * m * m + m * m * m};\n var xEst = f(a, c, mid);\n if (Math.abs(x - xEst) < 0.00001) {\n return f(b, d, mid);\n }\n if (xEst < x) {\n start = mid;\n } else {\n end = mid;\n }\n }\n return f(b, d, mid);\n }\n }\n\n var Start = 1;\n var Middle = 0.5;\n var End = 0;\n\n function step(count, pos) {\n return function(x) {\n if (x >= 1) {\n return 1;\n }\n var stepSize = 1 / count;\n x += pos * stepSize;\n return x - x % stepSize;\n }\n }\n\n var presets = {\n 'ease': cubic(0.25, 0.1, 0.25, 1),\n 'ease-in': cubic(0.42, 0, 1, 1),\n 'ease-out': cubic(0, 0, 0.58, 1),\n 'ease-in-out': cubic(0.42, 0, 0.58, 1),\n 'step-start': step(1, Start),\n 'step-middle': step(1, Middle),\n 'step-end': step(1, End)\n };\n\n var styleForCleaning = null;\n var numberString = '\\\\s*(-?\\\\d+\\\\.?\\\\d*|-?\\\\.\\\\d+)\\\\s*';\n var cubicBezierRe = new RegExp('cubic-bezier\\\\(' + numberString + ',' + numberString + ',' + numberString + ',' + numberString + '\\\\)');\n var stepRe = /steps\\(\\s*(\\d+)\\s*,\\s*(start|middle|end)\\s*\\)/;\n\n function normalizeEasing(easing) {\n if (!styleForCleaning) {\n styleForCleaning = document.createElement('div').style;\n }\n styleForCleaning.animationTimingFunction = '';\n styleForCleaning.animationTimingFunction = easing;\n var normalizedEasing = styleForCleaning.animationTimingFunction;\n if (normalizedEasing == '' && isInvalidTimingDeprecated()) {\n throw new TypeError(easing + ' is not a valid value for easing');\n }\n return normalizedEasing;\n }\n\n function parseEasingFunction(normalizedEasing) {\n if (normalizedEasing == 'linear') {\n return linear;\n }\n var cubicData = cubicBezierRe.exec(normalizedEasing);\n if (cubicData) {\n return cubic.apply(this, cubicData.slice(1).map(Number));\n }\n var stepData = stepRe.exec(normalizedEasing);\n if (stepData) {\n return step(Number(stepData[1]), {'start': Start, 'middle': Middle, 'end': End}[stepData[2]]);\n }\n var preset = presets[normalizedEasing];\n if (preset) {\n return preset;\n }\n // At this point none of our parse attempts succeeded; the easing is invalid.\n // Fall back to linear in the interest of not crashing the page.\n return linear;\n }\n\n function calculateActiveDuration(timing) {\n return Math.abs(repeatedDuration(timing) / timing.playbackRate);\n }\n\n function repeatedDuration(timing) {\n // https://w3c.github.io/web-animations/#calculating-the-active-duration\n if (timing.duration === 0 || timing.iterations === 0) {\n return 0;\n }\n return timing.duration * timing.iterations;\n }\n\n var PhaseNone = 0;\n var PhaseBefore = 1;\n var PhaseAfter = 2;\n var PhaseActive = 3;\n\n function calculatePhase(activeDuration, localTime, timing) {\n // https://w3c.github.io/web-animations/#animation-effect-phases-and-states\n if (localTime == null) {\n return PhaseNone;\n }\n\n var endTime = timing.delay + activeDuration + timing.endDelay;\n if (localTime < Math.min(timing.delay, endTime)) {\n return PhaseBefore;\n }\n if (localTime >= Math.min(timing.delay + activeDuration, endTime)) {\n return PhaseAfter;\n }\n\n return PhaseActive;\n }\n\n function calculateActiveTime(activeDuration, fillMode, localTime, phase, delay) {\n // https://w3c.github.io/web-animations/#calculating-the-active-time\n switch (phase) {\n case PhaseBefore:\n if (fillMode == 'backwards' || fillMode == 'both')\n return 0;\n return null;\n case PhaseActive:\n return localTime - delay;\n case PhaseAfter:\n if (fillMode == 'forwards' || fillMode == 'both')\n return activeDuration;\n return null;\n case PhaseNone:\n return null;\n }\n }\n\n function calculateOverallProgress(iterationDuration, phase, iterations, activeTime, iterationStart) {\n // https://w3c.github.io/web-animations/#calculating-the-overall-progress\n var overallProgress = iterationStart;\n if (iterationDuration === 0) {\n if (phase !== PhaseBefore) {\n overallProgress += iterations;\n }\n } else {\n overallProgress += activeTime / iterationDuration;\n }\n return overallProgress;\n }\n\n function calculateSimpleIterationProgress(overallProgress, iterationStart, phase, iterations, activeTime, iterationDuration) {\n // https://w3c.github.io/web-animations/#calculating-the-simple-iteration-progress\n\n var simpleIterationProgress = (overallProgress === Infinity) ? iterationStart % 1 : overallProgress % 1;\n if (simpleIterationProgress === 0 && phase === PhaseAfter && iterations !== 0 &&\n (activeTime !== 0 || iterationDuration === 0)) {\n simpleIterationProgress = 1;\n }\n return simpleIterationProgress;\n }\n\n function calculateCurrentIteration(phase, iterations, simpleIterationProgress, overallProgress) {\n // https://w3c.github.io/web-animations/#calculating-the-current-iteration\n if (phase === PhaseAfter && iterations === Infinity) {\n return Infinity;\n }\n if (simpleIterationProgress === 1) {\n return Math.floor(overallProgress) - 1;\n }\n return Math.floor(overallProgress);\n }\n\n function calculateDirectedProgress(playbackDirection, currentIteration, simpleIterationProgress) {\n // https://w3c.github.io/web-animations/#calculating-the-directed-progress\n var currentDirection = playbackDirection;\n if (playbackDirection !== 'normal' && playbackDirection !== 'reverse') {\n var d = currentIteration;\n if (playbackDirection === 'alternate-reverse') {\n d += 1;\n }\n currentDirection = 'normal';\n if (d !== Infinity && d % 2 !== 0) {\n currentDirection = 'reverse';\n }\n }\n if (currentDirection === 'normal') {\n return simpleIterationProgress;\n }\n return 1 - simpleIterationProgress;\n }\n\n function calculateIterationProgress(activeDuration, localTime, timing) {\n var phase = calculatePhase(activeDuration, localTime, timing);\n var activeTime = calculateActiveTime(activeDuration, timing.fill, localTime, phase, timing.delay);\n if (activeTime === null)\n return null;\n\n var overallProgress = calculateOverallProgress(timing.duration, phase, timing.iterations, activeTime, timing.iterationStart);\n var simpleIterationProgress = calculateSimpleIterationProgress(overallProgress, timing.iterationStart, phase, timing.iterations, activeTime, timing.duration);\n var currentIteration = calculateCurrentIteration(phase, timing.iterations, simpleIterationProgress, overallProgress);\n var directedProgress = calculateDirectedProgress(timing.direction, currentIteration, simpleIterationProgress);\n\n // https://w3c.github.io/web-animations/#calculating-the-transformed-progress\n // https://w3c.github.io/web-animations/#calculating-the-iteration-progress\n return timing._easingFunction(directedProgress);\n }\n\n shared.cloneTimingInput = cloneTimingInput;\n shared.makeTiming = makeTiming;\n shared.numericTimingToObject = numericTimingToObject;\n shared.normalizeTimingInput = normalizeTimingInput;\n shared.calculateActiveDuration = calculateActiveDuration;\n shared.calculateIterationProgress = calculateIterationProgress;\n shared.calculatePhase = calculatePhase;\n shared.normalizeEasing = normalizeEasing;\n shared.parseEasingFunction = parseEasingFunction;\n\n if (WEB_ANIMATIONS_TESTING) {\n testing.normalizeTimingInput = normalizeTimingInput;\n testing.normalizeEasing = normalizeEasing;\n testing.parseEasingFunction = parseEasingFunction;\n testing.calculateActiveDuration = calculateActiveDuration;\n testing.calculatePhase = calculatePhase;\n testing.PhaseNone = PhaseNone;\n testing.PhaseBefore = PhaseBefore;\n testing.PhaseActive = PhaseActive;\n testing.PhaseAfter = PhaseAfter;\n }\n\n})(webAnimationsShared, webAnimationsTesting);\n","// Copyright 2014 Google Inc. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n(function(shared, scope, testing) {\n\n scope.convertEffectInput = function(effectInput) {\n var keyframes = shared.normalizeKeyframes(effectInput);\n var propertySpecificKeyframeGroups = makePropertySpecificKeyframeGroups(keyframes);\n var interpolations = makeInterpolations(propertySpecificKeyframeGroups);\n return function(target, fraction) {\n if (fraction != null) {\n interpolations.filter(function(interpolation) {\n return fraction >= interpolation.applyFrom && fraction < interpolation.applyTo;\n }).forEach(function(interpolation) {\n var offsetFraction = fraction - interpolation.startOffset;\n var localDuration = interpolation.endOffset - interpolation.startOffset;\n var scaledLocalTime = localDuration == 0 ? 0 : interpolation.easingFunction(offsetFraction / localDuration);\n scope.apply(target, interpolation.property, interpolation.interpolation(scaledLocalTime));\n });\n } else {\n for (var property in propertySpecificKeyframeGroups)\n if (property != 'offset' && property != 'easing' && property != 'composite')\n scope.clear(target, property);\n }\n };\n };\n\n\n function makePropertySpecificKeyframeGroups(keyframes) {\n var propertySpecificKeyframeGroups = {};\n\n for (var i = 0; i < keyframes.length; i++) {\n for (var member in keyframes[i]) {\n if (member != 'offset' && member != 'easing' && member != 'composite') {\n var propertySpecificKeyframe = {\n offset: keyframes[i].offset,\n easing: keyframes[i].easing,\n value: keyframes[i][member]\n };\n propertySpecificKeyframeGroups[member] = propertySpecificKeyframeGroups[member] || [];\n propertySpecificKeyframeGroups[member].push(propertySpecificKeyframe);\n }\n }\n }\n\n for (var groupName in propertySpecificKeyframeGroups) {\n var group = propertySpecificKeyframeGroups[groupName];\n if (group[0].offset != 0 || group[group.length - 1].offset != 1) {\n throw {\n type: DOMException.NOT_SUPPORTED_ERR,\n name: 'NotSupportedError',\n message: 'Partial keyframes are not supported'\n };\n }\n }\n return propertySpecificKeyframeGroups;\n }\n\n\n function makeInterpolations(propertySpecificKeyframeGroups) {\n var interpolations = [];\n for (var groupName in propertySpecificKeyframeGroups) {\n var keyframes = propertySpecificKeyframeGroups[groupName];\n for (var i = 0; i < keyframes.length - 1; i++) {\n var startIndex = i;\n var endIndex = i + 1;\n var startOffset = keyframes[startIndex].offset;\n var endOffset = keyframes[endIndex].offset;\n var applyFrom = startOffset;\n var applyTo = endOffset;\n\n if (i == 0) {\n applyFrom = -Infinity;\n WEB_ANIMATIONS_TESTING && console.assert(startOffset == 0);\n if (endOffset == 0) {\n endIndex = startIndex;\n }\n }\n if (i == keyframes.length - 2) {\n applyTo = Infinity;\n WEB_ANIMATIONS_TESTING && console.assert(endOffset == 1);\n if (startOffset == 1) {\n startIndex = endIndex;\n }\n }\n\n interpolations.push({\n applyFrom: applyFrom,\n applyTo: applyTo,\n startOffset: keyframes[startIndex].offset,\n endOffset: keyframes[endIndex].offset,\n easingFunction: shared.parseEasingFunction(keyframes[startIndex].easing),\n property: groupName,\n interpolation: scope.propertyInterpolation(groupName,\n keyframes[startIndex].value,\n keyframes[endIndex].value)\n });\n }\n }\n interpolations.sort(function(leftInterpolation, rightInterpolation) {\n return leftInterpolation.startOffset - rightInterpolation.startOffset;\n });\n return interpolations;\n }\n\n\n if (WEB_ANIMATIONS_TESTING) {\n testing.makePropertySpecificKeyframeGroups = makePropertySpecificKeyframeGroups;\n testing.makeInterpolations = makeInterpolations;\n }\n\n})(webAnimationsShared, webAnimations1, webAnimationsTesting);\n","// Copyright 2014 Google Inc. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n(function(shared, scope, testing) {\n\n var propertyHandlers = {};\n\n function toCamelCase(property) {\n return property.replace(/-(.)/g, function(_, c) {\n return c.toUpperCase();\n });\n }\n\n function addPropertyHandler(parser, merger, property) {\n propertyHandlers[property] = propertyHandlers[property] || [];\n propertyHandlers[property].push([parser, merger]);\n }\n function addPropertiesHandler(parser, merger, properties) {\n for (var i = 0; i < properties.length; i++) {\n var property = properties[i];\n WEB_ANIMATIONS_TESTING && console.assert(property.toLowerCase() === property);\n addPropertyHandler(parser, merger, toCamelCase(property));\n }\n }\n scope.addPropertiesHandler = addPropertiesHandler;\n\n var initialValues = {\n backgroundColor: 'transparent',\n backgroundPosition: '0% 0%',\n borderBottomColor: 'currentColor',\n borderBottomLeftRadius: '0px',\n borderBottomRightRadius: '0px',\n borderBottomWidth: '3px',\n borderLeftColor: 'currentColor',\n borderLeftWidth: '3px',\n borderRightColor: 'currentColor',\n borderRightWidth: '3px',\n // Spec says this should be 0 but in practise it is 2px.\n borderSpacing: '2px',\n borderTopColor: 'currentColor',\n borderTopLeftRadius: '0px',\n borderTopRightRadius: '0px',\n borderTopWidth: '3px',\n bottom: 'auto',\n clip: 'rect(0px, 0px, 0px, 0px)',\n color: 'black', // Depends on user agent.\n fontSize: '100%',\n fontWeight: '400',\n height: 'auto',\n left: 'auto',\n letterSpacing: 'normal',\n lineHeight: '120%',\n marginBottom: '0px',\n marginLeft: '0px',\n marginRight: '0px',\n marginTop: '0px',\n maxHeight: 'none',\n maxWidth: 'none',\n minHeight: '0px',\n minWidth: '0px',\n opacity: '1.0',\n outlineColor: 'invert',\n outlineOffset: '0px',\n outlineWidth: '3px',\n paddingBottom: '0px',\n paddingLeft: '0px',\n paddingRight: '0px',\n paddingTop: '0px',\n right: 'auto',\n textIndent: '0px',\n textShadow: '0px 0px 0px transparent',\n top: 'auto',\n transform: '',\n verticalAlign: '0px',\n visibility: 'visible',\n width: 'auto',\n wordSpacing: 'normal',\n zIndex: 'auto'\n };\n\n function propertyInterpolation(property, left, right) {\n var ucProperty = property;\n if (/-/.test(property) && !shared.isDeprecated('Hyphenated property names', '2016-03-22', 'Use camelCase instead.', true)) {\n ucProperty = toCamelCase(property);\n }\n if (left == 'initial' || right == 'initial') {\n if (left == 'initial')\n left = initialValues[ucProperty];\n if (right == 'initial')\n right = initialValues[ucProperty];\n }\n var handlers = left == right ? [] : propertyHandlers[ucProperty];\n for (var i = 0; handlers && i < handlers.length; i++) {\n var parsedLeft = handlers[i][0](left);\n var parsedRight = handlers[i][0](right);\n if (parsedLeft !== undefined && parsedRight !== undefined) {\n var interpolationArgs = handlers[i][1](parsedLeft, parsedRight);\n if (interpolationArgs) {\n var interp = scope.Interpolation.apply(null, interpolationArgs);\n return function(t) {\n if (t == 0) return left;\n if (t == 1) return right;\n return interp(t);\n };\n }\n }\n }\n return scope.Interpolation(false, true, function(bool) {\n return bool ? right : left;\n });\n }\n scope.propertyInterpolation = propertyInterpolation;\n\n})(webAnimationsShared, webAnimations1, webAnimationsTesting);\n\n","// Copyright 2014 Google Inc. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n(function(shared, scope, testing) {\n\n function EffectTime(timing) {\n var timeFraction = 0;\n var activeDuration = shared.calculateActiveDuration(timing);\n var effectTime = function(localTime) {\n return shared.calculateIterationProgress(activeDuration, localTime, timing);\n };\n effectTime._totalDuration = timing.delay + activeDuration + timing.endDelay;\n return effectTime;\n }\n\n scope.KeyframeEffect = function(target, effectInput, timingInput, id) {\n var effectTime = EffectTime(shared.normalizeTimingInput(timingInput));\n var interpolations = scope.convertEffectInput(effectInput);\n var timeFraction;\n var keyframeEffect = function() {\n WEB_ANIMATIONS_TESTING && console.assert(typeof timeFraction !== 'undefined');\n interpolations(target, timeFraction);\n };\n // Returns whether the keyframeEffect is in effect or not after the timing update.\n keyframeEffect._update = function(localTime) {\n timeFraction = effectTime(localTime);\n return timeFraction !== null;\n };\n keyframeEffect._clear = function() {\n interpolations(target, null);\n };\n keyframeEffect._hasSameTarget = function(otherTarget) {\n return target === otherTarget;\n };\n keyframeEffect._target = target;\n keyframeEffect._totalDuration = effectTime._totalDuration;\n keyframeEffect._id = id;\n return keyframeEffect;\n };\n\n scope.NullEffect = function(clear) {\n var nullEffect = function() {\n if (clear) {\n clear();\n clear = null;\n }\n };\n nullEffect._update = function() {\n return null;\n };\n nullEffect._totalDuration = 0;\n nullEffect._hasSameTarget = function() {\n return false;\n };\n return nullEffect;\n };\n\n if (WEB_ANIMATIONS_TESTING) {\n testing.webAnimations1KeyframeEffect = scope.KeyframeEffect;\n testing.effectTime = EffectTime;\n }\n\n})(webAnimationsShared, webAnimations1, webAnimationsTesting);\n","// Copyright 2014 Google Inc. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n(function(scope, testing) {\n\n var styleAttributes = {\n cssText: 1,\n length: 1,\n parentRule: 1,\n };\n\n var styleMethods = {\n getPropertyCSSValue: 1,\n getPropertyPriority: 1,\n getPropertyValue: 1,\n item: 1,\n removeProperty: 1,\n setProperty: 1,\n };\n\n var styleMutatingMethods = {\n removeProperty: 1,\n setProperty: 1,\n };\n\n function configureProperty(object, property, descriptor) {\n descriptor.enumerable = true;\n descriptor.configurable = true;\n Object.defineProperty(object, property, descriptor);\n }\n\n function AnimatedCSSStyleDeclaration(element) {\n WEB_ANIMATIONS_TESTING && console.assert(!(element.style instanceof AnimatedCSSStyleDeclaration),\n 'Element must not already have an animated style attached.');\n\n // Stores the inline style of the element on its behalf while the\n // polyfill uses the element's inline style to simulate web animations.\n // This is needed to fake regular inline style CSSOM access on the element.\n this._surrogateStyle = document.createElementNS('http://www.w3.org/1999/xhtml', 'div').style;\n this._style = element.style;\n this._length = 0;\n this._isAnimatedProperty = {};\n\n // Copy the inline style contents over to the surrogate.\n for (var i = 0; i < this._style.length; i++) {\n var property = this._style[i];\n this._surrogateStyle[property] = this._style[property];\n }\n this._updateIndices();\n }\n\n AnimatedCSSStyleDeclaration.prototype = {\n get cssText() {\n return this._surrogateStyle.cssText;\n },\n set cssText(text) {\n var isAffectedProperty = {};\n for (var i = 0; i < this._surrogateStyle.length; i++) {\n isAffectedProperty[this._surrogateStyle[i]] = true;\n }\n this._surrogateStyle.cssText = text;\n this._updateIndices();\n for (var i = 0; i < this._surrogateStyle.length; i++) {\n isAffectedProperty[this._surrogateStyle[i]] = true;\n }\n for (var property in isAffectedProperty) {\n if (!this._isAnimatedProperty[property]) {\n this._style.setProperty(property, this._surrogateStyle.getPropertyValue(property));\n }\n }\n },\n get length() {\n return this._surrogateStyle.length;\n },\n get parentRule() {\n return this._style.parentRule;\n },\n // Mirror the indexed getters and setters of the surrogate style.\n _updateIndices: function() {\n while (this._length < this._surrogateStyle.length) {\n Object.defineProperty(this, this._length, {\n configurable: true,\n enumerable: false,\n get: (function(index) {\n return function() { return this._surrogateStyle[index]; };\n })(this._length)\n });\n this._length++;\n }\n while (this._length > this._surrogateStyle.length) {\n this._length--;\n Object.defineProperty(this, this._length, {\n configurable: true,\n enumerable: false,\n value: undefined\n });\n }\n },\n _set: function(property, value) {\n this._style[property] = value;\n this._isAnimatedProperty[property] = true;\n },\n _clear: function(property) {\n this._style[property] = this._surrogateStyle[property];\n delete this._isAnimatedProperty[property];\n },\n };\n\n // Wrap the style methods.\n for (var method in styleMethods) {\n AnimatedCSSStyleDeclaration.prototype[method] = (function(method, modifiesStyle) {\n return function() {\n var result = this._surrogateStyle[method].apply(this._surrogateStyle, arguments);\n if (modifiesStyle) {\n if (!this._isAnimatedProperty[arguments[0]])\n this._style[method].apply(this._style, arguments);\n this._updateIndices();\n }\n return result;\n }\n })(method, method in styleMutatingMethods);\n }\n\n // Wrap the style.cssProperty getters and setters.\n for (var property in document.documentElement.style) {\n if (property in styleAttributes || property in styleMethods) {\n continue;\n }\n (function(property) {\n configureProperty(AnimatedCSSStyleDeclaration.prototype, property, {\n get: function() {\n return this._surrogateStyle[property];\n },\n set: function(value) {\n this._surrogateStyle[property] = value;\n this._updateIndices();\n if (!this._isAnimatedProperty[property])\n this._style[property] = value;\n }\n });\n })(property);\n }\n\n function ensureStyleIsPatched(element) {\n if (element._webAnimationsPatchedStyle)\n return;\n\n var animatedStyle = new AnimatedCSSStyleDeclaration(element);\n try {\n configureProperty(element, 'style', { get: function() { return animatedStyle; } });\n } catch (_) {\n // iOS and older versions of Safari (pre v7) do not support overriding an element's\n // style object. Animations will clobber any inline styles as a result.\n element.style._set = function(property, value) {\n element.style[property] = value;\n };\n element.style._clear = function(property) {\n element.style[property] = '';\n };\n }\n\n // We must keep a handle on the patched style to prevent it from getting GC'd.\n element._webAnimationsPatchedStyle = element.style;\n }\n\n scope.apply = function(element, property, value) {\n ensureStyleIsPatched(element);\n element.style._set(scope.propertyName(property), value);\n };\n\n scope.clear = function(element, property) {\n if (element._webAnimationsPatchedStyle) {\n element.style._clear(scope.propertyName(property));\n }\n };\n\n if (WEB_ANIMATIONS_TESTING)\n testing.ensureStyleIsPatched = ensureStyleIsPatched;\n\n})(webAnimations1, webAnimationsTesting);\n"]} \ No newline at end of file +{"version":3,"sources":["../src/ts/components/helpers.ts","../src/ts/components/box.ts","../src/ts/components/inline.ts","../src/ts/components/slider.ts","../src/ts/index.ts"," [synthetic:base] "," [synthetic:util/global] "," [synthetic:util/defineproperty] "," [synthetic:util/polyfill] "," [synthetic:es6/array/fill] "," [synthetic:es6/symbol] "," [synthetic:es6/array/from] "," [synthetic:util/owns] "," [synthetic:es6/object/assign] "," [synthetic:util/findinternal] "," [synthetic:es6/array/find] ","../node_modules/web-animations-js/src/scope.js","../node_modules/web-animations-js/src/timing-utilities.js","../node_modules/web-animations-js/src/keyframe-interpolations.js","../node_modules/web-animations-js/src/property-interpolation.js","../node_modules/web-animations-js/src/keyframe-effect.js","../node_modules/web-animations-js/src/apply-preserving-inline-style.js"],"names":["create","tagName","id","click","el","document","createElement","onclick","createClass","className","iterableToArray","iterable","list","i","length","push","applyStyles","styles","key","style","hide","originalDisplay","display","show","insertAfter","target","parentElement","insertBefore","nextSibling","toggleClass","on","classList","contains","toggle","libBind","$","videobox","$.videobox","video","VideoboxObj","open","vbClose","$.vbClose","close","fn","$.fn.videobox","options","linkMapper","elements","this","bind","libBind$1","vbInline","$.vbInline","VbInlineObj","vbiClose","$.vbiClose","callback","$.fn.vbInline","detach","forEach","querySelector","VbInline","parentNode","removeChild","libBind$2","vbSlider","$.vbSlider","VbSlider","getSlider","$.fn.vbSlider","bindAll","Videobox","$jscomp","scope","getGlobal","a","window","global","defineProperty","Object","defineProperties","c","e","get","set","TypeError","Array","prototype","value","polyfill","k","split","p","configurable","writable","Math","max","Number","SYMBOL_PREFIX","initSymbol","Symbol","symbolCounter_","initSymbolIterator","iterator","arrayIterator","iteratorPrototype","done","next","r","call","g","owns","hasOwnProperty","arguments","findInternal","String","v","webAnimationsShared","webAnimations1","shared","testing","d","linear","isDeprecated","f","timingInput","forGroup","effect","timing","b","isNaN","undefined","property","fills","directions","x","start_gradient","h","end_gradient","end","start","xEst","mid","l","j","count","pos","stepSize","easing","styleForCleaning","normalizedEasing","isInvalidTimingDeprecated","cubicBezierRe","cubicData","apply","stepRe","stepData","Start","middle","Middle","End","presets","preset","o","activeDuration","localTime","G","endTime","PhaseBefore","PhaseAfter","PhaseActive","_setMember","member","playbackRate","_playbackRate","delay","_delay","endDelay","_endDelay","fill","_fill","iterationStart","_iterationStart","duration","_duration","direction","_direction","_easingFunction","_easing","iterations","_iterations","y","z","A","B","ease","ease-in","ease-out","ease-in-out","step-start","step-middle","step-end","C","E","F","H","I","J","cloneTimingInput","clone","m","makeTiming","numericTimingToObject","normalizeTimingInput","calculateActiveDuration","abs","calculateIterationProgress","u","calculatePhase","phase","fillMode","activeTime","iterationDuration","overallProgress","Infinity","simpleIterationProgress","currentIteration","playbackDirection","currentDirection","normalizeEasing","parseEasingFunction","isArray","offset","composite","sort","background","border","borderBottom","borderColor","borderLeft","borderRadius","borderRight","borderTop","borderWidth","flex","font","margin","outline","padding","createElementNS","thin","medium","thick","borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","fontSize","xx-small","x-small","small","large","x-large","xx-large","fontWeight","normal","bold","outlineWidth","textShadow","none","boxShadow","convertToArrayForm","normalizeKeyframes","from","map","isFinite","type","DOMException","NOT_SUPPORTED_ERR","name","message","lastIndexOf","filter","a.isDeprecated","Date","setMonth","getMonth","console","warn","toDateString","deprecated","a.deprecated","Error","documentElement","animate","applyFrom","applyTo","startOffset","endOffset","easingFunction","interpolation","propertyInterpolation","convertEffectInput","b.convertEffectInput","clear","replace","toUpperCase","addPropertiesHandler","backgroundColor","backgroundPosition","borderBottomColor","borderBottomLeftRadius","borderBottomRightRadius","borderLeftColor","borderRightColor","borderSpacing","borderTopColor","borderTopLeftRadius","borderTopRightRadius","bottom","clip","color","height","left","letterSpacing","lineHeight","marginBottom","marginLeft","marginRight","marginTop","maxHeight","maxWidth","minHeight","minWidth","opacity","outlineColor","outlineOffset","paddingBottom","paddingLeft","paddingRight","paddingTop","right","textIndent","top","transform","verticalAlign","visibility","width","wordSpacing","zIndex","test","n","Interpolation","_totalDuration","KeyframeEffect","b.KeyframeEffect","_update","k._update","_clear","k._clear","_hasSameTarget","k._hasSameTarget","_target","_id","NullEffect","b.NullEffect","b._update","b._hasSameTarget","enumerable","_surrogateStyle","_style","_length","_isAnimatedProperty","_updateIndices","_webAnimationsPatchedStyle","_set","a.style._set","a.style._clear","cssText","parentRule","getPropertyCSSValue","getPropertyPriority","getPropertyValue","item","removeProperty","setProperty","a.apply","propertyName","a.clear","Element","window.Element.prototype.animate","timeline","_play","a.Interpolation","concat","composeMatrix","quat","dot","min","acos","sin","sqrt","cos","sequenceNumber","currentTime","timelineTime","cancelable","bubbles","currentTarget","defaultPrevented","eventPhase","Event","AT_TARGET","timeStamp","now","Animation","b.Animation","_sequenceNumber","_currentTime","_startTime","_paused","_finishedFlag","_inTimeline","onfinish","_finishHandlers","_effect","_inEffect","_idle","_currentTimePending","_ensureAlive","_animations","_tickCurrentTime","_isFinished","restart","_timeline","applyDirtiedAnimation","startTime","playState","_rewind","play","pause","finish","cancel","reverse","addEventListener","removeEventListener","indexOf","splice","_fireEvents","setTimeout","_tick","_needsTick","pending","running","_targetAnimations","_activeAnimations","_markTarget","_unmarkTarget","q","performance","requestAnimationFrame","window.requestAnimationFrame","cancelAnimationFrame","window.cancelAnimationFrame","_timing","b.restart","b.applyDirtiedAnimation","slice","deg","grad","turn","PI","rad","t","tan","px","s","w","makeMatrixDecomposition","reduce","exec","ignoreCase","toLowerCase","substr","join","consumeToken","consumeTrimmed","consumeRepeated","consumeParenthesised","ignore","optional","consumeList","mergeNestedRepeated","mergeWrappedNestedRepeated","mergeList","inset","lengths","consumeLengthOrPercent","consumeColor","propertySpecificKeyframeGroups","makeInterpolations","interpolations","keyframes","groupName","startIndex","endIndex","mergeDimensions","mergeColors","group","lengthReconstitution","result","string","makePropertySpecificKeyframeGroups","fraction","offsetFraction","localDuration","scaledLocalTime","rightInterpolation","effectInput","parseNumber","leftInterpolation","webAnimationsTesting","addPropertyHandler","toCamelCase","_","merger","propertyHandlers","parser","properties","ucProperty","pixelColor","alpha","initialValues","handlers","parsedLeft","canvas","interpolationArgs","parsedRight","match","taggedUnitRegExp","reductions","typeCheck","unit","units","EffectTime","effectTime","timeFraction","parseLengthOrPercent","parseAngle","keyframeEffect","consumeSizePairList","nullEffect","consumeSizePair","configureProperty","mergeDimensionsNonNegative","AnimatedCSSStyleDeclaration","element","constructor","links","isOpen","animations","defaults","closeText","closeKeys","hideBottom","root","body","animation","overlay","wrap","center","appendChild","responsive","bottomContainer","allowFullscreen","frameBorder","button","innerHTML","caption","activeVideo","setPlayerSizePosition","evt","keyCode","querySelectorAll","link","vbListener","vbiListener","preventDefault","stopPropagation","assign","setup","origin","getAttribute","bw","getBoundingClientRect","bt","clientWidth","clientHeight","changeVideo","stop","setPlayerPosition","nw","ratio","JSON","parse","pop","url","title","newVideo","innerText","parent","offsetParent","wbr","obr","offsetLeft","offsetTop","targetRatio","centerOrigin","centerTarget","originRatio","centerAnimation","centerAnimation.onfinish","animateBotton","showVideo","bottomAnimation","bottomAnimation.onfinish","setAttribute","anim","jQuery","jQuery.fn.videobox","Zepto","hidding","hidden","closeTimeout","maxW","v1","v1.onfinish","v2","class","wrapDest","animation.onfinish","responsiveDest","animation2","animation2.onfinish","timer","clearTimeout","queue","timeout","moving","visible","detachedElements","moveAll","singleDuration","doubleClickTimeout","outer","prev","showPrev","showNext","content","buttons","attached","basis","parseInt","setCount","sliders","sizeTarget","trim","move","opts","slider","find","updateSizes","queueMove","setBasis","getTarget","dir","oldHeight","num","shift","firstChild","oldElements","animationProperties","positionOrigin","positionDest","skip","offsetHeight","elm","unshift","current","ch","base","offsetWidth","floor","setAttached","children","isMoving","readyState","ready"],"mappings":"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","file":"videobox.bundle.js","sourcesContent":["/**\r\n * Interface for Videobox configuration\r\n */\r\nexport interface vbOptions {\r\n\r\n /**\r\n * default player width\r\n */\r\n width?: number,\r\n\r\n /**\r\n * default player height\r\n */\r\n height?: number,\r\n\r\n /**\r\n * text for the close button\r\n */\r\n closeText?: string,\r\n\r\n /**\r\n * player padding\r\n */\r\n padding?: number,\r\n\r\n /**\r\n * element the pop-up will be attached to \r\n */\r\n root?: HTMLElement,\r\n\r\n /**\r\n * adittional style for the player (doesn't apply to the pop-up player)\r\n */\r\n style?: string,\r\n\r\n /**\r\n * adittional class name(s) for the player (doesn't apply to the pop-up player)\r\n */\r\n class?: string,\r\n\r\n /**\r\n * time (in ms) while the close button remains visible when the inline player is shown\r\n */\r\n closeTimeout?: number,\r\n\r\n /**\r\n * keycodes to close the pop-up / inlie player\r\n */\r\n closeKeys?: number[],\r\n\r\n /**\r\n * if true, the bottom line on the pop-up player won't be displayed\r\n */\r\n hideBottom?: boolean\r\n\r\n /**\r\n * animation properties (see web animations specifications)\r\n */\r\n animation?: KeyframeAnimationOptions\r\n}\r\n\r\n/**\r\n * Interface for the Videobox's video element\r\n */\r\nexport interface vbVideo {\r\n\r\n /**\r\n * player url\r\n */\r\n url: string,\r\n\r\n /**\r\n * optional title, is supplied it'll dispalyed under the player\r\n */\r\n title?: string,\r\n\r\n /**\r\n * origin for Videobox actions, such as player open animation\r\n */\r\n origin: vbOrigin,\r\n\r\n /**\r\n * configuration overrides\r\n */\r\n options: vbOptions\r\n}\r\n\r\n/**\r\n * Interface for video origin\r\n */\r\nexport interface vbOrigin {\r\n\r\n /**\r\n * X coordinate where the player will appear (relative to options.root)\r\n */\r\n x?: number,\r\n\r\n /**\r\n * Y coordinate where the player will appear (relative to options.root)\r\n */\r\n y?: number,\r\n\r\n /**\r\n * initial player width\r\n */\r\n width?: number,\r\n\r\n /**\r\n * initial player height\r\n */\r\n height?: number,\r\n\r\n /**\r\n * target element (the clicked element)\r\n */\r\n target: HTMLElement\r\n}\r\n\r\n/** @internal */\r\nexport function create(tagName: string, id?: string, click?: any): HTMLElement {\r\n let el = document.createElement(tagName)\r\n if (id)\r\n el.id = id\r\n if (click)\r\n el.onclick = click\r\n return el\r\n}\r\n\r\n/** @internal */\r\nexport function createClass(tagName: string, className?: string, click?: any): HTMLElement {\r\n let el = document.createElement(tagName)\r\n if (className)\r\n el.className = className\r\n if (click)\r\n el.onclick = click\r\n return el\r\n}\r\n\r\n/** @internal */\r\nexport function iterableToArray(iterable: any): Array {\r\n let list = []\r\n for (let i = 0; i < iterable.length; i++)\r\n list.push(iterable[i])\r\n return list\r\n}\r\n\r\n/** @internal */\r\nexport function applyStyles(el: HTMLElement, styles: { [key: string]: string }): void {\r\n for (let key in styles)\r\n if (key in el.style)\r\n el.style[key] = styles[key]\r\n}\r\n\r\n/** @internal */\r\nexport function hide(el: HTMLElement) {\r\n el['originalDisplay'] = (el.style.display && (el.style.display == 'none' ? '' : el.style.display)) || ''\r\n el.style.display = 'none'\r\n}\r\n\r\n/** @internal */\r\nexport function show(el: HTMLElement) {\r\n if ('originalDisplay' in el && el['originalDisplay'])\r\n el.style.display = el['originalDisplay']\r\n else\r\n el.style.display = ''\r\n}\r\n\r\n/** @internal */\r\nexport function insertAfter(el: HTMLElement, target: HTMLElement) {\r\n target.parentElement.insertBefore(el, target.nextSibling)\r\n}\r\n\r\n/** @internal */\r\nexport function toggleClass(el: HTMLElement, className: string, on: boolean) {\r\n if (el.classList.contains(className) ? !on : on) el.classList.toggle(className)\r\n}","import { create, applyStyles, vbOptions, vbVideo, hide, show, iterableToArray, toggleClass } from './helpers'\r\nimport { VbInlineObj as VbInline } from './inline'\r\n\r\nexport class Videobox {\r\n\r\n private closeText: HTMLSpanElement\r\n private center: HTMLDivElement\r\n private caption: HTMLElement\r\n private wrap: HTMLDivElement\r\n private responsive: HTMLDivElement\r\n private overlay: HTMLDivElement\r\n private bottomContainer: HTMLDivElement\r\n private video: HTMLIFrameElement\r\n private bottom: HTMLDivElement\r\n private button: HTMLLinkElement\r\n\r\n private activeVideo: vbVideo\r\n private isOpen: boolean = false\r\n private animations: Array = []\r\n\r\n private defaults: vbOptions = {\r\n width: 720,\r\n height: 405,\r\n closeText: 'Close',\r\n padding: 30,\r\n closeKeys: [27, 81],\r\n hideBottom: false,\r\n root: document.body,\r\n animation: {\r\n duration: 500,\r\n iterations: 1,\r\n delay: 0,\r\n easing: 'ease-in-out'\r\n }\r\n }\r\n\r\n /** @internal */\r\n constructor(links?: Array | string, options: vbOptions = {}, linkMapper?: ((el: HTMLElement) => vbVideo)) {\r\n this.overlay = create('div', 'vbOverlay', () => this.close())\r\n\r\n this.wrap = create('div', 'vbWrap')\r\n\r\n this.center = create('div', 'vbCenter')\r\n this.wrap.appendChild(this.center)\r\n\r\n this.responsive = create('div', 'vbResponsive')\r\n this.center.appendChild(this.responsive)\r\n\r\n this.bottomContainer = create('div', 'vbBottomContainer')\r\n this.center.appendChild(this.bottomContainer)\r\n\r\n this.video = create('iframe', 'vbVideo')\r\n this.video.allowFullscreen = true\r\n this.video.frameBorder = '0px'\r\n hide(this.video)\r\n this.responsive.appendChild(this.video)\r\n\r\n this.bottom = create('div', 'vbBottom')\r\n this.bottomContainer.appendChild(this.bottom)\r\n\r\n this.button = create('a', 'vbCloseLink', () => this.close())\r\n this.button.innerHTML = '' + this.defaults.closeText + ''\r\n this.bottom.appendChild(this.button)\r\n\r\n this.caption = create('strong', 'vbCaption')\r\n this.bottom.appendChild(this.caption)\r\n\r\n this.closeText = this.button.querySelector('#vbCloseText')\r\n\r\n window.addEventListener('resize', () => {\r\n if (this.isOpen && this.activeVideo)\r\n this.setPlayerSizePosition()\r\n })\r\n\r\n window.addEventListener('keyup', (evt) => {\r\n if (this.activeVideo && this.activeVideo.options.closeKeys.indexOf(evt.keyCode) >= 0)\r\n this.close()\r\n })\r\n\r\n if (links)\r\n this.bind(links, options, linkMapper || this.linkMapper)\r\n }\r\n\r\n /**\r\n * Map pop-up player to links \r\n * \r\n * @param links array of elements or query selector to bind Videobox to\r\n * @param options player configuration\r\n * @param linkMapper function to get a Videobox video object from the clicked element\r\n */\r\n bind(\r\n links: Array | string,\r\n options: vbOptions = {},\r\n linkMapper: ((el: HTMLElement) => vbVideo) = this.linkMapper\r\n ): void {\r\n if (typeof links == 'string')\r\n links = iterableToArray(document.querySelectorAll(links))\r\n\r\n links.forEach(link => {\r\n if (link['vbListener']) link.removeEventListener('click', link['vbListener'])\r\n if (link['vbiListener']) link.removeEventListener('click', link['vbiListener'])\r\n link['vbListener'] = (evt) => {\r\n evt.preventDefault()\r\n evt.stopPropagation()\r\n let video = linkMapper(link)\r\n video.options = Object.assign({}, options, video.options)\r\n this.open(video)\r\n return false\r\n }\r\n link.addEventListener('click', link['vbListener'])\r\n })\r\n }\r\n\r\n /**\r\n * Open Videobox pop-up player\r\n * \r\n * @param video video to show\r\n */\r\n open(video: vbVideo): void {\r\n if ('VbInline' in window)\r\n window['VbInline'].close()\r\n this.close()\r\n\r\n video.options = Object.assign({}, this.defaults, video.options)\r\n if (!video.options.root) video.options.root = document.body\r\n this.setup(video)\r\n\r\n let link = video.origin.target\r\n let target = link.querySelector(link.getAttribute(\"data-target\")) || link\r\n\r\n let bw = this.wrap.getBoundingClientRect()\r\n let bt = target.getBoundingClientRect()\r\n\r\n toggleClass(target, 'vb_line_fix', true)\r\n video.origin = Object.assign({}, {\r\n x: bt.left - bw.left + target.clientWidth / 2,\r\n y: bt.top - bw.top + target.clientHeight / 2,\r\n width: target.clientWidth,\r\n height: target.clientHeight\r\n }, video.origin)\r\n toggleClass(target, 'vb_line_fix', false)\r\n\r\n this.changeVideo(video)\r\n }\r\n\r\n /**\r\n * Close the open pop-up\r\n */\r\n close() {\r\n this.stop()\r\n new Array(this.wrap, this.bottomContainer, this.overlay).forEach(el => toggleClass(el, 'visible', false))\r\n this.wrap.style.top = '0px'\r\n this.wrap.style.left = '0px'\r\n this.activeVideo = null\r\n return false\r\n }\r\n\r\n /**\r\n * Calculate and set player position & size\r\n * \r\n * @returns width to height ratio of the player (in percent)\r\n */\r\n setPlayerSizePosition(): number {\r\n if (!this.activeVideo) return\r\n\r\n this.setPlayerPosition(this.activeVideo.options.root)\r\n\r\n let width: number = this.activeVideo.options.width\r\n let height: number = this.activeVideo.options.height\r\n\r\n if (width + 2 * this.activeVideo.options.padding > this.wrap.clientWidth) {\r\n let nw = this.wrap.clientWidth - 2 * this.activeVideo.options.padding\r\n height = (height * nw) / width\r\n width = nw\r\n }\r\n if (height + 2 * this.activeVideo.options.padding > this.wrap.clientHeight)\r\n height = this.wrap.clientHeight - 2 * this.activeVideo.options.padding\r\n\r\n let ratio = (height * 100) / width\r\n this.responsive.style.paddingBottom = ratio + '%'\r\n return ratio\r\n }\r\n\r\n private linkMapper(el: HTMLElement): vbVideo {\r\n let options = JSON.parse(el.getAttribute(\"data-videobox\")) || {}\r\n if (options.root) {\r\n let root = options.root\r\n if (typeof root == 'string')\r\n root = iterableToArray(document.querySelectorAll(root))\r\n\r\n if (root.length > 0)\r\n options.root = root[0]\r\n else\r\n options.pop('root')\r\n }\r\n return {\r\n url: el.getAttribute(\"href\") || \"\",\r\n title: el.getAttribute(\"title\") || \"\",\r\n options: options,\r\n origin: { target: el }\r\n }\r\n }\r\n\r\n private setup(newVideo: vbVideo): void {\r\n this.closeText.innerText = newVideo.options.closeText\r\n newVideo.options.root.appendChild(this.overlay)\r\n newVideo.options.root.appendChild(this.wrap)\r\n this.setPlayerPosition(newVideo.options.root)\r\n }\r\n\r\n private setPlayerPosition(root: HTMLElement = this.activeVideo.options.root): void {\r\n let parent = this.wrap.offsetParent\r\n let wbr = this.wrap.getBoundingClientRect()\r\n let obr = this.overlay.getBoundingClientRect()\r\n let pos = {\r\n top: this.wrap.offsetTop - parent.offsetTop,\r\n left: this.wrap.offsetLeft - parent.offsetLeft\r\n }\r\n let diff = {\r\n top: obr.top - wbr.top,\r\n left: obr.left - wbr.left\r\n }\r\n this.wrap.style.top = (pos.top + diff.top) + 'px'\r\n this.wrap.style.left = (pos.left + diff.left) + 'px'\r\n }\r\n\r\n private changeVideo(newVideo: vbVideo): void {\r\n this.activeVideo = newVideo\r\n this.caption.innerHTML = this.activeVideo.title\r\n\r\n let targetRatio = this.setPlayerSizePosition()\r\n\r\n this.isOpen = true\r\n\r\n let centerOrigin = {\r\n top: (this.activeVideo.origin.y - this.wrap.clientHeight / 2) + 'px',\r\n left: (this.activeVideo.origin.x - this.wrap.clientWidth / 2) + 'px',\r\n 'maxWidth': this.activeVideo.origin.width + 'px'\r\n }\r\n\r\n let centerTarget = {\r\n top: '0px',\r\n left: '0px',\r\n 'maxWidth': this.activeVideo.options.width + 'px'\r\n }\r\n\r\n applyStyles(this.center, centerOrigin)\r\n new Array(this.wrap, this.overlay).forEach(el => toggleClass(el, 'visible', true))\r\n toggleClass(this.wrap, 'animating', true)\r\n\r\n let originRatio = ((this.activeVideo.origin.height * 100) / this.activeVideo.origin.width) || targetRatio\r\n if (originRatio != targetRatio)\r\n this.animations.push(this.responsive.animate([\r\n { 'paddingBottom': originRatio + '%' },\r\n { 'paddingBottom': targetRatio + '%' }\r\n ], this.activeVideo.options.animation))\r\n\r\n let centerAnimation = this.center.animate([\r\n centerOrigin,\r\n centerTarget\r\n ], this.activeVideo.options.animation)\r\n centerAnimation.onfinish = () => this.animateBotton()\r\n this.animations.push(centerAnimation)\r\n applyStyles(this.center, centerTarget)\r\n centerAnimation.play()\r\n }\r\n\r\n private animateBotton(): void {\r\n if (this.activeVideo.options.hideBottom) {\r\n this.showVideo()\r\n } else {\r\n let bottomAnimation = this.bottomContainer.animate([\r\n { 'maxHeight': '0px' },\r\n { 'maxHeight': '200px' }\r\n ], this.activeVideo.options.animation)\r\n toggleClass(this.bottomContainer, 'visible', true)\r\n bottomAnimation.onfinish = () => this.showVideo()\r\n this.animations.push(bottomAnimation)\r\n bottomAnimation.play()\r\n }\r\n }\r\n\r\n private showVideo(): void {\r\n if (!this.isOpen || this.video.getAttribute('src')) return\r\n show(this.video)\r\n this.video.setAttribute('src', this.activeVideo.url)\r\n toggleClass(this.wrap, 'animating', false)\r\n }\r\n\r\n private stop(): void {\r\n this.animations.forEach(anim => anim.cancel())\r\n this.animations = []\r\n this.isOpen = false\r\n this.video.setAttribute('src', '')\r\n hide(this.video)\r\n toggleClass(this.wrap, 'animating', false)\r\n }\r\n}\r\n\r\nexport const VideoboxObj = new Videobox()\r\nwindow['Videobox'] = VideoboxObj\r\n\r\nexport declare interface JQueryStatic {\r\n /**\r\n * Open Videobox pop-up player\r\n * \r\n * @param video video to show\r\n */\r\n videobox: (video: vbVideo) => void\r\n\r\n /**\r\n * Close the open pop-up\r\n */\r\n vbClose: () => void\r\n}\r\n\r\nexport declare interface JQuery {\r\n /**\r\n * Map pop-up player to elements matched by the query\r\n * \r\n * @example \r\n * ```javascript\r\n * $('a[rel=videobox]').videobox() // Bind the pop-up effect to every element\r\n * ```\r\n * \r\n * @param options player configuration\r\n * @param linkMapper function to get a Videobox video object from the clicked element\r\n */\r\n videobox: (options?: vbOptions, linkMapper?: ((el: HTMLElement) => vbVideo)) => void\r\n}\r\n\r\nif (typeof (jQuery) !== 'undefined') {\r\n jQuery['videobox'] = function (video: vbVideo): void {\r\n VideoboxObj.open(video)\r\n }\r\n\r\n jQuery['vbClose'] = function (): void {\r\n VideoboxObj.close()\r\n }\r\n\r\n jQuery.fn.videobox = function (options: vbOptions = {}, linkMapper?: ((el: HTMLElement) => vbVideo)): void {\r\n let elements = iterableToArray(this)\r\n if (linkMapper)\r\n VideoboxObj.bind(elements, options, linkMapper)\r\n else\r\n VideoboxObj.bind(elements, options)\r\n }\r\n}\r\n\r\nfunction libBind($) {\r\n $.videobox = function (video: vbVideo): void {\r\n VideoboxObj.open(video)\r\n }\r\n\r\n $.vbClose = function (): void {\r\n VideoboxObj.close()\r\n }\r\n\r\n $.fn.videobox = function (options: vbOptions = {}, linkMapper?: ((el: HTMLElement) => vbVideo)): void {\r\n let elements = iterableToArray(this)\r\n if (linkMapper)\r\n VideoboxObj.bind(elements, options, linkMapper)\r\n else\r\n VideoboxObj.bind(elements, options)\r\n }\r\n}\r\n\r\nif (typeof jQuery != 'undefined') libBind(jQuery)\r\nif (typeof Zepto != 'undefined') libBind(Zepto)","import { create, applyStyles, vbOptions, vbVideo, hide, show, iterableToArray, insertAfter, toggleClass } from './helpers'\r\nimport { VideoboxObj as Videobox } from './box'\r\n\r\nexport class VbInline {\r\n\r\n private wrap: HTMLDivElement\r\n private responsive: HTMLDivElement\r\n private caption: HTMLElement\r\n private button: HTMLDivElement\r\n private video: HTMLIFrameElement\r\n\r\n private activeVideo: vbVideo\r\n private isOpen: boolean = false\r\n private hidding: boolean = false\r\n private animations: Array = []\r\n private hidden: Array = []\r\n private timer: number\r\n\r\n private defaults: vbOptions = {\r\n width: 720,\r\n height: 405,\r\n closeText: 'Close',\r\n padding: 30,\r\n closeTimeout: 1000,\r\n closeKeys: [27, 81],\r\n animation: {\r\n duration: 500,\r\n iterations: 1,\r\n delay: 0,\r\n easing: 'ease-in-out'\r\n }\r\n }\r\n\r\n /** @internal */\r\n constructor(links?: Array | string, options: vbOptions = {}, linkMapper?: ((el: HTMLElement) => vbVideo)) {\r\n this.wrap = create('div', 'vbiWrap')\r\n\r\n this.responsive = create('div', 'vbiResponsive')\r\n this.wrap.appendChild(this.responsive)\r\n\r\n this.caption = document.createElement('span')\r\n this.caption.className = 'vb_video_title'\r\n this.wrap.appendChild(this.caption)\r\n\r\n this.button = create('div', 'vbiClose', () => this.close())\r\n this.button.innerHTML = ''\r\n this.wrap.appendChild(this.button)\r\n\r\n this.video = create('iframe', 'vbiVideo')\r\n this.video.allowFullscreen = true\r\n this.video.frameBorder = '0px'\r\n hide(this.video)\r\n this.responsive.appendChild(this.video)\r\n\r\n window.addEventListener('keyup', (evt) => {\r\n if (this.activeVideo && this.activeVideo.options.closeKeys.indexOf(evt.keyCode) >= 0)\r\n this.close()\r\n })\r\n\r\n if (links)\r\n this.bind(links, options, linkMapper || this.linkMapper)\r\n }\r\n\r\n /**\r\n * Map inline player to elements matched by the query \r\n * \r\n * @param links array of elements or query selector to bind inline player to\r\n * @param options player configuration\r\n * @param linkMapper function to get a Videobox video object from the clicked element\r\n */\r\n bind(\r\n links: Array | string,\r\n options: vbOptions = {},\r\n linkMapper: ((el: HTMLElement) => vbVideo) = this.linkMapper\r\n ): void {\r\n if (typeof links == 'string')\r\n links = iterableToArray(document.querySelectorAll(links))\r\n\r\n links.forEach(link => {\r\n if (link['vbListener']) link.removeEventListener('click', link['vbListener'])\r\n if (link['vbiListener']) link.removeEventListener('click', link['vbiListener'])\r\n link['vbiListener'] = (evt) => {\r\n evt.preventDefault()\r\n evt.stopPropagation()\r\n let video = linkMapper(link)\r\n video.options = Object.assign({}, options, video.options)\r\n this.open(video)\r\n return false\r\n }\r\n link.addEventListener('click', link['vbiListener'])\r\n })\r\n }\r\n\r\n /**\r\n * Open an inline player\r\n * \r\n * @param video video to show\r\n */\r\n open(video: vbVideo): void {\r\n if ('Videobox' in window)\r\n window['Videobox'].close()\r\n\r\n video.options = Object.assign({}, this.defaults, video.options)\r\n\r\n let link = video.origin.target\r\n let target = link.querySelector(link.getAttribute(\"data-target\")) || link\r\n\r\n toggleClass(target, 'vb_line_fix', true)\r\n video.origin = Object.assign({}, {\r\n x: target.clientWidth / 2,\r\n y: target.clientHeight / 2,\r\n width: target.clientWidth,\r\n height: target.clientHeight\r\n }, video.origin)\r\n toggleClass(target, 'vb_line_fix', false)\r\n\r\n this.close(() => this.changeVideo(video))\r\n }\r\n\r\n /**\r\n * Close the open inline player\r\n * \r\n * @param callback function to run when close animation is over\r\n */\r\n close(callback?: () => any) {\r\n this.stop()\r\n\r\n if (!this.hidding)\r\n if (this.wrap.parentElement && this.activeVideo) {\r\n this.hidding = true\r\n let maxW = this.activeVideo.origin.width + 'px'\r\n let v1 = this.wrap.animate([\r\n { 'maxWidth': (this.activeVideo.options.width + 2 * this.activeVideo.options.padding) + 'px' },\r\n { 'maxWidth': maxW }\r\n ], this.activeVideo.options.animation)\r\n\r\n v1.onfinish = () => this.hide(callback)\r\n this.wrap.style.maxWidth = maxW\r\n v1.play()\r\n\r\n let padding = ((this.activeVideo.origin.height * 100) / this.activeVideo.origin.width) + '%'\r\n let v2 = this.responsive.animate([\r\n { 'paddingBottom': ((this.activeVideo.options.height * 100) / this.activeVideo.options.width) + '%' },\r\n { 'paddingBottom': padding }\r\n ], this.activeVideo.options.animation)\r\n this.responsive.style.paddingBottom = padding\r\n v2.play()\r\n } else\r\n this.hide(callback)\r\n\r\n return false\r\n }\r\n\r\n private linkMapper(el: HTMLElement): vbVideo {\r\n return {\r\n url: el.getAttribute(\"href\") || \"\",\r\n title: el.getAttribute(\"title\") || \"\",\r\n options: JSON.parse(el.getAttribute(\"data-videobox\")) || {},\r\n origin: { target: el }\r\n }\r\n }\r\n\r\n private setup(): void {\r\n insertAfter(this.wrap, this.activeVideo.origin.target)\r\n hide(this.activeVideo.origin.target)\r\n this.hidden.push(this.activeVideo.origin.target)\r\n }\r\n\r\n private changeVideo(newVideo: vbVideo): void {\r\n\r\n this.activeVideo = newVideo\r\n\r\n this.setup()\r\n\r\n this.wrap.setAttribute('style', this.activeVideo.options.style)\r\n this.wrap.setAttribute('class', this.activeVideo.options.class)\r\n this.caption.innerHTML = this.activeVideo.title\r\n toggleClass(this.button, 'visible', true)\r\n this.isOpen = true\r\n\r\n let wrapOrigin = {\r\n 'maxWidth': this.activeVideo.origin.width + 'px'\r\n }\r\n let wrapDest = {\r\n 'maxWidth': (this.activeVideo.options.width + 2 * this.activeVideo.options.padding) + 'px'\r\n }\r\n let animation = this.wrap.animate([wrapOrigin, wrapDest], this.activeVideo.options.animation)\r\n applyStyles(this.wrap, wrapDest)\r\n animation.onfinish = () => this.showVideo()\r\n this.animations.push(animation)\r\n animation.play()\r\n\r\n let responsiveDest = {\r\n 'paddingBottom': ((this.activeVideo.options.height * 100) / this.activeVideo.options.width) + '%'\r\n }\r\n let responsiveOrigin = {\r\n 'paddingBottom': ((this.activeVideo.origin.height * 100) / this.activeVideo.origin.width) + '%'\r\n }\r\n let animation2 = this.responsive.animate([responsiveOrigin, responsiveDest], this.activeVideo.options.animation)\r\n animation2.onfinish = () => {\r\n this.timer = window.setTimeout(() => toggleClass(this.button, 'visible', false), newVideo.options.closeTimeout)\r\n }\r\n this.animations.push(animation2)\r\n animation2.play()\r\n applyStyles(this.responsive, responsiveDest)\r\n }\r\n\r\n private showVideo() {\r\n if (!this.isOpen) return\r\n show(this.video)\r\n this.video.setAttribute('src', this.activeVideo.url)\r\n }\r\n\r\n private hide(callback?: () => any) {\r\n if (this.wrap.parentElement)\r\n this.wrap.parentNode.removeChild(this.wrap)\r\n\r\n this.hidden.forEach(el => show(el))\r\n this.hidden = []\r\n\r\n this.hidding = false\r\n this.activeVideo = null\r\n if (typeof callback == \"function\")\r\n callback()\r\n }\r\n\r\n private stop() {\r\n this.animations.forEach(anim => anim.cancel())\r\n this.animations = []\r\n this.isOpen = false\r\n this.video.setAttribute('src', '')\r\n window.clearTimeout(this.timer)\r\n hide(this.video)\r\n }\r\n}\r\n\r\nexport const VbInlineObj = new VbInline()\r\nwindow['VbInline'] = VbInlineObj\r\n\r\nexport declare interface JQueryStatic {\r\n /**\r\n * Open an inline player\r\n * \r\n * @param video video to show\r\n */\r\n vbInline: (video: vbVideo) => void\r\n\r\n /**\r\n * Close the open inline player\r\n * \r\n * @param callback function to run when close animation is over\r\n */\r\n vbiClose: (callback?: () => any) => void\r\n}\r\n\r\nexport declare interface JQuery {\r\n /**\r\n * Map inline player to elements matched by the query\r\n * \r\n * @example \r\n * ```javascript\r\n * $('a[rel=vbinline]').vbInline() // Bind the inline effect to every element\r\n * ```\r\n * \r\n * @param options player configuration\r\n * @param linkMapper function to get a Videobox video object from the clicked element\r\n */\r\n vbInline: (options?: vbOptions, linkMapper?: ((el: HTMLElement) => vbVideo)) => void\r\n}\r\n\r\nfunction libBind($) {\r\n $.vbInline = function (video: vbVideo): void {\r\n VbInlineObj.open(video)\r\n }\r\n\r\n $.vbiClose = function (callback?: () => any): void {\r\n VbInlineObj.close(callback)\r\n }\r\n\r\n $.fn.vbInline = function (options: vbOptions = {}, linkMapper?: ((el: HTMLElement) => vbVideo)): void {\r\n let elements = iterableToArray(this)\r\n if (linkMapper)\r\n VbInlineObj.bind(elements, options, linkMapper)\r\n else\r\n VbInlineObj.bind(elements, options)\r\n }\r\n}\r\n\r\nif (typeof jQuery != 'undefined') libBind(jQuery)\r\nif (typeof Zepto != 'undefined') libBind(Zepto)","import { createClass, applyStyles, vbOptions, vbVideo, hide, show, iterableToArray, insertAfter, toggleClass } from './helpers'\r\nimport { VbInlineObj as VbInline } from './inline'\r\n\r\nfunction detach(elements: Array): void {\r\n elements.forEach(el => {\r\n if ('querySelector' in el && el.querySelector('#vbiWrap')) VbInline.close()\r\n el.parentNode.removeChild(el)\r\n })\r\n}\r\n\r\n/**\r\n * Interface for Videobox slider configuration\r\n */\r\nexport interface vbSliderOptions {\r\n\r\n /**\r\n * if true, slider will scroll all visible elements\r\n */\r\n moveAll?: boolean,\r\n\r\n /**\r\n * target selector\r\n */\r\n target?: string,\r\n\r\n /**\r\n * transition duration for one element\r\n */\r\n singleDuration?: number,\r\n\r\n /**\r\n * clicks within the timeout are processed together\r\n */\r\n doubleClickTimeout?: number,\r\n\r\n /**\r\n * animation properties (see web animations specifications)\r\n */\r\n animation?: KeyframeAnimationOptions\r\n}\r\n\r\n/**\r\n * Videobox thumbnail slider\r\n */\r\nexport class VbSlider {\r\n\r\n private static sliders: Array = []\r\n\r\n /**\r\n * Map Videobox slider to elements matched by the query\r\n * \r\n * @param elements array of elements or query selector to bind Videobox slider to\r\n * @param options slider configuration\r\n * @returns array of sliders matching the corresponding elements\r\n */\r\n static bind(elements: Array | string, options: vbSliderOptions = {}): Array {\r\n if (typeof elements == 'string')\r\n elements = iterableToArray(document.querySelectorAll(elements))\r\n\r\n let sliders: Array = []\r\n elements.forEach(target => {\r\n let sizeTarget = (target.getAttribute('data-target') || '').trim()\r\n let move = (target.getAttribute('data-move') || 'single').trim()\r\n let opts: vbSliderOptions = {}\r\n\r\n if (sizeTarget)\r\n opts.target = sizeTarget\r\n\r\n if (move)\r\n opts.moveAll = move == 'all'\r\n\r\n sliders.push(this.getSlider(target, Object.assign({}, options, opts)))\r\n })\r\n return sliders\r\n }\r\n\r\n /**\r\n * Create a new Videobox slider, or find an existing slider and update it's configuration\r\n * \r\n * @param target an element containing the slider items\r\n * @param options slider configuration\r\n * @returns slider containing the target element\r\n */\r\n static getSlider(target: HTMLElement, options: vbSliderOptions = {}): VbSlider {\r\n let slider = this.sliders.find(slider => slider.target == target)\r\n if (slider) {\r\n slider.options = Object.assign(slider.options, options)\r\n return slider\r\n } else {\r\n return new VbSlider(target, options)\r\n }\r\n }\r\n\r\n static updateSizes() {\r\n this.sliders.forEach(slider => slider.setCount())\r\n }\r\n\r\n private target: HTMLElement\r\n private outer: HTMLDivElement\r\n private wrap: HTMLDivElement\r\n private content: HTMLDivElement\r\n private prev: HTMLDivElement\r\n private next: HTMLDivElement\r\n private buttons: Array\r\n\r\n private basis: number\r\n private queue: Array = []\r\n private timeout: number = -1\r\n private moving: boolean = false\r\n private visible: number = -1\r\n private detachedElements: Array = []\r\n\r\n private options: vbSliderOptions = {\r\n moveAll: false,\r\n target: '',\r\n singleDuration: 500,\r\n doubleClickTimeout: 200,\r\n animation: {\r\n duration: 500,\r\n iterations: 1,\r\n delay: 0,\r\n easing: 'ease-in-out'\r\n },\r\n }\r\n\r\n /**\r\n * Array of currently visible elements (includes both new and old elements when moving)\r\n */\r\n get attached(): Array {\r\n return iterableToArray(this.target.children)\r\n }\r\n\r\n /**\r\n * True when slider is moving\r\n */\r\n get isMoving(): boolean {\r\n return this.moving\r\n }\r\n\r\n /**\r\n * Scroll slider to the left\r\n */\r\n showPrev(): void {\r\n this.queueMove('r')\r\n }\r\n\r\n /**\r\n * Scroll slider to the right \r\n */\r\n showNext(): void {\r\n this.queueMove('l')\r\n }\r\n\r\n /**\r\n * Set base width\r\n * \r\n * @param basis new base width\r\n */\r\n setBasis(basis: number): void {\r\n if (basis != this.basis) {\r\n this.basis = basis\r\n this.setCount()\r\n }\r\n }\r\n\r\n /**\r\n * Get the slider's target element\r\n */\r\n getTarget(): HTMLElement {\r\n return this.target\r\n }\r\n\r\n private constructor(target: HTMLElement, options: vbSliderOptions = {}) {\r\n this.outer = createClass('div', 'vb_slider_outer')\r\n\r\n this.prev = createClass('div', 'vb_slider_prev', () => this.showPrev())\r\n this.prev.innerHTML = ''\r\n this.outer.appendChild(this.prev)\r\n\r\n this.wrap = createClass('div', 'vb_slider_wrap')\r\n this.outer.appendChild(this.wrap)\r\n\r\n this.next = createClass('div', 'vb_slider_next', () => this.showNext())\r\n this.next.innerHTML = ''\r\n this.outer.appendChild(this.next)\r\n\r\n this.content = createClass('div', 'vb_slider_cont')\r\n this.wrap.appendChild(this.content)\r\n\r\n this.buttons = iterableToArray(this.outer.querySelectorAll('i'))\r\n\r\n this.target = target\r\n let elements = this.attached\r\n\r\n insertAfter(this.outer, this.target)\r\n this.content.appendChild(this.target)\r\n\r\n this.basis = parseInt(target.getAttribute('data-width')) || elements[0].clientWidth\r\n\r\n this.options = Object.assign(this.options, options)\r\n\r\n toggleClass(this.content, 'vb-slider__move-all', this.options.moveAll)\r\n\r\n this.setCount()\r\n }\r\n\r\n private queueMove(dir: string): void {\r\n if (this.queue.length > 0 && this.queue[this.queue.length - 1] != dir)\r\n this.queue.pop()\r\n else\r\n this.queue.push(dir)\r\n\r\n if (this.timeout >= 0)\r\n\r\n clearTimeout(this.timeout)\r\n this.timeout = setTimeout(() => {\r\n this.timeout = -1\r\n if (!this.moving && this.queue.length > 0)\r\n this.move()\r\n }, this.options.doubleClickTimeout)\r\n }\r\n\r\n private move(): void {\r\n this.moving = true\r\n let dir = this.queue.pop()\r\n\r\n let oldHeight = this.target.clientHeight\r\n\r\n let num = 1\r\n while (this.queue.length > 0)\r\n num += this.queue.pop() == dir ? 1 : -1\r\n if (num == 0) {\r\n this.moving = false\r\n return\r\n }\r\n if (num < 0) {\r\n dir = dir == 'l' ? 'r' : 'l'\r\n num = 0 - num\r\n }\r\n\r\n let count = (this.options.moveAll ? this.visible : 1) * num\r\n count = count % (this.visible + this.detachedElements.length)\r\n\r\n if (dir == 'l')\r\n for (let i = 0; i < count && this.detachedElements.length > 0; i++)\r\n this.target.appendChild(this.detachedElements.shift())\r\n else\r\n for (let i = 0; i < count && this.detachedElements.length > 0; i++)\r\n this.target.insertBefore(this.detachedElements.pop(), this.target.firstChild)\r\n\r\n let attached = this.attached\r\n let oldElements = dir == 'l' ? attached.slice(0, attached.length - this.visible) : attached.slice(this.visible)\r\n detach(oldElements)\r\n\r\n let height = this.target.clientHeight\r\n let width = 100 * count / this.visible\r\n\r\n if (dir == 'l')\r\n for (let i = oldElements.length - 1; i >= 0; i--)\r\n this.target.insertBefore(oldElements[i], this.target.firstChild)\r\n else\r\n for (let i = 0; i < oldElements.length; i++)\r\n this.target.appendChild(oldElements[i])\r\n\r\n let animationProperties = this.options.singleDuration ? Object.assign({}, this.options.animation, { duration: this.options.singleDuration * count }) : this.options.animation\r\n\r\n let w = width + 100\r\n w = 100 * width / w\r\n\r\n let positionOrigin = {\r\n 'transform': 'translate(' + (dir == 'l' ? 0 : -w) + '%)'\r\n }\r\n let positionDest = {\r\n 'transform': 'translate(' + (dir == 'l' ? -w : 0) + '%)'\r\n }\r\n this.content.style.width = (width + 100) + '%'\r\n\r\n let anim = this.content.animate([positionOrigin, positionDest], animationProperties)\r\n anim.addEventListener('finish', () => {\r\n this.content.style.width = '100%'\r\n this.skip(dir)\r\n })\r\n\r\n anim = this.content.animate([\r\n {\r\n height: oldHeight + 'px'\r\n }, {\r\n height: height + 'px'\r\n }\r\n ], animationProperties)\r\n this.content.style.height = height + 'px'\r\n\r\n let top = 0\r\n if (this.options.target)\r\n top = (this.target.querySelector(this.options.target) || { offsetHeight: 0 }).offsetHeight / 2\r\n\r\n this.buttons.forEach(el => el.style.top = top ? top + 'px' : '')\r\n }\r\n\r\n private skip(dir: string): void {\r\n let attached = this.attached\r\n if (dir == 'l') {\r\n let el = attached.slice(0, attached.length - this.visible)\r\n detach(el)\r\n el.forEach(elm => this.detachedElements.push(elm))\r\n } else if (dir == 'r') {\r\n let el = attached.slice(this.visible)\r\n detach(el)\r\n el.forEach(elm => this.detachedElements.unshift(elm))\r\n }\r\n\r\n if (this.queue.length > 0 && this.timeout < 0)\r\n this.move()\r\n else\r\n this.moving = false\r\n\r\n }\r\n\r\n private setCount(): void {\r\n let current = this.visible\r\n let width = this.target.clientWidth\r\n let ch = this.attached\r\n let base = this.basis + ch[0].offsetWidth - ch[0].clientWidth \t// base width including any offset\r\n\r\n // calculate number of displayed items\r\n let visible = Math.floor(width / this.basis)\r\n if (visible < 1) {\r\n visible = 1\r\n } else {\r\n let w1 = 2 - base / (width / visible)\r\n let w2 = base / (width / (visible + 1))\r\n if (w2 < w1) visible++\r\n }\r\n\r\n // add or remove visible items if needed\r\n if (visible != current) {\r\n this.visible = visible\r\n this.setAttached()\r\n }\r\n\r\n // set new size\r\n this.content.style.height = this.target.clientHeight + 'px'\r\n\r\n let top = 0\r\n if (this.options.target)\r\n top = (this.target.querySelector(this.options.target) || { offsetHeight: 0 }).offsetHeight / 2\r\n\r\n this.buttons.forEach(el => el.style.top = top ? top + 'px' : '')\r\n }\r\n\r\n private setAttached(): void {\r\n let attached = this.attached\r\n if (attached.length < this.visible)\r\n for (let i = attached.length; i < this.visible && this.detachedElements.length > 0; i++) {\r\n this.target.appendChild(this.detachedElements.shift())\r\n }\r\n else if (attached.length > this.visible)\r\n for (let i = attached.length - 1; i >= this.visible; i--) {\r\n this.detachedElements.unshift(attached[i])\r\n detach([attached[i]])\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\nwindow.addEventListener('resize', () => VbSlider.updateSizes())\r\nwindow['VbSlider'] = VbSlider\r\n\r\nexport declare interface JQueryStatic {\r\n /**\r\n * Create a new Videobox slider, or find an existing slider and update it's configuration\r\n * \r\n * @param target an element containing the slider items\r\n * @param options slider configuration\r\n * @returns slider containing the target element\r\n */\r\n vbSlider: (target: HTMLElement | JQuery, options: vbSliderOptions) => VbSlider\r\n}\r\n\r\nexport declare interface JQuery {\r\n /**\r\n * Map Videobox slider to elements matched by the query\r\n * \r\n * @example \r\n * ```javascript\r\n * var sliders = $('ul.vb_slider').vbSlider() // Create a Videobox slider for every
      element\r\n * ```\r\n * \r\n * @param options slider configuration\r\n * @returns array of sliders matching the corresponding elements\r\n */\r\n vbSlider: (options?: vbSliderOptions) => Array\r\n}\r\n\r\nfunction libBind($) {\r\n $.vbSlider = function (target: HTMLElement | JQuery, options: vbSliderOptions = {}): VbSlider {\r\n if ('length' in target)\r\n target = target[0]\r\n return VbSlider.getSlider(target, options)\r\n }\r\n\r\n $.fn.vbSlider = function (options: vbSliderOptions = {}): Array {\r\n let elements = iterableToArray(this)\r\n return VbSlider.bind(elements, options)\r\n }\r\n}\r\n\r\nif (typeof jQuery != 'undefined') libBind(jQuery)\r\nif (typeof Zepto != 'undefined') libBind(Zepto)\r\n","import { VideoboxObj as Videobox } from './components/box'\r\nimport { VbInlineObj as VbInline } from './components/inline'\r\nimport { VbSlider } from './components/slider'\r\n\r\nfunction bindAll() {\r\n Videobox.bind(\"a[rel^='videobox']\")\r\n VbInline.bind(\"a[rel^='vbinline']\")\r\n VbSlider.bind(\".vb_slider\")\r\n}\r\n\r\nif (document.readyState != 'loading')\r\n bindAll()\r\nelse\r\n document.addEventListener('readystatechange', function ready() {\r\n if (document.readyState != 'loading') {\r\n document.removeEventListener('readystatechange', ready)\r\n bindAll()\r\n }\r\n })",null,null,null,null,null,null,null,null,null,null,null,"// Copyright 2014 Google Inc. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nvar webAnimationsShared = {};\nvar webAnimations1 = {};\nvar webAnimationsNext = {};\n\nif (!WEB_ANIMATIONS_TESTING)\n var webAnimationsTesting = null;\n","// Copyright 2014 Google Inc. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n(function(shared, testing) {\n\n var fills = 'backwards|forwards|both|none'.split('|');\n var directions = 'reverse|alternate|alternate-reverse'.split('|');\n var linear = function(x) { return x; };\n\n function cloneTimingInput(timingInput) {\n if (typeof timingInput == 'number') {\n return timingInput;\n }\n var clone = {};\n for (var m in timingInput) {\n clone[m] = timingInput[m];\n }\n return clone;\n }\n\n function AnimationEffectTiming() {\n this._delay = 0;\n this._endDelay = 0;\n this._fill = 'none';\n this._iterationStart = 0;\n this._iterations = 1;\n this._duration = 0;\n this._playbackRate = 1;\n this._direction = 'normal';\n this._easing = 'linear';\n this._easingFunction = linear;\n }\n\n function isInvalidTimingDeprecated() {\n return shared.isDeprecated('Invalid timing inputs', '2016-03-02', 'TypeError exceptions will be thrown instead.', true);\n }\n\n AnimationEffectTiming.prototype = {\n _setMember: function(member, value) {\n this['_' + member] = value;\n if (this._effect) {\n this._effect._timingInput[member] = value;\n this._effect._timing = shared.normalizeTimingInput(this._effect._timingInput);\n this._effect.activeDuration = shared.calculateActiveDuration(this._effect._timing);\n if (this._effect._animation) {\n this._effect._animation._rebuildUnderlyingAnimation();\n }\n }\n },\n get playbackRate() {\n return this._playbackRate;\n },\n set delay(value) {\n this._setMember('delay', value);\n },\n get delay() {\n return this._delay;\n },\n set endDelay(value) {\n this._setMember('endDelay', value);\n },\n get endDelay() {\n return this._endDelay;\n },\n set fill(value) {\n this._setMember('fill', value);\n },\n get fill() {\n return this._fill;\n },\n set iterationStart(value) {\n if ((isNaN(value) || value < 0) && isInvalidTimingDeprecated()) {\n throw new TypeError('iterationStart must be a non-negative number, received: ' + timing.iterationStart);\n }\n this._setMember('iterationStart', value);\n },\n get iterationStart() {\n return this._iterationStart;\n },\n set duration(value) {\n if (value != 'auto' && (isNaN(value) || value < 0) && isInvalidTimingDeprecated()) {\n throw new TypeError('duration must be non-negative or auto, received: ' + value);\n }\n this._setMember('duration', value);\n },\n get duration() {\n return this._duration;\n },\n set direction(value) {\n this._setMember('direction', value);\n },\n get direction() {\n return this._direction;\n },\n set easing(value) {\n this._easingFunction = parseEasingFunction(normalizeEasing(value));\n this._setMember('easing', value);\n },\n get easing() {\n return this._easing;\n },\n set iterations(value) {\n if ((isNaN(value) || value < 0) && isInvalidTimingDeprecated()) {\n throw new TypeError('iterations must be non-negative, received: ' + value);\n }\n this._setMember('iterations', value);\n },\n get iterations() {\n return this._iterations;\n }\n };\n\n function makeTiming(timingInput, forGroup, effect) {\n var timing = new AnimationEffectTiming();\n if (forGroup) {\n timing.fill = 'both';\n timing.duration = 'auto';\n }\n if (typeof timingInput == 'number' && !isNaN(timingInput)) {\n timing.duration = timingInput;\n } else if (timingInput !== undefined) {\n Object.getOwnPropertyNames(timingInput).forEach(function(property) {\n if (timingInput[property] != 'auto') {\n if (typeof timing[property] == 'number' || property == 'duration') {\n if (typeof timingInput[property] != 'number' || isNaN(timingInput[property])) {\n return;\n }\n }\n if ((property == 'fill') && (fills.indexOf(timingInput[property]) == -1)) {\n return;\n }\n if ((property == 'direction') && (directions.indexOf(timingInput[property]) == -1)) {\n return;\n }\n if (property == 'playbackRate' && timingInput[property] !== 1 && shared.isDeprecated('AnimationEffectTiming.playbackRate', '2014-11-28', 'Use Animation.playbackRate instead.')) {\n return;\n }\n timing[property] = timingInput[property];\n }\n });\n }\n return timing;\n }\n\n function numericTimingToObject(timingInput) {\n if (typeof timingInput == 'number') {\n if (isNaN(timingInput)) {\n timingInput = { duration: 0 };\n } else {\n timingInput = { duration: timingInput };\n }\n }\n return timingInput;\n }\n\n function normalizeTimingInput(timingInput, forGroup) {\n timingInput = shared.numericTimingToObject(timingInput);\n return makeTiming(timingInput, forGroup);\n }\n\n function cubic(a, b, c, d) {\n if (a < 0 || a > 1 || c < 0 || c > 1) {\n return linear;\n }\n return function(x) {\n if (x <= 0) {\n var start_gradient = 0;\n if (a > 0)\n start_gradient = b / a;\n else if (!b && c > 0)\n start_gradient = d / c;\n return start_gradient * x;\n }\n if (x >= 1) {\n var end_gradient = 0;\n if (c < 1)\n end_gradient = (d - 1) / (c - 1);\n else if (c == 1 && a < 1)\n end_gradient = (b - 1) / (a - 1);\n return 1 + end_gradient * (x - 1);\n }\n\n var start = 0, end = 1;\n while (start < end) {\n var mid = (start + end) / 2;\n function f(a, b, m) { return 3 * a * (1 - m) * (1 - m) * m + 3 * b * (1 - m) * m * m + m * m * m};\n var xEst = f(a, c, mid);\n if (Math.abs(x - xEst) < 0.00001) {\n return f(b, d, mid);\n }\n if (xEst < x) {\n start = mid;\n } else {\n end = mid;\n }\n }\n return f(b, d, mid);\n }\n }\n\n var Start = 1;\n var Middle = 0.5;\n var End = 0;\n\n function step(count, pos) {\n return function(x) {\n if (x >= 1) {\n return 1;\n }\n var stepSize = 1 / count;\n x += pos * stepSize;\n return x - x % stepSize;\n }\n }\n\n var presets = {\n 'ease': cubic(0.25, 0.1, 0.25, 1),\n 'ease-in': cubic(0.42, 0, 1, 1),\n 'ease-out': cubic(0, 0, 0.58, 1),\n 'ease-in-out': cubic(0.42, 0, 0.58, 1),\n 'step-start': step(1, Start),\n 'step-middle': step(1, Middle),\n 'step-end': step(1, End)\n };\n\n var styleForCleaning = null;\n var numberString = '\\\\s*(-?\\\\d+\\\\.?\\\\d*|-?\\\\.\\\\d+)\\\\s*';\n var cubicBezierRe = new RegExp('cubic-bezier\\\\(' + numberString + ',' + numberString + ',' + numberString + ',' + numberString + '\\\\)');\n var stepRe = /steps\\(\\s*(\\d+)\\s*,\\s*(start|middle|end)\\s*\\)/;\n\n function normalizeEasing(easing) {\n if (!styleForCleaning) {\n styleForCleaning = document.createElement('div').style;\n }\n styleForCleaning.animationTimingFunction = '';\n styleForCleaning.animationTimingFunction = easing;\n var normalizedEasing = styleForCleaning.animationTimingFunction;\n if (normalizedEasing == '' && isInvalidTimingDeprecated()) {\n throw new TypeError(easing + ' is not a valid value for easing');\n }\n return normalizedEasing;\n }\n\n function parseEasingFunction(normalizedEasing) {\n if (normalizedEasing == 'linear') {\n return linear;\n }\n var cubicData = cubicBezierRe.exec(normalizedEasing);\n if (cubicData) {\n return cubic.apply(this, cubicData.slice(1).map(Number));\n }\n var stepData = stepRe.exec(normalizedEasing);\n if (stepData) {\n return step(Number(stepData[1]), {'start': Start, 'middle': Middle, 'end': End}[stepData[2]]);\n }\n var preset = presets[normalizedEasing];\n if (preset) {\n return preset;\n }\n // At this point none of our parse attempts succeeded; the easing is invalid.\n // Fall back to linear in the interest of not crashing the page.\n return linear;\n }\n\n function calculateActiveDuration(timing) {\n return Math.abs(repeatedDuration(timing) / timing.playbackRate);\n }\n\n function repeatedDuration(timing) {\n // https://w3c.github.io/web-animations/#calculating-the-active-duration\n if (timing.duration === 0 || timing.iterations === 0) {\n return 0;\n }\n return timing.duration * timing.iterations;\n }\n\n var PhaseNone = 0;\n var PhaseBefore = 1;\n var PhaseAfter = 2;\n var PhaseActive = 3;\n\n function calculatePhase(activeDuration, localTime, timing) {\n // https://w3c.github.io/web-animations/#animation-effect-phases-and-states\n if (localTime == null) {\n return PhaseNone;\n }\n\n var endTime = timing.delay + activeDuration + timing.endDelay;\n if (localTime < Math.min(timing.delay, endTime)) {\n return PhaseBefore;\n }\n if (localTime >= Math.min(timing.delay + activeDuration, endTime)) {\n return PhaseAfter;\n }\n\n return PhaseActive;\n }\n\n function calculateActiveTime(activeDuration, fillMode, localTime, phase, delay) {\n // https://w3c.github.io/web-animations/#calculating-the-active-time\n switch (phase) {\n case PhaseBefore:\n if (fillMode == 'backwards' || fillMode == 'both')\n return 0;\n return null;\n case PhaseActive:\n return localTime - delay;\n case PhaseAfter:\n if (fillMode == 'forwards' || fillMode == 'both')\n return activeDuration;\n return null;\n case PhaseNone:\n return null;\n }\n }\n\n function calculateOverallProgress(iterationDuration, phase, iterations, activeTime, iterationStart) {\n // https://w3c.github.io/web-animations/#calculating-the-overall-progress\n var overallProgress = iterationStart;\n if (iterationDuration === 0) {\n if (phase !== PhaseBefore) {\n overallProgress += iterations;\n }\n } else {\n overallProgress += activeTime / iterationDuration;\n }\n return overallProgress;\n }\n\n function calculateSimpleIterationProgress(overallProgress, iterationStart, phase, iterations, activeTime, iterationDuration) {\n // https://w3c.github.io/web-animations/#calculating-the-simple-iteration-progress\n\n var simpleIterationProgress = (overallProgress === Infinity) ? iterationStart % 1 : overallProgress % 1;\n if (simpleIterationProgress === 0 && phase === PhaseAfter && iterations !== 0 &&\n (activeTime !== 0 || iterationDuration === 0)) {\n simpleIterationProgress = 1;\n }\n return simpleIterationProgress;\n }\n\n function calculateCurrentIteration(phase, iterations, simpleIterationProgress, overallProgress) {\n // https://w3c.github.io/web-animations/#calculating-the-current-iteration\n if (phase === PhaseAfter && iterations === Infinity) {\n return Infinity;\n }\n if (simpleIterationProgress === 1) {\n return Math.floor(overallProgress) - 1;\n }\n return Math.floor(overallProgress);\n }\n\n function calculateDirectedProgress(playbackDirection, currentIteration, simpleIterationProgress) {\n // https://w3c.github.io/web-animations/#calculating-the-directed-progress\n var currentDirection = playbackDirection;\n if (playbackDirection !== 'normal' && playbackDirection !== 'reverse') {\n var d = currentIteration;\n if (playbackDirection === 'alternate-reverse') {\n d += 1;\n }\n currentDirection = 'normal';\n if (d !== Infinity && d % 2 !== 0) {\n currentDirection = 'reverse';\n }\n }\n if (currentDirection === 'normal') {\n return simpleIterationProgress;\n }\n return 1 - simpleIterationProgress;\n }\n\n function calculateIterationProgress(activeDuration, localTime, timing) {\n var phase = calculatePhase(activeDuration, localTime, timing);\n var activeTime = calculateActiveTime(activeDuration, timing.fill, localTime, phase, timing.delay);\n if (activeTime === null)\n return null;\n\n var overallProgress = calculateOverallProgress(timing.duration, phase, timing.iterations, activeTime, timing.iterationStart);\n var simpleIterationProgress = calculateSimpleIterationProgress(overallProgress, timing.iterationStart, phase, timing.iterations, activeTime, timing.duration);\n var currentIteration = calculateCurrentIteration(phase, timing.iterations, simpleIterationProgress, overallProgress);\n var directedProgress = calculateDirectedProgress(timing.direction, currentIteration, simpleIterationProgress);\n\n // https://w3c.github.io/web-animations/#calculating-the-transformed-progress\n // https://w3c.github.io/web-animations/#calculating-the-iteration-progress\n return timing._easingFunction(directedProgress);\n }\n\n shared.cloneTimingInput = cloneTimingInput;\n shared.makeTiming = makeTiming;\n shared.numericTimingToObject = numericTimingToObject;\n shared.normalizeTimingInput = normalizeTimingInput;\n shared.calculateActiveDuration = calculateActiveDuration;\n shared.calculateIterationProgress = calculateIterationProgress;\n shared.calculatePhase = calculatePhase;\n shared.normalizeEasing = normalizeEasing;\n shared.parseEasingFunction = parseEasingFunction;\n\n if (WEB_ANIMATIONS_TESTING) {\n testing.normalizeTimingInput = normalizeTimingInput;\n testing.normalizeEasing = normalizeEasing;\n testing.parseEasingFunction = parseEasingFunction;\n testing.calculateActiveDuration = calculateActiveDuration;\n testing.calculatePhase = calculatePhase;\n testing.PhaseNone = PhaseNone;\n testing.PhaseBefore = PhaseBefore;\n testing.PhaseActive = PhaseActive;\n testing.PhaseAfter = PhaseAfter;\n }\n\n})(webAnimationsShared, webAnimationsTesting);\n","// Copyright 2014 Google Inc. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n(function(shared, scope, testing) {\n\n scope.convertEffectInput = function(effectInput) {\n var keyframes = shared.normalizeKeyframes(effectInput);\n var propertySpecificKeyframeGroups = makePropertySpecificKeyframeGroups(keyframes);\n var interpolations = makeInterpolations(propertySpecificKeyframeGroups);\n return function(target, fraction) {\n if (fraction != null) {\n interpolations.filter(function(interpolation) {\n return fraction >= interpolation.applyFrom && fraction < interpolation.applyTo;\n }).forEach(function(interpolation) {\n var offsetFraction = fraction - interpolation.startOffset;\n var localDuration = interpolation.endOffset - interpolation.startOffset;\n var scaledLocalTime = localDuration == 0 ? 0 : interpolation.easingFunction(offsetFraction / localDuration);\n scope.apply(target, interpolation.property, interpolation.interpolation(scaledLocalTime));\n });\n } else {\n for (var property in propertySpecificKeyframeGroups)\n if (property != 'offset' && property != 'easing' && property != 'composite')\n scope.clear(target, property);\n }\n };\n };\n\n\n function makePropertySpecificKeyframeGroups(keyframes) {\n var propertySpecificKeyframeGroups = {};\n\n for (var i = 0; i < keyframes.length; i++) {\n for (var member in keyframes[i]) {\n if (member != 'offset' && member != 'easing' && member != 'composite') {\n var propertySpecificKeyframe = {\n offset: keyframes[i].offset,\n easing: keyframes[i].easing,\n value: keyframes[i][member]\n };\n propertySpecificKeyframeGroups[member] = propertySpecificKeyframeGroups[member] || [];\n propertySpecificKeyframeGroups[member].push(propertySpecificKeyframe);\n }\n }\n }\n\n for (var groupName in propertySpecificKeyframeGroups) {\n var group = propertySpecificKeyframeGroups[groupName];\n if (group[0].offset != 0 || group[group.length - 1].offset != 1) {\n throw {\n type: DOMException.NOT_SUPPORTED_ERR,\n name: 'NotSupportedError',\n message: 'Partial keyframes are not supported'\n };\n }\n }\n return propertySpecificKeyframeGroups;\n }\n\n\n function makeInterpolations(propertySpecificKeyframeGroups) {\n var interpolations = [];\n for (var groupName in propertySpecificKeyframeGroups) {\n var keyframes = propertySpecificKeyframeGroups[groupName];\n for (var i = 0; i < keyframes.length - 1; i++) {\n var startIndex = i;\n var endIndex = i + 1;\n var startOffset = keyframes[startIndex].offset;\n var endOffset = keyframes[endIndex].offset;\n var applyFrom = startOffset;\n var applyTo = endOffset;\n\n if (i == 0) {\n applyFrom = -Infinity;\n WEB_ANIMATIONS_TESTING && console.assert(startOffset == 0);\n if (endOffset == 0) {\n endIndex = startIndex;\n }\n }\n if (i == keyframes.length - 2) {\n applyTo = Infinity;\n WEB_ANIMATIONS_TESTING && console.assert(endOffset == 1);\n if (startOffset == 1) {\n startIndex = endIndex;\n }\n }\n\n interpolations.push({\n applyFrom: applyFrom,\n applyTo: applyTo,\n startOffset: keyframes[startIndex].offset,\n endOffset: keyframes[endIndex].offset,\n easingFunction: shared.parseEasingFunction(keyframes[startIndex].easing),\n property: groupName,\n interpolation: scope.propertyInterpolation(groupName,\n keyframes[startIndex].value,\n keyframes[endIndex].value)\n });\n }\n }\n interpolations.sort(function(leftInterpolation, rightInterpolation) {\n return leftInterpolation.startOffset - rightInterpolation.startOffset;\n });\n return interpolations;\n }\n\n\n if (WEB_ANIMATIONS_TESTING) {\n testing.makePropertySpecificKeyframeGroups = makePropertySpecificKeyframeGroups;\n testing.makeInterpolations = makeInterpolations;\n }\n\n})(webAnimationsShared, webAnimations1, webAnimationsTesting);\n","// Copyright 2014 Google Inc. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n(function(shared, scope, testing) {\n\n var propertyHandlers = {};\n\n function toCamelCase(property) {\n return property.replace(/-(.)/g, function(_, c) {\n return c.toUpperCase();\n });\n }\n\n function addPropertyHandler(parser, merger, property) {\n propertyHandlers[property] = propertyHandlers[property] || [];\n propertyHandlers[property].push([parser, merger]);\n }\n function addPropertiesHandler(parser, merger, properties) {\n for (var i = 0; i < properties.length; i++) {\n var property = properties[i];\n WEB_ANIMATIONS_TESTING && console.assert(property.toLowerCase() === property);\n addPropertyHandler(parser, merger, toCamelCase(property));\n }\n }\n scope.addPropertiesHandler = addPropertiesHandler;\n\n var initialValues = {\n backgroundColor: 'transparent',\n backgroundPosition: '0% 0%',\n borderBottomColor: 'currentColor',\n borderBottomLeftRadius: '0px',\n borderBottomRightRadius: '0px',\n borderBottomWidth: '3px',\n borderLeftColor: 'currentColor',\n borderLeftWidth: '3px',\n borderRightColor: 'currentColor',\n borderRightWidth: '3px',\n // Spec says this should be 0 but in practise it is 2px.\n borderSpacing: '2px',\n borderTopColor: 'currentColor',\n borderTopLeftRadius: '0px',\n borderTopRightRadius: '0px',\n borderTopWidth: '3px',\n bottom: 'auto',\n clip: 'rect(0px, 0px, 0px, 0px)',\n color: 'black', // Depends on user agent.\n fontSize: '100%',\n fontWeight: '400',\n height: 'auto',\n left: 'auto',\n letterSpacing: 'normal',\n lineHeight: '120%',\n marginBottom: '0px',\n marginLeft: '0px',\n marginRight: '0px',\n marginTop: '0px',\n maxHeight: 'none',\n maxWidth: 'none',\n minHeight: '0px',\n minWidth: '0px',\n opacity: '1.0',\n outlineColor: 'invert',\n outlineOffset: '0px',\n outlineWidth: '3px',\n paddingBottom: '0px',\n paddingLeft: '0px',\n paddingRight: '0px',\n paddingTop: '0px',\n right: 'auto',\n textIndent: '0px',\n textShadow: '0px 0px 0px transparent',\n top: 'auto',\n transform: '',\n verticalAlign: '0px',\n visibility: 'visible',\n width: 'auto',\n wordSpacing: 'normal',\n zIndex: 'auto'\n };\n\n function propertyInterpolation(property, left, right) {\n var ucProperty = property;\n if (/-/.test(property) && !shared.isDeprecated('Hyphenated property names', '2016-03-22', 'Use camelCase instead.', true)) {\n ucProperty = toCamelCase(property);\n }\n if (left == 'initial' || right == 'initial') {\n if (left == 'initial')\n left = initialValues[ucProperty];\n if (right == 'initial')\n right = initialValues[ucProperty];\n }\n var handlers = left == right ? [] : propertyHandlers[ucProperty];\n for (var i = 0; handlers && i < handlers.length; i++) {\n var parsedLeft = handlers[i][0](left);\n var parsedRight = handlers[i][0](right);\n if (parsedLeft !== undefined && parsedRight !== undefined) {\n var interpolationArgs = handlers[i][1](parsedLeft, parsedRight);\n if (interpolationArgs) {\n var interp = scope.Interpolation.apply(null, interpolationArgs);\n return function(t) {\n if (t == 0) return left;\n if (t == 1) return right;\n return interp(t);\n };\n }\n }\n }\n return scope.Interpolation(false, true, function(bool) {\n return bool ? right : left;\n });\n }\n scope.propertyInterpolation = propertyInterpolation;\n\n})(webAnimationsShared, webAnimations1, webAnimationsTesting);\n\n","// Copyright 2014 Google Inc. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n(function(shared, scope, testing) {\n\n function EffectTime(timing) {\n var timeFraction = 0;\n var activeDuration = shared.calculateActiveDuration(timing);\n var effectTime = function(localTime) {\n return shared.calculateIterationProgress(activeDuration, localTime, timing);\n };\n effectTime._totalDuration = timing.delay + activeDuration + timing.endDelay;\n return effectTime;\n }\n\n scope.KeyframeEffect = function(target, effectInput, timingInput, id) {\n var effectTime = EffectTime(shared.normalizeTimingInput(timingInput));\n var interpolations = scope.convertEffectInput(effectInput);\n var timeFraction;\n var keyframeEffect = function() {\n WEB_ANIMATIONS_TESTING && console.assert(typeof timeFraction !== 'undefined');\n interpolations(target, timeFraction);\n };\n // Returns whether the keyframeEffect is in effect or not after the timing update.\n keyframeEffect._update = function(localTime) {\n timeFraction = effectTime(localTime);\n return timeFraction !== null;\n };\n keyframeEffect._clear = function() {\n interpolations(target, null);\n };\n keyframeEffect._hasSameTarget = function(otherTarget) {\n return target === otherTarget;\n };\n keyframeEffect._target = target;\n keyframeEffect._totalDuration = effectTime._totalDuration;\n keyframeEffect._id = id;\n return keyframeEffect;\n };\n\n scope.NullEffect = function(clear) {\n var nullEffect = function() {\n if (clear) {\n clear();\n clear = null;\n }\n };\n nullEffect._update = function() {\n return null;\n };\n nullEffect._totalDuration = 0;\n nullEffect._hasSameTarget = function() {\n return false;\n };\n return nullEffect;\n };\n\n if (WEB_ANIMATIONS_TESTING) {\n testing.webAnimations1KeyframeEffect = scope.KeyframeEffect;\n testing.effectTime = EffectTime;\n }\n\n})(webAnimationsShared, webAnimations1, webAnimationsTesting);\n","// Copyright 2014 Google Inc. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n(function(scope, testing) {\n\n var styleAttributes = {\n cssText: 1,\n length: 1,\n parentRule: 1,\n };\n\n var styleMethods = {\n getPropertyCSSValue: 1,\n getPropertyPriority: 1,\n getPropertyValue: 1,\n item: 1,\n removeProperty: 1,\n setProperty: 1,\n };\n\n var styleMutatingMethods = {\n removeProperty: 1,\n setProperty: 1,\n };\n\n function configureProperty(object, property, descriptor) {\n descriptor.enumerable = true;\n descriptor.configurable = true;\n Object.defineProperty(object, property, descriptor);\n }\n\n function AnimatedCSSStyleDeclaration(element) {\n WEB_ANIMATIONS_TESTING && console.assert(!(element.style instanceof AnimatedCSSStyleDeclaration),\n 'Element must not already have an animated style attached.');\n\n // Stores the inline style of the element on its behalf while the\n // polyfill uses the element's inline style to simulate web animations.\n // This is needed to fake regular inline style CSSOM access on the element.\n this._surrogateStyle = document.createElementNS('http://www.w3.org/1999/xhtml', 'div').style;\n this._style = element.style;\n this._length = 0;\n this._isAnimatedProperty = {};\n\n // Copy the inline style contents over to the surrogate.\n for (var i = 0; i < this._style.length; i++) {\n var property = this._style[i];\n this._surrogateStyle[property] = this._style[property];\n }\n this._updateIndices();\n }\n\n AnimatedCSSStyleDeclaration.prototype = {\n get cssText() {\n return this._surrogateStyle.cssText;\n },\n set cssText(text) {\n var isAffectedProperty = {};\n for (var i = 0; i < this._surrogateStyle.length; i++) {\n isAffectedProperty[this._surrogateStyle[i]] = true;\n }\n this._surrogateStyle.cssText = text;\n this._updateIndices();\n for (var i = 0; i < this._surrogateStyle.length; i++) {\n isAffectedProperty[this._surrogateStyle[i]] = true;\n }\n for (var property in isAffectedProperty) {\n if (!this._isAnimatedProperty[property]) {\n this._style.setProperty(property, this._surrogateStyle.getPropertyValue(property));\n }\n }\n },\n get length() {\n return this._surrogateStyle.length;\n },\n get parentRule() {\n return this._style.parentRule;\n },\n // Mirror the indexed getters and setters of the surrogate style.\n _updateIndices: function() {\n while (this._length < this._surrogateStyle.length) {\n Object.defineProperty(this, this._length, {\n configurable: true,\n enumerable: false,\n get: (function(index) {\n return function() { return this._surrogateStyle[index]; };\n })(this._length)\n });\n this._length++;\n }\n while (this._length > this._surrogateStyle.length) {\n this._length--;\n Object.defineProperty(this, this._length, {\n configurable: true,\n enumerable: false,\n value: undefined\n });\n }\n },\n _set: function(property, value) {\n this._style[property] = value;\n this._isAnimatedProperty[property] = true;\n },\n _clear: function(property) {\n this._style[property] = this._surrogateStyle[property];\n delete this._isAnimatedProperty[property];\n },\n };\n\n // Wrap the style methods.\n for (var method in styleMethods) {\n AnimatedCSSStyleDeclaration.prototype[method] = (function(method, modifiesStyle) {\n return function() {\n var result = this._surrogateStyle[method].apply(this._surrogateStyle, arguments);\n if (modifiesStyle) {\n if (!this._isAnimatedProperty[arguments[0]])\n this._style[method].apply(this._style, arguments);\n this._updateIndices();\n }\n return result;\n }\n })(method, method in styleMutatingMethods);\n }\n\n // Wrap the style.cssProperty getters and setters.\n for (var property in document.documentElement.style) {\n if (property in styleAttributes || property in styleMethods) {\n continue;\n }\n (function(property) {\n configureProperty(AnimatedCSSStyleDeclaration.prototype, property, {\n get: function() {\n return this._surrogateStyle[property];\n },\n set: function(value) {\n this._surrogateStyle[property] = value;\n this._updateIndices();\n if (!this._isAnimatedProperty[property])\n this._style[property] = value;\n }\n });\n })(property);\n }\n\n function ensureStyleIsPatched(element) {\n if (element._webAnimationsPatchedStyle)\n return;\n\n var animatedStyle = new AnimatedCSSStyleDeclaration(element);\n try {\n configureProperty(element, 'style', { get: function() { return animatedStyle; } });\n } catch (_) {\n // iOS and older versions of Safari (pre v7) do not support overriding an element's\n // style object. Animations will clobber any inline styles as a result.\n element.style._set = function(property, value) {\n element.style[property] = value;\n };\n element.style._clear = function(property) {\n element.style[property] = '';\n };\n }\n\n // We must keep a handle on the patched style to prevent it from getting GC'd.\n element._webAnimationsPatchedStyle = element.style;\n }\n\n scope.apply = function(element, property, value) {\n ensureStyleIsPatched(element);\n element.style._set(scope.propertyName(property), value);\n };\n\n scope.clear = function(element, property) {\n if (element._webAnimationsPatchedStyle) {\n element.style._clear(scope.propertyName(property));\n }\n };\n\n if (WEB_ANIMATIONS_TESTING)\n testing.ensureStyleIsPatched = ensureStyleIsPatched;\n\n})(webAnimations1, webAnimationsTesting);\n"]} \ No newline at end of file diff --git a/dist/videobox.css.map b/dist/videobox.css.map index 15f5d80..f7f5066 100644 --- a/dist/videobox.css.map +++ b/dist/videobox.css.map @@ -1 +1 @@ -{"version":3,"sources":["videobox/_bottom.scss","videobox/_responsive.scss","common/_thumbnail.scss","video-js/_play-button.scss","videobox.scss","_icons.scss","videobox.css","video-js/controls/_fullscreen.scss","_helpers.scss","../../node_modules/bourbon/app/assets/stylesheets/addons/_prefixer.scss","videobox/_close.scss","video-js/_control-bar.scss","common/_single-video.scss","vbinline/_responsive.scss","video-js/controls/_volume.scss","common/_gallery.scss","../../node_modules/bourbon/app/assets/stylesheets/css3/_flex-box.scss","common/_pagination.scss","vbinline/_wrap.scss","videobox/_video.scss","vbinline/_video.scss","vbinline/_close.scss","video-js/_poster.scss","video-js/_video.scss","videobox/_overlay.scss","videobox/_wrap.scss","videobox/_center.scss","video-js/_base.scss","vbslider/_wrap.scss","vbslider/_content.scss","vbslider/_buttons.scss","video-js/_spinner.scss","video-js/controls/_play.scss","video-js/controls/_time.scss","video-js/controls/_progress.scss"],"names":[],"mappings":"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","file":"videobox.min.css","sourcesContent":["#vbBottomContainer {\r\n width: 100%;\r\n position: absolute;\r\n color: $color-contrast-light;\r\n max-height: 0;\r\n overflow: hidden;\r\n background-color: $color-contrast-dark;\r\n opacity: 0.5;\r\n pointer-events: all;\r\n z-index: 5;\r\n font-size: 0.625 * $base-font-size;\r\n box-shadow: 0px 0px 40px -5px $color-contrast-dark;\r\n\r\n &.visible {\r\n max-height: 200px;\r\n\r\n @include transition(opacity $transition-duration 0.1s ease-in-out);\r\n\r\n &:hover,\r\n &:focus {\r\n opacity: 1;\r\n\r\n @include transition-delay(0s);\r\n }\r\n }\r\n}\r\n\r\n#vbBottom {\r\n box-sizing: border-box;\r\n position: relative;\r\n width: 100%;\r\n padding: 15px 15px 0;\r\n text-align: left;\r\n font-weight: 400;\r\n font-size: 15px;\r\n}\r\n\r\n#vbCaption {\r\n margin-bottom: 10px;\r\n display: block;\r\n}\r\n","#vbResponsive {\r\n position: relative;\r\n display: block;\r\n width: 100%;\r\n height: 0;\r\n padding: 0;\r\n overflow: hidden;\r\n background-color: $color-contrast-dark;\r\n pointer-events: all;\r\n z-index: 10;\r\n box-shadow: 0px 0px 40px -5px $color-contrast-dark;\r\n}\r\n",".vb_video_cont {\r\n vertical-align: top;\r\n text-align: center;\r\n\r\n img {\r\n display: block;\r\n max-width: 100%;\r\n height: auto;\r\n width: 100%;\r\n }\r\n\r\n &, a {\r\n @extend .vb-hover-animated;\r\n\r\n display: inline-block;\r\n text-decoration: none;\r\n color: $primary-color;\r\n display: inline-block;\r\n width: 100%;\r\n\r\n &:hover,\r\n &:focus {\r\n color: $primary-light;\r\n\r\n .vb_thub_wrap .vb-icon-play {\r\n color: $primary-light;\r\n background-color: rgba(0, 0, 0, 0.7);\r\n }\r\n }\r\n }\r\n}\r\n\r\n.vb_video_title {\r\n display: block;\r\n padding: 8px 10px 0;\r\n\r\n &:empty {\r\n display: none;\r\n }\r\n}\r\n\r\n.vb_thub_wrap {\r\n position: relative;\r\n display: block;\r\n\r\n .vb-icon-play {\r\n @extend .vb-hover-animated;\r\n\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n bottom: 50%;\r\n right: 50%;\r\n width: 3 * $base-font-size;\r\n height: 3 * $base-font-size;\r\n margin: -1.5 * $base-font-size;\r\n border-radius: 100%;\r\n background-color: rgba($color-contrast-dark, 0.5);\r\n font-size: 2 * $base-font-size;\r\n line-height: 3 * $base-font-size;\r\n color: $color-contrast-light;\r\n display: none;\r\n box-shadow: 0px 0px 40px -5px $color-contrast-dark;\r\n }\r\n}\r\n\r\n.vb_play_button .vb_thub_wrap .vb-icon-play {\r\n display: block;\r\n}\r\n",".vjs-big-play-button {\r\n @extend .vb-icon;\r\n\r\n @extend .vb-hover-animated;\r\n\r\n position: absolute;\r\n top: 50%;\r\n bottom: 50%;\r\n left: 50%;\r\n right: 50%;\r\n z-index: 5;\r\n margin: -5 / 3 * $base-font-size;\r\n border: none;\r\n padding: 0;\r\n width: 10 / 3 * $base-font-size;\r\n height: 10 / 3 * $base-font-size;\r\n color: $color-contrast-light;\r\n background-color: rgba($color-contrast-dark, $overlay-opacity);\r\n cursor: pointer;\r\n border-radius: 100%;\r\n box-shadow: 0px 0px 40px -5px $color-contrast-dark;\r\n\r\n &:before {\r\n content: $font-Videobox-play;\r\n font-size: 2 * $base-font-size;\r\n }\r\n\r\n &:hover,\r\n &:focus {\r\n color: $primary-light;\r\n }\r\n}\r\n\r\n.vjs-has-started .vjs-big-play-button {\r\n display: none;\r\n}\r\n","@import \"bourbon\";\r\n\r\n$primary-color: #005723;\r\n$primary-light: #84d1a4;\r\n$overlay-opacity: 0.7;\r\n$transition-duration: 0.5s;\r\n$hover-duration: 0.2s;\r\n$base-font-size: 24px;\r\n$color-contrast-light: #ffffff;\r\n$color-contrast-dark: #000000;\r\n\r\n@import \"icons\";\r\n@import \"helpers\";\r\n\r\n@import \"common/thumbnail\";\r\n@import \"common/single-video\";\r\n@import \"common/gallery\";\r\n@import \"common/pagination\";\r\n\r\n@import \"videobox/overlay\";\r\n@import \"videobox/wrap\";\r\n@import \"videobox/center\";\r\n@import \"videobox/responsive\";\r\n@import \"videobox/video\";\r\n@import \"videobox/bottom\";\r\n@import \"videobox/close\";\r\n\r\n@import \"vbinline/wrap\";\r\n@import \"vbinline/responsive\";\r\n@import \"vbinline/video\";\r\n@import \"vbinline/close\";\r\n\r\n@import \"vbslider/wrap\";\r\n@import \"vbslider/content\";\r\n@import \"vbslider/buttons\";\r\n\r\n@import \"video-js/base\";\r\n@import \"video-js/control-bar\";\r\n@import \"video-js/poster\";\r\n@import \"video-js/video\";\r\n@import \"video-js/play-button\";\r\n@import \"video-js/spinner\";\r\n\r\n@import \"video-js/controls/play\";\r\n@import \"video-js/controls/volume\";\r\n@import \"video-js/controls/time\";\r\n@import \"video-js/controls/progress\";\r\n@import \"video-js/controls/fullscreen\";\r\n","//\n// Icon Font: Videobox\n//\n\n@font-face {\n font-family: \"Videobox\";\n src: url(\"/font/Videobox.eot\");\n src: url(\"/font/Videobox.eot?#iefix\") format(\"embedded-opentype\"), url(\"/font/Videobox.woff\") format(\"woff\"), url(\"/font/Videobox.ttf\") format(\"truetype\"), url(\"/font/Videobox.svg#Videobox\") format(\"svg\");\n font-weight: normal;\n font-style: normal;\n}\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n @font-face {\n font-family: \"Videobox\";\n src: url(\"/font/Videobox.svg#Videobox\") format(\"svg\");\n }\n}\n\n[data-icon]:before {\n content: attr(data-icon);\n}\n\n[data-icon]:before,\n.vb-icon, [class^=\"vb-icon-\"], [class*=\" vb-icon-\"] {\n display: inline-block;\n font-family: \"Videobox\";\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n line-height: 1;\n text-decoration: inherit;\n text-rendering: optimizeLegibility;\n text-transform: none;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-smoothing: antialiased;\n font-size: 24px;\n width: 1em;\n height: 1em;\n}\n\n.vb-icon-circle:before {\n content: \"\\f100\";\n}\n\n.vb-icon-close:before {\n content: \"\\f101\";\n}\n\n.vb-icon-close-small:before {\n content: \"\\f102\";\n}\n\n.vb-icon-fullscreen-enter:before {\n content: \"\\f103\";\n}\n\n.vb-icon-fullscreen-exit:before {\n content: \"\\f104\";\n}\n\n.vb-icon-next:before {\n content: \"\\f105\";\n}\n\n.vb-icon-pause:before {\n content: \"\\f106\";\n}\n\n.vb-icon-play:before {\n content: \"\\f107\";\n}\n\n.vb-icon-prev:before {\n content: \"\\f108\";\n}\n\n.vb-icon-volume-0:before {\n content: \"\\f109\";\n}\n\n.vb-icon-volume-1:before {\n content: \"\\f10a\";\n}\n\n.vb-icon-volume-2:before {\n content: \"\\f10b\";\n}\n\n.vb-icon-volume-3:before {\n content: \"\\f10c\";\n}\n\n$font-Videobox-circle: \"\";\n$font-Videobox-close: \"\";\n$font-Videobox-close-small: \"\";\n$font-Videobox-fullscreen-enter: \"\";\n$font-Videobox-fullscreen-exit: \"\";\n$font-Videobox-next: \"\";\n$font-Videobox-pause: \"\";\n$font-Videobox-play: \"\";\n$font-Videobox-prev: \"\";\n$font-Videobox-volume-0: \"\";\n$font-Videobox-volume-1: \"\";\n$font-Videobox-volume-2: \"\";\n$font-Videobox-volume-3: \"\";\n","@charset \"UTF-8\";\n@font-face {\n font-family: \"Videobox\";\n src: url(\"data:application/vnd.ms-fontobject;base64,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\");\n src: url(\"data:application/vnd.ms-fontobject;base64,cAoAAMAJAAABAAIAAAAAAAIABgMAAAAAAAABAPQBAAAAAExQAQAAAAAAABAAAAAAAAAAAAEAAAAAAAAACN6GrwAAAAAAAAAAAAAAAAAAAAAAABAAVgBpAGQAZQBvAGIAbwB4AAAADABNAGUAZABpAHUAbQAAACAAVgBlAHIAcwBpAG8AbgAgADAAMAAxAC4AMAAwADAAIAAAABAAVgBpAGQAZQBvAGIAbwB4AAAAAAAAAQAAAA0AgAADAFBGRlRNdOpuZgAACaQAAAAcT1MvMlAwXisAAAFYAAAAYGNtYXDiABX/AAAB5AAAAUpjdnQgABEBRAAAAzAAAAAEZ2FzcP//AAMAAAmcAAAACGdseWY55nc0AAADWAAAAyhoZWFkCbMMEwAAANwAAAA2aGhlYQOcAfAAAAEUAAAAJGhtdHgG4gLkAAABuAAAACxsb2NhBZ4GegAAAzQAAAAkbWF4cABXAFcAAAE4AAAAIG5hbWX/w6KZAAAGgAAAAnBwb3N0930VewAACPAAAACsAAEAAAABAACvht4IXw889QALAgAAAAAA1FZlywAAAADUVmXLABH/6gHWAZYAAAAIAAIAAAAAAAAAAQAAAZb/6gAuAgAAAAAAAdYAAQAAAAAAAAAAAAAAAAAAAAUAAQAAABEAJgAEAAAAAAACAAAAAQABAAAAQAAuAAAAAAAEAekB9AAFAAABTAFmAAAARwFMAWYAAAD1ABkAhAAAAgAGAwAAAAAAAAAAAAEQAAAAAAAAAAAAAABQZkVkAMAAIPEMAcD/wAAuAZYAFgAAAAEAAAAAAAAAAAAAACAAAQC7ABEAAAAAAKoAAADIAAACAAAqAGoAlQBqAGoAtwCAAKoAqgBAAEAAQABAAAAAAwAAAAMAAAAcAAEAAAAAAEQAAwABAAAAHAAEACgAAAAGAAQAAQACACDxDP//AAAAIPEA////4w8EAAEAAAAAAAAAAAEGAAABAAAAAAAAAAECAAAAAgAAAAAAAAAAAAAAAAAAAAEAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQFEAAAAKgAqACoAKgA8AFYAcACWALoAzADgAOwA/gE+AU4BaAGUAAIAEQAAAJkBVQADAAcALrEBAC88sgcEAO0ysQYF3DyyAwIA7TIAsQMALzyyBQQA7TKyBwYB/DyyAQIA7TIzETMRJzMRIxGId2ZmAVX+qxEBMwAAAAEAKv/qAdYBlgAHAAA2NDYyFhQGIit9sH19sGiwfX2wfQAAAAEAagAqAZYBVgALAAABBxcHJwcnNyc3FzcBlXd3Hnd3Hnd3Hnd3ATd3dx53dx53dx53dwABAJUAVQFrASsACwAAJRcHJwcnNyc3FzcXAR5NHk1MH01NH0xNHsBNHk1NHk1MH01NHwAABABqACoBlgFWAAUACwARABcAACU1MxUjNScVMxUjNTczFSM1Iwc1MxUjFQFrKmqWQGrAaipAwGpAVUBqKkBAKmrAakBAaipAAAAAAAQAagAqAZYBVgAFAAsAEQAXAAAlNTMVIxU1MxUjNTMHNTMVIzUVNTMVIzUBK2pAQGoqqipqaioraipA6ipqQEBqKqoqakAAAAEAtwBAAVYBQAAFAAATFwcnNyfVgIAeYmIBQICAHmJiAAAAAAIAgAAqAYABVgADAAcAABMzESMTMxEjgFVVq1VVAVX+1gEq/tYAAAABAKoAKgGWAVYAAgAAExcHq+rqAVWVlQABAKoAQAFJAUAABQAAAQcXByc3AUliYh6AgAEiYmIegIAAAAAEAEAAAAHAAYAADwASABkAJQAAEzcBBycGBzU2NycVJyM1MzcVJxcUByc1HgEXNCYnNR4BFRQHJzZAGwFlGywiLBkXW2tVZVstjQE0GB01PixAVRYgCwFlG/6bGyscCiwHEluQa4BrWi1+Bwc1LwwuHC5UDSwPaEQvKiEbAAAAAAEAQAAVAQABawAFAAATMzcRJyNAVWtrVQEAa/6qawAAAgBAABUBYAFrAAUACwAAAR4BFAYHJzM3EScjASsYHR0Y61Vra1UBFgwuOC4Mlmv+qmsAAAMAQAAEAcABfAAFAAwAGAAAEzM3EScjJRQGBzUeASceARQGBzU+ATQmJ0BVa2tVASAfFhgdNUBVVUAsPj4sAQBr/qprQBkyC6wMLp8PaIhoDywNVFxUDQAAAA4ArgABAAAAAAAAADwAegABAAAAAAABAAgAyQABAAAAAAACAAYA4AABAAAAAAADACUBMwABAAAAAAAEAAgBawABAAAAAAAFABABlgABAAAAAAAGAAgBuQADAAEECQAAAHgAAAADAAEECQABABAAtwADAAEECQACAAwA0gADAAEECQADAEoA5wADAAEECQAEABABWQADAAEECQAFACABdAADAAEECQAGABABpwBDAHIAZQBhAHQAZQBkACAAYgB5ACAAcgBvAG8AdAAgAHcAaQB0AGgAIABGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAKABoAHQAdABwADoALwAvAGYAbwBuAHQAZgBvAHIAZwBlAC4AcwBmAC4AbgBlAHQAKQAAQ3JlYXRlZCBieSByb290IHdpdGggRm9udEZvcmdlIDIuMCAoaHR0cDovL2ZvbnRmb3JnZS5zZi5uZXQpAABWAGkAZABlAG8AYgBvAHgAAFZpZGVvYm94AABNAGUAZABpAHUAbQAATWVkaXVtAABGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAFYAaQBkAGUAbwBiAG8AeAAgADoAIAAxADkALQAxADEALQAyADAAMQA2AABGb250Rm9yZ2UgMi4wIDogVmlkZW9ib3ggOiAxOS0xMS0yMDE2AABWAGkAZABlAG8AYgBvAHgAAFZpZGVvYm94AABWAGUAcgBzAGkAbwBuACAAMAAwADEALgAwADAAMAAgAABWZXJzaW9uIDAwMS4wMDAgAABWAGkAZABlAG8AYgBvAHgAAFZpZGVvYm94AAACAAAAAAAA/8AAGQAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAABAAIAAwECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOB3VuaUYxMDAHdW5pRjEwMQd1bmlGMTAyB3VuaUYxMDMHdW5pRjEwNAd1bmlGMTA1B3VuaUYxMDYHdW5pRjEwNwd1bmlGMTA4B3VuaUYxMDkHdW5pRjEwQQd1bmlGMTBCB3VuaUYxMEMAAAAB//8AAgAAAAEAAAAAzD2izwAAAADUVmXLAAAAANRWZcs=\") format(\"embedded-opentype\"), url(\"data:application/font-woff;base64,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\") format(\"woff\"), url(\"data:application/x-font-ttf;base64,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\") format(\"truetype\"), url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxmb250IGhvcml6LWFkdi14PSI1MTIiPjxmb250LWZhY2UgZm9udC1mYW1pbHk9IlZpZGVvYm94IiBmb250LXdlaWdodD0iNTAwIiB1bml0cy1wZXItZW09IjUxMiIgcGFub3NlLTE9IjIgMCA2IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNDQ4IiBkZXNjZW50PSItNjQiIGJib3g9IjQyLjY2NyAtMjEuMzMzIDQ2OS4zMzMgNDA1LjMzMyIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iMjUuNiIgdW5kZXJsaW5lLXBvc2l0aW9uPSItNTEuMiIgdW5pY29kZS1yYW5nZT0iVSswMDIwLUYxMEMiLz48Z2x5cGggZ2x5cGgtbmFtZT0ic3BhY2UiIGhvcml6LWFkdi14PSIyMDAiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwNyIgdW5pY29kZT0i74SHIiBkPSJNMTcwLjY2NyAzNDEuMzMzTDQwNS4zMzMgMTkyIDE3MC42NjcgNDIuNjY3djI5OC42NjZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDYiIHVuaWNvZGU9Iu+EhiIgZD0iTTEyOCAzNDEuMzMzaDg1LjMzM1Y0Mi42NjdIMTI4djI5OC42NjZ6bTE3MC42NjcgMEgzODRWNDIuNjg3aC04NS4zMzN2Mjk4LjY0NnoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwQyIgdW5pY29kZT0i74SMIiBkPSJNNjQgMjU2aDg1LjMzM0wyNTYgMzYyLjY2N1YyMS4zMzNMMTQ5LjMzMyAxMjhINjR2MTI4em0yODgtNjRjLS4wMzEtMzIuODQtMjMuOTI0LTcxLjM1Ny01My4zMzMtODUuOTc0djE3MS44NEMzMzAuMjQgMjYyLjE4NiAzNTIgMjI5LjY1NCAzNTIgMTkyem0tNTMuMzMzIDE4Ny4wOTRDMzg0LjEwNyAzNTkuNjggNDQ4IDI4My40OTkgNDQ4IDE5Mi4wNDNTMzg0LjEwNiAyNC4zNDIgMjk4LjY2NyA0LjkyOFY0OC45NkMzNTcuNDk5IDY2LjUyIDQwNS4yODUgMTMwLjYwMyA0MDUuMzMzIDE5MmMtLjAyNyA2MS40MTItNDcuODE1IDEyNS40OTQtMTA2LjY2NiAxNDMuMDR2NDQuMDU0eiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTA1IiB1bmljb2RlPSLvhIUiIGQ9Ik0yMTMuMzMzIDMyMGwxMjgtMTI4LTEyOC0xMjgtMjkuOTk0IDI5Ljk5NUwyODEuMzQ0IDE5MmwtOTguMDA1IDk4LjAwNXoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwNCIgdW5pY29kZT0i74SEIiBkPSJNMjk4LjY2NyA0Mi42Njd2MTA2LjY2NmgxMDYuNjY2di00Mi42NjZoLTY0di02NGgtNDIuNjY2em00Mi42NjYgMjM0LjY2Nmg2NHYtNDIuNjY2SDI5OC42Njd2MTA2LjY2Nmg0Mi42NjZ2LTY0em0tMTcwLjY2NiAwdjY0aDQyLjY2NlYyMzQuNjY3SDEwNi42Njd2NDIuNjY2aDY0em0tNjQtMTcwLjY2NnY0Mi42NjZoMTA2LjY2NlY0Mi42NjdoLTQyLjY2NnY2NGgtNjR6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMEEiIHVuaWNvZGU9Iu+EiiIgZD0iTTY0IDI1Nmg4NS4zMzNMMjU2IDM2Mi42NjdWMjEuMzMzTDE0OS4zMzMgMTI4SDY0djEyOHoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwMiIgdW5pY29kZT0i74SCIiBkPSJNMjg2LjE2NSAxOTJsNzYuNTAyLTc2LjUwMS0zMC4xNjYtMzAuMTY2TDI1NiAxNjEuODM1bC03Ni40MzgtNzYuNTAyLTMwLjIyOSAzMC4xNjZMMjI1LjgzNSAxOTJsLTc2LjUwMiA3Ni40MzggMzAuMjMgMzAuMjI5TDI1NiAyMjIuMTY1bDc2LjUwMSA3Ni41MDIgMzAuMTY2LTMwLjIzeiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTAzIiB1bmljb2RlPSLvhIMiIGQ9Ik0zNjIuNjY3IDg1LjMzM3Y2NGg0Mi42NjZWNDIuNjY3SDI5OC42Njd2NDIuNjY2aDY0em0tMjEzLjMzNCA2NHYtNjRoNjRWNDIuNjY3SDEwNi42Njd2MTA2LjY2Nmg0Mi42NjZ6bTE0OS4zMzQgMTkyaDEwNi42NjZWMjM0LjY2N2gtNDIuNjY2djY0aC02NHY0Mi42NjZ6bS0xOTItMTA2LjY2NnYxMDYuNjY2aDEwNi42NjZ2LTQyLjY2NmgtNjR2LTY0aC00Mi42NjZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMEIiIHVuaWNvZGU9Iu+EiyIgZD0iTTI5OC42NjcgMjc3Ljg2NkMzMzAuMjQgMjYyLjE4NiAzNTIgMjI5LjY1MyAzNTIgMTkyYzAtMzcuNjEtMjEuNzYtNzAuMjA4LTUzLjMzMy04NS45NzR2MTcxLjg0ek02NCAyNTZoODUuMzMzTDI1NiAzNjIuNjY3VjIxLjMzM0wxNDkuMzMzIDEyOEg2NHYxMjh6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDEiIHVuaWNvZGU9Iu+EgSIgZD0iTTQwNS4zMzMgMzExLjE0NkwyODYuMTg3IDE5MiA0MDUuMzMzIDcyLjg1NGwtMzAuMTg2LTMwLjE4NkwyNTYgMTYxLjgxMyAxMzYuODU0IDQyLjY2OWwtMzAuMTg3IDMwLjE4NkwyMjUuODE0IDE5MiAxMDYuNjY4IDMxMS4xNDZsMzAuMTg2IDMwLjE4NkwyNTYgMjIyLjE4OGwxMTkuMTQ2IDExOS4xNDZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDAiIHVuaWNvZGU9Iu+EgCIgZD0iTTQyLjY2NyAxOTJjMCAxMTcuODI0IDk1LjUwOSAyMTMuMzMzIDIxMy4zMzMgMjEzLjMzMyAxMTcuNzgxIDAgMjEzLjMzMy05NS41MDkgMjEzLjMzMy0yMTMuMzMzIDAtMTE3Ljc4MS05NS41NTItMjEzLjMzMy0yMTMuMzMzLTIxMy4zMzNDMTM4LjE3Ni0yMS4zMzMgNDIuNjY3IDc0LjIxOSA0Mi42NjcgMTkyeiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTA4IiB1bmljb2RlPSLvhIgiIGQ9Ik0zMjguNjYxIDI5MC4wMDVMMjMwLjY3OCAxOTJsOTguMDA0LTk4LjAwNUwyOTguNjY4IDY0bC0xMjggMTI4IDEyOCAxMjh6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDkiIHVuaWNvZGU9Iu+EiSIgZD0iTTY0IDM1Ni44TDkxLjIgMzg0IDQ0OCAyNy4yIDQyMC44IDBsLTQzLjQ5OCA0My40NzdjLTE5LjItMTUuNzY1LTU0LjQyOC0zMy4wOTItNzguNjM1LTM4LjY3N3Y0NC4wNTNjMTcuNzA2IDUuMzM0IDMzLjgxNCAxNC4xODcgNDguMTA3IDI1LjE3M0wyNTYgMTY0LjhWMjEuMzMzTDE0OS4zMzMgMTI4SDY0djEyOGgxMDAuOHptMTkyIDUuODY3di04OS4xNzRsLTQ0LjU4NyA0NC41ODd6TTM1MiAxOTJjMC00LjU4Ny0uMzQyLTkuMTc0LS45Ni0xMy42NzVsLTUyLjM3MyA1Mi4zOTV2NDcuMTQ2QzMzMC4yNCAyNjIuMTg2IDM1MiAyMjkuNjUzIDM1MiAxOTJ6bTUzLjMzMyAwYy0uMDI3IDYxLjQxMi00Ny44MTUgMTI1LjQ5NC0xMDYuNjY2IDE0My4wNHY0NC4wNTRDMzg0LjEwNyAzNTkuNjggNDQ4IDI4My4zMDcgNDQ4IDE5MmMtLjAyMi0yNS45NjUtOS44MTgtNjUuNzA0LTIxLjg2Ny04OC43MDRsLTMyLjMyIDMyLjM2MmM2LjI1NyAxNC45MjIgMTEuNDE4IDQwLjE2MiAxMS41MiA1Ni4zNDJ6Ii8+PC9mb250PjwvZGVmcz48L3N2Zz4=\") format(\"svg\");\n font-weight: normal;\n font-style: normal;\n}\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n @font-face {\n font-family: \"Videobox\";\n src: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxmb250IGhvcml6LWFkdi14PSI1MTIiPjxmb250LWZhY2UgZm9udC1mYW1pbHk9IlZpZGVvYm94IiBmb250LXdlaWdodD0iNTAwIiB1bml0cy1wZXItZW09IjUxMiIgcGFub3NlLTE9IjIgMCA2IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNDQ4IiBkZXNjZW50PSItNjQiIGJib3g9IjQyLjY2NyAtMjEuMzMzIDQ2OS4zMzMgNDA1LjMzMyIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iMjUuNiIgdW5kZXJsaW5lLXBvc2l0aW9uPSItNTEuMiIgdW5pY29kZS1yYW5nZT0iVSswMDIwLUYxMEMiLz48Z2x5cGggZ2x5cGgtbmFtZT0ic3BhY2UiIGhvcml6LWFkdi14PSIyMDAiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwNyIgdW5pY29kZT0i74SHIiBkPSJNMTcwLjY2NyAzNDEuMzMzTDQwNS4zMzMgMTkyIDE3MC42NjcgNDIuNjY3djI5OC42NjZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDYiIHVuaWNvZGU9Iu+EhiIgZD0iTTEyOCAzNDEuMzMzaDg1LjMzM1Y0Mi42NjdIMTI4djI5OC42NjZ6bTE3MC42NjcgMEgzODRWNDIuNjg3aC04NS4zMzN2Mjk4LjY0NnoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwQyIgdW5pY29kZT0i74SMIiBkPSJNNjQgMjU2aDg1LjMzM0wyNTYgMzYyLjY2N1YyMS4zMzNMMTQ5LjMzMyAxMjhINjR2MTI4em0yODgtNjRjLS4wMzEtMzIuODQtMjMuOTI0LTcxLjM1Ny01My4zMzMtODUuOTc0djE3MS44NEMzMzAuMjQgMjYyLjE4NiAzNTIgMjI5LjY1NCAzNTIgMTkyem0tNTMuMzMzIDE4Ny4wOTRDMzg0LjEwNyAzNTkuNjggNDQ4IDI4My40OTkgNDQ4IDE5Mi4wNDNTMzg0LjEwNiAyNC4zNDIgMjk4LjY2NyA0LjkyOFY0OC45NkMzNTcuNDk5IDY2LjUyIDQwNS4yODUgMTMwLjYwMyA0MDUuMzMzIDE5MmMtLjAyNyA2MS40MTItNDcuODE1IDEyNS40OTQtMTA2LjY2NiAxNDMuMDR2NDQuMDU0eiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTA1IiB1bmljb2RlPSLvhIUiIGQ9Ik0yMTMuMzMzIDMyMGwxMjgtMTI4LTEyOC0xMjgtMjkuOTk0IDI5Ljk5NUwyODEuMzQ0IDE5MmwtOTguMDA1IDk4LjAwNXoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwNCIgdW5pY29kZT0i74SEIiBkPSJNMjk4LjY2NyA0Mi42Njd2MTA2LjY2NmgxMDYuNjY2di00Mi42NjZoLTY0di02NGgtNDIuNjY2em00Mi42NjYgMjM0LjY2Nmg2NHYtNDIuNjY2SDI5OC42Njd2MTA2LjY2Nmg0Mi42NjZ2LTY0em0tMTcwLjY2NiAwdjY0aDQyLjY2NlYyMzQuNjY3SDEwNi42Njd2NDIuNjY2aDY0em0tNjQtMTcwLjY2NnY0Mi42NjZoMTA2LjY2NlY0Mi42NjdoLTQyLjY2NnY2NGgtNjR6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMEEiIHVuaWNvZGU9Iu+EiiIgZD0iTTY0IDI1Nmg4NS4zMzNMMjU2IDM2Mi42NjdWMjEuMzMzTDE0OS4zMzMgMTI4SDY0djEyOHoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwMiIgdW5pY29kZT0i74SCIiBkPSJNMjg2LjE2NSAxOTJsNzYuNTAyLTc2LjUwMS0zMC4xNjYtMzAuMTY2TDI1NiAxNjEuODM1bC03Ni40MzgtNzYuNTAyLTMwLjIyOSAzMC4xNjZMMjI1LjgzNSAxOTJsLTc2LjUwMiA3Ni40MzggMzAuMjMgMzAuMjI5TDI1NiAyMjIuMTY1bDc2LjUwMSA3Ni41MDIgMzAuMTY2LTMwLjIzeiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTAzIiB1bmljb2RlPSLvhIMiIGQ9Ik0zNjIuNjY3IDg1LjMzM3Y2NGg0Mi42NjZWNDIuNjY3SDI5OC42Njd2NDIuNjY2aDY0em0tMjEzLjMzNCA2NHYtNjRoNjRWNDIuNjY3SDEwNi42Njd2MTA2LjY2Nmg0Mi42NjZ6bTE0OS4zMzQgMTkyaDEwNi42NjZWMjM0LjY2N2gtNDIuNjY2djY0aC02NHY0Mi42NjZ6bS0xOTItMTA2LjY2NnYxMDYuNjY2aDEwNi42NjZ2LTQyLjY2NmgtNjR2LTY0aC00Mi42NjZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMEIiIHVuaWNvZGU9Iu+EiyIgZD0iTTI5OC42NjcgMjc3Ljg2NkMzMzAuMjQgMjYyLjE4NiAzNTIgMjI5LjY1MyAzNTIgMTkyYzAtMzcuNjEtMjEuNzYtNzAuMjA4LTUzLjMzMy04NS45NzR2MTcxLjg0ek02NCAyNTZoODUuMzMzTDI1NiAzNjIuNjY3VjIxLjMzM0wxNDkuMzMzIDEyOEg2NHYxMjh6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDEiIHVuaWNvZGU9Iu+EgSIgZD0iTTQwNS4zMzMgMzExLjE0NkwyODYuMTg3IDE5MiA0MDUuMzMzIDcyLjg1NGwtMzAuMTg2LTMwLjE4NkwyNTYgMTYxLjgxMyAxMzYuODU0IDQyLjY2OWwtMzAuMTg3IDMwLjE4NkwyMjUuODE0IDE5MiAxMDYuNjY4IDMxMS4xNDZsMzAuMTg2IDMwLjE4NkwyNTYgMjIyLjE4OGwxMTkuMTQ2IDExOS4xNDZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDAiIHVuaWNvZGU9Iu+EgCIgZD0iTTQyLjY2NyAxOTJjMCAxMTcuODI0IDk1LjUwOSAyMTMuMzMzIDIxMy4zMzMgMjEzLjMzMyAxMTcuNzgxIDAgMjEzLjMzMy05NS41MDkgMjEzLjMzMy0yMTMuMzMzIDAtMTE3Ljc4MS05NS41NTItMjEzLjMzMy0yMTMuMzMzLTIxMy4zMzNDMTM4LjE3Ni0yMS4zMzMgNDIuNjY3IDc0LjIxOSA0Mi42NjcgMTkyeiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTA4IiB1bmljb2RlPSLvhIgiIGQ9Ik0zMjguNjYxIDI5MC4wMDVMMjMwLjY3OCAxOTJsOTguMDA0LTk4LjAwNUwyOTguNjY4IDY0bC0xMjggMTI4IDEyOCAxMjh6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDkiIHVuaWNvZGU9Iu+EiSIgZD0iTTY0IDM1Ni44TDkxLjIgMzg0IDQ0OCAyNy4yIDQyMC44IDBsLTQzLjQ5OCA0My40NzdjLTE5LjItMTUuNzY1LTU0LjQyOC0zMy4wOTItNzguNjM1LTM4LjY3N3Y0NC4wNTNjMTcuNzA2IDUuMzM0IDMzLjgxNCAxNC4xODcgNDguMTA3IDI1LjE3M0wyNTYgMTY0LjhWMjEuMzMzTDE0OS4zMzMgMTI4SDY0djEyOGgxMDAuOHptMTkyIDUuODY3di04OS4xNzRsLTQ0LjU4NyA0NC41ODd6TTM1MiAxOTJjMC00LjU4Ny0uMzQyLTkuMTc0LS45Ni0xMy42NzVsLTUyLjM3MyA1Mi4zOTV2NDcuMTQ2QzMzMC4yNCAyNjIuMTg2IDM1MiAyMjkuNjUzIDM1MiAxOTJ6bTUzLjMzMyAwYy0uMDI3IDYxLjQxMi00Ny44MTUgMTI1LjQ5NC0xMDYuNjY2IDE0My4wNHY0NC4wNTRDMzg0LjEwNyAzNTkuNjggNDQ4IDI4My4zMDcgNDQ4IDE5MmMtLjAyMi0yNS45NjUtOS44MTgtNjUuNzA0LTIxLjg2Ny04OC43MDRsLTMyLjMyIDMyLjM2MmM2LjI1NyAxNC45MjIgMTEuNDE4IDQwLjE2MiAxMS41MiA1Ni4zNDJ6Ii8+PC9mb250PjwvZGVmcz48L3N2Zz4=\") format(\"svg\");\n }\n}\n\n[data-icon]:before {\n content: attr(data-icon);\n}\n\n[data-icon]:before,\n.vb-icon,\n.vjs-big-play-button,\n.vjs-loading-spinner,\n.vjs-play-control,\n.vjs-volume-menu-button,\n.vjs-volume-menu-button .vjs-menu .vjs-volume-bar .vjs-volume-level,\n.vjs-progress-control .vjs-progress-holder .vjs-play-progress,\n.vjs-fullscreen-control, [class^=\"vb-icon-\"], [class*=\" vb-icon-\"] {\n display: inline-block;\n font-family: \"Videobox\";\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n line-height: 1;\n text-decoration: inherit;\n text-rendering: optimizeLegibility;\n text-transform: none;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-smoothing: antialiased;\n font-size: 24px;\n width: 1em;\n height: 1em;\n}\n\n.vb-icon-circle:before {\n content: \"\\f100\";\n}\n\n.vb-icon-close:before {\n content: \"\\f101\";\n}\n\n.vb-icon-close-small:before {\n content: \"\\f102\";\n}\n\n.vb-icon-fullscreen-enter:before {\n content: \"\\f103\";\n}\n\n.vb-icon-fullscreen-exit:before {\n content: \"\\f104\";\n}\n\n.vb-icon-next:before {\n content: \"\\f105\";\n}\n\n.vb-icon-pause:before {\n content: \"\\f106\";\n}\n\n.vb-icon-play:before {\n content: \"\\f107\";\n}\n\n.vb-icon-prev:before {\n content: \"\\f108\";\n}\n\n.vb-icon-volume-0:before {\n content: \"\\f109\";\n}\n\n.vb-icon-volume-1:before {\n content: \"\\f10a\";\n}\n\n.vb-icon-volume-2:before {\n content: \"\\f10b\";\n}\n\n.vb-icon-volume-3:before {\n content: \"\\f10c\";\n}\n\n.vb-hover-animated, .vb_video_cont, .vb_video_cont a, .vb_thub_wrap .vb-icon-play, .pagination > li > a,\n.pagination > li > span, #vbCloseLink, #vbiClose, .vb_slider_outer .vb_slider_prev,\n.vb_slider_outer .vb_slider_next, .vjs-big-play-button, .vjs-play-control, .vjs-volume-menu-button, .vjs-progress-control .vjs-progress-holder .vjs-play-progress:after, .vjs-fullscreen-control {\n -webkit-transition: all 0.2s ease-in-out;\n -moz-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n}\n\n.vb-line-fix {\n white-space: nowrap;\n max-width: 100%;\n display: inline-block;\n}\n\n.vb-icon-circle-close-invert {\n position: relative;\n display: block;\n}\n\n.vb-icon-circle-close-invert:before,\n.vb-icon-circle-close-invert:after {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.vb-icon-circle-close-invert:before {\n content: \"\";\n}\n\n.vb-icon-circle-close-invert:after {\n content: \"\";\n color: #ffffff !important;\n}\n\n.vb_video_cont {\n vertical-align: top;\n text-align: center;\n}\n\n.vb_video_cont img {\n display: block;\n max-width: 100%;\n height: auto;\n width: 100%;\n}\n\n.vb_video_cont, .vb_video_cont a {\n display: inline-block;\n text-decoration: none;\n color: #005723;\n display: inline-block;\n width: 100%;\n}\n\n.vb_video_cont:hover, .vb_video_cont:focus, .vb_video_cont a:hover, .vb_video_cont a:focus {\n color: #84d1a4;\n}\n\n.vb_video_cont:hover .vb_thub_wrap .vb-icon-play, .vb_video_cont:focus .vb_thub_wrap .vb-icon-play, .vb_video_cont a:hover .vb_thub_wrap .vb-icon-play, .vb_video_cont a:focus .vb_thub_wrap .vb-icon-play {\n color: #84d1a4;\n background-color: rgba(0, 0, 0, 0.7);\n}\n\n.vb_video_title {\n display: block;\n padding: 8px 10px 0;\n}\n\n.vb_video_title:empty {\n display: none;\n}\n\n.vb_thub_wrap {\n position: relative;\n display: block;\n}\n\n.vb_thub_wrap .vb-icon-play {\n position: absolute;\n top: 50%;\n left: 50%;\n bottom: 50%;\n right: 50%;\n width: 72px;\n height: 72px;\n margin: -36px;\n border-radius: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n font-size: 48px;\n line-height: 72px;\n color: #ffffff;\n display: none;\n box-shadow: 0px 0px 40px -5px #000000;\n}\n\n.vb_play_button .vb_thub_wrap .vb-icon-play {\n display: block;\n}\n\n.vb_video_sizer {\n position: relative;\n display: block;\n height: 0;\n overflow: hidden;\n background-color: #000000;\n}\n\n.vb_video_sizer iframe {\n background-color: #000000;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.vb_video_frame {\n display: block;\n width: 100%;\n margin: 30px 0;\n text-align: center;\n font-size: 1.2em;\n color: #005723;\n}\n\n.vb_gallery {\n padding: 0;\n margin: -12px;\n clear: both;\n display: -webkit-box;\n display: -moz-box;\n display: box;\n display: -webkit-flex;\n display: -moz-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-flex-flow: row wrap;\n -moz-flex-flow: row wrap;\n flex-flow: row wrap;\n}\n\n.vb_video_cont.vb_gal {\n margin: 12px;\n}\n\n.vb_video_cont.vb_gal:empty {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.pagination {\n margin: 15px 0;\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n}\n\n.pagination > li {\n display: inline;\n}\n\n.pagination > li > a,\n.pagination > li > span {\n background-color: #ffffff;\n color: #005723;\n border: none;\n font-weight: 400;\n font-size: 15px;\n padding: 7.5px 15px;\n text-decoration: none;\n text-shadow: 0px 0px 10px #84d1a4;\n}\n\n.pagination > li > a:hover, .pagination > li > a:focus,\n.pagination > li > span:hover,\n.pagination > li > span:focus {\n color: #005723;\n background-color: #84d1a4;\n}\n\n.pagination > li + li > a,\n.pagination > li + li > span {\n border-left: 1px solid #ffffff;\n margin-left: 0;\n}\n\n.pagination > li.active > a,\n.pagination > li.active > span {\n color: #005723;\n background-color: #84d1a4;\n}\n\n#vbOverlay {\n position: fixed;\n z-index: 9999;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n cursor: pointer;\n visibility: hidden;\n background-color: #000000;\n opacity: 0;\n -webkit-transition: all 0.5s ease-in-out;\n -moz-transition: all 0.5s ease-in-out;\n transition: all 0.5s ease-in-out;\n}\n\n#vbOverlay.visible {\n visibility: visible;\n opacity: 0.7;\n}\n\n#vbWrap {\n position: absolute;\n z-index: 9999;\n left: 0;\n top: 0;\n height: 100%;\n visibility: hidden;\n pointer-events: none;\n width: 100%;\n max-width: 100vw;\n max-height: 100vh;\n display: -webkit-box;\n display: -moz-box;\n display: box;\n display: -webkit-flex;\n display: -moz-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -moz-box-pack: center;\n box-pack: center;\n -webkit-justify-content: center;\n -moz-justify-content: center;\n -ms-justify-content: center;\n -o-justify-content: center;\n justify-content: center;\n -ms-flex-pack: center;\n -webkit-box-align: center;\n -moz-box-align: center;\n box-align: center;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n -o-align-items: center;\n align-items: center;\n -ms-flex-align: center;\n}\n\n#vbWrap.visible {\n visibility: visible;\n}\n\n#vbWrap.visible:not(.animating) #vbCenter {\n -webkit-transition: all 0.5s ease-in-out;\n -moz-transition: all 0.5s ease-in-out;\n transition: all 0.5s ease-in-out;\n}\n\n#vbWrap .animating {\n overflow: hidden;\n}\n\n#vbCenter {\n box-sizing: border-box;\n width: 100%;\n position: relative;\n display: block;\n}\n\n#vbResponsive {\n position: relative;\n display: block;\n width: 100%;\n height: 0;\n padding: 0;\n overflow: hidden;\n background-color: #000000;\n pointer-events: all;\n z-index: 10;\n box-shadow: 0px 0px 40px -5px #000000;\n}\n\n#vbVideo {\n background-color: #000000;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n#vbBottomContainer {\n width: 100%;\n position: absolute;\n color: #ffffff;\n max-height: 0;\n overflow: hidden;\n background-color: #000000;\n opacity: 0.5;\n pointer-events: all;\n z-index: 5;\n font-size: 15px;\n box-shadow: 0px 0px 40px -5px #000000;\n}\n\n#vbBottomContainer.visible {\n max-height: 200px;\n -webkit-transition: opacity 0.5s 0.1s ease-in-out;\n -moz-transition: opacity 0.5s 0.1s ease-in-out;\n transition: opacity 0.5s 0.1s ease-in-out;\n}\n\n#vbBottomContainer.visible:hover, #vbBottomContainer.visible:focus {\n opacity: 1;\n -webkit-transition-delay: 0s;\n -moz-transition-delay: 0s;\n transition-delay: 0s;\n}\n\n#vbBottom {\n box-sizing: border-box;\n position: relative;\n width: 100%;\n padding: 15px 15px 0;\n text-align: left;\n font-weight: 400;\n font-size: 15px;\n}\n\n#vbCaption {\n margin-bottom: 10px;\n display: block;\n}\n\n#vbCloseLink {\n display: inline-block;\n float: right;\n text-transform: uppercase;\n line-height: 1em;\n padding-left: 5px;\n text-decoration: none;\n font-size: 18px;\n margin: -5px -5px 10px 10px;\n color: inherit;\n cursor: pointer;\n -webkit-transition-delay: inherit;\n -moz-transition-delay: inherit;\n transition-delay: inherit;\n}\n\n#vbCloseLink:hover, #vbCloseLink:focus {\n text-decoration: none;\n color: #84d1a4;\n}\n\n#vbCloseLink i {\n display: inline-block;\n vertical-align: middle;\n font-size: 36px;\n padding-left: 4px;\n}\n\n#vbCloseText {\n display: inline-block;\n vertical-align: middle;\n}\n\n#vbiWrap {\n width: 100%;\n position: relative;\n color: #005723;\n text-align: center;\n}\n\n#vbiResponsive {\n position: relative;\n display: block;\n width: 100%;\n height: 0;\n padding: 0;\n overflow: hidden;\n background-color: #000000;\n padding-bottom: 56.25%;\n pointer-events: all;\n}\n\n#vbiVideo {\n background-color: #000000;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n#vbiClose {\n position: absolute;\n top: 0;\n right: 0;\n width: 48px;\n height: 48px;\n margin: -24px -24px 0 0;\n font-size: 24px;\n line-height: 1;\n cursor: pointer;\n padding: 12px;\n opacity: 0;\n z-index: 300;\n box-sizing: border-box;\n}\n\n#vbiWrap:hover #vbiClose,\n#vbiClose.visible {\n opacity: 1;\n}\n\n#vbiClose:hover,\n#vbiClose:focus {\n color: #84d1a4;\n}\n\n.vb_slider_outer {\n width: 100%;\n color: #005723;\n display: -webkit-box;\n display: -moz-box;\n display: box;\n display: -webkit-flex;\n display: -moz-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-flex-flow: row;\n -moz-flex-flow: row;\n flex-flow: row;\n}\n\n.vb_slider_outer .vb_slider_wrap {\n -webkit-box-flex: 1;\n -moz-box-flex: 1;\n box-flex: 1;\n -webkit-flex: 1 1 100%;\n -moz-flex: 1 1 100%;\n -ms-flex: 1 1 100%;\n flex: 1 1 100%;\n overflow: hidden;\n padding: 0px;\n}\n\n.vb_gallery.vb_slider {\n margin: 0;\n -webkit-box-lines: single;\n -moz-box-lines: single;\n box-lines: single;\n -webkit-flex-wrap: nowrap;\n -moz-flex-wrap: nowrap;\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n\n.vb_gallery.vb_slider .vb_video_cont.vb_gal {\n margin: 12px;\n}\n\n.vb_slider_outer .vb_slider_prev,\n.vb_slider_outer .vb_slider_next {\n flex: 0 0 48px;\n cursor: pointer;\n position: relative;\n margin: 15px 0;\n}\n\n.vb_slider_outer .vb_slider_prev i,\n.vb_slider_outer .vb_slider_next i {\n position: absolute;\n top: 50%;\n margin-top: -24px;\n font-size: 48px;\n}\n\n.vb_slider_outer .vb_slider_prev:hover, .vb_slider_outer .vb_slider_prev:focus,\n.vb_slider_outer .vb_slider_next:hover,\n.vb_slider_outer .vb_slider_next:focus {\n color: #84d1a4;\n}\n\nhtml.vb-html5-player,\nbody.vb-html5-player {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n margin: 0;\n padding: 0;\n background: #000000;\n}\n\nhtml.vb-html5-player *:focus,\nbody.vb-html5-player *:focus {\n border: none;\n outline: none;\n}\n\n#vb-html5-video {\n width: 100%;\n height: 100%;\n background: #000000;\n}\n\n.video-js {\n color: #ffffff;\n background: #000000;\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n position: relative;\n font-size: 15px;\n line-height: 1em;\n font-family: \"Roboto\", \"Arial\", \"Helvetica\", sans-serif;\n font-weight: normal;\n font-style: normal;\n text-decoration: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.video-js .vjs-control-text {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.vjs-hidden {\n display: none;\n}\n\n.video-js .vjs-control-bar {\n display: none;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 48px;\n z-index: 3;\n background: rgba(0, 0, 0, 0.7);\n visibility: hidden;\n opacity: 0;\n -webkit-box-align: center;\n -moz-box-align: center;\n box-align: center;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n -o-align-items: center;\n align-items: center;\n -ms-flex-align: center;\n display: -webkit-box;\n display: -moz-box;\n display: box;\n display: -webkit-flex;\n display: -moz-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-transition: all 0.5s ease-in-out;\n -moz-transition: all 0.5s ease-in-out;\n transition: all 0.5s ease-in-out;\n}\n\n.vjs-has-started .vjs-control-bar {\n visibility: visible;\n opacity: 1;\n}\n\n.vjs-has-started.vjs-user-inactive.vjs-playing:not(.vjs-audio) .vjs-control-bar {\n visibility: hidden;\n opacity: 0;\n}\n\n.vjs-control {\n padding: 0;\n margin: 0;\n border: none;\n background: none;\n color: #ffffff;\n height: 48px;\n display: -webkit-box;\n display: -moz-box;\n display: box;\n display: -webkit-flex;\n display: -moz-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -moz-box-align: center;\n box-align: center;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n -o-align-items: center;\n align-items: center;\n -ms-flex-align: center;\n}\n\n.vjs-control:before {\n display: inline-block;\n vertical-align: middle;\n width: 48px;\n height: 48px;\n text-align: center;\n line-height: 48px;\n cursor: pointer;\n}\n\n.vjs-live-control,\n.vjs-custom-control-spacer,\n.vjs-playback-rate,\n.vjs-chapters-button,\n.vjs-subtitles-button,\n.vjs-captions-button,\n.vjs-descriptions-button,\n.vjs-audio-button {\n display: none;\n}\n\n.vjs-poster {\n background-color: #000000;\n background-repeat: no-repeat;\n background-position: 50% 50%;\n background-size: contain;\n cursor: pointer;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 2;\n}\n\n.vjs-has-started:not(.vjs-audio) .vjs-poster {\n display: none;\n}\n\n.video-js .vjs-tech {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1;\n}\n\n.vjs-big-play-button {\n position: absolute;\n top: 50%;\n bottom: 50%;\n left: 50%;\n right: 50%;\n z-index: 5;\n margin: -40px;\n border: none;\n padding: 0;\n width: 80px;\n height: 80px;\n color: #ffffff;\n background-color: rgba(0, 0, 0, 0.7);\n cursor: pointer;\n border-radius: 100%;\n box-shadow: 0px 0px 40px -5px #000000;\n}\n\n.vjs-big-play-button:before {\n content: \"\";\n font-size: 48px;\n}\n\n.vjs-big-play-button:hover, .vjs-big-play-button:focus {\n color: #84d1a4;\n}\n\n.vjs-has-started .vjs-big-play-button {\n display: none;\n}\n\n.vjs-loading-spinner {\n position: absolute;\n top: 50%;\n bottom: 50%;\n left: 50%;\n right: 50%;\n z-index: 5;\n margin: -40px;\n border: none;\n padding: 0;\n width: 80px;\n height: 80px;\n display: none;\n}\n\n.vjs-loading-spinner:before {\n display: block;\n content: \"\";\n position: absolute;\n width: 100%;\n height: 100%;\n font-size: 80px;\n color: transparent;\n text-shadow: 0px 0px 120px rgba(0, 0, 0, 0.7);\n z-index: 2;\n}\n\n.vjs-loading-spinner:after {\n display: block;\n content: \" \";\n position: absolute;\n width: 100%;\n height: 100%;\n background: url(\"data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjQ4IiBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgNDggNDgiPjxzdHlsZT4uc3Bpbm5lcntmaWxsOiNmZmY7LXdlYmtpdC1hbmltYXRpb246c3BpbiAuOHMgc3RlcHMoOCxlbmQpIGluZmluaXRlIWltcG9ydGFudDthbmltYXRpb246c3BpbiAuOHMgc3RlcHMoOCxlbmQpIGluZmluaXRlIWltcG9ydGFudDstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46MjRweCAyNHB4IWltcG9ydGFudDstbXMtdHJhbnNmb3JtLW9yaWdpbjoyNHB4IDI0cHghaW1wb3J0YW50Oy1tb3otdHJhbnNmb3JtLW9yaWdpbjoyNHB4IDI0cHghaW1wb3J0YW50O3RyYW5zZm9ybS1vcmlnaW46MjRweCAyNHB4IWltcG9ydGFudH1Aa2V5ZnJhbWVzIHNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1ALXdlYmtpdC1rZXlmcmFtZXMgc3Bpbnt0b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKSB0cmFuc2xhdGUzZCgwLDAsMCl9fTwvc3R5bGU+PGRlZnM+PHBhdGggaWQ9ImFyYyIgZD0iTTI1IDIuMDIzYTIyIDIyIDAgMCAxIDEzLjgzMyA1LjczbC02LjM3NSA2LjM3NUExMyAxMyAwIDAgMCAyNSAxMS4wMzh6Ii8+PC9kZWZzPjxnIGNsYXNzPSJzcGlubmVyIj48dXNlIG9wYWNpdHk9Ii40IiB4bGluazpocmVmPSIjYXJjIi8+PHVzZSBvcGFjaXR5PSIuNCIgdHJhbnNmb3JtPSJyb3RhdGUoNDUgMjQgMjQpIiB4bGluazpocmVmPSIjYXJjIi8+PHVzZSBvcGFjaXR5PSIuNCIgdHJhbnNmb3JtPSJyb3RhdGUoOTAgMjQgMjQpIiB4bGluazpocmVmPSIjYXJjIi8+PHVzZSBvcGFjaXR5PSIuNCIgdHJhbnNmb3JtPSJyb3RhdGUoMTM1IDI0IDI0KSIgeGxpbms6aHJlZj0iI2FyYyIvPjx1c2Ugb3BhY2l0eT0iLjQiIHRyYW5zZm9ybT0icm90YXRlKDE4MCAyNCAyNCkiIHhsaW5rOmhyZWY9IiNhcmMiLz48dXNlIG9wYWNpdHk9Ii40IiB0cmFuc2Zvcm09InJvdGF0ZSgyMjUgMjQgMjQpIiB4bGluazpocmVmPSIjYXJjIi8+PHVzZSBvcGFjaXR5PSIuODUiIHRyYW5zZm9ybT0icm90YXRlKDI3MCAyNCAyNCkiIHhsaW5rOmhyZWY9IiNhcmMiLz48dXNlIG9wYWNpdHk9Ii40IiB0cmFuc2Zvcm09InJvdGF0ZSgzMTUgMjQgMjQpIiB4bGluazpocmVmPSIjYXJjIi8+PC9nPjwvc3ZnPg==\") no-repeat;\n background-position: 50% 50%;\n background-size: 100% 100%;\n z-index: 3;\n}\n\n.vjs-seeking .vjs-loading-spinner, .vjs-waiting .vjs-loading-spinner {\n display: block;\n}\n\n.vjs-play-control {\n -webkit-box-flex: 0;\n -moz-box-flex: 0;\n box-flex: 0;\n -webkit-flex: 0 0 48px;\n -moz-flex: 0 0 48px;\n -ms-flex: 0 0 48px;\n flex: 0 0 48px;\n}\n\n.vjs-play-control:before {\n content: \"\";\n}\n\n.vjs-play-control:hover {\n color: #84d1a4;\n}\n\n.vjs-playing .vjs-play-control:before {\n content: \"\";\n}\n\n.vjs-volume-menu-button {\n overflow: hidden;\n -webkit-box-flex: 0;\n -moz-box-flex: 0;\n box-flex: 0;\n -webkit-flex: 0 0 48px;\n -moz-flex: 0 0 48px;\n -ms-flex: 0 0 48px;\n flex: 0 0 48px;\n}\n\n.vjs-volume-menu-button:before {\n flex: 0 0 48px;\n}\n\n.vjs-volume-menu-button.vjs-vol-3:before {\n content: \"\";\n}\n\n.vjs-volume-menu-button.vjs-vol-2:before {\n content: \"\";\n}\n\n.vjs-volume-menu-button.vjs-vol-1:before {\n content: \"\";\n}\n\n.vjs-volume-menu-button.vjs-vol-0:before {\n content: \"\";\n}\n\n.vjs-volume-menu-button:hover, .vjs-volume-menu-button:focus {\n color: #84d1a4;\n -webkit-box-flex: 0;\n -moz-box-flex: 0;\n box-flex: 0;\n -webkit-flex: 0 0 168px;\n -moz-flex: 0 0 168px;\n -ms-flex: 0 0 168px;\n flex: 0 0 168px;\n}\n\n.vjs-volume-menu-button .vjs-menu {\n -webkit-box-flex: 1;\n -moz-box-flex: 1;\n box-flex: 1;\n -webkit-flex: 1 1 0px;\n -moz-flex: 1 1 0px;\n -ms-flex: 1 1 0px;\n flex: 1 1 0px;\n color: #ffffff;\n}\n\n.vjs-volume-menu-button .vjs-menu .vjs-menu-content {\n padding: 0 12px;\n}\n\n.vjs-volume-menu-button .vjs-menu .vjs-volume-bar {\n height: 6px;\n background: rgba(255, 255, 255, 0.3);\n position: relative;\n}\n\n.vjs-volume-menu-button .vjs-menu .vjs-volume-bar .vjs-volume-level {\n height: 100%;\n width: 100%;\n background: #ffffff;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.vjs-volume-menu-button .vjs-menu .vjs-volume-bar .vjs-volume-level:after {\n content: \"\";\n position: absolute;\n right: 0;\n margin: -12px;\n top: 3px;\n cursor: pointer;\n}\n\n.vjs-time-control {\n margin: 0 12px;\n}\n\n.vjs-time-divider, .vjs-duration, .vjs-remaining-time {\n display: none;\n}\n\n.vjs-progress-control {\n -webkit-box-flex: 1;\n -moz-box-flex: 1;\n box-flex: 1;\n -webkit-flex: 1 1 0px;\n -moz-flex: 1 1 0px;\n -ms-flex: 1 1 0px;\n flex: 1 1 0px;\n}\n\n.vjs-progress-control .vjs-progress-holder {\n height: 6px;\n width: 100%;\n margin: 0 12px;\n position: relative;\n background: rgba(255, 255, 255, 0.3);\n cursor: pointer;\n}\n\n.vjs-progress-control .vjs-progress-holder .vjs-load-progress,\n.vjs-progress-control .vjs-progress-holder .vjs-mouse-display,\n.vjs-progress-control .vjs-progress-holder .vjs-play-progress {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n}\n\n.vjs-progress-control .vjs-progress-holder .vjs-load-progress {\n background: rgba(255, 255, 255, 0.3);\n}\n\n.vjs-progress-control .vjs-progress-holder .vjs-mouse-display {\n z-index: 10;\n width: 1px;\n background: #000000;\n display: none;\n}\n\n.vjs-progress-control .vjs-progress-holder .vjs-play-progress {\n background: #ffffff;\n}\n\n.vjs-progress-control .vjs-progress-holder .vjs-play-progress:after {\n content: \"\";\n position: absolute;\n right: 0;\n margin: -3px;\n opacity: 0;\n font-size: 6px;\n top: 3px;\n cursor: pointer;\n}\n\n.vjs-progress-control:hover .vjs-mouse-display, .vjs-progress-control:focus .vjs-mouse-display {\n display: block;\n}\n\n.vjs-progress-control:hover .vjs-play-progress:after, .vjs-progress-control:focus .vjs-play-progress:after {\n opacity: 1;\n font-size: 24px;\n margin: -12px;\n}\n\n.vjs-fullscreen-control {\n -webkit-box-flex: 0;\n -moz-box-flex: 0;\n box-flex: 0;\n -webkit-flex: 0 0 48px;\n -moz-flex: 0 0 48px;\n -ms-flex: 0 0 48px;\n flex: 0 0 48px;\n}\n\n.vjs-fullscreen-control:hover {\n color: #84d1a4;\n}\n\n.vjs-fullscreen-control:before {\n content: \"\";\n}\n\n.vjs-fullscreen .vjs-fullscreen-control:before {\n content: \"\";\n}\n\n/*# sourceMappingURL=videobox.css.map */\n",".vjs-fullscreen-control {\r\n @extend .vb-icon;\r\n\r\n @extend .vb-hover-animated;\r\n\r\n @include flex(0 0 (2 * $base-font-size));\r\n\r\n &:hover {\r\n color: $primary-light;\r\n }\r\n\r\n &:before {\r\n content: $font-Videobox-fullscreen-enter;\r\n }\r\n}\r\n\r\n.vjs-fullscreen .vjs-fullscreen-control {\r\n &:before {\r\n content: $font-Videobox-fullscreen-exit;\r\n }\r\n}\r\n",".vb-hover-animated {\r\n @include transition(all $hover-duration ease-in-out);\r\n}\r\n\r\n.vb-line-fix {\r\n white-space: nowrap;\r\n max-width: 100%;\r\n display: inline-block;\r\n}\r\n\r\n.vb-icon-circle-close-invert {\r\n position: relative;\r\n display: block;\r\n}\r\n\r\n.vb-icon-circle-close-invert:before,\r\n.vb-icon-circle-close-invert:after {\r\n display: block;\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n}\r\n\r\n.vb-icon-circle-close-invert:before {\r\n content: $font-Videobox-circle;\r\n}\r\n\r\n.vb-icon-circle-close-invert:after {\r\n content: $font-Videobox-close-small;\r\n color: $color-contrast-light !important;\r\n}\r\n","@charset \"UTF-8\";\n\n/// A mixin for generating vendor prefixes on non-standardized properties.\n///\n/// @param {String} $property\n/// Property to prefix\n///\n/// @param {*} $value\n/// Value to use\n///\n/// @param {List} $prefixes\n/// Prefixes to define\n///\n/// @example scss - Usage\n/// .element {\n/// @include prefixer(border-radius, 10px, webkit ms spec);\n/// }\n///\n/// @example css - CSS Output\n/// .element {\n/// -webkit-border-radius: 10px;\n/// -moz-border-radius: 10px;\n/// border-radius: 10px;\n/// }\n///\n/// @require {variable} $prefix-for-webkit\n/// @require {variable} $prefix-for-mozilla\n/// @require {variable} $prefix-for-microsoft\n/// @require {variable} $prefix-for-opera\n/// @require {variable} $prefix-for-spec\n\n@mixin prefixer($property, $value, $prefixes) {\n @each $prefix in $prefixes {\n @if $prefix == webkit {\n @if $prefix-for-webkit {\n -webkit-#{$property}: $value;\n }\n } @else if $prefix == moz {\n @if $prefix-for-mozilla {\n -moz-#{$property}: $value;\n }\n } @else if $prefix == ms {\n @if $prefix-for-microsoft {\n -ms-#{$property}: $value;\n }\n } @else if $prefix == o {\n @if $prefix-for-opera {\n -o-#{$property}: $value;\n }\n } @else if $prefix == spec {\n @if $prefix-for-spec {\n #{$property}: $value;\n }\n } @else {\n @warn \"Unrecognized prefix: #{$prefix}\";\n }\n }\n}\n\n@mixin disable-prefix-for-all() {\n $prefix-for-webkit: false !global;\n $prefix-for-mozilla: false !global;\n $prefix-for-microsoft: false !global;\n $prefix-for-opera: false !global;\n $prefix-for-spec: false !global;\n}\n","#vbCloseLink {\r\n @extend .vb-hover-animated;\r\n\r\n display: inline-block;\r\n float: right;\r\n text-transform: uppercase;\r\n line-height: 1em;\r\n padding-left: 5px;\r\n text-decoration: none;\r\n font-size: 0.75 * $base-font-size;\r\n margin: -5px -5px 10px 10px;\r\n color: inherit;\r\n cursor: pointer;\r\n\r\n &:hover,\r\n &:focus {\r\n text-decoration: none;\r\n color: $primary-light;\r\n }\r\n\r\n i {\r\n display: inline-block;\r\n vertical-align: middle;\r\n font-size: 1.5 * $base-font-size;\r\n padding-left: 4px;\r\n }\r\n\r\n @include transition-delay(inherit);\r\n}\r\n\r\n#vbCloseText {\r\n display: inline-block;\r\n vertical-align: middle;\r\n}\r\n",".video-js .vjs-control-bar {\r\n display: none;\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n height: 2 * $base-font-size;\r\n z-index: 3;\r\n background: rgba($color-contrast-dark, $overlay-opacity);\r\n visibility: hidden;\r\n opacity: 0;\r\n\r\n @include align-items(center);\r\n\r\n @include display(flex);\r\n\r\n @include transition(all $transition-duration ease-in-out);\r\n}\r\n\r\n.vjs-has-started .vjs-control-bar {\r\n visibility: visible;\r\n opacity: 1;\r\n}\r\n\r\n.vjs-has-started.vjs-user-inactive.vjs-playing:not(.vjs-audio) .vjs-control-bar {\r\n visibility: hidden;\r\n opacity: 0;\r\n}\r\n\r\n.vjs-control {\r\n padding: 0;\r\n margin: 0;\r\n border: none;\r\n background: none;\r\n color: $color-contrast-light;\r\n height: 2 * $base-font-size;\r\n\r\n @include display(flex);\r\n\r\n @include align-items(center);\r\n\r\n &:before {\r\n display: inline-block;\r\n vertical-align: middle;\r\n width: 2 * $base-font-size;\r\n height: 2 * $base-font-size;\r\n text-align: center;\r\n line-height: 2 * $base-font-size;\r\n cursor: pointer;\r\n }\r\n}\r\n\r\n.vjs-live-control,\r\n.vjs-custom-control-spacer,\r\n.vjs-playback-rate,\r\n.vjs-chapters-button,\r\n.vjs-subtitles-button,\r\n.vjs-captions-button,\r\n.vjs-descriptions-button,\r\n.vjs-audio-button {\r\n display: none;\r\n}\r\n",".vb_video_sizer {\r\n position: relative;\r\n display: block;\r\n height: 0;\r\n overflow: hidden;\r\n background-color: $color-contrast-dark;\r\n\r\n iframe {\r\n background-color: $color-contrast-dark;\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n border: 0;\r\n }\r\n}\r\n\r\n.vb_video_frame {\r\n display: block;\r\n width: 100%;\r\n margin: 30px 0;\r\n text-align: center;\r\n font-size: 1.2em;\r\n color: $primary-color;\r\n}\r\n","#vbiResponsive {\r\n position: relative;\r\n display: block;\r\n width: 100%;\r\n height: 0;\r\n padding: 0;\r\n overflow: hidden;\r\n background-color: $color-contrast-dark;\r\n padding-bottom: 56.25%;\r\n pointer-events: all;\r\n}\r\n",".vjs-volume-menu-button {\r\n @extend .vb-icon;\r\n\r\n @extend .vb-hover-animated;\r\n\r\n overflow: hidden;\r\n\r\n @include flex(0 0 (2 * $base-font-size));\r\n\r\n &:before {\r\n flex: 0 0 (2 * $base-font-size);\r\n }\r\n\r\n &.vjs-vol-3:before {\r\n content: $font-Videobox-volume-3;\r\n }\r\n\r\n &.vjs-vol-2:before {\r\n content: $font-Videobox-volume-2;\r\n }\r\n\r\n &.vjs-vol-1:before {\r\n content: $font-Videobox-volume-1;\r\n }\r\n\r\n &.vjs-vol-0:before {\r\n content: $font-Videobox-volume-0;\r\n }\r\n\r\n &:hover,\r\n &:focus {\r\n color: $primary-light;\r\n\r\n @include flex(0 0 (7 * $base-font-size));\r\n }\r\n\r\n .vjs-menu {\r\n @include flex(1 1 0px);\r\n\r\n color: $color-contrast-light;\r\n\r\n .vjs-menu-content {\r\n padding: 0 ($base-font-size / 2);\r\n }\r\n\r\n .vjs-volume-bar {\r\n height: 0.25 * $base-font-size;\r\n background: rgba($color-contrast-light, 1 - $overlay-opacity);\r\n position: relative;\r\n\r\n .vjs-volume-level {\r\n @extend .vb-icon;\r\n\r\n height: 100%;\r\n width: 100%;\r\n background: $color-contrast-light;\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n\r\n &:after {\r\n content: $font-Videobox-circle;\r\n position: absolute;\r\n right: 0;\r\n margin: -$base-font-size / 2;\r\n top: 0.125 * $base-font-size;\r\n cursor: pointer;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n",".vb_gallery {\r\n padding: 0;\r\n margin: -12px;\r\n clear: both;\r\n\r\n @include display(flex);\r\n\r\n @include flex-flow(row wrap);\r\n}\r\n\r\n.vb_video_cont.vb_gal {\r\n margin: 12px;\r\n\r\n &:empty {\r\n margin-top: 0;\r\n margin-bottom: 0;\r\n }\r\n}\r\n","// CSS3 Flexible Box Model and property defaults\n\n// Custom shorthand notation for flexbox\n@mixin box($orient: inline-axis, $pack: start, $align: stretch) {\n @include display-box;\n @include box-orient($orient);\n @include box-pack($pack);\n @include box-align($align);\n}\n\n@mixin display-box {\n display: -webkit-box;\n display: -moz-box;\n display: -ms-flexbox; // IE 10\n display: box;\n}\n\n@mixin box-orient($orient: inline-axis) {\n// horizontal|vertical|inline-axis|block-axis|inherit\n @include prefixer(box-orient, $orient, webkit moz spec);\n}\n\n@mixin box-pack($pack: start) {\n// start|end|center|justify\n @include prefixer(box-pack, $pack, webkit moz spec);\n -ms-flex-pack: $pack; // IE 10\n}\n\n@mixin box-align($align: stretch) {\n// start|end|center|baseline|stretch\n @include prefixer(box-align, $align, webkit moz spec);\n -ms-flex-align: $align; // IE 10\n}\n\n@mixin box-direction($direction: normal) {\n// normal|reverse|inherit\n @include prefixer(box-direction, $direction, webkit moz spec);\n -ms-flex-direction: $direction; // IE 10\n}\n\n@mixin box-lines($lines: single) {\n// single|multiple\n @include prefixer(box-lines, $lines, webkit moz spec);\n}\n\n@mixin box-ordinal-group($int: 1) {\n @include prefixer(box-ordinal-group, $int, webkit moz spec);\n -ms-flex-order: $int; // IE 10\n}\n\n@mixin box-flex($value: 0) {\n @include prefixer(box-flex, $value, webkit moz spec);\n -ms-flex: $value; // IE 10\n}\n\n@mixin box-flex-group($int: 1) {\n @include prefixer(box-flex-group, $int, webkit moz spec);\n}\n\n// CSS3 Flexible Box Model and property defaults\n// Unified attributes for 2009, 2011, and 2012 flavours.\n\n// 2009 - display (box | inline-box)\n// 2011 - display (flexbox | inline-flexbox)\n// 2012 - display (flex | inline-flex)\n@mixin display($value) {\n// flex | inline-flex\n @if $value == \"flex\" {\n // 2009\n display: -webkit-box;\n display: -moz-box;\n display: box;\n\n // 2012\n display: -webkit-flex;\n display: -moz-flex;\n display: -ms-flexbox; // 2011 (IE 10)\n display: flex;\n } @else if $value == \"inline-flex\" {\n display: -webkit-inline-box;\n display: -moz-inline-box;\n display: inline-box;\n\n display: -webkit-inline-flex;\n display: -moz-inline-flex;\n display: -ms-inline-flexbox;\n display: inline-flex;\n } @else {\n display: $value;\n }\n}\n\n// 2009 - box-flex (integer)\n// 2011 - flex (decimal | width decimal)\n// 2012 - flex (integer integer width)\n@mixin flex($value) {\n\n // Grab flex-grow for older browsers.\n $flex-grow: nth($value, 1);\n\n // 2009\n @include prefixer(box-flex, $flex-grow, webkit moz spec);\n\n // 2011 (IE 10), 2012\n @include prefixer(flex, $value, webkit moz ms spec);\n}\n\n// 2009 - box-orient ( horizontal | vertical | inline-axis | block-axis)\n// - box-direction (normal | reverse)\n// 2011 - flex-direction (row | row-reverse | column | column-reverse)\n// 2012 - flex-direction (row | row-reverse | column | column-reverse)\n@mixin flex-direction($value: row) {\n\n // Alt values.\n $value-2009: $value;\n $value-2011: $value;\n $direction: normal;\n\n @if $value == row {\n $value-2009: horizontal;\n } @else if $value == \"row-reverse\" {\n $value-2009: horizontal;\n $direction: reverse;\n } @else if $value == column {\n $value-2009: vertical;\n } @else if $value == \"column-reverse\" {\n $value-2009: vertical;\n $direction: reverse;\n }\n\n // 2009\n @include prefixer(box-orient, $value-2009, webkit moz spec);\n @include prefixer(box-direction, $direction, webkit moz spec);\n\n // 2012\n @include prefixer(flex-direction, $value, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-direction: $value;\n}\n\n// 2009 - box-lines (single | multiple)\n// 2011 - flex-wrap (nowrap | wrap | wrap-reverse)\n// 2012 - flex-wrap (nowrap | wrap | wrap-reverse)\n@mixin flex-wrap($value: nowrap) {\n // Alt values\n $alt-value: $value;\n @if $value == nowrap {\n $alt-value: single;\n } @else if $value == wrap {\n $alt-value: multiple;\n } @else if $value == \"wrap-reverse\" {\n $alt-value: multiple;\n }\n\n @include prefixer(box-lines, $alt-value, webkit moz spec);\n @include prefixer(flex-wrap, $value, webkit moz ms spec);\n}\n\n// 2009 - TODO: parse values into flex-direction/flex-wrap\n// 2011 - TODO: parse values into flex-direction/flex-wrap\n// 2012 - flex-flow (flex-direction || flex-wrap)\n@mixin flex-flow($value) {\n @include prefixer(flex-flow, $value, webkit moz spec);\n}\n\n// 2009 - box-ordinal-group (integer)\n// 2011 - flex-order (integer)\n// 2012 - order (integer)\n@mixin order($int: 0) {\n // 2009\n @include prefixer(box-ordinal-group, $int, webkit moz spec);\n\n // 2012\n @include prefixer(order, $int, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-order: $int;\n}\n\n// 2012 - flex-grow (number)\n@mixin flex-grow($number: 0) {\n @include prefixer(flex-grow, $number, webkit moz spec);\n -ms-flex-positive: $number;\n}\n\n// 2012 - flex-shrink (number)\n@mixin flex-shrink($number: 1) {\n @include prefixer(flex-shrink, $number, webkit moz spec);\n -ms-flex-negative: $number;\n}\n\n// 2012 - flex-basis (number)\n@mixin flex-basis($width: auto) {\n @include prefixer(flex-basis, $width, webkit moz spec);\n -ms-flex-preferred-size: $width;\n}\n\n// 2009 - box-pack (start | end | center | justify)\n// 2011 - flex-pack (start | end | center | justify)\n// 2012 - justify-content (flex-start | flex-end | center | space-between | space-around)\n@mixin justify-content($value: flex-start) {\n\n // Alt values.\n $alt-value: $value;\n @if $value == \"flex-start\" {\n $alt-value: start;\n } @else if $value == \"flex-end\" {\n $alt-value: end;\n } @else if $value == \"space-between\" {\n $alt-value: justify;\n } @else if $value == \"space-around\" {\n $alt-value: distribute;\n }\n\n // 2009\n @include prefixer(box-pack, $alt-value, webkit moz spec);\n\n // 2012\n @include prefixer(justify-content, $value, webkit moz ms o spec);\n\n // 2011 (IE 10)\n -ms-flex-pack: $alt-value;\n}\n\n// 2009 - box-align (start | end | center | baseline | stretch)\n// 2011 - flex-align (start | end | center | baseline | stretch)\n// 2012 - align-items (flex-start | flex-end | center | baseline | stretch)\n@mixin align-items($value: stretch) {\n\n $alt-value: $value;\n\n @if $value == \"flex-start\" {\n $alt-value: start;\n } @else if $value == \"flex-end\" {\n $alt-value: end;\n }\n\n // 2009\n @include prefixer(box-align, $alt-value, webkit moz spec);\n\n // 2012\n @include prefixer(align-items, $value, webkit moz ms o spec);\n\n // 2011 (IE 10)\n -ms-flex-align: $alt-value;\n}\n\n// 2011 - flex-item-align (auto | start | end | center | baseline | stretch)\n// 2012 - align-self (auto | flex-start | flex-end | center | baseline | stretch)\n@mixin align-self($value: auto) {\n\n $value-2011: $value;\n @if $value == \"flex-start\" {\n $value-2011: start;\n } @else if $value == \"flex-end\" {\n $value-2011: end;\n }\n\n // 2012\n @include prefixer(align-self, $value, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-item-align: $value-2011;\n}\n\n// 2011 - flex-line-pack (start | end | center | justify | distribute | stretch)\n// 2012 - align-content (flex-start | flex-end | center | space-between | space-around | stretch)\n@mixin align-content($value: stretch) {\n\n $value-2011: $value;\n @if $value == \"flex-start\" {\n $value-2011: start;\n } @else if $value == \"flex-end\" {\n $value-2011: end;\n } @else if $value == \"space-between\" {\n $value-2011: justify;\n } @else if $value == \"space-around\" {\n $value-2011: distribute;\n }\n\n // 2012\n @include prefixer(align-content, $value, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-line-pack: $value-2011;\n}\n",".pagination {\r\n margin: 15px 0;\r\n display: inline-block;\r\n padding-left: 0;\r\n margin: 20px 0;\r\n\r\n & > li {\r\n display: inline;\r\n\r\n & > a,\r\n & > span {\r\n @extend .vb-hover-animated;\r\n\r\n background-color: $color-contrast-light;\r\n color: $primary-color;\r\n border: none;\r\n font-weight: 400;\r\n font-size: 0.625 * $base-font-size;\r\n padding: (0.3125 * $base-font-size) (0.625 * $base-font-size);\r\n text-decoration: none;\r\n text-shadow: 0px 0px 10px $primary-light;\r\n\r\n &:hover,\r\n &:focus {\r\n color: $primary-color;\r\n background-color: $primary-light;\r\n }\r\n }\r\n\r\n & + li {\r\n & > a,\r\n & > span {\r\n border-left: 1px solid $color-contrast-light;\r\n margin-left: 0;\r\n }\r\n }\r\n\r\n &.active {\r\n & > a,\r\n & > span {\r\n color: $primary-color;\r\n background-color: $primary-light;\r\n }\r\n }\r\n }\r\n}\r\n","#vbiWrap {\r\n width: 100%;\r\n position: relative;\r\n color: $primary-color;\r\n text-align: center;\r\n}\r\n","#vbVideo {\r\n background-color: $color-contrast-dark;\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n border: 0;\r\n}\r\n","#vbiVideo {\r\n background-color: $color-contrast-dark;\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n border: 0;\r\n}\r\n","#vbiClose {\r\n @extend .vb-hover-animated;\r\n\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n width: 48px;\r\n height: 48px;\r\n margin: -24px -24px 0 0;\r\n font-size: 24px;\r\n line-height: 1;\r\n cursor: pointer;\r\n padding: 12px;\r\n opacity: 0;\r\n z-index: 300;\r\n box-sizing: border-box;\r\n}\r\n\r\n#vbiWrap:hover #vbiClose,\r\n#vbiClose.visible {\r\n opacity: 1;\r\n}\r\n\r\n#vbiClose:hover,\r\n#vbiClose:focus {\r\n color: $primary-light;\r\n}\r\n",".vjs-poster {\r\n background-color: $color-contrast-dark;\r\n background-repeat: no-repeat;\r\n background-position: 50% 50%;\r\n background-size: contain;\r\n cursor: pointer;\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n z-index: 2;\r\n}\r\n\r\n.vjs-has-started:not(.vjs-audio) .vjs-poster {\r\n display: none;\r\n}\r\n",".video-js .vjs-tech {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n z-index: 1;\r\n}\r\n","#vbOverlay {\r\n position: fixed;\r\n z-index: 9999;\r\n left: 0;\r\n top: 0;\r\n width: 100%;\r\n height: 100%;\r\n cursor: pointer;\r\n visibility: hidden;\r\n background-color: $color-contrast-dark;\r\n opacity: 0;\r\n\r\n @include transition(all $transition-duration ease-in-out);\r\n\r\n &.visible {\r\n visibility: visible;\r\n opacity: $overlay-opacity;\r\n }\r\n}\r\n","#vbWrap {\r\n position: absolute;\r\n z-index: 9999;\r\n left: 0;\r\n top: 0;\r\n height: 100%;\r\n visibility: hidden;\r\n pointer-events: none;\r\n width: 100%;\r\n max-width: 100vw;\r\n max-height: 100vh;\r\n\r\n @include display(flex);\r\n\r\n @include justify-content(center);\r\n\r\n @include align-items(center);\r\n\r\n &.visible {\r\n visibility: visible;\r\n\r\n &:not(.animating) #vbCenter {\r\n @include transition(all $transition-duration ease-in-out);\r\n }\r\n }\r\n\r\n .animating {\r\n overflow: hidden;\r\n }\r\n}\r\n","#vbCenter {\r\n box-sizing: border-box;\r\n width: 100%;\r\n position: relative;\r\n display: block;\r\n}\r\n","html.vb-html5-player,\r\nbody.vb-html5-player {\r\n position: fixed;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n margin: 0;\r\n padding: 0;\r\n background: $color-contrast-dark;\r\n\r\n *:focus {\r\n border: none;\r\n outline: none;\r\n }\r\n}\r\n\r\n#vb-html5-video {\r\n width: 100%;\r\n height: 100%;\r\n background: $color-contrast-dark;\r\n}\r\n\r\n.video-js {\r\n color: $color-contrast-light;\r\n background: $color-contrast-dark;\r\n margin: 0;\r\n padding: 0;\r\n width: 100%;\r\n height: 100%;\r\n position: relative;\r\n font-size: 0.625 * $base-font-size;\r\n line-height: 1em;\r\n font-family: \"Roboto\", \"Arial\", \"Helvetica\", sans-serif;\r\n font-weight: normal;\r\n font-style: normal;\r\n text-decoration: none;\r\n\r\n @include user-select(none);\r\n}\r\n\r\n.video-js .vjs-control-text {\r\n border: 0;\r\n clip: rect(0 0 0 0);\r\n height: 1px;\r\n margin: -1px;\r\n overflow: hidden;\r\n padding: 0;\r\n position: absolute;\r\n width: 1px;\r\n}\r\n\r\n.vjs-hidden {\r\n display: none;\r\n}\r\n",".vb_slider_outer {\r\n width: 100%;\r\n color: $primary-color;\r\n\r\n @include display(flex);\r\n\r\n @include flex-flow(row);\r\n\r\n .vb_slider_wrap {\r\n @include flex(1 1 100%);\r\n\r\n overflow: hidden;\r\n padding: 0px;\r\n }\r\n}\r\n",".vb_gallery.vb_slider {\r\n margin: 0;\r\n\r\n @include flex-wrap(nowrap);\r\n\r\n .vb_video_cont.vb_gal {\r\n margin: 12px;\r\n }\r\n}\r\n",".vb_slider_outer {\r\n .vb_slider_prev,\r\n .vb_slider_next {\r\n @extend .vb-hover-animated;\r\n\r\n flex: 0 0 (2 * $base-font-size);\r\n cursor: pointer;\r\n position: relative;\r\n margin: 15px 0;\r\n\r\n i {\r\n position: absolute;\r\n top: 50%;\r\n margin-top: -24px;\r\n font-size: 2 * $base-font-size;\r\n }\r\n\r\n &:hover,\r\n &:focus {\r\n color: $primary-light;\r\n }\r\n }\r\n}\r\n",".vjs-loading-spinner {\r\n @extend .vb-icon;\r\n\r\n position: absolute;\r\n top: 50%;\r\n bottom: 50%;\r\n left: 50%;\r\n right: 50%;\r\n z-index: 5;\r\n margin: -5 / 3 * $base-font-size;\r\n border: none;\r\n padding: 0;\r\n width: 10 / 3 * $base-font-size;\r\n height: 10 / 3 * $base-font-size;\r\n display: none;\r\n\r\n &:before {\r\n display: block;\r\n content: $font-Videobox-circle;\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n font-size: 10 / 3 * $base-font-size;\r\n color: rgba($color-contrast-dark, 0);\r\n text-shadow: 0px 0px (5 * $base-font-size) rgba($color-contrast-dark, 0.7);\r\n z-index: 2;\r\n }\r\n\r\n &:after {\r\n display: block;\r\n content: \" \";\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n background: url(\"/images/spinner.svg\") no-repeat;\r\n background-position: 50% 50%;\r\n background-size: 100% 100%;\r\n z-index: 3;\r\n }\r\n}\r\n\r\n.vjs-seeking, .vjs-waiting {\r\n .vjs-loading-spinner {\r\n display: block;\r\n }\r\n}\r\n",".vjs-play-control {\r\n @extend .vb-icon;\r\n\r\n @extend .vb-hover-animated;\r\n\r\n @include flex(0 0 (2 * $base-font-size));\r\n\r\n &:before {\r\n content: $font-Videobox-play;\r\n }\r\n\r\n &:hover {\r\n color: $primary-light;\r\n }\r\n}\r\n\r\n.vjs-playing .vjs-play-control:before {\r\n content: $font-Videobox-pause;\r\n}\r\n",".vjs-time-control {\r\n margin: 0 ($base-font-size / 2);\r\n}\r\n\r\n.vjs-time-divider, .vjs-duration, .vjs-remaining-time {\r\n display: none;\r\n}\r\n",".vjs-progress-control {\r\n @include flex(1 1 0px);\r\n\r\n .vjs-progress-holder {\r\n height: 0.25 * $base-font-size;\r\n width: 100%;\r\n margin: 0 (0.5 * $base-font-size);\r\n position: relative;\r\n background: rgba($color-contrast-light, 1 - $overlay-opacity);\r\n cursor: pointer;\r\n\r\n .vjs-load-progress,\r\n .vjs-mouse-display,\r\n .vjs-play-progress {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n height: 100%;\r\n }\r\n\r\n .vjs-load-progress {\r\n background: rgba($color-contrast-light, 1 - $overlay-opacity);\r\n }\r\n\r\n .vjs-mouse-display {\r\n z-index: 10;\r\n width: 1px;\r\n background: $color-contrast-dark;\r\n display: none;\r\n }\r\n\r\n .vjs-play-progress {\r\n @extend .vb-icon;\r\n\r\n background: $color-contrast-light;\r\n\r\n &:after {\r\n @extend .vb-hover-animated;\r\n\r\n content: $font-Videobox-circle;\r\n position: absolute;\r\n right: 0;\r\n margin: -0.125 * $base-font-size;\r\n opacity: 0;\r\n font-size: 0.25 * $base-font-size;\r\n top: 0.125 * $base-font-size;\r\n cursor: pointer;\r\n }\r\n }\r\n }\r\n\r\n &:hover,\r\n &:focus {\r\n .vjs-mouse-display {\r\n display: block;\r\n }\r\n\r\n .vjs-play-progress:after {\r\n opacity: 1;\r\n font-size: $base-font-size;\r\n margin: -$base-font-size / 2;\r\n }\r\n }\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["videobox/_bottom.scss","videobox/_responsive.scss","common/_thumbnail.scss","video-js/_play-button.scss","videobox.scss","_icons.scss","videobox.css","video-js/controls/_fullscreen.scss","_helpers.scss","../../node_modules/bourbon/app/assets/stylesheets/addons/_prefixer.scss","videobox/_close.scss","video-js/_control-bar.scss","common/_single-video.scss","vbinline/_responsive.scss","video-js/controls/_volume.scss","common/_gallery.scss","../../node_modules/bourbon/app/assets/stylesheets/css3/_flex-box.scss","common/_pagination.scss","vbinline/_wrap.scss","videobox/_video.scss","vbinline/_video.scss","vbinline/_close.scss","video-js/_poster.scss","video-js/_video.scss","videobox/_overlay.scss","videobox/_wrap.scss","videobox/_center.scss","video-js/_base.scss","vbslider/_wrap.scss","vbslider/_content.scss","vbslider/_buttons.scss","video-js/_spinner.scss","video-js/controls/_play.scss","video-js/controls/_time.scss","video-js/controls/_progress.scss"],"names":[],"mappings":"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","file":"videobox.min.css","sourcesContent":["#vbBottomContainer {\r\n width: 100%;\r\n position: absolute;\r\n color: $color-contrast-light;\r\n max-height: 0;\r\n overflow: hidden;\r\n background-color: $color-contrast-dark;\r\n opacity: 0.5;\r\n pointer-events: all;\r\n z-index: 5;\r\n font-size: 0.625 * $base-font-size;\r\n box-shadow: 0px 0px 40px -5px $color-contrast-dark;\r\n\r\n &.visible {\r\n max-height: 200px;\r\n\r\n @include transition(opacity $transition-duration 0.1s ease-in-out);\r\n\r\n &:hover,\r\n &:focus {\r\n opacity: 1;\r\n\r\n @include transition-delay(0s);\r\n }\r\n }\r\n}\r\n\r\n#vbBottom {\r\n box-sizing: border-box;\r\n position: relative;\r\n width: 100%;\r\n padding: 15px 15px 0;\r\n text-align: left;\r\n font-weight: 400;\r\n font-size: 15px;\r\n}\r\n\r\n#vbCaption {\r\n margin-bottom: 10px;\r\n display: block;\r\n}\r\n","#vbResponsive {\r\n position: relative;\r\n display: block;\r\n width: 100%;\r\n height: 0;\r\n padding: 0;\r\n overflow: hidden;\r\n background-color: $color-contrast-dark;\r\n pointer-events: all;\r\n z-index: 10;\r\n box-shadow: 0px 0px 40px -5px $color-contrast-dark;\r\n}\r\n",".vb_video_cont {\r\n vertical-align: top;\r\n text-align: center;\r\n\r\n img {\r\n display: block;\r\n max-width: 100%;\r\n height: auto;\r\n width: 100%;\r\n }\r\n\r\n &, a {\r\n @extend .vb-hover-animated;\r\n\r\n display: inline-block;\r\n text-decoration: none;\r\n color: $primary-color;\r\n display: inline-block;\r\n width: 100%;\r\n\r\n &:hover,\r\n &:focus {\r\n color: $primary-light;\r\n\r\n .vb_thub_wrap .vb-icon-play {\r\n color: $primary-light;\r\n background-color: rgba(0, 0, 0, 0.7);\r\n }\r\n }\r\n }\r\n}\r\n\r\n.vb_video_title {\r\n display: block;\r\n padding: 8px 10px 0;\r\n\r\n &:empty {\r\n display: none;\r\n }\r\n}\r\n\r\n.vb_thub_wrap {\r\n position: relative;\r\n display: block;\r\n\r\n .vb-icon-play {\r\n @extend .vb-hover-animated;\r\n\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n bottom: 50%;\r\n right: 50%;\r\n width: 3 * $base-font-size;\r\n height: 3 * $base-font-size;\r\n margin: -1.5 * $base-font-size;\r\n border-radius: 100%;\r\n background-color: rgba($color-contrast-dark, 0.5);\r\n font-size: 2 * $base-font-size;\r\n line-height: 3 * $base-font-size;\r\n color: $color-contrast-light;\r\n display: none;\r\n box-shadow: 0px 0px 40px -5px $color-contrast-dark;\r\n }\r\n}\r\n\r\n.vb_play_button .vb_thub_wrap .vb-icon-play {\r\n display: block;\r\n}\r\n",".vjs-big-play-button {\r\n @extend .vb-icon;\r\n\r\n @extend .vb-hover-animated;\r\n\r\n position: absolute;\r\n top: 50%;\r\n bottom: 50%;\r\n left: 50%;\r\n right: 50%;\r\n z-index: 5;\r\n margin: -5 / 3 * $base-font-size;\r\n border: none;\r\n padding: 0;\r\n width: 10 / 3 * $base-font-size;\r\n height: 10 / 3 * $base-font-size;\r\n color: $color-contrast-light;\r\n background-color: rgba($color-contrast-dark, $overlay-opacity);\r\n cursor: pointer;\r\n border-radius: 100%;\r\n box-shadow: 0px 0px 40px -5px $color-contrast-dark;\r\n\r\n &:before {\r\n content: $font-Videobox-play;\r\n font-size: 2 * $base-font-size;\r\n }\r\n\r\n &:hover,\r\n &:focus {\r\n color: $primary-light;\r\n }\r\n}\r\n\r\n.vjs-has-started .vjs-big-play-button {\r\n display: none;\r\n}\r\n","@import \"bourbon\";\r\n\r\n$primary-color: #005723;\r\n$primary-light: #84d1a4;\r\n$overlay-opacity: 0.7;\r\n$transition-duration: 0.5s;\r\n$hover-duration: 0.2s;\r\n$base-font-size: 24px;\r\n$color-contrast-light: #ffffff;\r\n$color-contrast-dark: #000000;\r\n\r\n@import \"icons\";\r\n@import \"helpers\";\r\n\r\n@import \"common/thumbnail\";\r\n@import \"common/single-video\";\r\n@import \"common/gallery\";\r\n@import \"common/pagination\";\r\n\r\n@import \"videobox/overlay\";\r\n@import \"videobox/wrap\";\r\n@import \"videobox/center\";\r\n@import \"videobox/responsive\";\r\n@import \"videobox/video\";\r\n@import \"videobox/bottom\";\r\n@import \"videobox/close\";\r\n\r\n@import \"vbinline/wrap\";\r\n@import \"vbinline/responsive\";\r\n@import \"vbinline/video\";\r\n@import \"vbinline/close\";\r\n\r\n@import \"vbslider/wrap\";\r\n@import \"vbslider/content\";\r\n@import \"vbslider/buttons\";\r\n\r\n@import \"video-js/base\";\r\n@import \"video-js/control-bar\";\r\n@import \"video-js/poster\";\r\n@import \"video-js/video\";\r\n@import \"video-js/play-button\";\r\n@import \"video-js/spinner\";\r\n\r\n@import \"video-js/controls/play\";\r\n@import \"video-js/controls/volume\";\r\n@import \"video-js/controls/time\";\r\n@import \"video-js/controls/progress\";\r\n@import \"video-js/controls/fullscreen\";\r\n","//\n// Icon Font: Videobox\n//\n\n@font-face {\n font-family: \"Videobox\";\n src: url(\"/font/Videobox.eot\");\n src: url(\"/font/Videobox.eot?#iefix\") format(\"embedded-opentype\"), url(\"/font/Videobox.woff\") format(\"woff\"), url(\"/font/Videobox.ttf\") format(\"truetype\"), url(\"/font/Videobox.svg#Videobox\") format(\"svg\");\n font-weight: normal;\n font-style: normal;\n}\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n @font-face {\n font-family: \"Videobox\";\n src: url(\"/font/Videobox.svg#Videobox\") format(\"svg\");\n }\n}\n\n[data-icon]:before {\n content: attr(data-icon);\n}\n\n[data-icon]:before,\n.vb-icon, [class^=\"vb-icon-\"], [class*=\" vb-icon-\"] {\n display: inline-block;\n font-family: \"Videobox\";\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n line-height: 1;\n text-decoration: inherit;\n text-rendering: optimizeLegibility;\n text-transform: none;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-smoothing: antialiased;\n font-size: 24px;\n width: 1em;\n height: 1em;\n}\n\n.vb-icon-circle:before {\n content: \"\\f100\";\n}\n\n.vb-icon-close:before {\n content: \"\\f101\";\n}\n\n.vb-icon-close-small:before {\n content: \"\\f102\";\n}\n\n.vb-icon-fullscreen-enter:before {\n content: \"\\f103\";\n}\n\n.vb-icon-fullscreen-exit:before {\n content: \"\\f104\";\n}\n\n.vb-icon-next:before {\n content: \"\\f105\";\n}\n\n.vb-icon-pause:before {\n content: \"\\f106\";\n}\n\n.vb-icon-play:before {\n content: \"\\f107\";\n}\n\n.vb-icon-prev:before {\n content: \"\\f108\";\n}\n\n.vb-icon-volume-0:before {\n content: \"\\f109\";\n}\n\n.vb-icon-volume-1:before {\n content: \"\\f10a\";\n}\n\n.vb-icon-volume-2:before {\n content: \"\\f10b\";\n}\n\n.vb-icon-volume-3:before {\n content: \"\\f10c\";\n}\n\n$font-Videobox-circle: \"\";\n$font-Videobox-close: \"\";\n$font-Videobox-close-small: \"\";\n$font-Videobox-fullscreen-enter: \"\";\n$font-Videobox-fullscreen-exit: \"\";\n$font-Videobox-next: \"\";\n$font-Videobox-pause: \"\";\n$font-Videobox-play: \"\";\n$font-Videobox-prev: \"\";\n$font-Videobox-volume-0: \"\";\n$font-Videobox-volume-1: \"\";\n$font-Videobox-volume-2: \"\";\n$font-Videobox-volume-3: \"\";\n","@charset \"UTF-8\";\n@font-face {\n font-family: \"Videobox\";\n src: url(\"data:application/vnd.ms-fontobject;base64,cAoAAMAJAAABAAIAAAAAAAIABgMAAAAAAAABAPQBAAAAAExQAQAAAAAAABAAAAAAAAAAAAEAAAAAAAAA8M59qgAAAAAAAAAAAAAAAAAAAAAAABAAVgBpAGQAZQBvAGIAbwB4AAAADABNAGUAZABpAHUAbQAAACAAVgBlAHIAcwBpAG8AbgAgADAAMAAxAC4AMAAwADAAIAAAABAAVgBpAGQAZQBvAGIAbwB4AAAAAAAAAQAAAA0AgAADAFBGRlRNdS60LAAACaQAAAAcT1MvMlAwXisAAAFYAAAAYGNtYXDiABX/AAAB5AAAAUpjdnQgABEBRAAAAzAAAAAEZ2FzcP//AAMAAAmcAAAACGdseWY55nc0AAADWAAAAyhoZWFkCfdR2QAAANwAAAA2aGhlYQOcAfAAAAEUAAAAJGhtdHgG4gLkAAABuAAAACxsb2NhBZ4GegAAAzQAAAAkbWF4cABXAFcAAAE4AAAAIG5hbWUBv56ZAAAGgAAAAnBwb3N0930VewAACPAAAACsAAEAAAABAACqfc7wXw889QALAgAAAAAA1HiIrgAAAADUeIiuABH/6gHWAZYAAAAIAAIAAAAAAAAAAQAAAZb/6gAuAgAAAAAAAdYAAQAAAAAAAAAAAAAAAAAAAAUAAQAAABEAJgAEAAAAAAACAAAAAQABAAAAQAAuAAAAAAAEAekB9AAFAAABTAFmAAAARwFMAWYAAAD1ABkAhAAAAgAGAwAAAAAAAAAAAAEQAAAAAAAAAAAAAABQZkVkAMAAIPEMAcD/wAAuAZYAFgAAAAEAAAAAAAAAAAAAACAAAQC7ABEAAAAAAKoAAADIAAACAAAqAGoAlQBqAGoAtwCAAKoAqgBAAEAAQABAAAAAAwAAAAMAAAAcAAEAAAAAAEQAAwABAAAAHAAEACgAAAAGAAQAAQACACDxDP//AAAAIPEA////4w8EAAEAAAAAAAAAAAEGAAABAAAAAAAAAAECAAAAAgAAAAAAAAAAAAAAAAAAAAEAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQFEAAAAKgAqACoAKgA8AFYAcACWALoAzADgAOwA/gE+AU4BaAGUAAIAEQAAAJkBVQADAAcALrEBAC88sgcEAO0ysQYF3DyyAwIA7TIAsQMALzyyBQQA7TKyBwYB/DyyAQIA7TIzETMRJzMRIxGId2ZmAVX+qxEBMwAAAAEAKv/qAdYBlgAHAAA2NDYyFhQGIit9sH19sGiwfX2wfQAAAAEAagAqAZYBVgALAAABBxcHJwcnNyc3FzcBlXd3Hnd3Hnd3Hnd3ATd3dx53dx53dx53dwABAJUAVQFrASsACwAAJRcHJwcnNyc3FzcXAR5NHk1MH01NH0xNHsBNHk1NHk1MH01NHwAABABqACoBlgFWAAUACwARABcAACU1MxUjNScVMxUjNTczFSM1Iwc1MxUjFQFrKmqWQGrAaipAwGpAVUBqKkBAKmrAakBAaipAAAAAAAQAagAqAZYBVgAFAAsAEQAXAAAlNTMVIxU1MxUjNTMHNTMVIzUVNTMVIzUBK2pAQGoqqipqaioraipA6ipqQEBqKqoqakAAAAEAtwBAAVYBQAAFAAATFwcnNyfVgIAeYmIBQICAHmJiAAAAAAIAgAAqAYABVgADAAcAABMzESMTMxEjgFVVq1VVAVX+1gEq/tYAAAABAKoAKgGWAVYAAgAAExcHq+rqAVWVlQABAKoAQAFJAUAABQAAAQcXByc3AUliYh6AgAEiYmIegIAAAAAEAEAAAAHAAYAADwASABkAJQAAEzcBBycGBzU2NycVJyM1MzcVJxcUByc1HgEXNCYnNR4BFRQHJzZAGwFlGywiLBkXW2tVZVstjQE0GB01PixAVRYgCwFlG/6bGyscCiwHEluQa4BrWi1+Bwc1LwwuHC5UDSwPaEQvKiEbAAAAAAEAQAAVAQABawAFAAATMzcRJyNAVWtrVQEAa/6qawAAAgBAABUBYAFrAAUACwAAAR4BFAYHJzM3EScjASsYHR0Y61Vra1UBFgwuOC4Mlmv+qmsAAAMAQAAEAcABfAAFAAwAGAAAEzM3EScjJRQGBzUeASceARQGBzU+ATQmJ0BVa2tVASAfFhgdNUBVVUAsPj4sAQBr/qprQBkyC6wMLp8PaIhoDywNVFxUDQAAAA4ArgABAAAAAAAAADwAegABAAAAAAABAAgAyQABAAAAAAACAAYA4AABAAAAAAADACUBMwABAAAAAAAEAAgBawABAAAAAAAFABABlgABAAAAAAAGAAgBuQADAAEECQAAAHgAAAADAAEECQABABAAtwADAAEECQACAAwA0gADAAEECQADAEoA5wADAAEECQAEABABWQADAAEECQAFACABdAADAAEECQAGABABpwBDAHIAZQBhAHQAZQBkACAAYgB5ACAAcgBvAG8AdAAgAHcAaQB0AGgAIABGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAKABoAHQAdABwADoALwAvAGYAbwBuAHQAZgBvAHIAZwBlAC4AcwBmAC4AbgBlAHQAKQAAQ3JlYXRlZCBieSByb290IHdpdGggRm9udEZvcmdlIDIuMCAoaHR0cDovL2ZvbnRmb3JnZS5zZi5uZXQpAABWAGkAZABlAG8AYgBvAHgAAFZpZGVvYm94AABNAGUAZABpAHUAbQAATWVkaXVtAABGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAFYAaQBkAGUAbwBiAG8AeAAgADoAIAAxADUALQAxADIALQAyADAAMQA2AABGb250Rm9yZ2UgMi4wIDogVmlkZW9ib3ggOiAxNS0xMi0yMDE2AABWAGkAZABlAG8AYgBvAHgAAFZpZGVvYm94AABWAGUAcgBzAGkAbwBuACAAMAAwADEALgAwADAAMAAgAABWZXJzaW9uIDAwMS4wMDAgAABWAGkAZABlAG8AYgBvAHgAAFZpZGVvYm94AAACAAAAAAAA/8AAGQAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAABAAIAAwECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOB3VuaUYxMDAHdW5pRjEwMQd1bmlGMTAyB3VuaUYxMDMHdW5pRjEwNAd1bmlGMTA1B3VuaUYxMDYHdW5pRjEwNwd1bmlGMTA4B3VuaUYxMDkHdW5pRjEwQQd1bmlGMTBCB3VuaUYxMEMAAAAB//8AAgAAAAEAAAAAzD2izwAAAADUeIiuAAAAANR4iK4=\");\n src: url(\"data:application/vnd.ms-fontobject;base64,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\") format(\"embedded-opentype\"), url(\"data:application/font-woff;base64,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\") format(\"woff\"), url(\"data:application/x-font-ttf;base64,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\") format(\"truetype\"), url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxmb250IGhvcml6LWFkdi14PSI1MTIiPjxmb250LWZhY2UgZm9udC1mYW1pbHk9IlZpZGVvYm94IiBmb250LXdlaWdodD0iNTAwIiB1bml0cy1wZXItZW09IjUxMiIgcGFub3NlLTE9IjIgMCA2IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNDQ4IiBkZXNjZW50PSItNjQiIGJib3g9IjQyLjY2NyAtMjEuMzMzIDQ2OS4zMzMgNDA1LjMzMyIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iMjUuNiIgdW5kZXJsaW5lLXBvc2l0aW9uPSItNTEuMiIgdW5pY29kZS1yYW5nZT0iVSswMDIwLUYxMEMiLz48Z2x5cGggZ2x5cGgtbmFtZT0ic3BhY2UiIGhvcml6LWFkdi14PSIyMDAiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwNyIgdW5pY29kZT0i74SHIiBkPSJNMTcwLjY2NyAzNDEuMzMzTDQwNS4zMzMgMTkyIDE3MC42NjcgNDIuNjY3djI5OC42NjZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDYiIHVuaWNvZGU9Iu+EhiIgZD0iTTEyOCAzNDEuMzMzaDg1LjMzM1Y0Mi42NjdIMTI4djI5OC42NjZ6bTE3MC42NjcgMEgzODRWNDIuNjg3aC04NS4zMzN2Mjk4LjY0NnoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwQyIgdW5pY29kZT0i74SMIiBkPSJNNjQgMjU2aDg1LjMzM0wyNTYgMzYyLjY2N1YyMS4zMzNMMTQ5LjMzMyAxMjhINjR2MTI4em0yODgtNjRjLS4wMzEtMzIuODQtMjMuOTI0LTcxLjM1Ny01My4zMzMtODUuOTc0djE3MS44NEMzMzAuMjQgMjYyLjE4NiAzNTIgMjI5LjY1NCAzNTIgMTkyem0tNTMuMzMzIDE4Ny4wOTRDMzg0LjEwNyAzNTkuNjggNDQ4IDI4My40OTkgNDQ4IDE5Mi4wNDNTMzg0LjEwNiAyNC4zNDIgMjk4LjY2NyA0LjkyOFY0OC45NkMzNTcuNDk5IDY2LjUyIDQwNS4yODUgMTMwLjYwMyA0MDUuMzMzIDE5MmMtLjAyNyA2MS40MTItNDcuODE1IDEyNS40OTQtMTA2LjY2NiAxNDMuMDR2NDQuMDU0eiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTA1IiB1bmljb2RlPSLvhIUiIGQ9Ik0yMTMuMzMzIDMyMGwxMjgtMTI4LTEyOC0xMjgtMjkuOTk0IDI5Ljk5NUwyODEuMzQ0IDE5MmwtOTguMDA1IDk4LjAwNXoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwNCIgdW5pY29kZT0i74SEIiBkPSJNMjk4LjY2NyA0Mi42Njd2MTA2LjY2NmgxMDYuNjY2di00Mi42NjZoLTY0di02NGgtNDIuNjY2em00Mi42NjYgMjM0LjY2Nmg2NHYtNDIuNjY2SDI5OC42Njd2MTA2LjY2Nmg0Mi42NjZ2LTY0em0tMTcwLjY2NiAwdjY0aDQyLjY2NlYyMzQuNjY3SDEwNi42Njd2NDIuNjY2aDY0em0tNjQtMTcwLjY2NnY0Mi42NjZoMTA2LjY2NlY0Mi42NjdoLTQyLjY2NnY2NGgtNjR6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMEEiIHVuaWNvZGU9Iu+EiiIgZD0iTTY0IDI1Nmg4NS4zMzNMMjU2IDM2Mi42NjdWMjEuMzMzTDE0OS4zMzMgMTI4SDY0djEyOHoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwMiIgdW5pY29kZT0i74SCIiBkPSJNMjg2LjE2NSAxOTJsNzYuNTAyLTc2LjUwMS0zMC4xNjYtMzAuMTY2TDI1NiAxNjEuODM1bC03Ni40MzgtNzYuNTAyLTMwLjIyOSAzMC4xNjZMMjI1LjgzNSAxOTJsLTc2LjUwMiA3Ni40MzggMzAuMjMgMzAuMjI5TDI1NiAyMjIuMTY1bDc2LjUwMSA3Ni41MDIgMzAuMTY2LTMwLjIzeiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTAzIiB1bmljb2RlPSLvhIMiIGQ9Ik0zNjIuNjY3IDg1LjMzM3Y2NGg0Mi42NjZWNDIuNjY3SDI5OC42Njd2NDIuNjY2aDY0em0tMjEzLjMzNCA2NHYtNjRoNjRWNDIuNjY3SDEwNi42Njd2MTA2LjY2Nmg0Mi42NjZ6bTE0OS4zMzQgMTkyaDEwNi42NjZWMjM0LjY2N2gtNDIuNjY2djY0aC02NHY0Mi42NjZ6bS0xOTItMTA2LjY2NnYxMDYuNjY2aDEwNi42NjZ2LTQyLjY2NmgtNjR2LTY0aC00Mi42NjZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMEIiIHVuaWNvZGU9Iu+EiyIgZD0iTTI5OC42NjcgMjc3Ljg2NkMzMzAuMjQgMjYyLjE4NiAzNTIgMjI5LjY1MyAzNTIgMTkyYzAtMzcuNjEtMjEuNzYtNzAuMjA4LTUzLjMzMy04NS45NzR2MTcxLjg0ek02NCAyNTZoODUuMzMzTDI1NiAzNjIuNjY3VjIxLjMzM0wxNDkuMzMzIDEyOEg2NHYxMjh6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDEiIHVuaWNvZGU9Iu+EgSIgZD0iTTQwNS4zMzMgMzExLjE0NkwyODYuMTg3IDE5MiA0MDUuMzMzIDcyLjg1NGwtMzAuMTg2LTMwLjE4NkwyNTYgMTYxLjgxMyAxMzYuODU0IDQyLjY2OWwtMzAuMTg3IDMwLjE4NkwyMjUuODE0IDE5MiAxMDYuNjY4IDMxMS4xNDZsMzAuMTg2IDMwLjE4NkwyNTYgMjIyLjE4OGwxMTkuMTQ2IDExOS4xNDZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDAiIHVuaWNvZGU9Iu+EgCIgZD0iTTQyLjY2NyAxOTJjMCAxMTcuODI0IDk1LjUwOSAyMTMuMzMzIDIxMy4zMzMgMjEzLjMzMyAxMTcuNzgxIDAgMjEzLjMzMy05NS41MDkgMjEzLjMzMy0yMTMuMzMzIDAtMTE3Ljc4MS05NS41NTItMjEzLjMzMy0yMTMuMzMzLTIxMy4zMzNDMTM4LjE3Ni0yMS4zMzMgNDIuNjY3IDc0LjIxOSA0Mi42NjcgMTkyeiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTA4IiB1bmljb2RlPSLvhIgiIGQ9Ik0zMjguNjYxIDI5MC4wMDVMMjMwLjY3OCAxOTJsOTguMDA0LTk4LjAwNUwyOTguNjY4IDY0bC0xMjggMTI4IDEyOCAxMjh6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDkiIHVuaWNvZGU9Iu+EiSIgZD0iTTY0IDM1Ni44TDkxLjIgMzg0IDQ0OCAyNy4yIDQyMC44IDBsLTQzLjQ5OCA0My40NzdjLTE5LjItMTUuNzY1LTU0LjQyOC0zMy4wOTItNzguNjM1LTM4LjY3N3Y0NC4wNTNjMTcuNzA2IDUuMzM0IDMzLjgxNCAxNC4xODcgNDguMTA3IDI1LjE3M0wyNTYgMTY0LjhWMjEuMzMzTDE0OS4zMzMgMTI4SDY0djEyOGgxMDAuOHptMTkyIDUuODY3di04OS4xNzRsLTQ0LjU4NyA0NC41ODd6TTM1MiAxOTJjMC00LjU4Ny0uMzQyLTkuMTc0LS45Ni0xMy42NzVsLTUyLjM3MyA1Mi4zOTV2NDcuMTQ2QzMzMC4yNCAyNjIuMTg2IDM1MiAyMjkuNjUzIDM1MiAxOTJ6bTUzLjMzMyAwYy0uMDI3IDYxLjQxMi00Ny44MTUgMTI1LjQ5NC0xMDYuNjY2IDE0My4wNHY0NC4wNTRDMzg0LjEwNyAzNTkuNjggNDQ4IDI4My4zMDcgNDQ4IDE5MmMtLjAyMi0yNS45NjUtOS44MTgtNjUuNzA0LTIxLjg2Ny04OC43MDRsLTMyLjMyIDMyLjM2MmM2LjI1NyAxNC45MjIgMTEuNDE4IDQwLjE2MiAxMS41MiA1Ni4zNDJ6Ii8+PC9mb250PjwvZGVmcz48L3N2Zz4=\") format(\"svg\");\n font-weight: normal;\n font-style: normal;\n}\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n @font-face {\n font-family: \"Videobox\";\n src: url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxmb250IGhvcml6LWFkdi14PSI1MTIiPjxmb250LWZhY2UgZm9udC1mYW1pbHk9IlZpZGVvYm94IiBmb250LXdlaWdodD0iNTAwIiB1bml0cy1wZXItZW09IjUxMiIgcGFub3NlLTE9IjIgMCA2IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNDQ4IiBkZXNjZW50PSItNjQiIGJib3g9IjQyLjY2NyAtMjEuMzMzIDQ2OS4zMzMgNDA1LjMzMyIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iMjUuNiIgdW5kZXJsaW5lLXBvc2l0aW9uPSItNTEuMiIgdW5pY29kZS1yYW5nZT0iVSswMDIwLUYxMEMiLz48Z2x5cGggZ2x5cGgtbmFtZT0ic3BhY2UiIGhvcml6LWFkdi14PSIyMDAiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwNyIgdW5pY29kZT0i74SHIiBkPSJNMTcwLjY2NyAzNDEuMzMzTDQwNS4zMzMgMTkyIDE3MC42NjcgNDIuNjY3djI5OC42NjZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDYiIHVuaWNvZGU9Iu+EhiIgZD0iTTEyOCAzNDEuMzMzaDg1LjMzM1Y0Mi42NjdIMTI4djI5OC42NjZ6bTE3MC42NjcgMEgzODRWNDIuNjg3aC04NS4zMzN2Mjk4LjY0NnoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwQyIgdW5pY29kZT0i74SMIiBkPSJNNjQgMjU2aDg1LjMzM0wyNTYgMzYyLjY2N1YyMS4zMzNMMTQ5LjMzMyAxMjhINjR2MTI4em0yODgtNjRjLS4wMzEtMzIuODQtMjMuOTI0LTcxLjM1Ny01My4zMzMtODUuOTc0djE3MS44NEMzMzAuMjQgMjYyLjE4NiAzNTIgMjI5LjY1NCAzNTIgMTkyem0tNTMuMzMzIDE4Ny4wOTRDMzg0LjEwNyAzNTkuNjggNDQ4IDI4My40OTkgNDQ4IDE5Mi4wNDNTMzg0LjEwNiAyNC4zNDIgMjk4LjY2NyA0LjkyOFY0OC45NkMzNTcuNDk5IDY2LjUyIDQwNS4yODUgMTMwLjYwMyA0MDUuMzMzIDE5MmMtLjAyNyA2MS40MTItNDcuODE1IDEyNS40OTQtMTA2LjY2NiAxNDMuMDR2NDQuMDU0eiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTA1IiB1bmljb2RlPSLvhIUiIGQ9Ik0yMTMuMzMzIDMyMGwxMjgtMTI4LTEyOC0xMjgtMjkuOTk0IDI5Ljk5NUwyODEuMzQ0IDE5MmwtOTguMDA1IDk4LjAwNXoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwNCIgdW5pY29kZT0i74SEIiBkPSJNMjk4LjY2NyA0Mi42Njd2MTA2LjY2NmgxMDYuNjY2di00Mi42NjZoLTY0di02NGgtNDIuNjY2em00Mi42NjYgMjM0LjY2Nmg2NHYtNDIuNjY2SDI5OC42Njd2MTA2LjY2Nmg0Mi42NjZ2LTY0em0tMTcwLjY2NiAwdjY0aDQyLjY2NlYyMzQuNjY3SDEwNi42Njd2NDIuNjY2aDY0em0tNjQtMTcwLjY2NnY0Mi42NjZoMTA2LjY2NlY0Mi42NjdoLTQyLjY2NnY2NGgtNjR6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMEEiIHVuaWNvZGU9Iu+EiiIgZD0iTTY0IDI1Nmg4NS4zMzNMMjU2IDM2Mi42NjdWMjEuMzMzTDE0OS4zMzMgMTI4SDY0djEyOHoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwMiIgdW5pY29kZT0i74SCIiBkPSJNMjg2LjE2NSAxOTJsNzYuNTAyLTc2LjUwMS0zMC4xNjYtMzAuMTY2TDI1NiAxNjEuODM1bC03Ni40MzgtNzYuNTAyLTMwLjIyOSAzMC4xNjZMMjI1LjgzNSAxOTJsLTc2LjUwMiA3Ni40MzggMzAuMjMgMzAuMjI5TDI1NiAyMjIuMTY1bDc2LjUwMSA3Ni41MDIgMzAuMTY2LTMwLjIzeiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTAzIiB1bmljb2RlPSLvhIMiIGQ9Ik0zNjIuNjY3IDg1LjMzM3Y2NGg0Mi42NjZWNDIuNjY3SDI5OC42Njd2NDIuNjY2aDY0em0tMjEzLjMzNCA2NHYtNjRoNjRWNDIuNjY3SDEwNi42Njd2MTA2LjY2Nmg0Mi42NjZ6bTE0OS4zMzQgMTkyaDEwNi42NjZWMjM0LjY2N2gtNDIuNjY2djY0aC02NHY0Mi42NjZ6bS0xOTItMTA2LjY2NnYxMDYuNjY2aDEwNi42NjZ2LTQyLjY2NmgtNjR2LTY0aC00Mi42NjZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMEIiIHVuaWNvZGU9Iu+EiyIgZD0iTTI5OC42NjcgMjc3Ljg2NkMzMzAuMjQgMjYyLjE4NiAzNTIgMjI5LjY1MyAzNTIgMTkyYzAtMzcuNjEtMjEuNzYtNzAuMjA4LTUzLjMzMy04NS45NzR2MTcxLjg0ek02NCAyNTZoODUuMzMzTDI1NiAzNjIuNjY3VjIxLjMzM0wxNDkuMzMzIDEyOEg2NHYxMjh6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDEiIHVuaWNvZGU9Iu+EgSIgZD0iTTQwNS4zMzMgMzExLjE0NkwyODYuMTg3IDE5MiA0MDUuMzMzIDcyLjg1NGwtMzAuMTg2LTMwLjE4NkwyNTYgMTYxLjgxMyAxMzYuODU0IDQyLjY2OWwtMzAuMTg3IDMwLjE4NkwyMjUuODE0IDE5MiAxMDYuNjY4IDMxMS4xNDZsMzAuMTg2IDMwLjE4NkwyNTYgMjIyLjE4OGwxMTkuMTQ2IDExOS4xNDZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDAiIHVuaWNvZGU9Iu+EgCIgZD0iTTQyLjY2NyAxOTJjMCAxMTcuODI0IDk1LjUwOSAyMTMuMzMzIDIxMy4zMzMgMjEzLjMzMyAxMTcuNzgxIDAgMjEzLjMzMy05NS41MDkgMjEzLjMzMy0yMTMuMzMzIDAtMTE3Ljc4MS05NS41NTItMjEzLjMzMy0yMTMuMzMzLTIxMy4zMzNDMTM4LjE3Ni0yMS4zMzMgNDIuNjY3IDc0LjIxOSA0Mi42NjcgMTkyeiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTA4IiB1bmljb2RlPSLvhIgiIGQ9Ik0zMjguNjYxIDI5MC4wMDVMMjMwLjY3OCAxOTJsOTguMDA0LTk4LjAwNUwyOTguNjY4IDY0bC0xMjggMTI4IDEyOCAxMjh6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDkiIHVuaWNvZGU9Iu+EiSIgZD0iTTY0IDM1Ni44TDkxLjIgMzg0IDQ0OCAyNy4yIDQyMC44IDBsLTQzLjQ5OCA0My40NzdjLTE5LjItMTUuNzY1LTU0LjQyOC0zMy4wOTItNzguNjM1LTM4LjY3N3Y0NC4wNTNjMTcuNzA2IDUuMzM0IDMzLjgxNCAxNC4xODcgNDguMTA3IDI1LjE3M0wyNTYgMTY0LjhWMjEuMzMzTDE0OS4zMzMgMTI4SDY0djEyOGgxMDAuOHptMTkyIDUuODY3di04OS4xNzRsLTQ0LjU4NyA0NC41ODd6TTM1MiAxOTJjMC00LjU4Ny0uMzQyLTkuMTc0LS45Ni0xMy42NzVsLTUyLjM3MyA1Mi4zOTV2NDcuMTQ2QzMzMC4yNCAyNjIuMTg2IDM1MiAyMjkuNjUzIDM1MiAxOTJ6bTUzLjMzMyAwYy0uMDI3IDYxLjQxMi00Ny44MTUgMTI1LjQ5NC0xMDYuNjY2IDE0My4wNHY0NC4wNTRDMzg0LjEwNyAzNTkuNjggNDQ4IDI4My4zMDcgNDQ4IDE5MmMtLjAyMi0yNS45NjUtOS44MTgtNjUuNzA0LTIxLjg2Ny04OC43MDRsLTMyLjMyIDMyLjM2MmM2LjI1NyAxNC45MjIgMTEuNDE4IDQwLjE2MiAxMS41MiA1Ni4zNDJ6Ii8+PC9mb250PjwvZGVmcz48L3N2Zz4=\") format(\"svg\");\n }\n}\n\n[data-icon]:before {\n content: attr(data-icon);\n}\n\n[data-icon]:before,\n.vb-icon,\n.vjs-big-play-button,\n.vjs-loading-spinner,\n.vjs-play-control,\n.vjs-volume-menu-button,\n.vjs-volume-menu-button .vjs-menu .vjs-volume-bar .vjs-volume-level,\n.vjs-progress-control .vjs-progress-holder .vjs-play-progress,\n.vjs-fullscreen-control, [class^=\"vb-icon-\"], [class*=\" vb-icon-\"] {\n display: inline-block;\n font-family: \"Videobox\";\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n line-height: 1;\n text-decoration: inherit;\n text-rendering: optimizeLegibility;\n text-transform: none;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-smoothing: antialiased;\n font-size: 24px;\n width: 1em;\n height: 1em;\n}\n\n.vb-icon-circle:before {\n content: \"\\f100\";\n}\n\n.vb-icon-close:before {\n content: \"\\f101\";\n}\n\n.vb-icon-close-small:before {\n content: \"\\f102\";\n}\n\n.vb-icon-fullscreen-enter:before {\n content: \"\\f103\";\n}\n\n.vb-icon-fullscreen-exit:before {\n content: \"\\f104\";\n}\n\n.vb-icon-next:before {\n content: \"\\f105\";\n}\n\n.vb-icon-pause:before {\n content: \"\\f106\";\n}\n\n.vb-icon-play:before {\n content: \"\\f107\";\n}\n\n.vb-icon-prev:before {\n content: \"\\f108\";\n}\n\n.vb-icon-volume-0:before {\n content: \"\\f109\";\n}\n\n.vb-icon-volume-1:before {\n content: \"\\f10a\";\n}\n\n.vb-icon-volume-2:before {\n content: \"\\f10b\";\n}\n\n.vb-icon-volume-3:before {\n content: \"\\f10c\";\n}\n\n.vb-hover-animated, .vb_video_cont, .vb_video_cont a, .vb_thub_wrap .vb-icon-play, .pagination > li > a,\n.pagination > li > span, #vbCloseLink, #vbiClose, .vb_slider_outer .vb_slider_prev,\n.vb_slider_outer .vb_slider_next, .vjs-big-play-button, .vjs-play-control, .vjs-volume-menu-button, .vjs-progress-control .vjs-progress-holder .vjs-play-progress:after, .vjs-fullscreen-control {\n -webkit-transition: all 0.2s ease-in-out;\n -moz-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n}\n\n.vb-line-fix {\n white-space: nowrap;\n max-width: 100%;\n display: inline-block;\n}\n\n.vb-icon-circle-close-invert {\n position: relative;\n display: block;\n}\n\n.vb-icon-circle-close-invert:before,\n.vb-icon-circle-close-invert:after {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.vb-icon-circle-close-invert:before {\n content: \"\";\n}\n\n.vb-icon-circle-close-invert:after {\n content: \"\";\n color: #ffffff !important;\n}\n\n.vb_video_cont {\n vertical-align: top;\n text-align: center;\n}\n\n.vb_video_cont img {\n display: block;\n max-width: 100%;\n height: auto;\n width: 100%;\n}\n\n.vb_video_cont, .vb_video_cont a {\n display: inline-block;\n text-decoration: none;\n color: #005723;\n display: inline-block;\n width: 100%;\n}\n\n.vb_video_cont:hover, .vb_video_cont:focus, .vb_video_cont a:hover, .vb_video_cont a:focus {\n color: #84d1a4;\n}\n\n.vb_video_cont:hover .vb_thub_wrap .vb-icon-play, .vb_video_cont:focus .vb_thub_wrap .vb-icon-play, .vb_video_cont a:hover .vb_thub_wrap .vb-icon-play, .vb_video_cont a:focus .vb_thub_wrap .vb-icon-play {\n color: #84d1a4;\n background-color: rgba(0, 0, 0, 0.7);\n}\n\n.vb_video_title {\n display: block;\n padding: 8px 10px 0;\n}\n\n.vb_video_title:empty {\n display: none;\n}\n\n.vb_thub_wrap {\n position: relative;\n display: block;\n}\n\n.vb_thub_wrap .vb-icon-play {\n position: absolute;\n top: 50%;\n left: 50%;\n bottom: 50%;\n right: 50%;\n width: 72px;\n height: 72px;\n margin: -36px;\n border-radius: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n font-size: 48px;\n line-height: 72px;\n color: #ffffff;\n display: none;\n box-shadow: 0px 0px 40px -5px #000000;\n}\n\n.vb_play_button .vb_thub_wrap .vb-icon-play {\n display: block;\n}\n\n.vb_video_sizer {\n position: relative;\n display: block;\n height: 0;\n overflow: hidden;\n background-color: #000000;\n}\n\n.vb_video_sizer iframe {\n background-color: #000000;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.vb_video_frame {\n display: block;\n width: 100%;\n margin: 30px 0;\n text-align: center;\n font-size: 1.2em;\n color: #005723;\n}\n\n.vb_gallery {\n padding: 0;\n margin: -12px;\n clear: both;\n display: -webkit-box;\n display: -moz-box;\n display: box;\n display: -webkit-flex;\n display: -moz-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-flex-flow: row wrap;\n -moz-flex-flow: row wrap;\n flex-flow: row wrap;\n}\n\n.vb_video_cont.vb_gal {\n margin: 12px;\n}\n\n.vb_video_cont.vb_gal:empty {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.pagination {\n margin: 15px 0;\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n}\n\n.pagination > li {\n display: inline;\n}\n\n.pagination > li > a,\n.pagination > li > span {\n background-color: #ffffff;\n color: #005723;\n border: none;\n font-weight: 400;\n font-size: 15px;\n padding: 7.5px 15px;\n text-decoration: none;\n text-shadow: 0px 0px 10px #84d1a4;\n}\n\n.pagination > li > a:hover, .pagination > li > a:focus,\n.pagination > li > span:hover,\n.pagination > li > span:focus {\n color: #005723;\n background-color: #84d1a4;\n}\n\n.pagination > li + li > a,\n.pagination > li + li > span {\n border-left: 1px solid #ffffff;\n margin-left: 0;\n}\n\n.pagination > li.active > a,\n.pagination > li.active > span {\n color: #005723;\n background-color: #84d1a4;\n}\n\n#vbOverlay {\n position: fixed;\n z-index: 9999;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n cursor: pointer;\n visibility: hidden;\n background-color: #000000;\n opacity: 0;\n -webkit-transition: all 0.5s ease-in-out;\n -moz-transition: all 0.5s ease-in-out;\n transition: all 0.5s ease-in-out;\n}\n\n#vbOverlay.visible {\n visibility: visible;\n opacity: 0.7;\n}\n\n#vbWrap {\n position: absolute;\n z-index: 9999;\n left: 0;\n top: 0;\n height: 100%;\n visibility: hidden;\n pointer-events: none;\n width: 100%;\n max-width: 100vw;\n max-height: 100vh;\n display: -webkit-box;\n display: -moz-box;\n display: box;\n display: -webkit-flex;\n display: -moz-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -moz-box-pack: center;\n box-pack: center;\n -webkit-justify-content: center;\n -moz-justify-content: center;\n -ms-justify-content: center;\n -o-justify-content: center;\n justify-content: center;\n -ms-flex-pack: center;\n -webkit-box-align: center;\n -moz-box-align: center;\n box-align: center;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n -o-align-items: center;\n align-items: center;\n -ms-flex-align: center;\n}\n\n#vbWrap.visible {\n visibility: visible;\n}\n\n#vbWrap.visible:not(.animating) #vbCenter {\n -webkit-transition: all 0.5s ease-in-out;\n -moz-transition: all 0.5s ease-in-out;\n transition: all 0.5s ease-in-out;\n}\n\n#vbWrap .animating {\n overflow: hidden;\n}\n\n#vbCenter {\n box-sizing: border-box;\n width: 100%;\n position: relative;\n display: block;\n}\n\n#vbResponsive {\n position: relative;\n display: block;\n width: 100%;\n height: 0;\n padding: 0;\n overflow: hidden;\n background-color: #000000;\n pointer-events: all;\n z-index: 10;\n box-shadow: 0px 0px 40px -5px #000000;\n}\n\n#vbVideo {\n background-color: #000000;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n#vbBottomContainer {\n width: 100%;\n position: absolute;\n color: #ffffff;\n max-height: 0;\n overflow: hidden;\n background-color: #000000;\n opacity: 0.5;\n pointer-events: all;\n z-index: 5;\n font-size: 15px;\n box-shadow: 0px 0px 40px -5px #000000;\n}\n\n#vbBottomContainer.visible {\n max-height: 200px;\n -webkit-transition: opacity 0.5s 0.1s ease-in-out;\n -moz-transition: opacity 0.5s 0.1s ease-in-out;\n transition: opacity 0.5s 0.1s ease-in-out;\n}\n\n#vbBottomContainer.visible:hover, #vbBottomContainer.visible:focus {\n opacity: 1;\n -webkit-transition-delay: 0s;\n -moz-transition-delay: 0s;\n transition-delay: 0s;\n}\n\n#vbBottom {\n box-sizing: border-box;\n position: relative;\n width: 100%;\n padding: 15px 15px 0;\n text-align: left;\n font-weight: 400;\n font-size: 15px;\n}\n\n#vbCaption {\n margin-bottom: 10px;\n display: block;\n}\n\n#vbCloseLink {\n display: inline-block;\n float: right;\n text-transform: uppercase;\n line-height: 1em;\n padding-left: 5px;\n text-decoration: none;\n font-size: 18px;\n margin: -5px -5px 10px 10px;\n color: inherit;\n cursor: pointer;\n -webkit-transition-delay: inherit;\n -moz-transition-delay: inherit;\n transition-delay: inherit;\n}\n\n#vbCloseLink:hover, #vbCloseLink:focus {\n text-decoration: none;\n color: #84d1a4;\n}\n\n#vbCloseLink i {\n display: inline-block;\n vertical-align: middle;\n font-size: 36px;\n padding-left: 4px;\n}\n\n#vbCloseText {\n display: inline-block;\n vertical-align: middle;\n}\n\n#vbiWrap {\n width: 100%;\n position: relative;\n color: #005723;\n text-align: center;\n}\n\n#vbiResponsive {\n position: relative;\n display: block;\n width: 100%;\n height: 0;\n padding: 0;\n overflow: hidden;\n background-color: #000000;\n padding-bottom: 56.25%;\n pointer-events: all;\n}\n\n#vbiVideo {\n background-color: #000000;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n#vbiClose {\n position: absolute;\n top: 0;\n right: 0;\n width: 48px;\n height: 48px;\n margin: -24px -24px 0 0;\n font-size: 24px;\n line-height: 1;\n cursor: pointer;\n padding: 12px;\n opacity: 0;\n z-index: 300;\n box-sizing: border-box;\n}\n\n#vbiWrap:hover #vbiClose,\n#vbiClose.visible {\n opacity: 1;\n}\n\n#vbiClose:hover,\n#vbiClose:focus {\n color: #84d1a4;\n}\n\n.vb_slider_outer {\n width: 100%;\n color: #005723;\n display: -webkit-box;\n display: -moz-box;\n display: box;\n display: -webkit-flex;\n display: -moz-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-flex-flow: row;\n -moz-flex-flow: row;\n flex-flow: row;\n}\n\n.vb_slider_outer .vb_slider_wrap {\n -webkit-box-flex: 1;\n -moz-box-flex: 1;\n box-flex: 1;\n -webkit-flex: 1 1 100%;\n -moz-flex: 1 1 100%;\n -ms-flex: 1 1 100%;\n flex: 1 1 100%;\n overflow: hidden;\n padding: 0px;\n}\n\n.vb_gallery.vb_slider {\n margin: 0;\n -webkit-box-lines: single;\n -moz-box-lines: single;\n box-lines: single;\n -webkit-flex-wrap: nowrap;\n -moz-flex-wrap: nowrap;\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n\n.vb_gallery.vb_slider .vb_video_cont.vb_gal {\n margin: 12px;\n}\n\n.vb_slider_outer .vb_slider_prev,\n.vb_slider_outer .vb_slider_next {\n flex: 0 0 48px;\n cursor: pointer;\n position: relative;\n margin: 15px 0;\n}\n\n.vb_slider_outer .vb_slider_prev i,\n.vb_slider_outer .vb_slider_next i {\n position: absolute;\n top: 50%;\n margin-top: -24px;\n font-size: 48px;\n}\n\n.vb_slider_outer .vb_slider_prev:hover, .vb_slider_outer .vb_slider_prev:focus,\n.vb_slider_outer .vb_slider_next:hover,\n.vb_slider_outer .vb_slider_next:focus {\n color: #84d1a4;\n}\n\nhtml.vb-html5-player,\nbody.vb-html5-player {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n margin: 0;\n padding: 0;\n background: #000000;\n}\n\nhtml.vb-html5-player *:focus,\nbody.vb-html5-player *:focus {\n border: none;\n outline: none;\n}\n\n#vb-html5-video {\n width: 100%;\n height: 100%;\n background: #000000;\n}\n\n.video-js {\n color: #ffffff;\n background: #000000;\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n position: relative;\n font-size: 15px;\n line-height: 1em;\n font-family: \"Roboto\", \"Arial\", \"Helvetica\", sans-serif;\n font-weight: normal;\n font-style: normal;\n text-decoration: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.video-js .vjs-control-text {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.vjs-hidden {\n display: none;\n}\n\n.video-js .vjs-control-bar {\n display: none;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 48px;\n z-index: 3;\n background: rgba(0, 0, 0, 0.7);\n visibility: hidden;\n opacity: 0;\n -webkit-box-align: center;\n -moz-box-align: center;\n box-align: center;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n -o-align-items: center;\n align-items: center;\n -ms-flex-align: center;\n display: -webkit-box;\n display: -moz-box;\n display: box;\n display: -webkit-flex;\n display: -moz-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-transition: all 0.5s ease-in-out;\n -moz-transition: all 0.5s ease-in-out;\n transition: all 0.5s ease-in-out;\n}\n\n.vjs-has-started .vjs-control-bar {\n visibility: visible;\n opacity: 1;\n}\n\n.vjs-has-started.vjs-user-inactive.vjs-playing:not(.vjs-audio) .vjs-control-bar {\n visibility: hidden;\n opacity: 0;\n}\n\n.vjs-control {\n padding: 0;\n margin: 0;\n border: none;\n background: none;\n color: #ffffff;\n height: 48px;\n display: -webkit-box;\n display: -moz-box;\n display: box;\n display: -webkit-flex;\n display: -moz-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -moz-box-align: center;\n box-align: center;\n -webkit-align-items: center;\n -moz-align-items: center;\n -ms-align-items: center;\n -o-align-items: center;\n align-items: center;\n -ms-flex-align: center;\n}\n\n.vjs-control:before {\n display: inline-block;\n vertical-align: middle;\n width: 48px;\n height: 48px;\n text-align: center;\n line-height: 48px;\n cursor: pointer;\n}\n\n.vjs-live-control,\n.vjs-custom-control-spacer,\n.vjs-playback-rate,\n.vjs-chapters-button,\n.vjs-subtitles-button,\n.vjs-captions-button,\n.vjs-descriptions-button,\n.vjs-audio-button {\n display: none;\n}\n\n.vjs-poster {\n background-color: #000000;\n background-repeat: no-repeat;\n background-position: 50% 50%;\n background-size: contain;\n cursor: pointer;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 2;\n}\n\n.vjs-has-started:not(.vjs-audio) .vjs-poster {\n display: none;\n}\n\n.video-js .vjs-tech {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1;\n}\n\n.vjs-big-play-button {\n position: absolute;\n top: 50%;\n bottom: 50%;\n left: 50%;\n right: 50%;\n z-index: 5;\n margin: -40px;\n border: none;\n padding: 0;\n width: 80px;\n height: 80px;\n color: #ffffff;\n background-color: rgba(0, 0, 0, 0.7);\n cursor: pointer;\n border-radius: 100%;\n box-shadow: 0px 0px 40px -5px #000000;\n}\n\n.vjs-big-play-button:before {\n content: \"\";\n font-size: 48px;\n}\n\n.vjs-big-play-button:hover, .vjs-big-play-button:focus {\n color: #84d1a4;\n}\n\n.vjs-has-started .vjs-big-play-button {\n display: none;\n}\n\n.vjs-loading-spinner {\n position: absolute;\n top: 50%;\n bottom: 50%;\n left: 50%;\n right: 50%;\n z-index: 5;\n margin: -40px;\n border: none;\n padding: 0;\n width: 80px;\n height: 80px;\n display: none;\n}\n\n.vjs-loading-spinner:before {\n display: block;\n content: \"\";\n position: absolute;\n width: 100%;\n height: 100%;\n font-size: 80px;\n color: transparent;\n text-shadow: 0px 0px 120px rgba(0, 0, 0, 0.7);\n z-index: 2;\n}\n\n.vjs-loading-spinner:after {\n display: block;\n content: \" \";\n position: absolute;\n width: 100%;\n height: 100%;\n background: url(\"data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjQ4IiBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgNDggNDgiPjxzdHlsZT4uc3Bpbm5lcntmaWxsOiNmZmY7LXdlYmtpdC1hbmltYXRpb246c3BpbiAuOHMgc3RlcHMoOCxlbmQpIGluZmluaXRlIWltcG9ydGFudDthbmltYXRpb246c3BpbiAuOHMgc3RlcHMoOCxlbmQpIGluZmluaXRlIWltcG9ydGFudDstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46MjRweCAyNHB4IWltcG9ydGFudDstbXMtdHJhbnNmb3JtLW9yaWdpbjoyNHB4IDI0cHghaW1wb3J0YW50Oy1tb3otdHJhbnNmb3JtLW9yaWdpbjoyNHB4IDI0cHghaW1wb3J0YW50O3RyYW5zZm9ybS1vcmlnaW46MjRweCAyNHB4IWltcG9ydGFudH1Aa2V5ZnJhbWVzIHNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1ALXdlYmtpdC1rZXlmcmFtZXMgc3Bpbnt0b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKSB0cmFuc2xhdGUzZCgwLDAsMCl9fTwvc3R5bGU+PGRlZnM+PHBhdGggaWQ9ImFyYyIgZD0iTTI1IDIuMDIzYTIyIDIyIDAgMCAxIDEzLjgzMyA1LjczbC02LjM3NSA2LjM3NUExMyAxMyAwIDAgMCAyNSAxMS4wMzh6Ii8+PC9kZWZzPjxnIGNsYXNzPSJzcGlubmVyIj48dXNlIG9wYWNpdHk9Ii40IiB4bGluazpocmVmPSIjYXJjIi8+PHVzZSBvcGFjaXR5PSIuNCIgdHJhbnNmb3JtPSJyb3RhdGUoNDUgMjQgMjQpIiB4bGluazpocmVmPSIjYXJjIi8+PHVzZSBvcGFjaXR5PSIuNCIgdHJhbnNmb3JtPSJyb3RhdGUoOTAgMjQgMjQpIiB4bGluazpocmVmPSIjYXJjIi8+PHVzZSBvcGFjaXR5PSIuNCIgdHJhbnNmb3JtPSJyb3RhdGUoMTM1IDI0IDI0KSIgeGxpbms6aHJlZj0iI2FyYyIvPjx1c2Ugb3BhY2l0eT0iLjQiIHRyYW5zZm9ybT0icm90YXRlKDE4MCAyNCAyNCkiIHhsaW5rOmhyZWY9IiNhcmMiLz48dXNlIG9wYWNpdHk9Ii40IiB0cmFuc2Zvcm09InJvdGF0ZSgyMjUgMjQgMjQpIiB4bGluazpocmVmPSIjYXJjIi8+PHVzZSBvcGFjaXR5PSIuODUiIHRyYW5zZm9ybT0icm90YXRlKDI3MCAyNCAyNCkiIHhsaW5rOmhyZWY9IiNhcmMiLz48dXNlIG9wYWNpdHk9Ii40IiB0cmFuc2Zvcm09InJvdGF0ZSgzMTUgMjQgMjQpIiB4bGluazpocmVmPSIjYXJjIi8+PC9nPjwvc3ZnPg==\") no-repeat;\n background-position: 50% 50%;\n background-size: 100% 100%;\n z-index: 3;\n}\n\n.vjs-seeking .vjs-loading-spinner, .vjs-waiting .vjs-loading-spinner {\n display: block;\n}\n\n.vjs-play-control {\n -webkit-box-flex: 0;\n -moz-box-flex: 0;\n box-flex: 0;\n -webkit-flex: 0 0 48px;\n -moz-flex: 0 0 48px;\n -ms-flex: 0 0 48px;\n flex: 0 0 48px;\n}\n\n.vjs-play-control:before {\n content: \"\";\n}\n\n.vjs-play-control:hover {\n color: #84d1a4;\n}\n\n.vjs-playing .vjs-play-control:before {\n content: \"\";\n}\n\n.vjs-volume-menu-button {\n overflow: hidden;\n -webkit-box-flex: 0;\n -moz-box-flex: 0;\n box-flex: 0;\n -webkit-flex: 0 0 48px;\n -moz-flex: 0 0 48px;\n -ms-flex: 0 0 48px;\n flex: 0 0 48px;\n}\n\n.vjs-volume-menu-button:before {\n flex: 0 0 48px;\n}\n\n.vjs-volume-menu-button.vjs-vol-3:before {\n content: \"\";\n}\n\n.vjs-volume-menu-button.vjs-vol-2:before {\n content: \"\";\n}\n\n.vjs-volume-menu-button.vjs-vol-1:before {\n content: \"\";\n}\n\n.vjs-volume-menu-button.vjs-vol-0:before {\n content: \"\";\n}\n\n.vjs-volume-menu-button:hover, .vjs-volume-menu-button:focus {\n color: #84d1a4;\n -webkit-box-flex: 0;\n -moz-box-flex: 0;\n box-flex: 0;\n -webkit-flex: 0 0 168px;\n -moz-flex: 0 0 168px;\n -ms-flex: 0 0 168px;\n flex: 0 0 168px;\n}\n\n.vjs-volume-menu-button .vjs-menu {\n -webkit-box-flex: 1;\n -moz-box-flex: 1;\n box-flex: 1;\n -webkit-flex: 1 1 0px;\n -moz-flex: 1 1 0px;\n -ms-flex: 1 1 0px;\n flex: 1 1 0px;\n color: #ffffff;\n}\n\n.vjs-volume-menu-button .vjs-menu .vjs-menu-content {\n padding: 0 12px;\n}\n\n.vjs-volume-menu-button .vjs-menu .vjs-volume-bar {\n height: 6px;\n background: rgba(255, 255, 255, 0.3);\n position: relative;\n}\n\n.vjs-volume-menu-button .vjs-menu .vjs-volume-bar .vjs-volume-level {\n height: 100%;\n width: 100%;\n background: #ffffff;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.vjs-volume-menu-button .vjs-menu .vjs-volume-bar .vjs-volume-level:after {\n content: \"\";\n position: absolute;\n right: 0;\n margin: -12px;\n top: 3px;\n cursor: pointer;\n}\n\n.vjs-time-control {\n margin: 0 12px;\n}\n\n.vjs-time-divider, .vjs-duration, .vjs-remaining-time {\n display: none;\n}\n\n.vjs-progress-control {\n -webkit-box-flex: 1;\n -moz-box-flex: 1;\n box-flex: 1;\n -webkit-flex: 1 1 0px;\n -moz-flex: 1 1 0px;\n -ms-flex: 1 1 0px;\n flex: 1 1 0px;\n}\n\n.vjs-progress-control .vjs-progress-holder {\n height: 6px;\n width: 100%;\n margin: 0 12px;\n position: relative;\n background: rgba(255, 255, 255, 0.3);\n cursor: pointer;\n}\n\n.vjs-progress-control .vjs-progress-holder .vjs-load-progress,\n.vjs-progress-control .vjs-progress-holder .vjs-mouse-display,\n.vjs-progress-control .vjs-progress-holder .vjs-play-progress {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n}\n\n.vjs-progress-control .vjs-progress-holder .vjs-load-progress {\n background: rgba(255, 255, 255, 0.3);\n}\n\n.vjs-progress-control .vjs-progress-holder .vjs-mouse-display {\n z-index: 10;\n width: 1px;\n background: #000000;\n display: none;\n}\n\n.vjs-progress-control .vjs-progress-holder .vjs-play-progress {\n background: #ffffff;\n}\n\n.vjs-progress-control .vjs-progress-holder .vjs-play-progress:after {\n content: \"\";\n position: absolute;\n right: 0;\n margin: -3px;\n opacity: 0;\n font-size: 6px;\n top: 3px;\n cursor: pointer;\n}\n\n.vjs-progress-control:hover .vjs-mouse-display, .vjs-progress-control:focus .vjs-mouse-display {\n display: block;\n}\n\n.vjs-progress-control:hover .vjs-play-progress:after, .vjs-progress-control:focus .vjs-play-progress:after {\n opacity: 1;\n font-size: 24px;\n margin: -12px;\n}\n\n.vjs-fullscreen-control {\n -webkit-box-flex: 0;\n -moz-box-flex: 0;\n box-flex: 0;\n -webkit-flex: 0 0 48px;\n -moz-flex: 0 0 48px;\n -ms-flex: 0 0 48px;\n flex: 0 0 48px;\n}\n\n.vjs-fullscreen-control:hover {\n color: #84d1a4;\n}\n\n.vjs-fullscreen-control:before {\n content: \"\";\n}\n\n.vjs-fullscreen .vjs-fullscreen-control:before {\n content: \"\";\n}\n\n/*# sourceMappingURL=videobox.css.map */\n",".vjs-fullscreen-control {\r\n @extend .vb-icon;\r\n\r\n @extend .vb-hover-animated;\r\n\r\n @include flex(0 0 (2 * $base-font-size));\r\n\r\n &:hover {\r\n color: $primary-light;\r\n }\r\n\r\n &:before {\r\n content: $font-Videobox-fullscreen-enter;\r\n }\r\n}\r\n\r\n.vjs-fullscreen .vjs-fullscreen-control {\r\n &:before {\r\n content: $font-Videobox-fullscreen-exit;\r\n }\r\n}\r\n",".vb-hover-animated {\r\n @include transition(all $hover-duration ease-in-out);\r\n}\r\n\r\n.vb-line-fix {\r\n white-space: nowrap;\r\n max-width: 100%;\r\n display: inline-block;\r\n}\r\n\r\n.vb-icon-circle-close-invert {\r\n position: relative;\r\n display: block;\r\n}\r\n\r\n.vb-icon-circle-close-invert:before,\r\n.vb-icon-circle-close-invert:after {\r\n display: block;\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n}\r\n\r\n.vb-icon-circle-close-invert:before {\r\n content: $font-Videobox-circle;\r\n}\r\n\r\n.vb-icon-circle-close-invert:after {\r\n content: $font-Videobox-close-small;\r\n color: $color-contrast-light !important;\r\n}\r\n","@charset \"UTF-8\";\n\n/// A mixin for generating vendor prefixes on non-standardized properties.\n///\n/// @param {String} $property\n/// Property to prefix\n///\n/// @param {*} $value\n/// Value to use\n///\n/// @param {List} $prefixes\n/// Prefixes to define\n///\n/// @example scss - Usage\n/// .element {\n/// @include prefixer(border-radius, 10px, webkit ms spec);\n/// }\n///\n/// @example css - CSS Output\n/// .element {\n/// -webkit-border-radius: 10px;\n/// -moz-border-radius: 10px;\n/// border-radius: 10px;\n/// }\n///\n/// @require {variable} $prefix-for-webkit\n/// @require {variable} $prefix-for-mozilla\n/// @require {variable} $prefix-for-microsoft\n/// @require {variable} $prefix-for-opera\n/// @require {variable} $prefix-for-spec\n\n@mixin prefixer($property, $value, $prefixes) {\n @each $prefix in $prefixes {\n @if $prefix == webkit {\n @if $prefix-for-webkit {\n -webkit-#{$property}: $value;\n }\n } @else if $prefix == moz {\n @if $prefix-for-mozilla {\n -moz-#{$property}: $value;\n }\n } @else if $prefix == ms {\n @if $prefix-for-microsoft {\n -ms-#{$property}: $value;\n }\n } @else if $prefix == o {\n @if $prefix-for-opera {\n -o-#{$property}: $value;\n }\n } @else if $prefix == spec {\n @if $prefix-for-spec {\n #{$property}: $value;\n }\n } @else {\n @warn \"Unrecognized prefix: #{$prefix}\";\n }\n }\n}\n\n@mixin disable-prefix-for-all() {\n $prefix-for-webkit: false !global;\n $prefix-for-mozilla: false !global;\n $prefix-for-microsoft: false !global;\n $prefix-for-opera: false !global;\n $prefix-for-spec: false !global;\n}\n","#vbCloseLink {\r\n @extend .vb-hover-animated;\r\n\r\n display: inline-block;\r\n float: right;\r\n text-transform: uppercase;\r\n line-height: 1em;\r\n padding-left: 5px;\r\n text-decoration: none;\r\n font-size: 0.75 * $base-font-size;\r\n margin: -5px -5px 10px 10px;\r\n color: inherit;\r\n cursor: pointer;\r\n\r\n &:hover,\r\n &:focus {\r\n text-decoration: none;\r\n color: $primary-light;\r\n }\r\n\r\n i {\r\n display: inline-block;\r\n vertical-align: middle;\r\n font-size: 1.5 * $base-font-size;\r\n padding-left: 4px;\r\n }\r\n\r\n @include transition-delay(inherit);\r\n}\r\n\r\n#vbCloseText {\r\n display: inline-block;\r\n vertical-align: middle;\r\n}\r\n",".video-js .vjs-control-bar {\r\n display: none;\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n height: 2 * $base-font-size;\r\n z-index: 3;\r\n background: rgba($color-contrast-dark, $overlay-opacity);\r\n visibility: hidden;\r\n opacity: 0;\r\n\r\n @include align-items(center);\r\n\r\n @include display(flex);\r\n\r\n @include transition(all $transition-duration ease-in-out);\r\n}\r\n\r\n.vjs-has-started .vjs-control-bar {\r\n visibility: visible;\r\n opacity: 1;\r\n}\r\n\r\n.vjs-has-started.vjs-user-inactive.vjs-playing:not(.vjs-audio) .vjs-control-bar {\r\n visibility: hidden;\r\n opacity: 0;\r\n}\r\n\r\n.vjs-control {\r\n padding: 0;\r\n margin: 0;\r\n border: none;\r\n background: none;\r\n color: $color-contrast-light;\r\n height: 2 * $base-font-size;\r\n\r\n @include display(flex);\r\n\r\n @include align-items(center);\r\n\r\n &:before {\r\n display: inline-block;\r\n vertical-align: middle;\r\n width: 2 * $base-font-size;\r\n height: 2 * $base-font-size;\r\n text-align: center;\r\n line-height: 2 * $base-font-size;\r\n cursor: pointer;\r\n }\r\n}\r\n\r\n.vjs-live-control,\r\n.vjs-custom-control-spacer,\r\n.vjs-playback-rate,\r\n.vjs-chapters-button,\r\n.vjs-subtitles-button,\r\n.vjs-captions-button,\r\n.vjs-descriptions-button,\r\n.vjs-audio-button {\r\n display: none;\r\n}\r\n",".vb_video_sizer {\r\n position: relative;\r\n display: block;\r\n height: 0;\r\n overflow: hidden;\r\n background-color: $color-contrast-dark;\r\n\r\n iframe {\r\n background-color: $color-contrast-dark;\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n border: 0;\r\n }\r\n}\r\n\r\n.vb_video_frame {\r\n display: block;\r\n width: 100%;\r\n margin: 30px 0;\r\n text-align: center;\r\n font-size: 1.2em;\r\n color: $primary-color;\r\n}\r\n","#vbiResponsive {\r\n position: relative;\r\n display: block;\r\n width: 100%;\r\n height: 0;\r\n padding: 0;\r\n overflow: hidden;\r\n background-color: $color-contrast-dark;\r\n padding-bottom: 56.25%;\r\n pointer-events: all;\r\n}\r\n",".vjs-volume-menu-button {\r\n @extend .vb-icon;\r\n\r\n @extend .vb-hover-animated;\r\n\r\n overflow: hidden;\r\n\r\n @include flex(0 0 (2 * $base-font-size));\r\n\r\n &:before {\r\n flex: 0 0 (2 * $base-font-size);\r\n }\r\n\r\n &.vjs-vol-3:before {\r\n content: $font-Videobox-volume-3;\r\n }\r\n\r\n &.vjs-vol-2:before {\r\n content: $font-Videobox-volume-2;\r\n }\r\n\r\n &.vjs-vol-1:before {\r\n content: $font-Videobox-volume-1;\r\n }\r\n\r\n &.vjs-vol-0:before {\r\n content: $font-Videobox-volume-0;\r\n }\r\n\r\n &:hover,\r\n &:focus {\r\n color: $primary-light;\r\n\r\n @include flex(0 0 (7 * $base-font-size));\r\n }\r\n\r\n .vjs-menu {\r\n @include flex(1 1 0px);\r\n\r\n color: $color-contrast-light;\r\n\r\n .vjs-menu-content {\r\n padding: 0 ($base-font-size / 2);\r\n }\r\n\r\n .vjs-volume-bar {\r\n height: 0.25 * $base-font-size;\r\n background: rgba($color-contrast-light, 1 - $overlay-opacity);\r\n position: relative;\r\n\r\n .vjs-volume-level {\r\n @extend .vb-icon;\r\n\r\n height: 100%;\r\n width: 100%;\r\n background: $color-contrast-light;\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n\r\n &:after {\r\n content: $font-Videobox-circle;\r\n position: absolute;\r\n right: 0;\r\n margin: -$base-font-size / 2;\r\n top: 0.125 * $base-font-size;\r\n cursor: pointer;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n",".vb_gallery {\r\n padding: 0;\r\n margin: -12px;\r\n clear: both;\r\n\r\n @include display(flex);\r\n\r\n @include flex-flow(row wrap);\r\n}\r\n\r\n.vb_video_cont.vb_gal {\r\n margin: 12px;\r\n\r\n &:empty {\r\n margin-top: 0;\r\n margin-bottom: 0;\r\n }\r\n}\r\n","// CSS3 Flexible Box Model and property defaults\n\n// Custom shorthand notation for flexbox\n@mixin box($orient: inline-axis, $pack: start, $align: stretch) {\n @include display-box;\n @include box-orient($orient);\n @include box-pack($pack);\n @include box-align($align);\n}\n\n@mixin display-box {\n display: -webkit-box;\n display: -moz-box;\n display: -ms-flexbox; // IE 10\n display: box;\n}\n\n@mixin box-orient($orient: inline-axis) {\n// horizontal|vertical|inline-axis|block-axis|inherit\n @include prefixer(box-orient, $orient, webkit moz spec);\n}\n\n@mixin box-pack($pack: start) {\n// start|end|center|justify\n @include prefixer(box-pack, $pack, webkit moz spec);\n -ms-flex-pack: $pack; // IE 10\n}\n\n@mixin box-align($align: stretch) {\n// start|end|center|baseline|stretch\n @include prefixer(box-align, $align, webkit moz spec);\n -ms-flex-align: $align; // IE 10\n}\n\n@mixin box-direction($direction: normal) {\n// normal|reverse|inherit\n @include prefixer(box-direction, $direction, webkit moz spec);\n -ms-flex-direction: $direction; // IE 10\n}\n\n@mixin box-lines($lines: single) {\n// single|multiple\n @include prefixer(box-lines, $lines, webkit moz spec);\n}\n\n@mixin box-ordinal-group($int: 1) {\n @include prefixer(box-ordinal-group, $int, webkit moz spec);\n -ms-flex-order: $int; // IE 10\n}\n\n@mixin box-flex($value: 0) {\n @include prefixer(box-flex, $value, webkit moz spec);\n -ms-flex: $value; // IE 10\n}\n\n@mixin box-flex-group($int: 1) {\n @include prefixer(box-flex-group, $int, webkit moz spec);\n}\n\n// CSS3 Flexible Box Model and property defaults\n// Unified attributes for 2009, 2011, and 2012 flavours.\n\n// 2009 - display (box | inline-box)\n// 2011 - display (flexbox | inline-flexbox)\n// 2012 - display (flex | inline-flex)\n@mixin display($value) {\n// flex | inline-flex\n @if $value == \"flex\" {\n // 2009\n display: -webkit-box;\n display: -moz-box;\n display: box;\n\n // 2012\n display: -webkit-flex;\n display: -moz-flex;\n display: -ms-flexbox; // 2011 (IE 10)\n display: flex;\n } @else if $value == \"inline-flex\" {\n display: -webkit-inline-box;\n display: -moz-inline-box;\n display: inline-box;\n\n display: -webkit-inline-flex;\n display: -moz-inline-flex;\n display: -ms-inline-flexbox;\n display: inline-flex;\n } @else {\n display: $value;\n }\n}\n\n// 2009 - box-flex (integer)\n// 2011 - flex (decimal | width decimal)\n// 2012 - flex (integer integer width)\n@mixin flex($value) {\n\n // Grab flex-grow for older browsers.\n $flex-grow: nth($value, 1);\n\n // 2009\n @include prefixer(box-flex, $flex-grow, webkit moz spec);\n\n // 2011 (IE 10), 2012\n @include prefixer(flex, $value, webkit moz ms spec);\n}\n\n// 2009 - box-orient ( horizontal | vertical | inline-axis | block-axis)\n// - box-direction (normal | reverse)\n// 2011 - flex-direction (row | row-reverse | column | column-reverse)\n// 2012 - flex-direction (row | row-reverse | column | column-reverse)\n@mixin flex-direction($value: row) {\n\n // Alt values.\n $value-2009: $value;\n $value-2011: $value;\n $direction: normal;\n\n @if $value == row {\n $value-2009: horizontal;\n } @else if $value == \"row-reverse\" {\n $value-2009: horizontal;\n $direction: reverse;\n } @else if $value == column {\n $value-2009: vertical;\n } @else if $value == \"column-reverse\" {\n $value-2009: vertical;\n $direction: reverse;\n }\n\n // 2009\n @include prefixer(box-orient, $value-2009, webkit moz spec);\n @include prefixer(box-direction, $direction, webkit moz spec);\n\n // 2012\n @include prefixer(flex-direction, $value, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-direction: $value;\n}\n\n// 2009 - box-lines (single | multiple)\n// 2011 - flex-wrap (nowrap | wrap | wrap-reverse)\n// 2012 - flex-wrap (nowrap | wrap | wrap-reverse)\n@mixin flex-wrap($value: nowrap) {\n // Alt values\n $alt-value: $value;\n @if $value == nowrap {\n $alt-value: single;\n } @else if $value == wrap {\n $alt-value: multiple;\n } @else if $value == \"wrap-reverse\" {\n $alt-value: multiple;\n }\n\n @include prefixer(box-lines, $alt-value, webkit moz spec);\n @include prefixer(flex-wrap, $value, webkit moz ms spec);\n}\n\n// 2009 - TODO: parse values into flex-direction/flex-wrap\n// 2011 - TODO: parse values into flex-direction/flex-wrap\n// 2012 - flex-flow (flex-direction || flex-wrap)\n@mixin flex-flow($value) {\n @include prefixer(flex-flow, $value, webkit moz spec);\n}\n\n// 2009 - box-ordinal-group (integer)\n// 2011 - flex-order (integer)\n// 2012 - order (integer)\n@mixin order($int: 0) {\n // 2009\n @include prefixer(box-ordinal-group, $int, webkit moz spec);\n\n // 2012\n @include prefixer(order, $int, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-order: $int;\n}\n\n// 2012 - flex-grow (number)\n@mixin flex-grow($number: 0) {\n @include prefixer(flex-grow, $number, webkit moz spec);\n -ms-flex-positive: $number;\n}\n\n// 2012 - flex-shrink (number)\n@mixin flex-shrink($number: 1) {\n @include prefixer(flex-shrink, $number, webkit moz spec);\n -ms-flex-negative: $number;\n}\n\n// 2012 - flex-basis (number)\n@mixin flex-basis($width: auto) {\n @include prefixer(flex-basis, $width, webkit moz spec);\n -ms-flex-preferred-size: $width;\n}\n\n// 2009 - box-pack (start | end | center | justify)\n// 2011 - flex-pack (start | end | center | justify)\n// 2012 - justify-content (flex-start | flex-end | center | space-between | space-around)\n@mixin justify-content($value: flex-start) {\n\n // Alt values.\n $alt-value: $value;\n @if $value == \"flex-start\" {\n $alt-value: start;\n } @else if $value == \"flex-end\" {\n $alt-value: end;\n } @else if $value == \"space-between\" {\n $alt-value: justify;\n } @else if $value == \"space-around\" {\n $alt-value: distribute;\n }\n\n // 2009\n @include prefixer(box-pack, $alt-value, webkit moz spec);\n\n // 2012\n @include prefixer(justify-content, $value, webkit moz ms o spec);\n\n // 2011 (IE 10)\n -ms-flex-pack: $alt-value;\n}\n\n// 2009 - box-align (start | end | center | baseline | stretch)\n// 2011 - flex-align (start | end | center | baseline | stretch)\n// 2012 - align-items (flex-start | flex-end | center | baseline | stretch)\n@mixin align-items($value: stretch) {\n\n $alt-value: $value;\n\n @if $value == \"flex-start\" {\n $alt-value: start;\n } @else if $value == \"flex-end\" {\n $alt-value: end;\n }\n\n // 2009\n @include prefixer(box-align, $alt-value, webkit moz spec);\n\n // 2012\n @include prefixer(align-items, $value, webkit moz ms o spec);\n\n // 2011 (IE 10)\n -ms-flex-align: $alt-value;\n}\n\n// 2011 - flex-item-align (auto | start | end | center | baseline | stretch)\n// 2012 - align-self (auto | flex-start | flex-end | center | baseline | stretch)\n@mixin align-self($value: auto) {\n\n $value-2011: $value;\n @if $value == \"flex-start\" {\n $value-2011: start;\n } @else if $value == \"flex-end\" {\n $value-2011: end;\n }\n\n // 2012\n @include prefixer(align-self, $value, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-item-align: $value-2011;\n}\n\n// 2011 - flex-line-pack (start | end | center | justify | distribute | stretch)\n// 2012 - align-content (flex-start | flex-end | center | space-between | space-around | stretch)\n@mixin align-content($value: stretch) {\n\n $value-2011: $value;\n @if $value == \"flex-start\" {\n $value-2011: start;\n } @else if $value == \"flex-end\" {\n $value-2011: end;\n } @else if $value == \"space-between\" {\n $value-2011: justify;\n } @else if $value == \"space-around\" {\n $value-2011: distribute;\n }\n\n // 2012\n @include prefixer(align-content, $value, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-line-pack: $value-2011;\n}\n",".pagination {\r\n margin: 15px 0;\r\n display: inline-block;\r\n padding-left: 0;\r\n margin: 20px 0;\r\n\r\n & > li {\r\n display: inline;\r\n\r\n & > a,\r\n & > span {\r\n @extend .vb-hover-animated;\r\n\r\n background-color: $color-contrast-light;\r\n color: $primary-color;\r\n border: none;\r\n font-weight: 400;\r\n font-size: 0.625 * $base-font-size;\r\n padding: (0.3125 * $base-font-size) (0.625 * $base-font-size);\r\n text-decoration: none;\r\n text-shadow: 0px 0px 10px $primary-light;\r\n\r\n &:hover,\r\n &:focus {\r\n color: $primary-color;\r\n background-color: $primary-light;\r\n }\r\n }\r\n\r\n & + li {\r\n & > a,\r\n & > span {\r\n border-left: 1px solid $color-contrast-light;\r\n margin-left: 0;\r\n }\r\n }\r\n\r\n &.active {\r\n & > a,\r\n & > span {\r\n color: $primary-color;\r\n background-color: $primary-light;\r\n }\r\n }\r\n }\r\n}\r\n","#vbiWrap {\r\n width: 100%;\r\n position: relative;\r\n color: $primary-color;\r\n text-align: center;\r\n}\r\n","#vbVideo {\r\n background-color: $color-contrast-dark;\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n border: 0;\r\n}\r\n","#vbiVideo {\r\n background-color: $color-contrast-dark;\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n border: 0;\r\n}\r\n","#vbiClose {\r\n @extend .vb-hover-animated;\r\n\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n width: 48px;\r\n height: 48px;\r\n margin: -24px -24px 0 0;\r\n font-size: 24px;\r\n line-height: 1;\r\n cursor: pointer;\r\n padding: 12px;\r\n opacity: 0;\r\n z-index: 300;\r\n box-sizing: border-box;\r\n}\r\n\r\n#vbiWrap:hover #vbiClose,\r\n#vbiClose.visible {\r\n opacity: 1;\r\n}\r\n\r\n#vbiClose:hover,\r\n#vbiClose:focus {\r\n color: $primary-light;\r\n}\r\n",".vjs-poster {\r\n background-color: $color-contrast-dark;\r\n background-repeat: no-repeat;\r\n background-position: 50% 50%;\r\n background-size: contain;\r\n cursor: pointer;\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n z-index: 2;\r\n}\r\n\r\n.vjs-has-started:not(.vjs-audio) .vjs-poster {\r\n display: none;\r\n}\r\n",".video-js .vjs-tech {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n z-index: 1;\r\n}\r\n","#vbOverlay {\r\n position: fixed;\r\n z-index: 9999;\r\n left: 0;\r\n top: 0;\r\n width: 100%;\r\n height: 100%;\r\n cursor: pointer;\r\n visibility: hidden;\r\n background-color: $color-contrast-dark;\r\n opacity: 0;\r\n\r\n @include transition(all $transition-duration ease-in-out);\r\n\r\n &.visible {\r\n visibility: visible;\r\n opacity: $overlay-opacity;\r\n }\r\n}\r\n","#vbWrap {\r\n position: absolute;\r\n z-index: 9999;\r\n left: 0;\r\n top: 0;\r\n height: 100%;\r\n visibility: hidden;\r\n pointer-events: none;\r\n width: 100%;\r\n max-width: 100vw;\r\n max-height: 100vh;\r\n\r\n @include display(flex);\r\n\r\n @include justify-content(center);\r\n\r\n @include align-items(center);\r\n\r\n &.visible {\r\n visibility: visible;\r\n\r\n &:not(.animating) #vbCenter {\r\n @include transition(all $transition-duration ease-in-out);\r\n }\r\n }\r\n\r\n .animating {\r\n overflow: hidden;\r\n }\r\n}\r\n","#vbCenter {\r\n box-sizing: border-box;\r\n width: 100%;\r\n position: relative;\r\n display: block;\r\n}\r\n","html.vb-html5-player,\r\nbody.vb-html5-player {\r\n position: fixed;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n margin: 0;\r\n padding: 0;\r\n background: $color-contrast-dark;\r\n\r\n *:focus {\r\n border: none;\r\n outline: none;\r\n }\r\n}\r\n\r\n#vb-html5-video {\r\n width: 100%;\r\n height: 100%;\r\n background: $color-contrast-dark;\r\n}\r\n\r\n.video-js {\r\n color: $color-contrast-light;\r\n background: $color-contrast-dark;\r\n margin: 0;\r\n padding: 0;\r\n width: 100%;\r\n height: 100%;\r\n position: relative;\r\n font-size: 0.625 * $base-font-size;\r\n line-height: 1em;\r\n font-family: \"Roboto\", \"Arial\", \"Helvetica\", sans-serif;\r\n font-weight: normal;\r\n font-style: normal;\r\n text-decoration: none;\r\n\r\n @include user-select(none);\r\n}\r\n\r\n.video-js .vjs-control-text {\r\n border: 0;\r\n clip: rect(0 0 0 0);\r\n height: 1px;\r\n margin: -1px;\r\n overflow: hidden;\r\n padding: 0;\r\n position: absolute;\r\n width: 1px;\r\n}\r\n\r\n.vjs-hidden {\r\n display: none;\r\n}\r\n",".vb_slider_outer {\r\n width: 100%;\r\n color: $primary-color;\r\n\r\n @include display(flex);\r\n\r\n @include flex-flow(row);\r\n\r\n .vb_slider_wrap {\r\n @include flex(1 1 100%);\r\n\r\n overflow: hidden;\r\n padding: 0px;\r\n }\r\n}\r\n",".vb_gallery.vb_slider {\r\n margin: 0;\r\n\r\n @include flex-wrap(nowrap);\r\n\r\n .vb_video_cont.vb_gal {\r\n margin: 12px;\r\n }\r\n}\r\n",".vb_slider_outer {\r\n .vb_slider_prev,\r\n .vb_slider_next {\r\n @extend .vb-hover-animated;\r\n\r\n flex: 0 0 (2 * $base-font-size);\r\n cursor: pointer;\r\n position: relative;\r\n margin: 15px 0;\r\n\r\n i {\r\n position: absolute;\r\n top: 50%;\r\n margin-top: -24px;\r\n font-size: 2 * $base-font-size;\r\n }\r\n\r\n &:hover,\r\n &:focus {\r\n color: $primary-light;\r\n }\r\n }\r\n}\r\n",".vjs-loading-spinner {\r\n @extend .vb-icon;\r\n\r\n position: absolute;\r\n top: 50%;\r\n bottom: 50%;\r\n left: 50%;\r\n right: 50%;\r\n z-index: 5;\r\n margin: -5 / 3 * $base-font-size;\r\n border: none;\r\n padding: 0;\r\n width: 10 / 3 * $base-font-size;\r\n height: 10 / 3 * $base-font-size;\r\n display: none;\r\n\r\n &:before {\r\n display: block;\r\n content: $font-Videobox-circle;\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n font-size: 10 / 3 * $base-font-size;\r\n color: rgba($color-contrast-dark, 0);\r\n text-shadow: 0px 0px (5 * $base-font-size) rgba($color-contrast-dark, 0.7);\r\n z-index: 2;\r\n }\r\n\r\n &:after {\r\n display: block;\r\n content: \" \";\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n background: url(\"/images/spinner.svg\") no-repeat;\r\n background-position: 50% 50%;\r\n background-size: 100% 100%;\r\n z-index: 3;\r\n }\r\n}\r\n\r\n.vjs-seeking, .vjs-waiting {\r\n .vjs-loading-spinner {\r\n display: block;\r\n }\r\n}\r\n",".vjs-play-control {\r\n @extend .vb-icon;\r\n\r\n @extend .vb-hover-animated;\r\n\r\n @include flex(0 0 (2 * $base-font-size));\r\n\r\n &:before {\r\n content: $font-Videobox-play;\r\n }\r\n\r\n &:hover {\r\n color: $primary-light;\r\n }\r\n}\r\n\r\n.vjs-playing .vjs-play-control:before {\r\n content: $font-Videobox-pause;\r\n}\r\n",".vjs-time-control {\r\n margin: 0 ($base-font-size / 2);\r\n}\r\n\r\n.vjs-time-divider, .vjs-duration, .vjs-remaining-time {\r\n display: none;\r\n}\r\n",".vjs-progress-control {\r\n @include flex(1 1 0px);\r\n\r\n .vjs-progress-holder {\r\n height: 0.25 * $base-font-size;\r\n width: 100%;\r\n margin: 0 (0.5 * $base-font-size);\r\n position: relative;\r\n background: rgba($color-contrast-light, 1 - $overlay-opacity);\r\n cursor: pointer;\r\n\r\n .vjs-load-progress,\r\n .vjs-mouse-display,\r\n .vjs-play-progress {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n height: 100%;\r\n }\r\n\r\n .vjs-load-progress {\r\n background: rgba($color-contrast-light, 1 - $overlay-opacity);\r\n }\r\n\r\n .vjs-mouse-display {\r\n z-index: 10;\r\n width: 1px;\r\n background: $color-contrast-dark;\r\n display: none;\r\n }\r\n\r\n .vjs-play-progress {\r\n @extend .vb-icon;\r\n\r\n background: $color-contrast-light;\r\n\r\n &:after {\r\n @extend .vb-hover-animated;\r\n\r\n content: $font-Videobox-circle;\r\n position: absolute;\r\n right: 0;\r\n margin: -0.125 * $base-font-size;\r\n opacity: 0;\r\n font-size: 0.25 * $base-font-size;\r\n top: 0.125 * $base-font-size;\r\n cursor: pointer;\r\n }\r\n }\r\n }\r\n\r\n &:hover,\r\n &:focus {\r\n .vjs-mouse-display {\r\n display: block;\r\n }\r\n\r\n .vjs-play-progress:after {\r\n opacity: 1;\r\n font-size: $base-font-size;\r\n margin: -$base-font-size / 2;\r\n }\r\n }\r\n}\r\n"]} \ No newline at end of file diff --git a/dist/videobox.js.map b/dist/videobox.js.map index 0eefb9c..61fdb2b 100644 --- a/dist/videobox.js.map +++ b/dist/videobox.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/ts/components/helpers.ts","../src/ts/components/box.ts","../src/ts/components/inline.ts","../src/ts/components/slider.ts","../src/ts/index.ts"," [synthetic:base] "," [synthetic:util/global] "," [synthetic:util/owns] "," [synthetic:util/defineproperty] "," [synthetic:util/polyfill] "," [synthetic:es6/object/assign] "," [synthetic:util/findinternal] "," [synthetic:es6/array/find] "],"names":["create","tagName","id","click","el","document","createElement","onclick","createClass","className","iterableToArray","iterable","list","i","length","push","applyStyles","styles","key","style","hide","originalDisplay","display","show","insertAfter","target","parentElement","insertBefore","nextSibling","toggleClass","on","classList","contains","toggle","libBind","$","videobox","$.videobox","video","VideoboxObj","open","vbClose","$.vbClose","close","fn","$.fn.videobox","options","linkMapper","elements","this","bind","libBind$1","vbInline","$.vbInline","VbInlineObj","vbiClose","$.vbiClose","callback","$.fn.vbInline","detach","forEach","querySelector","VbInline","parentNode","removeChild","libBind$2","vbSlider","$.vbSlider","VbSlider","getSlider","$.fn.vbSlider","bindAll","Videobox","$jscomp","scope","getGlobal","a","window","global","owns","b","Object","prototype","hasOwnProperty","call","defineProperty","defineProperties","c","get","set","TypeError","Array","value","polyfill","d","split","e","configurable","writable","arguments","g","findInternal","String","v","constructor","links","isOpen","animations","defaults","width","height","closeText","padding","root","body","animation","duration","iterations","delay","easing","overlay","wrap","center","appendChild","responsive","bottomContainer","allowFullscreen","frameBorder","bottom","button","innerHTML","caption","addEventListener","activeVideo","setPlayerSizePosition","querySelectorAll","link","vbListener","removeEventListener","vbiListener","evt","preventDefault","stopPropagation","assign","setup","origin","getAttribute","bw","getBoundingClientRect","bt","x","left","clientWidth","y","top","clientHeight","changeVideo","stop","setPlayerPosition","nw","ratio","paddingBottom","JSON","parse","pop","url","title","newVideo","innerText","parent","offsetParent","wbr","obr","offsetLeft","offsetTop","targetRatio","centerOrigin","maxWidth","centerTarget","originRatio","animate","centerAnimation","onfinish","centerAnimation.onfinish","animateBotton","play","bottomAnimation","maxHeight","bottomAnimation.onfinish","showVideo","setAttribute","anim","cancel","jQuery","jQuery.fn.videobox","Zepto","hidding","hidden","closeTimeout","maxW","v1","v1.onfinish","v2","class","wrapDest","animation.onfinish","responsiveDest","animation2","animation2.onfinish","timer","setTimeout","clearTimeout","queue","timeout","moving","visible","detachedElements","moveAll","singleDuration","doubleClickTimeout","outer","prev","showPrev","next","showNext","content","buttons","attached","basis","parseInt","setCount","sliders","sizeTarget","trim","move","opts","slider","find","updateSizes","queueMove","setBasis","getTarget","dir","oldHeight","num","count","shift","firstChild","oldElements","slice","animationProperties","w","positionOrigin","transform","positionDest","skip","offsetHeight","elm","unshift","current","ch","base","offsetWidth","Math","floor","setAttached","enumerable","children","isMoving","readyState","ready"],"mappings":"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","file":"videobox.min.js","sourcesContent":["/**\r\n * Interface for Videobox configuration\r\n */\r\nexport interface vbOptions {\r\n\r\n /**\r\n * default player width\r\n */\r\n width?: number,\r\n\r\n /**\r\n * default player height\r\n */\r\n height?: number,\r\n\r\n /**\r\n * text for the close button\r\n */\r\n closeText?: string,\r\n\r\n /**\r\n * player padding\r\n */\r\n padding?: number,\r\n\r\n /**\r\n * element the pop-up will be attached to \r\n */\r\n root?: HTMLElement,\r\n\r\n /**\r\n * adittional style for the player (doesn't apply to the pop-up player)\r\n */\r\n style?: string,\r\n\r\n /**\r\n * adittional class name(s) for the player (doesn't apply to the pop-up player)\r\n */\r\n class?: string,\r\n\r\n /**\r\n * time (in ms) while the close button remains visible when the inline player is shown\r\n */\r\n closeTimeout?: number,\r\n\r\n /**\r\n * animation properties (see web animations specifications)\r\n */\r\n animation?: KeyframeAnimationOptions\r\n}\r\n\r\n/**\r\n * Interface for the Videobox's video element\r\n */\r\nexport interface vbVideo {\r\n\r\n /**\r\n * player url\r\n */\r\n url: string,\r\n\r\n /**\r\n * optional title, is supplied it'll dispalyed under the player\r\n */\r\n title?: string,\r\n\r\n /**\r\n * origin for Videobox actions, such as player open animation\r\n */\r\n origin: vbOrigin,\r\n\r\n /**\r\n * configuration overrides\r\n */\r\n options: vbOptions\r\n}\r\n\r\n/**\r\n * Interface for video origin\r\n */\r\nexport interface vbOrigin {\r\n\r\n /**\r\n * X coordinate where the player will appear (relative to options.root)\r\n */\r\n x?: number,\r\n\r\n /**\r\n * Y coordinate where the player will appear (relative to options.root)\r\n */\r\n y?: number,\r\n\r\n /**\r\n * initial player width\r\n */\r\n width?: number,\r\n\r\n /**\r\n * initial player height\r\n */\r\n height?: number,\r\n\r\n /**\r\n * target element (the clicked element)\r\n */\r\n target: HTMLElement\r\n}\r\n\r\n/** @internal */\r\nexport function create(tagName: string, id?: string, click?: any): HTMLElement {\r\n let el = document.createElement(tagName)\r\n if (id)\r\n el.id = id\r\n if (click)\r\n el.onclick = click\r\n return el\r\n}\r\n\r\n/** @internal */\r\nexport function createClass(tagName: string, className?: string, click?: any): HTMLElement {\r\n let el = document.createElement(tagName)\r\n if (className)\r\n el.className = className\r\n if (click)\r\n el.onclick = click\r\n return el\r\n}\r\n\r\n/** @internal */\r\nexport function iterableToArray(iterable: any): Array {\r\n let list = []\r\n for (let i = 0; i < iterable.length; i++)\r\n list.push(iterable[i])\r\n return list\r\n}\r\n\r\n/** @internal */\r\nexport function applyStyles(el: HTMLElement, styles: { [key: string]: string }): void {\r\n for (let key in styles)\r\n if (key in el.style)\r\n el.style[key] = styles[key]\r\n}\r\n\r\n/** @internal */\r\nexport function hide(el: HTMLElement) {\r\n el['originalDisplay'] = (el.style.display && (el.style.display == 'none' ? '' : el.style.display)) || ''\r\n el.style.display = 'none'\r\n}\r\n\r\n/** @internal */\r\nexport function show(el: HTMLElement) {\r\n if ('originalDisplay' in el && el['originalDisplay'])\r\n el.style.display = el['originalDisplay']\r\n else\r\n el.style.display = ''\r\n}\r\n\r\n/** @internal */\r\nexport function insertAfter(el: HTMLElement, target: HTMLElement) {\r\n target.parentElement.insertBefore(el, target.nextSibling)\r\n}\r\n\r\n/** @internal */\r\nexport function toggleClass(el: HTMLElement, className: string, on: boolean) {\r\n if (el.classList.contains(className) ? !on : on) el.classList.toggle(className)\r\n}","import { create, applyStyles, vbOptions, vbVideo, hide, show, iterableToArray, toggleClass } from './helpers'\r\nimport { VbInlineObj as VbInline } from './inline'\r\n\r\nexport class Videobox {\r\n\r\n private closeText: HTMLSpanElement\r\n private center: HTMLDivElement\r\n private caption: HTMLElement\r\n private wrap: HTMLDivElement\r\n private responsive: HTMLDivElement\r\n private overlay: HTMLDivElement\r\n private bottomContainer: HTMLDivElement\r\n private video: HTMLIFrameElement\r\n private bottom: HTMLDivElement\r\n private button: HTMLLinkElement\r\n\r\n private activeVideo: vbVideo\r\n private isOpen: boolean = false\r\n private animations: Array = []\r\n\r\n private defaults: vbOptions = {\r\n width: 720,\r\n height: 405,\r\n closeText: 'Close',\r\n padding: 30,\r\n root: document.body,\r\n animation: {\r\n duration: 500,\r\n iterations: 1,\r\n delay: 0,\r\n easing: 'ease-in-out'\r\n }\r\n }\r\n\r\n /** @internal */\r\n constructor(links?: Array | string, options: vbOptions = {}, linkMapper?: ((el: HTMLElement) => vbVideo)) {\r\n this.overlay = create('div', 'vbOverlay', () => this.close())\r\n //this.defaults.root.appendChild(this.overlay)\r\n\r\n this.wrap = create('div', 'vbWrap')\r\n //this.defaults.root.appendChild(this.wrap)\r\n\r\n this.center = create('div', 'vbCenter')\r\n this.wrap.appendChild(this.center)\r\n\r\n this.responsive = create('div', 'vbResponsive')\r\n this.center.appendChild(this.responsive)\r\n\r\n this.bottomContainer = create('div', 'vbBottomContainer')\r\n this.center.appendChild(this.bottomContainer)\r\n\r\n this.video = create('iframe', 'vbVideo')\r\n this.video.allowFullscreen = true\r\n this.video.frameBorder = '0px'\r\n hide(this.video)\r\n this.responsive.appendChild(this.video)\r\n\r\n this.bottom = create('div', 'vbBottom')\r\n this.bottomContainer.appendChild(this.bottom)\r\n\r\n this.button = create('a', 'vbCloseLink', () => this.close())\r\n this.button.innerHTML = '' + this.defaults.closeText + ''\r\n this.bottom.appendChild(this.button)\r\n\r\n this.caption = create('strong', 'vbCaption')\r\n this.bottom.appendChild(this.caption)\r\n\r\n this.closeText = this.button.querySelector('#vbCloseText')\r\n\r\n window.addEventListener('resize', () => {\r\n if (this.isOpen && this.activeVideo)\r\n this.setPlayerSizePosition()\r\n })\r\n\r\n if (links)\r\n this.bind(links, options, linkMapper || this.linkMapper)\r\n }\r\n\r\n /**\r\n * Map pop-up player to links \r\n * \r\n * @param links array of elements or query selector to bind Videobox to\r\n * @param options player configuration\r\n * @param linkMapper function to get a Videobox video object from the clicked element\r\n */\r\n bind(\r\n links: Array | string,\r\n options: vbOptions = {},\r\n linkMapper: ((el: HTMLElement) => vbVideo) = this.linkMapper\r\n ): void {\r\n if (typeof links == 'string')\r\n links = iterableToArray(document.querySelectorAll(links))\r\n\r\n links.forEach(link => {\r\n if (link['vbListener']) link.removeEventListener('click', link['vbListener'])\r\n if (link['vbiListener']) link.removeEventListener('click', link['vbiListener'])\r\n link['vbListener'] = (evt) => {\r\n evt.preventDefault()\r\n evt.stopPropagation()\r\n let video = linkMapper(link)\r\n video.options = Object.assign({}, options, video.options)\r\n this.open(video)\r\n return false\r\n }\r\n link.addEventListener('click', link['vbListener'])\r\n })\r\n }\r\n\r\n /**\r\n * Open Videobox pop-up player\r\n * \r\n * @param video video to show\r\n */\r\n open(video: vbVideo): void {\r\n if ('VbInline' in window)\r\n window['VbInline'].close()\r\n this.close()\r\n\r\n video.options = Object.assign({}, this.defaults, video.options)\r\n if (!video.options.root) video.options.root = document.body\r\n this.setup(video)\r\n\r\n let link = video.origin.target\r\n let target = link.querySelector(link.getAttribute(\"data-target\")) || link\r\n\r\n let bw = this.wrap.getBoundingClientRect()\r\n let bt = target.getBoundingClientRect()\r\n\r\n toggleClass(target, 'vb_line_fix', true)\r\n video.origin = Object.assign({}, {\r\n x: bt.left - bw.left + target.clientWidth / 2,\r\n y: bt.top - bw.top + target.clientHeight / 2,\r\n width: target.clientWidth,\r\n height: target.clientHeight\r\n }, video.origin)\r\n toggleClass(target, 'vb_line_fix', false)\r\n\r\n this.changeVideo(video)\r\n }\r\n\r\n /**\r\n * Close the open pop-up\r\n */\r\n close() {\r\n this.stop()\r\n new Array(this.wrap, this.bottomContainer, this.overlay).forEach(el => toggleClass(el, 'visible', false))\r\n this.wrap.style.top = '0px'\r\n this.wrap.style.left = '0px'\r\n this.activeVideo = null\r\n return false\r\n }\r\n\r\n /**\r\n * Calculate and set player position & size\r\n * \r\n * @returns width to height ratio of the player (in percent)\r\n */\r\n setPlayerSizePosition(): number {\r\n if (!this.activeVideo) return\r\n\r\n this.setPlayerPosition(this.activeVideo.options.root)\r\n\r\n let width: number = this.activeVideo.options.width\r\n let height: number = this.activeVideo.options.height\r\n\r\n if (width + 2 * this.activeVideo.options.padding > this.wrap.clientWidth) {\r\n let nw = this.wrap.clientWidth - 2 * this.activeVideo.options.padding\r\n height = (height * nw) / width\r\n width = nw\r\n }\r\n if (height + 2 * this.activeVideo.options.padding > this.wrap.clientHeight)\r\n height = this.wrap.clientHeight - 2 * this.activeVideo.options.padding\r\n\r\n let ratio = (height * 100) / width\r\n this.responsive.style.paddingBottom = ratio + '%'\r\n return ratio\r\n }\r\n\r\n private linkMapper(el: HTMLElement): vbVideo {\r\n let options = JSON.parse(el.getAttribute(\"data-videobox\")) || {}\r\n if (options.root) {\r\n let root = options.root\r\n if (typeof root == 'string')\r\n root = iterableToArray(document.querySelectorAll(root))\r\n\r\n if (root.length > 0)\r\n options.root = root[0]\r\n else\r\n options.pop('root')\r\n }\r\n return {\r\n url: el.getAttribute(\"href\") || \"\",\r\n title: el.getAttribute(\"title\") || \"\",\r\n options: options,\r\n origin: { target: el }\r\n }\r\n }\r\n\r\n private setup(newVideo: vbVideo): void {\r\n this.closeText.innerText = newVideo.options.closeText\r\n newVideo.options.root.appendChild(this.overlay)\r\n newVideo.options.root.appendChild(this.wrap)\r\n this.setPlayerPosition(newVideo.options.root)\r\n }\r\n\r\n private setPlayerPosition(root: HTMLElement = this.activeVideo.options.root): void {\r\n let parent = this.wrap.offsetParent\r\n let wbr = this.wrap.getBoundingClientRect()\r\n let obr = this.overlay.getBoundingClientRect()\r\n let pos = {\r\n top: this.wrap.offsetTop - parent.offsetTop,\r\n left: this.wrap.offsetLeft - parent.offsetLeft\r\n }\r\n let diff = {\r\n top: obr.top - wbr.top,\r\n left: obr.left - wbr.left\r\n }\r\n this.wrap.style.top = (pos.top + diff.top) + 'px'\r\n this.wrap.style.left = (pos.left + diff.left) + 'px'\r\n }\r\n\r\n private changeVideo(newVideo: vbVideo): void {\r\n this.activeVideo = newVideo\r\n this.caption.innerHTML = this.activeVideo.title\r\n\r\n let targetRatio = this.setPlayerSizePosition()\r\n\r\n this.isOpen = true\r\n\r\n let centerOrigin = {\r\n top: (this.activeVideo.origin.y - this.wrap.clientHeight / 2) + 'px',\r\n left: (this.activeVideo.origin.x - this.wrap.clientWidth / 2) + 'px',\r\n 'maxWidth': this.activeVideo.origin.width + 'px'\r\n }\r\n\r\n let centerTarget = {\r\n top: '0px',\r\n left: '0px',\r\n 'maxWidth': this.activeVideo.options.width + 'px'\r\n }\r\n\r\n applyStyles(this.center, centerOrigin)\r\n new Array(this.wrap, this.overlay).forEach(el => toggleClass(el, 'visible', true))\r\n toggleClass(this.wrap, 'animating', true)\r\n\r\n let originRatio = ((this.activeVideo.origin.height * 100) / this.activeVideo.origin.width) || targetRatio\r\n if (originRatio != targetRatio)\r\n this.animations.push(this.responsive.animate([\r\n { 'paddingBottom': originRatio + '%' },\r\n { 'paddingBottom': targetRatio + '%' }\r\n ], this.activeVideo.options.animation))\r\n\r\n let centerAnimation = this.center.animate([\r\n centerOrigin,\r\n centerTarget\r\n ], this.activeVideo.options.animation)\r\n centerAnimation.onfinish = () => this.animateBotton()\r\n this.animations.push(centerAnimation)\r\n applyStyles(this.center, centerTarget)\r\n centerAnimation.play()\r\n }\r\n\r\n private animateBotton(): void {\r\n let bottomAnimation = this.bottomContainer.animate([\r\n { 'maxHeight': '0px' },\r\n { 'maxHeight': '200px' }\r\n ], this.activeVideo.options.animation)\r\n toggleClass(this.bottomContainer, 'visible', true)\r\n bottomAnimation.onfinish = () => this.showVideo()\r\n this.animations.push(bottomAnimation)\r\n bottomAnimation.play()\r\n }\r\n\r\n private showVideo(): void {\r\n if (!this.isOpen || this.video.getAttribute('src')) return\r\n show(this.video)\r\n this.video.setAttribute('src', this.activeVideo.url)\r\n toggleClass(this.wrap, 'animating', false)\r\n }\r\n\r\n private stop(): void {\r\n this.animations.forEach(anim => anim.cancel())\r\n this.animations = []\r\n this.isOpen = false\r\n this.video.setAttribute('src', '')\r\n hide(this.video)\r\n toggleClass(this.wrap, 'animating', false)\r\n }\r\n}\r\n\r\nexport const VideoboxObj = new Videobox()\r\nwindow['Videobox'] = VideoboxObj\r\n\r\nexport declare interface JQueryStatic {\r\n /**\r\n * Open Videobox pop-up player\r\n * \r\n * @param video video to show\r\n */\r\n videobox: (video: vbVideo) => void\r\n\r\n /**\r\n * Close the open pop-up\r\n */\r\n vbClose: () => void\r\n}\r\n\r\nexport declare interface JQuery {\r\n /**\r\n * Map pop-up player to elements matched by the query\r\n * \r\n * @example \r\n * ```javascript\r\n * $('a[rel=videobox]').videobox() // Bind the pop-up effect to every element\r\n * ```\r\n * \r\n * @param options player configuration\r\n * @param linkMapper function to get a Videobox video object from the clicked element\r\n */\r\n videobox: (options?: vbOptions, linkMapper?: ((el: HTMLElement) => vbVideo)) => void\r\n}\r\n\r\nif (typeof (jQuery) !== 'undefined') {\r\n jQuery['videobox'] = function (video: vbVideo): void {\r\n VideoboxObj.open(video)\r\n }\r\n\r\n jQuery['vbClose'] = function (): void {\r\n VideoboxObj.close()\r\n }\r\n\r\n jQuery.fn.videobox = function (options: vbOptions = {}, linkMapper?: ((el: HTMLElement) => vbVideo)): void {\r\n let elements = iterableToArray(this)\r\n if (linkMapper)\r\n VideoboxObj.bind(elements, options, linkMapper)\r\n else\r\n VideoboxObj.bind(elements, options)\r\n }\r\n}\r\n\r\nfunction libBind($) {\r\n $.videobox = function (video: vbVideo): void {\r\n VideoboxObj.open(video)\r\n }\r\n\r\n $.vbClose = function (): void {\r\n VideoboxObj.close()\r\n }\r\n\r\n $.fn.videobox = function (options: vbOptions = {}, linkMapper?: ((el: HTMLElement) => vbVideo)): void {\r\n let elements = iterableToArray(this)\r\n if (linkMapper)\r\n VideoboxObj.bind(elements, options, linkMapper)\r\n else\r\n VideoboxObj.bind(elements, options)\r\n }\r\n}\r\n\r\nif (typeof jQuery != 'undefined') libBind(jQuery)\r\nif (typeof Zepto != 'undefined') libBind(Zepto)","import { create, applyStyles, vbOptions, vbVideo, hide, show, iterableToArray, insertAfter, toggleClass } from './helpers'\r\nimport { VideoboxObj as Videobox } from './box'\r\n\r\nexport class VbInline {\r\n\r\n private wrap: HTMLDivElement\r\n private responsive: HTMLDivElement\r\n private caption: HTMLElement\r\n private button: HTMLDivElement\r\n private video: HTMLIFrameElement\r\n\r\n private activeVideo: vbVideo\r\n private isOpen: boolean = false\r\n private hidding: boolean = false\r\n private animations: Array = []\r\n private hidden: Array = []\r\n private timer: number\r\n\r\n private defaults: vbOptions = {\r\n width: 720,\r\n height: 405,\r\n closeText: 'Close',\r\n padding: 30,\r\n closeTimeout: 1000,\r\n animation: {\r\n duration: 500,\r\n iterations: 1,\r\n delay: 0,\r\n easing: 'ease-in-out'\r\n }\r\n }\r\n\r\n /** @internal */\r\n constructor(links?: Array | string, options: vbOptions = {}, linkMapper?: ((el: HTMLElement) => vbVideo)) {\r\n this.wrap = create('div', 'vbiWrap')\r\n\r\n this.responsive = create('div', 'vbiResponsive')\r\n this.wrap.appendChild(this.responsive)\r\n\r\n this.caption = document.createElement('span')\r\n this.caption.className = 'vb_video_title'\r\n this.wrap.appendChild(this.caption)\r\n\r\n this.button = create('div', 'vbiClose', () => this.close())\r\n this.button.innerHTML = ''\r\n this.wrap.appendChild(this.button)\r\n\r\n this.video = create('iframe', 'vbiVideo')\r\n this.video.allowFullscreen = true\r\n this.video.frameBorder = '0px'\r\n hide(this.video)\r\n this.responsive.appendChild(this.video)\r\n\r\n if (links)\r\n this.bind(links, options, linkMapper || this.linkMapper)\r\n\r\n }\r\n\r\n /**\r\n * Map inline player to elements matched by the query \r\n * \r\n * @param links array of elements or query selector to bind inline player to\r\n * @param options player configuration\r\n * @param linkMapper function to get a Videobox video object from the clicked element\r\n */\r\n bind(\r\n links: Array | string,\r\n options: vbOptions = {},\r\n linkMapper: ((el: HTMLElement) => vbVideo) = this.linkMapper\r\n ): void {\r\n if (typeof links == 'string')\r\n links = iterableToArray(document.querySelectorAll(links))\r\n\r\n links.forEach(link => {\r\n if (link['vbListener']) link.removeEventListener('click', link['vbListener'])\r\n if (link['vbiListener']) link.removeEventListener('click', link['vbiListener'])\r\n link['vbiListener'] = (evt) => {\r\n evt.preventDefault()\r\n evt.stopPropagation()\r\n let video = linkMapper(link)\r\n video.options = Object.assign({}, options, video.options)\r\n this.open(video)\r\n return false\r\n }\r\n link.addEventListener('click', link['vbiListener'])\r\n })\r\n }\r\n\r\n /**\r\n * Open an inline player\r\n * \r\n * @param video video to show\r\n */\r\n open(video: vbVideo): void {\r\n if ('Videobox' in window)\r\n window['Videobox'].close()\r\n\r\n video.options = Object.assign({}, this.defaults, video.options)\r\n\r\n let link = video.origin.target\r\n let target = link.querySelector(link.getAttribute(\"data-target\")) || link\r\n\r\n toggleClass(target, 'vb_line_fix', true)\r\n video.origin = Object.assign({}, {\r\n x: target.clientWidth / 2,\r\n y: target.clientHeight / 2,\r\n width: target.clientWidth,\r\n height: target.clientHeight\r\n }, video.origin)\r\n toggleClass(target, 'vb_line_fix', false)\r\n\r\n this.close(() => this.changeVideo(video))\r\n }\r\n\r\n /**\r\n * Close the open inline player\r\n * \r\n * @param callback function to run when close animation is over\r\n */\r\n close(callback?: () => any) {\r\n this.stop()\r\n\r\n if (!this.hidding)\r\n if (this.wrap.parentElement && this.activeVideo) {\r\n this.hidding = true\r\n let maxW = this.activeVideo.origin.width + 'px'\r\n let v1 = this.wrap.animate([\r\n { 'maxWidth': (this.activeVideo.options.width + 2 * this.activeVideo.options.padding) + 'px' },\r\n { 'maxWidth': maxW }\r\n ], this.activeVideo.options.animation)\r\n\r\n v1.onfinish = () => this.hide(callback)\r\n this.wrap.style.maxWidth = maxW\r\n v1.play()\r\n\r\n let padding = ((this.activeVideo.origin.height * 100) / this.activeVideo.origin.width) + '%'\r\n let v2 = this.responsive.animate([\r\n { 'paddingBottom': ((this.activeVideo.options.height * 100) / this.activeVideo.options.width) + '%' },\r\n { 'paddingBottom': padding }\r\n ], this.activeVideo.options.animation)\r\n this.responsive.style.paddingBottom = padding\r\n v2.play()\r\n } else\r\n this.hide(callback)\r\n\r\n return false\r\n }\r\n\r\n private linkMapper(el: HTMLElement): vbVideo {\r\n return {\r\n url: el.getAttribute(\"href\") || \"\",\r\n title: el.getAttribute(\"title\") || \"\",\r\n options: JSON.parse(el.getAttribute(\"data-videobox\")) || {},\r\n origin: { target: el }\r\n }\r\n }\r\n\r\n private setup(): void {\r\n insertAfter(this.wrap, this.activeVideo.origin.target)\r\n hide(this.activeVideo.origin.target)\r\n this.hidden.push(this.activeVideo.origin.target)\r\n }\r\n\r\n private changeVideo(newVideo: vbVideo): void {\r\n\r\n this.activeVideo = newVideo\r\n\r\n this.setup()\r\n\r\n this.wrap.setAttribute('style', this.activeVideo.options.style)\r\n this.wrap.setAttribute('class', this.activeVideo.options.class)\r\n this.caption.innerHTML = this.activeVideo.title\r\n toggleClass(this.button, 'visible', true)\r\n this.isOpen = true\r\n\r\n let wrapOrigin = {\r\n 'maxWidth': this.activeVideo.origin.width + 'px'\r\n }\r\n let wrapDest = {\r\n 'maxWidth': (this.activeVideo.options.width + 2 * this.activeVideo.options.padding) + 'px'\r\n }\r\n let animation = this.wrap.animate([wrapOrigin, wrapDest], this.activeVideo.options.animation)\r\n applyStyles(this.wrap, wrapDest)\r\n animation.onfinish = () => this.showVideo()\r\n this.animations.push(animation)\r\n animation.play()\r\n\r\n let responsiveDest = {\r\n 'paddingBottom': ((this.activeVideo.options.height * 100) / this.activeVideo.options.width) + '%'\r\n }\r\n let responsiveOrigin = {\r\n 'paddingBottom': ((this.activeVideo.origin.height * 100) / this.activeVideo.origin.width) + '%'\r\n }\r\n let animation2 = this.responsive.animate([responsiveOrigin, responsiveDest], this.activeVideo.options.animation)\r\n animation2.onfinish = () => {\r\n this.timer = window.setTimeout(() => toggleClass(this.button, 'visible', false), newVideo.options.closeTimeout)\r\n }\r\n this.animations.push(animation2)\r\n animation2.play()\r\n applyStyles(this.responsive, responsiveDest)\r\n }\r\n\r\n private showVideo() {\r\n if (!this.isOpen) return\r\n show(this.video)\r\n this.video.setAttribute('src', this.activeVideo.url)\r\n }\r\n\r\n private hide(callback?: () => any) {\r\n if (this.wrap.parentElement)\r\n this.wrap.parentNode.removeChild(this.wrap)\r\n\r\n this.hidden.forEach(el => show(el))\r\n this.hidden = []\r\n\r\n this.hidding = false\r\n this.activeVideo = null\r\n if (typeof callback == \"function\")\r\n callback()\r\n }\r\n\r\n private stop() {\r\n this.animations.forEach(anim => anim.cancel())\r\n this.animations = []\r\n this.isOpen = false\r\n this.video.setAttribute('src', '')\r\n window.clearTimeout(this.timer)\r\n hide(this.video)\r\n }\r\n}\r\n\r\nexport const VbInlineObj = new VbInline()\r\nwindow['VbInline'] = VbInlineObj\r\n\r\nexport declare interface JQueryStatic {\r\n /**\r\n * Open an inline player\r\n * \r\n * @param video video to show\r\n */\r\n vbInline: (video: vbVideo) => void\r\n\r\n /**\r\n * Close the open inline player\r\n * \r\n * @param callback function to run when close animation is over\r\n */\r\n vbiClose: (callback?: () => any) => void\r\n}\r\n\r\nexport declare interface JQuery {\r\n /**\r\n * Map inline player to elements matched by the query\r\n * \r\n * @example \r\n * ```javascript\r\n * $('a[rel=vbinline]').vbInline() // Bind the inline effect to every element\r\n * ```\r\n * \r\n * @param options player configuration\r\n * @param linkMapper function to get a Videobox video object from the clicked element\r\n */\r\n vbInline: (options?: vbOptions, linkMapper?: ((el: HTMLElement) => vbVideo)) => void\r\n}\r\n\r\nfunction libBind($) {\r\n $.vbInline = function (video: vbVideo): void {\r\n VbInlineObj.open(video)\r\n }\r\n\r\n $.vbiClose = function (callback?: () => any): void {\r\n VbInlineObj.close(callback)\r\n }\r\n\r\n $.fn.vbInline = function (options: vbOptions = {}, linkMapper?: ((el: HTMLElement) => vbVideo)): void {\r\n let elements = iterableToArray(this)\r\n if (linkMapper)\r\n VbInlineObj.bind(elements, options, linkMapper)\r\n else\r\n VbInlineObj.bind(elements, options)\r\n }\r\n}\r\n\r\nif (typeof jQuery != 'undefined') libBind(jQuery)\r\nif (typeof Zepto != 'undefined') libBind(Zepto)","import { createClass, applyStyles, vbOptions, vbVideo, hide, show, iterableToArray, insertAfter, toggleClass } from './helpers'\r\nimport { VbInlineObj as VbInline } from './inline'\r\n\r\nfunction detach(elements: Array): void {\r\n elements.forEach(el => {\r\n if ('querySelector' in el && el.querySelector('#vbiWrap')) VbInline.close()\r\n el.parentNode.removeChild(el)\r\n })\r\n}\r\n\r\n/**\r\n * Interface for Videobox slider configuration\r\n */\r\nexport interface vbSliderOptions {\r\n\r\n /**\r\n * if true, slider will scroll all visible elements\r\n */\r\n moveAll?: boolean,\r\n\r\n /**\r\n * target selector\r\n */\r\n target?: string,\r\n\r\n /**\r\n * transition duration for one element\r\n */\r\n singleDuration?: number,\r\n\r\n /**\r\n * clicks within the timeout are processed together\r\n */\r\n doubleClickTimeout?: number,\r\n\r\n /**\r\n * animation properties (see web animations specifications)\r\n */\r\n animation?: KeyframeAnimationOptions\r\n}\r\n\r\n/**\r\n * Videobox thumbnail slider\r\n */\r\nexport class VbSlider {\r\n\r\n private static sliders: Array = []\r\n\r\n /**\r\n * Map Videobox slider to elements matched by the query\r\n * \r\n * @param elements array of elements or query selector to bind Videobox slider to\r\n * @param options slider configuration\r\n * @returns array of sliders matching the corresponding elements\r\n */\r\n static bind(elements: Array | string, options: vbSliderOptions = {}): Array {\r\n if (typeof elements == 'string')\r\n elements = iterableToArray(document.querySelectorAll(elements))\r\n\r\n let sliders: Array = []\r\n elements.forEach(target => {\r\n let sizeTarget = (target.getAttribute('data-target') || '').trim()\r\n let move = (target.getAttribute('data-move') || 'single').trim()\r\n let opts: vbSliderOptions = {}\r\n\r\n if (sizeTarget)\r\n opts.target = sizeTarget\r\n\r\n if (move)\r\n opts.moveAll = move == 'all'\r\n\r\n sliders.push(this.getSlider(target, Object.assign({}, options, opts)))\r\n })\r\n return sliders\r\n }\r\n\r\n /**\r\n * Create a new Videobox slider, or find an existing slider and update it's configuration\r\n * \r\n * @param target an element containing the slider items\r\n * @param options slider configuration\r\n * @returns slider containing the target element\r\n */\r\n static getSlider(target: HTMLElement, options: vbSliderOptions = {}): VbSlider {\r\n let slider = this.sliders.find(slider => slider.target == target)\r\n if (slider) {\r\n slider.options = Object.assign(slider.options, options)\r\n return slider\r\n } else {\r\n return new VbSlider(target, options)\r\n }\r\n }\r\n\r\n static updateSizes() {\r\n this.sliders.forEach(slider => slider.setCount())\r\n }\r\n\r\n private target: HTMLElement\r\n private outer: HTMLDivElement\r\n private wrap: HTMLDivElement\r\n private content: HTMLDivElement\r\n private prev: HTMLDivElement\r\n private next: HTMLDivElement\r\n private buttons: Array\r\n\r\n private basis: number\r\n private queue: Array = []\r\n private timeout: number = -1\r\n private moving: boolean = false\r\n private visible: number = -1\r\n private detachedElements: Array = []\r\n\r\n private options: vbSliderOptions = {\r\n moveAll: false,\r\n target: '',\r\n singleDuration: 500,\r\n doubleClickTimeout: 200,\r\n animation: {\r\n duration: 500,\r\n iterations: 1,\r\n delay: 0,\r\n easing: 'ease-in-out'\r\n },\r\n }\r\n\r\n /**\r\n * Array of currently visible elements (includes both new and old elements when moving)\r\n */\r\n get attached(): Array {\r\n return iterableToArray(this.target.children)\r\n }\r\n\r\n /**\r\n * True when slider is moving\r\n */\r\n get isMoving(): boolean {\r\n return this.moving\r\n }\r\n\r\n /**\r\n * Scroll slider to the left\r\n */\r\n showPrev(): void {\r\n this.queueMove('r')\r\n }\r\n\r\n /**\r\n * Scroll slider to the right \r\n */\r\n showNext(): void {\r\n this.queueMove('l')\r\n }\r\n\r\n /**\r\n * Set base width\r\n * \r\n * @param basis new base width\r\n */\r\n setBasis(basis: number): void {\r\n if (basis != this.basis) {\r\n this.basis = basis\r\n this.setCount()\r\n }\r\n }\r\n\r\n /**\r\n * Get the slider's target element\r\n */\r\n getTarget(): HTMLElement {\r\n return this.target\r\n }\r\n\r\n private constructor(target: HTMLElement, options: vbSliderOptions = {}) {\r\n this.outer = createClass('div', 'vb_slider_outer')\r\n\r\n this.prev = createClass('div', 'vb_slider_prev', () => this.showPrev())\r\n this.prev.innerHTML = ''\r\n this.outer.appendChild(this.prev)\r\n\r\n this.wrap = createClass('div', 'vb_slider_wrap')\r\n this.outer.appendChild(this.wrap)\r\n\r\n this.next = createClass('div', 'vb_slider_next', () => this.showNext())\r\n this.next.innerHTML = ''\r\n this.outer.appendChild(this.next)\r\n\r\n this.content = createClass('div', 'vb_slider_cont')\r\n this.wrap.appendChild(this.content)\r\n\r\n this.buttons = iterableToArray(this.outer.querySelectorAll('i'))\r\n\r\n this.target = target\r\n let elements = this.attached\r\n\r\n insertAfter(this.outer, this.target)\r\n this.content.appendChild(this.target)\r\n\r\n this.basis = parseInt(target.getAttribute('data-width')) || elements[0].clientWidth\r\n\r\n this.options = Object.assign(this.options, options)\r\n\r\n toggleClass(this.content, 'vb-slider__move-all', this.options.moveAll)\r\n\r\n this.setCount()\r\n }\r\n\r\n private queueMove(dir: string): void {\r\n if (this.queue.length > 0 && this.queue[this.queue.length - 1] != dir)\r\n this.queue.pop()\r\n else\r\n this.queue.push(dir)\r\n\r\n if (this.timeout >= 0)\r\n\r\n clearTimeout(this.timeout)\r\n this.timeout = setTimeout(() => {\r\n this.timeout = -1\r\n if (!this.moving && this.queue.length > 0)\r\n this.move()\r\n }, this.options.doubleClickTimeout)\r\n }\r\n\r\n private move(): void {\r\n this.moving = true\r\n let dir = this.queue.pop()\r\n\r\n let oldHeight = this.target.clientHeight\r\n\r\n let num = 1\r\n while (this.queue.length > 0)\r\n num += this.queue.pop() == dir ? 1 : -1\r\n if (num == 0) {\r\n this.moving = false\r\n return\r\n }\r\n if (num < 0) {\r\n dir = dir == 'l' ? 'r' : 'l'\r\n num = 0 - num\r\n }\r\n\r\n let count = (this.options.moveAll ? this.visible : 1) * num\r\n count = count % (this.visible + this.detachedElements.length)\r\n\r\n if (dir == 'l')\r\n for (let i = 0; i < count && this.detachedElements.length > 0; i++)\r\n this.target.appendChild(this.detachedElements.shift())\r\n else\r\n for (let i = 0; i < count && this.detachedElements.length > 0; i++)\r\n this.target.insertBefore(this.detachedElements.pop(), this.target.firstChild)\r\n\r\n let attached = this.attached\r\n let oldElements = dir == 'l' ? attached.slice(0, attached.length - this.visible) : attached.slice(this.visible)\r\n detach(oldElements)\r\n\r\n let height = this.target.clientHeight\r\n let width = 100 * count / this.visible\r\n\r\n if (dir == 'l')\r\n for (let i = oldElements.length - 1; i >= 0; i--)\r\n this.target.insertBefore(oldElements[i], this.target.firstChild)\r\n else\r\n for (let i = 0; i < oldElements.length; i++)\r\n this.target.appendChild(oldElements[i])\r\n\r\n let animationProperties = this.options.singleDuration ? Object.assign({}, this.options.animation, { duration: this.options.singleDuration * count }) : this.options.animation\r\n\r\n let w = width + 100\r\n w = 100 * width / w\r\n\r\n let positionOrigin = {\r\n 'transform': 'translate(' + (dir == 'l' ? 0 : -w) + '%)'\r\n }\r\n let positionDest = {\r\n 'transform': 'translate(' + (dir == 'l' ? -w : 0) + '%)'\r\n }\r\n this.content.style.width = (width + 100) + '%'\r\n\r\n let anim = this.content.animate([positionOrigin, positionDest], animationProperties)\r\n anim.addEventListener('finish', () => {\r\n this.content.style.width = '100%'\r\n this.skip(dir)\r\n })\r\n\r\n anim = this.content.animate([\r\n {\r\n height: oldHeight + 'px'\r\n }, {\r\n height: height + 'px'\r\n }\r\n ], animationProperties)\r\n this.content.style.height = height + 'px'\r\n\r\n let top = 0\r\n if (this.options.target)\r\n top = (this.target.querySelector(this.options.target) || { offsetHeight: 0 }).offsetHeight / 2\r\n\r\n this.buttons.forEach(el => el.style.top = top ? top + 'px' : '')\r\n }\r\n\r\n private skip(dir: string): void {\r\n let attached = this.attached\r\n if (dir == 'l') {\r\n let el = attached.slice(0, attached.length - this.visible)\r\n detach(el)\r\n el.forEach(elm => this.detachedElements.push(elm))\r\n } else if (dir == 'r') {\r\n let el = attached.slice(this.visible)\r\n detach(el)\r\n el.forEach(elm => this.detachedElements.unshift(elm))\r\n }\r\n\r\n if (this.queue.length > 0 && this.timeout < 0)\r\n this.move()\r\n else\r\n this.moving = false\r\n\r\n }\r\n\r\n private setCount(): void {\r\n let current = this.visible\r\n let width = this.target.clientWidth\r\n let ch = this.attached\r\n let base = this.basis + ch[0].offsetWidth - ch[0].clientWidth \t// base width including any offset\r\n\r\n // calculate number of displayed items\r\n let visible = Math.floor(width / this.basis)\r\n if (visible < 1) {\r\n visible = 1\r\n } else {\r\n let w1 = 2 - base / (width / visible)\r\n let w2 = base / (width / (visible + 1))\r\n if (w2 < w1) visible++\r\n }\r\n\r\n // add or remove visible items if needed\r\n if (visible != current) {\r\n this.visible = visible\r\n this.setAttached()\r\n }\r\n\r\n // set new size\r\n this.content.style.height = this.target.clientHeight + 'px'\r\n\r\n let top = 0\r\n if (this.options.target)\r\n top = (this.target.querySelector(this.options.target) || { offsetHeight: 0 }).offsetHeight / 2\r\n\r\n this.buttons.forEach(el => el.style.top = top ? top + 'px' : '')\r\n }\r\n\r\n private setAttached(): void {\r\n let attached = this.attached\r\n if (attached.length < this.visible)\r\n for (let i = attached.length; i < this.visible && this.detachedElements.length > 0; i++) {\r\n this.target.appendChild(this.detachedElements.shift())\r\n }\r\n else if (attached.length > this.visible)\r\n for (let i = attached.length - 1; i >= this.visible; i--) {\r\n this.detachedElements.unshift(attached[i])\r\n detach([attached[i]])\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\nwindow.addEventListener('resize', () => VbSlider.updateSizes())\r\nwindow['VbSlider'] = VbSlider\r\n\r\nexport declare interface JQueryStatic {\r\n /**\r\n * Create a new Videobox slider, or find an existing slider and update it's configuration\r\n * \r\n * @param target an element containing the slider items\r\n * @param options slider configuration\r\n * @returns slider containing the target element\r\n */\r\n vbSlider: (target: HTMLElement | JQuery, options: vbSliderOptions) => VbSlider\r\n}\r\n\r\nexport declare interface JQuery {\r\n /**\r\n * Map Videobox slider to elements matched by the query\r\n * \r\n * @example \r\n * ```javascript\r\n * var sliders = $('ul.vb_slider').vbSlider() // Create a Videobox slider for every
        element\r\n * ```\r\n * \r\n * @param options slider configuration\r\n * @returns array of sliders matching the corresponding elements\r\n */\r\n vbSlider: (options?: vbSliderOptions) => Array\r\n}\r\n\r\nfunction libBind($) {\r\n $.vbSlider = function (target: HTMLElement | JQuery, options: vbSliderOptions = {}): VbSlider {\r\n if ('length' in target)\r\n target = target[0]\r\n return VbSlider.getSlider(target, options)\r\n }\r\n\r\n $.fn.vbSlider = function (options: vbSliderOptions = {}): Array {\r\n let elements = iterableToArray(this)\r\n return VbSlider.bind(elements, options)\r\n }\r\n}\r\n\r\nif (typeof jQuery != 'undefined') libBind(jQuery)\r\nif (typeof Zepto != 'undefined') libBind(Zepto)\r\n","import { VideoboxObj as Videobox } from './components/box'\r\nimport { VbInlineObj as VbInline } from './components/inline'\r\nimport { VbSlider } from './components/slider'\r\n\r\nfunction bindAll() {\r\n Videobox.bind(\"a[rel^='videobox']\")\r\n VbInline.bind(\"a[rel^='vbinline']\")\r\n VbSlider.bind(\".vb_slider\")\r\n}\r\n\r\nif (document.readyState != 'loading')\r\n bindAll()\r\nelse\r\n document.addEventListener('readystatechange', function ready() {\r\n if (document.readyState != 'loading') {\r\n document.removeEventListener('readystatechange', ready)\r\n bindAll()\r\n }\r\n })"]} \ No newline at end of file +{"version":3,"sources":["../src/ts/components/helpers.ts","../src/ts/components/box.ts","../src/ts/components/inline.ts","../src/ts/components/slider.ts","../src/ts/index.ts"," [synthetic:base] "," [synthetic:util/global] "," [synthetic:util/owns] "," [synthetic:util/defineproperty] "," [synthetic:util/polyfill] "," [synthetic:es6/object/assign] "," [synthetic:util/findinternal] "," [synthetic:es6/array/find] "],"names":["create","tagName","id","click","el","document","createElement","onclick","createClass","className","iterableToArray","iterable","list","i","length","push","applyStyles","styles","key","style","hide","originalDisplay","display","show","insertAfter","target","parentElement","insertBefore","nextSibling","toggleClass","on","classList","contains","toggle","libBind","$","videobox","$.videobox","video","VideoboxObj","open","vbClose","$.vbClose","close","fn","$.fn.videobox","options","linkMapper","elements","this","bind","libBind$1","vbInline","$.vbInline","VbInlineObj","vbiClose","$.vbiClose","callback","$.fn.vbInline","detach","forEach","querySelector","VbInline","parentNode","removeChild","libBind$2","vbSlider","$.vbSlider","VbSlider","getSlider","$.fn.vbSlider","bindAll","Videobox","$jscomp","scope","getGlobal","a","window","global","owns","b","Object","prototype","hasOwnProperty","call","defineProperty","defineProperties","c","get","set","TypeError","Array","value","polyfill","d","split","e","configurable","writable","arguments","g","findInternal","String","v","constructor","links","isOpen","animations","defaults","width","height","closeText","padding","closeKeys","hideBottom","root","body","animation","duration","iterations","delay","easing","overlay","wrap","center","appendChild","responsive","bottomContainer","allowFullscreen","frameBorder","bottom","button","innerHTML","caption","addEventListener","activeVideo","setPlayerSizePosition","evt","indexOf","keyCode","querySelectorAll","link","vbListener","removeEventListener","vbiListener","preventDefault","stopPropagation","assign","setup","origin","getAttribute","bw","getBoundingClientRect","bt","x","left","clientWidth","y","top","clientHeight","changeVideo","stop","setPlayerPosition","nw","ratio","paddingBottom","JSON","parse","pop","url","title","newVideo","innerText","parent","offsetParent","wbr","obr","offsetLeft","offsetTop","targetRatio","centerOrigin","maxWidth","centerTarget","originRatio","animate","centerAnimation","onfinish","centerAnimation.onfinish","animateBotton","play","showVideo","bottomAnimation","maxHeight","bottomAnimation.onfinish","setAttribute","anim","cancel","jQuery","jQuery.fn.videobox","Zepto","hidding","hidden","closeTimeout","maxW","v1","v1.onfinish","v2","class","wrapDest","animation.onfinish","responsiveDest","animation2","animation2.onfinish","timer","setTimeout","clearTimeout","queue","timeout","moving","visible","detachedElements","moveAll","singleDuration","doubleClickTimeout","outer","prev","showPrev","next","showNext","content","buttons","attached","basis","parseInt","setCount","sliders","sizeTarget","trim","move","opts","slider","find","updateSizes","queueMove","setBasis","getTarget","dir","oldHeight","num","count","shift","firstChild","oldElements","slice","animationProperties","w","positionOrigin","transform","positionDest","skip","offsetHeight","elm","unshift","current","ch","base","offsetWidth","Math","floor","setAttached","enumerable","children","isMoving","readyState","ready"],"mappings":"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","file":"videobox.min.js","sourcesContent":["/**\r\n * Interface for Videobox configuration\r\n */\r\nexport interface vbOptions {\r\n\r\n /**\r\n * default player width\r\n */\r\n width?: number,\r\n\r\n /**\r\n * default player height\r\n */\r\n height?: number,\r\n\r\n /**\r\n * text for the close button\r\n */\r\n closeText?: string,\r\n\r\n /**\r\n * player padding\r\n */\r\n padding?: number,\r\n\r\n /**\r\n * element the pop-up will be attached to \r\n */\r\n root?: HTMLElement,\r\n\r\n /**\r\n * adittional style for the player (doesn't apply to the pop-up player)\r\n */\r\n style?: string,\r\n\r\n /**\r\n * adittional class name(s) for the player (doesn't apply to the pop-up player)\r\n */\r\n class?: string,\r\n\r\n /**\r\n * time (in ms) while the close button remains visible when the inline player is shown\r\n */\r\n closeTimeout?: number,\r\n\r\n /**\r\n * keycodes to close the pop-up / inlie player\r\n */\r\n closeKeys?: number[],\r\n\r\n /**\r\n * if true, the bottom line on the pop-up player won't be displayed\r\n */\r\n hideBottom?: boolean\r\n\r\n /**\r\n * animation properties (see web animations specifications)\r\n */\r\n animation?: KeyframeAnimationOptions\r\n}\r\n\r\n/**\r\n * Interface for the Videobox's video element\r\n */\r\nexport interface vbVideo {\r\n\r\n /**\r\n * player url\r\n */\r\n url: string,\r\n\r\n /**\r\n * optional title, is supplied it'll dispalyed under the player\r\n */\r\n title?: string,\r\n\r\n /**\r\n * origin for Videobox actions, such as player open animation\r\n */\r\n origin: vbOrigin,\r\n\r\n /**\r\n * configuration overrides\r\n */\r\n options: vbOptions\r\n}\r\n\r\n/**\r\n * Interface for video origin\r\n */\r\nexport interface vbOrigin {\r\n\r\n /**\r\n * X coordinate where the player will appear (relative to options.root)\r\n */\r\n x?: number,\r\n\r\n /**\r\n * Y coordinate where the player will appear (relative to options.root)\r\n */\r\n y?: number,\r\n\r\n /**\r\n * initial player width\r\n */\r\n width?: number,\r\n\r\n /**\r\n * initial player height\r\n */\r\n height?: number,\r\n\r\n /**\r\n * target element (the clicked element)\r\n */\r\n target: HTMLElement\r\n}\r\n\r\n/** @internal */\r\nexport function create(tagName: string, id?: string, click?: any): HTMLElement {\r\n let el = document.createElement(tagName)\r\n if (id)\r\n el.id = id\r\n if (click)\r\n el.onclick = click\r\n return el\r\n}\r\n\r\n/** @internal */\r\nexport function createClass(tagName: string, className?: string, click?: any): HTMLElement {\r\n let el = document.createElement(tagName)\r\n if (className)\r\n el.className = className\r\n if (click)\r\n el.onclick = click\r\n return el\r\n}\r\n\r\n/** @internal */\r\nexport function iterableToArray(iterable: any): Array {\r\n let list = []\r\n for (let i = 0; i < iterable.length; i++)\r\n list.push(iterable[i])\r\n return list\r\n}\r\n\r\n/** @internal */\r\nexport function applyStyles(el: HTMLElement, styles: { [key: string]: string }): void {\r\n for (let key in styles)\r\n if (key in el.style)\r\n el.style[key] = styles[key]\r\n}\r\n\r\n/** @internal */\r\nexport function hide(el: HTMLElement) {\r\n el['originalDisplay'] = (el.style.display && (el.style.display == 'none' ? '' : el.style.display)) || ''\r\n el.style.display = 'none'\r\n}\r\n\r\n/** @internal */\r\nexport function show(el: HTMLElement) {\r\n if ('originalDisplay' in el && el['originalDisplay'])\r\n el.style.display = el['originalDisplay']\r\n else\r\n el.style.display = ''\r\n}\r\n\r\n/** @internal */\r\nexport function insertAfter(el: HTMLElement, target: HTMLElement) {\r\n target.parentElement.insertBefore(el, target.nextSibling)\r\n}\r\n\r\n/** @internal */\r\nexport function toggleClass(el: HTMLElement, className: string, on: boolean) {\r\n if (el.classList.contains(className) ? !on : on) el.classList.toggle(className)\r\n}","import { create, applyStyles, vbOptions, vbVideo, hide, show, iterableToArray, toggleClass } from './helpers'\r\nimport { VbInlineObj as VbInline } from './inline'\r\n\r\nexport class Videobox {\r\n\r\n private closeText: HTMLSpanElement\r\n private center: HTMLDivElement\r\n private caption: HTMLElement\r\n private wrap: HTMLDivElement\r\n private responsive: HTMLDivElement\r\n private overlay: HTMLDivElement\r\n private bottomContainer: HTMLDivElement\r\n private video: HTMLIFrameElement\r\n private bottom: HTMLDivElement\r\n private button: HTMLLinkElement\r\n\r\n private activeVideo: vbVideo\r\n private isOpen: boolean = false\r\n private animations: Array = []\r\n\r\n private defaults: vbOptions = {\r\n width: 720,\r\n height: 405,\r\n closeText: 'Close',\r\n padding: 30,\r\n closeKeys: [27, 81],\r\n hideBottom: false,\r\n root: document.body,\r\n animation: {\r\n duration: 500,\r\n iterations: 1,\r\n delay: 0,\r\n easing: 'ease-in-out'\r\n }\r\n }\r\n\r\n /** @internal */\r\n constructor(links?: Array | string, options: vbOptions = {}, linkMapper?: ((el: HTMLElement) => vbVideo)) {\r\n this.overlay = create('div', 'vbOverlay', () => this.close())\r\n\r\n this.wrap = create('div', 'vbWrap')\r\n\r\n this.center = create('div', 'vbCenter')\r\n this.wrap.appendChild(this.center)\r\n\r\n this.responsive = create('div', 'vbResponsive')\r\n this.center.appendChild(this.responsive)\r\n\r\n this.bottomContainer = create('div', 'vbBottomContainer')\r\n this.center.appendChild(this.bottomContainer)\r\n\r\n this.video = create('iframe', 'vbVideo')\r\n this.video.allowFullscreen = true\r\n this.video.frameBorder = '0px'\r\n hide(this.video)\r\n this.responsive.appendChild(this.video)\r\n\r\n this.bottom = create('div', 'vbBottom')\r\n this.bottomContainer.appendChild(this.bottom)\r\n\r\n this.button = create('a', 'vbCloseLink', () => this.close())\r\n this.button.innerHTML = '' + this.defaults.closeText + ''\r\n this.bottom.appendChild(this.button)\r\n\r\n this.caption = create('strong', 'vbCaption')\r\n this.bottom.appendChild(this.caption)\r\n\r\n this.closeText = this.button.querySelector('#vbCloseText')\r\n\r\n window.addEventListener('resize', () => {\r\n if (this.isOpen && this.activeVideo)\r\n this.setPlayerSizePosition()\r\n })\r\n\r\n window.addEventListener('keyup', (evt) => {\r\n if (this.activeVideo && this.activeVideo.options.closeKeys.indexOf(evt.keyCode) >= 0)\r\n this.close()\r\n })\r\n\r\n if (links)\r\n this.bind(links, options, linkMapper || this.linkMapper)\r\n }\r\n\r\n /**\r\n * Map pop-up player to links \r\n * \r\n * @param links array of elements or query selector to bind Videobox to\r\n * @param options player configuration\r\n * @param linkMapper function to get a Videobox video object from the clicked element\r\n */\r\n bind(\r\n links: Array | string,\r\n options: vbOptions = {},\r\n linkMapper: ((el: HTMLElement) => vbVideo) = this.linkMapper\r\n ): void {\r\n if (typeof links == 'string')\r\n links = iterableToArray(document.querySelectorAll(links))\r\n\r\n links.forEach(link => {\r\n if (link['vbListener']) link.removeEventListener('click', link['vbListener'])\r\n if (link['vbiListener']) link.removeEventListener('click', link['vbiListener'])\r\n link['vbListener'] = (evt) => {\r\n evt.preventDefault()\r\n evt.stopPropagation()\r\n let video = linkMapper(link)\r\n video.options = Object.assign({}, options, video.options)\r\n this.open(video)\r\n return false\r\n }\r\n link.addEventListener('click', link['vbListener'])\r\n })\r\n }\r\n\r\n /**\r\n * Open Videobox pop-up player\r\n * \r\n * @param video video to show\r\n */\r\n open(video: vbVideo): void {\r\n if ('VbInline' in window)\r\n window['VbInline'].close()\r\n this.close()\r\n\r\n video.options = Object.assign({}, this.defaults, video.options)\r\n if (!video.options.root) video.options.root = document.body\r\n this.setup(video)\r\n\r\n let link = video.origin.target\r\n let target = link.querySelector(link.getAttribute(\"data-target\")) || link\r\n\r\n let bw = this.wrap.getBoundingClientRect()\r\n let bt = target.getBoundingClientRect()\r\n\r\n toggleClass(target, 'vb_line_fix', true)\r\n video.origin = Object.assign({}, {\r\n x: bt.left - bw.left + target.clientWidth / 2,\r\n y: bt.top - bw.top + target.clientHeight / 2,\r\n width: target.clientWidth,\r\n height: target.clientHeight\r\n }, video.origin)\r\n toggleClass(target, 'vb_line_fix', false)\r\n\r\n this.changeVideo(video)\r\n }\r\n\r\n /**\r\n * Close the open pop-up\r\n */\r\n close() {\r\n this.stop()\r\n new Array(this.wrap, this.bottomContainer, this.overlay).forEach(el => toggleClass(el, 'visible', false))\r\n this.wrap.style.top = '0px'\r\n this.wrap.style.left = '0px'\r\n this.activeVideo = null\r\n return false\r\n }\r\n\r\n /**\r\n * Calculate and set player position & size\r\n * \r\n * @returns width to height ratio of the player (in percent)\r\n */\r\n setPlayerSizePosition(): number {\r\n if (!this.activeVideo) return\r\n\r\n this.setPlayerPosition(this.activeVideo.options.root)\r\n\r\n let width: number = this.activeVideo.options.width\r\n let height: number = this.activeVideo.options.height\r\n\r\n if (width + 2 * this.activeVideo.options.padding > this.wrap.clientWidth) {\r\n let nw = this.wrap.clientWidth - 2 * this.activeVideo.options.padding\r\n height = (height * nw) / width\r\n width = nw\r\n }\r\n if (height + 2 * this.activeVideo.options.padding > this.wrap.clientHeight)\r\n height = this.wrap.clientHeight - 2 * this.activeVideo.options.padding\r\n\r\n let ratio = (height * 100) / width\r\n this.responsive.style.paddingBottom = ratio + '%'\r\n return ratio\r\n }\r\n\r\n private linkMapper(el: HTMLElement): vbVideo {\r\n let options = JSON.parse(el.getAttribute(\"data-videobox\")) || {}\r\n if (options.root) {\r\n let root = options.root\r\n if (typeof root == 'string')\r\n root = iterableToArray(document.querySelectorAll(root))\r\n\r\n if (root.length > 0)\r\n options.root = root[0]\r\n else\r\n options.pop('root')\r\n }\r\n return {\r\n url: el.getAttribute(\"href\") || \"\",\r\n title: el.getAttribute(\"title\") || \"\",\r\n options: options,\r\n origin: { target: el }\r\n }\r\n }\r\n\r\n private setup(newVideo: vbVideo): void {\r\n this.closeText.innerText = newVideo.options.closeText\r\n newVideo.options.root.appendChild(this.overlay)\r\n newVideo.options.root.appendChild(this.wrap)\r\n this.setPlayerPosition(newVideo.options.root)\r\n }\r\n\r\n private setPlayerPosition(root: HTMLElement = this.activeVideo.options.root): void {\r\n let parent = this.wrap.offsetParent\r\n let wbr = this.wrap.getBoundingClientRect()\r\n let obr = this.overlay.getBoundingClientRect()\r\n let pos = {\r\n top: this.wrap.offsetTop - parent.offsetTop,\r\n left: this.wrap.offsetLeft - parent.offsetLeft\r\n }\r\n let diff = {\r\n top: obr.top - wbr.top,\r\n left: obr.left - wbr.left\r\n }\r\n this.wrap.style.top = (pos.top + diff.top) + 'px'\r\n this.wrap.style.left = (pos.left + diff.left) + 'px'\r\n }\r\n\r\n private changeVideo(newVideo: vbVideo): void {\r\n this.activeVideo = newVideo\r\n this.caption.innerHTML = this.activeVideo.title\r\n\r\n let targetRatio = this.setPlayerSizePosition()\r\n\r\n this.isOpen = true\r\n\r\n let centerOrigin = {\r\n top: (this.activeVideo.origin.y - this.wrap.clientHeight / 2) + 'px',\r\n left: (this.activeVideo.origin.x - this.wrap.clientWidth / 2) + 'px',\r\n 'maxWidth': this.activeVideo.origin.width + 'px'\r\n }\r\n\r\n let centerTarget = {\r\n top: '0px',\r\n left: '0px',\r\n 'maxWidth': this.activeVideo.options.width + 'px'\r\n }\r\n\r\n applyStyles(this.center, centerOrigin)\r\n new Array(this.wrap, this.overlay).forEach(el => toggleClass(el, 'visible', true))\r\n toggleClass(this.wrap, 'animating', true)\r\n\r\n let originRatio = ((this.activeVideo.origin.height * 100) / this.activeVideo.origin.width) || targetRatio\r\n if (originRatio != targetRatio)\r\n this.animations.push(this.responsive.animate([\r\n { 'paddingBottom': originRatio + '%' },\r\n { 'paddingBottom': targetRatio + '%' }\r\n ], this.activeVideo.options.animation))\r\n\r\n let centerAnimation = this.center.animate([\r\n centerOrigin,\r\n centerTarget\r\n ], this.activeVideo.options.animation)\r\n centerAnimation.onfinish = () => this.animateBotton()\r\n this.animations.push(centerAnimation)\r\n applyStyles(this.center, centerTarget)\r\n centerAnimation.play()\r\n }\r\n\r\n private animateBotton(): void {\r\n if (this.activeVideo.options.hideBottom) {\r\n this.showVideo()\r\n } else {\r\n let bottomAnimation = this.bottomContainer.animate([\r\n { 'maxHeight': '0px' },\r\n { 'maxHeight': '200px' }\r\n ], this.activeVideo.options.animation)\r\n toggleClass(this.bottomContainer, 'visible', true)\r\n bottomAnimation.onfinish = () => this.showVideo()\r\n this.animations.push(bottomAnimation)\r\n bottomAnimation.play()\r\n }\r\n }\r\n\r\n private showVideo(): void {\r\n if (!this.isOpen || this.video.getAttribute('src')) return\r\n show(this.video)\r\n this.video.setAttribute('src', this.activeVideo.url)\r\n toggleClass(this.wrap, 'animating', false)\r\n }\r\n\r\n private stop(): void {\r\n this.animations.forEach(anim => anim.cancel())\r\n this.animations = []\r\n this.isOpen = false\r\n this.video.setAttribute('src', '')\r\n hide(this.video)\r\n toggleClass(this.wrap, 'animating', false)\r\n }\r\n}\r\n\r\nexport const VideoboxObj = new Videobox()\r\nwindow['Videobox'] = VideoboxObj\r\n\r\nexport declare interface JQueryStatic {\r\n /**\r\n * Open Videobox pop-up player\r\n * \r\n * @param video video to show\r\n */\r\n videobox: (video: vbVideo) => void\r\n\r\n /**\r\n * Close the open pop-up\r\n */\r\n vbClose: () => void\r\n}\r\n\r\nexport declare interface JQuery {\r\n /**\r\n * Map pop-up player to elements matched by the query\r\n * \r\n * @example \r\n * ```javascript\r\n * $('a[rel=videobox]').videobox() // Bind the pop-up effect to every element\r\n * ```\r\n * \r\n * @param options player configuration\r\n * @param linkMapper function to get a Videobox video object from the clicked element\r\n */\r\n videobox: (options?: vbOptions, linkMapper?: ((el: HTMLElement) => vbVideo)) => void\r\n}\r\n\r\nif (typeof (jQuery) !== 'undefined') {\r\n jQuery['videobox'] = function (video: vbVideo): void {\r\n VideoboxObj.open(video)\r\n }\r\n\r\n jQuery['vbClose'] = function (): void {\r\n VideoboxObj.close()\r\n }\r\n\r\n jQuery.fn.videobox = function (options: vbOptions = {}, linkMapper?: ((el: HTMLElement) => vbVideo)): void {\r\n let elements = iterableToArray(this)\r\n if (linkMapper)\r\n VideoboxObj.bind(elements, options, linkMapper)\r\n else\r\n VideoboxObj.bind(elements, options)\r\n }\r\n}\r\n\r\nfunction libBind($) {\r\n $.videobox = function (video: vbVideo): void {\r\n VideoboxObj.open(video)\r\n }\r\n\r\n $.vbClose = function (): void {\r\n VideoboxObj.close()\r\n }\r\n\r\n $.fn.videobox = function (options: vbOptions = {}, linkMapper?: ((el: HTMLElement) => vbVideo)): void {\r\n let elements = iterableToArray(this)\r\n if (linkMapper)\r\n VideoboxObj.bind(elements, options, linkMapper)\r\n else\r\n VideoboxObj.bind(elements, options)\r\n }\r\n}\r\n\r\nif (typeof jQuery != 'undefined') libBind(jQuery)\r\nif (typeof Zepto != 'undefined') libBind(Zepto)","import { create, applyStyles, vbOptions, vbVideo, hide, show, iterableToArray, insertAfter, toggleClass } from './helpers'\r\nimport { VideoboxObj as Videobox } from './box'\r\n\r\nexport class VbInline {\r\n\r\n private wrap: HTMLDivElement\r\n private responsive: HTMLDivElement\r\n private caption: HTMLElement\r\n private button: HTMLDivElement\r\n private video: HTMLIFrameElement\r\n\r\n private activeVideo: vbVideo\r\n private isOpen: boolean = false\r\n private hidding: boolean = false\r\n private animations: Array = []\r\n private hidden: Array = []\r\n private timer: number\r\n\r\n private defaults: vbOptions = {\r\n width: 720,\r\n height: 405,\r\n closeText: 'Close',\r\n padding: 30,\r\n closeTimeout: 1000,\r\n closeKeys: [27, 81],\r\n animation: {\r\n duration: 500,\r\n iterations: 1,\r\n delay: 0,\r\n easing: 'ease-in-out'\r\n }\r\n }\r\n\r\n /** @internal */\r\n constructor(links?: Array | string, options: vbOptions = {}, linkMapper?: ((el: HTMLElement) => vbVideo)) {\r\n this.wrap = create('div', 'vbiWrap')\r\n\r\n this.responsive = create('div', 'vbiResponsive')\r\n this.wrap.appendChild(this.responsive)\r\n\r\n this.caption = document.createElement('span')\r\n this.caption.className = 'vb_video_title'\r\n this.wrap.appendChild(this.caption)\r\n\r\n this.button = create('div', 'vbiClose', () => this.close())\r\n this.button.innerHTML = ''\r\n this.wrap.appendChild(this.button)\r\n\r\n this.video = create('iframe', 'vbiVideo')\r\n this.video.allowFullscreen = true\r\n this.video.frameBorder = '0px'\r\n hide(this.video)\r\n this.responsive.appendChild(this.video)\r\n\r\n window.addEventListener('keyup', (evt) => {\r\n if (this.activeVideo && this.activeVideo.options.closeKeys.indexOf(evt.keyCode) >= 0)\r\n this.close()\r\n })\r\n\r\n if (links)\r\n this.bind(links, options, linkMapper || this.linkMapper)\r\n }\r\n\r\n /**\r\n * Map inline player to elements matched by the query \r\n * \r\n * @param links array of elements or query selector to bind inline player to\r\n * @param options player configuration\r\n * @param linkMapper function to get a Videobox video object from the clicked element\r\n */\r\n bind(\r\n links: Array | string,\r\n options: vbOptions = {},\r\n linkMapper: ((el: HTMLElement) => vbVideo) = this.linkMapper\r\n ): void {\r\n if (typeof links == 'string')\r\n links = iterableToArray(document.querySelectorAll(links))\r\n\r\n links.forEach(link => {\r\n if (link['vbListener']) link.removeEventListener('click', link['vbListener'])\r\n if (link['vbiListener']) link.removeEventListener('click', link['vbiListener'])\r\n link['vbiListener'] = (evt) => {\r\n evt.preventDefault()\r\n evt.stopPropagation()\r\n let video = linkMapper(link)\r\n video.options = Object.assign({}, options, video.options)\r\n this.open(video)\r\n return false\r\n }\r\n link.addEventListener('click', link['vbiListener'])\r\n })\r\n }\r\n\r\n /**\r\n * Open an inline player\r\n * \r\n * @param video video to show\r\n */\r\n open(video: vbVideo): void {\r\n if ('Videobox' in window)\r\n window['Videobox'].close()\r\n\r\n video.options = Object.assign({}, this.defaults, video.options)\r\n\r\n let link = video.origin.target\r\n let target = link.querySelector(link.getAttribute(\"data-target\")) || link\r\n\r\n toggleClass(target, 'vb_line_fix', true)\r\n video.origin = Object.assign({}, {\r\n x: target.clientWidth / 2,\r\n y: target.clientHeight / 2,\r\n width: target.clientWidth,\r\n height: target.clientHeight\r\n }, video.origin)\r\n toggleClass(target, 'vb_line_fix', false)\r\n\r\n this.close(() => this.changeVideo(video))\r\n }\r\n\r\n /**\r\n * Close the open inline player\r\n * \r\n * @param callback function to run when close animation is over\r\n */\r\n close(callback?: () => any) {\r\n this.stop()\r\n\r\n if (!this.hidding)\r\n if (this.wrap.parentElement && this.activeVideo) {\r\n this.hidding = true\r\n let maxW = this.activeVideo.origin.width + 'px'\r\n let v1 = this.wrap.animate([\r\n { 'maxWidth': (this.activeVideo.options.width + 2 * this.activeVideo.options.padding) + 'px' },\r\n { 'maxWidth': maxW }\r\n ], this.activeVideo.options.animation)\r\n\r\n v1.onfinish = () => this.hide(callback)\r\n this.wrap.style.maxWidth = maxW\r\n v1.play()\r\n\r\n let padding = ((this.activeVideo.origin.height * 100) / this.activeVideo.origin.width) + '%'\r\n let v2 = this.responsive.animate([\r\n { 'paddingBottom': ((this.activeVideo.options.height * 100) / this.activeVideo.options.width) + '%' },\r\n { 'paddingBottom': padding }\r\n ], this.activeVideo.options.animation)\r\n this.responsive.style.paddingBottom = padding\r\n v2.play()\r\n } else\r\n this.hide(callback)\r\n\r\n return false\r\n }\r\n\r\n private linkMapper(el: HTMLElement): vbVideo {\r\n return {\r\n url: el.getAttribute(\"href\") || \"\",\r\n title: el.getAttribute(\"title\") || \"\",\r\n options: JSON.parse(el.getAttribute(\"data-videobox\")) || {},\r\n origin: { target: el }\r\n }\r\n }\r\n\r\n private setup(): void {\r\n insertAfter(this.wrap, this.activeVideo.origin.target)\r\n hide(this.activeVideo.origin.target)\r\n this.hidden.push(this.activeVideo.origin.target)\r\n }\r\n\r\n private changeVideo(newVideo: vbVideo): void {\r\n\r\n this.activeVideo = newVideo\r\n\r\n this.setup()\r\n\r\n this.wrap.setAttribute('style', this.activeVideo.options.style)\r\n this.wrap.setAttribute('class', this.activeVideo.options.class)\r\n this.caption.innerHTML = this.activeVideo.title\r\n toggleClass(this.button, 'visible', true)\r\n this.isOpen = true\r\n\r\n let wrapOrigin = {\r\n 'maxWidth': this.activeVideo.origin.width + 'px'\r\n }\r\n let wrapDest = {\r\n 'maxWidth': (this.activeVideo.options.width + 2 * this.activeVideo.options.padding) + 'px'\r\n }\r\n let animation = this.wrap.animate([wrapOrigin, wrapDest], this.activeVideo.options.animation)\r\n applyStyles(this.wrap, wrapDest)\r\n animation.onfinish = () => this.showVideo()\r\n this.animations.push(animation)\r\n animation.play()\r\n\r\n let responsiveDest = {\r\n 'paddingBottom': ((this.activeVideo.options.height * 100) / this.activeVideo.options.width) + '%'\r\n }\r\n let responsiveOrigin = {\r\n 'paddingBottom': ((this.activeVideo.origin.height * 100) / this.activeVideo.origin.width) + '%'\r\n }\r\n let animation2 = this.responsive.animate([responsiveOrigin, responsiveDest], this.activeVideo.options.animation)\r\n animation2.onfinish = () => {\r\n this.timer = window.setTimeout(() => toggleClass(this.button, 'visible', false), newVideo.options.closeTimeout)\r\n }\r\n this.animations.push(animation2)\r\n animation2.play()\r\n applyStyles(this.responsive, responsiveDest)\r\n }\r\n\r\n private showVideo() {\r\n if (!this.isOpen) return\r\n show(this.video)\r\n this.video.setAttribute('src', this.activeVideo.url)\r\n }\r\n\r\n private hide(callback?: () => any) {\r\n if (this.wrap.parentElement)\r\n this.wrap.parentNode.removeChild(this.wrap)\r\n\r\n this.hidden.forEach(el => show(el))\r\n this.hidden = []\r\n\r\n this.hidding = false\r\n this.activeVideo = null\r\n if (typeof callback == \"function\")\r\n callback()\r\n }\r\n\r\n private stop() {\r\n this.animations.forEach(anim => anim.cancel())\r\n this.animations = []\r\n this.isOpen = false\r\n this.video.setAttribute('src', '')\r\n window.clearTimeout(this.timer)\r\n hide(this.video)\r\n }\r\n}\r\n\r\nexport const VbInlineObj = new VbInline()\r\nwindow['VbInline'] = VbInlineObj\r\n\r\nexport declare interface JQueryStatic {\r\n /**\r\n * Open an inline player\r\n * \r\n * @param video video to show\r\n */\r\n vbInline: (video: vbVideo) => void\r\n\r\n /**\r\n * Close the open inline player\r\n * \r\n * @param callback function to run when close animation is over\r\n */\r\n vbiClose: (callback?: () => any) => void\r\n}\r\n\r\nexport declare interface JQuery {\r\n /**\r\n * Map inline player to elements matched by the query\r\n * \r\n * @example \r\n * ```javascript\r\n * $('a[rel=vbinline]').vbInline() // Bind the inline effect to every element\r\n * ```\r\n * \r\n * @param options player configuration\r\n * @param linkMapper function to get a Videobox video object from the clicked element\r\n */\r\n vbInline: (options?: vbOptions, linkMapper?: ((el: HTMLElement) => vbVideo)) => void\r\n}\r\n\r\nfunction libBind($) {\r\n $.vbInline = function (video: vbVideo): void {\r\n VbInlineObj.open(video)\r\n }\r\n\r\n $.vbiClose = function (callback?: () => any): void {\r\n VbInlineObj.close(callback)\r\n }\r\n\r\n $.fn.vbInline = function (options: vbOptions = {}, linkMapper?: ((el: HTMLElement) => vbVideo)): void {\r\n let elements = iterableToArray(this)\r\n if (linkMapper)\r\n VbInlineObj.bind(elements, options, linkMapper)\r\n else\r\n VbInlineObj.bind(elements, options)\r\n }\r\n}\r\n\r\nif (typeof jQuery != 'undefined') libBind(jQuery)\r\nif (typeof Zepto != 'undefined') libBind(Zepto)","import { createClass, applyStyles, vbOptions, vbVideo, hide, show, iterableToArray, insertAfter, toggleClass } from './helpers'\r\nimport { VbInlineObj as VbInline } from './inline'\r\n\r\nfunction detach(elements: Array): void {\r\n elements.forEach(el => {\r\n if ('querySelector' in el && el.querySelector('#vbiWrap')) VbInline.close()\r\n el.parentNode.removeChild(el)\r\n })\r\n}\r\n\r\n/**\r\n * Interface for Videobox slider configuration\r\n */\r\nexport interface vbSliderOptions {\r\n\r\n /**\r\n * if true, slider will scroll all visible elements\r\n */\r\n moveAll?: boolean,\r\n\r\n /**\r\n * target selector\r\n */\r\n target?: string,\r\n\r\n /**\r\n * transition duration for one element\r\n */\r\n singleDuration?: number,\r\n\r\n /**\r\n * clicks within the timeout are processed together\r\n */\r\n doubleClickTimeout?: number,\r\n\r\n /**\r\n * animation properties (see web animations specifications)\r\n */\r\n animation?: KeyframeAnimationOptions\r\n}\r\n\r\n/**\r\n * Videobox thumbnail slider\r\n */\r\nexport class VbSlider {\r\n\r\n private static sliders: Array = []\r\n\r\n /**\r\n * Map Videobox slider to elements matched by the query\r\n * \r\n * @param elements array of elements or query selector to bind Videobox slider to\r\n * @param options slider configuration\r\n * @returns array of sliders matching the corresponding elements\r\n */\r\n static bind(elements: Array | string, options: vbSliderOptions = {}): Array {\r\n if (typeof elements == 'string')\r\n elements = iterableToArray(document.querySelectorAll(elements))\r\n\r\n let sliders: Array = []\r\n elements.forEach(target => {\r\n let sizeTarget = (target.getAttribute('data-target') || '').trim()\r\n let move = (target.getAttribute('data-move') || 'single').trim()\r\n let opts: vbSliderOptions = {}\r\n\r\n if (sizeTarget)\r\n opts.target = sizeTarget\r\n\r\n if (move)\r\n opts.moveAll = move == 'all'\r\n\r\n sliders.push(this.getSlider(target, Object.assign({}, options, opts)))\r\n })\r\n return sliders\r\n }\r\n\r\n /**\r\n * Create a new Videobox slider, or find an existing slider and update it's configuration\r\n * \r\n * @param target an element containing the slider items\r\n * @param options slider configuration\r\n * @returns slider containing the target element\r\n */\r\n static getSlider(target: HTMLElement, options: vbSliderOptions = {}): VbSlider {\r\n let slider = this.sliders.find(slider => slider.target == target)\r\n if (slider) {\r\n slider.options = Object.assign(slider.options, options)\r\n return slider\r\n } else {\r\n return new VbSlider(target, options)\r\n }\r\n }\r\n\r\n static updateSizes() {\r\n this.sliders.forEach(slider => slider.setCount())\r\n }\r\n\r\n private target: HTMLElement\r\n private outer: HTMLDivElement\r\n private wrap: HTMLDivElement\r\n private content: HTMLDivElement\r\n private prev: HTMLDivElement\r\n private next: HTMLDivElement\r\n private buttons: Array\r\n\r\n private basis: number\r\n private queue: Array = []\r\n private timeout: number = -1\r\n private moving: boolean = false\r\n private visible: number = -1\r\n private detachedElements: Array = []\r\n\r\n private options: vbSliderOptions = {\r\n moveAll: false,\r\n target: '',\r\n singleDuration: 500,\r\n doubleClickTimeout: 200,\r\n animation: {\r\n duration: 500,\r\n iterations: 1,\r\n delay: 0,\r\n easing: 'ease-in-out'\r\n },\r\n }\r\n\r\n /**\r\n * Array of currently visible elements (includes both new and old elements when moving)\r\n */\r\n get attached(): Array {\r\n return iterableToArray(this.target.children)\r\n }\r\n\r\n /**\r\n * True when slider is moving\r\n */\r\n get isMoving(): boolean {\r\n return this.moving\r\n }\r\n\r\n /**\r\n * Scroll slider to the left\r\n */\r\n showPrev(): void {\r\n this.queueMove('r')\r\n }\r\n\r\n /**\r\n * Scroll slider to the right \r\n */\r\n showNext(): void {\r\n this.queueMove('l')\r\n }\r\n\r\n /**\r\n * Set base width\r\n * \r\n * @param basis new base width\r\n */\r\n setBasis(basis: number): void {\r\n if (basis != this.basis) {\r\n this.basis = basis\r\n this.setCount()\r\n }\r\n }\r\n\r\n /**\r\n * Get the slider's target element\r\n */\r\n getTarget(): HTMLElement {\r\n return this.target\r\n }\r\n\r\n private constructor(target: HTMLElement, options: vbSliderOptions = {}) {\r\n this.outer = createClass('div', 'vb_slider_outer')\r\n\r\n this.prev = createClass('div', 'vb_slider_prev', () => this.showPrev())\r\n this.prev.innerHTML = ''\r\n this.outer.appendChild(this.prev)\r\n\r\n this.wrap = createClass('div', 'vb_slider_wrap')\r\n this.outer.appendChild(this.wrap)\r\n\r\n this.next = createClass('div', 'vb_slider_next', () => this.showNext())\r\n this.next.innerHTML = ''\r\n this.outer.appendChild(this.next)\r\n\r\n this.content = createClass('div', 'vb_slider_cont')\r\n this.wrap.appendChild(this.content)\r\n\r\n this.buttons = iterableToArray(this.outer.querySelectorAll('i'))\r\n\r\n this.target = target\r\n let elements = this.attached\r\n\r\n insertAfter(this.outer, this.target)\r\n this.content.appendChild(this.target)\r\n\r\n this.basis = parseInt(target.getAttribute('data-width')) || elements[0].clientWidth\r\n\r\n this.options = Object.assign(this.options, options)\r\n\r\n toggleClass(this.content, 'vb-slider__move-all', this.options.moveAll)\r\n\r\n this.setCount()\r\n }\r\n\r\n private queueMove(dir: string): void {\r\n if (this.queue.length > 0 && this.queue[this.queue.length - 1] != dir)\r\n this.queue.pop()\r\n else\r\n this.queue.push(dir)\r\n\r\n if (this.timeout >= 0)\r\n\r\n clearTimeout(this.timeout)\r\n this.timeout = setTimeout(() => {\r\n this.timeout = -1\r\n if (!this.moving && this.queue.length > 0)\r\n this.move()\r\n }, this.options.doubleClickTimeout)\r\n }\r\n\r\n private move(): void {\r\n this.moving = true\r\n let dir = this.queue.pop()\r\n\r\n let oldHeight = this.target.clientHeight\r\n\r\n let num = 1\r\n while (this.queue.length > 0)\r\n num += this.queue.pop() == dir ? 1 : -1\r\n if (num == 0) {\r\n this.moving = false\r\n return\r\n }\r\n if (num < 0) {\r\n dir = dir == 'l' ? 'r' : 'l'\r\n num = 0 - num\r\n }\r\n\r\n let count = (this.options.moveAll ? this.visible : 1) * num\r\n count = count % (this.visible + this.detachedElements.length)\r\n\r\n if (dir == 'l')\r\n for (let i = 0; i < count && this.detachedElements.length > 0; i++)\r\n this.target.appendChild(this.detachedElements.shift())\r\n else\r\n for (let i = 0; i < count && this.detachedElements.length > 0; i++)\r\n this.target.insertBefore(this.detachedElements.pop(), this.target.firstChild)\r\n\r\n let attached = this.attached\r\n let oldElements = dir == 'l' ? attached.slice(0, attached.length - this.visible) : attached.slice(this.visible)\r\n detach(oldElements)\r\n\r\n let height = this.target.clientHeight\r\n let width = 100 * count / this.visible\r\n\r\n if (dir == 'l')\r\n for (let i = oldElements.length - 1; i >= 0; i--)\r\n this.target.insertBefore(oldElements[i], this.target.firstChild)\r\n else\r\n for (let i = 0; i < oldElements.length; i++)\r\n this.target.appendChild(oldElements[i])\r\n\r\n let animationProperties = this.options.singleDuration ? Object.assign({}, this.options.animation, { duration: this.options.singleDuration * count }) : this.options.animation\r\n\r\n let w = width + 100\r\n w = 100 * width / w\r\n\r\n let positionOrigin = {\r\n 'transform': 'translate(' + (dir == 'l' ? 0 : -w) + '%)'\r\n }\r\n let positionDest = {\r\n 'transform': 'translate(' + (dir == 'l' ? -w : 0) + '%)'\r\n }\r\n this.content.style.width = (width + 100) + '%'\r\n\r\n let anim = this.content.animate([positionOrigin, positionDest], animationProperties)\r\n anim.addEventListener('finish', () => {\r\n this.content.style.width = '100%'\r\n this.skip(dir)\r\n })\r\n\r\n anim = this.content.animate([\r\n {\r\n height: oldHeight + 'px'\r\n }, {\r\n height: height + 'px'\r\n }\r\n ], animationProperties)\r\n this.content.style.height = height + 'px'\r\n\r\n let top = 0\r\n if (this.options.target)\r\n top = (this.target.querySelector(this.options.target) || { offsetHeight: 0 }).offsetHeight / 2\r\n\r\n this.buttons.forEach(el => el.style.top = top ? top + 'px' : '')\r\n }\r\n\r\n private skip(dir: string): void {\r\n let attached = this.attached\r\n if (dir == 'l') {\r\n let el = attached.slice(0, attached.length - this.visible)\r\n detach(el)\r\n el.forEach(elm => this.detachedElements.push(elm))\r\n } else if (dir == 'r') {\r\n let el = attached.slice(this.visible)\r\n detach(el)\r\n el.forEach(elm => this.detachedElements.unshift(elm))\r\n }\r\n\r\n if (this.queue.length > 0 && this.timeout < 0)\r\n this.move()\r\n else\r\n this.moving = false\r\n\r\n }\r\n\r\n private setCount(): void {\r\n let current = this.visible\r\n let width = this.target.clientWidth\r\n let ch = this.attached\r\n let base = this.basis + ch[0].offsetWidth - ch[0].clientWidth \t// base width including any offset\r\n\r\n // calculate number of displayed items\r\n let visible = Math.floor(width / this.basis)\r\n if (visible < 1) {\r\n visible = 1\r\n } else {\r\n let w1 = 2 - base / (width / visible)\r\n let w2 = base / (width / (visible + 1))\r\n if (w2 < w1) visible++\r\n }\r\n\r\n // add or remove visible items if needed\r\n if (visible != current) {\r\n this.visible = visible\r\n this.setAttached()\r\n }\r\n\r\n // set new size\r\n this.content.style.height = this.target.clientHeight + 'px'\r\n\r\n let top = 0\r\n if (this.options.target)\r\n top = (this.target.querySelector(this.options.target) || { offsetHeight: 0 }).offsetHeight / 2\r\n\r\n this.buttons.forEach(el => el.style.top = top ? top + 'px' : '')\r\n }\r\n\r\n private setAttached(): void {\r\n let attached = this.attached\r\n if (attached.length < this.visible)\r\n for (let i = attached.length; i < this.visible && this.detachedElements.length > 0; i++) {\r\n this.target.appendChild(this.detachedElements.shift())\r\n }\r\n else if (attached.length > this.visible)\r\n for (let i = attached.length - 1; i >= this.visible; i--) {\r\n this.detachedElements.unshift(attached[i])\r\n detach([attached[i]])\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\nwindow.addEventListener('resize', () => VbSlider.updateSizes())\r\nwindow['VbSlider'] = VbSlider\r\n\r\nexport declare interface JQueryStatic {\r\n /**\r\n * Create a new Videobox slider, or find an existing slider and update it's configuration\r\n * \r\n * @param target an element containing the slider items\r\n * @param options slider configuration\r\n * @returns slider containing the target element\r\n */\r\n vbSlider: (target: HTMLElement | JQuery, options: vbSliderOptions) => VbSlider\r\n}\r\n\r\nexport declare interface JQuery {\r\n /**\r\n * Map Videobox slider to elements matched by the query\r\n * \r\n * @example \r\n * ```javascript\r\n * var sliders = $('ul.vb_slider').vbSlider() // Create a Videobox slider for every
          element\r\n * ```\r\n * \r\n * @param options slider configuration\r\n * @returns array of sliders matching the corresponding elements\r\n */\r\n vbSlider: (options?: vbSliderOptions) => Array\r\n}\r\n\r\nfunction libBind($) {\r\n $.vbSlider = function (target: HTMLElement | JQuery, options: vbSliderOptions = {}): VbSlider {\r\n if ('length' in target)\r\n target = target[0]\r\n return VbSlider.getSlider(target, options)\r\n }\r\n\r\n $.fn.vbSlider = function (options: vbSliderOptions = {}): Array {\r\n let elements = iterableToArray(this)\r\n return VbSlider.bind(elements, options)\r\n }\r\n}\r\n\r\nif (typeof jQuery != 'undefined') libBind(jQuery)\r\nif (typeof Zepto != 'undefined') libBind(Zepto)\r\n","import { VideoboxObj as Videobox } from './components/box'\r\nimport { VbInlineObj as VbInline } from './components/inline'\r\nimport { VbSlider } from './components/slider'\r\n\r\nfunction bindAll() {\r\n Videobox.bind(\"a[rel^='videobox']\")\r\n VbInline.bind(\"a[rel^='vbinline']\")\r\n VbSlider.bind(\".vb_slider\")\r\n}\r\n\r\nif (document.readyState != 'loading')\r\n bindAll()\r\nelse\r\n document.addEventListener('readystatechange', function ready() {\r\n if (document.readyState != 'loading') {\r\n document.removeEventListener('readystatechange', ready)\r\n bindAll()\r\n }\r\n })"]} \ No newline at end of file diff --git a/dist/videobox.min.css b/dist/videobox.min.css index 28dee90..38ea07d 100644 --- a/dist/videobox.min.css +++ b/dist/videobox.min.css @@ -16,5 +16,5 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see */ -@charset "UTF-8";#vbBottomContainer,#vbResponsive,.vb_thub_wrap .vb-icon-play,.vjs-big-play-button{box-shadow:0 0 40px -5px #000}@font-face{font-family:Videobox;src:url(data:application/vnd.ms-fontobject;base64,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);src:url(data:application/vnd.ms-fontobject;base64,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) format("embedded-opentype"),url(data:application/font-woff;base64,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) format("woff"),url(data:application/x-font-ttf;base64,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) format("truetype"),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxmb250IGhvcml6LWFkdi14PSI1MTIiPjxmb250LWZhY2UgZm9udC1mYW1pbHk9IlZpZGVvYm94IiBmb250LXdlaWdodD0iNTAwIiB1bml0cy1wZXItZW09IjUxMiIgcGFub3NlLTE9IjIgMCA2IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNDQ4IiBkZXNjZW50PSItNjQiIGJib3g9IjQyLjY2NyAtMjEuMzMzIDQ2OS4zMzMgNDA1LjMzMyIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iMjUuNiIgdW5kZXJsaW5lLXBvc2l0aW9uPSItNTEuMiIgdW5pY29kZS1yYW5nZT0iVSswMDIwLUYxMEMiLz48Z2x5cGggZ2x5cGgtbmFtZT0ic3BhY2UiIGhvcml6LWFkdi14PSIyMDAiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwNyIgdW5pY29kZT0i74SHIiBkPSJNMTcwLjY2NyAzNDEuMzMzTDQwNS4zMzMgMTkyIDE3MC42NjcgNDIuNjY3djI5OC42NjZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDYiIHVuaWNvZGU9Iu+EhiIgZD0iTTEyOCAzNDEuMzMzaDg1LjMzM1Y0Mi42NjdIMTI4djI5OC42NjZ6bTE3MC42NjcgMEgzODRWNDIuNjg3aC04NS4zMzN2Mjk4LjY0NnoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwQyIgdW5pY29kZT0i74SMIiBkPSJNNjQgMjU2aDg1LjMzM0wyNTYgMzYyLjY2N1YyMS4zMzNMMTQ5LjMzMyAxMjhINjR2MTI4em0yODgtNjRjLS4wMzEtMzIuODQtMjMuOTI0LTcxLjM1Ny01My4zMzMtODUuOTc0djE3MS44NEMzMzAuMjQgMjYyLjE4NiAzNTIgMjI5LjY1NCAzNTIgMTkyem0tNTMuMzMzIDE4Ny4wOTRDMzg0LjEwNyAzNTkuNjggNDQ4IDI4My40OTkgNDQ4IDE5Mi4wNDNTMzg0LjEwNiAyNC4zNDIgMjk4LjY2NyA0LjkyOFY0OC45NkMzNTcuNDk5IDY2LjUyIDQwNS4yODUgMTMwLjYwMyA0MDUuMzMzIDE5MmMtLjAyNyA2MS40MTItNDcuODE1IDEyNS40OTQtMTA2LjY2NiAxNDMuMDR2NDQuMDU0eiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTA1IiB1bmljb2RlPSLvhIUiIGQ9Ik0yMTMuMzMzIDMyMGwxMjgtMTI4LTEyOC0xMjgtMjkuOTk0IDI5Ljk5NUwyODEuMzQ0IDE5MmwtOTguMDA1IDk4LjAwNXoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwNCIgdW5pY29kZT0i74SEIiBkPSJNMjk4LjY2NyA0Mi42Njd2MTA2LjY2NmgxMDYuNjY2di00Mi42NjZoLTY0di02NGgtNDIuNjY2em00Mi42NjYgMjM0LjY2Nmg2NHYtNDIuNjY2SDI5OC42Njd2MTA2LjY2Nmg0Mi42NjZ2LTY0em0tMTcwLjY2NiAwdjY0aDQyLjY2NlYyMzQuNjY3SDEwNi42Njd2NDIuNjY2aDY0em0tNjQtMTcwLjY2NnY0Mi42NjZoMTA2LjY2NlY0Mi42NjdoLTQyLjY2NnY2NGgtNjR6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMEEiIHVuaWNvZGU9Iu+EiiIgZD0iTTY0IDI1Nmg4NS4zMzNMMjU2IDM2Mi42NjdWMjEuMzMzTDE0OS4zMzMgMTI4SDY0djEyOHoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwMiIgdW5pY29kZT0i74SCIiBkPSJNMjg2LjE2NSAxOTJsNzYuNTAyLTc2LjUwMS0zMC4xNjYtMzAuMTY2TDI1NiAxNjEuODM1bC03Ni40MzgtNzYuNTAyLTMwLjIyOSAzMC4xNjZMMjI1LjgzNSAxOTJsLTc2LjUwMiA3Ni40MzggMzAuMjMgMzAuMjI5TDI1NiAyMjIuMTY1bDc2LjUwMSA3Ni41MDIgMzAuMTY2LTMwLjIzeiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTAzIiB1bmljb2RlPSLvhIMiIGQ9Ik0zNjIuNjY3IDg1LjMzM3Y2NGg0Mi42NjZWNDIuNjY3SDI5OC42Njd2NDIuNjY2aDY0em0tMjEzLjMzNCA2NHYtNjRoNjRWNDIuNjY3SDEwNi42Njd2MTA2LjY2Nmg0Mi42NjZ6bTE0OS4zMzQgMTkyaDEwNi42NjZWMjM0LjY2N2gtNDIuNjY2djY0aC02NHY0Mi42NjZ6bS0xOTItMTA2LjY2NnYxMDYuNjY2aDEwNi42NjZ2LTQyLjY2NmgtNjR2LTY0aC00Mi42NjZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMEIiIHVuaWNvZGU9Iu+EiyIgZD0iTTI5OC42NjcgMjc3Ljg2NkMzMzAuMjQgMjYyLjE4NiAzNTIgMjI5LjY1MyAzNTIgMTkyYzAtMzcuNjEtMjEuNzYtNzAuMjA4LTUzLjMzMy04NS45NzR2MTcxLjg0ek02NCAyNTZoODUuMzMzTDI1NiAzNjIuNjY3VjIxLjMzM0wxNDkuMzMzIDEyOEg2NHYxMjh6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDEiIHVuaWNvZGU9Iu+EgSIgZD0iTTQwNS4zMzMgMzExLjE0NkwyODYuMTg3IDE5MiA0MDUuMzMzIDcyLjg1NGwtMzAuMTg2LTMwLjE4NkwyNTYgMTYxLjgxMyAxMzYuODU0IDQyLjY2OWwtMzAuMTg3IDMwLjE4NkwyMjUuODE0IDE5MiAxMDYuNjY4IDMxMS4xNDZsMzAuMTg2IDMwLjE4NkwyNTYgMjIyLjE4OGwxMTkuMTQ2IDExOS4xNDZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDAiIHVuaWNvZGU9Iu+EgCIgZD0iTTQyLjY2NyAxOTJjMCAxMTcuODI0IDk1LjUwOSAyMTMuMzMzIDIxMy4zMzMgMjEzLjMzMyAxMTcuNzgxIDAgMjEzLjMzMy05NS41MDkgMjEzLjMzMy0yMTMuMzMzIDAtMTE3Ljc4MS05NS41NTItMjEzLjMzMy0yMTMuMzMzLTIxMy4zMzNDMTM4LjE3Ni0yMS4zMzMgNDIuNjY3IDc0LjIxOSA0Mi42NjcgMTkyeiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTA4IiB1bmljb2RlPSLvhIgiIGQ9Ik0zMjguNjYxIDI5MC4wMDVMMjMwLjY3OCAxOTJsOTguMDA0LTk4LjAwNUwyOTguNjY4IDY0bC0xMjggMTI4IDEyOCAxMjh6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDkiIHVuaWNvZGU9Iu+EiSIgZD0iTTY0IDM1Ni44TDkxLjIgMzg0IDQ0OCAyNy4yIDQyMC44IDBsLTQzLjQ5OCA0My40NzdjLTE5LjItMTUuNzY1LTU0LjQyOC0zMy4wOTItNzguNjM1LTM4LjY3N3Y0NC4wNTNjMTcuNzA2IDUuMzM0IDMzLjgxNCAxNC4xODcgNDguMTA3IDI1LjE3M0wyNTYgMTY0LjhWMjEuMzMzTDE0OS4zMzMgMTI4SDY0djEyOGgxMDAuOHptMTkyIDUuODY3di04OS4xNzRsLTQ0LjU4NyA0NC41ODd6TTM1MiAxOTJjMC00LjU4Ny0uMzQyLTkuMTc0LS45Ni0xMy42NzVsLTUyLjM3MyA1Mi4zOTV2NDcuMTQ2QzMzMC4yNCAyNjIuMTg2IDM1MiAyMjkuNjUzIDM1MiAxOTJ6bTUzLjMzMyAwYy0uMDI3IDYxLjQxMi00Ny44MTUgMTI1LjQ5NC0xMDYuNjY2IDE0My4wNHY0NC4wNTRDMzg0LjEwNyAzNTkuNjggNDQ4IDI4My4zMDcgNDQ4IDE5MmMtLjAyMi0yNS45NjUtOS44MTgtNjUuNzA0LTIxLjg2Ny04OC43MDRsLTMyLjMyIDMyLjM2MmM2LjI1NyAxNC45MjIgMTEuNDE4IDQwLjE2MiAxMS41MiA1Ni4zNDJ6Ii8+PC9mb250PjwvZGVmcz48L3N2Zz4=) format("svg");font-weight:400;font-style:normal}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:Videobox;src:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxmb250IGhvcml6LWFkdi14PSI1MTIiPjxmb250LWZhY2UgZm9udC1mYW1pbHk9IlZpZGVvYm94IiBmb250LXdlaWdodD0iNTAwIiB1bml0cy1wZXItZW09IjUxMiIgcGFub3NlLTE9IjIgMCA2IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNDQ4IiBkZXNjZW50PSItNjQiIGJib3g9IjQyLjY2NyAtMjEuMzMzIDQ2OS4zMzMgNDA1LjMzMyIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iMjUuNiIgdW5kZXJsaW5lLXBvc2l0aW9uPSItNTEuMiIgdW5pY29kZS1yYW5nZT0iVSswMDIwLUYxMEMiLz48Z2x5cGggZ2x5cGgtbmFtZT0ic3BhY2UiIGhvcml6LWFkdi14PSIyMDAiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwNyIgdW5pY29kZT0i74SHIiBkPSJNMTcwLjY2NyAzNDEuMzMzTDQwNS4zMzMgMTkyIDE3MC42NjcgNDIuNjY3djI5OC42NjZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDYiIHVuaWNvZGU9Iu+EhiIgZD0iTTEyOCAzNDEuMzMzaDg1LjMzM1Y0Mi42NjdIMTI4djI5OC42NjZ6bTE3MC42NjcgMEgzODRWNDIuNjg3aC04NS4zMzN2Mjk4LjY0NnoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwQyIgdW5pY29kZT0i74SMIiBkPSJNNjQgMjU2aDg1LjMzM0wyNTYgMzYyLjY2N1YyMS4zMzNMMTQ5LjMzMyAxMjhINjR2MTI4em0yODgtNjRjLS4wMzEtMzIuODQtMjMuOTI0LTcxLjM1Ny01My4zMzMtODUuOTc0djE3MS44NEMzMzAuMjQgMjYyLjE4NiAzNTIgMjI5LjY1NCAzNTIgMTkyem0tNTMuMzMzIDE4Ny4wOTRDMzg0LjEwNyAzNTkuNjggNDQ4IDI4My40OTkgNDQ4IDE5Mi4wNDNTMzg0LjEwNiAyNC4zNDIgMjk4LjY2NyA0LjkyOFY0OC45NkMzNTcuNDk5IDY2LjUyIDQwNS4yODUgMTMwLjYwMyA0MDUuMzMzIDE5MmMtLjAyNyA2MS40MTItNDcuODE1IDEyNS40OTQtMTA2LjY2NiAxNDMuMDR2NDQuMDU0eiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTA1IiB1bmljb2RlPSLvhIUiIGQ9Ik0yMTMuMzMzIDMyMGwxMjgtMTI4LTEyOC0xMjgtMjkuOTk0IDI5Ljk5NUwyODEuMzQ0IDE5MmwtOTguMDA1IDk4LjAwNXoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwNCIgdW5pY29kZT0i74SEIiBkPSJNMjk4LjY2NyA0Mi42Njd2MTA2LjY2NmgxMDYuNjY2di00Mi42NjZoLTY0di02NGgtNDIuNjY2em00Mi42NjYgMjM0LjY2Nmg2NHYtNDIuNjY2SDI5OC42Njd2MTA2LjY2Nmg0Mi42NjZ2LTY0em0tMTcwLjY2NiAwdjY0aDQyLjY2NlYyMzQuNjY3SDEwNi42Njd2NDIuNjY2aDY0em0tNjQtMTcwLjY2NnY0Mi42NjZoMTA2LjY2NlY0Mi42NjdoLTQyLjY2NnY2NGgtNjR6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMEEiIHVuaWNvZGU9Iu+EiiIgZD0iTTY0IDI1Nmg4NS4zMzNMMjU2IDM2Mi42NjdWMjEuMzMzTDE0OS4zMzMgMTI4SDY0djEyOHoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwMiIgdW5pY29kZT0i74SCIiBkPSJNMjg2LjE2NSAxOTJsNzYuNTAyLTc2LjUwMS0zMC4xNjYtMzAuMTY2TDI1NiAxNjEuODM1bC03Ni40MzgtNzYuNTAyLTMwLjIyOSAzMC4xNjZMMjI1LjgzNSAxOTJsLTc2LjUwMiA3Ni40MzggMzAuMjMgMzAuMjI5TDI1NiAyMjIuMTY1bDc2LjUwMSA3Ni41MDIgMzAuMTY2LTMwLjIzeiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTAzIiB1bmljb2RlPSLvhIMiIGQ9Ik0zNjIuNjY3IDg1LjMzM3Y2NGg0Mi42NjZWNDIuNjY3SDI5OC42Njd2NDIuNjY2aDY0em0tMjEzLjMzNCA2NHYtNjRoNjRWNDIuNjY3SDEwNi42Njd2MTA2LjY2Nmg0Mi42NjZ6bTE0OS4zMzQgMTkyaDEwNi42NjZWMjM0LjY2N2gtNDIuNjY2djY0aC02NHY0Mi42NjZ6bS0xOTItMTA2LjY2NnYxMDYuNjY2aDEwNi42NjZ2LTQyLjY2NmgtNjR2LTY0aC00Mi42NjZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMEIiIHVuaWNvZGU9Iu+EiyIgZD0iTTI5OC42NjcgMjc3Ljg2NkMzMzAuMjQgMjYyLjE4NiAzNTIgMjI5LjY1MyAzNTIgMTkyYzAtMzcuNjEtMjEuNzYtNzAuMjA4LTUzLjMzMy04NS45NzR2MTcxLjg0ek02NCAyNTZoODUuMzMzTDI1NiAzNjIuNjY3VjIxLjMzM0wxNDkuMzMzIDEyOEg2NHYxMjh6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDEiIHVuaWNvZGU9Iu+EgSIgZD0iTTQwNS4zMzMgMzExLjE0NkwyODYuMTg3IDE5MiA0MDUuMzMzIDcyLjg1NGwtMzAuMTg2LTMwLjE4NkwyNTYgMTYxLjgxMyAxMzYuODU0IDQyLjY2OWwtMzAuMTg3IDMwLjE4NkwyMjUuODE0IDE5MiAxMDYuNjY4IDMxMS4xNDZsMzAuMTg2IDMwLjE4NkwyNTYgMjIyLjE4OGwxMTkuMTQ2IDExOS4xNDZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDAiIHVuaWNvZGU9Iu+EgCIgZD0iTTQyLjY2NyAxOTJjMCAxMTcuODI0IDk1LjUwOSAyMTMuMzMzIDIxMy4zMzMgMjEzLjMzMyAxMTcuNzgxIDAgMjEzLjMzMy05NS41MDkgMjEzLjMzMy0yMTMuMzMzIDAtMTE3Ljc4MS05NS41NTItMjEzLjMzMy0yMTMuMzMzLTIxMy4zMzNDMTM4LjE3Ni0yMS4zMzMgNDIuNjY3IDc0LjIxOSA0Mi42NjcgMTkyeiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTA4IiB1bmljb2RlPSLvhIgiIGQ9Ik0zMjguNjYxIDI5MC4wMDVMMjMwLjY3OCAxOTJsOTguMDA0LTk4LjAwNUwyOTguNjY4IDY0bC0xMjggMTI4IDEyOCAxMjh6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDkiIHVuaWNvZGU9Iu+EiSIgZD0iTTY0IDM1Ni44TDkxLjIgMzg0IDQ0OCAyNy4yIDQyMC44IDBsLTQzLjQ5OCA0My40NzdjLTE5LjItMTUuNzY1LTU0LjQyOC0zMy4wOTItNzguNjM1LTM4LjY3N3Y0NC4wNTNjMTcuNzA2IDUuMzM0IDMzLjgxNCAxNC4xODcgNDguMTA3IDI1LjE3M0wyNTYgMTY0LjhWMjEuMzMzTDE0OS4zMzMgMTI4SDY0djEyOGgxMDAuOHptMTkyIDUuODY3di04OS4xNzRsLTQ0LjU4NyA0NC41ODd6TTM1MiAxOTJjMC00LjU4Ny0uMzQyLTkuMTc0LS45Ni0xMy42NzVsLTUyLjM3MyA1Mi4zOTV2NDcuMTQ2QzMzMC4yNCAyNjIuMTg2IDM1MiAyMjkuNjUzIDM1MiAxOTJ6bTUzLjMzMyAwYy0uMDI3IDYxLjQxMi00Ny44MTUgMTI1LjQ5NC0xMDYuNjY2IDE0My4wNHY0NC4wNTRDMzg0LjEwNyAzNTkuNjggNDQ4IDI4My4zMDcgNDQ4IDE5MmMtLjAyMi0yNS45NjUtOS44MTgtNjUuNzA0LTIxLjg2Ny04OC43MDRsLTMyLjMyIDMyLjM2MmM2LjI1NyAxNC45MjIgMTEuNDE4IDQwLjE2MiAxMS41MiA1Ni4zNDJ6Ii8+PC9mb250PjwvZGVmcz48L3N2Zz4=) format("svg")}}[data-icon]:before{content:attr(data-icon)}.vb-icon,.vjs-big-play-button,.vjs-fullscreen-control,.vjs-loading-spinner,.vjs-play-control,.vjs-progress-control .vjs-progress-holder .vjs-play-progress,.vjs-volume-menu-button,.vjs-volume-menu-button .vjs-menu .vjs-volume-bar .vjs-volume-level,[class*=" vb-icon-"],[class^=vb-icon-],[data-icon]:before{display:inline-block;font-family:Videobox;font-style:normal;font-weight:400;font-variant:normal;line-height:1;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-smoothing:antialiased;font-size:24px;width:1em;height:1em}.vb-icon-circle:before{content:"\f100"}.vb-icon-close:before{content:"\f101"}.vb-icon-close-small:before{content:"\f102"}.vb-icon-fullscreen-enter:before{content:"\f103"}.vb-icon-fullscreen-exit:before{content:"\f104"}.vb-icon-next:before{content:"\f105"}.vb-icon-pause:before{content:"\f106"}.vb-icon-play:before{content:"\f107"}.vb-icon-prev:before{content:"\f108"}.vb-icon-volume-0:before{content:"\f109"}.vb-icon-volume-1:before{content:"\f10a"}.vb-icon-volume-2:before{content:"\f10b"}.vb-icon-volume-3:before{content:"\f10c"}#vbCloseLink,#vbiClose,.pagination>li>a,.pagination>li>span,.vb-hover-animated,.vb_slider_outer .vb_slider_next,.vb_slider_outer .vb_slider_prev,.vb_thub_wrap .vb-icon-play,.vb_video_cont,.vb_video_cont a,.vjs-big-play-button,.vjs-fullscreen-control,.vjs-play-control,.vjs-progress-control .vjs-progress-holder .vjs-play-progress:after,.vjs-volume-menu-button{-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.vb-line-fix{white-space:nowrap;max-width:100%;display:inline-block}.vb-icon-circle-close-invert{position:relative;display:block}.vb-icon-circle-close-invert:after,.vb-icon-circle-close-invert:before{display:block;position:absolute;top:0;left:0}.vb-icon-circle-close-invert:before{content:""}.vb-icon-circle-close-invert:after{content:"";color:#fff!important}.vb_video_cont{vertical-align:top;text-align:center}#vbCloseLink i,#vbCloseText,.vjs-control:before{vertical-align:middle}.vb_video_cont img{display:block;max-width:100%;height:auto;width:100%}.vb_video_cont,.vb_video_cont a{text-decoration:none;color:#005723;display:inline-block;width:100%}.vb_video_cont a:focus,.vb_video_cont a:hover,.vb_video_cont:focus,.vb_video_cont:hover{color:#84d1a4}.vb_video_cont a:focus .vb_thub_wrap .vb-icon-play,.vb_video_cont a:hover .vb_thub_wrap .vb-icon-play,.vb_video_cont:focus .vb_thub_wrap .vb-icon-play,.vb_video_cont:hover .vb_thub_wrap .vb-icon-play{color:#84d1a4;background-color:rgba(0,0,0,.7)}.vb_video_title{display:block;padding:8px 10px 0}.vb_video_title:empty{display:none}.vb_thub_wrap{position:relative;display:block}.vb_thub_wrap .vb-icon-play{position:absolute;top:50%;left:50%;bottom:50%;right:50%;width:72px;height:72px;margin:-36px;border-radius:100%;background-color:rgba(0,0,0,.5);font-size:48px;line-height:72px;color:#fff;display:none}.vb_play_button .vb_thub_wrap .vb-icon-play{display:block}.vb_video_sizer{position:relative;display:block;height:0;overflow:hidden;background-color:#000}.vb_video_sizer iframe{background-color:#000;position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}#vbResponsive,#vbiResponsive{position:relative;height:0;pointer-events:all;overflow:hidden}.vb_video_frame{display:block;width:100%;margin:30px 0;text-align:center;font-size:1.2em;color:#005723}.vb_gallery{padding:0;margin:-12px;clear:both;display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-moz-flex-flow:row wrap;flex-flow:row wrap}.vb_video_cont.vb_gal{margin:12px}.vb_video_cont.vb_gal:empty{margin-top:0;margin-bottom:0}.pagination{display:inline-block;padding-left:0;margin:20px 0}.pagination>li{display:inline}#vbCloseLink,#vbCloseLink i,#vbCloseText{display:inline-block}.pagination>li>a,.pagination>li>span{background-color:#fff;color:#005723;border:none;font-weight:400;font-size:15px;padding:7.5px 15px;text-decoration:none;text-shadow:0 0 10px #84d1a4}.pagination>li.active>a,.pagination>li.active>span,.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{background-color:#84d1a4;color:#005723}.pagination>li+li>a,.pagination>li+li>span{border-left:1px solid #fff;margin-left:0}#vbVideo,#vbiVideo{height:100%;border:0;position:absolute;top:0;bottom:0;left:0}#vbBottomContainer,#vbOverlay,#vbResponsive,#vbVideo,#vbiResponsive,#vbiVideo{background-color:#000;width:100%}#vbOverlay{position:fixed;z-index:9999;left:0;top:0;height:100%;cursor:pointer;visibility:hidden;opacity:0;-webkit-transition:all .5s ease-in-out;-moz-transition:all .5s ease-in-out;transition:all .5s ease-in-out}#vbOverlay.visible{visibility:visible;opacity:.7}#vbWrap{position:absolute;z-index:9999;left:0;top:0;height:100%;visibility:hidden;pointer-events:none;width:100%;max-width:100vw;max-height:100vh;display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-moz-box-pack:center;box-pack:center;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-ms-flex-pack:center;-webkit-box-align:center;-moz-box-align:center;box-align:center;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-ms-flex-align:center}#vbWrap.visible{visibility:visible}#vbWrap.visible:not(.animating) #vbCenter{-webkit-transition:all .5s ease-in-out;-moz-transition:all .5s ease-in-out;transition:all .5s ease-in-out}#vbWrap .animating{overflow:hidden}#vbCenter{box-sizing:border-box;width:100%;position:relative;display:block}#vbResponsive{display:block;padding:0;z-index:10}#vbBottomContainer{position:absolute;color:#fff;max-height:0;overflow:hidden;opacity:.5;pointer-events:all;z-index:5;font-size:15px}#vbBottomContainer.visible{max-height:200px;-webkit-transition:opacity .5s .1s ease-in-out;-moz-transition:opacity .5s .1s ease-in-out;transition:opacity .5s .1s ease-in-out}#vbBottomContainer.visible:focus,#vbBottomContainer.visible:hover{opacity:1;-webkit-transition-delay:0s;-moz-transition-delay:0s;transition-delay:0s}#vbBottom{box-sizing:border-box;position:relative;width:100%;padding:15px 15px 0;text-align:left;font-weight:400;font-size:15px}#vbCaption{margin-bottom:10px;display:block}#vbCloseLink{float:right;text-transform:uppercase;line-height:1em;padding-left:5px;text-decoration:none;font-size:18px;margin:-5px -5px 10px 10px;color:inherit;cursor:pointer;-webkit-transition-delay:inherit;-moz-transition-delay:inherit;transition-delay:inherit}#vbCloseLink:focus,#vbCloseLink:hover{text-decoration:none;color:#84d1a4}#vbCloseLink i{font-size:36px;padding-left:4px}#vbiWrap{width:100%;position:relative;color:#005723;text-align:center}#vbiResponsive{display:block;padding:0 0 56.25%}#vbiClose{position:absolute;top:0;right:0;width:48px;height:48px;margin:-24px -24px 0 0;font-size:24px;line-height:1;cursor:pointer;padding:12px;opacity:0;z-index:300;box-sizing:border-box}#vb-html5-video,.video-js{background:#000;width:100%;height:100%}#vbiClose.visible,#vbiWrap:hover #vbiClose{opacity:1}#vbiClose:focus,#vbiClose:hover{color:#84d1a4}.vb_slider_outer{width:100%;color:#005723;display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row;-moz-flex-flow:row;flex-flow:row}.vb_slider_outer .vb_slider_wrap{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1 1 100%;-moz-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;overflow:hidden;padding:0}.vb_gallery.vb_slider{margin:0;-webkit-box-lines:single;-moz-box-lines:single;box-lines:single;-webkit-flex-wrap:nowrap;-moz-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.vb_gallery.vb_slider .vb_video_cont.vb_gal{margin:12px}.vb_slider_outer .vb_slider_next,.vb_slider_outer .vb_slider_prev{flex:0 0 48px;cursor:pointer;position:relative;margin:15px 0}.vb_slider_outer .vb_slider_next i,.vb_slider_outer .vb_slider_prev i{position:absolute;top:50%;margin-top:-24px;font-size:48px}.vb_slider_outer .vb_slider_next:focus,.vb_slider_outer .vb_slider_next:hover,.vb_slider_outer .vb_slider_prev:focus,.vb_slider_outer .vb_slider_prev:hover{color:#84d1a4}body.vb-html5-player,html.vb-html5-player{position:fixed;top:0;bottom:0;left:0;right:0;margin:0;padding:0;background:#000}body.vb-html5-player :focus,html.vb-html5-player :focus{border:none;outline:0}.video-js{color:#fff;margin:0;padding:0;position:relative;font-size:15px;line-height:1em;font-family:Roboto,Arial,Helvetica,sans-serif;font-weight:400;font-style:normal;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.video-js .vjs-control-text{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.vjs-hidden{display:none}.video-js .vjs-control-bar{position:absolute;bottom:0;left:0;right:0;height:48px;z-index:3;background:rgba(0,0,0,.7);visibility:hidden;opacity:0;-webkit-box-align:center;-moz-box-align:center;box-align:center;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-ms-flex-align:center;display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-transition:all .5s ease-in-out;-moz-transition:all .5s ease-in-out;transition:all .5s ease-in-out}.vjs-has-started .vjs-control-bar{visibility:visible;opacity:1}.vjs-has-started.vjs-user-inactive.vjs-playing:not(.vjs-audio) .vjs-control-bar{visibility:hidden;opacity:0}.vjs-control{padding:0;margin:0;border:none;background:0 0;color:#fff;height:48px;display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-moz-box-align:center;box-align:center;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-ms-flex-align:center}.vjs-control:before{display:inline-block;width:48px;height:48px;text-align:center;line-height:48px;cursor:pointer}.vjs-audio-button,.vjs-captions-button,.vjs-chapters-button,.vjs-custom-control-spacer,.vjs-descriptions-button,.vjs-has-started .vjs-big-play-button,.vjs-has-started:not(.vjs-audio) .vjs-poster,.vjs-live-control,.vjs-playback-rate,.vjs-subtitles-button{display:none}.vjs-poster{background-color:#000;background-repeat:no-repeat;background-position:50% 50%;background-size:contain;cursor:pointer;position:absolute;top:0;bottom:0;left:0;right:0;z-index:2}.video-js .vjs-tech{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.vjs-big-play-button,.vjs-loading-spinner{top:50%;bottom:50%;left:50%;right:50%;z-index:5;margin:-40px;padding:0;width:80px;height:80px;position:absolute}.vjs-big-play-button{border:none;color:#fff;background-color:rgba(0,0,0,.7);cursor:pointer;border-radius:100%}.vjs-big-play-button:before{content:"";font-size:48px}.vjs-big-play-button:focus,.vjs-big-play-button:hover{color:#84d1a4}.vjs-loading-spinner{border:none;display:none}.vjs-loading-spinner:before{display:block;content:"";position:absolute;width:100%;height:100%;font-size:80px;color:transparent;text-shadow:0 0 120px rgba(0,0,0,.7);z-index:2}.vjs-loading-spinner:after{display:block;content:" ";position:absolute;width:100%;height:100%;background:url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjQ4IiBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgNDggNDgiPjxzdHlsZT4uc3Bpbm5lcntmaWxsOiNmZmY7LXdlYmtpdC1hbmltYXRpb246c3BpbiAuOHMgc3RlcHMoOCxlbmQpIGluZmluaXRlIWltcG9ydGFudDthbmltYXRpb246c3BpbiAuOHMgc3RlcHMoOCxlbmQpIGluZmluaXRlIWltcG9ydGFudDstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46MjRweCAyNHB4IWltcG9ydGFudDstbXMtdHJhbnNmb3JtLW9yaWdpbjoyNHB4IDI0cHghaW1wb3J0YW50Oy1tb3otdHJhbnNmb3JtLW9yaWdpbjoyNHB4IDI0cHghaW1wb3J0YW50O3RyYW5zZm9ybS1vcmlnaW46MjRweCAyNHB4IWltcG9ydGFudH1Aa2V5ZnJhbWVzIHNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1ALXdlYmtpdC1rZXlmcmFtZXMgc3Bpbnt0b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKSB0cmFuc2xhdGUzZCgwLDAsMCl9fTwvc3R5bGU+PGRlZnM+PHBhdGggaWQ9ImFyYyIgZD0iTTI1IDIuMDIzYTIyIDIyIDAgMCAxIDEzLjgzMyA1LjczbC02LjM3NSA2LjM3NUExMyAxMyAwIDAgMCAyNSAxMS4wMzh6Ii8+PC9kZWZzPjxnIGNsYXNzPSJzcGlubmVyIj48dXNlIG9wYWNpdHk9Ii40IiB4bGluazpocmVmPSIjYXJjIi8+PHVzZSBvcGFjaXR5PSIuNCIgdHJhbnNmb3JtPSJyb3RhdGUoNDUgMjQgMjQpIiB4bGluazpocmVmPSIjYXJjIi8+PHVzZSBvcGFjaXR5PSIuNCIgdHJhbnNmb3JtPSJyb3RhdGUoOTAgMjQgMjQpIiB4bGluazpocmVmPSIjYXJjIi8+PHVzZSBvcGFjaXR5PSIuNCIgdHJhbnNmb3JtPSJyb3RhdGUoMTM1IDI0IDI0KSIgeGxpbms6aHJlZj0iI2FyYyIvPjx1c2Ugb3BhY2l0eT0iLjQiIHRyYW5zZm9ybT0icm90YXRlKDE4MCAyNCAyNCkiIHhsaW5rOmhyZWY9IiNhcmMiLz48dXNlIG9wYWNpdHk9Ii40IiB0cmFuc2Zvcm09InJvdGF0ZSgyMjUgMjQgMjQpIiB4bGluazpocmVmPSIjYXJjIi8+PHVzZSBvcGFjaXR5PSIuODUiIHRyYW5zZm9ybT0icm90YXRlKDI3MCAyNCAyNCkiIHhsaW5rOmhyZWY9IiNhcmMiLz48dXNlIG9wYWNpdHk9Ii40IiB0cmFuc2Zvcm09InJvdGF0ZSgzMTUgMjQgMjQpIiB4bGluazpocmVmPSIjYXJjIi8+PC9nPjwvc3ZnPg==) 50% 50% no-repeat;background-size:100% 100%;z-index:3}.vjs-seeking .vjs-loading-spinner,.vjs-waiting .vjs-loading-spinner{display:block}.vjs-play-control{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 0 48px;-moz-flex:0 0 48px;-ms-flex:0 0 48px;flex:0 0 48px}.vjs-play-control:before{content:""}.vjs-play-control:hover{color:#84d1a4}.vjs-playing .vjs-play-control:before{content:""}.vjs-volume-menu-button{overflow:hidden;-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 0 48px;-moz-flex:0 0 48px;-ms-flex:0 0 48px;flex:0 0 48px}.vjs-volume-menu-button:before{flex:0 0 48px}.vjs-volume-menu-button.vjs-vol-3:before{content:""}.vjs-volume-menu-button.vjs-vol-2:before{content:""}.vjs-volume-menu-button.vjs-vol-1:before{content:""}.vjs-volume-menu-button.vjs-vol-0:before{content:""}.vjs-volume-menu-button:focus,.vjs-volume-menu-button:hover{color:#84d1a4;-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 0 168px;-moz-flex:0 0 168px;-ms-flex:0 0 168px;flex:0 0 168px}.vjs-volume-menu-button .vjs-menu{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1 1 0px;-moz-flex:1 1 0;-ms-flex:1 1 0px;flex:1 1 0px;color:#fff}.vjs-volume-menu-button .vjs-menu .vjs-menu-content{padding:0 12px}.vjs-volume-menu-button .vjs-menu .vjs-volume-bar{height:6px;background:rgba(255,255,255,.3);position:relative}.vjs-volume-menu-button .vjs-menu .vjs-volume-bar .vjs-volume-level{height:100%;width:100%;background:#fff;position:absolute;top:0;left:0}.vjs-volume-menu-button .vjs-menu .vjs-volume-bar .vjs-volume-level:after{content:"";position:absolute;right:0;margin:-12px;top:3px;cursor:pointer}.vjs-time-control{margin:0 12px}.vjs-duration,.vjs-remaining-time,.vjs-time-divider{display:none}.vjs-progress-control{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1 1 0px;-moz-flex:1 1 0;-ms-flex:1 1 0px;flex:1 1 0px}.vjs-progress-control .vjs-progress-holder{height:6px;width:100%;margin:0 12px;position:relative;background:rgba(255,255,255,.3);cursor:pointer}.vjs-progress-control .vjs-progress-holder .vjs-load-progress,.vjs-progress-control .vjs-progress-holder .vjs-mouse-display,.vjs-progress-control .vjs-progress-holder .vjs-play-progress{position:absolute;top:0;left:0;height:100%}.vjs-progress-control .vjs-progress-holder .vjs-load-progress{background:rgba(255,255,255,.3)}.vjs-progress-control .vjs-progress-holder .vjs-mouse-display{z-index:10;width:1px;background:#000;display:none}.vjs-progress-control .vjs-progress-holder .vjs-play-progress{background:#fff}.vjs-progress-control .vjs-progress-holder .vjs-play-progress:after{content:"";position:absolute;right:0;margin:-3px;opacity:0;font-size:6px;top:3px;cursor:pointer}.vjs-progress-control:focus .vjs-mouse-display,.vjs-progress-control:hover .vjs-mouse-display{display:block}.vjs-progress-control:focus .vjs-play-progress:after,.vjs-progress-control:hover .vjs-play-progress:after{opacity:1;font-size:24px;margin:-12px}.vjs-fullscreen-control{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 0 48px;-moz-flex:0 0 48px;-ms-flex:0 0 48px;flex:0 0 48px}.vjs-fullscreen-control:hover{color:#84d1a4}.vjs-fullscreen-control:before{content:""}.vjs-fullscreen .vjs-fullscreen-control:before{content:""} +@charset "UTF-8";#vbBottomContainer,#vbResponsive,.vb_thub_wrap .vb-icon-play,.vjs-big-play-button{box-shadow:0 0 40px -5px #000}@font-face{font-family:Videobox;src:url(data:application/vnd.ms-fontobject;base64,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);src:url(data:application/vnd.ms-fontobject;base64,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) format("embedded-opentype"),url(data:application/font-woff;base64,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) format("woff"),url(data:application/x-font-ttf;base64,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) format("truetype"),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxmb250IGhvcml6LWFkdi14PSI1MTIiPjxmb250LWZhY2UgZm9udC1mYW1pbHk9IlZpZGVvYm94IiBmb250LXdlaWdodD0iNTAwIiB1bml0cy1wZXItZW09IjUxMiIgcGFub3NlLTE9IjIgMCA2IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNDQ4IiBkZXNjZW50PSItNjQiIGJib3g9IjQyLjY2NyAtMjEuMzMzIDQ2OS4zMzMgNDA1LjMzMyIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iMjUuNiIgdW5kZXJsaW5lLXBvc2l0aW9uPSItNTEuMiIgdW5pY29kZS1yYW5nZT0iVSswMDIwLUYxMEMiLz48Z2x5cGggZ2x5cGgtbmFtZT0ic3BhY2UiIGhvcml6LWFkdi14PSIyMDAiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwNyIgdW5pY29kZT0i74SHIiBkPSJNMTcwLjY2NyAzNDEuMzMzTDQwNS4zMzMgMTkyIDE3MC42NjcgNDIuNjY3djI5OC42NjZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDYiIHVuaWNvZGU9Iu+EhiIgZD0iTTEyOCAzNDEuMzMzaDg1LjMzM1Y0Mi42NjdIMTI4djI5OC42NjZ6bTE3MC42NjcgMEgzODRWNDIuNjg3aC04NS4zMzN2Mjk4LjY0NnoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwQyIgdW5pY29kZT0i74SMIiBkPSJNNjQgMjU2aDg1LjMzM0wyNTYgMzYyLjY2N1YyMS4zMzNMMTQ5LjMzMyAxMjhINjR2MTI4em0yODgtNjRjLS4wMzEtMzIuODQtMjMuOTI0LTcxLjM1Ny01My4zMzMtODUuOTc0djE3MS44NEMzMzAuMjQgMjYyLjE4NiAzNTIgMjI5LjY1NCAzNTIgMTkyem0tNTMuMzMzIDE4Ny4wOTRDMzg0LjEwNyAzNTkuNjggNDQ4IDI4My40OTkgNDQ4IDE5Mi4wNDNTMzg0LjEwNiAyNC4zNDIgMjk4LjY2NyA0LjkyOFY0OC45NkMzNTcuNDk5IDY2LjUyIDQwNS4yODUgMTMwLjYwMyA0MDUuMzMzIDE5MmMtLjAyNyA2MS40MTItNDcuODE1IDEyNS40OTQtMTA2LjY2NiAxNDMuMDR2NDQuMDU0eiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTA1IiB1bmljb2RlPSLvhIUiIGQ9Ik0yMTMuMzMzIDMyMGwxMjgtMTI4LTEyOC0xMjgtMjkuOTk0IDI5Ljk5NUwyODEuMzQ0IDE5MmwtOTguMDA1IDk4LjAwNXoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwNCIgdW5pY29kZT0i74SEIiBkPSJNMjk4LjY2NyA0Mi42Njd2MTA2LjY2NmgxMDYuNjY2di00Mi42NjZoLTY0di02NGgtNDIuNjY2em00Mi42NjYgMjM0LjY2Nmg2NHYtNDIuNjY2SDI5OC42Njd2MTA2LjY2Nmg0Mi42NjZ2LTY0em0tMTcwLjY2NiAwdjY0aDQyLjY2NlYyMzQuNjY3SDEwNi42Njd2NDIuNjY2aDY0em0tNjQtMTcwLjY2NnY0Mi42NjZoMTA2LjY2NlY0Mi42NjdoLTQyLjY2NnY2NGgtNjR6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMEEiIHVuaWNvZGU9Iu+EiiIgZD0iTTY0IDI1Nmg4NS4zMzNMMjU2IDM2Mi42NjdWMjEuMzMzTDE0OS4zMzMgMTI4SDY0djEyOHoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwMiIgdW5pY29kZT0i74SCIiBkPSJNMjg2LjE2NSAxOTJsNzYuNTAyLTc2LjUwMS0zMC4xNjYtMzAuMTY2TDI1NiAxNjEuODM1bC03Ni40MzgtNzYuNTAyLTMwLjIyOSAzMC4xNjZMMjI1LjgzNSAxOTJsLTc2LjUwMiA3Ni40MzggMzAuMjMgMzAuMjI5TDI1NiAyMjIuMTY1bDc2LjUwMSA3Ni41MDIgMzAuMTY2LTMwLjIzeiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTAzIiB1bmljb2RlPSLvhIMiIGQ9Ik0zNjIuNjY3IDg1LjMzM3Y2NGg0Mi42NjZWNDIuNjY3SDI5OC42Njd2NDIuNjY2aDY0em0tMjEzLjMzNCA2NHYtNjRoNjRWNDIuNjY3SDEwNi42Njd2MTA2LjY2Nmg0Mi42NjZ6bTE0OS4zMzQgMTkyaDEwNi42NjZWMjM0LjY2N2gtNDIuNjY2djY0aC02NHY0Mi42NjZ6bS0xOTItMTA2LjY2NnYxMDYuNjY2aDEwNi42NjZ2LTQyLjY2NmgtNjR2LTY0aC00Mi42NjZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMEIiIHVuaWNvZGU9Iu+EiyIgZD0iTTI5OC42NjcgMjc3Ljg2NkMzMzAuMjQgMjYyLjE4NiAzNTIgMjI5LjY1MyAzNTIgMTkyYzAtMzcuNjEtMjEuNzYtNzAuMjA4LTUzLjMzMy04NS45NzR2MTcxLjg0ek02NCAyNTZoODUuMzMzTDI1NiAzNjIuNjY3VjIxLjMzM0wxNDkuMzMzIDEyOEg2NHYxMjh6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDEiIHVuaWNvZGU9Iu+EgSIgZD0iTTQwNS4zMzMgMzExLjE0NkwyODYuMTg3IDE5MiA0MDUuMzMzIDcyLjg1NGwtMzAuMTg2LTMwLjE4NkwyNTYgMTYxLjgxMyAxMzYuODU0IDQyLjY2OWwtMzAuMTg3IDMwLjE4NkwyMjUuODE0IDE5MiAxMDYuNjY4IDMxMS4xNDZsMzAuMTg2IDMwLjE4NkwyNTYgMjIyLjE4OGwxMTkuMTQ2IDExOS4xNDZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDAiIHVuaWNvZGU9Iu+EgCIgZD0iTTQyLjY2NyAxOTJjMCAxMTcuODI0IDk1LjUwOSAyMTMuMzMzIDIxMy4zMzMgMjEzLjMzMyAxMTcuNzgxIDAgMjEzLjMzMy05NS41MDkgMjEzLjMzMy0yMTMuMzMzIDAtMTE3Ljc4MS05NS41NTItMjEzLjMzMy0yMTMuMzMzLTIxMy4zMzNDMTM4LjE3Ni0yMS4zMzMgNDIuNjY3IDc0LjIxOSA0Mi42NjcgMTkyeiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTA4IiB1bmljb2RlPSLvhIgiIGQ9Ik0zMjguNjYxIDI5MC4wMDVMMjMwLjY3OCAxOTJsOTguMDA0LTk4LjAwNUwyOTguNjY4IDY0bC0xMjggMTI4IDEyOCAxMjh6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDkiIHVuaWNvZGU9Iu+EiSIgZD0iTTY0IDM1Ni44TDkxLjIgMzg0IDQ0OCAyNy4yIDQyMC44IDBsLTQzLjQ5OCA0My40NzdjLTE5LjItMTUuNzY1LTU0LjQyOC0zMy4wOTItNzguNjM1LTM4LjY3N3Y0NC4wNTNjMTcuNzA2IDUuMzM0IDMzLjgxNCAxNC4xODcgNDguMTA3IDI1LjE3M0wyNTYgMTY0LjhWMjEuMzMzTDE0OS4zMzMgMTI4SDY0djEyOGgxMDAuOHptMTkyIDUuODY3di04OS4xNzRsLTQ0LjU4NyA0NC41ODd6TTM1MiAxOTJjMC00LjU4Ny0uMzQyLTkuMTc0LS45Ni0xMy42NzVsLTUyLjM3MyA1Mi4zOTV2NDcuMTQ2QzMzMC4yNCAyNjIuMTg2IDM1MiAyMjkuNjUzIDM1MiAxOTJ6bTUzLjMzMyAwYy0uMDI3IDYxLjQxMi00Ny44MTUgMTI1LjQ5NC0xMDYuNjY2IDE0My4wNHY0NC4wNTRDMzg0LjEwNyAzNTkuNjggNDQ4IDI4My4zMDcgNDQ4IDE5MmMtLjAyMi0yNS45NjUtOS44MTgtNjUuNzA0LTIxLjg2Ny04OC43MDRsLTMyLjMyIDMyLjM2MmM2LjI1NyAxNC45MjIgMTEuNDE4IDQwLjE2MiAxMS41MiA1Ni4zNDJ6Ii8+PC9mb250PjwvZGVmcz48L3N2Zz4=) format("svg");font-weight:400;font-style:normal}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:Videobox;src:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxmb250IGhvcml6LWFkdi14PSI1MTIiPjxmb250LWZhY2UgZm9udC1mYW1pbHk9IlZpZGVvYm94IiBmb250LXdlaWdodD0iNTAwIiB1bml0cy1wZXItZW09IjUxMiIgcGFub3NlLTE9IjIgMCA2IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNDQ4IiBkZXNjZW50PSItNjQiIGJib3g9IjQyLjY2NyAtMjEuMzMzIDQ2OS4zMzMgNDA1LjMzMyIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iMjUuNiIgdW5kZXJsaW5lLXBvc2l0aW9uPSItNTEuMiIgdW5pY29kZS1yYW5nZT0iVSswMDIwLUYxMEMiLz48Z2x5cGggZ2x5cGgtbmFtZT0ic3BhY2UiIGhvcml6LWFkdi14PSIyMDAiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwNyIgdW5pY29kZT0i74SHIiBkPSJNMTcwLjY2NyAzNDEuMzMzTDQwNS4zMzMgMTkyIDE3MC42NjcgNDIuNjY3djI5OC42NjZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDYiIHVuaWNvZGU9Iu+EhiIgZD0iTTEyOCAzNDEuMzMzaDg1LjMzM1Y0Mi42NjdIMTI4djI5OC42NjZ6bTE3MC42NjcgMEgzODRWNDIuNjg3aC04NS4zMzN2Mjk4LjY0NnoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwQyIgdW5pY29kZT0i74SMIiBkPSJNNjQgMjU2aDg1LjMzM0wyNTYgMzYyLjY2N1YyMS4zMzNMMTQ5LjMzMyAxMjhINjR2MTI4em0yODgtNjRjLS4wMzEtMzIuODQtMjMuOTI0LTcxLjM1Ny01My4zMzMtODUuOTc0djE3MS44NEMzMzAuMjQgMjYyLjE4NiAzNTIgMjI5LjY1NCAzNTIgMTkyem0tNTMuMzMzIDE4Ny4wOTRDMzg0LjEwNyAzNTkuNjggNDQ4IDI4My40OTkgNDQ4IDE5Mi4wNDNTMzg0LjEwNiAyNC4zNDIgMjk4LjY2NyA0LjkyOFY0OC45NkMzNTcuNDk5IDY2LjUyIDQwNS4yODUgMTMwLjYwMyA0MDUuMzMzIDE5MmMtLjAyNyA2MS40MTItNDcuODE1IDEyNS40OTQtMTA2LjY2NiAxNDMuMDR2NDQuMDU0eiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTA1IiB1bmljb2RlPSLvhIUiIGQ9Ik0yMTMuMzMzIDMyMGwxMjgtMTI4LTEyOC0xMjgtMjkuOTk0IDI5Ljk5NUwyODEuMzQ0IDE5MmwtOTguMDA1IDk4LjAwNXoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwNCIgdW5pY29kZT0i74SEIiBkPSJNMjk4LjY2NyA0Mi42Njd2MTA2LjY2NmgxMDYuNjY2di00Mi42NjZoLTY0di02NGgtNDIuNjY2em00Mi42NjYgMjM0LjY2Nmg2NHYtNDIuNjY2SDI5OC42Njd2MTA2LjY2Nmg0Mi42NjZ2LTY0em0tMTcwLjY2NiAwdjY0aDQyLjY2NlYyMzQuNjY3SDEwNi42Njd2NDIuNjY2aDY0em0tNjQtMTcwLjY2NnY0Mi42NjZoMTA2LjY2NlY0Mi42NjdoLTQyLjY2NnY2NGgtNjR6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMEEiIHVuaWNvZGU9Iu+EiiIgZD0iTTY0IDI1Nmg4NS4zMzNMMjU2IDM2Mi42NjdWMjEuMzMzTDE0OS4zMzMgMTI4SDY0djEyOHoiLz48Z2x5cGggZ2x5cGgtbmFtZT0idW5pRjEwMiIgdW5pY29kZT0i74SCIiBkPSJNMjg2LjE2NSAxOTJsNzYuNTAyLTc2LjUwMS0zMC4xNjYtMzAuMTY2TDI1NiAxNjEuODM1bC03Ni40MzgtNzYuNTAyLTMwLjIyOSAzMC4xNjZMMjI1LjgzNSAxOTJsLTc2LjUwMiA3Ni40MzggMzAuMjMgMzAuMjI5TDI1NiAyMjIuMTY1bDc2LjUwMSA3Ni41MDIgMzAuMTY2LTMwLjIzeiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTAzIiB1bmljb2RlPSLvhIMiIGQ9Ik0zNjIuNjY3IDg1LjMzM3Y2NGg0Mi42NjZWNDIuNjY3SDI5OC42Njd2NDIuNjY2aDY0em0tMjEzLjMzNCA2NHYtNjRoNjRWNDIuNjY3SDEwNi42Njd2MTA2LjY2Nmg0Mi42NjZ6bTE0OS4zMzQgMTkyaDEwNi42NjZWMjM0LjY2N2gtNDIuNjY2djY0aC02NHY0Mi42NjZ6bS0xOTItMTA2LjY2NnYxMDYuNjY2aDEwNi42NjZ2LTQyLjY2NmgtNjR2LTY0aC00Mi42NjZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMEIiIHVuaWNvZGU9Iu+EiyIgZD0iTTI5OC42NjcgMjc3Ljg2NkMzMzAuMjQgMjYyLjE4NiAzNTIgMjI5LjY1MyAzNTIgMTkyYzAtMzcuNjEtMjEuNzYtNzAuMjA4LTUzLjMzMy04NS45NzR2MTcxLjg0ek02NCAyNTZoODUuMzMzTDI1NiAzNjIuNjY3VjIxLjMzM0wxNDkuMzMzIDEyOEg2NHYxMjh6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDEiIHVuaWNvZGU9Iu+EgSIgZD0iTTQwNS4zMzMgMzExLjE0NkwyODYuMTg3IDE5MiA0MDUuMzMzIDcyLjg1NGwtMzAuMTg2LTMwLjE4NkwyNTYgMTYxLjgxMyAxMzYuODU0IDQyLjY2OWwtMzAuMTg3IDMwLjE4NkwyMjUuODE0IDE5MiAxMDYuNjY4IDMxMS4xNDZsMzAuMTg2IDMwLjE4NkwyNTYgMjIyLjE4OGwxMTkuMTQ2IDExOS4xNDZ6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDAiIHVuaWNvZGU9Iu+EgCIgZD0iTTQyLjY2NyAxOTJjMCAxMTcuODI0IDk1LjUwOSAyMTMuMzMzIDIxMy4zMzMgMjEzLjMzMyAxMTcuNzgxIDAgMjEzLjMzMy05NS41MDkgMjEzLjMzMy0yMTMuMzMzIDAtMTE3Ljc4MS05NS41NTItMjEzLjMzMy0yMTMuMzMzLTIxMy4zMzNDMTM4LjE3Ni0yMS4zMzMgNDIuNjY3IDc0LjIxOSA0Mi42NjcgMTkyeiIvPjxnbHlwaCBnbHlwaC1uYW1lPSJ1bmlGMTA4IiB1bmljb2RlPSLvhIgiIGQ9Ik0zMjguNjYxIDI5MC4wMDVMMjMwLjY3OCAxOTJsOTguMDA0LTk4LjAwNUwyOTguNjY4IDY0bC0xMjggMTI4IDEyOCAxMjh6Ii8+PGdseXBoIGdseXBoLW5hbWU9InVuaUYxMDkiIHVuaWNvZGU9Iu+EiSIgZD0iTTY0IDM1Ni44TDkxLjIgMzg0IDQ0OCAyNy4yIDQyMC44IDBsLTQzLjQ5OCA0My40NzdjLTE5LjItMTUuNzY1LTU0LjQyOC0zMy4wOTItNzguNjM1LTM4LjY3N3Y0NC4wNTNjMTcuNzA2IDUuMzM0IDMzLjgxNCAxNC4xODcgNDguMTA3IDI1LjE3M0wyNTYgMTY0LjhWMjEuMzMzTDE0OS4zMzMgMTI4SDY0djEyOGgxMDAuOHptMTkyIDUuODY3di04OS4xNzRsLTQ0LjU4NyA0NC41ODd6TTM1MiAxOTJjMC00LjU4Ny0uMzQyLTkuMTc0LS45Ni0xMy42NzVsLTUyLjM3MyA1Mi4zOTV2NDcuMTQ2QzMzMC4yNCAyNjIuMTg2IDM1MiAyMjkuNjUzIDM1MiAxOTJ6bTUzLjMzMyAwYy0uMDI3IDYxLjQxMi00Ny44MTUgMTI1LjQ5NC0xMDYuNjY2IDE0My4wNHY0NC4wNTRDMzg0LjEwNyAzNTkuNjggNDQ4IDI4My4zMDcgNDQ4IDE5MmMtLjAyMi0yNS45NjUtOS44MTgtNjUuNzA0LTIxLjg2Ny04OC43MDRsLTMyLjMyIDMyLjM2MmM2LjI1NyAxNC45MjIgMTEuNDE4IDQwLjE2MiAxMS41MiA1Ni4zNDJ6Ii8+PC9mb250PjwvZGVmcz48L3N2Zz4=) format("svg")}}[data-icon]:before{content:attr(data-icon)}.vb-icon,.vjs-big-play-button,.vjs-fullscreen-control,.vjs-loading-spinner,.vjs-play-control,.vjs-progress-control .vjs-progress-holder .vjs-play-progress,.vjs-volume-menu-button,.vjs-volume-menu-button .vjs-menu .vjs-volume-bar .vjs-volume-level,[class*=" vb-icon-"],[class^=vb-icon-],[data-icon]:before{display:inline-block;font-family:Videobox;font-style:normal;font-weight:400;font-variant:normal;line-height:1;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-smoothing:antialiased;font-size:24px;width:1em;height:1em}.vb-icon-circle:before{content:"\f100"}.vb-icon-close:before{content:"\f101"}.vb-icon-close-small:before{content:"\f102"}.vb-icon-fullscreen-enter:before{content:"\f103"}.vb-icon-fullscreen-exit:before{content:"\f104"}.vb-icon-next:before{content:"\f105"}.vb-icon-pause:before{content:"\f106"}.vb-icon-play:before{content:"\f107"}.vb-icon-prev:before{content:"\f108"}.vb-icon-volume-0:before{content:"\f109"}.vb-icon-volume-1:before{content:"\f10a"}.vb-icon-volume-2:before{content:"\f10b"}.vb-icon-volume-3:before{content:"\f10c"}#vbCloseLink,#vbiClose,.pagination>li>a,.pagination>li>span,.vb-hover-animated,.vb_slider_outer .vb_slider_next,.vb_slider_outer .vb_slider_prev,.vb_thub_wrap .vb-icon-play,.vb_video_cont,.vb_video_cont a,.vjs-big-play-button,.vjs-fullscreen-control,.vjs-play-control,.vjs-progress-control .vjs-progress-holder .vjs-play-progress:after,.vjs-volume-menu-button{-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.vb-line-fix{white-space:nowrap;max-width:100%;display:inline-block}.vb-icon-circle-close-invert{position:relative;display:block}.vb-icon-circle-close-invert:after,.vb-icon-circle-close-invert:before{display:block;position:absolute;top:0;left:0}.vb-icon-circle-close-invert:before{content:""}.vb-icon-circle-close-invert:after{content:"";color:#fff!important}.vb_video_cont{vertical-align:top;text-align:center}#vbCloseLink i,#vbCloseText,.vjs-control:before{vertical-align:middle}.vb_video_cont img{display:block;max-width:100%;height:auto;width:100%}.vb_video_cont,.vb_video_cont a{text-decoration:none;color:#005723;display:inline-block;width:100%}.vb_video_cont a:focus,.vb_video_cont a:hover,.vb_video_cont:focus,.vb_video_cont:hover{color:#84d1a4}.vb_video_cont a:focus .vb_thub_wrap .vb-icon-play,.vb_video_cont a:hover .vb_thub_wrap .vb-icon-play,.vb_video_cont:focus .vb_thub_wrap .vb-icon-play,.vb_video_cont:hover .vb_thub_wrap .vb-icon-play{color:#84d1a4;background-color:rgba(0,0,0,.7)}.vb_video_title{display:block;padding:8px 10px 0}.vb_video_title:empty{display:none}.vb_thub_wrap{position:relative;display:block}.vb_thub_wrap .vb-icon-play{position:absolute;top:50%;left:50%;bottom:50%;right:50%;width:72px;height:72px;margin:-36px;border-radius:100%;background-color:rgba(0,0,0,.5);font-size:48px;line-height:72px;color:#fff;display:none}.vb_play_button .vb_thub_wrap .vb-icon-play{display:block}.vb_video_sizer{position:relative;display:block;height:0;overflow:hidden;background-color:#000}.vb_video_sizer iframe{background-color:#000;position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}#vbResponsive,#vbiResponsive{position:relative;height:0;pointer-events:all;overflow:hidden}.vb_video_frame{display:block;width:100%;margin:30px 0;text-align:center;font-size:1.2em;color:#005723}.vb_gallery{padding:0;margin:-12px;clear:both;display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-moz-flex-flow:row wrap;flex-flow:row wrap}.vb_video_cont.vb_gal{margin:12px}.vb_video_cont.vb_gal:empty{margin-top:0;margin-bottom:0}.pagination{display:inline-block;padding-left:0;margin:20px 0}.pagination>li{display:inline}#vbCloseLink,#vbCloseLink i,#vbCloseText{display:inline-block}.pagination>li>a,.pagination>li>span{background-color:#fff;color:#005723;border:none;font-weight:400;font-size:15px;padding:7.5px 15px;text-decoration:none;text-shadow:0 0 10px #84d1a4}.pagination>li.active>a,.pagination>li.active>span,.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{background-color:#84d1a4;color:#005723}.pagination>li+li>a,.pagination>li+li>span{border-left:1px solid #fff;margin-left:0}#vbVideo,#vbiVideo{height:100%;border:0;position:absolute;top:0;bottom:0;left:0}#vbBottomContainer,#vbOverlay,#vbResponsive,#vbVideo,#vbiResponsive,#vbiVideo{background-color:#000;width:100%}#vbOverlay{position:fixed;z-index:9999;left:0;top:0;height:100%;cursor:pointer;visibility:hidden;opacity:0;-webkit-transition:all .5s ease-in-out;-moz-transition:all .5s ease-in-out;transition:all .5s ease-in-out}#vbOverlay.visible{visibility:visible;opacity:.7}#vbWrap{position:absolute;z-index:9999;left:0;top:0;height:100%;visibility:hidden;pointer-events:none;width:100%;max-width:100vw;max-height:100vh;display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-moz-box-pack:center;box-pack:center;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-ms-flex-pack:center;-webkit-box-align:center;-moz-box-align:center;box-align:center;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-ms-flex-align:center}#vbWrap.visible{visibility:visible}#vbWrap.visible:not(.animating) #vbCenter{-webkit-transition:all .5s ease-in-out;-moz-transition:all .5s ease-in-out;transition:all .5s ease-in-out}#vbWrap .animating{overflow:hidden}#vbCenter{box-sizing:border-box;width:100%;position:relative;display:block}#vbResponsive{display:block;padding:0;z-index:10}#vbBottomContainer{position:absolute;color:#fff;max-height:0;overflow:hidden;opacity:.5;pointer-events:all;z-index:5;font-size:15px}#vbBottomContainer.visible{max-height:200px;-webkit-transition:opacity .5s .1s ease-in-out;-moz-transition:opacity .5s .1s ease-in-out;transition:opacity .5s .1s ease-in-out}#vbBottomContainer.visible:focus,#vbBottomContainer.visible:hover{opacity:1;-webkit-transition-delay:0s;-moz-transition-delay:0s;transition-delay:0s}#vbBottom{box-sizing:border-box;position:relative;width:100%;padding:15px 15px 0;text-align:left;font-weight:400;font-size:15px}#vbCaption{margin-bottom:10px;display:block}#vbCloseLink{float:right;text-transform:uppercase;line-height:1em;padding-left:5px;text-decoration:none;font-size:18px;margin:-5px -5px 10px 10px;color:inherit;cursor:pointer;-webkit-transition-delay:inherit;-moz-transition-delay:inherit;transition-delay:inherit}#vbCloseLink:focus,#vbCloseLink:hover{text-decoration:none;color:#84d1a4}#vbCloseLink i{font-size:36px;padding-left:4px}#vbiWrap{width:100%;position:relative;color:#005723;text-align:center}#vbiResponsive{display:block;padding:0 0 56.25%}#vbiClose{position:absolute;top:0;right:0;width:48px;height:48px;margin:-24px -24px 0 0;font-size:24px;line-height:1;cursor:pointer;padding:12px;opacity:0;z-index:300;box-sizing:border-box}#vb-html5-video,.video-js{background:#000;width:100%;height:100%}#vbiClose.visible,#vbiWrap:hover #vbiClose{opacity:1}#vbiClose:focus,#vbiClose:hover{color:#84d1a4}.vb_slider_outer{width:100%;color:#005723;display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row;-moz-flex-flow:row;flex-flow:row}.vb_slider_outer .vb_slider_wrap{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1 1 100%;-moz-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;overflow:hidden;padding:0}.vb_gallery.vb_slider{margin:0;-webkit-box-lines:single;-moz-box-lines:single;box-lines:single;-webkit-flex-wrap:nowrap;-moz-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.vb_gallery.vb_slider .vb_video_cont.vb_gal{margin:12px}.vb_slider_outer .vb_slider_next,.vb_slider_outer .vb_slider_prev{flex:0 0 48px;cursor:pointer;position:relative;margin:15px 0}.vb_slider_outer .vb_slider_next i,.vb_slider_outer .vb_slider_prev i{position:absolute;top:50%;margin-top:-24px;font-size:48px}.vb_slider_outer .vb_slider_next:focus,.vb_slider_outer .vb_slider_next:hover,.vb_slider_outer .vb_slider_prev:focus,.vb_slider_outer .vb_slider_prev:hover{color:#84d1a4}body.vb-html5-player,html.vb-html5-player{position:fixed;top:0;bottom:0;left:0;right:0;margin:0;padding:0;background:#000}body.vb-html5-player :focus,html.vb-html5-player :focus{border:none;outline:0}.video-js{color:#fff;margin:0;padding:0;position:relative;font-size:15px;line-height:1em;font-family:Roboto,Arial,Helvetica,sans-serif;font-weight:400;font-style:normal;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.video-js .vjs-control-text{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.vjs-hidden{display:none}.video-js .vjs-control-bar{position:absolute;bottom:0;left:0;right:0;height:48px;z-index:3;background:rgba(0,0,0,.7);visibility:hidden;opacity:0;-webkit-box-align:center;-moz-box-align:center;box-align:center;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-ms-flex-align:center;display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-transition:all .5s ease-in-out;-moz-transition:all .5s ease-in-out;transition:all .5s ease-in-out}.vjs-has-started .vjs-control-bar{visibility:visible;opacity:1}.vjs-has-started.vjs-user-inactive.vjs-playing:not(.vjs-audio) .vjs-control-bar{visibility:hidden;opacity:0}.vjs-control{padding:0;margin:0;border:none;background:0 0;color:#fff;height:48px;display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-moz-box-align:center;box-align:center;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-ms-flex-align:center}.vjs-control:before{display:inline-block;width:48px;height:48px;text-align:center;line-height:48px;cursor:pointer}.vjs-audio-button,.vjs-captions-button,.vjs-chapters-button,.vjs-custom-control-spacer,.vjs-descriptions-button,.vjs-has-started .vjs-big-play-button,.vjs-has-started:not(.vjs-audio) .vjs-poster,.vjs-live-control,.vjs-playback-rate,.vjs-subtitles-button{display:none}.vjs-poster{background-color:#000;background-repeat:no-repeat;background-position:50% 50%;background-size:contain;cursor:pointer;position:absolute;top:0;bottom:0;left:0;right:0;z-index:2}.video-js .vjs-tech{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.vjs-big-play-button,.vjs-loading-spinner{top:50%;bottom:50%;left:50%;right:50%;z-index:5;margin:-40px;padding:0;width:80px;height:80px;position:absolute}.vjs-big-play-button{border:none;color:#fff;background-color:rgba(0,0,0,.7);cursor:pointer;border-radius:100%}.vjs-big-play-button:before{content:"";font-size:48px}.vjs-big-play-button:focus,.vjs-big-play-button:hover{color:#84d1a4}.vjs-loading-spinner{border:none;display:none}.vjs-loading-spinner:before{display:block;content:"";position:absolute;width:100%;height:100%;font-size:80px;color:transparent;text-shadow:0 0 120px rgba(0,0,0,.7);z-index:2}.vjs-loading-spinner:after{display:block;content:" ";position:absolute;width:100%;height:100%;background:url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjQ4IiBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgNDggNDgiPjxzdHlsZT4uc3Bpbm5lcntmaWxsOiNmZmY7LXdlYmtpdC1hbmltYXRpb246c3BpbiAuOHMgc3RlcHMoOCxlbmQpIGluZmluaXRlIWltcG9ydGFudDthbmltYXRpb246c3BpbiAuOHMgc3RlcHMoOCxlbmQpIGluZmluaXRlIWltcG9ydGFudDstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46MjRweCAyNHB4IWltcG9ydGFudDstbXMtdHJhbnNmb3JtLW9yaWdpbjoyNHB4IDI0cHghaW1wb3J0YW50Oy1tb3otdHJhbnNmb3JtLW9yaWdpbjoyNHB4IDI0cHghaW1wb3J0YW50O3RyYW5zZm9ybS1vcmlnaW46MjRweCAyNHB4IWltcG9ydGFudH1Aa2V5ZnJhbWVzIHNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1ALXdlYmtpdC1rZXlmcmFtZXMgc3Bpbnt0b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKSB0cmFuc2xhdGUzZCgwLDAsMCl9fTwvc3R5bGU+PGRlZnM+PHBhdGggaWQ9ImFyYyIgZD0iTTI1IDIuMDIzYTIyIDIyIDAgMCAxIDEzLjgzMyA1LjczbC02LjM3NSA2LjM3NUExMyAxMyAwIDAgMCAyNSAxMS4wMzh6Ii8+PC9kZWZzPjxnIGNsYXNzPSJzcGlubmVyIj48dXNlIG9wYWNpdHk9Ii40IiB4bGluazpocmVmPSIjYXJjIi8+PHVzZSBvcGFjaXR5PSIuNCIgdHJhbnNmb3JtPSJyb3RhdGUoNDUgMjQgMjQpIiB4bGluazpocmVmPSIjYXJjIi8+PHVzZSBvcGFjaXR5PSIuNCIgdHJhbnNmb3JtPSJyb3RhdGUoOTAgMjQgMjQpIiB4bGluazpocmVmPSIjYXJjIi8+PHVzZSBvcGFjaXR5PSIuNCIgdHJhbnNmb3JtPSJyb3RhdGUoMTM1IDI0IDI0KSIgeGxpbms6aHJlZj0iI2FyYyIvPjx1c2Ugb3BhY2l0eT0iLjQiIHRyYW5zZm9ybT0icm90YXRlKDE4MCAyNCAyNCkiIHhsaW5rOmhyZWY9IiNhcmMiLz48dXNlIG9wYWNpdHk9Ii40IiB0cmFuc2Zvcm09InJvdGF0ZSgyMjUgMjQgMjQpIiB4bGluazpocmVmPSIjYXJjIi8+PHVzZSBvcGFjaXR5PSIuODUiIHRyYW5zZm9ybT0icm90YXRlKDI3MCAyNCAyNCkiIHhsaW5rOmhyZWY9IiNhcmMiLz48dXNlIG9wYWNpdHk9Ii40IiB0cmFuc2Zvcm09InJvdGF0ZSgzMTUgMjQgMjQpIiB4bGluazpocmVmPSIjYXJjIi8+PC9nPjwvc3ZnPg==) 50% 50% no-repeat;background-size:100% 100%;z-index:3}.vjs-seeking .vjs-loading-spinner,.vjs-waiting .vjs-loading-spinner{display:block}.vjs-play-control{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 0 48px;-moz-flex:0 0 48px;-ms-flex:0 0 48px;flex:0 0 48px}.vjs-play-control:before{content:""}.vjs-play-control:hover{color:#84d1a4}.vjs-playing .vjs-play-control:before{content:""}.vjs-volume-menu-button{overflow:hidden;-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 0 48px;-moz-flex:0 0 48px;-ms-flex:0 0 48px;flex:0 0 48px}.vjs-volume-menu-button:before{flex:0 0 48px}.vjs-volume-menu-button.vjs-vol-3:before{content:""}.vjs-volume-menu-button.vjs-vol-2:before{content:""}.vjs-volume-menu-button.vjs-vol-1:before{content:""}.vjs-volume-menu-button.vjs-vol-0:before{content:""}.vjs-volume-menu-button:focus,.vjs-volume-menu-button:hover{color:#84d1a4;-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 0 168px;-moz-flex:0 0 168px;-ms-flex:0 0 168px;flex:0 0 168px}.vjs-volume-menu-button .vjs-menu{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1 1 0px;-moz-flex:1 1 0;-ms-flex:1 1 0px;flex:1 1 0px;color:#fff}.vjs-volume-menu-button .vjs-menu .vjs-menu-content{padding:0 12px}.vjs-volume-menu-button .vjs-menu .vjs-volume-bar{height:6px;background:rgba(255,255,255,.3);position:relative}.vjs-volume-menu-button .vjs-menu .vjs-volume-bar .vjs-volume-level{height:100%;width:100%;background:#fff;position:absolute;top:0;left:0}.vjs-volume-menu-button .vjs-menu .vjs-volume-bar .vjs-volume-level:after{content:"";position:absolute;right:0;margin:-12px;top:3px;cursor:pointer}.vjs-time-control{margin:0 12px}.vjs-duration,.vjs-remaining-time,.vjs-time-divider{display:none}.vjs-progress-control{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1 1 0px;-moz-flex:1 1 0;-ms-flex:1 1 0px;flex:1 1 0px}.vjs-progress-control .vjs-progress-holder{height:6px;width:100%;margin:0 12px;position:relative;background:rgba(255,255,255,.3);cursor:pointer}.vjs-progress-control .vjs-progress-holder .vjs-load-progress,.vjs-progress-control .vjs-progress-holder .vjs-mouse-display,.vjs-progress-control .vjs-progress-holder .vjs-play-progress{position:absolute;top:0;left:0;height:100%}.vjs-progress-control .vjs-progress-holder .vjs-load-progress{background:rgba(255,255,255,.3)}.vjs-progress-control .vjs-progress-holder .vjs-mouse-display{z-index:10;width:1px;background:#000;display:none}.vjs-progress-control .vjs-progress-holder .vjs-play-progress{background:#fff}.vjs-progress-control .vjs-progress-holder .vjs-play-progress:after{content:"";position:absolute;right:0;margin:-3px;opacity:0;font-size:6px;top:3px;cursor:pointer}.vjs-progress-control:focus .vjs-mouse-display,.vjs-progress-control:hover .vjs-mouse-display{display:block}.vjs-progress-control:focus .vjs-play-progress:after,.vjs-progress-control:hover .vjs-play-progress:after{opacity:1;font-size:24px;margin:-12px}.vjs-fullscreen-control{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;-webkit-flex:0 0 48px;-moz-flex:0 0 48px;-ms-flex:0 0 48px;flex:0 0 48px}.vjs-fullscreen-control:hover{color:#84d1a4}.vjs-fullscreen-control:before{content:""}.vjs-fullscreen .vjs-fullscreen-control:before{content:""} /*# sourceMappingURL=videobox.css.map */ diff --git a/dist/videobox.min.js b/dist/videobox.min.js index 2263f49..528302b 100644 --- a/dist/videobox.min.js +++ b/dist/videobox.min.js @@ -16,5 +16,5 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see */ -function create(t,i,e){return t=document.createElement(t),i&&(t.id=i),e&&(t.onclick=e),t}function createClass(t,i,e){return t=document.createElement(t),i&&(t.className=i),e&&(t.onclick=e),t}function iterableToArray(t){for(var i=[],e=0;e',this.bottom.appendChild(this.button),this.caption=create("strong","vbCaption"),this.bottom.appendChild(this.caption),this.closeText=this.button.querySelector("#vbCloseText"),window.addEventListener("resize",function(){o.isOpen&&o.activeVideo&&o.setPlayerSizePosition()}),t&&this.bind(t,i,e||this.linkMapper)};Videobox.prototype.bind=function(t,i,e){i=void 0===i?{}:i,e=void 0===e?this.linkMapper:e;var o=this;"string"==typeof t&&(t=iterableToArray(document.querySelectorAll(t))),t.forEach(function(t){t.vbListener&&t.removeEventListener("click",t.vbListener),t.vbiListener&&t.removeEventListener("click",t.vbiListener),t.vbListener=function(n){return n.preventDefault(),n.stopPropagation(),n=e(t),n.options=Object.assign({},i,n.options),o.open(n),!1},t.addEventListener("click",t.vbListener)})},Videobox.prototype.open=function(t){"VbInline"in window&&window.VbInline.close(),this.close(),t.options=Object.assign({},this.defaults,t.options),t.options.root||(t.options.root=document.body),this.setup(t);var i=t.origin.target,i=i.querySelector(i.getAttribute("data-target"))||i,e=this.wrap.getBoundingClientRect(),o=i.getBoundingClientRect();toggleClass(i,"vb_line_fix",!0),t.origin=Object.assign({},{x:o.left-e.left+i.clientWidth/2,y:o.top-e.top+i.clientHeight/2,width:i.clientWidth,height:i.clientHeight},t.origin),toggleClass(i,"vb_line_fix",!1),this.changeVideo(t)},Videobox.prototype.close=function(){return this.stop(),[this.wrap,this.bottomContainer,this.overlay].forEach(function(t){return toggleClass(t,"visible",!1)}),this.wrap.style.top="0px",this.wrap.style.left="0px",this.activeVideo=null,!1},Videobox.prototype.setPlayerSizePosition=function(){if(this.activeVideo){this.setPlayerPosition(this.activeVideo.options.root);var t=this.activeVideo.options.width,i=this.activeVideo.options.height;if(t+2*this.activeVideo.options.padding>this.wrap.clientWidth)var e=this.wrap.clientWidth-2*this.activeVideo.options.padding,i=i*e/t,t=e;return i+2*this.activeVideo.options.padding>this.wrap.clientHeight&&(i=this.wrap.clientHeight-2*this.activeVideo.options.padding),t=100*i/t,this.responsive.style.paddingBottom=t+"%",t}},Videobox.prototype.linkMapper=function(t){var i=JSON.parse(t.getAttribute("data-videobox"))||{};if(i.root){var e=i.root;"string"==typeof e&&(e=iterableToArray(document.querySelectorAll(e))),0o&&(i="l"==i?"r":"l",o=0-o);var n=(this.options.moveAll?this.visible:1)*o,n=n%(this.visible+this.detachedElements.length);if("l"==i)for(o=0;othis.timeout?this.move():this.moving=!1},VbSlider.prototype.setCount=function(){var t=this.visible,i=this.target.clientWidth,e=this.attached,e=this.basis+e[0].offsetWidth-e[0].clientWidth,o=Math.floor(i/this.basis);1>o?o=1:e/(i/(o+1))<2-e/(i/o)&&o++,o!=t&&(this.visible=o,this.setAttached()),this.content.style.height=this.target.clientHeight+"px";var n=0;this.options.target&&(n=(this.target.querySelector(this.options.target)||{offsetHeight:0}).offsetHeight/2),this.buttons.forEach(function(t){return t.style.top=n?n+"px":""})},VbSlider.prototype.setAttached=function(){var t=this.attached;if(t.lengththis.visible)for(var i=t.length-1;i>=this.visible;i--)this.detachedElements.unshift(t[i]),detach([t[i]])},$jscomp.global.Object.defineProperties(VbSlider.prototype,{attached:{configurable:!0,enumerable:!0,get:function(){return iterableToArray(this.target.children)}},isMoving:{configurable:!0,enumerable:!0,get:function(){return this.moving}}}),VbSlider.sliders=[],window.addEventListener("resize",function(){return VbSlider.updateSizes()}),window.VbSlider=VbSlider,"undefined"!=typeof jQuery&&libBind$2(jQuery),"undefined"!=typeof Zepto&&libBind$2(Zepto),"loading"!=document.readyState?bindAll():document.addEventListener("readystatechange",function t(){"loading"!=document.readyState&&(document.removeEventListener("readystatechange",t),bindAll())}); +function create(t,i,e){return t=document.createElement(t),i&&(t.id=i),e&&(t.onclick=e),t}function createClass(t,i,e){return t=document.createElement(t),i&&(t.className=i),e&&(t.onclick=e),t}function iterableToArray(t){for(var i=[],e=0;e',this.bottom.appendChild(this.button),this.caption=create("strong","vbCaption"),this.bottom.appendChild(this.caption),this.closeText=this.button.querySelector("#vbCloseText"),window.addEventListener("resize",function(){o.isOpen&&o.activeVideo&&o.setPlayerSizePosition()}),window.addEventListener("keyup",function(t){o.activeVideo&&0<=o.activeVideo.options.closeKeys.indexOf(t.keyCode)&&o.close()}),t&&this.bind(t,i,e||this.linkMapper)};Videobox.prototype.bind=function(t,i,e){i=void 0===i?{}:i,e=void 0===e?this.linkMapper:e;var o=this;"string"==typeof t&&(t=iterableToArray(document.querySelectorAll(t))),t.forEach(function(t){t.vbListener&&t.removeEventListener("click",t.vbListener),t.vbiListener&&t.removeEventListener("click",t.vbiListener),t.vbListener=function(n){return n.preventDefault(),n.stopPropagation(),n=e(t),n.options=Object.assign({},i,n.options),o.open(n),!1},t.addEventListener("click",t.vbListener)})},Videobox.prototype.open=function(t){"VbInline"in window&&window.VbInline.close(),this.close(),t.options=Object.assign({},this.defaults,t.options),t.options.root||(t.options.root=document.body),this.setup(t);var i=t.origin.target,i=i.querySelector(i.getAttribute("data-target"))||i,e=this.wrap.getBoundingClientRect(),o=i.getBoundingClientRect();toggleClass(i,"vb_line_fix",!0),t.origin=Object.assign({},{x:o.left-e.left+i.clientWidth/2,y:o.top-e.top+i.clientHeight/2,width:i.clientWidth,height:i.clientHeight},t.origin),toggleClass(i,"vb_line_fix",!1),this.changeVideo(t)},Videobox.prototype.close=function(){return this.stop(),[this.wrap,this.bottomContainer,this.overlay].forEach(function(t){return toggleClass(t,"visible",!1)}),this.wrap.style.top="0px",this.wrap.style.left="0px",this.activeVideo=null,!1},Videobox.prototype.setPlayerSizePosition=function(){if(this.activeVideo){this.setPlayerPosition(this.activeVideo.options.root);var t=this.activeVideo.options.width,i=this.activeVideo.options.height;if(t+2*this.activeVideo.options.padding>this.wrap.clientWidth)var e=this.wrap.clientWidth-2*this.activeVideo.options.padding,i=i*e/t,t=e;return i+2*this.activeVideo.options.padding>this.wrap.clientHeight&&(i=this.wrap.clientHeight-2*this.activeVideo.options.padding),t=100*i/t,this.responsive.style.paddingBottom=t+"%",t}},Videobox.prototype.linkMapper=function(t){var i=JSON.parse(t.getAttribute("data-videobox"))||{};if(i.root){var e=i.root;"string"==typeof e&&(e=iterableToArray(document.querySelectorAll(e))),0o&&(i="l"==i?"r":"l",o=0-o);var n=(this.options.moveAll?this.visible:1)*o,n=n%(this.visible+this.detachedElements.length);if("l"==i)for(o=0;othis.timeout?this.move():this.moving=!1},VbSlider.prototype.setCount=function(){var t=this.visible,i=this.target.clientWidth,e=this.attached,e=this.basis+e[0].offsetWidth-e[0].clientWidth,o=Math.floor(i/this.basis);1>o?o=1:e/(i/(o+1))<2-e/(i/o)&&o++,o!=t&&(this.visible=o,this.setAttached()),this.content.style.height=this.target.clientHeight+"px";var n=0;this.options.target&&(n=(this.target.querySelector(this.options.target)||{offsetHeight:0}).offsetHeight/2),this.buttons.forEach(function(t){return t.style.top=n?n+"px":""})},VbSlider.prototype.setAttached=function(){var t=this.attached;if(t.lengththis.visible)for(var i=t.length-1;i>=this.visible;i--)this.detachedElements.unshift(t[i]),detach([t[i]])},$jscomp.global.Object.defineProperties(VbSlider.prototype,{attached:{configurable:!0,enumerable:!0,get:function(){return iterableToArray(this.target.children)}},isMoving:{configurable:!0,enumerable:!0,get:function(){return this.moving}}}),VbSlider.sliders=[],window.addEventListener("resize",function(){return VbSlider.updateSizes()}),window.VbSlider=VbSlider,"undefined"!=typeof jQuery&&libBind$2(jQuery),"undefined"!=typeof Zepto&&libBind$2(Zepto),"loading"!=document.readyState?bindAll():document.addEventListener("readystatechange",function t(){"loading"!=document.readyState&&(document.removeEventListener("readystatechange",t),bindAll())}); //# sourceMappingURL=videobox.js.map diff --git a/docs/assets/js/main.js b/docs/assets/js/main.js index 5d25e2f..fdf1833 100644 --- a/docs/assets/js/main.js +++ b/docs/assets/js/main.js @@ -1,5 +1,5 @@ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}function D(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+Math.random()}function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("