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