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