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