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