/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);

/* video controls */
.controlsOverlay {
  -moz-box-pack: center;
  -moz-box-align: end;
  padding: 20px;
  -moz-box-flex: 1;
  -moz-box-orient: horizontal;
}

.controlsOverlay[scaled] {
  /* scaled attribute in videocontrols.css causes conflict
     due to different -moz-box-orient values */
  -moz-box-align: end;
}

.controlBar {
  -moz-box-flex: 1;
  font-size: 16pt;
  padding: 10px;
  background-color: rgba(50,50,50,0.8);
  border-radius: 8px;
  width: 100%;
}

.controlsSpacer {
  display: none;
  -moz-box-flex: 0;
}

.fullscreenButton,
.playButton,
.castingButton,
.muteButton {
  -moz-appearance: none;
  min-height: 42px;
  min-width: 42px;
  border: none !important;
}

.fullscreenButton {
  background: url("chrome://b2g/content/images/fullscreen-hdpi.png") no-repeat center;
}

.fullscreenButton[fullscreened="true"] {
  background: url("chrome://b2g/content/images/exitfullscreen-hdpi.png") no-repeat center;
}

.controlBar[fullscreen-unavailable] .fullscreenButton {
  display: none;
}

.playButton {
  background: url("chrome://b2g/content/images/pause-hdpi.png") no-repeat center;
}

/*
 * Normally the button bar has fullscreen spacer play spacer mute, but if
 * this is an audio control rather than a video control, the fullscreen button
 * is hidden by videocontrols.xml, and that alters the position of the
 * play button.  This workaround moves it back to center.
 */
.controlBar[fullscreen-unavailable] .playButton {
  transform: translateX(28px);
}

.playButton[paused="true"] {
  background: url("chrome://b2g/content/images/play-hdpi.png") no-repeat center;
}

.castingButton {
  display: none;
}

.muteButton {
  background: url("chrome://b2g/content/images/mute-hdpi.png") no-repeat center;
}

.muteButton[muted="true"] {
  background: url("chrome://b2g/content/images/unmute-hdpi.png") no-repeat center;
}

/* bars */
.scrubberStack {
  width: 100%;
  min-height: 32px;
  max-height: 32px;
  padding: 0px 8px;
  margin: 0px;
}

.bufferBar,
.bufferBar .progress-bar,
.progressBar,
.progressBar .progress-bar,
.scrubber,
.scrubber .scale-slider,
.scrubber .scale-thumb {
  -moz-appearance: none;
  border: none;
  padding: 0px;
  margin: 0px;
  background-color: transparent;
  border-radius: 3px;
}

.bufferBar {
  border: 1px solid #5e6166;
}

.bufferBar,
.progressBar {
  margin: 11px 0px 9px 0px;
  height: 8px
}

.bufferBar .progress-bar {
  background-color: #5e6166;
}

.progressBar .progress-bar {
  background-color: white;
}

.scrubber {
  margin-left: -16px;
  margin-right: -16px;
}

.scrubber .scale-thumb {
  display: -moz-box;
  margin: 0px !important;
  padding: 0px !important;
  background: url("chrome://b2g/content/images/scrubber-hdpi.png") no-repeat;
  background-size: 32px 32px;
  height: 32px;
  width: 32px;
}

.durationBox {
  -moz-box-orient: horizontal;
  -moz-box-pack: start;
  -moz-box-align: center;
  color: white;
  font-weight: bold;
  padding: 0px 8px;
  margin-top: -6px;
}

.positionLabel {
  -moz-box-flex: 1;
}

.statusOverlay {
  -moz-box-align: center;
  -moz-box-pack: center;
  background-color: rgb(50,50,50);
}

.statusIcon {
  margin-bottom: 28px;
  width: 36px;
  height: 36px;
}

.statusIcon[type="throbber"] {
  background: url("chrome://b2g/content/images/throbber.png") no-repeat center;
}

.statusIcon[type="error"] {
  background: url("chrome://b2g/content/images/error.png") no-repeat center;
}

/* CSS Transitions */
.controlBar:not([immediate]) {
  transition-property: opacity;
  transition-duration: 200ms;
}

.controlBar[fadeout] {
  opacity: 0;
}

.statusOverlay:not([immediate]) {
  transition-property: opacity;
  transition-duration: 300ms;
  transition-delay: 750ms;
}

.statusOverlay[fadeout] {
  opacity: 0;
}

.volumeStack,
.controlBar[firstshow="true"] .fullscreenButton,
.controlBar[firstshow="true"] .muteButton,
.controlBar[firstshow="true"] .scrubberStack,
.controlBar[firstshow="true"] .durationBox,
.timeLabel {
  display: none;
}

/* Error description formatting */
.errorLabel {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 11px;
  color: #bbb;
  text-shadow:
    -1px -1px 0 #000,
    1px -1px 0 #000,
    -1px 1px 0 #000,
    1px 1px 0 #000;
  padding: 0 10px;
  text-align: center;
}
