.video-js .vjs-big-play-button:before, .video-js .vjs-control:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center; }

@font-face {
  font-family: VideoJS;
  src: url('font/VideoJS.eot?') format('eot'); }

@font-face {
  font-family: VideoJS;
  src: url(data:application/font-woff;charset=utf-8;base64,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) format('woff'), url(data:application/x-font-ttf;charset=utf-8;base64, ) format('truetype');
  font-weight: normal;
  font-style: normal; }

.vjs-icon-play, .video-js .vjs-big-play-button, .video-js .vjs-play-control {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal; }
  .vjs-icon-play:before, .video-js .vjs-big-play-button:before, .video-js .vjs-play-control:before {
    content: '\f101'; }

.vjs-icon-play-circle {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal; }
  .vjs-icon-play-circle:before {
    content: '\f102'; }

.vjs-icon-pause, .video-js .vjs-play-control.vjs-playing {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal; }
  .vjs-icon-pause:before, .video-js .vjs-play-control.vjs-playing:before {
    content: '\f103'; }

.vjs-icon-volume-mute, .video-js .vjs-mute-control.vjs-vol-0, .video-js .vjs-volume-menu-button.vjs-vol-0 {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal; }
  .vjs-icon-volume-mute:before, .video-js .vjs-mute-control.vjs-vol-0:before, .video-js .vjs-volume-menu-button.vjs-vol-0:before {
    content: '\f104'; }

.vjs-icon-volume-low, .video-js .vjs-mute-control.vjs-vol-1, .video-js .vjs-volume-menu-button.vjs-vol-1 {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal; }
  .vjs-icon-volume-low:before, .video-js .vjs-mute-control.vjs-vol-1:before, .video-js .vjs-volume-menu-button.vjs-vol-1:before {
    content: '\f105'; }

.vjs-icon-volume-mid, .video-js .vjs-mute-control.vjs-vol-2, .video-js .vjs-volume-menu-button.vjs-vol-2 {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal; }
  .vjs-icon-volume-mid:before, .video-js .vjs-mute-control.vjs-vol-2:before, .video-js .vjs-volume-menu-button.vjs-vol-2:before {
    content: '\f106'; }

.vjs-icon-volume-high, .video-js .vjs-mute-control, .video-js .vjs-volume-menu-button {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal; }
  .vjs-icon-volume-high:before, .video-js .vjs-mute-control:before, .video-js .vjs-volume-menu-button:before {
    content: '\f107'; }

.vjs-icon-fullscreen-enter, .video-js .vjs-fullscreen-control {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal; }
  .vjs-icon-fullscreen-enter:before, .video-js .vjs-fullscreen-control:before {
    content: '\f108'; }

.vjs-icon-fullscreen-exit, .video-js.vjs-fullscreen .vjs-fullscreen-control {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal; }
  .vjs-icon-fullscreen-exit:before, .video-js.vjs-fullscreen .vjs-fullscreen-control:before {
    content: '\f109'; }

.vjs-icon-square {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal; }
  .vjs-icon-square:before {
    content: '\f10a'; }

.vjs-icon-spinner {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal; }
  .vjs-icon-spinner:before {
    content: '\f10b'; }

.vjs-icon-subtitles, .video-js .vjs-subtitles-button {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal; }
  .vjs-icon-subtitles:before, .video-js .vjs-subtitles-button:before {
    content: '\f10c'; }

.vjs-icon-captions, .video-js .vjs-captions-button {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal; }
  .vjs-icon-captions:before, .video-js .vjs-captions-button:before {
    content: '\f10d'; }

.vjs-icon-chapters, .video-js .vjs-chapters-button {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal; }
  .vjs-icon-chapters:before, .video-js .vjs-chapters-button:before {
    content: '\f10e'; }

.vjs-icon-share {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal; }
  .vjs-icon-share:before {
    content: '\f10f'; }

.vjs-icon-cog {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal; }
  .vjs-icon-cog:before {
    content: '\f110'; }

.vjs-icon-circle, .video-js .vjs-mouse-display, .video-js .vjs-play-progress, .video-js .vjs-volume-level {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal; }
  .vjs-icon-circle:before, .video-js .vjs-mouse-display:before, .video-js .vjs-play-progress:before, .video-js .vjs-volume-level:before {
    content: '\f111'; }

