992f406d44d02be05b3a8e8352c09aad71327b40
[themes.git] / EarlyBlue / global / media / videocontrols.css
1 @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
2
3 .controlBar {
4   height: 28px;
5   background-color: rgba(102,102,153,0.75);
6 }
7
8 .playButton, .muteButton {
9   /* Remove the usual button appearance and styling */
10   margin: 0px;
11   padding: 0px;
12   border: none;
13   min-height: 28px;
14   background-color: transparent;
15   background-repeat: no-repeat;
16   background-position: center center;
17 }
18 .playButton {
19   min-width: 28px;
20   margin-right: -22px; /* 1/2 of scrubber thumb width, for overhang. */
21   position: relative; /* Trick to work around negative margin interfering with clicking on the button. */
22 }
23 .muteButton {
24   min-width: 33px;
25 }
26
27 .playButton {
28   background-image: url("chrome://global/skin/media/pauseButton.png");
29 }
30 .playButton[paused="true"] {
31   background-image: url("chrome://global/skin/media/playButton.png");
32 }
33
34 .muteButton {
35   background-image: url("chrome://global/skin/media/muteButton.png");
36 }
37 .muteButton[muted="true"] {
38   background-image: url("chrome://global/skin/media/unmuteButton.png");
39 }
40
41 .volumeStack {
42   width: 28px;
43   height: 70px;
44   background-color: rgba(102,102,153,0.74);
45   /* use negative margin to place stack over the mute button to its left. */
46   margin: -70px 3px 28px -31px;
47   overflow: hidden; /* crop it when sliding down, don't grow the control bar */
48   position: relative; /* Trick to work around negative margin interfering with dragging the thumb. */
49   padding-top: 6px;
50 }
51
52 .volumeControl {
53   min-height: 64px;
54 }
55
56 /* .scale-thumb is an element inside the <scale> implementation. */
57 .volumeControl .scale-thumb {
58   /* Override the default thumb appearance with a custom image. */
59   -moz-appearance: none;
60   background: url("chrome://global/skin/media/volumeThumb.png") no-repeat center;
61   border: none !important;
62   min-width: 16px;
63   min-height: 11px;
64 }
65
66 .volumeBackgroundBar {
67   /* margin left/right: make bar 8px wide (control width = 28, minus 2 * 10 margin) */
68   margin: 0px 10px;
69   background-color: rgba(0,0,0,0.5);
70 }
71
72 .durationBox {
73   -moz-box-pack: center;
74 }
75
76 .durationLabel {
77   margin-left: -22px; /* 1/2 of scrubber thumb width, for overhang. */
78   padding-left: 8px; /* don't bump into the scrubber bar */
79   padding-top: 0px; /* center vertically with scrubber bar */
80   color: rgba(204,208,221,0.75);
81   font-size: 11px;
82   font-family: "Liberation Sans",Arial,Tahoma,Helvetica,sans-serif;
83 }
84
85 .positionLabel {
86   display: none;
87 }
88
89 .backgroundBar {
90   /* margin top/bottom: make bar 8px tall (control height = 28, minus 2 * 10 margin) */
91   /* margin left/right: 1/2 of scrubber thumb width, for overhang. */
92   margin: 10px 22px;
93   background-color: rgba(0,0,0,0.75);
94 }
95
96 .bufferBar, .progressBar {
97   /* margin top/bottom: make bar 8px tall (control height = 28, minus 2 * 10 margin) */
98   /* margin left/right: 1/2 of scrubber thumb width, for overhang. */
99   margin: 10px 22px;
100   border: none;
101   background-color: transparent;
102   min-width: 0px;
103   min-height: 0px;
104 }
105
106 /* .progress-bar is an element inside the <progressmeter> implementation. */
107 .bufferBar .progress-bar {
108   /*
109    * Note that this is drawn on top of the .backgroundBar. So although this
110    * has the same background-color specified, the semitransparent
111    * compositing gives it a different visual appearance.
112    */
113   background-color: rgba(204,208,221,0.75);
114   -moz-appearance: none;
115 }
116
117 .progressBar .progress-bar {
118   background-color: #336699;
119   -moz-appearance: none;
120 }
121
122 /* .scale-slider is an element inside the <scale> implementation. */
123 .scrubber .scale-slider, .volumeControl .scale-slider {
124   /* Hide the default horizontal bar. */
125   background: none;
126   margin: 0;
127 }
128
129 .scrubber .scale-slider {
130   /* abs(margin-top) + margin-bottom + bar height == timeThumb height */
131   margin-top: -10px;
132   margin-bottom: 10px;
133 }
134
135 /* .scale-thumb is an element inside the <scale> implementation. */
136 .scrubber .scale-thumb {
137   /* Override the default thumb appearance with a custom image. */
138   background: transparent;
139   border: none !important;
140 }
141
142 .timeThumb {
143   background: url("chrome://global/skin/media/scrubberThumb.png") no-repeat center;
144   min-width: 45px;
145   min-height: 28px;
146   -moz-box-pack: center;
147 }
148
149 .timeThumb[showhours="true"] {
150   background: url("chrome://global/skin/media/scrubberThumbWide.png") no-repeat center;
151 }
152
153 /*
154 .timeThumb:hover, .timeThumb:active {
155   background-image: url("chrome://global/skin/media/scrubberThumb-hover.png");
156 }
157 */
158
159 .timeLabel {
160   color: rgba(0,0,0,0.75);
161   font-size: 10px;
162   font-family: "Liberation Sans",Arial,Tahoma,Helvetica,sans-serif;
163   text-shadow: rgba(102,102,153, 0.3) 0 1px;
164   padding-top: 2px;
165 }
166
167 .statusOverlay {
168   -moz-box-align: center;
169   -moz-box-pack: center;
170   background-color: rgba(0,0,0,0.55);
171 }
172
173 .statusIcon {
174   margin-bottom: 28px; /* same height as .controlBar, to keep icon centered above it */
175   width: 32px;
176   height: 32px;
177 }
178
179 .statusIcon[type="throbber"] {
180   background: url("chrome://communicator/skin/brand/throbber-anim.gif") no-repeat center;
181 }
182 /*
183 .statusIcon[type="throbber"][stalled] {
184   background: url("chrome://global/skin/media/stalled.png") no-repeat center;
185 }
186 */
187 .statusIcon[type="error"] {
188   background: url("chrome://global/skin/icons/alert-error.gif") no-repeat center;
189 }
190
191 /* CSS Transitions */
192 .controlBar:not([immediate]) {
193   -moz-transition-property: opacity;
194   -moz-transition-duration: 200ms;
195 }
196 .controlBar[fadeout] {
197   opacity: 0;
198 }
199 .volumeStack:not([immediate]) {
200   -moz-transition-property: opacity, margin-top;
201   -moz-transition-duration: 200ms, 200ms;
202 }
203 .volumeStack[fadeout] {
204   opacity: 0;
205   margin-top: 0;
206 }
207 .statusOverlay:not([immediate]) {
208   -moz-transition-property: opacity;
209   -moz-transition-duration: 300ms;
210   -moz-transition-delay: 750ms;
211 }
212 .statusOverlay[fadeout] {
213   opacity: 0;
214 }