/*!
Video.js Default Styles (http://videojs.com)
Version 4.6.4
Create your own skin at http://designer.videojs.com
*/
/* SKIN
================================================================================
The main class name for all skin-specific styles. To make your own skin,
replace all occurances of 'vjs-default-skin' with a new name. Then add your new
skin name to your video tag instead of the default skin.
e.g. <video class="video-js my-skin-name">
*/

.vdgm-default-skin *{
  color: #cccccc;
  font-size: 10px;
  
  -webkit-transition: color 0.1s;
  -moz-transition: color 0.1s;
  -o-transition: color 0.1s;
  transition: color 0.1s;
}

.vdgm-default-skin{
    overflow:hidden;
}

/* Custom Icon Font
--------------------------------------------------------------------------------
The control icons are from a custom font. Each icon corresponds to a character
(e.g. "\e001"). Font icons allow for easy scaling and coloring of icons.
*/
@font-face {
  font-family: 'icomoon2';
  src: url('/vdgmvideoplayer/StandAlonePlayer/fonts/icomoon.eot');
  src: url('/vdgmvideoplayer/StandAlonePlayer/fonts/icomoon.eot?#iefix') format('rembedded-opentype'), url('/vdgmvideoplayer/StandAlonePlayer/fonts/icomoon.woff') format('woff'), url('/vdgmvideoplayer/StandAlonePlayer/fonts/icomoon.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "chromecast";
  src: url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAS8AAsAAAAABHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABCAAAAGAAAABgCCL8tmNtYXAAAAFoAAAATAAAAEwaVcxXZ2FzcAAAAbQAAAAIAAAACAAAABBnbHlmAAABvAAAAPwAAAD8H/uKE2hlYWQAAAK4AAAANgAAADYCPa1TaGhlYQAAAvAAAAAkAAAAJASAAoRobXR4AAADFAAAABQAAAAUA54AAGxvY2EAAAMoAAAADAAAAAwAKACSbWF4cAAAAzQAAAAgAAAAIAAKAD5uYW1lAAADVAAAAUUAAAFFVxmm7nBvc3QAAAScAAAAIAAAACAAAwAAAAMCAAGQAAUAAAFMAWYAAABHAUwBZgAAAPUAGQCEAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA5gAB4P/g/+AB4AAgAAAAAQAAAAAAAAAAAAAAIAAAAAAAAgAAAAMAAAAUAAMAAQAAABQABAA4AAAACgAIAAIAAgABACDmAP/9//8AAAAAACDmAP/9//8AAf/jGgQAAwABAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAQAAP/gAp4B4AAUAB0ALAA7AAATFR4BFx4BFzUhESEeARceARchESEDFTMuAScuASc1FR4BFx4BFzMuAScuASc1FR4BFx4BFzMuAScuAScnBw4GBw0GAg3+rwIFAgIDAQF3/YknSwMOCgoYDhYnDw8VBDUFHRYWOiEpSBwbJAU0BCwjI1s0AeDZAQMCAgUCs/6RBg0HBg4HAdn+S0sOGAoKDgNeNQQVDw8nFiE6FhYdBVw0BSQbHEgpNFsjIywEAAEAAAAAAAD1+MbOXw889QALAgAAAAAA0EC2SwAAAADQQLZLAAD/4AKeAeAAAAAIAAIAAAAAAAAAAQAAAeD/4AAAAp4AAAAAAp4AAQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAABAAAAAp4AAAAAAAAACgAUAB4AfgABAAAABQA8AAQAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADgAAAAEAAAAAAAIADgBHAAEAAAAAAAMADgAkAAEAAAAAAAQADgBVAAEAAAAAAAUAFgAOAAEAAAAAAAYABwAyAAEAAAAAAAoANABjAAMAAQQJAAEADgAAAAMAAQQJAAIADgBHAAMAAQQJAAMADgAkAAMAAQQJAAQADgBVAAMAAQQJAAUAFgAOAAMAAQQJAAYADgA5AAMAAQQJAAoANABjAGkAYwBvAG0AbwBvAG4AVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG0AbwBvAG5pY29tb29uAGkAYwBvAG0AbwBvAG4AUgBlAGcAdQBsAGEAcgBpAGMAbwBtAG8AbwBuAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA") format("woff");
  font-weight: normal;
  font-style: normal;
}
/* Base UI Component Classes
--------------------------------------------------------------------------------
*/
/* Slider - used for Volume bar and Seek bar */
.vdgm-default-skin .vjs-slider {
  /* Replace browser focus hightlight with handle highlight */
  outline: 0;
  position: relative;
  cursor: pointer;
  padding: 0;
  /* background-color-with-alpha */
  background-color: #333333;
  background-color: rgba(51, 51, 51, 0.9);
}
.vdgm-default-skin .vjs-slider:focus {
  /* box-shadow */
  -webkit-box-shadow: 0 0 2rem #ffffff;
  -moz-box-shadow: 0 0 2rem #ffffff;
  box-shadow: 0 0 2rem #ffffff;
}
.vdgm-default-skin .vjs-slider-handle {
  position: absolute;
  /* Needed for IE6 */
  left: 0;
  top: 0;
}

.vdgm-default-skin .vjs-slider-handle:before {
    content: "";
    height: 10px;
    width: 10px;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: white;
    border-radius: 50%;
    margin-top: -5px;
    margin-left: -5px;
}




/* Control Bar
--------------------------------------------------------------------------------
The default control bar that is a container for most of the controls.
*/
.vdgm-default-skin .vjs-control-bar {
  /* Start hidden */
  display: none;
  position: absolute;
  /* Place control bar at the bottom of the player box/video.
     If you want more margin below the control bar, add more height. */
  bottom: 0;
  /* Use left/right to stretch to 100% width of player div */
  left: 0;
  right: 0;
  /* Height includes any margin you want above or below control itrems */
  height: 3.0rem;
  /* background-color-with-alpha */
  background-color: #07141e;
  background-color: rgba(7, 20, 30, 0.7);
}
/* Show the control bar only once the video has started playing */
.vdgm-default-skin.vjs-has-started .vjs-control-bar {
  display: block;
  /* Visibility needed to make sure things hide in older browsers too. */
  bottom:0;
  /* transition */
  -webkit-transition: bottom 0.3s ease-out;
  -moz-transition: bottom 0.3s ease-out;
  -o-transition: bottom 0.3s ease-out;
  transition: bottom 0.3s ease-out;
}
/* Hide the control bar when the video is playing and the user is inactive  */
.vdgm-default-skin.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {
  display: block;
  
  bottom:-3rem;
  
  /* transition */
  -webkit-transition: bottom 0.3s ease-out;
  -moz-transition: bottom 0.3s ease-out;
  -o-transition: bottom 0.3s ease-out;
  transition: bottom 0.3s ease-out;
}

.vdgm-default-skin.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-seek-handle{
    opacity: 0;
    
    -webkit-transition: opacity 0.1s, left 0.3s;
    -moz-transition: opacity 0.1s, left 0.3s;
    -o-transition: opacity 0.1s, left 0.3s;
    transition: opacity 0.1s, left 0.3s;
}

.vdgm-default-skin.vjs-has-started.vjs-user-active.vjs-playing .vjs-seek-handle{
    opacity: 1;
    
    -webkit-transition: opacity 0.1s, left 0.3s;
    -moz-transition: opacity 0.1s, left 0.3s;
    -o-transition: opacity 0.1s, left 0.3s;
    transition: opacity 0.1s, left 0.3s;
}


.vdgm-default-skin.vjs-controls-disabled .vjs-control-bar {
  display: none;
}
.vdgm-default-skin.vjs-using-native-controls .vjs-control-bar {
  display: none;
}
/* The control bar shouldn't show after an error */
.vdgm-default-skin.vjs-error .vjs-control-bar {
  display: none;
}
/* 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 {
  .vdgm-default-skin.vjs-user-inactive.vjs-playing .vjs-control-bar :before {
    content: "";
  }
}
/* General styles for individual controls. */
.vdgm-default-skin .vjs-control {
  outline: none;
  position: relative;
  float: left;
  text-align: center;
  margin: 0;
  padding: 0;
  height: 3.0rem;
  width: 4rem;
}
/* FontAwsome button icons */
.vdgm-default-skin .vjs-control:before {
  font-family: 'icomoon2';
  font-size: 1.5rem;
  line-height: 2;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
}
/* Replacrement for focus outline */
.vdgm-default-skin .vjs-control:focus:before,
.vdgm-default-skin .vjs-control:hover:before {
  color:white;
}
.vdgm-default-skin .vjs-control:focus {
  /*  outline: 0; */
  /* keyboard-only users cannot see the focus on several of the UI elrements when
  this is set to 0 */

}
/* Hide control text visually, but have it available for screenreaders */
.vdgm-default-skin .vjs-control-text {
  /* hide-visually */
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
/* Play/Pause
--------------------------------------------------------------------------------
*/
.vdgm-default-skin .vjs-play-control {
  width: 3rem;
  cursor: pointer;
}
.vdgm-default-skin .vjs-play-control:before {
  content: "\e001";
}
.vdgm-default-skin.vjs-playing .vjs-play-control:before {
  content: "\e002";
}

/* Stop
--------------------------------------------------------------------------------
*/
.vdgm-default-skin .vjs-stop-control {
  width: 3rem;
  cursor: pointer;
}
.vdgm-default-skin .vjs-stop-control:before {
  content: "\e009";
}

/* Playback toggle
--------------------------------------------------------------------------------
*/
.vdgm-default-skin .vjs-playback-rate .vjs-playback-rate-value {
  font-size: 1.5rem;
  line-height: 2;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
}
.vdgm-default-skin .vjs-playback-rate.vjs-menu-button .vjs-menu .vjs-menu-content {
  width: 4rem;
  left: -2rem;
  list-style: none;
}
/* Volume/Mute
-------------------------------------------------------------------------------- */
.vdgm-default-skin .vjs-mute-control,
.vdgm-default-skin .vjs-volume-menu-button {
  cursor: pointer;
  float: left;
  width: 3.0rem;
}
.vdgm-default-skin .vjs-mute-control:before,
.vdgm-default-skin .vjs-volume-menu-button:before {
  content: "\e006";
}
.vdgm-default-skin .vjs-mute-control.vjs-vol-0:before,
.vdgm-default-skin .vjs-volume-menu-button.vjs-vol-0:before {
  content: "\e003";
}
.vdgm-default-skin .vjs-mute-control.vjs-vol-1:before,
.vdgm-default-skin .vjs-volume-menu-button.vjs-vol-1:before {
  content: "\e004";
}
.vdgm-default-skin .vjs-mute-control.vjs-vol-2:before,
.vdgm-default-skin .vjs-volume-menu-button.vjs-vol-2:before {
  content: "\e005";
}
.vdgm-default-skin .vjs-volume-control {
  width: 5rem;
  float: left;
}
.vdgm-default-skin .vjs-volume-bar {
  width: 5rem;
  height: 0.6rem;
  margin: 1.25rem auto 0;
}

.vdgm-default-skin .vjs-volume-control:hover {
    width: 5rem;
    margin-right:5px;
}

.vdgm-default-skin .vjs-mute-control:hover + .vjs-volume-control{
    width: 5rem;
    margin-right:5px;
}

.vdgm-default-skin .vjs-volume-control{
    width: 0;
    transition: width .3s;
    overflow: hidden;
}

.vdgm-default-skin .vjs-volume-menu-button .vjs-menu-content {
  height: 2.9rem;
}
.vdgm-default-skin .vjs-volume-level {
  position: absolute;
  top: 0;
  left: 0;
  height: 0.5rem;
  /* assuming volume starts at 1.0 */

  width: 100%;
}
.vdgm-default-skin .vjs-volume-bar .vjs-volume-handle {
  width: 10px;
  height: 10px;
  top: -3px;
  /* Assumes volume starts at 1.0. If you change the size of the
     handle relative to the volume bar, you'll need to update this value
     too. */

  left: 80%;
}
.vdgm-default-skin .vjs-volume-handle:before {
    width: 5px;
    height: 11px;
    border-radius: initial;
    margin-left: -.25rem;
}

.vdgm-default-skin .vjs-volume-handle:after {
    content:none;
}

.vdgm-default-skin .vjs-volume-menu-button .vjs-menu .vjs-menu-content {
  width: 6rem;
  left: -4rem;
}
/* Progress
--------------------------------------------------------------------------------
*/
.vdgm-default-skin .vjs-progress-control {
  position: absolute;
  left: 0;
  right: 0;
  width: auto;
  font-size: 0.3rem;
  height: 3px;
  /* Set above the rest of the controls. */
  top: -3px;
  /* Shrink the bar slower than it grows. */
  /* transition */
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.vdgm-default-skin .vjs-control-bar:hover .vjs-progress-control, .modal-control-active .vdgm-default-skin .vjs-progress-control{
    height:8px;
    top:-8px;
}

.touch .modal-control-active .vdgm-default-skin .vjs-tech{
    -webkit-transform: translateX(-9999);
    -moz-transform: translateX(-9999);
    -ms-transform: translateX(-9999);
    transform: translateX(-9999);
}

.touch .modal-control-active .vdgm-default-skin .vjs-poster{
    display: block !important;
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -ms-filter: blur(5px);
    filter: blur(5px);
}

.touch .modal-control-active .vdgm-default-skin.vjs-using-native-controls .vjs-control-bar{
    display: block;
}

.vdgm-default-skin .vjs-tech{
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    filter: blur(0px);
    
    -webkit-transition: -webkit-filter .1s;
    -moz-transition: -moz-filter .1s;
    -ms-transition: -ms-filter .1s;
    transition: filter .1s;
}

.modal-control-active .vdgm-default-skin .vjs-tech{
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -ms-filter: blur(5px);
    filter: blur(5px);
}

/* Box containing play and load progresses. Also acts as seek scrubber. */
.vdgm-default-skin .vjs-progress-holder {
  height: 100%;
}
/* Progress Bars */
.vdgm-default-skin .vjs-progress-holder .vjs-play-progress,
.vdgm-default-skin .vjs-progress-holder .vjs-load-progress {
  position: absolute;
  display: block;
  height: 100%;
  margin: 0;
  padding: 0;
  /* updated by javascript during playback */

  width: 0;
  /* Needed for IE6 */
  left: 0;
  top: 0;
}
.vdgm-default-skin .vjs-play-progress {
    -webkit-transition: width 0.3s;
    -moz-transition: width 0.3s;
    -o-transition: width 0.3s;
    transition: width 0.3s;
}
.vdgm-default-skin .vjs-load-progress {
  background: rgba(255, 255, 255, 0.4);
  
  -webkit-transition: width 0.3s;
  -moz-transition: width 0.3s;
  -o-transition: width 0.3s;
  transition: width 0.3s;
}
.vdgm-default-skin .vjs-seek-handle {
  width: 1.5rem;
  height: 100%;
}
/* Live Mode
--------------------------------------------------------------------------------
*/
.vdgm-default-skin.vjs-live .vjs-time-controls,
.vdgm-default-skin.vjs-live .vjs-time-divider,
.vdgm-default-skin.vjs-live .vjs-progress-control {
  display: none;
}
.vdgm-default-skin.vjs-live .vjs-live-display {
  display: block;
}
/* Live Display
--------------------------------------------------------------------------------
*/
.vdgm-default-skin .vjs-live-display {
  display: none;
  font-size: 1rem;
  line-height: 3rem;
}
/* Time Display
--------------------------------------------------------------------------------
*/
.vjs-current-time-display{
    color: white;
}

.vdgm-default-skin .vjs-time-controls {
  font-size: 1rem;
  /* Align vertically by making the line height the same as the control bar */
  line-height: 3rem;
}

.vjs-remaining-time{
    display:none;
}

.vdgm-default-skin .vjs-current-time {
  float: left;
}
.vdgm-default-skin .vjs-duration {
  float: left;
}
/* Rremaining time is in the HTML, but not included in default design */
.vdgm-default-skin .vjs-rremaining-time {
  display: none;
  float: left;
}
.vjs-time-divider {
  float: left;
  line-height: 3rem;
}
/* Fullscreen
--------------------------------------------------------------------------------
*/
.vdgm-default-skin .vjs-fullscreen-control {
  width: 3.8rem;
  cursor: pointer;
  float: right;
}
.vdgm-default-skin .vjs-fullscreen-control:before {
  content: "\e000";
}
/* Switch to the exit icon when the player is in fullscreen */
.vdgm-default-skin.vjs-fullscreen .vjs-fullscreen-control:before {
  content: "\e00b";
}

.vdgm-default-skin.vjs-fullscreen .vjs-fullscreen-control:hover:after {
    content: "";
    display:none;
}

.vdgm-default-skin .vjs-fullscreen-control:hover:after {
  content: "HD Fullscreen";
  position: absolute;
  width: 75px;
  top: -22px;
  left: -37px;
  background-color: black;
}

/* Intermediate
--------------------------------------------------------------------------------
*/
.vdgm-default-skin .vjs-intermediate-control {
  width: 3.8rem;
  cursor: pointer;
  float: right;
}
.vdgm-default-skin .vjs-intermediate-control:before {
    content: "";
    width: 1.5rem;
    height: 1rem;
    border: 2px solid #ccc;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -.75rem;
    margin-left: -.9rem;
    
    -webkit-transition: border 0.1s;
    -moz-transition: border 0.1s;
    -o-transition: border 0.1s;
    transition: border 0.1s;
    box-sizing:content-box;
}

.vdgm-default-skin .vjs-intermediate-control:hover:before {
    border: 2px solid #fff;
    
    
    -webkit-transition: border 0.1s;
    -moz-transition: border 0.1s;
    -o-transition: border 0.1s;
    transition: border 0.1s;
}

.vdgm-default-skin .vjs-intermediate-control:hover:after {
  content: "HD Theatre Mode";
  top: -22px;
  width: 100px;
  position: absolute;
  left: -30px;
  background-color: black;
}

.large .vdgm-default-skin .vjs-intermediate-control:hover:after {
  content: "Standard Mode";
  width: 90px;
}
/* HD
--------------------------------------------------------------------------------
*/
.vdgm-default-skin .vjs-hd-control {
  width: 3.8rem;
  cursor: pointer;
  float: right;
  margin-top: -1px;
}

.vdgm-default-skin .vjs-hd-control:before {
    content: "HD";
    right: 0;
    font-weight:bolder;
}

.vdgm-default-skin .vjs-hd-control.vjs-videosize-hidden{
    display:none;
}



/* Big Play Button (play button at start)
--------------------------------------------------------------------------------
Positioning of the play button in the center or other corners can be done more
easily in the skin designer. http://designer.videojs.com/
*/
.vdgm-default-skin .vjs-big-play-button {
  left: 0.5rem;
  top: 0.5rem;
  font-size: 3rem;
  display: block;
  z-index: 2;
  position: absolute;
  width: 4rem;
  height: 2.6rem;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  opacity: 1;
  /* Need a slightly gray bg so it can be seen on black backgrounds */
  /* background-color-with-alpha */
  background-color: transparent;
  border: 0;
  /* transition */
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
/* Optionally center */
.vdgm-default-skin.vjs-big-play-centered .vjs-big-play-button {
  /* Center it horizontally */
  left: 50%;
  margin-left: -2.1rem;
  /* Center it vertically */
  top: 50%;
  margin-top: -1.4000000000000001rem;
}
/* Hide if controls are disabled */
.vdgm-default-skin.vjs-controls-disabled .vjs-big-play-button {
  display: none;
}
/* Hide when video starts playing */
.vdgm-default-skin.vjs-has-started .vjs-big-play-button {
  display: none;
}
/* Hide on mobile devices. Rremove when we stop using native controls
    by default on mobile  */
.vdgm-default-skin.vjs-using-native-controls .vjs-big-play-button {
  display: none;
}

.vdgm-default-skin .vjs-big-play-button:before {
  content: "\e001";
  font-family: 'icomoon2';
  /* In order to center the play icon vertically we need to set the line height
     to the same as the button height */

  line-height: 2.6rem;
  text-align: center /* Needed for IE8 */;
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
}
.vjs-error .vjs-big-play-button {
  display: none;
}
/* Error Display
--------------------------------------------------------------------------------
*/
.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;
  font-size: 4rem;
  color: #666666;
  /* 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.05rem 0.05rem 0.1rem #000;
  text-align: center /* Needed for IE8 */;
  vertical-align: middle;
  position: absolute;
  top: 50%;
  margin-top: -0.5rem;
  width: 100%;
}
.vjs-error-display div {
  position: absolute;
  font-size: 1.4rem;
  text-align: center;
  bottom: 1rem;
  right: 1rem;
  left: 1rem;
}
.vjs-error-display a,
.vjs-error-display a:visited {
  color: #F4A460;
}
/* Loading Spinner
--------------------------------------------------------------------------------
*/
.vjs-loading-spinner {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 4rem;
  line-height: 1;
  width: 4rem;
  height: 4rem;
  margin-left: -2rem;
  margin-top: -2rem;
  opacity: 0.75;

}
/* Errors are unrecoverable without user interaction,
   so hide the spinner in the case of an error */
.video-js.vjs-error .vjs-loading-spinner {
  /* using !important flag because currently the loading spinner
     uses hide()/show() instead of classes. The !important can be
     rremoved when that's updated */

  display: none !important;
  /* ensure animation doesn't continue while hidden */

}

.vjs-loading-spinner .vjs-spinner{
    -webkit-animation: spin 1.5s infinite linear;
    -moz-animation: spin 1.5s infinite linear;
    -o-animation: spin 1.5s infinite linear;
    animation: spin 1.5s infinite linear;
    
    font-size: 4rem;
}

.vdgm-default-skin .vjs-loading-spinner .vjs-spinner:before {
  content: "\e01e";
  font-family: 'icomoon2';
  position: absolute;
  top: 0;
  left: 0;
  width: 1rem;
  height: 1rem;
  text-align: center;
  text-shadow: 0rem 0rem 0.1rem #000;
  
  /* animation */
  
  
}

.vdgm-default-skin .vjs-loading-spinner:after{
    content: "Optimizing Stream";
    font-family: Arial, sans-serif;
     position: absolute;
     bottom: -2em;
     margin: 0 auto;
     font-size: 12px;
     text-align: center;
     left: -28px;
     width: 100px;
}

.video-js.vjs-error .vjs-loading-spinner .vjs-spinner{
    /* animation */
    -webkit-animation: none;
    -moz-animation: none;
    -o-animation: none;
    animation: none;
}
@-moz-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(359deg);
  }
}
@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
  }
}
@-o-keyframes spin {
  0% {
    -o-transform: rotate(0deg);
  }
  100% {
    -o-transform: rotate(359deg);
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(359deg);
  }
}
/* Menu Buttons (Captions/Subtitles/etc.)
--------------------------------------------------------------------------------
*/
.vdgm-default-skin .vjs-menu-button {
  float: right;
  cursor: pointer;
}
.vdgm-default-skin .vjs-menu {
  display: none;
  position: absolute;
  bottom: 0;
  left: 0rem;
  /* (Width of vjs-menu - width of button) / 2 */

  width: 0rem;
  height: 0rem;
  margin-bottom: 3rem;
  border-left: 2rem solid transparent;
  border-right: 2rem solid transparent;
  border-top: 1.55rem solid #000000;
  /* Same width top as ul bottom */

  border-top-color: rgba(7, 40, 50, 0.5);
  /* Same as ul background */

}
/* Button Pop-up Menu */
.vdgm-default-skin .vjs-menu-button .vjs-menu .vjs-menu-content {
  display: block;
  padding: 0;
  margin: 0;
  position: absolute;
  width: 10rem;
  bottom: 1.5rem;
  /* Same bottom as vjs-menu border-top */

  max-height: 15rem;
  overflow: auto;
  left: -5rem;
  /* Width of menu - width of button / 2 */

  /* background-color-with-alpha */
  background-color: #07141e;
  background-color: rgba(7, 20, 30, 0.7);
  /* box-shadow */
  -webkit-box-shadow: -0.2rem -0.2rem 0.3rem rgba(255, 255, 255, 0.2);
  -moz-box-shadow: -0.2rem -0.2rem 0.3rem rgba(255, 255, 255, 0.2);
  box-shadow: -0.2rem -0.2rem 0.3rem rgba(255, 255, 255, 0.2);
}
.vdgm-default-skin .vjs-menu-button:hover .vjs-menu {
  display: block;
}
.vdgm-default-skin .vjs-menu-button ul li {
  list-style: none;
  margin: 0;
  padding: 0.3rem 0 0.3rem 0;
  line-height: 1.4rem;
  font-size: 1.2rem;
  text-align: center;
  text-transform: lowercase;
}
.vdgm-default-skin .vjs-menu-button ul li.vjs-selected {
  background-color: #000;
}
.vdgm-default-skin .vjs-menu-button ul li:focus,
.vdgm-default-skin .vjs-menu-button ul li:hover,
.vdgm-default-skin .vjs-menu-button ul li.vjs-selected:focus,
.vdgm-default-skin .vjs-menu-button ul li.vjs-selected:hover {
  outline: 0;
  color: #111;
  /* background-color-with-alpha */
  background-color: #ffffff;
  background-color: rgba(255, 255, 255, 0.75);
  /* box-shadow */
  -webkit-box-shadow: 0 0 1rem #ffffff;
  -moz-box-shadow: 0 0 1rem #ffffff;
  box-shadow: 0 0 1rem #ffffff;
}
.vdgm-default-skin .vjs-menu-button ul li.vjs-menu-title {
  text-align: center;
  text-transform: uppercase;
  font-size: 1rem;
  line-height: 2rem;
  padding: 0;
  margin: 0 0 0.3rem 0;
  font-weight: bold;
  cursor: default;
}
/* Subtitles Button */
.vdgm-default-skin .vjs-subtitles-button:before {
  content: "\e00c";
}
/* Captions Button */
.vdgm-default-skin .vjs-captions-button:before {
  content: "\e008";
}
/* Chapters Button */
.vdgm-default-skin .vjs-chapters-button:before {
  content: "\e00c";
}
.vdgm-default-skin .vjs-chapters-button.vjs-menu-button .vjs-menu .vjs-menu-content {
  width: 24rem;
  left: -12rem;
}
/* Replacrement for focus outline */
.vdgm-default-skin .vjs-captions-button:focus .vjs-control-content:before,
.vdgm-default-skin .vjs-captions-button:hover .vjs-control-content:before {
  /* box-shadow */
  -webkit-box-shadow: 0 0 1rem #ffffff;
  -moz-box-shadow: 0 0 1rem #ffffff;
  box-shadow: 0 0 1rem #ffffff;
}
/*
REQUIRED STYLES (be careful overriding)
================================================================================
When loading the player, the video tag is replaced with a DIV,
that will hold the video tag or object tag for other playback methods.
The div contains the video playback elrement (Flash or HTML5) and controls,
and sets the width and height of the video.

** If you want to add some kind of border/padding (e.g. a frame), or special
positioning, use another containing elrement. Otherwise you risk messing up
control positioning and full window mode. **
*/
.video-js {
  background-color: #000;
  /* The line below was commented out and changed to absolute to enable the video thumbnail to scale on mobile */
  /*position: relative; */
  position: absolute;
  padding: 0;
  /* Start with 10px for base font size so other dimensions can be rem based and
     easily calculable. */

  font-size: 10px;
  /* Allow poster to be vertially aligned. */

  vertical-align: middle;
  /*  display: table-cell; */
  /*This works in Safari but not Firefox.*/

  /* Provide some basic defaults for fonts */

  font-weight: normal;
  font-style: normal;
  /* Avoiding helvetica: issue #376 */

  font-family: Arial, sans-serif;
  /* Turn off user selection (text highlighting) by default.
     The majority of player components will not be text blocks.
     Text areas will need to turn user selection back on. */

  /* user-select */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
/* Playback technology elrements 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%;
}
/* Fix for Firefox 9 fullscreen (only if it is enabled). Not needed when
   checking fullScreenEnabled. */
.video-js:-moz-full-screen {
  position: absolute;
}
/* 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;
}
.video-js.vjs-fullscreen {
  position: fixed;
  overflow: hidden;
  z-index: 1000;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
  /* IE6 full-window (underscore hack) */
  _position: absolute;
}
.video-js:-webkit-full-screen {
  width: 100% !important;
  height: 100% !important;
}
.video-js.vjs-fullscreen.vjs-user-inactive {
  cursor: none;
}
/* Poster Styles */
.vjs-poster {
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
  cursor: pointer;
  height: 100%;
  margin: 0;
  padding: 0;
  position: absolute;
  top:0;
  left:0;
  width: 100%;
}