.vjs-icon-circle-outline {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal; }
  .vjs-icon-circle-outline:before {
    content: '\f112'; }

.vjs-icon-circle-inner-circle {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal; }
  .vjs-icon-circle-inner-circle:before {
    content: '\f113'; }

.vjs-icon-audio-description {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal; }
  .vjs-icon-audio-description:before {
    content: '\f114'; }

.video-js {
  /* display:inline-block would be closer to the video el's display:inline
   * but it results in flash reloading when going into fullscreen [#2205]
   */
  display: block;
  /* Make video.js videos align top when next to video elements */
  vertical-align: top;
  box-sizing: border-box;
  color: #fff;
  background-color: #000;
  position: relative;
  padding: 0;
  /* Start with 10px for base font size so other dimensions can be em based and
  easily calculable. */
  font-size: 10px;
  line-height: 1;
  /* Provide some basic defaults for fonts */
  font-weight: normal;
  font-style: normal;
  /* Avoiding helvetica: issue #376 */
  font-family: Arial, Helvetica, sans-serif;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* Fix for Firefox 9 fullscreen (only if it is enabled). Not needed when
  checking fullScreenEnabled. */ }
  .video-js:-moz-full-screen {
    position: absolute; }
  .video-js:-webkit-full-screen {
    width: 100% !important;
    height: 100% !important; }

/* All elements inherit border-box sizing */
.video-js *, .video-js *:before, .video-js *:after {
  box-sizing: inherit; }

/* List style reset */
.video-js ul {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  list-style-position: outside;
  /* Important to specify each */
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
  margin-bottom: 0; }

/* Fill the width of the containing element and use padding to create the
   desired aspect ratio. Default to 16x9 unless another ratio is given. */
/* Not including a default AR in vjs-fluid because it would override
   the user set AR injected into the header. */
.video-js.vjs-fluid, .video-js.vjs-16-9, .video-js.vjs-4-3 {
  width: 100%;
  max-width: 100%;
  height: 0; }

.video-js.vjs-16-9 {
  padding-top: 56.25%; }

.video-js.vjs-4-3 {
  padding-top: 75%; }

.video-js.vjs-fill {
  width: 100%;
  height: 100%; }

