body {
  margin: 0;
  background: #000;
}

button {
    box-sizing: content-box;
}

button {
    background: none;
    border: 0;
    color: inherit;
    /* cursor: default; */
    font: inherit;
    line-height: normal;
    overflow: visible;
    padding: 0;
    -webkit-appearance: button; /* for input */
    -webkit-user-select: none; /* for button */
       -moz-user-select: none;
        -ms-user-select: none;
}
button::-moz-focus-inner {
    border: 0;
    padding: 0;
}

.container {
  max-width: 1400px;
  padding-bottom: 50px;
  margin: 0 auto;
  background: #fff;
}

.videoWrapper {
  position: relative;
}

.video {
  width: 100%;
}
.captions {
  max-width: 600px;
  padding: 20px 30px 10px;
  margin: 0 auto;
  line-height: 1.5;
}

.captionPart:hover {
  color: #e38901;
  cursor: pointer;
}

.buttonbar {
  box-sizing: border-box;
  position: absolute;
  bottom: 3px;
  width: 100%;
  height: 10px;
  padding: 0 20px 0;
  background: rgba(0,0,0,0.4);
  font-size: 0;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
  overflow: hidden;
}
.videoWrapper:hover .buttonbar {
  height: 69px;
  padding: 0 20px;
  overflow: visible;
}

.progress {
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: rgba(0, 0, 0, 0.5);
  /*padding: 0 5px;*/
}
.progressBar {
  width: 100%;
  margin: 0;
}
.bufferProgress {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  background: #c2c2c2;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
}
.playProgress {
  box-sizing: border-box;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    background: #ff9900;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    /*transition: all 1s;*/
}

/*TRACK*/
.progressBar {
  position: relative;
  -webkit-appearance: none;
  width: 100%;
  height: 6px;
  z-index: 999;
  background: transparent;
  /*margin: 0.3px 0;*/
}
input[type=range]:focus {
  outline: none!important;
  background: transparent;
}
input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 100%;
  cursor: pointer;
  /*box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;*/
  /*background: rgba(0, 0, 0, 0.5);*/
  border-radius: 0;
  /*border: 0.2px solid #010101;*/
}
input[type=range]::-webkit-slider-thumb {
  box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
  border: 0px solid rgba(0, 0, 0, 0);
  border-radius: 0px;
  background: transparent;
  cursor: pointer;
  -webkit-appearance: none;
}
.progressBar::-webkit-slider-thumb {
  /*box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
  border: 0px solid rgba(0, 0, 0, 0);*/
  height: 100%;
  width: 17px;
  /*border-radius: 0px;
  background: transparent;
  cursor: pointer;
  -webkit-appearance: none;*/
  margin-top: -0.5px;
}
.progressBar:focus::-webkit-slider-runnable-track {
  /*background: rgba(0, 0, 0, 0.5);*/
}
.progressBar::-moz-range-track {
  width: 100%;
  height: 100%;
  cursor: pointer;
  box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
  background: rgba(0, 0, 0, 0.5);
  border-radius: 0;
  border: 0;
}
.progressBar::-moz-range-thumb {
  box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
  border: 0px solid rgba(0, 0, 0, 0);
  height: 100%;
  width: 17px;
  border-radius: 0px;
  background: transparent;
  cursor: pointer;
}
.progressBar::-ms-track {
  width: 100%;
  height: 100%;
  cursor: pointer;
  background: transparent;
  border-color: transparent;
  color: transparent;
}
.progressBar::-ms-thumb {
  box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
  height: 100%;
  width: 17px;
  border-radius: 0px;
  background: transparent;
  cursor: pointer;
}

/*BUTTONS*/
.buttons {
  height: 100%;
  opacity: 0;
  -webkit-transition: 0.25s all;
  transition: 0.25s all;
  color: #fff;
}
.buttons:after {
  display: table;
  content: '';
  clear: both;
}
.videoWrapper:hover .buttons{
  opacity: 1;
}
.button-left {
  position: relative;
  height: 100%;
  float: left;
}

.button-right {
  height: 100%;
  float: right;
}


.play-button {
  width: 20px;
  height: 100%;
  vertical-align: baseline;
}
.play-button img {
  width: 100%;
}
.timeDisplay {
  position: absolute;
  top: 50%;
  display: inline-block;
  padding-left: 15px;
  color: #fff;
  font-size: 12px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.timeSeperator {
  margin: 0 5px;
}
/*SPEED CONTROL*/
.speed-container {
  position: relative;
  display: none;
  width: 20px;
  height: 100%;
  vertical-align: top;
}
.speed-button {
  height: 100%;
  font-size: 20px;
}
.speed-controls {
  display: none;
  position: absolute;
  bottom: 100%;
  width: 30px;
  background: #000;
}
.speed-controls.show {
  display: block;
}
.speed-controls ol {
  list-style: none;
  padding: 5px;
  margin: 0;
}
.speed {
  position: relative;
  width: 100%;
  height: 30px;
}
.speed:hover,
.speed:hover ~ .speed,
.speed.current,
.speed.current ~ .speed {
  background: #fff;
}
.speed:hover .speed-tooltip{
  display: block;
}
.speed-tooltip {
  display: none;
  position: absolute;
  top: 0;
  right: 100%;
  width: 34px;
  padding: 2px 5px;
  margin-right: 10px;
  background: #fff;
  color: #000;
  font-size: 13px;
  text-align: center;
}
/*SOUND CONTROL*/
.sound-container {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 100%;
  margin-left: 20px;
}
.mute-button {
  position: relative;
  width: 20px;
  height: 100%;
}
.volume-container {
  position: relative;
  display: none;
  width: 100px;
  height: 100%;
  margin-left: 20px;
  vertical-align: top;
}
.volume-slide-container {
  /*display: none;*/
  box-sizing: border-box;
  width: 100%;
  height: 19px;
  padding: 5px;
  background: #000;
  display: inline-block;
  vertical-align: baseline;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.volume {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: #fff;
}

/*SUBTITLES*/
.subtitles-container {
  display: none;
  height: 100%;
  margin-left: 20px;
  z-index: 9999;
  vertical-align: top;
}
.cc-button {
  height: 100%;
  color: #A8A8A8;
  font-size: 20px;
}
.cc-button.show {
  color: #fff;
}
.fullscreen-button {
  width: 20px;
  height: 100%;
  margin-left: 20px;
}
/*TEXT HIGHLIGHT*/
.highlight {
  color: #e38901;
}

/*SUBTITLES MENU*/
.subtitles-menu {
  display:none;
  position:absolute;
  bottom: 100%;
  right:30px;
  width:100px;
  margin:0;
  padding:0;
  list-style-type:none;
}

.subtitles-menu li {
  padding:0;
  text-align:center;
}

.subtitles-menu li button {
  border:none;
  background:#000;
  color:#fff;
  cursor:pointer;
  width:90%;
  padding: 5px;
  font-size: 13px;
}

@media (max-width: 380px) {
  .subtitles-menu {
    display: none !important;
  }
}

@media (min-width: 380px) {
  .volume-container {
    display: inline-block;
  }
  .subtitles-container {
    display: inline-block;
  }
}

@media (min-width: 420px) {
  .speed-container {
    display: inline-block;
  }
}