X-Git-Url: https://git-public.kairo.at/?p=themes.git;a=blobdiff_plain;f=LCARStrek%2Fglobal%2Fmedia%2Fvideocontrols.css;h=8841713c2890196d818b7732f0269a8995230f93;hp=97bd736ecc153daa8991e3955c9b619cf76e345d;hb=1c129f501737dc6a853acf124852a58f7557f169;hpb=a54dd8ceedc2f96f9b23931505148cffa7ef71e2 diff --git a/LCARStrek/global/media/videocontrols.css b/LCARStrek/global/media/videocontrols.css index 97bd736e..8841713c 100644 --- a/LCARStrek/global/media/videocontrols.css +++ b/LCARStrek/global/media/videocontrols.css @@ -1,144 +1,204 @@ -@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); +/* 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");*/ +@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); @namespace html url("http://www.w3.org/1999/xhtml"); -.controlBar { +hbox.controlBar { height: 28px; background-color: rgba(156,156,255,0.75); } -.playButton, .muteButton { - /* Remove the usual button appearance and styling */ - margin: 0px; - padding: 0px; - border: none; - min-height: 28px; +xul|button.playButton, +xul|button.muteButton, +xul|button.closedCaptionButton, +xul|button.fullscreenButton { background-color: transparent; background-repeat: no-repeat; - background-position: center center; -} -.playButton { + background-position: center; + margin: 0; + padding: 0; + min-height: 28px; min-width: 28px; - margin-right: -22px; /* 1/2 of scrubber thumb width, for overhang. */ - position: relative; /* Trick to work around negative margin interfering with clicking on the button. */ -} -.muteButton { - min-width: 33px; + border: none; } -.playButton:hover, .muteButton:hover { + +xul|button.playButton:hover, +xul|button.muteButton:not([noAudio]):hover, +xul|button.closedCaptionButton:hover, +xul|button.fullscreenButton:hover { background-color: rgba(255,207,0,0.75); } -.playButton:-moz-focusring > .button-box, -.muteButton:-moz-focusring > .button-box { - border: 1px dotted rgba(0,0,0,0.75); + +xul|button.playButton:hover:active, +xul|button.muteButton:not([noAudio]):hover:active, +xul|button.closedCaptionButton:hover:active, +xul|button.fullscreenButton:hover:active { + background-color: rgba(255,159,0,0.75); } -.playButton { +xul|button.playButton { background-image: url("chrome://global/skin/media/pauseButton.png"); + margin-right: -22px; /* 1/2 of scrubber thumb width, for overhang. */ + position: relative; /* Trick to work around negative margin interfering with clicking on the button. */ } -.playButton:hover { + +xul|button.playButton:hover { background-image: url("chrome://global/skin/media/pauseButton-hover.png"); } -.playButton[paused] { + +xul|button.playButton[paused] { background-image: url("chrome://global/skin/media/playButton.png"); } -.playButton[paused]:hover { + +xul|button.playButton[paused]:hover { background-image: url("chrome://global/skin/media/playButton-hover.png"); } -.muteButton { +xul|button.muteButton { background-image: url("chrome://global/skin/media/muteButton.png"); + min-width: 33px; } -.muteButton:hover { + +xul|button.muteButton:hover { background-image: url("chrome://global/skin/media/muteButton-hover.png"); } -.muteButton[muted] { + +xul|button.muteButton[muted] { background-image: url("chrome://global/skin/media/unmuteButton.png"); } -.muteButton[muted]:hover { + +xul|button.muteButton[muted]:hover { background-image: url("chrome://global/skin/media/unmuteButton-hover.png"); } -.muteButton[noAudio] { +xul|button.muteButton[noAudio] { background-image: url("chrome://global/skin/media/noAudio.png"); } -.fullscreenButton { - background: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton.png"), 0, 16, 16, 0) no-repeat center; - margin: 0; - padding: 0; - min-height: 28px; - min-width: 28px; - border: none; +xul|button.muteButton[noAudio] + .volumeStack { + display: none; } -.fullscreenButton:hover { - background-color: rgba(255,207,0,0.75); - background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton.png"), 16, 16, 32, 0); +xul|button.closedCaptionButton { + background-image: url("chrome://global/skin/media/closeCaptionButton.png"); + background-position: 4px; +} + +xul|button.closedCaptionButton:hover { + background-image: url("chrome://global/skin/media/closeCaptionButton-hover.png"); +} + +xul|button.closedCaptionButton[enabled] { + opacity: 1; +} + +xul|button.closedCaptionButton[hidden] { + display: none; +} + +xul|button.fullscreenButton { + background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton.png"), 0, 16, 16, 0); +} + +xul|button.fullscreenButton:hover { + background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton-hover.png"), 0, 16, 16, 0); } -.fullscreenButton[fullscreened] { +xul|button.fullscreenButton[fullscreened] { background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton.png"), 0, 32, 16, 16); } -.fullscreenButton[fullscreened]:hover { - background-color: rgba(255,207,0,0.75); - background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton.png"), 16, 32, 32, 16); +xul|button.fullscreenButton[fullscreened]:hover { + background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton-hover.png"), 0, 32, 16, 16); } -.volumeStack { - width: 28px; - height: 70px; - background-color: rgba(156,156,255,0.74); - /* use negative margin to place stack over the mute button to its left. */ - margin: -70px 3px 28px -31px; - overflow: hidden; /* crop it when sliding down, don't grow the control bar */ - position: relative; /* Trick to work around negative margin interfering with dragging the thumb. */ - padding-top: 6px; - border-radius: 3px 3px 0 0; +xul|*.volumeControl { + width: 32px; + opacity: 0; } -.volumeControl { - min-height: 64px; +xul|*.volumeBackground, +xul|*.volumeForeground { + background-repeat: no-repeat; + background-position: center; + width: 32px; } -/* .scale-thumb is an element inside the implementation. */ -.volumeControl .scale-thumb { - /* Override the default thumb appearance with a custom image. */ +xul|*.volumeBackground { + background-image: url("chrome://global/skin/media/volume-empty.png"); +} + +xul|*.volumeForeground { + background-image: url("chrome://global/skin/media/volume-full.png"); + background-clip: content-box; +} + +xul|*.textTrackList { + display: -moz-box; -moz-appearance: none; - background: url("chrome://global/skin/media/volumeThumb.png") no-repeat center; - border: none !important; - min-width: 20px; - min-height: 10px; + -moz-box-pack: end; + -moz-box-align: end; + padding: 0; +} + +xul|*.textTrackList[hidden] { + display: none; +} + +xul|*.textTrackList > html|*.textTrackItem { + -moz-appearance: none; + -moz-box-align: start; + text-align: start; + overflow: hidden; + margin: 0; + padding: 2px 10px; + -moz-margin-end: 10px; + border: none; + color: rgba(255,255,255,.5); + background-color: rgba(35,31,32,.74); + white-space: nowrap; } -.volumeControl .scale-thumb:hover, .volumeControl .scale-thumb:active { - background-image: url("chrome://global/skin/media/volumeThumb-hover.png"); + +xul|*.textTrackList > html|*.textTrackItem[on] { + color: white; + background-color: black; } -.volumeBackgroundBar { - /* margin left/right: make bar 8px wide (control width = 28, minus 2 * 10 margin) */ - margin: 0px 10px; - background-color: rgba(0,0,0,0.5); - border-radius: 2.5px; +xul|*.textTrackList > html|*.textTrackItem:hover { + background-color: rgba(0,0,0,.55); } -.durationBox { +xul|*.controlBar[fullscreen-unavailable] { + /* This value is duplicated in the videocontrols.xml adjustControlSize function. */ + padding-inline-end: 8px; +} + +xul|*.volumeControl .scale-thumb { + min-width: 0; + opacity: 0; +} + +xul|*.durationBox { -moz-box-pack: center; } -.durationLabel { +xul|*.durationLabel { margin-left: -22px; /* 1/2 of scrubber thumb width, for overhang. */ padding-left: 8px; /* don't bump into the scrubber bar */ padding-top: 0px; /* center vertically with scrubber bar */ color: rgba(0,0,0,0.75); - font-size: 11px; font-family: "Liberation Sans",Arial,Tahoma,Helvetica,sans-serif; + font-size: 11px; } -.positionLabel { +xul|*.positionLabel { display: none; } -.backgroundBar { +xul|*.backgroundBar { /* margin top/bottom: make bar 8px tall (control height = 28, minus 2 * 10 margin) */ /* margin left/right: 1/2 of scrubber thumb width, for overhang. */ margin: 10px 22px; @@ -146,18 +206,19 @@ border-radius: 2.5px; } -.bufferBar, .progressBar { +xul|*.bufferBar, +xul|*.progressBar { /* margin top/bottom: make bar 8px tall (control height = 28, minus 2 * 10 margin) */ /* margin left/right: 1/2 of scrubber thumb width, for overhang. */ margin: 10px 22px; border: none; background-color: transparent; - min-width: 0px; - min-height: 0px; + min-width: 0; + min-height: 0; } /* .progress-bar is an element inside the implementation. */ -.bufferBar .progress-bar { +xul|*.bufferBar .progress-bar { /* * Note that this is drawn on top of the .backgroundBar. So although this * has the same background-color specified, the semitransparent @@ -168,41 +229,43 @@ -moz-appearance: none; } -.progressBar .progress-bar { +xul|*.progressBar .progress-bar { background-color: #008484; border-radius: 2.5px; -moz-appearance: none; } /* .scale-slider is an element inside the implementation. */ -.scrubber .scale-slider, .volumeControl .scale-slider { +xul|*.scrubber .scale-slider, +xul|*.volumeControl .scale-slider { /* Hide the default horizontal bar. */ background: none; margin: 0; } -.scrubber .scale-slider { +xul|*.scrubber .scale-slider { /* abs(margin-top) + margin-bottom + bar height == timeThumb height */ margin-top: -10px; margin-bottom: 10px; } /* .scale-thumb is an element inside the implementation. */ -.scrubber .scale-thumb { +xul|*.scrubber .scale-thumb, +xul|*.volumeControl .scale-thumb { /* Override the default thumb appearance with a custom image. */ background: transparent; border: none !important; } -.timeThumb { +xul|*.timeThumb { background: url("chrome://global/skin/media/scrubberThumb.png") no-repeat center; min-width: 45px; min-height: 28px; -moz-box-pack: center; } -.timeThumb[showhours="true"] { - background: url("chrome://global/skin/media/scrubberThumbWide.png") no-repeat center; +xul|*.timeThumb[showhours="true"] { + background-image: url("chrome://global/skin/media/scrubberThumbWide.png"); } /* @@ -211,7 +274,7 @@ } */ -.timeLabel { +xul|*.timeLabel { color: rgba(0,0,0,0.75); font-size: 10px; font-family: "Liberation Sans",Arial,Tahoma,Helvetica,sans-serif; @@ -219,19 +282,19 @@ padding-top: 5px; } -.statusOverlay { +xul|*.statusOverlay { -moz-box-align: center; -moz-box-pack: center; background-color: rgba(0,0,0,0.55); } -.statusIcon { +xul|*.statusIcon { margin-bottom: 28px; /* same height as .controlBar, to keep icon centered above it */ width: 36px; height: 36px; } -.statusIcon[type="throbber"] { +xul|*.statusIcon[type="throbber"] { background: url("chrome://communicator/skin/brand/throbber-anim.png") no-repeat center; } /* @@ -239,7 +302,7 @@ background: url("chrome://global/skin/media/stalled.png") no-repeat center; } */ -.statusIcon[type="error"] { +xul|*.statusIcon[type="error"] { background: url("chrome://global/skin/icons/alert-error.gif") no-repeat center; } @@ -250,11 +313,10 @@ -moz-box-pack: center; -moz-box-align: center; opacity: 0.7; - background-image: url("chrome://global/skin/media/clicktoplay-bgtexture.png"), - url("chrome://global/skin/media/videoClickToPlayButton.svg"); - background-repeat: repeat, no-repeat; - background-position: center, center; - background-size: auto, 64px 64px; + background-image: url("chrome://global/skin/media/videoClickToPlayButton.svg"); + background-repeat: no-repeat; + background-position: center; + background-size: 64px 64px; background-color: hsla(0,0%,10%,.5); } .clickToPlay:hover { @@ -336,3 +398,571 @@ html|table { padding: 0 10px; text-align: center; } + +@media (min-resolution: 2dppx) { + .playButton { + background-image: url(chrome://global/skin/media/pauseButton@2x.png); + background-size: 28px 28px; + } + .playButton:hover { + background-image: url(chrome://global/skin/media/pauseButton-hover@2x.png); + background-size: 28px 28px; + } + .playButton[paused] { + background-image: url(chrome://global/skin/media/playButton@2x.png); + background-size: 28px 28px; + } + .playButton[paused]:hover { + background-image: url(chrome://global/skin/media/playButton-hover@2x.png); + background-size: 28px 28px; + } + .volumeBackground { + background-image: url(chrome://global/skin/media/volume-empty@2x.png); + background-size: 32px 16px; + } + .volumeForeground:hover { + background-image: url(chrome://global/skin/media/volume-full-hover@2x.png); + background-size: 32px 16px; + } + .muteButton { + background-image: url(chrome://global/skin/media/muteButton@2x.png); + background-size: 33px 28px; + } + .muteButton:hover { + background-image: url(chrome://global/skin/media/muteButton-hover@2x.png); + background-size: 33px 28px; + } + .muteButton[muted] { + background-image: url(chrome://global/skin/media/unmuteButton@2x.png); + background-size: 33px 28px; + } + .muteButton[muted]:hover { + background-image: url(chrome://global/skin/media/unmuteButton-hover@2x.png); + background-size: 33px 28px; + } + .muteButton[noAudio] { + background-image: url(chrome://global/skin/media/noAudio@2x.png); + background-size: 33px 28px; + } + .closedCaptionButton { + background-image: url(chrome://global/skin/media/closeCaptionButton@2x.png); + background-position: 4px; + background-size: 28px 28px; + } + .closedCaptionButton:hover { + background-image: url(chrome://global/skin/media/closeCaptionButton-hover@2x.png); + background-position: 4px; + background-size: 28px 28px; + } + .fullscreenButton { + background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton@2x.png"), 0, 32, 32, 0); + background-size: 16px 16px; + } + .fullscreenButton:hover { + background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton-hover@2x.png"), 0, 32, 32, 0); + background-size: 16px 16px; + } + .fullscreenButton[fullscreened] { + background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton@2x.png"), 0, 64, 32, 32); + background-size: 16px 16px; + } + .fullscreenButton[fullscreened]:hover { + background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton-hover@2x.png"), 0, 64, 32, 32); + background-size: 16px 16px; + } + .timeThumb { + background-image: url(chrome://global/skin/media/scrubberThumb@2x.png); + background-size: 33px 28px; + } + .timeThumb[showhours="true"] { + background-image: url(chrome://global/skin/media/scrubberThumbWide@2x.png); + background-size: 45px 28px; + } +} + + +/***** New HTML-based controls *****/ + +/*@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); +@namespace url("http://www.w3.org/1999/xhtml");*/ + +video > xul|videocontrols, +audio > xul|videocontrols { + writing-mode: horizontal-tb; + width: 100%; + height: 100%; +/* display: inline-block; --->CRASHES XUL-based versions! */ + -moz-box-pack: end; +} + +div.controlsContainer [hidden="true"], +div.controlBar[hidden] { + display: none; +} + +div.controlBar[size="hidden"] { + display: none; +} + +div.controlsContainer, +div.progressContainer { + position: relative; + height: 100%; +} + +div.stackItem { + position: absolute; + left: 0; + bottom: 0; + width: 100%; + height: 100%; +} + +div.statusOverlay { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + background-color: rgb(160,144,144); +} + +div.controlsOverlay { + display: flex; + flex-direction: column; + justify-content: center; + position: relative; +} + +div.controlsSpacerStack { + display: flex; + flex-direction: column; + flex-grow: 1; + justify-content: center; + align-items: center; +} + +div.controlsSpacer { + background-color: rgba(0,0,0,.4); +} + +div.controlBar { + position: relative; + display: flex; + justify-content: center; + align-items: center; + overflow: hidden; + height: 40px; + padding: 0 3px; + background-color: rgba(156,156,255,0.75); +} + + +html|button.playButton, +html|button.muteButton, +html|button.closedCaptionButton, +html|button.fullscreenButton { + height: 100%; + min-height: 30px; + min-width: 30px; + padding: 0; + border: 0; + margin: 0; + background-color: transparent; + background-repeat: no-repeat; + background-position: center; + background-origin: content-box; + background-clip: content-box; +} + +html|button.playButton:hover, +html|button.muteButton:not([noAudio]):hover, +html|button.closedCaptionButton:hover, +html|button.fullscreenButton:hover { + background-color: rgba(255,207,0,0.75); +} + +html|button.playButton:hover:active, +html|button.muteButton:not([noAudio]):hover:active, +html|button.closedCaptionButton:hover:active, +html|button.fullscreenButton:hover:active { + background-color: rgba(255,159,0,0.75); +} + +html|button.playButton { + background-image: url(chrome://global/skin/media/pauseButton.svg#pause); +} +.playButton:hover { +html|butto background-image: url(chrome://global/skin/media/pauseButton.svg#pause-hover); +} +html|button.playButton:hover:active { + background-image: url(chrome://global/skin/media/pauseButton.svg#pause-active); +} +html|button.playButton[paused] { + background-image: url(chrome://global/skin/media/playButton.svg#play); +} +html|button.playButton[paused]:hover { + background-image: url(chrome://global/skin/media/playButton.svg#play-hover); +} +html|button.playButton[paused]:hover:active { + background-image: url(chrome://global/skin/media/playButton.svg#play-active); +} + +html|button.muteButton { + background-image: url(chrome://global/skin/media/muteButton.svg#unmute); +} +html|button.muteButton:hover { + background-image: url(chrome://global/skin/media/muteButton.svg#unmute-hover); +} +html|button.muteButton:hover:active { + background-image: url(chrome://global/skin/media/muteButton.svg#unmute-active); +} +html|button.muteButton[muted] { + background-image: url(chrome://global/skin/media/muteButton.svg#mute); +} +html|button.muteButton[muted]:hover { + background-image: url(chrome://global/skin/media/muteButton.svg#mute-hover); +} +html|button.muteButton[muted]:hover:active { + background-image: url(chrome://global/skin/media/muteButton.svg#mute-active); +} +html|button.muteButton[noAudio], +html|button.muteButton[noAudio]:hover, +html|button.muteButton[noAudio]:hover:active { + background-image: url(chrome://global/skin/media/muteButton.svg#noaudio); +} +html|button.muteButton[noAudio] + .volumeStack { + display: none; +} + +html|button.closedCaptionButton { + background-image: url(chrome://global/skin/media/closedCaptionButton.svg#cc-off); +} +html|button.closedCaptionButton:hover { + background-image: url(chrome://global/skin/media/closedCaptionButton.svg#cc-off-hover); +} +html|button.closedCaptionButton:hover:active { + background-image: url(chrome://global/skin/media/closedCaptionButton.svg#cc-off-active); +} +html|button.closedCaptionButton[enabled] { + background-image: url(chrome://global/skin/media/closedCaptionButton.svg#cc); +} +html|button.closedCaptionButton[enabled]:hover { + background-image: url(chrome://global/skin/media/closedCaptionButton.svg#cc-hover); +} +html|button.closedCaptionButton[enabled]:hover:active { + background-image: url(chrome://global/skin/media/closedCaptionButton.svg#cc-active); +} + +html|button.fullscreenButton { + background-image: url(chrome://global/skin/media/fullscreenButton.svg#fullscreen); +} +html|button.fullscreenButton:hover { + background-image: url(chrome://global/skin/media/fullscreenButton.svg#fullscreen-hover); +} +html|button.fullscreenButton:hover:active { + background-image: url(chrome://global/skin/media/fullscreenButton.svg#fullscreen-active); +} +html|button.fullscreenButton[fullscreened] { + background-image: url(chrome://global/skin/media/fullscreenButton.svg#unfullscreen); +} +html|button.fullscreenButton[fullscreened]:hover { + background-image: url(chrome://global/skin/media/fullscreenButton.svg#unfullscreen-hover); +} +html|button.fullscreenButton[fullscreened]:hover:active { + background-image: url(chrome://global/skin/media/fullscreenButton.svg#unfullscreen-active); +} + +div.controlBarSpacer { + flex-grow: 1; +} + +input.volumeControl::-moz-range-thumb, +input.scrubber::-moz-range-thumb { + height: 13px; + width: 13px; + border: none; + border-radius: 50%; + background-color: #000000; +} + +input.volumeControl::-moz-focus-outer, +input.scrubber::-moz-focus-outer { + border: 0; +} + +div.progressBackgroundBar { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +div.progressStack { + position: relative; + width: 100%; + height: 5px; +} + +div.scrubberStack { + min-width: 48px; + flex-basis: 48px; + flex-grow: 2; + flex-shrink: 0; + margin: 0 9px; +} + +div.volumeStack { + max-width: 60px; + min-width: 48px; + flex-grow: 1; + flex-shrink: 0; + margin-right: 6px; + margin-left: 4px; +} + +progress.bufferBar, +progress.progressBar, +input.scrubber, +.volumeBackground, +input.volumeControl { + bottom: 0; + left: 0; + position: absolute; + width: 100%; + height: 100%; + padding: 0; + border: 0; + border-radius: 2.5px; + margin: 0; + background: none; + background-color: transparent; +} + +progress.bufferBar, +.volumeBackground { + background-color: rgba(160,144,144,0.7); +} + +progress.bufferBar::-moz-progress-bar, +progress.progressBar::-moz-progress-bar, +.volumeBackground::-moz-meter-bar { + height: 100%; + padding: 0; + margin: 0; + border: 0; + border-radius: 2.5px; + background: none; +} + +input.scrubber:hover::-moz-range-thumb, +input.volumeControl:hover::-moz-range-thumb { + background-color: #FFCF00; +} + +input.scrubber:active::-moz-range-thumb, +input.volumeControl:active::-moz-range-thumb { + background-color: #FF9F00; +} + +input.scrubber::-moz-range-track, +input.scrubber::-moz-range-progress { + background-color: transparent; +} + +input.volumeControl::-moz-range-progress, +input.volumeControl::-moz-range-track { + height: 5px; + border-radius: 2.5px; +} + +input.volumeControl::-moz-range-progress { + background-color: #008484; +} + +input.volumeControl::-moz-range-track { + background-color: rgba(0,0,0,0.7); +} + + +progress.bufferBar::-moz-progress-bar { + background-color: rgba(160,144,144,0.3); + border-radius: 2.5px; +} + +progress.progressBar::-moz-progress-bar { + background-color: #008484; +} + +.textTrackList { + position: absolute; + right: 5px; + bottom: 45px; + max-width: 80%; + border: 1px solid #000000; + border-radius: 2.5px; + padding: 5px 0; + vertical-align: middle; + font-size: 12px; + background-color: #000000; + opacity: 0.7; +} + +.textTrackList > .textTrackItem { + display: block; + width: 100%; + height: 30px; + padding: 2px 10px; + border: none; + margin: 0; + white-space: nowrap; + overflow: hidden; + text-align: left; + text-overflow: ellipsis; + color: #FFCF00; + background-color: transparent; +} + +.textTrackList > .textTrackItem:hover { + background-color: #FFCF00; +} + +.textTrackList > .textTrackItem[on] { + color: #008484; +} + +span.positionLabel, +span.durationLabel { + display: none; +} + +span.positionDurationBox { + min-width: 9ch; + text-align: center; + padding-inline-start: 1px; + padding-inline-end: 9px; + white-space: nowrap; + font: message-box; + font-size: 13px; + font-size-adjust: 0.6; + color: #000000; +} + +span.positionDurationBox[positionOnly] { + min-width: 4ch; +} + +span.duration { + display: inline-block; + white-space: pre; + color: #8050B0; +} + +.statusIcon { + width: 36px; + height: 36px; + margin-bottom: 20px; +} + +.statusIcon[type="throbber"] { + background: url("chrome://communicator/skin/brand/throbber-anim.png") no-repeat center; +} +/* +.statusIcon[type="throbber"][stalled] { + background: url("chrome://global/skin/media/stalled.png") no-repeat center; +} +*/ +.statusIcon[type="error"] { + min-width: 70px; + min-height: 60px; + background: url("chrome://global/skin/icons/alert-error.gif") no-repeat center; + background-size: contain; +} + +/* Overlay Play button */ +.clickToPlay { + min-width: 48px; + min-height: 48px; + border-radius: 50%; + background-image: url(chrome://global/skin/media/playButton.svg#play); + background-repeat: no-repeat; + background-position: 54% 50%; + background-size: 40% 40%; + background-color: #000000; + opacity: 0.8; + position: relative; + top: 20px; +} + +.controlsSpacerStack:hover > .clickToPlay, +.clickToPlay:hover { + opacity: 0.55; +} + +.controlsSpacerStack:hover > .clickToPlay[fadeout] { + opacity: 0; +} + +.controlBar[fullscreen-unavailable] .fullscreenButton { + display: none; +} + +/* CSS Transitions */ +.clickToPlay { + transition-property: transform, opacity; + transition-duration: 400ms, 400ms; +} + +.controlsSpacer[fadeout] { + opacity: 0; +} + +.clickToPlay[fadeout] { + transform: scale(3); + opacity: 0; +} + +.clickToPlay[fadeout][immediate] { + transition-property: opacity, background-size; + transition-duration: 0s, 0s; +} +.controlBar:not([immediate]) { + transition-property: opacity; + transition-duration: 200ms; +} +.controlBar[fadeout] { + opacity: 0; +} +.volumeStack:not([immediate]) { + transition-property: opacity, margin-top; + transition-duration: 200ms, 200ms; +} +.statusOverlay:not([immediate]) { + transition-property: opacity; + transition-duration: 300ms; + transition-delay: 750ms; +} +.statusOverlay[fadeout] { + opacity: 0; +} + +/* Error description formatting */ +.errorLabel { + padding: 0 10px; + text-align: center; + font-family: "Liberation Sans",Arial,Tahoma,Helvetica,sans-serif; + font-size: 14px; + color: #E7ADE7; +} + +.errorLabel { + display: none; +} + +[error="errorAborted"] > [anonid="errorAborted"], +[error="errorNetwork"] > [anonid="errorNetwork"], +[error="errorDecode"] > [anonid="errorDecode"], +[error="errorSrcNotSupported"] > [anonid="errorSrcNotSupported"], +[error="errorNoSource"] > [anonid="errorNoSource"], +[error="errorGeneric"] > [anonid="errorGeneric"] { + display: inline; +}