add arcgis world imagery
[lantea.git] / style / lantea.css
... / ...
CommitLineData
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/. */
4
5body {
6 font-family: sans-serif;
7 margin: 0;
8 background: url("loading.png") repeat;
9}
10
11h1 {
12 display: none;
13}
14
15.hidden {
16 display: none;
17}
18
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 {
42 position: absolute;
43 z-index: 5;
44 transition-property: opacity;
45 transition-duration: .2s;
46}
47
48.autoFade.hidden {
49 opacity: 0;
50 transition-duration: 1s;
51 display: block;
52}
53
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
66.autoFade > input[type="button"],
67.autoFade > .controlButton {
68 font-size: 1.2em;
69 font-weight: bold;
70 width: 2em;
71 height: 2em;
72 border-radius: 2em;
73 background-color: rgba(255, 255, 255, .25);
74 background-image: radial-gradient(circle 1.5em, #FFFFFF, transparent);
75 color: #0000FF;
76 border: none;
77 padding: 0;
78 margin: 0;
79}
80
81#zoomArea > input[type="button"] {
82 border: 2px solid #0000FF;
83}
84
85.autoFade > input[type="button"]:hover,
86.autoFade > .controlButton:hover {
87 background-color: rgba(255, 255, 255, .8);
88}
89
90.autoFade > input[type="button"]:active,
91.autoFade > .controlButton:active {
92 background-color: rgba(255, 255, 127, .8);
93}
94
95.autoFade > input[type="button"]:focus,
96.autoFade > .controlButton:focus {
97 background-color: rgba(255, 255, 255, .5);
98}
99
100#fullscreenArea {
101 right: 1%;
102 bottom: 2em;
103 text-align: center;
104}
105
106#zoomLevel {
107 /* background-color: rgba(255, 255, 255, .8); */
108 background-image: radial-gradient(circle 1.5em, #FFFFFF, transparent);
109 border-radius: .5em;
110 padding: .5em .2em;
111 margin: 2px 0;
112}
113
114#action {
115 position: absolute;
116 bottom: 5px;
117 left: .5em;
118 margin: 0;
119 z-index: 3;
120 background-color: rgba(255, 255, 255, .8);
121 border-radius: 3px;
122 padding: 0 3px;
123}
124
125#actionimg {
126 vertical-align: text-bottom;
127}
128
129#copyright {
130 bottom: 5px;
131 right: .5em;
132 margin: 0;
133 font-size: .8em;
134 opacity: .66;
135 z-index: 2;
136 background-color: rgba(255, 255, 255, 1);
137 border-radius: 3px;
138 padding: 0 3px;
139}
140
141#copyright.hidden {
142 opacity: 0;
143 display: block;
144}
145
146/* non-standard touch screen detection for Mozilla browsers */
147.overlayArea:-moz-system-metric(touch-enabled),
148.menuDrawer:-moz-system-metric(touch-enabled) {
149 font-size: 3mm;
150 font-size: 3mozmm;
151}
152/* Standard, Media Queries Level 4 touch screen detection */
153@media (pointer:coarse) {
154 .overlayArea,
155 .menuDrawer {
156 font-size: 16px;
157 }
158}
159
160.overlayArea input[type="button"],
161.overlayArea button,
162.overlayArea select,
163.menuDrawer input[type="button"],
164.menuDrawer button,
165.menuDrawer input[type="text"],
166.menuDrawer input[type="number"],
167.menuDrawer select {
168 font-size: inherit;
169}
170
171/* Menu Drawers */
172.menuDrawer {
173 position: absolute;
174 top: 0;
175 bottom: 0;
176 overflow: auto;
177 transform: translateX(calc(-40ch - 1ch)); /* account for padding */
178 width: 40ch;
179 max-width: 95%; /* make sure we don't overflow the screen */
180 border: 0;
181 padding: 0 .5ch; /* account for legend */
182 margin: 0;
183 z-index: 10;
184 transition-property: transform;
185 transition-duration: 1s;
186 transition-timing-function: ease;
187}
188
189.menuDrawer:not(.hidden) {
190 transform: translateX(0);
191}
192
193@media screen and (max-width: 330px) {
194 .menuDrawer {
195 transform: translateX(calc(-300px - 1ch)); /* account for padding */
196 width: 300px;
197 }
198}
199
200.menuDrawer p {
201 margin: .5em 0;
202}
203
204/* Menu title */
205.menuDrawer > h2 {
206 font-size: 1.2em;
207 font-weight: bold;
208 margin: .5em 0;
209 background-color: #CCCCCC;
210 color: #404040;
211 border-radius: 3px;
212 padding: 2px;
213}
214
215.menuDrawer > h2 > img {
216 vertical-align: text-top;
217 height: 1.2em;
218}
219
220/* For optical conveniece, display an "x" for closing. */
221.menuDrawer > h2:after {
222 content: '\00D7'; /* multiplication sign */
223 display: inline-block;
224 vertical-align: text-top;
225 float: right;
226 margin-top: 0;
227 margin-right: .2em;
228 font-size: .75em;
229}
230
231.dialogHelp {
232 margin: .5em 0;
233 font-size: .8em;
234 opacity: .66;
235}
236
237#trackData {
238 margin: 0;
239}
240
241#trackDialogArea {
242 border-top: 2px solid;
243 border-bottom: 2px solid;
244 padding: 3px 0;
245}
246
247#uploadDesc {
248 max-width: 95%;
249}
250
251/* Secondary UI: menu drawers, full screen overlays, etc. */
252.secondaryUI {
253 background-color: rgba(15, 15, 15, .9);
254 color: #CCCCCC;
255}
256
257/* Custom checkbox design */
258.secondaryUI input[type="checkbox"] {
259 display: none;
260}
261
262.secondaryUI input[type="checkbox"] + label:before {
263 content: '\00A0'; /* non-breaking space */
264 display: inline-block;
265 width: 1.2em;
266 height: 1.2em;
267 margin-right: .3em;
268 text-align: center;
269 vertical-align: middle;
270 background-color: rgba(204, 204, 204, .2);
271 border: 1px solid #CCCCCC;
272 border-radius: 3px;
273}
274
275.secondaryUI input[type="checkbox"]:hover + label:before {
276 background-color: rgba(204, 204, 204, .4);
277 border: 1px solid #FFFFFF;
278}
279.secondaryUI input[type="checkbox"]:hover + label {
280 color: #FFFFFF;
281 position:relative;
282 height: 1.2em;
283}
284
285.secondaryUI input[type="checkbox"]:active + label:before {
286 background-color: rgba(204, 204, 255, .3);
287 border: 1px solid #FFCCAA;
288}
289.secondaryUI input[type="checkbox"]:active + label {
290 color: #FFCCAA;
291}
292
293.secondaryUI input[type="checkbox"]:checked + label:before {
294 content: '\2714'; /* tick mark */
295}
296
297/* Custom button design */
298.secondaryUI input[type="button"],
299.secondaryUI button {
300 text-align: center;
301 vertical-align: middle;
302 background-image: none;
303 background-color: rgba(204, 204, 204, .2);
304 color: #CCCCCC;
305 padding: 1px .5em;
306 border: 1px solid #CCCCCC;
307 border-radius: 3px;
308}
309
310.secondaryUI input[type="button"]:disabled,
311.secondaryUI button:disabled {
312 background-color: rgba(204, 204, 204, .1);
313 color: rgba(204, 204, 204, .5);
314 border: 1px solid rgba(255, 255, 255, .5);
315}
316
317.secondaryUI input[type="button"]:not(:disabled):hover,
318.secondaryUI button:not(:disabled):hover {
319 background-color: rgba(204, 204, 204, .4);
320 border: 1px solid #FFFFFF;
321}
322
323.secondaryUI input[type="button"]:not(:disabled):active,
324.secondaryUI button:not(:disabled):active {
325 background-color: rgba(204, 204, 255, .3);
326 color: #FFCCAA;
327 padding-top: 2px;
328 padding-right: calc(.5em - 1px);
329 padding-bottom: 0;
330 padding-left: calc(.5em + 1px);
331}
332
333/* Custom select design */
334.secondaryUI select {
335 text-align: left;
336 vertical-align: middle;
337 background-image: none;
338 background-color: rgba(204, 204, 204, .2);
339 color: #CCCCCC;
340 padding: 0 .5em;
341 border: 1px solid #CCCCCC;
342 border-radius: 3px;
343}
344
345.secondaryUI select:hover {
346 background-color: rgba(204, 204, 204, .4);
347 border: 1px solid #FFFFFF;
348}
349
350.secondaryUI select:active {
351 background-color: rgba(204, 204, 255, .3);
352 color: #FFCCAA;
353}
354
355.secondaryUI option:checked:not(:hover) {
356 background-color: rgba(204, 204, 204, .1);
357}
358
359.secondaryUI option:hover {
360 background-color: #CCCCCC;
361 color: #404040;
362}
363
364/* Custom textbox design */
365.secondaryUI input[type="text"],
366.secondaryUI input[type="number"] {
367 font-size: 1em;
368 vertical-align: middle;
369 background-image: none;
370 background-color: rgba(204, 204, 204, .7);
371 color: #404040;
372 padding: 1px .5em;
373 border: 1px solid #CCCCCC;
374 border-radius: 3px;
375}
376
377.secondaryUI input[type="text"] {
378 text-align: left;
379}
380
381.secondaryUI input[type="number"] {
382 text-align: right;
383}
384
385.secondaryUI input[type="text"]:disabled,
386.secondaryUI input[type="number"]:disabled {
387 background-color: rgba(204, 204, 204, .1);
388 color: rgba(204, 204, 204, .5);
389 border: 1px solid rgba(255, 255, 255, .5);
390}
391
392.secondaryUI input[type="text"]:not(:disabled):hover,
393.secondaryUI input[type="number"]:not(:disabled):hover {
394 border: 1px solid #FFFFFF;
395}
396
397.secondaryUI input[type="text"]:not(:disabled):focus,
398.secondaryUI input[type="number"]:not(:disabled):focus {
399 background-color: rgba(204, 204, 255, .8);
400 border: 1px solid #FFFFFF;
401 color: #202020;
402}
403
404/* custom style for paragraphs and links */
405.secondaryUI p.subTitle {
406 margin: .75em 0 .5em;
407 font-weight: bold;
408}
409
410.secondaryUI a:link {
411 color: #DDDDDD;
412}
413
414.secondaryUI a:visited {
415 color: #AAAAAA;
416}
417
418.secondaryUI a:hover {
419 color: #FFFFFF;
420}
421
422.overlayArea .minorbutton {
423 font-size: 75%;
424 border: none !important;
425 padding: 0 2px;
426}
427.overlayArea .minorbutton:not(:disabled):active {
428 padding: 0 1px 0 3px;
429}
430.overlayArea .statusmsg {
431 font-size: 75%;
432}
433.overlayArea .statusmsg.error {
434 color: #FF8080;
435}
436
437#loginerror {
438 color: red;
439 font-weight: bold;
440 padding: .5em;
441}
442
443/* dialog area - for loading error and welcome messages */
444#dialogArea {
445 position: absolute;
446 top: 20%;
447 right: 0;
448 left: 0;
449 width: 50ch;
450 max-width: 92%;
451 z-index: 10;
452 background-color: rgba(255, 255, 255, .8);
453 border: 0;
454 margin: auto;
455 padding: .5em;
456 border-radius: 5px;
457}
458
459#dialogArea.hidden {
460 top: -1000%;
461 display: block;
462}
463
464.dialogTitle {
465 margin: 0 0 .5em;
466 font-weight: bold;
467}
468
469.dialogButtonLine {
470 text-align: center;
471}
472
473/* full screen overlay - library, etc. */
474.fullScreenOverlay {
475 position: absolute;
476 top: 1%;
477 bottom: 1%;
478 right: 1%;
479 left: 1%;
480 z-index: 10;
481 background-color: rgba(15, 15, 15, 1.0);
482 border: 0;
483 margin: auto;
484 padding: .5em;
485 border-radius: 5px;
486}
487
488.fullScreenOverlay.hidden {
489 top: -1000%;
490 bottom: auto;
491 height: 90%;
492 display: block;
493}
494
495.fullScreenOverlay > .closeButtonContainer {
496 position: absolute;
497 top: 0;
498 right: 0;
499 margin: 0;
500 padding: 0.5em;
501 text-align: right;
502}
503/*
504.fullScreenOverlay > .closeButtonContainer > .closeButton {
505 font-size: 2em;
506}
507*/
508
509.fullScreenOverlay p {
510 margin: 0.5em 0;
511}
512
513.fullScreenOverlay > p:first-child {
514 margin-top: 0;
515 /* leave space for close button */
516 margin-right: 1.5em;
517}
518
519#libTrackList {
520 overflow: auto;
521 /* 2em is top/bottom margin, and one line is shown above and below, with .5em margin each */
522 height: calc(100% - 5em);
523}
524
525#libTrackPages {
526 margin-bottom: 0;
527}
528
529/* small screen media adaptations */
530@media screen and (max-width: 500px),
531 screen and (max-height: 500px) {
532 body {
533 font-size: 10px;
534 }
535 #menuArea {
536 top: 2px;
537 left: 2px;
538 }
539 #zoomArea {
540 top: 2px;
541 right: 2px;
542 }
543 #fullscreenArea {
544 right: 2px;
545 bottom: 20px;
546 }
547 #copyright {
548 bottom: 1px;
549 right: 1px;
550 }
551}