update styling: make CSS more readable, use dark UI for library, do correct overflow...
[lantea.git] / style / lantea.css
CommitLineData
a7393a71
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 file,
3 * You can obtain one at http://mozilla.org/MPL/2.0/. */
23cd2dcc
RK
4
5body {
6 font-family: sans-serif;
b47b4a65 7 margin: 0;
68afcd96 8 background: url("loading.png") repeat;
b47b4a65
RK
9}
10
11h1 {
12 display: none;
13}
14
8f9306c5
RK
15.hidden {
16 display: none;
17}
18
6d5072d8
RK
19.debugHide {
20 display: none;
21}
22
23/* Main window UI areas */
24#map, #track {
25 position: fixed;
26 border: 0;
27 top: 0;
28 left: 0;
29 right: 0;
30 bottom: 0;
31}
32
33#map {
34 z-index: 1;
35}
36
37#track {
38 z-index: 3;
39}
40
41.autoFade {
c5378747 42 position: absolute;
c5378747 43 z-index: 5;
7a549148
RK
44 transition-property: opacity;
45 transition-duration: .2s;
46}
47
6d5072d8 48.autoFade.hidden {
7a549148
RK
49 opacity: 0;
50 transition-duration: 1s;
8f9306c5 51 display: block;
7a549148
RK
52}
53
8389557a
RK
54#menuArea {
55 /* width: 30em; */
56 left: 1%;
57 top: 1em;
58}
59
60#zoomArea {
61 right: 1%;
62 top: 1em;
63 text-align: center;
64}
65
6d5072d8
RK
66.autoFade > input[type="button"],
67.autoFade > .controlButton {
858b60b8 68 font-size: 1.2em;
ac45368e
RK
69 font-weight: bold;
70 width: 2em;
71 height: 2em;
72 border-radius: 2em;
858b60b8
RK
73 background-color: rgba(255, 255, 255, .25);
74 background-image: radial-gradient(circle 1.5em, #FFFFFF, transparent);
ac45368e 75 color: #0000FF;
ed4c478c
RK
76 border: none;
77}
78
79#zoomArea > input[type="button"] {
ac45368e
RK
80 border: 2px solid #0000FF;
81}
82
6d5072d8
RK
83.autoFade > input[type="button"]:hover,
84.autoFade > .controlButton:hover {
ac45368e
RK
85 background-color: rgba(255, 255, 255, .8);
86}
87
6d5072d8
RK
88.autoFade > input[type="button"]:active,
89.autoFade > .controlButton:active {
ac45368e
RK
90 background-color: rgba(255, 255, 127, .8);
91}
92
6d5072d8
RK
93.autoFade > input[type="button"]:focus,
94.autoFade > .controlButton:focus {
858b60b8
RK
95 background-color: rgba(255, 255, 255, .5);
96}
97
8389557a
RK
98#fullscreenArea {
99 right: 1%;
100 bottom: 2em;
101 text-align: center;
102}
103
b395419b 104#zoomLevel {
858b60b8
RK
105 /* background-color: rgba(255, 255, 255, .8); */
106 background-image: radial-gradient(circle 1.5em, #FFFFFF, transparent);
107 border-radius: .5em;
108 padding: .5em .2em;
ac45368e 109 margin: 2px 0;
b395419b
RK
110}
111
6d5072d8
RK
112#action {
113 position: absolute;
114 bottom: 5px;
115 left: .5em;
116 margin: 0;
117 z-index: 3;
118 background-color: rgba(255, 255, 255, .8);
119 border-radius: 3px;
120 padding: 0 3px;
121}
122
123#actionimg {
124 vertical-align: text-bottom;
125}
126
127#copyright {
128 bottom: 5px;
129 right: .5em;
130 margin: 0;
131 font-size: .8em;
132 opacity: .66;
133 z-index: 2;
134 background-color: rgba(255, 255, 255, 1);
135 border-radius: 3px;
136 padding: 0 3px;
137}
138
139#copyright.hidden {
140 opacity: 0;
141 display: block;
142}
143
144.overlayArea:-moz-system-metric(touch-enabled),
145.menuDrawer:-moz-system-metric(touch-enabled) {
146 font-size: 3mozmm;
147}
148
149.overlayArea input[type="button"],
150.overlayArea button,
151.overlayArea select,
152.menuDrawer input[type="button"],
153.menuDrawer button,
154.menuDrawer input[type="text"],
155.menuDrawer input[type="number"],
156.menuDrawer select {
157 font-size: inherit;
158}
159
160/* Menu Drawers */
123b3142
RK
161.menuDrawer {
162 position: absolute;
163 top: 0;
164 bottom: 0;
6d5072d8 165 overflow: auto;
e2424f35 166 transform: translateX(calc(-40ch - 1ch)); /* account for padding */
123b3142 167 width: 40ch;
4a6b0232 168 max-width: 95%; /* make sure we don't overflow the screen */
b47b4a65 169 border: 0;
123b3142
RK
170 padding: 0 .5ch; /* account for legend */
171 margin: 0;
172 z-index: 10;
e2424f35 173 transition-property: transform;
123b3142
RK
174 transition-duration: 1s;
175 transition-timing-function: ease;
b47b4a65
RK
176}
177
123b3142 178.menuDrawer:not(.hidden) {
e2424f35 179 transform: translateX(0);
123b3142
RK
180}
181
182@media screen and (max-width: 330px) {
183 .menuDrawer {
184 left: calc(-300px - 1ch); /* account for padding */
185 width: 300px;
186 }
187}
188
e180feb4 189.menuDrawer p {
db2008ca
RK
190 margin: .5em 0;
191}
192
193/* Menu title */
123b3142
RK
194.menuDrawer > h2 {
195 font-size: 1.2em;
196 font-weight: bold;
197 margin: .5em 0;
db2008ca 198 background-color: #CCCCCC;
123b3142 199 color: #404040;
b47b4a65 200 border-radius: 3px;
123b3142
RK
201 padding: 2px;
202}
203
204.menuDrawer > h2 > img {
205 vertical-align: text-top;
206 height: 1.2em;
b47b4a65
RK
207}
208
46c03176
RK
209/* For optical conveniece, display an "x" for closing. */
210.menuDrawer > h2:after {
211 content: '\00D7'; /* multiplication sign */
212 display: inline-block;
213 vertical-align: text-top;
214 float: right;
215 margin-top: 0;
216 margin-right: .2em;
217 font-size: .75em;
218}
219
6d5072d8
RK
220.dialogTitle {
221 margin: 0 0 .5em;
222 font-weight: bold;
223}
224
225.dialogHelp {
226 margin: .5em 0;
227 font-size: .8em;
228 opacity: .66;
229}
230
231#trackData {
232 margin: 0;
233}
234
235#trackDialogArea {
236 border-top: 2px solid;
237 border-bottom: 2px solid;
238 padding: 3px 0;
239}
240
241#uploadDesc {
242 max-width: 95%;
243}
244
245/* Secondary UI: menu drawers, full screen overlays, etc. */
246.secondaryUI {
247 background-color: rgba(15, 15, 15, .9);
248 color: #CCCCCC;
249}
250
db2008ca 251/* Custom checkbox design */
6d5072d8 252.secondaryUI input[type="checkbox"] {
db2008ca
RK
253 display: none;
254}
255
6d5072d8 256.secondaryUI input[type="checkbox"] + label:before {
db2008ca
RK
257 content: '\00A0'; /* non-breaking space */
258 display: inline-block;
259 width: 1.2em;
260 height: 1.2em;
261 margin-right: .3em;
262 text-align: center;
263 vertical-align: middle;
264 background-color: rgba(204, 204, 204, .2);
265 border: 1px solid #CCCCCC;
266 border-radius: 3px;
267}
268
6d5072d8 269.secondaryUI input[type="checkbox"]:hover + label:before {
db2008ca
RK
270 background-color: rgba(204, 204, 204, .4);
271 border: 1px solid #FFFFFF;
272}
6d5072d8 273.secondaryUI input[type="checkbox"]:hover + label {
db2008ca
RK
274 color: #FFFFFF;
275 position:relative;
276 height: 1.2em;
277}
278
6d5072d8 279.secondaryUI input[type="checkbox"]:active + label:before {
db2008ca
RK
280 background-color: rgba(204, 204, 255, .3);
281 border: 1px solid #FFCCAA;
282}
6d5072d8 283.secondaryUI input[type="checkbox"]:active + label {
db2008ca
RK
284 color: #FFCCAA;
285}
286
6d5072d8 287.secondaryUI input[type="checkbox"]:checked + label:before {
db2008ca
RK
288 content: '\2714'; /* tick mark */
289}
290
291/* Custom button design */
6d5072d8
RK
292.secondaryUI input[type="button"],
293.secondaryUI button {
db2008ca
RK
294 text-align: center;
295 vertical-align: middle;
296 background-image: none;
297 background-color: rgba(204, 204, 204, .2);
298 color: #CCCCCC;
299 padding: 1px .5em;
300 border: 1px solid #CCCCCC;
301 border-radius: 3px;
302}
303
6d5072d8
RK
304.secondaryUI input[type="button"]:disabled,
305.secondaryUI button:disabled {
8f9306c5
RK
306 background-color: rgba(204, 204, 204, .1);
307 color: rgba(204, 204, 204, .5);
308 border: 1px solid rgba(255, 255, 255, .5);
309}
310
6d5072d8
RK
311.secondaryUI input[type="button"]:not(:disabled):hover,
312.secondaryUI button:not(:disabled):hover {
db2008ca
RK
313 background-color: rgba(204, 204, 204, .4);
314 border: 1px solid #FFFFFF;
315}
316
6d5072d8
RK
317.secondaryUI input[type="button"]:not(:disabled):active,
318.secondaryUI button:not(:disabled):active {
db2008ca
RK
319 background-color: rgba(204, 204, 255, .3);
320 color: #FFCCAA;
321 padding-top: 2px;
322 padding-right: calc(.5em - 1px);
323 padding-bottom: 0;
324 padding-left: calc(.5em + 1px);
325}
326
327/* Custom select design */
6d5072d8 328.secondaryUI select {
db2008ca
RK
329 text-align: left;
330 vertical-align: middle;
331 background-image: none;
332 background-color: rgba(204, 204, 204, .2);
333 color: #CCCCCC;
334 padding: 0 .5em;
335 border: 1px solid #CCCCCC;
336 border-radius: 3px;
337}
338
6d5072d8 339.secondaryUI select:hover {
db2008ca
RK
340 background-color: rgba(204, 204, 204, .4);
341 border: 1px solid #FFFFFF;
342}
343
6d5072d8 344.secondaryUI select:active {
db2008ca
RK
345 background-color: rgba(204, 204, 255, .3);
346 color: #FFCCAA;
347}
348
6d5072d8 349.secondaryUI option:checked:not(:hover) {
db2008ca
RK
350 background-color: rgba(204, 204, 204, .1);
351}
352
6d5072d8 353.secondaryUI option:hover {
db2008ca
RK
354 background-color: #CCCCCC;
355 color: #404040;
356}
357
6d5072d8
RK
358/* Custom textbox design */
359.secondaryUI input[type="text"],
360.secondaryUI input[type="number"] {
e180feb4 361 font-size: 1em;
65946832
RK
362 vertical-align: middle;
363 background-image: none;
364 background-color: rgba(204, 204, 204, .7);
365 color: #404040;
366 padding: 1px .5em;
65946832
RK
367 border: 1px solid #CCCCCC;
368 border-radius: 3px;
369}
370
6d5072d8 371.secondaryUI input[type="text"] {
65946832
RK
372 text-align: left;
373}
374
6d5072d8 375.secondaryUI input[type="number"] {
65946832
RK
376 text-align: right;
377}
378
6d5072d8
RK
379.secondaryUI input[type="text"]:disabled,
380.secondaryUI input[type="number"]:disabled {
65946832
RK
381 background-color: rgba(204, 204, 204, .1);
382 color: rgba(204, 204, 204, .5);
383 border: 1px solid rgba(255, 255, 255, .5);
384}
385
6d5072d8
RK
386.secondaryUI input[type="text"]:not(:disabled):hover,
387.secondaryUI input[type="number"]:not(:disabled):hover {
65946832
RK
388 border: 1px solid #FFFFFF;
389}
390
6d5072d8
RK
391.secondaryUI input[type="text"]:not(:disabled):focus,
392.secondaryUI input[type="number"]:not(:disabled):focus {
65946832
RK
393 background-color: rgba(204, 204, 255, .8);
394 border: 1px solid #FFFFFF;
395 color: #202020;
396}
397
6d5072d8
RK
398/* custom style for paragraphs and links */
399.secondaryUI p.subTitle {
e180feb4
RK
400 margin: .75em 0 .5em;
401 font-weight: bold;
402}
403
6d5072d8
RK
404.secondaryUI a:link {
405 color: #DDDDDD;
7a076538
RK
406}
407
6d5072d8
RK
408.secondaryUI a:visited {
409 color: #AAAAAA;
ecde0af2
RK
410}
411
6d5072d8
RK
412.secondaryUI a:hover {
413 color: #FFFFFF;
b5c85133 414}
1e48ccb4 415
6d5072d8 416/* dialog area - only used for loading error */
43255174
RK
417#dialogArea {
418 top: 20%;
419 right: 0;
420 left: 0;
421 width: 30ch;
422 max-width: 92%;
423 z-index: 10;
424 background-color: rgba(255, 255, 255, .8);
425 border: 0;
426 margin: auto;
427 padding: .5em;
428 border-radius: 5px;
429}
430
431#dialogArea.hidden {
432 top: -100%;
8f9306c5 433 display: block;
43255174
RK
434}
435
6d5072d8
RK
436/* full screen overlay - library, etc. */
437.fullScreenOverlay {
438 position: absolute;
867ee0af
RK
439 top: 1%;
440 bottom: 1%;
441 right: 1%;
442 left: 1%;
443 z-index: 10;
6d5072d8 444 background-color: rgba(15, 15, 15, 1.0);
867ee0af
RK
445 border: 0;
446 margin: auto;
447 padding: .5em;
448 border-radius: 5px;
449}
450
6d5072d8 451.fullScreenOverlay.hidden {
867ee0af
RK
452 top: -100%;
453 bottom: auto;
454 height: 90%;
455 display: block;
456}
457
6d5072d8 458.fullScreenOverlay > .closeButtonContainer {
867ee0af 459 position: absolute;
6d5072d8 460 top: 0;
867ee0af
RK
461 right: 0;
462 margin: 0;
6d5072d8 463 padding: 0.5em;
867ee0af
RK
464 text-align: right;
465}
6d5072d8
RK
466/*
467.fullScreenOverlay > .closeButtonContainer > .closeButton {
468 font-size: 2em;
d7ffc7b8 469}
6d5072d8 470*/
d7ffc7b8 471
6d5072d8 472/* small screen media adaptations */
0a41c294
RK
473@media screen and (max-width: 500px),
474 screen and (max-height: 500px) {
f84a3fd4
RK
475 body {
476 font-size: 10px;
477 }
336097e2 478 #menuArea {
8028e42b
RK
479 top: 2px;
480 left: 2px;
0c08f848 481 }
336097e2 482 #zoomArea {
8028e42b
RK
483 top: 2px;
484 right: 2px;
336097e2 485 }
c5378747 486 #fullscreenArea {
8028e42b 487 right: 2px;
0a41c294 488 bottom: 20px;
c5378747 489 }
a9c9022b 490 #copyright {
f84a3fd4
RK
491 bottom: 1px;
492 right: 1px;
1e48ccb4
RK
493 }
494}