/* Playback technology elements expand to the width/height of the containing div
<video> or <object> */
.video-js .vjs-tech {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/* Fullscreen Styles */
body.vjs-full-window {
  padding: 0;
  margin: 0;
  height: 100%;
  /* Fix for IE6 full-window. http://www.cssplay.co.uk/layouts/fixed.html */
  overflow-y: auto; }

.vjs-full-window .video-js.vjs-fullscreen {
  position: fixed;
  overflow: hidden;
  z-index: 1000;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0; }

.video-js.vjs-fullscreen {
  width: 100% !important;
  height: 100% !important;
  /* Undo any aspect ratio padding for fluid layouts */
  padding-top: 0 !important; }

.video-js.vjs-fullscreen.vjs-user-inactive {
  cursor: none; }

/* Hide disabled or unsupported controls. */
.vjs-hidden {
  display: none !important; }

.vjs-lock-showing {
  display: block !important;
  opacity: 1;
  visibility: visible; }

/*  In IE8 w/ no JavaScript (no HTML5 shim), the video tag doesn't register.
The .video-js classname on the video tag also isn't considered.
This optional paragraph inside the video tag can provide a message to users
about what's required to play video. */
.vjs-no-js {
  padding: 20px;
  color: #fff;
  background-color: #000;
  font-size: 18px;
  font-family: Arial, Helvetica, sans-serif;
  text-align: center;
  width: 300px;
  height: 150px;
  margin: 0px auto; }

.vjs-no-js a, .vjs-no-js a:visited {
  color: #66A8CC; }

.video-js .vjs-big-play-button {
  font-size: 3em;
  line-height: 1.5em;
  height: 1.5em;
  width: 3em;
  display: block;
  z-index: 2;
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 0;
  cursor: pointer;
  opacity: 1;
  border: 0.06666em solid #fff;
  /* Need a slightly gray bg so it can be seen on black backgrounds */
  background-color: #2B333F;
  background-color: rgba(43, 51, 63, 0.7);
  -webkit-border-radius: 0.3em;
  -moz-border-radius: 0.3em;
  border-radius: 0.3em;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s; }

.vjs-big-play-centered .vjs-big-play-button {
  top: 50%;
  left: 50%;
  margin-top: -0.75em;
  margin-left: -1.5em; }

.video-js:hover .vjs-big-play-button, .video-js .vjs-big-play-button:focus {
  outline: 0;
  border-color: #fff;
  background-color: #73859f;
  background-color: rgba(115, 133, 159, 0.5);
  -webkit-transition: all 0s;
  -moz-transition: all 0s;
  -o-transition: all 0s;
  transition: all 0s; }

.vjs-controls-disabled .vjs-big-play-button, .vjs-has-started .vjs-big-play-button, .vjs-using-native-controls .vjs-big-play-button, .vjs-error .vjs-big-play-button {
  display: none; }

.video-js button {
  background: none;
  border: none;
  color: inherit;
  display: inline-block;
  overflow: visible;
  font-size: inherit;
  line-height: inherit;
  text-transform: none;
  text-decoration: none;
  transition: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.vjs-menu-button {
  cursor: pointer; }

.vjs-menu .vjs-menu-content {
  display: block;
  padding: 0;
  margin: 0;
  overflow: auto; }

/* prevent menus from opening while scrubbing (FF, IE) */
.vjs-scrubbing .vjs-menu-button:hover .vjs-menu {
  display: none; }

.vjs-menu li {
  list-style: none;
  margin: 0;
  padding: 0.2em 0;
  line-height: 1.4em;
  font-size: 1.2em;
  text-align: center;
  text-transform: lowercase; }

.vjs-menu li:focus, .vjs-menu li:hover {
  outline: 0;
  background-color: #73859f;
  background-color: rgba(115, 133, 159, 0.5); }

.vjs-menu li.vjs-selected, .vjs-menu li.vjs-selected:focus, .vjs-menu li.vjs-selected:hover {
  background-color: #fff;
  color: #2B333F; }

.vjs-menu li.vjs-menu-title {
  text-align: center;
  text-transform: uppercase;
  font-size: 1em;
  line-height: 2em;
  padding: 0;
  margin: 0 0 0.3em 0;
  font-weight: bold;
  cursor: default; }

.vjs-menu-button-popup .vjs-menu {
  display: none;
  position: absolute;
  bottom: 0;
  width: 10em;
  left: -3em;
  /* (Width of vjs-menu - width of button) / 2 */
  height: 0em;
  margin-bottom: 1.5em;
  border-top-color: rgba(43, 51, 63, 0.7);
  /* Same as ul background */ }

/* Button Pop-up Menu */
.vjs-menu-button-popup .vjs-menu ul {
  background-color: #2B333F;
  background-color: rgba(43, 51, 63, 0.7);
  position: absolute;
  width: 100%;
  bottom: 1.5em;
  /* Same bottom as vjs-menu border-top */
  max-height: 15em; }

.vjs-menu-button-popup:hover .vjs-menu, .vjs-menu-button-popup .vjs-menu.vjs-lock-showing {
  display: block; }

.video-js .vjs-menu-button-inline {
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  overflow: hidden; }

.video-js .vjs-menu-button-inline:before {
  width: 2.222222222em; }

.video-js .vjs-menu-button-inline:hover, .video-js .vjs-menu-button-inline:focus, .video-js .vjs-menu-button-inline.vjs-slider-active, .video-js.vjs-no-flex .vjs-menu-button-inline {
  width: 12em; }

.video-js .vjs-menu-button-inline.vjs-slider-active {
  -webkit-transition: none;
  -moz-transition: none;
  -o-transition: none;
  transition: none; }

.vjs-menu-button-inline .vjs-menu {
  opacity: 0;
  height: 100%;
  width: auto;
  position: absolute;
  left: 2.2222222em;
  top: 0;
  padding: 0;
  margin: 0;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s; }

.vjs-menu-button-inline:hover .vjs-menu, .vjs-menu-button-inline:focus .vjs-menu, .vjs-menu-button-inline.vjs-slider-active .vjs-menu {
  display: block;
  opacity: 1; }

.vjs-no-flex .vjs-menu-button-inline .vjs-menu {
  display: block;
  opacity: 1;
  position: relative;
  width: auto; }

.vjs-no-flex .vjs-menu-button-inline:hover .vjs-menu, .vjs-no-flex .vjs-menu-button-inline:focus .vjs-menu, .vjs-no-flex .vjs-menu-button-inline.vjs-slider-active .vjs-menu {
  width: auto; }

.vjs-menu-button-inline .vjs-menu-content {
  width: auto;
  height: 100%;
  margin: 0;
  overflow: hidden; }

.video-js .vjs-control-bar {
  display: none;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3em;
  background-color: #2B333F;
  background-color: rgba(43, 51, 63, 0.7); }

.vjs-has-started .vjs-control-bar {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  visibility: visible;
  opacity: 1;
  -webkit-transition: visibility 0.1s, opacity 0.1s;
  -moz-transition: visibility 0.1s, opacity 0.1s;
  -o-transition: visibility 0.1s, opacity 0.1s;
  transition: visibility 0.1s, opacity 0.1s; }

.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: visibility 1s, opacity 1s;
  -moz-transition: visibility 1s, opacity 1s;
  -o-transition: visibility 1s, opacity 1s;
  transition: visibility 1s, opacity 1s; }

.vjs-controls-disabled .vjs-control-bar, .vjs-using-native-controls .vjs-control-bar, .vjs-error .vjs-control-bar {
  /* !important is ok in this context. */
  display: none !important; }

.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {
  opacity: 1;
  visibility: visible; }

/* IE8 is flakey with fonts, and you have to change the actual content to force
fonts to show/hide properly.
- "\9" IE8 hack didn't work for this
- Found in XP IE8 from http://modern.ie. Does not show up in "IE8 mode" in IE9
*/
@media \0screen {
  .vjs-user-inactive.vjs-playing .vjs-control-bar :before {
    content: ""; } }

/* IE 8 + 9 Support */
.vjs-has-started.vjs-no-flex .vjs-control-bar {
  display: table; }

.video-js .vjs-control {
  outline: none;
  position: relative;
  text-align: center;
  margin: 0;
  padding: 0;
  height: 100%;
  width: 4em;
  -webkit-box-flex: none;
  -moz-box-flex: none;
  -webkit-flex: none;
  -ms-flex: none;
  flex: none; }
  .video-js .vjs-control:before {
    font-size: 1.8em;
    line-height: 1.67; }

/* Replacement for focus outline */
.video-js .vjs-control:focus:before, .video-js .vjs-control:hover:before, .video-js .vjs-control:focus {
  text-shadow: 0em 0em 1em white; }

/* Hide control text visually, but have it available for screenreaders */
.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; }

/* IE 8 + 9 Support */
.vjs-no-flex .vjs-control {
  display: table-cell;
  vertical-align: middle; }

.video-js .vjs-custom-control-spacer {
  display: none; }

/**
 * Let's talk pixel math!
 * Start with a base font size of 10px (assuming that hasn't changed)
 * No Hover:
 * - Progress holder is 3px
 * - Progress handle is 9px
 * - Progress handle is pulled up 3px to center it.
 *
 * Hover:
 * - Progress holder becomes 5px
 * - Progress handle becomes 15px
 * - Progress handle is pulled up 5px to center it
 */
.video-js .vjs-progress-control {
  -webkit-box-flex: auto;
  -moz-box-flex: auto;
  -webkit-flex: auto;
  -ms-flex: auto;
  flex: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center; }

.vjs-live .vjs-progress-control {
  display: none; }

/* Box containing play and load progresses. Also acts as seek scrubber. */
.video-js .vjs-progress-holder {
  -webkit-box-flex: auto;
  -moz-box-flex: auto;
  -webkit-flex: auto;
  -ms-flex: auto;
  flex: auto;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  height: 0.3em; }

/* We need an increased hit area on hover */
.video-js .vjs-progress-control:hover .vjs-progress-holder {
  font-size: 1.6666666667em; }

/* Also show the current time tooltip */
.video-js .vjs-progress-control:hover .vjs-mouse-display:after, .video-js .vjs-progress-control:hover .vjs-play-progress:after {
  display: block;
  /* If we let the font size grow as much as everything else, the current time tooltip ends up
     ginormous. If you'd like to enable the current time tooltip all the time, this should be disabled
     to avoid a weird hitch when you roll off the hover. */
  font-size: 0.6em; }

/* Progress Bars */
.video-js .vjs-progress-holder .vjs-play-progress, .video-js .vjs-progress-holder .vjs-load-progress, .video-js .vjs-progress-holder .vjs-load-progress div {
  position: absolute;
  display: block;
  height: 0.3em;
  margin: 0;
  padding: 0;
  /* updated by javascript during playback */
  width: 0;
  /* Needed for IE6 */
  left: 0;
  top: 0; }

.video-js .vjs-mouse-display:before {
  display: none; }

.video-js .vjs-play-progress {
  background-color: #fff; }
  .video-js .vjs-play-progress:before {
    position: absolute;
    top: -0.3333333333em;
    right: -0.5em;
    font-size: 0.9em; }

.video-js .vjs-mouse-display:after, .video-js .vjs-play-progress:after {
  /* By default this is hidden and only shown when hovering over the progress control */
  display: none;
  position: absolute;
  top: -2.4em;
  right: -1.5em;
  font-size: 0.9em;
  color: #000;
  content: attr(data-current-time);
  padding: 0.2em 0.5em;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-border-radius: 0.3em;
  -moz-border-radius: 0.3em;
  border-radius: 0.3em; }

.video-js .vjs-play-progress:before, .video-js .vjs-play-progress:after {
  z-index: 1; }

.video-js .vjs-load-progress {
  /* For IE8 we'll lighten the color */
  background: ligthen(#73859f, 25%);
  /* Otherwise we'll rely on stacked opacities */
  background: rgba(115, 133, 159, 0.5); }

/* there are child elements of the load progress bar that represent the
specific time ranges that have been buffered */
.video-js .vjs-load-progress div {
  /* For IE8 we'll lighten the color */
  background: ligthen(#73859f, 50%);
  /* Otherwise we'll rely on stacked opacities */
  background: rgba(115, 133, 159, 0.75); }

.video-js.vjs-no-flex .vjs-progress-control {
  width: auto; }

.video-js .vjs-progress-control .vjs-mouse-display {
  display: none;
  position: absolute;
  width: 1px;
  height: 100%;
  background-color: #000;
  z-index: 1; }

.vjs-no-flex .vjs-progress-control .vjs-mouse-display {
  z-index: 0; }

.video-js .vjs-progress-control:hover .vjs-mouse-display {
  display: block; }

.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display, .video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display:after {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: visibility 1s, opacity 1s;
  -moz-transition: visibility 1s, opacity 1s;
  -o-transition: visibility 1s, opacity 1s;
  transition: visibility 1s, opacity 1s; }

.video-js.vjs-user-inactive.vjs-no-flex .vjs-progress-control .vjs-mouse-display, .video-js.vjs-user-inactive.vjs-no-flex .vjs-progress-control .vjs-mouse-display:after {
  display: none; }

.video-js .vjs-progress-control .vjs-mouse-display:after {
  color: #fff;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.8); }

.video-js .vjs-slider {
  outline: 0;
  position: relative;
  cursor: pointer;
  padding: 0;
  margin: 0 0.45em 0 0.45em;
  background-color: #73859f;
  background-color: rgba(115, 133, 159, 0.5); }

.video-js .vjs-slider:focus {
  text-shadow: 0em 0em 1em white;
  -webkit-box-shadow: 0 0 1em #fff;
  -moz-box-shadow: 0 0 1em #fff;
  box-shadow: 0 0 1em #fff; }

.video-js .vjs-mute-control, .video-js .vjs-volume-menu-button {
  cursor: pointer;
  -webkit-box-flex: none;
  -moz-box-flex: none;
  -webkit-flex: none;
  -ms-flex: none;
  flex: none; }

.video-js .vjs-volume-control {
  width: 5em;
  -webkit-box-flex: none;
  -moz-box-flex: none;
  -webkit-flex: none;
  -ms-flex: none;
  flex: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center; }

.video-js .vjs-volume-bar {
  margin: 1.35em; }

.vjs-volume-bar.vjs-slider-horizontal {
  width: 5em;
  height: 0.3em; }

.vjs-volume-bar.vjs-slider-vertical {
  width: 0.3em;
  height: 5em; }

.video-js .vjs-volume-level {
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #fff; }
  .video-js .vjs-volume-level:before {
    position: absolute;
    font-size: 0.9em; }

.vjs-slider-vertical .vjs-volume-level {
  width: 0.3em; }
  .vjs-slider-vertical .vjs-volume-level:before {
    top: -0.5em;
    left: -0.3em; }

.vjs-slider-horizontal .vjs-volume-level {
  height: 0.3em; }
  .vjs-slider-horizontal .vjs-volume-level:before {
    top: -0.3em;
    right: -0.5em; }

/* Assumes volume starts at 1.0. */
.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level {
  height: 100%; }

.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level {
  width: 100%; }

/* The volume menu button is like menu buttons (captions/subtitles) but works
a little differently. It needs to be possible to tab to the volume slider
without hitting space bar on the menu button. To do this we're not using
display:none to hide the slider menu by default, and instead setting the
width and height to zero. */
.vjs-menu-button-popup.vjs-volume-menu-button .vjs-menu {
  display: block;
  width: 0;
  height: 0;
  border-top-color: transparent; }

.vjs-menu-button-popup.vjs-volume-menu-button-vertical .vjs-menu {
  left: 0.5em; }

.vjs-menu-button-popup.vjs-volume-menu-button-horizontal .vjs-menu {
  left: -2em; }

.vjs-menu-button-popup.vjs-volume-menu-button .vjs-menu-content {
  height: 0;
  width: 0;
  overflow-x: hidden;
  overflow-y: hidden; }

.vjs-volume-menu-button-vertical:hover .vjs-menu-content, .vjs-volume-menu-button-vertical .vjs-lock-showing .vjs-menu-content {
  height: 8em;
  width: 2.9em; }

.vjs-volume-menu-button-horizontal:hover .vjs-menu-content, .vjs-volume-menu-button-horizontal .vjs-lock-showing .vjs-menu-content {
  height: 2.9em;
  width: 8em; }

.vjs-volume-menu-button.vjs-menu-button-inline .vjs-menu-content {
  /* An inline volume should never have a menu background color.
     This protects it from external changes to background colors. */
  background-color: transparent !important; }

.vjs-poster {
  display: inline-block;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
  cursor: pointer;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%; }

/* Used for IE8 fallback */
.vjs-poster img {
  display: block;
  vertical-align: middle;
  margin: 0 auto;
  max-height: 100%;
  padding: 0;
  width: 100%; }

/* Hide the poster after the video has started playing */
.vjs-has-started .vjs-poster {
  display: none; }

/* Don't hide the poster if we're playing audio */
.vjs-audio.vjs-has-started .vjs-poster {
  display: block; }

/* Hide the poster when controls are disabled because it's clickable
and the native poster can take over */
.vjs-controls-disabled .vjs-poster {
  display: none; }

/* Hide the poster when native controls are used otherwise it covers them */
.vjs-using-native-controls .vjs-poster {
  display: none; }

.video-js .vjs-live-control {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -webkit-box-flex: auto;
  -moz-box-flex: auto;
  -webkit-flex: auto;
  -ms-flex: auto;
  flex: auto;
  font-size: 1em;
  line-height: 3em; }

.vjs-no-flex .vjs-live-control {
  display: table-cell;
  width: auto;
  text-align: left; }

.video-js .vjs-time-control {
  -webkit-box-flex: none;
  -moz-box-flex: none;
  -webkit-flex: none;
  -ms-flex: none;
  flex: none;
  font-size: 1em;
  line-height: 3em; }

.vjs-live .vjs-time-control {
  display: none; }

/* We need the extra specificity that referencing .vjs-no-flex provides. */
.video-js .vjs-current-time, .vjs-no-flex .vjs-current-time {
  display: none; }

.video-js .vjs-duration, .vjs-no-flex .vjs-duration {
  display: none; }

.vjs-time-divider {
  display: none;
  line-height: 3em; }

.vjs-live .vjs-time-divider {
  display: none; }

.video-js .vjs-play-control {
  cursor: pointer;
  -webkit-box-flex: none;
  -moz-box-flex: none;
  -webkit-flex: none;
  -ms-flex: none;
  flex: none; }

.vjs-text-track-display {
  position: absolute;
  bottom: 3em;
  left: 0;
  right: 0;
  top: 0;
  pointer-events: none; }

/* Move captions down when controls aren't being shown */
.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display {
  bottom: 1em; }

/* Individual tracks */
.video-js .vjs-text-track {
  font-size: 1.4em;
  text-align: center;
  margin-bottom: 0.1em;
  /* Transparent black background, or fallback to all black (oldIE) */
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.5); }

.vjs-subtitles {
  color: #fff;
  /* Subtitles are white */ }

.vjs-captions {
  color: #fc6;
  /* Captions are yellow */ }

.vjs-tt-cue {
  display: block; }

.video-js .vjs-fullscreen-control {
  width: 3.8em;
  cursor: pointer;
  -webkit-box-flex: none;
  -moz-box-flex: none;
  -webkit-flex: none;
  -ms-flex: none;
  flex: none; }

/* Switch to the exit icon when the player is in fullscreen */
.vjs-playback-rate .vjs-playback-rate-value {
  font-size: 1.5em;
  line-height: 2;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center; }

.vjs-playback-rate .vjs-menu {
  width: 4em;
  left: 0em; }

.vjs-error-display {
  display: none; }

.vjs-error .vjs-error-display {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%; }

.vjs-error .vjs-error-display:before {
  content: 'X';
  font-family: Arial, Helvetica, sans-serif;
  font-size: 4em;
  color: #fff;
  /* In order to center the play icon vertically we need to set the line height
  to the same as the button height */
  line-height: 1;
  text-shadow: 0.05em 0.05em 0.1em #000;
  text-align: center;
  /* Needed for IE8 */
  vertical-align: middle;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -0.5em;
  width: 100%; }

.vjs-error-display div {
  position: absolute;
  bottom: 1em;
  right: 0;
  left: 0;
  font-size: 1.4em;
  text-align: center;
  padding: 3px;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.5); }

.vjs-error-display a, .vjs-error-display a:visited {
  color: #66A8CC; }

.vjs-loading-spinner {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -25px 0 0 -25px;
  opacity: 0.85;
  /* Need to fix centered page layouts */
  text-align: left;
  border: 6px solid rgba(43, 51, 63, 0.7);
  box-sizing: border-box;
  background-clip: padding-box;
  width: 50px;
  height: 50px;
  border-radius: 25px; }

.vjs-seeking .vjs-loading-spinner, .vjs-waiting .vjs-loading-spinner {
  display: block; }

.vjs-loading-spinner:before, .vjs-loading-spinner:after {
  content: "";
  position: absolute;
  margin: -6px;
  box-sizing: inherit;
  width: inherit;
  height: inherit;
  border-radius: inherit;
  /* Keep 100% opacity so they don't show through each other */
  opacity: 1;
  border: inherit;
  border-color: transparent;
  border-top-color: white; }

/* only animate when showing because it can be processor heavy */
.vjs-seeking .vjs-loading-spinner:before, .vjs-seeking .vjs-loading-spinner:after, .vjs-waiting .vjs-loading-spinner:before, .vjs-waiting .vjs-loading-spinner:after {
  -webkit-animation: vjs-spinner-spin 1.1s cubic-bezier(0.6, 0.2, 0, 0.8) infinite, vjs-spinner-fade 1.1s linear infinite;
  animation: vjs-spinner-spin 1.1s cubic-bezier(0.6, 0.2, 0, 0.8) infinite, vjs-spinner-fade 1.1s linear infinite; }

.vjs-seeking .vjs-loading-spinner:before, .vjs-waiting .vjs-loading-spinner:before {
  border-top-color: white; }

.vjs-seeking .vjs-loading-spinner:after, .vjs-waiting .vjs-loading-spinner:after {
  border-top-color: white;
  -webkit-animation-delay: 0.44s;
  animation-delay: 0.44s; }

@keyframes vjs-spinner-spin {
  100% {
    transform: rotate(360deg); } }

@-webkit-keyframes vjs-spinner-spin {
  100% {
    -webkit-transform: rotate(360deg); } }

@keyframes vjs-spinner-fade {
  0% {
    border-top-color: #73859f; }

  20% {
    border-top-color: #73859f; }

  35% {
    border-top-color: white; }

  60% {
    border-top-color: #73859f; }

  100% {
    border-top-color: #73859f; } }

@-webkit-keyframes vjs-spinner-fade {
  0% {
    border-top-color: #73859f; }

  20% {
    border-top-color: #73859f; }

  35% {
    border-top-color: white; }

  60% {
    border-top-color: #73859f; }

  100% {
    border-top-color: #73859f; } }

.vjs-chapters-button .vjs-menu {
  left: -10em;
  /* (Width of vjs-menu - width of vjs-control) / 2 */
  width: 0; }

.vjs-chapters-button .vjs-menu ul {
  width: 24em; }

.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-custom-control-spacer {
  -webkit-box-flex: auto;
  -moz-box-flex: auto;
  -webkit-flex: auto;
  -ms-flex: auto;
  flex: auto; }
.video-js.vjs-layout-tiny:not(.vjs-fullscreen).vjs-no-flex .vjs-custom-control-spacer {
  width: auto; }
.video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-current-time, .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-captions-button, .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-time-divider, .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-progress-control, .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-duration, .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-remaining-time, .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-playback-rate, .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-mute-control, .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-volume-control, .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-chapters-button, .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-captions-button, .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-subtitles-button, .video-js.vjs-layout-tiny:not(.vjs-fullscreen) .vjs-volume-menu-button {
  display: none; }

.video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-current-time, .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-captions-button, .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-time-divider, .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-duration, .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-remaining-time, .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-playback-rate, .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-captions-button, .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-mute-control, .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-volume-control, .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-chapters-button, .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-subtitles-button, .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-volume-button, .video-js.vjs-layout-x-small:not(.vjs-fullscreen) .vjs-fullscreen-control {
  display: none; }

.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-current-time, .video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-captions-button, .video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-time-divider, .video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-duration, .video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-remaining-time, .video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-playback-rate, .video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-mute-control, .video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-volume-control, .video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-chapters-button, .video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-subtitles-button {
  display: none; }

.vjs-caption-settings {
  position: relative;
  top: 1em;
  background-color: #2B333F;
  background-color: rgba(43, 51, 63, 0.75);
  color: #fff;
  margin: 0 auto;
  padding: 0.5em;
  height: 15em;
  font-size: 12px;
  width: 40em; }

.vjs-caption-settings .vjs-tracksettings {
  top: 0;
  bottom: 2em;
  left: 0;
  right: 0;
  position: absolute;
  overflow: auto; }

.vjs-caption-settings .vjs-tracksettings-colors, .vjs-caption-settings .vjs-tracksettings-font {
  float: left; }

.vjs-caption-settings .vjs-tracksettings-colors:after, .vjs-caption-settings .vjs-tracksettings-font:after, .vjs-caption-settings .vjs-tracksettings-controls:after {
  clear: both; }

.vjs-caption-settings .vjs-tracksettings-controls {
  position: absolute;
  bottom: 1em;
  right: 1em; }

.vjs-caption-settings .vjs-tracksetting {
  margin: 5px;
  padding: 3px;
  min-height: 40px; }

.vjs-caption-settings .vjs-tracksetting label {
  display: block;
  width: 100px;
  margin-bottom: 5px; }

.vjs-caption-settings .vjs-tracksetting span {
  display: inline;
  margin-left: 5px; }

.vjs-caption-settings .vjs-tracksetting > div {
  margin-bottom: 5px;
  min-height: 20px; }

.vjs-caption-settings .vjs-tracksetting > div:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  min-height: 0; }

.vjs-caption-settings label > input {
  margin-right: 10px; }

.vjs-caption-settings input[type="button"] {
  width: 40px;
  height: 40px; }