.vjs-poster img {
  display: block;
  margin: 0 auto;
  max-height: 100%;
  padding: 0;
  width: 100%;
}

/* Hide the poster after the video has started playing */
.video-js.vjs-has-started .vjs-poster {
  display: none;
}
/* Don't hide the poster if we're playing audio */
.video-js.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 */
.video-js.vjs-controls-disabled .vjs-poster {
  display: none;
}
/* Hide the poster when native controls are used otherwise it covers them */
.video-js.vjs-using-native-controls .vjs-poster {
  display: none;
}

/*! videojs-chromecast - v1.0.0 - 2014-09-22
* https://github.com/kim-company/videojs-chromecast
*/

.vjs-chromecast-button {
  float: right !important;
  cursor: pointer;
  width: 3em !important;
}
.vjs-chromecast-button:before {
  content: "\e600";
  font-family: "chromecast" !important;
}
.vjs-chromecast-button.connected {
  color: #66A8CC;
}
.vjs-tech-chromecast .casting-image {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background-color: #000;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.vjs-tech-chromecast .casting-overlay {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background-color: #000;
  opacity: 0.6;
  cursor: default;
}
.vjs-tech-chromecast .casting-overlay .casting-information {
  position: absolute;
  left: 15px;
  bottom: 50px;
  right: 15px;
  height: 50px;
  color: #FFF;
}
.vjs-tech-chromecast .casting-overlay .casting-information .casting-icon {
  font-family: "chromecast" !important;
  font-size: 44px;
  line-height: 50px;
  margin-right: 10px;
  float: left;
  width: 58px;
  height: 50px;
}
.vjs-tech-chromecast .casting-overlay .casting-information .casting-description {
  height: 50px;
  font-size: 20px;
  line-height: 20px;
}
.vjs-tech-chromecast .casting-overlay .casting-information .casting-description small {
  font-size: 11px;
}

