sync both themes with toolkit windows theme changes in Mozilla 54 cycle
[themes.git] / LCARStrek / global / media / videocontrols.css
CommitLineData
dae45075
RK
1/* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4
1c129f50 5@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
0282321d 6@namespace url("http://www.w3.org/1999/xhtml");
1c129f50
RK
7
8video > xul|videocontrols,
9audio > xul|videocontrols {
10 writing-mode: horizontal-tb;
11 width: 100%;
12 height: 100%;
0282321d 13 display: inline-block;
1c129f50
RK
14}
15
0282321d
RK
16.controlsContainer [hidden="true"],
17.controlBar[hidden] {
1c129f50
RK
18 display: none;
19}
20
0282321d 21.controlBar[size="hidden"] {
1c129f50
RK
22 display: none;
23}
24
918c9e49
RK
25.controlsSpacer[hideCursor] {
26 cursor: none;
27}
28
0282321d
RK
29.controlsContainer,
30.progressContainer {
1c129f50
RK
31 position: relative;
32 height: 100%;
33}
34
0282321d 35.stackItem {
1c129f50
RK
36 position: absolute;
37 left: 0;
38 bottom: 0;
39 width: 100%;
40 height: 100%;
41}
42
0282321d 43.statusOverlay {
1c129f50
RK
44 display: flex;
45 flex-direction: column;
46 justify-content: center;
47 align-items: center;
48 background-color: rgb(160,144,144);
49}
50
0282321d 51.controlsOverlay {
1c129f50
RK
52 display: flex;
53 flex-direction: column;
54 justify-content: center;
55 position: relative;
56}
57
0282321d 58.controlsSpacerStack {
1c129f50
RK
59 display: flex;
60 flex-direction: column;
61 flex-grow: 1;
62 justify-content: center;
63 align-items: center;
64}
65
0282321d 66.controlsSpacer {
1c129f50
RK
67 background-color: rgba(0,0,0,.4);
68}
69
0282321d 70.controlBar {
1c129f50
RK
71 position: relative;
72 display: flex;
73 justify-content: center;
74 align-items: center;
75 overflow: hidden;
76 height: 40px;
0282321d 77 padding: 0 9px;
1c129f50
RK
78 background-color: rgba(156,156,255,0.75);
79}
80
0282321d
RK
81.playButton,
82.muteButton,
83.closedCaptionButton,
84.fullscreenButton {
1c129f50
RK
85 height: 100%;
86 min-height: 30px;
87 min-width: 30px;
0282321d 88 padding: 6px;
1c129f50
RK
89 border: 0;
90 margin: 0;
91 background-color: transparent;
92 background-repeat: no-repeat;
93 background-position: center;
94 background-origin: content-box;
95 background-clip: content-box;
96}
97
0282321d
RK
98.playButton:hover,
99.muteButton:not([noAudio]):hover,
100.closedCaptionButton:hover,
101.fullscreenButton:hover {
1c129f50
RK
102 background-color: rgba(255,207,0,0.75);
103}
104
0282321d
RK
105.playButton:hover:active,
106.muteButton:not([noAudio]):hover:active,
107.closedCaptionButton:hover:active,
108.fullscreenButton:hover:active {
1c129f50
RK
109 background-color: rgba(255,159,0,0.75);
110}
111
0282321d 112.playButton {
1c129f50
RK
113 background-image: url(chrome://global/skin/media/pauseButton.svg#pause);
114}
115.playButton:hover {
0282321d 116 background-image: url(chrome://global/skin/media/pauseButton.svg#pause-hover);
1c129f50 117}
0282321d 118.playButton:hover:active {
1c129f50
RK
119 background-image: url(chrome://global/skin/media/pauseButton.svg#pause-active);
120}
0282321d 121.playButton[paused] {
1c129f50
RK
122 background-image: url(chrome://global/skin/media/playButton.svg#play);
123}
0282321d 124.playButton[paused]:hover {
1c129f50
RK
125 background-image: url(chrome://global/skin/media/playButton.svg#play-hover);
126}
0282321d 127.playButton[paused]:hover:active {
1c129f50
RK
128 background-image: url(chrome://global/skin/media/playButton.svg#play-active);
129}
130
0282321d 131.muteButton {
1c129f50
RK
132 background-image: url(chrome://global/skin/media/muteButton.svg#unmute);
133}
0282321d 134.muteButton:hover {
1c129f50
RK
135 background-image: url(chrome://global/skin/media/muteButton.svg#unmute-hover);
136}
0282321d 137.muteButton:hover:active {
1c129f50
RK
138 background-image: url(chrome://global/skin/media/muteButton.svg#unmute-active);
139}
0282321d 140.muteButton[muted] {
1c129f50
RK
141 background-image: url(chrome://global/skin/media/muteButton.svg#mute);
142}
0282321d 143.muteButton[muted]:hover {
1c129f50
RK
144 background-image: url(chrome://global/skin/media/muteButton.svg#mute-hover);
145}
0282321d 146.muteButton[muted]:hover:active {
1c129f50
RK
147 background-image: url(chrome://global/skin/media/muteButton.svg#mute-active);
148}
0282321d
RK
149.muteButton[noAudio],
150.muteButton[noAudio]:hover,
151.muteButton[noAudio]:hover:active {
1c129f50
RK
152 background-image: url(chrome://global/skin/media/muteButton.svg#noaudio);
153}
0282321d 154.muteButton[noAudio] + .volumeStack {
1c129f50
RK
155 display: none;
156}
157
0282321d 158.closedCaptionButton {
1c129f50
RK
159 background-image: url(chrome://global/skin/media/closedCaptionButton.svg#cc-off);
160}
0282321d 161.closedCaptionButton:hover {
1c129f50
RK
162 background-image: url(chrome://global/skin/media/closedCaptionButton.svg#cc-off-hover);
163}
0282321d 164.closedCaptionButton:hover:active {
1c129f50
RK
165 background-image: url(chrome://global/skin/media/closedCaptionButton.svg#cc-off-active);
166}
0282321d 167.closedCaptionButton[enabled] {
1c129f50
RK
168 background-image: url(chrome://global/skin/media/closedCaptionButton.svg#cc);
169}
0282321d 170.closedCaptionButton[enabled]:hover {
1c129f50
RK
171 background-image: url(chrome://global/skin/media/closedCaptionButton.svg#cc-hover);
172}
0282321d 173.closedCaptionButton[enabled]:hover:active {
1c129f50
RK
174 background-image: url(chrome://global/skin/media/closedCaptionButton.svg#cc-active);
175}
176
0282321d 177.fullscreenButton {
1c129f50
RK
178 background-image: url(chrome://global/skin/media/fullscreenButton.svg#fullscreen);
179}
0282321d 180.fullscreenButton:hover {
1c129f50
RK
181 background-image: url(chrome://global/skin/media/fullscreenButton.svg#fullscreen-hover);
182}
0282321d 183.fullscreenButton:hover:active {
1c129f50
RK
184 background-image: url(chrome://global/skin/media/fullscreenButton.svg#fullscreen-active);
185}
0282321d 186.fullscreenButton[fullscreened] {
1c129f50
RK
187 background-image: url(chrome://global/skin/media/fullscreenButton.svg#unfullscreen);
188}
0282321d 189.fullscreenButton[fullscreened]:hover {
1c129f50
RK
190 background-image: url(chrome://global/skin/media/fullscreenButton.svg#unfullscreen-hover);
191}
0282321d 192.fullscreenButton[fullscreened]:hover:active {
1c129f50
RK
193 background-image: url(chrome://global/skin/media/fullscreenButton.svg#unfullscreen-active);
194}
195
0282321d 196.controlBarSpacer {
1c129f50
RK
197 flex-grow: 1;
198}
199
0282321d
RK
200.volumeControl::-moz-range-thumb,
201.scrubber::-moz-range-thumb {
1c129f50
RK
202 height: 13px;
203 width: 13px;
204 border: none;
205 border-radius: 50%;
206 background-color: #000000;
207}
208
0282321d
RK
209.volumeControl::-moz-focus-outer,
210.scrubber::-moz-focus-outer {
1c129f50
RK
211 border: 0;
212}
213
0282321d 214.progressBackgroundBar {
1c129f50
RK
215 display: flex;
216 flex-direction: column;
217 justify-content: center;
218 align-items: center;
219}
220
0282321d 221.progressStack {
1c129f50
RK
222 position: relative;
223 width: 100%;
224 height: 5px;
225}
226
0282321d 227.scrubberStack {
1c129f50
RK
228 min-width: 48px;
229 flex-basis: 48px;
230 flex-grow: 2;
231 flex-shrink: 0;
232 margin: 0 9px;
233}
234
0282321d 235.volumeStack {
1c129f50
RK
236 max-width: 60px;
237 min-width: 48px;
238 flex-grow: 1;
239 flex-shrink: 0;
240 margin-right: 6px;
241 margin-left: 4px;
242}
243
0282321d
RK
244.bufferBar,
245.progressBar,
246.scrubber,
1c129f50 247.volumeBackground,
0282321d 248.volumeControl {
1c129f50
RK
249 bottom: 0;
250 left: 0;
251 position: absolute;
252 width: 100%;
253 height: 100%;
254 padding: 0;
255 border: 0;
256 border-radius: 2.5px;
257 margin: 0;
258 background: none;
259 background-color: transparent;
260}
261
0282321d 262.bufferBar,
1c129f50
RK
263.volumeBackground {
264 background-color: rgba(160,144,144,0.7);
265}
266
0282321d
RK
267.bufferBar::-moz-progress-bar,
268.progressBar::-moz-progress-bar,
1c129f50
RK
269.volumeBackground::-moz-meter-bar {
270 height: 100%;
271 padding: 0;
272 margin: 0;
273 border: 0;
274 border-radius: 2.5px;
275 background: none;
276}
277
0282321d
RK
278.scrubber:hover::-moz-range-thumb,
279.volumeControl:hover::-moz-range-thumb {
1c129f50
RK
280 background-color: #FFCF00;
281}
282
0282321d
RK
283.scrubber:active::-moz-range-thumb,
284.volumeControl:active::-moz-range-thumb {
1c129f50
RK
285 background-color: #FF9F00;
286}
287
0282321d
RK
288.scrubber::-moz-range-track,
289.scrubber::-moz-range-progress {
1c129f50
RK
290 background-color: transparent;
291}
292
0282321d
RK
293.volumeControl::-moz-range-progress,
294.volumeControl::-moz-range-track {
1c129f50
RK
295 height: 5px;
296 border-radius: 2.5px;
297}
298
0282321d 299.volumeControl::-moz-range-progress {
1c129f50
RK
300 background-color: #008484;
301}
302
0282321d 303.volumeControl::-moz-range-track {
1c129f50
RK
304 background-color: rgba(0,0,0,0.7);
305}
306
307
0282321d 308.bufferBar::-moz-progress-bar {
1c129f50
RK
309 background-color: rgba(160,144,144,0.3);
310 border-radius: 2.5px;
311}
312
0282321d 313.progressBar::-moz-progress-bar {
1c129f50
RK
314 background-color: #008484;
315}
316
317.textTrackList {
318 position: absolute;
319 right: 5px;
320 bottom: 45px;
321 max-width: 80%;
322 border: 1px solid #000000;
323 border-radius: 2.5px;
324 padding: 5px 0;
325 vertical-align: middle;
326 font-size: 12px;
327 background-color: #000000;
328 opacity: 0.7;
329}
330
331.textTrackList > .textTrackItem {
332 display: block;
333 width: 100%;
334 height: 30px;
335 padding: 2px 10px;
336 border: none;
337 margin: 0;
338 white-space: nowrap;
339 overflow: hidden;
340 text-align: left;
341 text-overflow: ellipsis;
0282321d 342 color: #FF9F00;
1c129f50
RK
343 background-color: transparent;
344}
345
346.textTrackList > .textTrackItem:hover {
347 background-color: #FFCF00;
348}
349
350.textTrackList > .textTrackItem[on] {
351 color: #008484;
352}
353
0282321d
RK
354.positionLabel,
355.durationLabel {
1c129f50
RK
356 display: none;
357}
358
0282321d 359.positionDurationBox {
1c129f50
RK
360 text-align: center;
361 padding-inline-start: 1px;
362 padding-inline-end: 9px;
363 white-space: nowrap;
364 font: message-box;
365 font-size: 13px;
0282321d 366 font-size-adjust: 0.55;
1c129f50
RK
367 color: #000000;
368}
369
0282321d 370.duration {
1c129f50
RK
371 display: inline-block;
372 white-space: pre;
373 color: #8050B0;
374}
375
376.statusIcon {
377 width: 36px;
378 height: 36px;
379 margin-bottom: 20px;
380}
381
382.statusIcon[type="throbber"] {
0282321d 383 background: url(chrome://global/skin/media/throbber.png) no-repeat center;
1c129f50 384}
0282321d 385
1c129f50 386.statusIcon[type="throbber"][stalled] {
0282321d 387 background: url(chrome://global/skin/media/stalled.png) no-repeat center;
1c129f50 388}
0282321d 389
1c129f50
RK
390.statusIcon[type="error"] {
391 min-width: 70px;
392 min-height: 60px;
0282321d 393 background: url(chrome://global/skin/media/error.png) no-repeat center;
1c129f50
RK
394 background-size: contain;
395}
396
397/* Overlay Play button */
398.clickToPlay {
399 min-width: 48px;
400 min-height: 48px;
401 border-radius: 50%;
402 background-image: url(chrome://global/skin/media/playButton.svg#play);
403 background-repeat: no-repeat;
404 background-position: 54% 50%;
405 background-size: 40% 40%;
406 background-color: #000000;
407 opacity: 0.8;
408 position: relative;
409 top: 20px;
410}
411
412.controlsSpacerStack:hover > .clickToPlay,
413.clickToPlay:hover {
414 opacity: 0.55;
415}
416
417.controlsSpacerStack:hover > .clickToPlay[fadeout] {
418 opacity: 0;
419}
420
421.controlBar[fullscreen-unavailable] .fullscreenButton {
422 display: none;
423}
424
425/* CSS Transitions */
426.clickToPlay {
427 transition-property: transform, opacity;
428 transition-duration: 400ms, 400ms;
429}
430
431.controlsSpacer[fadeout] {
432 opacity: 0;
433}
434
435.clickToPlay[fadeout] {
436 transform: scale(3);
437 opacity: 0;
438}
439
440.clickToPlay[fadeout][immediate] {
441 transition-property: opacity, background-size;
442 transition-duration: 0s, 0s;
443}
444.controlBar:not([immediate]) {
445 transition-property: opacity;
446 transition-duration: 200ms;
447}
448.controlBar[fadeout] {
449 opacity: 0;
450}
451.volumeStack:not([immediate]) {
452 transition-property: opacity, margin-top;
453 transition-duration: 200ms, 200ms;
454}
455.statusOverlay:not([immediate]) {
456 transition-property: opacity;
457 transition-duration: 300ms;
458 transition-delay: 750ms;
459}
460.statusOverlay[fadeout] {
461 opacity: 0;
462}
463
464/* Error description formatting */
465.errorLabel {
466 padding: 0 10px;
467 text-align: center;
0282321d 468 font: message-box;
1c129f50
RK
469 font-size: 14px;
470 color: #E7ADE7;
471}
472
473.errorLabel {
474 display: none;
475}
476
477[error="errorAborted"] > [anonid="errorAborted"],
478[error="errorNetwork"] > [anonid="errorNetwork"],
479[error="errorDecode"] > [anonid="errorDecode"],
480[error="errorSrcNotSupported"] > [anonid="errorSrcNotSupported"],
481[error="errorNoSource"] > [anonid="errorNoSource"],
482[error="errorGeneric"] > [anonid="errorGeneric"] {
483 display: inline;
484}