make network panel look decent even in current nightlies
[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
29465e59 5@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
1e29db46 6@namespace html url("http://www.w3.org/1999/xhtml");
29465e59 7
6f25e2c5 8.controlBar {
b310ca09 9 height: 28px;
6f25e2c5 10 background-color: rgba(156,156,255,0.75);
29465e59
RK
11}
12
a6c8d0f5
RK
13.playButton,
14.muteButton,
dae45075 15.closedCaptionButton,
a6c8d0f5
RK
16.fullscreenButton {
17 background-color: transparent;
18 background-repeat: no-repeat;
19 background-position: center;
dae45075
RK
20 margin: 0;
21 padding: 0;
b310ca09 22 min-height: 28px;
b310ca09 23 min-width: 28px;
dae45075 24 border: none;
b310ca09 25}
a6c8d0f5
RK
26
27.playButton:hover,
23516a30
RK
28.muteButton:not([noAudio]):hover,
29.closedCaptionButton:hover,
a6c8d0f5 30.fullscreenButton:hover {
1880ed93
RK
31 background-color: rgba(255,207,0,0.75);
32}
a6c8d0f5
RK
33
34.playButton:hover:active,
23516a30 35.muteButton:not([noAudio]):hover:active,
dae45075 36.closedCaptionButton:hover:active,
a6c8d0f5
RK
37.fullscreenButton:hover:active {
38 background-color: rgba(255,159,0,0.75);
39}
40
6f25e2c5 41.playButton {
1880ed93 42 background-image: url("chrome://global/skin/media/pauseButton.png");
a6c8d0f5
RK
43 margin-right: -22px; /* 1/2 of scrubber thumb width, for overhang. */
44 position: relative; /* Trick to work around negative margin interfering with clicking on the button. */
6f25e2c5 45}
a6c8d0f5 46
6f25e2c5 47.playButton:hover {
1880ed93 48 background-image: url("chrome://global/skin/media/pauseButton-hover.png");
29465e59 49}
a6c8d0f5 50
f128e38f 51.playButton[paused] {
1880ed93 52 background-image: url("chrome://global/skin/media/playButton.png");
6f25e2c5 53}
a6c8d0f5 54
f128e38f 55.playButton[paused]:hover {
1880ed93 56 background-image: url("chrome://global/skin/media/playButton-hover.png");
29465e59
RK
57}
58
6f25e2c5 59.muteButton {
1880ed93 60 background-image: url("chrome://global/skin/media/muteButton.png");
a6c8d0f5 61 min-width: 33px;
6f25e2c5 62}
a6c8d0f5 63
6f25e2c5 64.muteButton:hover {
1880ed93 65 background-image: url("chrome://global/skin/media/muteButton-hover.png");
6f25e2c5 66}
a6c8d0f5 67
f128e38f 68.muteButton[muted] {
1880ed93 69 background-image: url("chrome://global/skin/media/unmuteButton.png");
6f25e2c5 70}
a6c8d0f5 71
f128e38f 72.muteButton[muted]:hover {
1880ed93 73 background-image: url("chrome://global/skin/media/unmuteButton-hover.png");
6f25e2c5 74}
b310ca09 75
46dc2718
RK
76.muteButton[noAudio] {
77 background-image: url("chrome://global/skin/media/noAudio.png");
78}
79
e6488357
RK
80.muteButton[noAudio] + .volumeStack {
81 display: none;
82}
83
dae45075
RK
84.closedCaptionButton {
85 background-image: url("chrome://global/skin/media/closeCaptionButton.png");
86 background-position: 4px;
87}
88
23516a30
RK
89.closedCaptionButton:hover {
90 background-image: url("chrome://global/skin/media/closeCaptionButton-hover.png");
91}
92
dae45075
RK
93.closedCaptionButton[enabled] {
94 opacity: 1;
95}
96
97.closedCaptionButton[hidden] {
98 display: none;
99}
100
f128e38f 101.fullscreenButton {
a6c8d0f5 102 background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton.png"), 0, 16, 16, 0);
f128e38f
RK
103}
104
105.fullscreenButton:hover {
23516a30 106 background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton-hover.png"), 0, 16, 16, 0);
f128e38f
RK
107}
108
109.fullscreenButton[fullscreened] {
f777a4f1 110 background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton.png"), 0, 32, 16, 16);
f128e38f
RK
111}
112
113.fullscreenButton[fullscreened]:hover {
23516a30 114 background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton-hover.png"), 0, 32, 16, 16);
f128e38f
RK
115}
116
ca710c53 117.volumeControl {
e6488357
RK
118 width: 32px;
119 opacity: 0;
ca710c53
RK
120}
121
e6488357
RK
122.volumeBackground,
123.volumeForeground {
124 background-repeat: no-repeat;
125 background-position: center;
126 width: 32px;
ca710c53 127}
e6488357
RK
128
129.volumeBackground {
130 background-image: url("chrome://global/skin/media/volume-empty.png");
ca710c53
RK
131}
132
e6488357
RK
133.volumeForeground {
134 background-image: url("chrome://global/skin/media/volume-full.png");
135 background-clip: content-box;
ca710c53
RK
136}
137
dae45075
RK
138.textTrackList {
139 display: -moz-box;
140 -moz-appearance: none;
141 -moz-box-pack: end;
142 -moz-box-align: end;
143 padding: 0;
144}
145
146.textTrackList[hidden] {
147 display: none;
148}
149
150.textTrackList > html|*.textTrackItem {
151 -moz-appearance: none;
152 -moz-box-align: start;
153 text-align: start;
154 overflow: hidden;
155 margin: 0;
156 padding: 2px 10px;
157 -moz-margin-end: 10px;
158 border: none;
159 color: rgba(255,255,255,.5);
160 background-color: rgba(35,31,32,.74);
161 white-space: nowrap;
162}
163
164.textTrackList > html|*.textTrackItem[on] {
165 color: white;
166 background-color: black;
167}
168
169.textTrackList > html|*.textTrackItem:hover {
170 background-color: rgba(0,0,0,.55);
171}
172
173.controlBar[fullscreen-unavailable] {
441d0294 174 /* This value is duplicated in the videocontrols.xml adjustControlSize function. */
dae45075 175 padding-inline-end: 8px;
441d0294
RK
176}
177
178.volumeControl .scale-thumb {
179 min-width: 0;
180 opacity: 0;
181}
182
ca710c53
RK
183.durationBox {
184 -moz-box-pack: center;
185}
186
187.durationLabel {
188 margin-left: -22px; /* 1/2 of scrubber thumb width, for overhang. */
189 padding-left: 8px; /* don't bump into the scrubber bar */
190 padding-top: 0px; /* center vertically with scrubber bar */
191 color: rgba(0,0,0,0.75);
3327253e 192 font-family: "Liberation Sans",Arial,Tahoma,Helvetica,sans-serif;
dae45075 193 font-size: 11px;
ca710c53
RK
194}
195
9162a092
RK
196.positionLabel {
197 display: none;
198}
199
b310ca09 200.backgroundBar {
ca710c53
RK
201 /* margin top/bottom: make bar 8px tall (control height = 28, minus 2 * 10 margin) */
202 /* margin left/right: 1/2 of scrubber thumb width, for overhang. */
203 margin: 10px 22px;
b310ca09 204 background-color: rgba(0,0,0,0.75);
a62af8a9 205 border-radius: 2.5px;
b310ca09
RK
206}
207
dae45075
RK
208.bufferBar,
209.progressBar {
ca710c53
RK
210 /* margin top/bottom: make bar 8px tall (control height = 28, minus 2 * 10 margin) */
211 /* margin left/right: 1/2 of scrubber thumb width, for overhang. */
212 margin: 10px 22px;
b310ca09
RK
213 border: none;
214 background-color: transparent;
dae45075
RK
215 min-width: 0;
216 min-height: 0;
b310ca09
RK
217}
218
219/* .progress-bar is an element inside the <progressmeter> implementation. */
220.bufferBar .progress-bar {
221 /*
222 * Note that this is drawn on top of the .backgroundBar. So although this
223 * has the same background-color specified, the semitransparent
224 * compositing gives it a different visual appearance.
225 */
226 background-color: rgba(255,159,0,0.75);
a62af8a9 227 border-radius: 2.5px;
b310ca09
RK
228 -moz-appearance: none;
229}
230
231.progressBar .progress-bar {
232 background-color: #008484;
a62af8a9 233 border-radius: 2.5px;
b310ca09
RK
234 -moz-appearance: none;
235}
236
237/* .scale-slider is an element inside the <scale> implementation. */
dae45075
RK
238.scrubber .scale-slider,
239.volumeControl .scale-slider {
b310ca09
RK
240 /* Hide the default horizontal bar. */
241 background: none;
ca710c53
RK
242 margin: 0;
243}
244
245.scrubber .scale-slider {
3327253e
RK
246 /* abs(margin-top) + margin-bottom + bar height == timeThumb height */
247 margin-top: -10px;
248 margin-bottom: 10px;
b310ca09
RK
249}
250
251/* .scale-thumb is an element inside the <scale> implementation. */
e6488357
RK
252.scrubber .scale-thumb,
253.volumeControl .scale-thumb {
b310ca09 254 /* Override the default thumb appearance with a custom image. */
ca710c53 255 background: transparent;
b310ca09 256 border: none !important;
b310ca09
RK
257}
258
ca710c53
RK
259.timeThumb {
260 background: url("chrome://global/skin/media/scrubberThumb.png") no-repeat center;
261 min-width: 45px;
1e140ad9 262 min-height: 28px;
ca710c53
RK
263 -moz-box-pack: center;
264}
265
266.timeThumb[showhours="true"] {
a6c8d0f5 267 background-image: url("chrome://global/skin/media/scrubberThumbWide.png");
ca710c53
RK
268}
269
270/*
271.timeThumb:hover, .timeThumb:active {
b310ca09
RK
272 background-image: url("chrome://global/skin/media/scrubberThumb-hover.png");
273}
ca710c53
RK
274*/
275
276.timeLabel {
3327253e
RK
277 color: rgba(0,0,0,0.75);
278 font-size: 10px;
279 font-family: "Liberation Sans",Arial,Tahoma,Helvetica,sans-serif;
280 text-shadow: rgba(255,259,0, 0.3) 0 1px;
f777a4f1 281 padding-top: 5px;
ca710c53
RK
282}
283
ca710c53 284.statusOverlay {
3327253e
RK
285 -moz-box-align: center;
286 -moz-box-pack: center;
287 background-color: rgba(0,0,0,0.55);
ca710c53
RK
288}
289
290.statusIcon {
3327253e
RK
291 margin-bottom: 28px; /* same height as .controlBar, to keep icon centered above it */
292 width: 36px;
293 height: 36px;
ca710c53
RK
294}
295
296.statusIcon[type="throbber"] {
95f333af 297 background: url("chrome://communicator/skin/brand/throbber-anim.png") no-repeat center;
ca710c53 298}
154ee8b3
RK
299/*
300.statusIcon[type="throbber"][stalled] {
301 background: url("chrome://global/skin/media/stalled.png") no-repeat center;
302}
303*/
ca710c53 304.statusIcon[type="error"] {
3327253e 305 background: url("chrome://global/skin/icons/alert-error.gif") no-repeat center;
ca710c53 306}
4b1ccdb4 307
044b5d49
RK
308/* Overlay Play button */
309.clickToPlay {
310 width: 64px;
311 height: 64px;
312 -moz-box-pack: center;
313 -moz-box-align: center;
314 opacity: 0.7;
dae45075
RK
315 background-image: url("chrome://global/skin/media/videoClickToPlayButton.svg");
316 background-repeat: no-repeat;
317 background-position: center;
318 background-size: 64px 64px;
044b5d49
RK
319 background-color: hsla(0,0%,10%,.5);
320}
321.clickToPlay:hover {
322 opacity: 1;
323}
324
1e29db46
RK
325/* Statistics formatting */
326html|*.statsDiv {
327 position: relative;
328}
329html|td {
330 height: 1em;
331 max-height: 1em;
332 padding: 0 2px;
333}
334html|table {
335 font-family: "Liberation Sans",Arial,Tahoma,Helvetica,sans-serif;
336 font-size: 11px;
337 color: white;
338 text-shadow:
339 -1px -1px 0 #000,
340 1px -1px 0 #000,
341 -1px 1px 0 #000,
342 1px 1px 0 #000;
343 min-width: 100%;
344 background: rgba(68,68,111,.7);
345 table-layout: fixed;
346 border-collapse: collapse;
347 position: absolute;
348}
349
4b1ccdb4 350/* CSS Transitions */
044b5d49 351.clickToPlay {
71a617ff
RK
352 transition-property: opacity, background-size;
353 transition-duration: 400ms, 400ms;
044b5d49
RK
354}
355.clickToPlay[fadeout] {
356 background-size: auto, 192px 192px;
357 opacity: 0;
358}
359.clickToPlay[fadeout][immediate] {
71a617ff
RK
360 transition-property: opacity, background-size;
361 transition-duration: 0s, 0s;
044b5d49 362}
4b1ccdb4 363.controlBar:not([immediate]) {
71a617ff
RK
364 transition-property: opacity;
365 transition-duration: 200ms;
4b1ccdb4
RK
366}
367.controlBar[fadeout] {
368 opacity: 0;
369}
370.volumeStack:not([immediate]) {
71a617ff
RK
371 transition-property: opacity, margin-top;
372 transition-duration: 200ms, 200ms;
4b1ccdb4
RK
373}
374.volumeStack[fadeout] {
375 opacity: 0;
376 margin-top: 0;
377}
378.statusOverlay:not([immediate]) {
71a617ff
RK
379 transition-property: opacity;
380 transition-duration: 300ms;
381 transition-delay: 750ms;
4b1ccdb4
RK
382}
383.statusOverlay[fadeout] {
384 opacity: 0;
385}
f128e38f
RK
386
387/* Error description formatting */
388.errorLabel {
389 font-family: "Liberation Sans",Arial,Tahoma,Helvetica,sans-serif;
390 font-size: 11px;
391 color: #E7ADE7;
392 text-shadow:
393 -1px -1px 0 #000,
394 1px -1px 0 #000,
395 -1px 1px 0 #000,
396 1px 1px 0 #000;
397 padding: 0 10px;
398 text-align: center;
399}
dae45075
RK
400
401@media (min-resolution: 2dppx) {
dae45075
RK
402 .playButton {
403 background-image: url(chrome://global/skin/media/pauseButton@2x.png);
404 background-size: 28px 28px;
405 }
23516a30
RK
406 .playButton:hover {
407 background-image: url(chrome://global/skin/media/pauseButton-hover@2x.png);
408 background-size: 28px 28px;
409 }
dae45075
RK
410 .playButton[paused] {
411 background-image: url(chrome://global/skin/media/playButton@2x.png);
412 background-size: 28px 28px;
413 }
23516a30
RK
414 .playButton[paused]:hover {
415 background-image: url(chrome://global/skin/media/playButton-hover@2x.png);
416 background-size: 28px 28px;
417 }
dae45075
RK
418 .volumeBackground {
419 background-image: url(chrome://global/skin/media/volume-empty@2x.png);
420 background-size: 32px 16px;
421 }
23516a30
RK
422 .volumeForeground:hover {
423 background-image: url(chrome://global/skin/media/volume-full-hover@2x.png);
dae45075
RK
424 background-size: 32px 16px;
425 }
426 .muteButton {
427 background-image: url(chrome://global/skin/media/muteButton@2x.png);
428 background-size: 33px 28px;
429 }
23516a30
RK
430 .muteButton:hover {
431 background-image: url(chrome://global/skin/media/muteButton-hover@2x.png);
432 background-size: 33px 28px;
433 }
dae45075
RK
434 .muteButton[muted] {
435 background-image: url(chrome://global/skin/media/unmuteButton@2x.png);
436 background-size: 33px 28px;
437 }
23516a30
RK
438 .muteButton[muted]:hover {
439 background-image: url(chrome://global/skin/media/unmuteButton-hover@2x.png);
440 background-size: 33px 28px;
441 }
dae45075
RK
442 .muteButton[noAudio] {
443 background-image: url(chrome://global/skin/media/noAudio@2x.png);
444 background-size: 33px 28px;
445 }
dae45075
RK
446 .closedCaptionButton {
447 background-image: url(chrome://global/skin/media/closeCaptionButton@2x.png);
448 background-position: 4px;
449 background-size: 28px 28px;
450 }
23516a30
RK
451 .closedCaptionButton:hover {
452 background-image: url(chrome://global/skin/media/closeCaptionButton-hover@2x.png);
453 background-position: 4px;
454 background-size: 28px 28px;
455 }
dae45075
RK
456 .fullscreenButton {
457 background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton@2x.png"), 0, 32, 32, 0);
458 background-size: 16px 16px;
459 }
23516a30
RK
460 .fullscreenButton:hover {
461 background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton-hover@2x.png"), 0, 32, 32, 0);
462 background-size: 16px 16px;
463 }
dae45075
RK
464 .fullscreenButton[fullscreened] {
465 background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton@2x.png"), 0, 64, 32, 32);
466 background-size: 16px 16px;
467 }
23516a30
RK
468 .fullscreenButton[fullscreened]:hover {
469 background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton-hover@2x.png"), 0, 64, 32, 32);
470 background-size: 16px 16px;
471 }
dae45075
RK
472 .timeThumb {
473 background-image: url(chrome://global/skin/media/scrubberThumb@2x.png);
474 background-size: 33px 28px;
475 }
476 .timeThumb[showhours="true"] {
477 background-image: url(chrome://global/skin/media/scrubberThumbWide@2x.png);
478 background-size: 45px 28px;
479 }
dae45075 480}