/* Replacement for focus outline */
.vdgm-default-skin .vjs-chromecast-button:focus .vjs-control-content:before, .vdgm-default-skin .vjs-chromecast-button:hover .vjs-control-content:before {
    -webkit-box-shadow: 0 0 1em rgba(255, 255, 255, 1);
    -moz-box-shadow: 0 0 1em rgba(255, 255, 255, 1);
    box-shadow: 0 0 1em rgba(255, 255, 255, 1);
}

.backgroundImage{
    display: block;
    width:100%;
    height: 100%;
    position: absolute;
    background-color: #000;
    top: 0;
    text-align: center;
}

.castingLabel{
    color: #FFF;
    text-align: center;
    vertical-align: middle;
    line-height: 100px;
}

.currentlyCasting{
    opacity: .6;
    display: block;
    width:100%;
    height: 100%;
    position: absolute;
    background-color: #000;
    top: 0;
    text-align: center;
}


/* Hide the poster when native controls are used otherwise it covers threm */
.video-js.vjs-using-native-controls .vjs-poster {
  display: none;
}
/* Text Track Styles */
/* Overall track holder for both captions and subtitles */
.video-js .vjs-text-track-display {
  text-align: center;
  position: absolute;
  bottom: 4rem;
  /* Leave padding on left and right */
  left: 1rem;
  right: 1rem;
}
/* Move captions down when controls aren't being shown */
.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display {
  bottom: 1rem;
}
/* Individual tracks */
.video-js .vjs-text-track {
  display: none;
  font-size: 1.4rem;
  text-align: center;
  margin-bottom: 0.1rem;
  /* Transparent black background, or fallback to all black (oldIE) */
  /* background-color-with-alpha */
  background-color: #000000;
  background-color: rgba(0, 0, 0, 0.5);
}
.video-js .vjs-subtitles {
  color: #ffffff /* Subtitles are white */;
}
.video-js .vjs-captions {
  color: #ffcc66 /* Captions are yellow */;
}
.vjs-tt-cue {
  display: block;
}
/* Hide disabled or unsupported controls */
.vdgm-default-skin .vjs-hidden {
  display: none;
}
.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: #ccc;
  background-color: #333;
  font-size: 18px;
  font-family: Arial, sans-serif;
  text-align: center;
  width: 300px;
  height: 150px;
  margin: 0px auto;
}
.vjs-no-js a,
.vjs-no-js a:visited {
  color: #F4A460;
}

.vjs-marker {
  position: absolute;
  left: 0;
  bottom: 0em;
  opacity: 1;
  height:100%;
  transition: opacity .2s ease;
  -webkit-transition: opacity .2s ease;
  -moz-transition: opacity .2s ease;
}

.vjs-marker:hover{

  cursor:pointer;
  -webkit-transform:scale(1.3, 1.3);
  -moz-transform:scale(1.3, 1.3);
  -o-transform:scale(1.3, 1.3);
  -ms-transform:scale(1.3, 1.3);
  transform:scale(1.3, 1.3);
}

.vjs-tip {
  visibility: hidden;
  display: block;
  opacity: 0.8;
  padding: 5px;
  font-size: 10px;
  position: absolute;
  bottom: 14px;
  z-index: 100000;
}

.vjs-tip.thumb{
    width: 160px;
    height: 90px;
    top: -95px;
    padding:0;
}

.vjs-tip-arrow {
  background: url(data:image/gif;base64,R0lGODlhCQAJAIABAAAAAAAAACH5BAEAAAEALAAAAAAJAAkAAAIRjAOnwIrcDJxvwkplPtchVQAAOw==) no-repeat top left;
  bottom: 0;
  left: 50%;
  margin-left: -4px;
  background-position: bottom left;
  position: absolute;
  width: 9px;
  height: 5px;
}

.thumb .vjs-tip-arrow{
    bottom:-5px;
}

.vjs-tip-inner {
  padding: 5px 8px 4px 8px;
  background-color: black;
  color: white;
  max-width: 200px;
  text-align: center;
}

.thumb .vjs-tip-inner{
    background-color: transparent;
    text-shadow: 1px 1px .1rem black;
    text-align: left;
    vertical-align: bottom;
    position: absolute;
    bottom: 1rem;
    font-size: 1rem;
    left: 1rem;
    right: 1rem;
    line-height: 1rem;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    padding: 0;
}

.vjs-break-overlay{
  visibility: hidden; 
  position: absolute;
  z-index: 100000;
}

.vjs-break-overlay-text{
  padding: 9px;
  text-align: center;
  
}

/* a wrapper element that tracks the mouse vertically */
.vjs-thumbnail-holder {
  position: absolute;
  left: -1000px;
}

/* the thumbnail image itself */
.vjs-thumbnail {
  position: absolute;
  left: 0;
  bottom: 12px;
  opacity: 0;
  width: 160px;
  max-width: none;
  border: 1px solid white;
  
  transition: opacity .2s ease;
  -webkit-transition: opacity .2s ease;
  -moz-transition: opacity .2s ease;
  -mz-transition: opacity .2s ease;
}

/* fade in the thumbnail when hovering over the progress bar */
/* .fake-active is needed for Android only. It's removed on touchend/touchecancel */
.vjs-progress-control:hover .vjs-thumbnail,
.vjs-progress-control.fake-active .vjs-thumbnail,
.vjs-progress-control:active .vjs-thumbnail {
  opacity: 1;
}

/* ... but hide the thumbnail when hovering directly over it */
.vjs-progress-control:hover .vjs-thumbnail:hover,
.vjs-progress-control:active .vjs-thumbnail:active {
  opacity: 0;
}

.vdgm-default-skin .vjs-volume-level,
.vdgm-default-skin .vjs-play-progress {
  background: #d89c05;
}