]> git.openstreetmap.org Git - rails.git/blob - vendor/assets/iD/iD.css.erb
Fix detection of timeouts
[rails.git] / vendor / assets / iD / iD.css.erb
1 /* http://meyerweb.com/eric/tools/css/reset/
2    v2.0 | 20110126
3    License: none (public domain)
4 */
5
6 html, body, div, span, applet, object, iframe,
7 h1, h2, h3, h4, h5, h6, p, blockquote, pre,
8 a, abbr, acronym, address, big, cite, code,
9 del, dfn, em, img, ins, kbd, q, s, samp,
10 small, strike, strong, sub, sup, tt, var,
11 b, u, i, center,
12 dl, dt, dd, ol, ul, li,
13 fieldset, form, label, legend,
14 table, caption, tbody, tfoot, thead, tr, th, td,
15 article, aside, canvas, details, embed,
16 figure, figcaption, footer, header, hgroup,
17 menu, nav, output, ruby, section, summary,
18 time, mark, audio, video {
19         margin: 0;
20         padding: 0;
21         border: 0;
22         font-size: 100%;
23         font: inherit;
24         vertical-align: baseline;
25 }
26 /* HTML5 display-role reset for older browsers */
27 article, aside, details, figcaption, figure,
28 footer, header, hgroup, menu, nav, section {
29         display: block;
30 }
31 body {
32         line-height: 1;
33 }
34 ol, ul {
35         list-style: none;
36 }
37 blockquote, q {
38         quotes: none;
39 }
40 blockquote:before, blockquote:after,
41 q:before, q:after {
42         content: '';
43         content: none;
44 }
45 table {
46         border-collapse: collapse;
47         border-spacing: 0;
48 }
49 a { text-decoration: none;}
50 /*
51  * 1. Corrects font family not being inherited in all browsers.
52  * 2. Corrects font size not being inherited in all browsers.
53  * 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome
54  */
55
56 button,
57 input,
58 select,
59 textarea {
60     font-family: inherit; /* 1 */
61     font-size: 100%; /* 2 */
62     margin: 0; /* 3 */
63     padding: 0;
64 }
65
66 /*
67  * Addresses Firefox 4+ setting `line-height` on `input` using `!important` in
68  * the UA stylesheet.
69  */
70
71 button,
72 input {
73     line-height: normal;
74 }
75
76 /* Hide default number spinner controls */
77 input[type="number"]::-webkit-inner-spin-button,
78 input[type="number"]::-webkit-outer-spin-button {
79 display: none;
80 }
81
82 /*
83  * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
84  *    and `video` controls.
85  * 2. Corrects inability to style clickable `input` types in iOS.
86  * 3. Improves usability and consistency of cursor style between image-type
87  *    `input` and others.
88  */
89
90 button,
91 html input[type="button"], /* 1 */
92 input[type="reset"],
93 input[type="submit"] {
94     -webkit-appearance: button; /* 2 */
95     cursor: pointer; /* 3 */
96 }
97
98 /*
99  * Re-set default cursor for disabled elements.
100  */
101
102 button[disabled],
103 input[disabled] {
104     cursor: default;
105 }
106
107 /*
108  * 1. Addresses box sizing set to `content-box` in IE 8/9.
109  * 2. Removes excess padding in IE 8/9.
110  */
111
112 input[type="checkbox"],
113 input[type="radio"] {
114     box-sizing: border-box; /* 1 */
115     padding: 0; /* 2 */
116 }
117
118 /*
119  * 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
120  * 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
121  *    (include `-moz` to future-proof).
122  */
123
124 input[type="search"] {
125     -webkit-appearance: textfield; /* 1 */
126     -moz-box-sizing: border-box;
127     -webkit-box-sizing: border-box; /* 2 */
128     box-sizing: border-box;
129 }
130
131 /*
132  * Removes inner padding and search cancel button in Safari 5 and Chrome
133  * on OS X.
134  */
135
136 input[type="search"]::-webkit-search-cancel-button,
137 input[type="search"]::-webkit-search-decoration {
138     -webkit-appearance: none;
139 }
140
141 /*
142  * Removes inner padding and border in Firefox 4+.
143  */
144
145 button::-moz-focus-inner,
146 input::-moz-focus-inner {
147     border: 0;
148     padding: 0;
149 }
150
151 /*
152 ** Markup free clearing
153 ** Details: http://www.positioniseverything.net/easyclearing.html
154 */
155 .cf:before,
156 .cf:after {
157     content: " "; /* 1 */
158     display: table; /* 2 */
159 }
160
161 .cf:after {
162     clear: both;
163 }
164 /* tiles */
165 img.tile {
166     position:absolute;
167     transform-origin:0 0;
168     -ms-transform-origin:0 0;
169     -webkit-transform-origin:0 0;
170     -moz-transform-origin:0 0;
171     -o-transform-origin:0 0;
172
173     opacity: 0;
174
175     -webkit-transition: opacity 200ms linear;
176     transition: opacity 200ms linear;
177     -moz-transition: opacity 200ms linear;
178 }
179
180 img.tile-loaded {
181     opacity: 1;
182 }
183 img.tile-removing {
184     opacity: 0;
185 }
186
187 /* base styles */
188 path {
189     fill: none;
190 }
191
192 use {
193     pointer-events: none;
194 }
195
196 g.point .shadow,
197 g.vertex .shadow,
198 g.midpoint .shadow {
199     pointer-events: all;
200 }
201
202 path.shadow {
203     pointer-events: stroke;
204 }
205
206 .shadow {
207     -webkit-transition: 200ms;
208        -moz-transition: 200ms;
209             transition: 200ms;
210 }
211
212 /* points */
213
214 g.point .stroke {
215     stroke: #444;
216     stroke-width: 1;
217     fill: #fff;
218 }
219
220 g.point .shadow {
221     fill: none;
222     stroke: #f6634f;
223     stroke-width: 8;
224     stroke-opacity: 0;
225 }
226
227 g.point.hover:not(.selected) .shadow {
228     stroke-opacity: 0.5;
229 }
230
231 g.point.selected .shadow {
232     stroke-opacity: 0.7;
233 }
234
235 g.point.active, g.point.active * {
236     pointer-events: none;
237 }
238
239 /* vertices and midpoints */
240
241 g.vertex .fill {
242     fill: #000;
243 }
244
245 g.vertex .stroke {
246     stroke: #666;
247     stroke-width: 1;
248     fill: white;
249 }
250
251 g.vertex.shared .stroke {
252     fill: #aaa;
253 }
254
255 g.midpoint .fill {
256     fill: #ddd;
257     stroke: black;
258     stroke-opacity: .5;
259     opacity: .5;
260 }
261
262 g.vertex .shadow,
263 g.midpoint .shadow {
264     fill: #f6634f;
265     fill-opacity: 0;
266 }
267
268 g.vertex.vertex-hover {
269     display: none;
270 }
271
272 .mode-draw-area g.vertex.vertex-hover,
273 .mode-draw-line g.vertex.vertex-hover,
274 .mode-add-area  g.vertex.vertex-hover,
275 .mode-add-line  g.vertex.vertex-hover,
276 .mode-add-point g.vertex.vertex-hover,
277 .mode-drag-node g.vertex.vertex-hover {
278     display: block;
279 }
280
281 g.vertex.hover:not(.selected) .shadow,
282 g.midpoint.hover:not(.selected) .shadow {
283     fill-opacity: 0.3;
284 }
285
286 g.vertex.selected .shadow {
287     fill-opacity: 0.5;
288 }
289
290 .mode-draw-area g.midpoint,
291 .mode-draw-line g.midpoint,
292 .mode-add-area g.midpoint,
293 .mode-add-line g.midpoint,
294 .mode-add-point g.midpoint {
295   display: none;
296 }
297
298 /* lines */
299
300 path.line {
301     stroke-linecap: round;
302     stroke-linejoin: bevel;
303 }
304
305 path.stroke {
306     stroke: black;
307     stroke-width: 4;
308 }
309
310 path.shadow {
311     stroke: #f6634f;
312     stroke-width: 10;
313     stroke-opacity: 0;
314 }
315
316 path.shadow.hover:not(.selected) {
317     stroke-opacity: 0.3;
318 }
319
320 path.shadow.selected {
321     stroke-opacity: 0.7;
322 }
323
324 path.area.stroke {
325     stroke: white;
326     stroke-width: 1;
327 }
328
329 path.area.fill {
330     fill:#fff;
331     fill-opacity:0.3;
332     fill-rule: evenodd;
333 }
334
335 path.line.stroke {
336     stroke: white;
337     stroke-width: 2;
338 }
339
340 path.stroke.tag-natural {
341     stroke: #b6e199;
342 }
343 path.fill.tag-natural {
344     fill: #b6e199;
345 }
346
347 path.stroke.tag-natural-water {
348     stroke: #77d3de;
349 }
350 path.fill.tag-natural-water {
351     fill: #77d3de;
352 }
353
354 path.stroke.tag-amenity-school {
355     stroke: #ffff94;
356 }
357 path.fill.tag-amenity-school {
358     fill: #ffff94;
359     fill-opacity: 0.2;
360 }
361
362 path.stroke.tag-amenity-university {
363     stroke: #ffff94;
364 }
365 path.fill.tag-amenity-university {
366     fill: #ffff94;
367     fill-opacity: 0.1;
368 }
369
370 path.stroke.tag-building {
371     stroke: #e06e5f;
372 }
373 path.fill.tag-building {
374     fill: #e06e5f;
375 }
376
377 /* Landuse */
378
379
380 path.stroke.tag-landuse,
381 path.stroke.tag-natural-wood,
382 path.stroke.tag-natural-tree,
383 path.stroke.tag-natural-grassland,
384 path.stroke.tag-leisure-pitch,
385 path.stroke.tag-leisure-park {
386     stroke: #8cd05f;
387 }
388
389 path.stroke.tag-landuse-residential {
390     stroke: #e06e5f;
391 }
392
393 path.stroke.tag-landuse-retail,
394 path.stroke.tag-landuse-commercial {
395     stroke: #eab056;
396 }
397
398 path.stroke.tag-landuse-industrial {
399     stroke: #e4a4f5;
400 }
401
402 path.stroke.tag-landuse-basin,
403 path.stroke.tag-landuse-reservoir {
404     stroke: #77d3de;
405 }
406
407 path.stroke.tag-landuse-quarry {
408     stroke: #a6957b;
409 }
410
411 path.stroke.tag-landuse-residential,
412 path.stroke.tag-landuse-construction {
413     stroke: #e06e5f;
414 }
415
416 path.stroke.tag-landuse-meadow,
417 path.stroke.tag-natural-wetland {
418     stroke: #b6e199;
419 }
420
421 path.stroke.tag-natural-beach {
422     stroke: #ffff7e;
423 }
424
425 path.stroke.tag-natural-scrub {
426     stroke: #dbf08b;
427 }
428
429 path.fill.tag-landuse,
430 path.fill.tag-natural-wood,
431 path.fill.tag-natural-tree,
432 path.fill.tag-natural-grassland,
433 path.fill.tag-natural-grass,
434 path.fill.tag-leisure-pitch,
435 path.fill.tag-leisure-park {
436     fill: #8cd05f;
437     fill-opacity: 0.2;
438 }
439
440 path.fill.tag-landuse-retail,
441 path.fill.tag-landuse-residential,
442 path.fill.tag-landuse-commercial,
443 path.fill.tag-landuse-industrial {
444     fill-opacity: 0.1;
445 }
446
447 path.fill.tag-natural-wetland,
448 path.fill.tag-natural-beach,
449 path.fill.tag-natural-scrub,
450 path.fill.tag-landuse-cemetery,
451 path.fill.tag-landuse-meadow,
452 path.fill.tag-landuse-farm,
453 path.fill.tag-landuse-farmland,
454 path.fill.tag-landuse-construction,
455 path.fill.tag-landuse-orchard {
456     /* background color is applied a further opacity later */
457     fill-opacity: 0.8;
458 }
459
460 .pattern-color-beach,
461 .pattern-color-scrub,
462 .pattern-color-meadow,
463 .pattern-color-wetland,
464 .pattern-color-cemetery,
465 .pattern-color-farm,
466 .pattern-color-farmland,
467 .pattern-color-construction,
468 .pattern-color-orchard {
469     fill-opacity: 0.2;
470 }
471
472 path.fill.tag-landuse-basin,
473 path.fill.tag-landuse-reservoir {
474     fill: #77d3de;
475 }
476
477 path.fill.tag-landuse-quarry {
478     fill: #a6957b;
479 }
480
481 path.fill.tag-landuse-residential {
482     fill: #e06e5f;
483 }
484
485 path.fill.tag-landuse-farm,
486 path.fill.tag-landuse-farmland {
487     fill: url(#pattern-farmland) #8cd05f;
488 }
489
490 .pattern-color-farm,
491 .pattern-color-farmland {
492     fill: url(#pattern-farmland) #8cd05f;
493 }
494
495 path.fill.tag-landuse-meadow {
496     fill: url(#pattern-meadow) #b6e199;
497 }
498 .pattern-color-meadow {
499     fill: #b6e199;
500 }
501
502 path.fill.tag-natural-wetland {
503     fill: url(#pattern-wetland) #b6e199;
504 }
505 .pattern-color-wetland {
506     fill: #B6E199;
507 }
508
509 path.fill.tag-natural-beach {
510     fill: url(#pattern-beach) #ffff7e;
511 }
512 .pattern-color-beach {
513     fill: #ffff7e;
514 }
515
516 path.fill.tag-natural-scrub {
517     fill: url(#pattern-scrub) #dbf08b;
518 }
519 .pattern-color-scrub {
520     fill: #dbf08b;
521 }
522
523 path.fill.tag-landuse-cemetery {
524     fill: url(#pattern-cemetery) #8cd05f;
525 }
526 .pattern-color-cemetery {
527     fill: #8cd05f
528 }
529
530 path.fill.tag-landuse-orchard {
531     fill: url(#pattern-orchard) #8cd05f;
532 }
533 .pattern-color-orchard {
534     fill: #8cd05f
535 }
536
537 path.fill.tag-landuse-construction {
538     fill: url(#pattern-construction) #e06e5f;
539 }
540 .pattern-color-construction {
541     fill: #e06e5f;
542 }
543
544 path.fill.tag-landuse-retail,
545 path.fill.tag-landuse-commercial {
546     fill: #eab056;
547 }
548
549 path.fill.tag-landuse-industrial {
550     fill: #e4a4f5;
551 }
552
553 path.stroke.tag-amenity-parking {
554     stroke: #aaa;
555 }
556 path.fill.tag-amenity-parking {
557     fill: #aaa;
558 }
559
560 path.fill.tag-place,
561 path.fill.tag-boundary {
562     fill: none;
563 }
564
565 /* highways */
566
567 path.shadow.tag-highway {
568     stroke-width:16;
569 }
570 path.casing.tag-highway {
571     stroke:#444;
572     stroke-width:10;
573 }
574 path.stroke.tag-highway {
575     stroke:#ccc;
576     stroke-width:8;
577 }
578
579 svg[data-zoom="16"] path.shadow.tag-highway {
580     stroke-width:12;
581 }
582 svg[data-zoom="16"] path.casing.tag-highway {
583     stroke-width:6;
584 }
585 svg[data-zoom="16"] path.stroke.tag-highway {
586     stroke-width:4;
587 }
588
589 path.stroke.tag-highway-motorway,
590 path.stroke.tag-highway-motorway_link,
591 path.stroke.tag-construction-motorway {
592     stroke:#58a9ed;
593 }
594
595 path.casing.tag-highway-motorway,
596 path.casing.tag-highway-motorway_link,
597 path.casing.tag-construction-motorway {
598     stroke:#2c5476;
599 }
600
601 path.stroke.tag-highway-trunk,
602 path.stroke.tag-highway-trunk_link,
603 path.stroke.tag-construction-trunk {
604     stroke:#8cd05f;
605 }
606 path.casing.tag-highway-trunk,
607 path.casing.tag-highway-trunk_link,
608 path.casing.tag-construction-trunk {
609     stroke:#46682f;
610 }
611
612 path.stroke.tag-highway-primary,
613 path.stroke.tag-highway-primary_link,
614 path.stroke.tag-construction-primary {
615     stroke:#e06d5f;
616 }
617 path.casing.tag-highway-primary,
618 path.casing.tag-highway-primary_link,
619 path.casing.tag-construction-primary {
620     stroke:#70372f;
621 }
622
623 path.stroke.tag-highway-secondary,
624 path.stroke.tag-highway-secondary_link,
625 path.stroke.tag-construction-secondary {
626     stroke:#eab056;
627 }
628 path.casing.tag-highway-secondary,
629 path.casing.tag-highway-secondary_link,
630 path.casing.tag-construction-secondary {
631     stroke:#75582b;
632 }
633
634 path.stroke.tag-highway-tertiary,
635 path.stroke.tag-highway-tertiary_link,
636 path.stroke.tag-construction-tertiary {
637     stroke:#ffff7e;
638 }
639 path.casing.tag-highway-tertiary,
640 path.casing.tag-highway-tertiary_link,
641 path.casing.tag-construction-tertiary {
642     stroke:#7f7f3f;
643 }
644
645 path.stroke.tag-highway-unclassified,
646 path.stroke.tag-construction-unclassified {
647     stroke:#eaeaea;
648 }
649 path.casing.tag-highway-unclassified,
650 path.casing.tag-construction-unclassified {
651     stroke:#444;
652 }
653
654 path.stroke.tag-highway-residential,
655 path.stroke.tag-construction-residential {
656     stroke:#fff;
657 }
658 path.casing.tag-highway-residential,
659 path.casing.tag-construction-residential {
660     stroke:#444;
661 }
662
663 path.stroke.tag-highway-living_street {
664     stroke:#ccc;
665     stroke-width:4;
666 }
667 path.casing.tag-highway-living_street {
668     stroke:#fff;
669     stroke-width:6;
670 }
671
672 path.stroke.line.tag-highway-pedestrian {
673     stroke:#fff;
674     stroke-dasharray: 2, 8;
675     stroke-width:4 !important;
676     shapeRendering: auto;
677 }
678 path.casing.line.tag-highway-pedestrian {
679     stroke:#8cd05f;
680     stroke-width:6 !important;
681 }
682 path.stroke.area.tag-highway-pedestrian {
683     stroke:#fff;
684     stroke-width: 2;
685 }
686 path.fill.area.tag-highway-pedestrian {
687     fill:#ccc;
688 }
689
690 path.stroke.tag-highway-service {
691     stroke:#fff;
692     stroke-width:4;
693 }
694 path.casing.tag-highway-service {
695     stroke:#666;
696     stroke-width:6;
697 }
698 svg[data-zoom="16"] path.stroke.tag-highway-service {
699     stroke-width:2;
700 }
701 svg[data-zoom="16"] path.casing.tag-highway-service {
702     stroke-width:4;
703 }
704
705 path.stroke.tag-highway-track {
706     stroke: #fff;
707     stroke-width: 4;
708 }
709 path.casing.tag-highway-track {
710     stroke: #996600;
711     stroke-width: 6;
712     stroke-linecap: butt;
713     stroke-dasharray: 6, 6;
714 }
715 svg[data-zoom="16"] path.stroke.tag-highway-track {
716     stroke-width:2;
717 }
718 svg[data-zoom="16"] path.casing.tag-highway-track {
719     stroke-width:4;
720 }
721
722 path.stroke.tag-highway-path {
723     stroke: #000;
724     stroke-width: 1 !important;
725     stroke-linecap: butt;
726     stroke-dasharray: 8, 4;
727 }
728 path.casing.tag-highway-path {
729     stroke-width: 1 !important;
730     stroke: #fff;
731 }
732
733 path.stroke.tag-highway-footway,
734 path.stroke.tag-highway-cycleway,
735 path.stroke.tag-highway-bridleway {
736     stroke-width: 4;
737     stroke-linecap: butt;
738     stroke-dasharray: 6, 6;
739 }
740 path.casing.tag-highway-footway,
741 path.casing.tag-highway-cycleway,
742 path.casing.tag-highway-bridleway {
743     stroke-width: 6;
744     stroke: #fff;
745 }
746
747 svg[data-zoom="16"] path.stroke.tag-highway-footway,
748 svg[data-zoom="16"] path.stroke.tag-highway-cycleway,
749 svg[data-zoom="16"] path.stroke.tag-highway-bridleway {
750     stroke-width: 2;
751 }
752 svg[data-zoom="16"] path.casing.tag-highway-footway,
753 svg[data-zoom="16"] path.casing.tag-highway-cycleway,
754 svg[data-zoom="16"] path.casing.tag-highway-bridleway {
755     stroke-width: 4;
756 }
757
758 path.stroke.tag-highway-footway {
759     stroke: #ae8681;
760 }
761 path.stroke.tag-highway-cycleway {
762     stroke: #58a9ed;
763 }
764 path.stroke.tag-highway-bridleway {
765     stroke: #e06d5f;
766 }
767
768 path.stroke.tag-highway-steps {
769     stroke: #81d25c;
770     stroke-width: 4;
771     stroke-linecap: butt;
772     stroke-dasharray: 3, 3;
773 }
774 path.casing.tag-highway-steps {
775     stroke-width: 6;
776     stroke: #fff;
777 }
778
779 /* aeroways */
780
781 path.stroke.tag-aeroway-taxiway {
782     stroke: #805C80;
783     stroke-width: 4;
784 }
785 path.shadow.tag-aeroway-runway {
786     stroke-width: 20;
787 }
788 path.stroke.tag-aeroway-runway {
789     stroke: #fff;
790     stroke-width: 2;
791     stroke-linecap: butt;
792     stroke-dasharray: 24, 48;
793 }
794 path.casing.tag-aeroway-runway {
795     stroke-width: 10;
796     stroke: #000;
797     stroke-linecap: square;
798 }
799 path.fill.tag-aeroway-runway {
800     fill: #000;
801     fill-opacity: 0.6;
802 }
803 path.stroke.tag-aeroway-apron {
804     stroke: #805C80;
805 }
806 path.fill.tag-aeroway-apron {
807     fill: #805C80;
808     fill-opacity: 0.2;
809 }
810
811
812 /* bridges */
813
814 path.casing.tag-bridge {
815     stroke-width: 14;
816     stroke-opacity: 0.5;
817     stroke: #000;
818 }
819
820 path.casing.tag-highway-living_street.tag-bridge,
821 path.casing.tag-highway-path.tag-bridge {
822     stroke-width: 6;
823 }
824
825 path.casing.line.tag-highway-pedestrian,
826 path.casing.tag-highway-service.tag-bridge,
827 path.casing.tag-highway-track.tag-bridge,
828 path.casing.tag-highway-steps.tag-bridge,
829 path.casing.tag-highway-footway.tag-bridge,
830 path.casing.tag-highway-cycleway.tag-bridge,
831 path.casing.tag-highway-bridleway.tag-bridge {
832     stroke-width: 8;
833 }
834
835 path.shadow.tag-highway-residential.tag-bridge {
836     stroke-width:22;
837 }
838
839 path.shadow.tag-highway-living_street.tag-bridge,
840 path.shadow.tag-highway-path.tag-bridge,
841 path.shadow.line.tag-highway-pedestrian,
842 path.shadow.tag-highway-service.tag-bridge,
843 path.shadow.tag-highway-track.tag-bridge,
844 path.shadow.tag-highway-steps.tag-bridge,
845 path.shadow.tag-highway-footway.tag-bridge,
846 path.shadow.tag-highway-cycleway.tag-bridge,
847 path.shadow.tag-highway-bridleway.tag-bridge {
848     stroke-width: 16;
849 }
850
851 /* tunnels */
852
853 path.stroke.tag-highway.tag-tunnel {
854     stroke-opacity: 0.3;
855 }
856
857 path.casing.tag-highway.tag-tunnel {
858     stroke-opacity: 0.5;
859 }
860
861 path.stroke.tag-highway-construction,
862 path.casing.tag-highway-construction {
863     stroke-linecap: butt;
864     stroke-dasharray: 7, 7;
865 }
866
867 /* construction */
868
869 svg[data-zoom="16"] path.stroke.tag-highway-construction,
870 svg[data-zoom="16"] path.casing.tag-highway-construction {
871     stroke-linecap: butt;
872     stroke-dasharray: 5, 5;
873 }
874
875 /* railways */
876
877 .line.stroke.tag-railway {
878     stroke: #eee;
879     stroke-width: 2;
880     stroke-linecap: butt;
881     stroke-dasharray: 12,12;
882 }
883 .line.casing.tag-railway {
884     stroke: #555;
885     stroke-width: 4;
886 }
887
888 .line.stroke.tag-railway-abandoned {
889     stroke: #eee;
890 }
891 .line.casing.tag-railway-abandoned {
892     stroke: #999;
893 }
894
895 .line.stroke.tag-railway-subway {
896     stroke: #666;
897 }
898 .line.casing.tag-railway-subway {
899     stroke: #222;
900 }
901
902 .line.stroke.tag-railway-platform {
903     stroke: #999;
904     stroke-width: 4;
905     stroke-dasharray: none;
906 }
907 .line.casing.tag-railway-platform {
908     stroke: none;
909 }
910
911 /* waterways */
912
913 path.fill.tag-waterway {
914     fill: #77d3de;
915 }
916
917 path.stroke.tag-waterway {
918     stroke: #77d3de;
919     stroke-width: 2;
920 }
921 path.casing.tag-waterway {
922     stroke: #77d3de;
923     stroke-width: 4;
924 }
925
926 path.stroke.tag-waterway-river {
927     stroke-width: 4;
928 }
929 path.casing.tag-waterway-river {
930     stroke-width: 6;
931 }
932
933 svg[data-zoom="16"] path.stroke.tag-waterway-river {
934     stroke-width: 4;
935 }
936 svg[data-zoom="16"] path.casing.tag-waterway-river {
937     stroke-width: 6;
938 }
939
940 path.stroke.tag-waterway-ditch {
941     stroke: #6591ff;
942     stroke-width: 1;
943 }
944 path.casing.tag-waterway-ditch {
945     stroke: #6591ff;
946     stroke-width: 3;
947 }
948
949 /* power */
950
951 path.stroke.tag-power {
952     stroke: #939393;
953     stroke-width: 2;
954 }
955 path.casing.tag-power {
956     stroke: none;
957 }
958
959 /* boundary */
960
961 path.stroke.tag-boundary {
962     stroke: #fff;
963     stroke-width: 2;
964     stroke-linecap: butt;
965     stroke-dasharray: 20, 5, 5, 5;
966 }
967 path.casing.tag-boundary {
968     stroke: #82B5FE;
969     stroke-width: 6;
970 }
971
972 path.casing.tag-boundary-protected_area,
973 path.casing.tag-boundary-national_park {
974     stroke: #b0e298;
975 }
976
977
978 text {
979     font-size:10px;
980     pointer-events: none;
981     color: #222;
982     opacity: 1;
983 }
984
985 .oneway .textpath.tag-waterway {
986     fill: #002F35;
987 }
988
989 marker#oneway-marker path {
990     fill:#000;
991     opacity: .5;
992 }
993
994 path.oneway {
995     stroke-width: 6px;
996 }
997
998 /*
999  * Labels
1000  */
1001
1002 text.arealabel-halo,
1003 text.linelabel-halo,
1004 text.pointlabel-halo,
1005 text.arealabel,
1006 text.linelabel,
1007 text.pointlabel {
1008     font-size: 12px;
1009     font-weight: bold;
1010     fill: #333;
1011     text-anchor: middle;
1012     pointer-events: none;
1013     -webkit-transition: opacity 100ms linear;
1014     transition: opacity 100ms linear;
1015     -moz-transition: opacity 100ms linear;
1016 }
1017
1018 .linelabel-halo .textpath,
1019 .linelabel .textpath {
1020   dominant-baseline: middle;
1021 }
1022
1023 /* Opera doesn't support dominant-baseline. See #715 */
1024 .opera .linelabel-halo .textpath,
1025 .opera .linelabel .textpath {
1026   baseline-shift: -33%;
1027   dominant-baseline: auto;
1028 }
1029
1030 .layer-halo text {
1031     opacity: 0.7;
1032     stroke: #fff;
1033     stroke-width: 5px;
1034     stroke-miterlimit: 1;
1035 }
1036
1037 text.proximate {
1038     opacity: 0;
1039 }
1040
1041 text.point {
1042   font-size: 10px;
1043 }
1044
1045 /* Cursors */
1046
1047 #map {
1048     cursor: auto; /* Opera */
1049     cursor: url(<%= asset_path("iD/img/cursor-grab.png") %>) 9 9, auto; /* FF */
1050     cursor: -webkit-image-set(
1051         url(<%= asset_path("iD/img/cursor-grab.png") %>) 1x,
1052         url(<%= asset_path("iD/img/cursor-grab2x.png") %>) 2x
1053         ) 9 9, auto;
1054 }
1055
1056 .mode-browse .point,
1057 .mode-select .point {
1058     cursor: pointer; /* Opera */
1059     cursor: url(<%= asset_path("iD/img/cursor-select-point.png") %>), pointer; /* FF */
1060     cursor: -webkit-image-set(
1061         url(<%= asset_path("iD/img/cursor-select-point.png") %>) 1x,
1062         url(<%= asset_path("iD/img/cursor-select-point2x.png") %>) 2x
1063         ), pointer;
1064 }
1065
1066 .mode-select .vertex,
1067 .mode-browse .vertex {
1068     cursor: pointer; /* Opera */
1069     cursor: url(<%= asset_path("iD/img/cursor-select-vertex.png") %>), pointer; /* FF */
1070     cursor: -webkit-image-set(
1071         url(<%= asset_path("iD/img/cursor-select-vertex.png") %>) 1x,
1072         url(<%= asset_path("iD/img/cursor-select-vertex2x.png") %>) 2x
1073         ), pointer;
1074 }
1075
1076 .mode-browse .line,
1077 .mode-select .line {
1078     cursor: pointer; /* Opera */
1079     cursor: url(<%= asset_path("iD/img/cursor-select-line.png") %>), pointer; /* FF */
1080     cursor: -webkit-image-set(
1081         url(<%= asset_path("iD/img/cursor-select-line.png") %>) 1x,
1082         url(<%= asset_path("iD/img/cursor-select-line2x.png") %>) 2x
1083         ), pointer;
1084 }
1085
1086 .mode-select .area,
1087 .mode-browse .area {
1088     cursor: pointer; /* Opera */
1089     cursor: url(<%= asset_path("iD/img/cursor-select-area.png") %>), pointer; /* FF */
1090     cursor: -webkit-image-set(
1091         url(<%= asset_path("iD/img/cursor-select-area.png") %>) 1x,
1092         url(<%= asset_path("iD/img/cursor-select-area2x.png") %>) 2x
1093         ), pointer;
1094 }
1095
1096 .mode-select .midpoint,
1097 .mode-browse .midpoint {
1098     cursor: pointer; /* Opera */
1099     cursor: url(<%= asset_path("iD/img/cursor-select-split.png") %>), pointer; /* FF */
1100     cursor: -webkit-image-set(
1101         url(<%= asset_path("iD/img/cursor-select-split.png") %>) 1x,
1102         url(<%= asset_path("iD/img/cursor-select-split2x.png") %>) 2x
1103         ), pointer;
1104 }
1105
1106 .mode-select .behavior-multiselect .point,
1107 .mode-select .behavior-multiselect .vertex,
1108 .mode-select .behavior-multiselect .line,
1109 .mode-select .behavior-multiselect .area {
1110     cursor: pointer; /* Opera */
1111     cursor: url(<%= asset_path("iD/img/cursor-select-add.png") %>), pointer; /* FF */
1112     cursor: -webkit-image-set(
1113         url(<%= asset_path("iD/img/cursor-select-add.png") %>) 1x,
1114         url(<%= asset_path("iD/img/cursor-select-add2x.png") %>) 2x
1115         ), pointer;
1116 }
1117
1118 .mode-select .behavior-multiselect .selected {
1119     cursor: pointer; /* Opera */
1120     cursor: url(<%= asset_path("iD/img/cursor-select-remove.png") %>), pointer; /* FF */
1121     cursor: -webkit-image-set(
1122         url(<%= asset_path("iD/img/cursor-select-remove.png") %>) 1x,
1123         url(<%= asset_path("iD/img/cursor-select-remove2x.png") %>) 2x
1124         ), pointer;
1125 }
1126
1127 #map .point:active,
1128 #map .vertex:active,
1129 #map .line:active,
1130 #map .area:active,
1131 #map .midpoint:active,
1132 #map .mode-select .selected {
1133     cursor: pointer; /* Opera */
1134     cursor: url(<%= asset_path("iD/img/cursor-select-acting.png") %>), pointer; /* FF */
1135     cursor: -webkit-image-set(
1136         url(<%= asset_path("iD/img/cursor-select-acting.png") %>) 1x,
1137         url(<%= asset_path("iD/img/cursor-select-acting2x.png") %>) 2x
1138         ), pointer;
1139 }
1140
1141 .mode-draw-line #map,
1142 .mode-draw-area #map,
1143 .mode-add-line  #map,
1144 .mode-add-area  #map,
1145 .mode-drag-node #map {
1146     cursor: crosshair; /* Opera */
1147     cursor: url(<%= asset_path("iD/img/cursor-draw.png") %>) 9 9, crosshair; /* FF */
1148     cursor: -webkit-image-set(
1149         url(<%= asset_path("iD/img/cursor-draw.png") %>) 1x,
1150         url(<%= asset_path("iD/img/cursor-draw2x.png") %>) 2x
1151         ) 9 9, crosshair;
1152 }
1153
1154 .mode-draw-line .way.hover,
1155 .mode-draw-area .way.hover,
1156 .mode-add-line  .way.hover,
1157 .mode-add-area  .way.hover,
1158 .mode-drag-node .way.hover {
1159     cursor: crosshair; /* Opera */
1160     cursor: url(<%= asset_path("iD/img/cursor-draw-connect-line.png") %>) 9 9, crosshair; /* FF */
1161     cursor: -webkit-image-set(
1162         url(<%= asset_path("iD/img/cursor-draw-connect-line.png") %>) 1x,
1163         url(<%= asset_path("iD/img/cursor-draw-connect-line2x.png") %>) 2x
1164         ) 9 9, crosshair;
1165 }
1166
1167 .mode-draw-line .vertex.hover,
1168 .mode-draw-area .vertex.hover,
1169 .mode-add-line  .vertex.hover,
1170 .mode-add-area  .vertex.hover,
1171 .mode-drag-node .vertex.hover {
1172     cursor: crosshair; /* Opera */
1173     cursor: url(<%= asset_path("iD/img/cursor-draw-connect-vertex.png") %>) 9 9, crosshair; /* FF */
1174     cursor: -webkit-image-set(
1175         url(<%= asset_path("iD/img/cursor-draw-connect-vertex.png") %>) 1x,
1176         url(<%= asset_path("iD/img/cursor-draw-connect-vertex2x.png") %>) 2x
1177         ) 9 9, crosshair;
1178 }
1179
1180 .mode-add-point #map,
1181 .lasso #map,
1182 .lasso .way,
1183 .lasso .vertex {
1184     cursor: crosshair; /* Opera */
1185     cursor: url(<%= asset_path("iD/img/cursor-draw.png") %>) 9 9, crosshair; /* FF */
1186     cursor: -webkit-image-set(
1187         url(<%= asset_path("iD/img/cursor-draw.png") %>) 1x,
1188         url(<%= asset_path("iD/img/cursor-draw2x.png") %>) 2x
1189         ) 9 9, crosshair;
1190 }
1191
1192 .lasso #map {
1193     pointer-events: visibleStroke;
1194 }
1195
1196 /* GPX Paths */
1197 path.gpx {
1198     stroke: #6AFF25;
1199     stroke-width: 2;
1200     fill: none;
1201     pointer-events: none;
1202 }
1203
1204 /* Modes */
1205
1206 .mode-draw-line .vertex.active,
1207 .mode-draw-area .vertex.active,
1208 .mode-drag-node .vertex.active {
1209     display: none;
1210 }
1211
1212 .mode-draw-line .way.active,
1213 .mode-draw-area .way.active,
1214 .mode-drag-node .active {
1215     pointer-events: none;
1216 }
1217
1218 /* Ensure drawing doesn't interact with area fills. */
1219 .mode-add-point .area.fill,
1220 .mode-draw-line .area.fill,
1221 .mode-draw-area .area.fill,
1222 .mode-add-line .area.fill,
1223 .mode-add-area .area.fill,
1224 .mode-drag-node .area.fill {
1225     pointer-events: none;
1226 }
1227 /* Basics
1228 ------------------------------------------------------- */
1229
1230 /*
1231   Opera misbehaves when the window is resized vertically unless 100% width + height are
1232   applied to both html and body. https://gist.github.com/jfirebaugh/bd225bcfdd3a633850c4
1233 */
1234 html, body {
1235     width: 100%;
1236     height: 100%;
1237 }
1238
1239 body {
1240     font:normal 12px/1.6667 'Helvetica Neue', Arial, sans-serif;
1241     margin:0;
1242     padding:0;
1243     min-width: 768px;
1244     color:#333;
1245     overflow: hidden;
1246 }
1247
1248 .unsupported {
1249     text-align: center;
1250     vertical-align: middle;
1251     padding-top: 100px;
1252     font-size: 15px;
1253 }
1254
1255 .id-container {
1256     height: 100%;
1257     width: 100%;
1258     position: fixed;
1259     min-width: 768px;
1260 }
1261
1262 #content {
1263     position: relative;
1264     overflow: hidden;
1265     height: 100%;
1266 }
1267
1268 .spacer {
1269     height: 40px;
1270     margin-right: 10px;
1271 }
1272
1273 .limiter {
1274     position: relative;
1275     max-width: 1200px;
1276 }
1277
1278 .spinner {
1279     opacity: .5;
1280 }
1281
1282 .spinner img {
1283     position: absolute;
1284     height: 40px;
1285     width: 40px;
1286     right: 10px;
1287     top: 10px;
1288     border-radius: 4px;
1289     margin-right: 10px;
1290     background: black;
1291 }
1292
1293 div, textarea, label, input, form, span, ul, li, ol, a, button, h1, h2, h3, h4, h5, p, img {
1294     -moz-box-sizing: border-box;
1295     -webkit-box-sizing: border-box;
1296     box-sizing: border-box;
1297 }
1298
1299 a, button, input, textarea {
1300     -webkit-tap-highlight-color:rgba(0,0,0,0);
1301     -webkit-touch-callout:none;
1302 }
1303
1304 a,
1305 button,
1306 .checkselect label:hover,
1307 .opacity-options li,
1308 .radial-menu-item {
1309     cursor: pointer; /* Opera */
1310     cursor: url(<%= asset_path("iD/img/cursor-pointer.png") %>) 6 1, pointer; /* FF */
1311     cursor: -webkit-image-set(
1312         url(<%= asset_path("iD/img/cursor-pointer.png") %>) 1x,
1313         url(<%= asset_path("iD/img/cursor-pointer2x.png") %>) 2x
1314         ) 6 1, pointer;
1315 }
1316
1317 h2 {
1318     font-size: 25px;
1319     line-height: 1.25;
1320     font-weight: bold;
1321     margin-bottom: 20px;
1322 }
1323
1324 h3:last-child,
1325 h2:last-child,
1326 h4:last-child { margin-bottom: 0;}
1327
1328 h3 {
1329     font-size: 16px;
1330     line-height: 1.25;
1331     font-weight: bold;
1332     margin-bottom: 10px;
1333 }
1334
1335 h4, h5 {
1336     font-size: 12px;
1337     font-weight: bold;
1338     padding-bottom: 10px;
1339 }
1340
1341 :focus {
1342     outline-color: transparent;
1343     outline-style: none;
1344 }
1345
1346 p {
1347     font-size: 12px;
1348     margin:0;
1349     padding:0;
1350 }
1351
1352 p:last-child {
1353     padding-bottom: 0;
1354 }
1355
1356 em {
1357     font-style: italic;
1358 }
1359
1360 strong {
1361     font-weight: bold;
1362 }
1363
1364 a:visited, a {
1365     color: #7092ff;
1366     -webkit-transition: all 100ms;
1367        -moz-transition: all 100ms;
1368          -o-transition: all 100ms;
1369             transition: all 100ms;
1370 }
1371
1372 a:hover {
1373     color:#597be7;
1374 }
1375
1376 /* Forms
1377 ------------------------------------------------------- */
1378
1379 textarea  {
1380     resize: vertical;
1381     font:normal 12px/20px 'Helvetica Neue', Arial, sans-serif;
1382 }
1383
1384 textarea,
1385 input[type=text],
1386 input[type=search],
1387 input[type=number],
1388 input[type=url],
1389 input[type=tel],
1390 input[type=email] {
1391     background-color: white;
1392     border:1px solid #ccc;
1393     padding:5px 10px;
1394     height:30px;
1395     width: 100%;
1396     border-radius:4px;
1397     text-overflow: ellipsis;
1398     overflow: hidden;
1399     -webkit-transition: all 200ms;
1400        -moz-transition: all 200ms;
1401          -o-transition: all 200ms;
1402             transition: all 200ms;
1403 }
1404
1405 textarea:focus,
1406 input:focus {
1407     background-color: #F1F1F1;
1408 }
1409
1410 input[type="checkbox"],
1411 input[type="radio"] {
1412     float: left;
1413     width: 14px;
1414     height: 14px;
1415     margin-right: 5px;
1416     margin-top: 3px;
1417 }
1418
1419 /* remove bottom border radius when combobox is open */
1420 .combobox + * textarea:focus,
1421 .combobox + * input:focus {
1422     border-bottom-left-radius: 0 !important;
1423     border-bottom-right-radius: 0 !important;
1424 }
1425
1426 /* tables */
1427
1428 table {
1429     background-color: white;
1430     border-collapse: collapse;
1431     width:100%;
1432     border-spacing:0;
1433 }
1434
1435 table th {
1436     text-align:left;
1437 }
1438
1439 table.tags, table.tags td, table.tags th {
1440     border: 1px solid #CCC;
1441     padding: 4px;
1442 }
1443
1444 /* Grid
1445 ------------------------------------------------------- */
1446
1447 .col0    { float:left; width:04.1666%; }
1448 .col1    { float:left; width:08.3333%; }
1449 .col2    { float:left; width:16.6666%; }
1450 .col3    { float:left; width:25.0000%; max-width: 300px; }
1451 .col4    { float:left; width:33.3333%; max-width: 400px; }
1452 .col5    { float:left; width:41.6666%; max-width: 500px; }
1453 .col6    { float:left; width:50.0000%; max-width: 600px; }
1454 .col7    { float:left; width:58.3333%; }
1455 .col8    { float:left; width:66.6666%; }
1456 .col9    { float:left; width:75.0000%; }
1457 .col10   { float:left; width:83.3333%; }
1458 .col11   { float:left; width:91.6666%; }
1459 .col12   { float:left; width:100.0000%; }
1460
1461 /* UI Lists
1462 ------------------------------------------------------- */
1463
1464 ul li { list-style: none;}
1465
1466 .toggle-list {
1467     border-radius: 4px;
1468     border: 1px solid #CCC;
1469 }
1470
1471 .toggle-list > label {
1472     position: relative;
1473     padding: 5px 10px;
1474     display:block;
1475     height: 30px;
1476     border-bottom: 1px solid #ccc;
1477     background-color: white;
1478     color: #7092FF;
1479     cursor: pointer;
1480        -moz-transition: all 100ms;
1481          -o-transition: all 100ms;
1482             transition: all 100ms;
1483 }
1484
1485 .toggle-list > label:hover {
1486     background-color: #ececec;
1487 }
1488
1489 .toggle-list > label:first-child {
1490     border-radius: 3px 3px 0 0;
1491 }
1492
1493 .toggle-list > label:last-child {
1494     border-radius: 0 0 3px 3px;
1495     border-bottom-width: 0;
1496 }
1497
1498 .toggle-list > label:only-child {
1499     border-radius: 3px;
1500 }
1501
1502 .toggle-list label > span { 
1503     display: block;
1504     overflow: hidden;
1505     white-space: nowrap;
1506     text-overflow: ellipsis;
1507 }
1508
1509 .toggle-list > label.remove span.icon {
1510     display: block;
1511     width: 14px;
1512     float: left;
1513     margin-right: 5px;
1514     background-position: -204px 0;
1515 }
1516
1517 .toggle-list > label.active {
1518     background: #E8EBFF;
1519 }
1520
1521 .link-list li {
1522     float: right;
1523     border-left: 1px solid rgba(255,255,255,.5);
1524     padding: 5px 0 5px 5px;
1525     margin-left: 5px;
1526 }
1527
1528 ul.link-list li:last-child {
1529     border-left: 0;
1530     margin-left: 0;
1531     padding-left: 0;
1532 }
1533
1534 /* Utility Classes
1535 ------------------------------------------------------- */
1536 .fillL {
1537     background: white;
1538     color: #333;
1539 }
1540
1541 .fillL2 {
1542     background: #f6f6f6;
1543     color: #333;
1544 }
1545
1546 .fillL3 {
1547     background: #ececec;
1548     color: #333;
1549 }
1550
1551 .fillD {
1552     background:rgba(0,0,0,.5);
1553     color: white;
1554 }
1555
1556 .fl { float: left;}
1557 .fr { float: right;}
1558
1559 div.hide,
1560 form.hide,
1561 button.hide,
1562 a.hide {
1563     display: none;
1564 }
1565
1566 .deemphasize {
1567     color: #a9a9a9;
1568 }
1569
1570 .content {
1571     box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.25);
1572 }
1573
1574 .loading {
1575     background: url(<%= asset_path("iD/img/loader_bg.gif") %>);
1576     background-size:5px 5px;
1577 }
1578
1579 .panewrap {
1580     position:absolute;
1581     width:200%;
1582     height:100%;
1583     right: -100%;
1584 }
1585
1586 .pane {
1587     position:absolute;
1588     width:50%;
1589     top: 0;
1590     bottom: 30px;
1591 }
1592
1593 .pane:first-child {
1594     left: 0;
1595 }
1596
1597 .pane:last-child {
1598     right: 0;
1599 }
1600
1601 /* Buttons */
1602
1603 button {
1604     text-align: center;
1605     line-height:20px;
1606     border:0;
1607     background: white;
1608     font-weight: bold;
1609     color:#333;
1610     font-size:12px;
1611     display: inline-block;
1612     height:40px;
1613     border-radius:4px;
1614     /* Crashes Safari: https://github.com/systemed/iD/issues/1188 */
1615     /*-webkit-transition: all 100ms;*/
1616        -moz-transition: all 100ms;
1617          -o-transition: all 100ms;
1618             transition: all 100ms;
1619 }
1620
1621 button:focus,
1622 button:hover {
1623     background-color: #ececec;
1624 }
1625
1626 button[disabled],
1627 button.disabled {
1628     background-color: rgba(255,255,255,.25);
1629     color: rgba(0,0,0,.5);
1630     cursor: auto;
1631 }
1632
1633 button.active {
1634     background: #7092ff;
1635 }
1636
1637 button.minor {
1638     position: absolute;
1639     top: 0;
1640     right: 0;
1641     height: 100%;
1642     width: 10%;
1643     border-radius: 0;
1644     background-color: #fafafa;
1645 }
1646
1647 button.minor .icon {
1648     opacity: .5;
1649 }
1650
1651 button.minor:hover {
1652     background-color: #f1f1f1;
1653 }
1654
1655 .button-wrap {
1656     display: inline-block;
1657     padding-right:10px;
1658     margin: 0;
1659 }
1660
1661 .button-wrap button:only-child {
1662     width: 100%;
1663 }
1664
1665 .button-wrap:last-of-type {
1666     padding-right: 0;
1667 }
1668
1669 .joined button {
1670     border-radius:0;
1671     border-right: 1px solid rgba(0,0,0,.5);
1672 }
1673
1674 .joined button:first-child {
1675     border-radius:4px 0 0 4px;
1676 }
1677
1678 .joined button:last-child {
1679     border-right-width: 0;
1680     border-radius:0 4px 4px 0;
1681 }
1682
1683 button.action {
1684     background: #7092ff;
1685 }
1686
1687 button.action:focus,
1688 button.action:hover {
1689     background: #597BE7;
1690 }
1691
1692 button.save.has-count {
1693     padding: 9px;
1694 }
1695
1696 button.save .count {
1697     display: none;
1698 }
1699
1700 button.save.has-count .count {
1701     display: block;
1702     position: absolute;
1703     top: 5px;
1704     background: rgba(255, 255, 255, .5);
1705     color: #333;
1706     padding: 10px;
1707     height: 30px;
1708     line-height: 12px;
1709     border-radius: 4px;
1710     margin: auto;
1711     margin-left: 8.3333%;
1712 }
1713
1714 button.save.has-count .count::before {
1715     content: "";
1716     margin: auto;
1717     width: 0;
1718     height: 0;
1719     position: absolute;
1720     left: -6px;
1721     top: 0;
1722     bottom: 0;
1723     border-top:    6px solid transparent;
1724     border-bottom: 6px solid transparent;
1725     border-right:  6px solid rgba(255,255,255,.5);
1726 }
1727
1728 /* Icons */
1729
1730 .icon {
1731   display:inline-block;
1732   vertical-align:top;
1733   width:20px;
1734   height:20px;
1735   background:transparent url(<%= asset_path("iD/img/sprite.svg") %>) no-repeat 0 0;
1736   text-indent:-9999px;
1737   overflow:hidden;
1738   }
1739
1740 .icon-pre-text {
1741     margin-right: 3px;
1742 }
1743
1744 .user-icon {
1745     max-height: 20px;
1746     max-width: 20px;
1747     height: auto;
1748     width: auto;
1749     border-radius: 3px;
1750 }
1751
1752 /* Definitions for every icon */
1753 .icon.alert     { background-position:   0 0;}
1754 .icon.point,
1755 .icon.add-point  { background-position: -20px 0;}
1756 .icon.line,
1757 .icon.add-line   { background-position: -40px 0;}
1758 .icon.area,
1759 .icon.add-area   { background-position: -60px 0;}
1760 .icon.undo       { background-position: -80px 0;}
1761 .icon.redo       { background-position: -100px 0;}
1762 .icon.apply      { background-position: -120px 0;}
1763 .icon.save       { background-position: -140px 0;}
1764 .icon.close      { background-position: -160px 0;}
1765 .icon.delete     { background-position: -180px 0;}
1766 .icon.remove     { background-position: -200px 0;}
1767 .icon.inspect    { background-position: -220px 0;}
1768 .icon.plus       { background-position: -240px 0;}
1769 .icon.search     { background-position: -280px 0;}
1770 .icon.geocode    { background-position: -280px 0;}
1771 .icon.layers     { background-position: -300px 0;}
1772 .icon.avatar     { background-position: -320px 0;}
1773 .icon.nearby     { background-position: -340px 0;}
1774 .icon.geolocate  { background-position: -360px 0;}
1775 .icon.warning    { background-position: -380px 0;}
1776 .icon.bug        { background-position: -400px 0;}
1777 .icon.back       { background-position: -420px 0;}
1778 .icon.forward    { background-position: -440px 0;}
1779 .icon.help       { background-position: -460px 0;}
1780 .icon.relation    { background-position: -520px 0;}
1781 .icon.relation.route         { background-position: -540px 0;}
1782 .icon.relation.multipolygon  { background-position: -560px 0;}
1783
1784 .icon.inspect.light    { background-position: -220px -20px;}
1785 .icon.plus.light       { background-position: -240px -20px;}
1786 .icon.zoom-in          { background-position: -240px -20px;}
1787 .icon.zoom-out         { background-position: -260px -20px;}
1788 .icon.geocode.light    { background-position: -280px -20px;}
1789 .icon.layers.light     { background-position: -300px -20px;}
1790 .icon.avatar.light     { background-position: -320px -20px;}
1791 .icon.nearby.light     { background-position: -340px -20px;}
1792 .icon.geolocate.light  { background-position: -360px -20px;}
1793 .icon.bug.light        { background-position: -400px -20px;}
1794 .icon.help.light       { background-position: -460px -20px;}
1795
1796 .icon.back.blue        { background-position: -420px -20px;}
1797 .icon.forward.blue     { background-position: -440px -20px;}
1798
1799 button[disabled] .icon.alert      { background-position:   0 -40px;}
1800 button[disabled] .icon.add-point  { background-position: -20px -40px;}
1801 button[disabled] .icon.add-line   { background-position: -40px -40px;}
1802 button[disabled] .icon.add-area   { background-position: -60px -40px;}
1803 button.disabled  .icon.undo       { background-position: -80px -40px;}
1804 button.disabled  .icon.redo       { background-position: -100px -40px;}
1805 button[disabled] .apply.icon      { background-position: -120px -40px;}
1806 button[disabled] .close.icon      { background-position: -160px -40px;}
1807 button[disabled] .delete.icon     { background-position: -180px -40px;}
1808 button[disabled] .icon.remove     { background-position: -200px -40px;}
1809 button[disabled] .icon.inspect    { background-position: -220px -40px;}
1810 button[disabled] .icon.zoom-in    { background-position: -240px -40px;}
1811 button[disabled] .icon.zoom-out   { background-position: -260px -40px;}
1812 button[disabled] .icon.geocode    { background-position: -280px -40px;}
1813 button[disabled] .icon.layers     { background-position: -300px -40px;}
1814 button[disabled] .icon.avatar     { background-position: -320px -40px;}
1815 button[disabled] .icon.nearby     { background-position: -340px -40px;}
1816
1817 /* Out link is special */
1818
1819 .icon.out-link   { height: 14px; width: 14px; background-position: -500px 0;}
1820 a:hover .icon.out-link   { background-position: -500px -14px;}
1821
1822 .icon.plus-dark    { background-position: -240px -40px;}
1823
1824 /* Universal preset icons */
1825
1826 .icon.source     { background-position:   0 -200px;}
1827 .icon.address    { background-position: -20px -200px;}
1828 .icon.telephone  { background-position: -40px -200px;}
1829 .icon.website    { background-position: -60px -200px;}
1830 .icon.elevation  { background-position: -80px -200px;}
1831 .icon.wikipedia  { background-position: -100px -200px;}
1832 .icon.note       { background-position: -120px -200px;}
1833 .icon.wheelchair { background-position: -140px -200px;}
1834
1835 /* ToolBar / Persistent UI Elements
1836 ------------------------------------------------------- */
1837
1838 #bar {
1839     position: fixed;
1840     padding: 10px 0;
1841     left:0;
1842     top:0;
1843     right:0;
1844     height:60px;
1845     z-index: 1;
1846     min-width: 768px;
1847 }
1848
1849 /* Header for modals / panes
1850 ------------------------------------------------------- */
1851
1852 .header {
1853     border-bottom: 1px solid #ccc;
1854     height: 60px;
1855     position: relative;
1856 }
1857
1858 .header h3 {
1859     text-align: center;
1860     margin-bottom: 0;
1861     white-space: nowrap;
1862     text-overflow: ellipsis;
1863     overflow: hidden;
1864     padding: 20px;
1865 }
1866
1867 .header button,
1868 .modal > button {
1869     border-radius: 0;
1870     width: 40px;
1871     text-align: center;
1872     overflow: hidden;
1873 }
1874
1875 .header button {
1876     position: relative;
1877     height: 100%;
1878 }
1879
1880 .preset-list-pane .header button {
1881     position: absolute;
1882     right: 0;
1883     top: 0;
1884 }
1885
1886 .modal > button {
1887     position: absolute;
1888     right: 0;
1889     top: 0;
1890     height: 59px;
1891     z-index: 3;
1892 }
1893
1894 .footer {
1895     position: absolute;
1896     bottom: 0;
1897     padding: 5px 30px 5px 30px;
1898     border-top: 1px solid #ccc;
1899     background-color: #fafafa;
1900     width: 100%;
1901 }
1902
1903 .sidebar-component .body {
1904     width: 100%;
1905     overflow: auto;
1906     top: 60px;
1907     bottom: 0;
1908     position: absolute;
1909 }
1910
1911 /* Inspector
1912 ------------------------------------------------------- */
1913
1914 #sidebar {
1915     position: relative;
1916     float: left;
1917     height: 100%;
1918     overflow: hidden;
1919     z-index: 2;
1920     background: #f6f6f6;
1921 }
1922
1923 .sidebar-component {
1924     position: absolute;
1925     top: 0;
1926     left: 0;
1927     bottom: 0;
1928     right: 0;
1929 }
1930
1931 .inspector-wrap {
1932     width: 100%;
1933     height: 100%;
1934 }
1935
1936 .inspector-hidden {
1937     display: none;
1938 }
1939
1940 .inspector-body {
1941     overflow-y: scroll;
1942     overflow-x: hidden;
1943     position: absolute;
1944     right: 0;
1945     left: 0;
1946     bottom: 0;
1947 }
1948
1949 .feature-list-pane .inspector-body {
1950     top: 120px;
1951 }
1952
1953 .preset-list-pane .inspector-body {
1954     top: 120px;
1955 }
1956
1957 .entity-editor-pane .inspector-body {
1958     top: 60px;
1959 }
1960
1961 .inspector-inner {
1962     padding: 20px;
1963     position: relative;
1964 }
1965
1966 #sidebar .search-header .icon {
1967     display: block;
1968     position: absolute;
1969     left: 10px;
1970     top: 80px;
1971     pointer-events: none;
1972 }
1973
1974 #sidebar .search-header input {
1975     position: absolute;
1976     top: 60px;
1977     height: 60px;
1978     width: 100%;
1979     padding: 5px 10px;
1980     border-radius: 0;
1981     border-width: 0;
1982     border-bottom-width: 1px;
1983     text-indent: 30px;
1984     font-size: 18px;
1985     font-weight: bold;
1986 }
1987
1988 /* Feature list */
1989
1990 .feature-list  {
1991     width:100%;
1992 }
1993
1994 .no-results-item,
1995 .geocode-item,
1996 .feature-list-item {
1997     width: 100%;
1998     position: relative;
1999     border-bottom: 1px solid #ccc;
2000     border-radius: 0;
2001 }
2002
2003 .feature-list-item .label {
2004     text-align: left;
2005     padding: 5px 10px;
2006     white-space: nowrap;
2007     text-overflow: ellipsis;
2008     overflow: hidden;
2009     border-left: 1px solid rgba(0, 0, 0, .1);
2010     -moz-transition: all 100ms;
2011     -o-transition: all 100ms;
2012     transition: all 100ms;
2013 }
2014
2015 .feature-list-item .label .icon {
2016     opacity: .5;
2017 }
2018
2019 .feature-list-item:hover .label {
2020     background-color: #ececec;
2021 }
2022
2023 .feature-list-item .entity-type {
2024     color:#7092ff;
2025 }
2026
2027 .feature-list-item:hover .entity-type {
2028     color:#597be7;
2029 }
2030
2031 .feature-list-item .entity-name {
2032     font-weight: normal;
2033     color: #666;
2034     padding-left: 10px;
2035 }
2036
2037 /* Presets
2038 ------------------------------------------------------- */
2039
2040 /* Preset grid  */
2041
2042 .preset-list  {
2043     width:100%;
2044     padding: 20px 20px 10px 20px;
2045     border-bottom: 1px solid #ccc;
2046 }
2047
2048 .preset-list-button-wrap {
2049     position: relative;
2050     margin-bottom: 10px;
2051     height: 60px;
2052 }
2053
2054 .preset-list-button {
2055     width: 100%;
2056     height: 100%;
2057     position: relative;
2058     border: 1px solid #ccc;
2059 }
2060
2061 .preset-list.filtered .preset-list-item:first-child .preset-list-button {
2062     background: #ececec;
2063 }
2064
2065 .preset-icon {
2066     position: absolute;
2067     top: 17px;
2068     left: 17px;
2069     margin: auto;
2070 }
2071
2072 .preset-icon-line,
2073 .preset-icon-relation {
2074     top: 0;
2075     left: 0;
2076 }
2077
2078 .preset-list-button .label {
2079     background-color: #f6f6f6;
2080     text-align: left;
2081     position: absolute;
2082     top: 0;
2083     bottom: 0;
2084     right: 0;
2085     padding: 5px 10px;
2086     left: 60px;
2087     line-height: 50px;
2088     white-space: nowrap;
2089     text-overflow: ellipsis;
2090     overflow: hidden;
2091     border-left: 1px solid rgba(0, 0, 0, .1);
2092     -moz-transition: all 100ms;
2093     -o-transition: all 100ms;
2094     transition: all 100ms;
2095     border-radius: 0 3px 3px 0;
2096     }
2097
2098 .preset-list-button:hover .label {
2099     background-color: #ececec;
2100 }
2101
2102 .preset-list-item button.tag-reference-button {
2103     height: 100%;
2104     border: 1px solid #CCC;
2105     border-radius: 0 3px 3px 0;
2106 }
2107
2108 .current .preset-list-button,
2109 .current .preset-list-button .label {
2110     background-color: #E8EBFF;
2111 }
2112
2113 .category .preset-list-button:after,
2114 .category .preset-list-button:before {
2115     content: "";
2116     position: absolute;
2117     top: -5px;
2118     left: -1px; right: -1px;
2119     border: 1px solid #ccc;
2120     border-bottom: none;
2121     border-radius: 6px 6px 0 0;
2122     height: 6px;
2123 }
2124
2125 .category .preset-list-button:before {
2126     top: -3px;
2127 }
2128
2129 .subgrid .preset-list {
2130     padding: 10px 10px 0 10px;
2131     margin-top: 0;
2132     border: 0;
2133     border-radius: 8px;
2134     width: -webkit-calc(100% + 20px);
2135     margin-left: -10px;
2136 }
2137
2138 .subgrid .arrow {
2139     border: solid rgba(0, 0, 0, 0);
2140     border-width: 10px;
2141     border-bottom-color: #f1f1f1;
2142     width: 0;
2143     height: 0;
2144     margin-left: 50%;
2145     margin-left: -webkit-calc(50% - 10px);
2146     margin-top: -10px;
2147 }
2148
2149 /* Preset icon colors */
2150
2151 .preset-icon-fill.icon-area {
2152     cursor: inherit;
2153     height: 45px;
2154     width: 45px;
2155     margin: auto;
2156     position: absolute;
2157     left: 7px; top: 7px;
2158     background:transparent url(<%= asset_path("iD/img/sprite.svg") %>) no-repeat -240px -80px;
2159 }
2160
2161 .preset-icon-fill.tag-shop,
2162 .preset-icon-fill.tag-building {
2163     background:transparent url(<%= asset_path("iD/img/sprite.svg") %>) no-repeat 0 -80px;
2164 }
2165
2166 .preset-icon-fill.tag-natural-water {
2167     background:transparent url(<%= asset_path("iD/img/sprite.svg") %>) no-repeat -60px -80px;
2168 }
2169
2170 .preset-icon-fill.tag-landuse,
2171 .preset-icon-fill.tag-natural-wood,
2172 .preset-icon-fill.tag-natural-tree,
2173 .preset-icon-fill.tag-natural-grassland,
2174 .preset-icon-fill.tag-leisure-park {
2175     background:transparent url(<%= asset_path("iD/img/sprite.svg") %>) no-repeat -120px -80px;
2176 }
2177
2178 .preset-icon-fill.tag-amenity-parking {
2179     background:transparent url(<%= asset_path("iD/img/sprite.svg") %>) no-repeat -180px -80px;
2180 }
2181
2182 /* preset form basics */
2183
2184 .inspector-preset {
2185     overflow: hidden;
2186 }
2187
2188 .inspector-preset form.preset-form {
2189     padding: 10px;
2190     margin: 0 10px 20px 10px;
2191     border-radius: 8px;
2192 }
2193
2194 .entity-editor-pane .preset-list-item::after {
2195     content: "";
2196     position: absolute;
2197     height: 0;
2198     width: 0;
2199     bottom: 0;
2200     left: 0;
2201     right: 0;
2202     margin: auto;
2203     border: solid rgba(0, 0, 0, 0);
2204     border-width: 10px;
2205     border-bottom-color: #ececec;
2206 }
2207
2208 .entity-editor-pane .preset-list-item .preset-list-button-wrap {
2209     margin-bottom: 0;
2210 }
2211
2212
2213 .form-field {
2214     margin-bottom: 10px;
2215     width: 100%;
2216     -webkit-transition: margin-bottom 200ms;
2217        -moz-transition: margin-bottom 200ms;
2218          -o-transition: margin-bottom 200ms;
2219             transition: margin-bottom 200ms;
2220 }
2221
2222 .form-field:last-child {
2223     margin-bottom: 0;
2224 }
2225
2226 .form-label {
2227     position: relative;
2228     font-weight: bold;
2229     border: 1px solid #cfcfcf;
2230     padding: 5px 0 5px 10px;
2231     background: #f6f6f6;
2232     display: block;
2233     border-radius: 4px 4px 0 0;
2234 }
2235
2236 .form-label button {
2237     border-left: 1px solid #CCC;
2238 }
2239
2240 .form-label .modified-icon {
2241     border-right: 0;
2242     opacity: 0;
2243     z-index: -10;
2244     right: 10%;
2245 }
2246
2247 .modified .form-label .modified-icon {
2248     opacity: 1;
2249     z-index: 1;
2250 }
2251
2252 .form-label button.tag-reference-button {
2253     border-top-right-radius: 3px;
2254 }
2255
2256 .form-field > input,
2257 .form-field > textarea,
2258 .form-field .preset-input-wrap {
2259     border: 1px solid #CCC;
2260     min-height: 30px;
2261     border-top: 0;
2262     border-radius: 0 0 4px 4px;
2263     overflow: hidden;
2264 }
2265
2266 .form-field textarea {
2267     height: 65px;
2268 }
2269
2270 .form-field button.remove {
2271     border-radius: 0 0 4px 0;
2272 }
2273
2274 .inspector-border {
2275     border-bottom: 1px solid #CCC
2276 }
2277
2278 /* Preset form (hover mode) */
2279
2280 .inspector-hover .checkselect label:last-of-type,
2281 .inspector-hover .preset-input-wrap .label,
2282 .inspector-hover input,
2283 .inspector-hover label {
2284     background: #ececec;
2285 }
2286
2287 .inspector-hover a,
2288 .inspector-hover .checkselect label:last-of-type {
2289     color: #666;
2290 }
2291
2292 /* hide and remove from layout */
2293 .inspector-hidden,
2294 .inspector-hover label input[type="checkbox"],
2295 .inspector-hover label input[type="radio"],
2296 .inspector-hover .toggle-list label:not(.active),
2297 .inspector-hover .toggle-list label span,
2298 .inspector-hover .inspector-inner .add-tag,
2299 .inspector-hover .inspector-inner .add-relation,
2300 .inspector-hover .toggle-list label.remove .icon {
2301     height: 0;
2302     width: 0;
2303     overflow: hidden;
2304     opacity: 0 !important;
2305     border-width: 0;
2306     margin: 0;
2307     padding: 0;
2308 }
2309
2310 /* hide but preserve in layout */
2311 .inspector-hover .modified .form-label .modified-icon,
2312 .inspector-hover .entity-editor-pane button.minor,
2313 .inspector-hover .combobox-carat,
2314 .inspector-hover .entity-editor-pane .header button,
2315 .inspector-hover .spin-control,
2316 .inspector-hover .hide-toggle:before,
2317 .inspector-hover .more-buttons,
2318 .inspector-hover .view-on-osm {
2319     opacity: 0;
2320 }
2321
2322 /* Styles for raw tag inspector on hover */
2323 .inspector-hover .tag-row .key-wrap,
2324 .inspector-hover .tag-row .input-wrap-position {
2325     width: 50%;
2326 }
2327
2328 .inspector-hover .tag-row:first-child input.value {
2329     border-top-right-radius: 4px;
2330 }
2331
2332 .inspector-hover .tag-row:last-child input.value {
2333     border-bottom-right-radius: 4px;
2334 }
2335
2336 .inspector-hover .tag-row:last-child input.key {
2337     border-bottom-left-radius: 4px;
2338 }
2339
2340 .inspector-hover .inspector-body .more-buttons {
2341     max-height: 0;
2342     padding-bottom: 0;
2343 }
2344
2345 /* Unstyle button fields */
2346 .inspector-hover .toggle-list label.active,
2347 .inspector-hover .entity-editor-pane a.hide-toggle {
2348     opacity: 1;
2349     background-color: transparent;
2350     color: #666;
2351     padding-left: 0;
2352     border-width: 0;
2353 }
2354
2355 .inspector-hover .toggle-list button.active {
2356     padding-left: 10px;
2357 }
2358
2359 /* Add placeholder only on hover for radio buttons */
2360 .inspector-hover .toggle-list .placeholder {
2361     color: #a9a9a9;
2362     padding: 5px 10px;
2363     opacity: 1;
2364     line-height: 20px;
2365     width: 100%;
2366 }
2367
2368 /* Hide placeholder for radio buttons if another is active, or not in hover state */
2369 .toggle-list label.active ~ .placeholder,
2370 .toggle-list .placeholder {
2371     padding: 0;
2372     opacity: 0;
2373     width: 0;
2374     line-height: 0;
2375     display: block;
2376     overflow: hidden;
2377     -webkit-transition: opacity 200ms, width 0 200ms, padding 0 200ms, line-height 0 200ms;
2378        -moz-transition: opacity 200ms, width 0 200ms, padding 0 200ms, line-height 0 200ms;
2379          -o-transition: opacity 200ms, width 0 200ms, padding 0 200ms, line-height 0 200ms;
2380             transition: opacity 200ms, width 0 200ms, padding 0 200ms, line-height 0 200ms;
2381 }
2382
2383 /* first phase hover-to-active animations */
2384
2385 textarea,
2386 .form-label,
2387 .preset-input-wrap,
2388 .preset-input-wrap .label {
2389     -webkit-transition: all 200ms;
2390        -moz-transition: all 200ms;
2391          -o-transition: all 200ms;
2392             transition: all 200ms;
2393 }
2394
2395 /* second phase hover-to-active animations */
2396
2397 input,
2398 .checkselect label:last-of-type {
2399     -webkit-transition: opacity 200ms 200ms, width 200ms 200ms, margin-right 200ms 200ms;
2400        -moz-transition: opacity 200ms 200ms, width 200ms 200ms, margin-right 200ms 200ms;
2401          -o-transition: opacity 200ms 200ms, width 200ms 200ms, margin-right 200ms 200ms;
2402             transition: opacity 200ms 200ms, width 200ms 200ms, margin-right 200ms 200ms;
2403 }
2404
2405 .modified .form-label .modified-icon,
2406 .entity-editor-pane button.minor,
2407 .combobox-carat,
2408 .entity-editor-pane .header button,
2409 .toggle-list label span,
2410 .spin-control,
2411 .more-buttons,
2412 .view-on-osm,
2413 .hide-toggle:before,
2414 .entity-editor-pane .toggle-list label::before,
2415 .entity-editor-pane .toggle-list label.remove .icon {
2416     -webkit-transition: opacity 200ms 200ms;
2417        -moz-transition: opacity 200ms 200ms;
2418          -o-transition: opacity 200ms 200ms;
2419             transition: opacity 200ms 200ms;
2420 }
2421
2422 .entity-editor-pane a.hide-toggle {
2423     -webkit-transition: padding-left 200ms 200ms, color 200ms 200ms;
2424        -moz-transition: padding-left 200ms 200ms, color 200ms 200ms;
2425          -o-transition: padding-left 200ms 200ms, color 200ms 200ms;
2426             transition: padding-left 200ms 200ms, color 200ms 200ms;
2427 }
2428
2429 .entity-editor-pane .toggle-list label:not(.active) {
2430     -webkit-transition: height 200ms 200ms, padding 200ms 200ms, border-width 100ms 300ms;
2431        -moz-transition: height 200ms 200ms, padding 200ms 200ms, border-width 100ms 300ms;
2432          -o-transition: height 200ms 200ms, padding 200ms 200ms, border-width 100ms 300ms;
2433             transition: height 200ms 200ms, padding 200ms 200ms, border-width 100ms 300ms;
2434 }
2435
2436 .entity-editor-pane .toggle-list label {
2437     -webkit-transition: border-width 100ms 300ms, padding 200ms 200ms, background-color 200ms 200ms, color 200ms 200ms;
2438        -moz-transition: border-width 100ms 300ms, padding 200ms 200ms, background-color 200ms 200ms, color 200ms 200ms;
2439          -o-transition: border-width 100ms 300ms, padding 200ms 200ms, background-color 200ms 200ms, color 200ms 200ms;
2440             transition: border-width 100ms 300ms, padding 200ms 200ms, background-color 200ms 200ms, color 200ms 200ms;
2441 }
2442
2443 /* adding additional preset fields */
2444
2445 .inspector-body .more-buttons {
2446     max-height: 100px;
2447     padding-top: 0;
2448     -webkit-transition: padding 200ms 200ms, max-height 200ms 200ms;
2449        -moz-transition: padding 200ms 200ms, max-height 200ms 200ms;
2450          -o-transition: padding 200ms 200ms, max-height 200ms 200ms;
2451             transition: padding 200ms 200ms, max-height 200ms 200ms;
2452 }
2453
2454 button.preset-add-field {
2455     background: #f6f6f6;
2456     width: 25%;
2457     height: 40px;
2458     -webkit-transition: width 200ms;
2459        -moz-transition: width 200ms;
2460          -o-transition: width 200ms;
2461             transition: width 200ms;
2462 }
2463
2464 button.preset-add-field:hover {
2465     background: #ececec;
2466 }
2467
2468 /* set width based on # of buttons */
2469
2470 button.preset-add-field:only-child {
2471     width: 100%;
2472 }
2473
2474 button.preset-add-field:nth-last-child(2),
2475 button.preset-add-field:nth-last-child(2) ~ button.preset-add-field {
2476     width: 50%;
2477 }
2478
2479 button.preset-add-field:nth-last-child(3),
2480 button.preset-add-field:nth-last-child(3) ~ button.preset-add-field {
2481     width: 33.3333%;
2482 }
2483
2484 button.preset-add-field:nth-last-child(4),
2485 button.preset-add-field:nth-last-child(4) ~ button.preset-add-field {
2486     width: 25%;
2487 }
2488
2489 button.preset-add-field:nth-last-child(5),
2490 button.preset-add-field:nth-last-child(5) ~ button.preset-add-field {
2491     width: 20%;
2492 }
2493
2494 button.preset-add-field:nth-last-child(6),
2495 button.preset-add-field:nth-last-child(6) ~ button.preset-add-field {
2496     width: 16.6666%;
2497 }
2498
2499 button.preset-add-field:nth-last-child(7),
2500 button.preset-add-field:nth-last-child(7) ~ button.preset-add-field {
2501     width: 14.2857%;
2502 }
2503
2504 button.preset-add-field:nth-last-child(8),
2505 button.preset-add-field:nth-last-child(8) ~ button.preset-add-field {
2506     width: 12.5%;
2507 }
2508
2509 .preset-fav button.fav {
2510     height: 30px;
2511     margin: 5px;
2512     padding: 0 10px;
2513 }
2514
2515 /* preset form access */
2516
2517 .preset-input-wrap .label {
2518     height: 30px;
2519     background: #F6F6F6;
2520     padding: 5px 10px;
2521 }
2522
2523 .form-field-access .preset-input-wrap li {
2524     border-bottom: 1px solid #CCC;
2525 }
2526 .form-field-access .preset-input-wrap li:last-child {
2527     border-bottom: 0;
2528 }
2529
2530 .preset-input-access-wrap input {
2531     border-radius: 0;
2532     border-width: 0;
2533     border-left-width: 1px;
2534 }
2535
2536 .preset-input-wrap li:last-child input {
2537     border-bottom-right-radius: 4px;
2538 }
2539
2540 /* preset form numbers */
2541
2542 input[type=number] {
2543     position: relative;
2544     padding-right: 20%;
2545 }
2546
2547 .spin-control {
2548     width: 20%;
2549     height: 29px;
2550     display: inline-block;
2551     margin-left: -20%;
2552     margin-bottom: -11px;
2553     position: relative;
2554 }
2555
2556 .spin-control button {
2557     right: 1px;
2558     position: relative;
2559     float: left;
2560     height: 100%;
2561     width: 50%;
2562     border-left: 1px solid #CCC;
2563     border-radius: 0;
2564     background: rgba(0, 0, 0, 0);
2565 }
2566
2567 .spin-control button.decrement {
2568     border-bottom-right-radius: 3px;
2569 }
2570
2571 .spin-control button.decrement::after,
2572 .spin-control button.increment::after {
2573     content:"";
2574     height: 0; width: 0;
2575     position: absolute;
2576     left: 0; right: 0; bottom: 0; top: 0;
2577     margin: auto;
2578 }
2579
2580 .spin-control button.decrement::after {
2581     border-top: 5px solid #CCC;
2582     border-left: 5px solid transparent;
2583     border-right: 5px solid transparent;
2584 }
2585
2586 .spin-control button.increment::after {
2587     border-bottom: 5px solid #CCC;
2588     border-left: 5px solid transparent;
2589     border-right: 5px solid transparent;
2590 }
2591
2592 /* preset form checkbox */
2593
2594 .checkselect label:last-of-type {
2595     display: block;
2596     background: white;
2597     padding: 5px 10px;
2598     color: #7092FF;
2599 }
2600
2601 .checkselect label:hover {
2602     background: #f1f1f1;
2603 }
2604
2605 .checkselect .set {
2606     color: inherit;
2607 }
2608
2609 .checkselect label:not(.set) input[type="checkbox"] {
2610     opacity: .5;
2611 }
2612
2613 /* Preset form radio button */
2614
2615 .toggle-list button.remove {
2616     border-radius: 0 0 3px 3px;
2617 }
2618
2619 .toggle-list button.remove .icon {
2620     position: absolute;
2621     left: 5px;
2622 }
2623
2624 .toggle-list button.remove::before {
2625     content: none;
2626 }
2627
2628 .form-field .wiki-lang {
2629     border-radius: 0;
2630 }
2631
2632 .form-field .wiki-title {
2633     padding-right: 10%;
2634 }
2635
2636 .form-field .wiki-title ~ .combobox-carat {
2637     margin-left: -18%;
2638     margin-right: 9%;
2639 }
2640
2641 .form-field .wiki-link {
2642     float: right;
2643     background: #fafafa;
2644     padding: 5px;
2645     text-align: center;
2646 }
2647
2648 .form-field .wiki-link:hover {
2649     background: #f1f1f1;
2650 }
2651
2652 #preset-input-maxspeed {
2653     border-right: none;
2654     border-radius: 0 0 0 4px;
2655     width: 80%;
2656 }
2657
2658 .form-field .maxspeed-unit {
2659     border-radius: 0 0 4px 0;
2660     width: 20%;
2661 }
2662
2663 /* Name + translate form */
2664
2665 .form-field .localized-main {
2666     padding-right: 10%;
2667 }
2668
2669 .form-field .button-input-action {
2670     position: relative;
2671     right: 1px;
2672     width: 10%;
2673     margin-left: -10%;
2674     border: 1px solid #CCC;
2675     border-top-width: 0;
2676     border-right-width: 0;
2677     border-radius: 0 0 4px 0;
2678     height: 30px;
2679     vertical-align: top;
2680 }
2681
2682 .form-field .localized-wrap .entry {
2683     position: relative;
2684     overflow: hidden;
2685     background: #f1f1f1;
2686     border: 1px solid #ccc;
2687     border-width: 0;
2688     border-radius: 4px;
2689 }
2690
2691 .form-field .localized-wrap .entry::before {
2692     content: "";
2693     display: block;
2694     position: absolute;
2695     background:#ccc;
2696     height: 11px;
2697     width: 1px;
2698     left: 0;
2699     right: 0;
2700     top: -11px;
2701     margin: auto;
2702 }
2703
2704 .form-field .localized-wrap .entry .localized-lang {
2705     border-radius: 0;
2706     border-top-width: 0;
2707 }
2708
2709 .form-field .localized-wrap .entry .localized-value {
2710     padding-right: 10%;
2711     border-top-width: 0;
2712     border-radius: 0 0 4px 4px;
2713 }
2714
2715 /* Preset form address */
2716
2717 .form-field .addr-housename {
2718     border: 0;
2719     border-radius: 0;
2720 }
2721
2722 .form-field .addr-number {
2723     width: 33.3333%;
2724     border-left: 0;
2725     border-right: 0;
2726     border-bottom: 0;
2727     border-radius: 0;
2728 }
2729
2730 .form-field .addr-street {
2731     width: 66.6666%;
2732     border-right: 0;
2733     border-bottom: 0;
2734     border-radius: 0;
2735 }
2736
2737 .form-field .addr-city {
2738     width: 66.6666%;
2739     border-left: 0;
2740     border-right: 0;
2741     border-bottom: 0;
2742     border-radius: 0 0 0 4px;
2743 }
2744
2745 .form-field .addr-postcode {
2746     width: 33.3333%;
2747     border-right: 0;
2748     border-bottom: 0;
2749     border-radius: 0 0 4px 0;
2750 }
2751 /* combobox dropdown */
2752
2753 div.combobox {
2754     z-index: 9999;
2755     display: none;
2756     box-shadow: 0 0 10px 0 rgba(0,0,0,.1);
2757     margin-top: -1px;
2758     background: white;
2759     max-height: 120px;
2760     overflow-y: auto;
2761     overflow-x: hidden;
2762     border: 1px solid #ccc;
2763     border-radius: 0 0 4px 4px;
2764 }
2765
2766 .combobox a {
2767     display: block;
2768     padding: 5px 10px;
2769     border-top:1px solid #ccc;
2770     text-overflow: ellipsis;
2771     white-space: nowrap;
2772     overflow: hidden;
2773 }
2774
2775 .combobox a.selected,
2776 .combobox a:hover {
2777     background: #ececec;
2778 }
2779
2780 .combobox a:first-child {
2781     border-top: 0;
2782 }
2783
2784 .combobox-carat {
2785     margin-left: -20px;
2786     margin-right: 10px;
2787     display:inline-block;
2788     border-top: 5px solid #ccc;
2789     border-left: 5px solid transparent;
2790     border-right: 5px solid transparent;
2791 }
2792
2793 /* Raw Tag Editor */
2794
2795 .tag-list {
2796     padding-top: 10px;
2797 }
2798
2799 .tag-row {
2800     width: 100%;
2801     position: relative;
2802     clear: both;
2803 }
2804
2805 .tag-row input {
2806     height: 31px;
2807     border: 0;
2808     border-radius: 0;
2809     border-bottom: 1px solid #CCC;
2810     border-left: 1px solid #CCC;
2811 }
2812
2813 .tag-row .key-wrap,
2814 .tag-row .input-wrap-position {
2815     width: 40%;
2816     float: left;
2817     height: 30px;
2818     -webkit-transition: width 200ms;
2819        -moz-transition: width 200ms;
2820          -o-transition: width 200ms;
2821             transition: width 200ms;
2822 }
2823
2824 .tag-row input.key {
2825     font-weight: bold;
2826     background-color: #f6f6f6;
2827 }
2828
2829 .tag-row input.value {
2830     border-right: 1px solid #CCC;
2831 }
2832
2833 .tag-row:first-child input.key {
2834     border-top: 1px solid #CCC;
2835     border-top-left-radius: 4px;
2836 }
2837
2838 .tag-row:first-child input.value {
2839     border-top: 1px solid #CCC;
2840 }
2841
2842 .tag-row button {
2843     position: absolute;
2844     height: 31px;
2845     right: 10%;
2846     border: 1px solid #CCC;
2847     border-top-width: 0;
2848     border-left-width: 0;
2849 }
2850
2851 .tag-row button:hover {
2852     background: #f1f1f1;
2853 }
2854
2855 .tag-row button .icon {
2856     opacity: .5;
2857 }
2858
2859 .tag-row:first-child button {
2860     border-top-width: 1px;
2861 }
2862
2863 .tag-row:first-child .tag-reference-button {
2864     border-top-right-radius: 4px;
2865 }
2866
2867 .tag-row:last-child .tag-reference-button {
2868     border-bottom-right-radius: 4px;
2869 }
2870
2871 .tag-row .tag-reference-button {
2872     right: 0;
2873 }
2874
2875 /* Adding form fields to tag editor */
2876
2877 .inspector-inner .add-tag {
2878     width: 40%;
2879     height: 30px;
2880     border-top: 0;
2881     background: rgba(0,0,0,.5);
2882     border-radius: 0 0 4px 4px;
2883 }
2884
2885 .inspector-inner .add-tag:hover {
2886     background: rgba(0,0,0,.8);
2887 }
2888
2889 .inspector-inner .add-tag .label {
2890     display: none;
2891 }
2892
2893 /* Tag reference */
2894
2895 button.minor.tag-reference-loading {
2896     background-color: #f5f5f5;
2897 }
2898
2899 .tag-reference-loading .icon {
2900     background-image: url(<%= asset_path("iD/img/mini-loader.gif") %>);
2901     background-position: 0 0;
2902 }
2903
2904 .tag-reference-body {
2905     overflow: hidden;
2906 }
2907
2908 .tag-reference-body p,
2909 .tag-reference-body img {
2910     margin-top: 20px;
2911 }
2912
2913 .tag-reference-body p:last-child {
2914     padding-bottom: 10px;
2915 }
2916
2917 .tag-reference-body a {
2918     display: block;
2919     padding-bottom: 10px;
2920 }
2921
2922 .preset-list .tag-reference-body {
2923     position: relative;
2924     width: 100%;
2925 }
2926
2927 .preset-list .tag-reference-body a {
2928     padding-bottom: 20px;
2929 }
2930
2931 .preset-list .tag-reference-body p,
2932 .preset-list .tag-reference-body img {
2933     margin-top: 10px;
2934 }
2935
2936 .raw-tag-editor .tag-reference-body {
2937     border-bottom: 1px solid #ccc;
2938     float: left;
2939     width: 100%;
2940 }
2941
2942 .raw-tag-editor .tag-reference-body p:last-child {
2943     padding-bottom: 20px;
2944 }
2945
2946 .raw-tag-editor .tag-reference-body a {
2947     padding-bottom: 20px;
2948 }
2949
2950 img.wiki-image {
2951     float: right;
2952     width: 33.3333%;
2953     width: -webkit-calc(33.3333% - 10px);
2954     width: calc(33.3333% - 10px);
2955     margin-left: 20px;
2956     margin-right: 10px;
2957     border-radius: 4px;
2958     max-height: 200px;
2959     margin-bottom: 20px;
2960 }
2961
2962 /* Raw relation membership editor */
2963
2964 .raw-member-editor .member-list li:first-child,
2965 .raw-membership-editor .member-list li:first-child {
2966     padding-top: 10px;
2967 }
2968
2969 .raw-member-editor .member-row,
2970 .raw-membership-editor .member-row {
2971     position: relative;
2972 }
2973
2974 .raw-member-editor .member-row .member-entity-name,
2975 .raw-membership-editor .member-row .member-entity-name {
2976     font-weight: normal;
2977     padding-left: 10px;
2978 }
2979
2980 .member-row-new .member-entity-input {
2981     border-radius: 4px 4px 0 0;
2982     border: 1px solid #cfcfcf;
2983 }
2984
2985 .add-relation {
2986     width: 40%;
2987     height: 30px;
2988     background: rgba(0,0,0,.5);
2989     border-radius: 4px;
2990     margin-top: 10px;
2991 }
2992
2993 .add-relation:hover {
2994     background: rgba(0,0,0,.8);
2995 }
2996
2997 /* Map Controls */
2998
2999 .map-controls {
3000     right: 0;
3001     top: 70px;
3002     width: 40px;
3003     position: fixed;
3004     z-index: 100;
3005 }
3006
3007 .map-control > button {
3008     width: 40px;
3009     background: rgba(0,0,0,.5);
3010     border-radius: 0;
3011 }
3012
3013 .map-control > button:hover {
3014     background: rgba(0, 0, 0, .8);
3015 }
3016
3017 .map-control > button.active:hover {
3018     background: #7092ff;
3019 }
3020
3021 .map-overlay {
3022     z-index: -1;
3023     right: 75%;
3024     max-width: 260px;
3025     min-width: 210px;
3026     position: fixed;
3027     left: 30px;
3028     display: block;
3029     padding: 10px 10px 0 10px;
3030 }
3031
3032 /* Zoomer */
3033
3034 .zoombuttons button.zoom-in {
3035     border-radius: 4px 0 0 0;
3036 }
3037
3038 /* Background Settings */
3039
3040
3041 .toggle-list.layer-list {
3042     margin-bottom: 10px;
3043 }
3044
3045 .background-control button {
3046     border-radius: 4px 0 0 0;
3047 }
3048
3049
3050 .background-control button.active {
3051     border-radius: 0;
3052 }
3053
3054 .background-control {
3055     position: relative;
3056 }
3057
3058 .background-control .map-overlay {
3059     position: absolute;
3060     top: 0;
3061 }
3062
3063 .nudge-container {
3064     border-top: 1px solid #CCC;
3065     margin: 0 -10px;
3066 }
3067
3068 .background-control .adjustments button:last-child {
3069     border: 0;
3070 }
3071
3072 .background-control .hide-toggle  {
3073     padding-bottom: 10px;
3074 }
3075
3076 .hide-toggle {
3077     display: block;
3078     padding-left:12px;
3079     position: relative;
3080 }
3081
3082 .hide-toggle:before {
3083     content: '';
3084     display: block;
3085     position: absolute;
3086     height: 0;
3087     width: 0;
3088     left: 0;
3089     top: 5px;
3090     border-top:  4px solid transparent;
3091     border-bottom:  4px solid transparent;
3092     border-left:  8px solid #7092ff;
3093 }
3094
3095 .hide-toggle.expanded:before {
3096     border-top:  8px solid #7092ff;
3097     border-bottom: 0;
3098     border-right:  4px solid transparent;
3099     border-left:  4px solid transparent;
3100 }
3101
3102 .background-control .nudge-container button {
3103     float: left;
3104     display: block;
3105     width:20%;
3106     border-radius: 0;
3107     border-right: 1px solid #CCC;
3108     position: relative;
3109 }
3110
3111 .background-control .nudge::after {
3112     content: '';
3113     display: block;
3114     position: absolute;
3115     margin: auto;
3116     left: 0; right: 0; top: 0; bottom: 0;
3117     height: 0;
3118     width: 0;
3119 }
3120
3121 .background-control .nudge.left::after {
3122     border-top:  5px solid transparent;
3123     border-bottom:  5px solid transparent;
3124     border-left:  5px solid #222;
3125 }
3126
3127 .background-control .nudge.right::after {
3128     border-top:  5px solid transparent;
3129     border-bottom:  5px solid transparent;
3130     border-right:  5px solid #222;
3131 }
3132
3133 .background-control .nudge.top::after {
3134     border-right:  5px solid transparent;
3135     border-left:  5px solid transparent;
3136     border-bottom:  5px solid #222;
3137 }
3138
3139 .background-control .nudge.bottom::after {
3140     border-right:  5px solid transparent;
3141     border-left:  5px solid transparent;
3142     border-top:  5px solid #222;
3143 }
3144
3145 .opacity-options {
3146     background: url(<%= asset_path("iD/img/background-pattern-opacity.png") %>) 0 0 repeat;
3147     height:20px;
3148     width:62px;
3149     position: absolute;
3150     right: 10px;
3151     top: 10px;
3152     border: 1px solid #ccc;
3153 }
3154
3155 .opacity-options li {
3156     height: 100%;
3157     display: block;
3158     float: left;
3159 }
3160
3161 .opacity-options li .select-box{
3162     position: absolute;
3163     width:20px;
3164     height:18px;
3165     z-index: 9999;
3166 }
3167
3168 .background-control li:hover .select-box,
3169 .background-control li.selected .select-box {
3170     border: 2px solid #7092ff;
3171     background: rgba(89, 123, 231, .5);
3172     opacity: .5;
3173 }
3174
3175 .background-control li.selected:hover .select-box,
3176 .background-control li.selected .select-box {
3177     opacity: 1;
3178 }
3179
3180 .background-control .opacity {
3181     background:#222;
3182     display:inline-block;
3183     width:20px;
3184     height:18px;
3185 }
3186
3187 .background-control .layer-toggle-gpx .layer-extent {
3188     border-left: 1px solid #CCC;
3189     border-radius: 0 4px 4px 0;
3190 }
3191
3192 .background-control .layer-toggle-gpx.selected .layer-extent {
3193     display:inline-block;
3194 }
3195
3196 /* Geolocator */
3197
3198 .geolocate-control {
3199     margin-bottom: 10px;
3200 }
3201
3202 .geolocate-control button {
3203     border-radius: 0 0 0 4px;
3204 }
3205
3206 /* Help */
3207
3208 .help-control button {
3209     border-radius: 0 0 0 4px;
3210 }
3211
3212 .help-wrap {
3213     position: fixed;
3214     top:60px;
3215     bottom: 30px;
3216     padding: 20px 50px 20px 20px;
3217     right: 0;
3218     overflow-y: scroll;
3219 }
3220
3221 .help-wrap p {
3222     font-size: 15px;
3223     margin-bottom: 20px;
3224 }
3225
3226 .help-wrap .left-content .body p code {
3227     padding:2px 4px;
3228     background:#eee;
3229 }
3230
3231 .help-wrap .toc {
3232     /* This is two columns, 41.66666 x .4 = 16.6666 */
3233     width:40%;
3234     float:right;
3235     margin-left: 20px;
3236     margin-bottom: 20px;
3237     padding-left: 5px
3238 }
3239
3240 .help-wrap .toc li a,
3241 .help-wrap .nav a {
3242     display: block;
3243     border: 1px solid #CCC;
3244     padding: 5px 10px;
3245 }
3246
3247 .help-wrap .toc li a {
3248     border-bottom: 0;
3249 }
3250
3251 .help-wrap .toc li a:hover,
3252 .help-wrap .nav a:hover  {
3253     background: #ececec;
3254 }
3255
3256 .help-wrap .toc li a.selected {
3257     background: #E8EBFF;
3258 }
3259
3260 .help-wrap .toc li:first-child a {
3261     border-radius: 4px 4px 0 0;
3262 }
3263
3264 .help-wrap .toc li:nth-last-child(2) a {
3265     border-bottom: 1px solid #CCC;
3266     border-radius: 0 0 4px 4px
3267 }
3268
3269 .help-wrap .toc li.walkthrough a {
3270     overflow: hidden;
3271     margin-top: 10px;
3272     border-bottom: 1px solid #ccc;
3273     border-radius: 4px;
3274 }
3275
3276 .help-wrap .nav {
3277     position: relative;
3278 }
3279
3280 .help-wrap .nav a {
3281     float: left;
3282     width: 50%;
3283     text-align: center;
3284 }
3285
3286 .help-wrap .nav a:first-child {
3287     border-radius: 4px 0 0 4px;
3288 }
3289
3290 .help-wrap .nav a:last-child:not(:only-child) {
3291     border-radius: 0 4px 4px 0;
3292     border-left: 0;
3293 }
3294
3295 .help-wrap .nav a:only-child {
3296     width: 100%;
3297     border-radius: 4px;
3298 }
3299
3300 /* Map
3301 ------------------------------------------------------- */
3302
3303 #map {
3304     position:relative;
3305     overflow:hidden;
3306     height:100%;
3307     background:#000;
3308 }
3309
3310 #supersurface {
3311     transform-origin:0 0;
3312     -ms-transform-origin:0 0;
3313     -webkit-transform-origin:0 0;
3314     -moz-transform-origin:0 0;
3315     -o-transform-origin:0 0;
3316     -moz-user-select: none;
3317     -webkit-user-select: none;
3318     -ms-user-select: none;
3319     user-select: none;
3320 }
3321
3322 #supersurface, .layer-layer {
3323     position: absolute;
3324     top: 0;
3325     left: 0;
3326     right: 0;
3327     bottom: 0;
3328 }
3329
3330 /* About Section
3331 ------------------------------------------------------- */
3332
3333 .about-block {
3334     position: absolute;
3335     right:0;
3336     bottom:0;
3337     border-radius: 0;
3338     opacity: .625;
3339     -webkit-transition: opacity 200ms;
3340     -moz-transition: opacity 200ms;
3341     transition: opacity 200ms;
3342 }
3343
3344 .about-block:hover {
3345     opacity: 1;
3346 }
3347
3348 #about {
3349     text-align: right;
3350     margin-right: 10px;
3351 }
3352
3353 .source-switch a {
3354     padding: 2px 4px 4px 4px;
3355     border-radius: 2px;
3356 }
3357 .source-switch a.live {
3358     background: #d32232;
3359     color:#fff;
3360 }
3361
3362 /* Attribution overlay */
3363 .attribution {
3364     position: absolute;
3365     bottom: 35px;
3366     left:10px;
3367     color:#888;
3368     font-size:10px;
3369 }
3370
3371 .source-image {
3372     height:20px;
3373     vertical-align:top;
3374 }
3375
3376 .user-list a:not(:last-child):after {
3377     content: ', ';
3378 }
3379
3380 /* API Status */
3381
3382 .api-status {
3383     float: left;
3384 }
3385
3386 .api-status.offline,
3387 .api-status.readonly {
3388     background: red;
3389     padding: 5px 10px;
3390 }
3391
3392 /* Account Information */
3393
3394 .account {
3395     float: left;
3396     padding: 5px 10px;
3397 }
3398
3399 .account .logout {
3400     margin-left:10px;
3401     border-left: 1px solid white;
3402     padding-left: 10px;
3403 }
3404
3405 /* Modals
3406 ------------------------------------------------------- */
3407
3408 .modal {
3409     display: inline-block;
3410     position:absolute;
3411     left: 0;
3412     right: 0;
3413     margin: auto;
3414     z-index: 3;
3415 }
3416
3417 .modal .loader {
3418     margin-bottom: 10px;
3419 }
3420
3421 .modal .description {
3422     text-align: center;
3423 }
3424
3425 .shaded {
3426     z-index: 2;
3427     position: absolute;
3428     top: 0;
3429     bottom: 0;
3430     left: 0;
3431     right: 0;
3432     overflow: auto;
3433 }
3434
3435 .shaded:before {
3436     content:'';
3437     background:rgba(0,0,0,0.5);
3438     position:fixed;
3439     left:0px; right:0px; top:0px; bottom:0px;
3440 }
3441
3442 .modal-section {
3443     padding: 20px;
3444     border-bottom: 1px solid #CCC;
3445 }
3446
3447 .modal-section:last-child {
3448     border-bottom: 0;
3449 }
3450
3451 .loading-modal {
3452     text-align: center;
3453 }
3454
3455 .modal-actions button,
3456 .save-success a {
3457     font-weight: normal;
3458     color: #7092FF;
3459     border-bottom: 1px solid #CCC;
3460     border-radius: 0;
3461     height: 160px;
3462     text-align: center;
3463     display: inline-block;
3464 }
3465
3466 .modal-actions button:hover
3467 .save-success a:hover {
3468     background-color: #ececec;
3469 }
3470
3471 .modal-actions button:before,
3472 .save-success a:before,
3473 .walkthrough a:before {
3474     display: block;
3475     content: '';
3476     height: 100px;
3477     width: 100px;
3478     margin: auto;
3479     margin-bottom: 10px;
3480     background:transparent url(<%= asset_path("iD/img/sprite.svg") %>) no-repeat 0 -220px;
3481 }
3482
3483 .modal-actions :first-child {
3484     border-right: 1px solid #CCC;
3485 }
3486
3487 /* Restore Modal
3488 ------------------------------------------------------- */
3489
3490 .modal-actions .restore:before {
3491     background-position: -500px -220px;
3492 }
3493
3494 .modal-actions .reset:before {
3495     background-position: -600px -220px;
3496 }
3497
3498 /* Success Modal
3499 ------------------------------------------------------- */
3500
3501 .save-success a {
3502     padding-top: 15px;
3503 }
3504
3505 .save-success .osm:before {
3506     background-position: 0px -220px;
3507 }
3508
3509 .save-success .twitter:before {
3510     background-position: -100px -220px;
3511 }
3512
3513 .save-success .facebook:before {
3514     background-position: -200px -220px;
3515 }
3516
3517 /* Splash Modal
3518 ------------------------------------------------------- */
3519
3520 .modal-actions .walkthrough:before,
3521 .walkthrough a:before {
3522     background-position: -300px -220px;
3523 }
3524
3525 .modal-actions .start:before {
3526     background-position: -400px -220px;
3527 }
3528
3529 /* Commit Modal
3530 ------------------------------------------------------- */
3531
3532 .mode-save a.user-info {
3533     display: inline-block;
3534 }
3535
3536 .mode-save .commit-form {
3537     margin-bottom: 0;
3538 }
3539
3540 .mode-save button.action {
3541     float: none;
3542     margin: auto;
3543     display: block;
3544 }
3545
3546 .mode-save .user-info img {
3547     float: left;
3548 }
3549
3550 .mode-save h3 small.count {
3551     margin-right: 10px;
3552     text-align: center;
3553     float: left;
3554     height: 12px;
3555     min-width: 12px;
3556     font-size:12px;
3557     line-height: 12px;
3558     border-radius:24px;
3559     padding:5px;
3560     background:#7092ff;
3561     color:#fff;
3562 }
3563
3564 .mode-save .changeset-list {
3565     overflow: auto;
3566     border:1px solid #ccc;
3567     border-radius: 4px;
3568     background:#fff;
3569     max-height: 160px;
3570 }
3571
3572 .mode-save .warning-section .changeset-list button {
3573     border-left: 1px solid #CCC;
3574 }
3575
3576 .mode-save .changeset-list li {
3577     position: relative;
3578     border-top:1px solid #ccc;
3579     padding:5px 10px;
3580 }
3581
3582 .changeset-list li span.count {
3583     font-size:10px;
3584     color:#555;
3585 }
3586
3587 .changeset-list li span.count:before { content: '('; }
3588
3589 .changeset-list li span.count:after { content: ')'; }
3590
3591 .changeset-list li:first-child { border-top: 0;}
3592
3593 /* Notices
3594 ------------------------------------------------------- */
3595
3596 .notice {
3597     position: absolute;
3598     top: 0;
3599     bottom: 0;
3600     left: 0;
3601     right: 0;
3602     text-align: center;
3603     background: #fff;
3604 }
3605
3606 .notice .zoom-to {
3607     margin: auto;
3608     width: 80%;
3609     height: 100px;
3610     border-radius: 5px;
3611     line-height: 40px;
3612     color: #000;
3613     opacity: 0.9;
3614 }
3615
3616 .notice .zoom-to:hover {
3617     background: #d8e1ff;
3618 }
3619
3620 .notice .zoom-to .icon {
3621     margin-top:10px;
3622     margin-right:10px;
3623 }
3624
3625 .icon.zoom-in-invert {
3626     background-position: -240px -40px;
3627 }
3628
3629 /* Tooltips
3630 ------------------------------------------------------- */
3631
3632 .tooltip {
3633     position: absolute;
3634     display: none;
3635     color:#333;
3636     text-align: left;
3637     font-size: 12px;
3638 }
3639
3640 .tooltip.in {
3641     opacity: 0.8;
3642     z-index: 1030;
3643     height: auto;
3644     display: block;
3645 }
3646
3647 .tooltip.top {
3648     margin-top: -20px;
3649     text-align: center;
3650 }
3651
3652 .tooltip.right {
3653     margin-left: 20px;
3654 }
3655
3656 .tooltip.bottom {
3657     margin-top: 20px;
3658     text-align: center;
3659 }
3660
3661 .tooltip.left {
3662     margin-left: -20px;
3663     text-align: right;
3664 }
3665
3666 .tooltip-inner {
3667     display: inline-block;
3668     max-width: 200px;
3669     min-width: 80px;
3670     padding: 10px;
3671     font-weight: normal;
3672     background-color: white;
3673 }
3674
3675 .tail {
3676     width: 200px;
3677     height: 400px;
3678     pointer-events: none;
3679     opacity: .8;
3680     margin-top: -200px;
3681     position: absolute;
3682     background: transparent;
3683 }
3684
3685 .tail::after {
3686     content: "";
3687     position: absolute;
3688     width: 0;
3689     height: 0;
3690     border-color: transparent;
3691     border-style: solid;
3692     top: 50%;
3693     right: -5px;
3694     margin-top: -5px;
3695     border-left-color: white;
3696     border-width: 5px 0 5px 5px;
3697 }
3698
3699 .tail div {
3700     padding: 10px;
3701     background: white;
3702     position: absolute;
3703     top: 180px;
3704     left: 0;
3705     right: 0;
3706     margin: auto;
3707 }
3708
3709 .left.tail::after {
3710     content: "";
3711     position: absolute;
3712     width: 0;
3713     height: 0;
3714     border-color: transparent;
3715     border-style: solid;
3716     top: 50%;
3717     left: -5px;
3718     margin-top: -5px;
3719     border-right-color: white;
3720     border-width: 5px 5px 5px 0;
3721 }
3722
3723 .tooltip-arrow {
3724     position: absolute;
3725     width: 0;
3726     height: 0;
3727     border-color: transparent;
3728     border-style: solid;
3729 }
3730
3731 .tooltip.top .tooltip-arrow {
3732     bottom: -5px;
3733     left: 50%;
3734     margin-left: -5px;
3735     border-top-color: white;
3736     border-width: 5px 5px 0;
3737 }
3738
3739 .tooltip.right .tooltip-arrow {
3740     top: 50%;
3741     left: -5px;
3742     margin-top: -5px;
3743     border-right-color: white;
3744     border-width: 5px 5px 5px 0;
3745 }
3746
3747 .tooltip.left .tooltip-arrow {
3748     top: 50%;
3749     right: -5px;
3750     margin-top: -5px;
3751     border-left-color: white;
3752     border-width: 5px 0 5px 5px;
3753 }
3754
3755 .tooltip.bottom .tooltip-arrow {
3756     top: -5px;
3757     left: 50%;
3758     margin-left: -5px;
3759     border-bottom-color: white;
3760     border-width: 0 5px 5px;
3761 }
3762
3763 .keyhint-wrap {
3764     background: #F6F6F6;
3765     padding: 10px;
3766     margin: 10px -10px -10px;
3767 }
3768
3769 .tooltip-inner .keyhint {
3770     font-size: 10px;
3771     padding: 0 7px;
3772     font-weight: bold;
3773     display: inline-block;
3774     border-radius: 2px;
3775     border: 1px solid #CCC;
3776     position: relative;
3777     z-index: 1;
3778     text-align: left;
3779 }
3780
3781 .tooltip-inner .keyhint::after {
3782     content: "";
3783     position: absolute;
3784     border-radius: 2px;
3785     height: 10px;
3786     width: 100%;
3787     z-index: 0;
3788     bottom: -4px;
3789     left: -1px;
3790     border: 1px solid #CCC;
3791     border-top: 0;
3792 }
3793
3794 /* Exceptions for tooltip layouts */
3795
3796 /* make tooltips in editor pane dark */
3797 .entity-editor-pane .tooltip.top .tooltip-arrow {
3798     border-top-color: #000;
3799 }
3800
3801 .entity-editor-pane .tooltip.bottom .tooltip-arrow {
3802     border-bottom-color: #000;
3803 }
3804
3805 .entity-editor-pane .tooltip.left .tooltip-arrow {
3806     border-left-color: #000;
3807 }
3808
3809 .entity-editor-pane .tooltip.right .tooltip-arrow {
3810     border-right-color: #000;
3811 }
3812
3813 .entity-editor-pane .tooltip-inner {
3814     background: #000;
3815     color: #ccc;
3816 }
3817
3818 /* Uncramp map-control tooltips */
3819 .map-control .tooltip {
3820     min-width: 160px;
3821 }
3822 /* Move over tooltips that are near the edge of screen */
3823 .add-point .tooltip {
3824     left: 33.3333% !important; 
3825 }
3826
3827 .curtain-tooltip.intro-points-add .tooltip-arrow,
3828 .add-point .tooltip .tooltip-arrow {
3829     left: 60px;
3830 }
3831
3832 .radial-menu-tooltip {
3833     opacity: 0.8;
3834     display: none;
3835     position: absolute;
3836     width: 200px;
3837 }
3838
3839 .radial-menu-background {
3840     stroke: black;
3841     stroke-opacity: 0.5;
3842 }
3843
3844 .radial-menu-item {
3845     fill: white;
3846 }
3847
3848 .radial-menu-item:hover {
3849     fill: #ececec;
3850 }
3851
3852 .radial-menu-item:active {
3853     fill: #ececec;
3854 }
3855
3856 .radial-menu-item.disabled {
3857     cursor: auto;
3858     fill: rgba(255,255,255,.5);
3859 }
3860
3861 .radial-menu .icon {
3862     pointer-events: none;
3863 }
3864
3865 .lasso-box {
3866     fill-opacity:0.1;
3867     stroke: #fff;
3868     stroke-width: 1;
3869     stroke-opacity: 1;
3870     stroke-dasharray: 5, 5;
3871 }
3872
3873 /* Media Queries
3874 ------------------------------------------------------- */
3875
3876 @media only screen and (max-width: 840px) {
3877     #bar .icon.icon-pre-text { margin-right: 0;}
3878     /* override hide for save button */
3879     #bar .save .label { display: block;}
3880 }
3881
3882 /* Scrollbars
3883  ----------------------------------------------------- */
3884
3885 ::-webkit-scrollbar {
3886     height: 20px;
3887     overflow: visible;
3888     width: 10px;
3889     background: white;
3890     border-left: 1px solid #DDD;
3891 }
3892
3893 ::-webkit-scrollbar-track {
3894     background-clip: padding-box;
3895     border: solid transparent;
3896     border-width: 0;
3897 }
3898
3899 ::-webkit-scrollbar-thumb {
3900     background-color: rgba(0,0,0,.2);
3901     background-clip: padding-box;
3902     border: solid transparent;
3903     border-width: 3px 3px 3px 4px;
3904     border-radius: 6px;
3905 }
3906 ::-webkit-scrollbar-track:hover,
3907 ::-webkit-scrollbar-track:active {
3908     background-color: rgba(0,0,0,.05);
3909 }
3910
3911 /* Intro walkthrough
3912  ----------------------------------------------------- */
3913
3914 .curtain-darkness {
3915     pointer-events: all;
3916     fill-opacity: 0.7;
3917     fill: #222;
3918     fill-rule: evenodd;
3919 }
3920
3921 .intro-nav-wrap {
3922     position: absolute;
3923     left: 0;
3924     right: 0;
3925     bottom: 30px;
3926     padding: 10px;
3927     z-index: 1001;
3928 }
3929
3930 .intro-nav-wrap button.step {
3931     width: 20%;
3932 }
3933
3934 .intro-nav-wrap button.step.finished {
3935     background: #8cd05f;
3936 }
3937
3938 .intro-nav-wrap button.step .icon {
3939     display: none;
3940 }
3941
3942 .intro-nav-wrap button.step.finished .icon {
3943     display: inline-block;
3944 }
3945
3946
3947 .curtain-tooltip .tooltip-inner {
3948     text-align: left;
3949     padding: 20px;
3950 }
3951
3952 .curtain-tooltip .tooltip-inner {
3953     font-size: 15px;
3954 }
3955
3956 .curtain-tooltip .tooltip-inner .bold {
3957     font-weight: bold;
3958     display: block;
3959     border-top: 1px solid #CCC;
3960     margin-top: 10px;
3961     margin-left: -20px;
3962     margin-right: -20px;
3963     padding: 10px 20px 0 20px;
3964 }
3965
3966 .curtain-tooltip .tooltip-inner .bold:only-child {
3967     border: 0;
3968     padding: 0;
3969     margin: 0;
3970 }
3971
3972 .curtain-tooltip.intro-points-describe {
3973     top: 133px !important;
3974 }
3975
3976 /* Tooltip illustrations */
3977
3978 .intro-points-add .tooltip-inner::before,
3979 .intro-areas-add .tooltip-inner::before,
3980 .intro-lines-add .tooltip-inner::before {
3981     margin-left: -20px;
3982     display: block;
3983     content: "";
3984     height: 80px;
3985     width: 200px;
3986     background:transparent url(<%= asset_path("iD/img/sprite.svg") %>) no-repeat 0 -320px;
3987 }
3988
3989 .intro-areas-add .tooltip-inner::before {
3990     background-position: 0 -400px;
3991 }
3992
3993 .intro-lines-add .tooltip-inner::before {
3994     background-position: 0 -480px;
3995 }
3996
3997 .huge-modal-button {
3998     width: 100%;
3999     height: auto;
4000     padding: 20px;
4001 }
4002
4003 .huge-modal-button .illustration {
4004     height: 100px;
4005     width: 100px;
4006     background: rgba(0, 0, 0, 0) url(<%= asset_path("iD/img/sprite.svg") %>) no-repeat -301px -220px;
4007     margin: auto;
4008 }
4009 /* This file is generated by make. Do NOT edit manually. */
4010
4011 .preset-icon{background-image:url(<%= asset_path("iD/img/maki-sprite.png") %>);background-repeat:no-repeat;width:24px;height:24px;}
4012 .preset-icon-line{background-image:url(<%= asset_path("iD/img/line-presets.png") %>);background-repeat:no-repeat;width:60px;height:60px;}
4013 .preset-icon-relation{background-image:url(<%= asset_path("iD/img/relation-presets.png") %>);background-repeat:no-repeat;width:60px;height:60px;}
4014 .feature-airfield{background-position:-0px -34px;}
4015 .feature-airport{background-position:-0px -94px;}
4016 .feature-alcohol-shop{background-position:-0px -154px;}
4017 .feature-america-football{background-position:-0px -214px;}
4018 .feature-art-gallery{background-position:-0px -274px;}
4019 .feature-bank{background-position:-0px -334px;}
4020 .feature-bar{background-position:-0px -394px;}
4021 .feature-baseball{background-position:-0px -454px;}
4022 .feature-basketball{background-position:-0px -514px;}
4023 .feature-beer{background-position:-0px -574px;}
4024 .feature-bicycle{background-position:-0px -634px;}
4025 .feature-building{background-position:-0px -694px;}
4026 .feature-bus{background-position:-0px -754px;}
4027 .feature-cafe{background-position:-0px -814px;}
4028 .feature-campsite{background-position:-0px -874px;}
4029 .feature-cemetery{background-position:-0px -934px;}
4030 .feature-cinema{background-position:-0px -994px;}
4031 .feature-circle{background-position:-0px -1054px;}
4032 .feature-circle-stroked{background-position:-0px -1114px;}
4033 .feature-city{background-position:-0px -1174px;}
4034 .feature-college{background-position:-0px -1234px;}
4035 .feature-commercial{background-position:-0px -1294px;}
4036 .feature-cricket{background-position:-0px -1354px;}
4037 .feature-cross{background-position:-0px -1414px;}
4038 .feature-dam{background-position:-0px -1474px;}
4039 .feature-danger{background-position:-0px -1534px;}
4040 .feature-disability{background-position:-0px -1594px;}
4041 .feature-embassy{background-position:-0px -1654px;}
4042 .feature-emergency-telephone{background-position:-0px -1714px;}
4043 .feature-farm{background-position:-0px -1774px;}
4044 .feature-fast-food{background-position:-0px -1834px;}
4045 .feature-ferry{background-position:-0px -1894px;}
4046 .feature-fire-station{background-position:-0px -1954px;}
4047 .feature-fuel{background-position:-0px -2014px;}
4048 .feature-garden{background-position:-0px -2074px;}
4049 .feature-golf{background-position:-0px -2134px;}
4050 .feature-grocery{background-position:-0px -2194px;}
4051 .feature-harbor{background-position:-0px -2254px;}
4052 .feature-heliport{background-position:-0px -2314px;}
4053 .feature-hospital{background-position:-0px -2374px;}
4054 .feature-industrial{background-position:-0px -2434px;}
4055 .feature-land-use{background-position:-0px -2494px;}
4056 .feature-library{background-position:-0px -2554px;}
4057 .feature-lodging{background-position:-0px -2614px;}
4058 .feature-logging{background-position:-0px -2674px;}
4059 .feature-marker{background-position:-0px -2734px;}
4060 .feature-marker-stroked{background-position:-0px -2794px;}
4061 .feature-monument{background-position:-0px -2854px;}
4062 .feature-museum{background-position:-0px -2914px;}
4063 .feature-music{background-position:-0px -2974px;}
4064 .feature-oil-well{background-position:-0px -3034px;}
4065 .feature-park{background-position:-0px -3094px;}
4066 .feature-park2{background-position:-0px -3154px;}
4067 .feature-parking{background-position:-0px -3214px;}
4068 .feature-parking-garage{background-position:-0px -3274px;}
4069 .feature-pharmacy{background-position:-0px -3334px;}
4070 .feature-pitch{background-position:-0px -3394px;}
4071 .feature-place-of-worship{background-position:-0px -3454px;}
4072 .feature-police{background-position:-0px -3514px;}
4073 .feature-post{background-position:-0px -3574px;}
4074 .feature-prison{background-position:-0px -3634px;}
4075 .feature-rail{background-position:-0px -3694px;}
4076 .feature-rail-above{background-position:-0px -3754px;}
4077 .feature-rail-underground{background-position:-0px -3814px;}
4078 .feature-religious-christian{background-position:-0px -3874px;}
4079 .feature-religious-jewish{background-position:-0px -3934px;}
4080 .feature-religious-muslim{background-position:-0px -3994px;}
4081 .feature-restaurant{background-position:-0px -4054px;}
4082 .feature-roadblock{background-position:-0px -4114px;}
4083 .feature-school{background-position:-0px -4174px;}
4084 .feature-shop{background-position:-0px -4234px;}
4085 .feature-skiing{background-position:-0px -4294px;}
4086 .feature-slaughterhouse{background-position:-0px -4354px;}
4087 .feature-soccer{background-position:-0px -4414px;}
4088 .feature-square{background-position:-0px -4474px;}
4089 .feature-square-stroked{background-position:-0px -4534px;}
4090 .feature-star{background-position:-0px -4594px;}
4091 .feature-star-stroked{background-position:-0px -4654px;}
4092 .feature-swimming{background-position:-0px -4714px;}
4093 .feature-telephone{background-position:-0px -4774px;}
4094 .feature-tennis{background-position:-0px -4834px;}
4095 .feature-theatre{background-position:-0px -4894px;}
4096 .feature-toilets{background-position:-0px -4954px;}
4097 .feature-town{background-position:-0px -5014px;}
4098 .feature-town-hall{background-position:-0px -5074px;}
4099 .feature-triangle{background-position:-0px -5134px;}
4100 .feature-triangle-stroked{background-position:-0px -5194px;}
4101 .feature-village{background-position:-0px -5254px;}
4102 .feature-warehouse{background-position:-0px -5314px;}
4103 .feature-waste-basket{background-position:-0px -5374px;}
4104 .feature-water{background-position:-0px -5434px;}
4105 .feature-wetland{background-position:-0px -5494px;}
4106 .feature-zoo{background-position:-0px -5554px;}
4107 .preset-icon-line.feature-highway-motorway{background-position:-20px -25px;}
4108 .preset-icon-line.feature-highway-trunk{background-position:-80px -25px;}
4109 .preset-icon-line.feature-highway-primary{background-position:-140px -25px;}
4110 .preset-icon-line.feature-highway-secondary{background-position:-200px -25px;}
4111 .preset-icon-line.feature-highway-tertiary{background-position:-260px -25px;}
4112 .preset-icon-line.feature-highway-motorway-link{background-position:-320px -25px;}
4113 .preset-icon-line.feature-highway-trunk-link{background-position:-380px -25px;}
4114 .preset-icon-line.feature-highway-primary-link{background-position:-440px -25px;}
4115 .preset-icon-line.feature-highway-secondary-link{background-position:-500px -25px;}
4116 .preset-icon-line.feature-highway-tertiary-link{background-position:-560px -25px;}
4117 .preset-icon-line.feature-highway-residential{background-position:-620px -25px;}
4118 .preset-icon-line.feature-highway-unclassified{background-position:-680px -25px;}
4119 .preset-icon-line.feature-highway-service{background-position:-740px -25px;}
4120 .preset-icon-line.feature-highway-road{background-position:-800px -25px;}
4121 .preset-icon-line.feature-highway-track{background-position:-860px -25px;}
4122 .preset-icon-line.feature-highway-living-street{background-position:-920px -25px;}
4123 .preset-icon-line.feature-highway-path{background-position:-980px -25px;}
4124 .preset-icon-line.feature-highway-cycleway{background-position:-1040px -25px;}
4125 .preset-icon-line.feature-highway-footway{background-position:-1100px -25px;}
4126 .preset-icon-line.feature-highway-bridleway{background-position:-1160px -25px;}
4127 .preset-icon-line.feature-highway-steps{background-position:-1220px -25px;}
4128 .preset-icon-line.feature-railway-rail{background-position:-1280px -25px;}
4129 .preset-icon-line.feature-railway-disused{background-position:-1340px -25px;}
4130 .preset-icon-line.feature-railway-abandoned{background-position:-1400px -25px;}
4131 .preset-icon-line.feature-railway-subway{background-position:-1460px -25px;}
4132 .preset-icon-line.feature-railway-light-rail{background-position:-1520px -25px;}
4133 .preset-icon-line.feature-railway-monorail{background-position:-1580px -25px;}
4134 .preset-icon-line.feature-waterway-river{background-position:-1640px -25px;}
4135 .preset-icon-line.feature-waterway-stream{background-position:-1700px -25px;}
4136 .preset-icon-line.feature-waterway-canal{background-position:-1760px -25px;}
4137 .preset-icon-line.feature-waterway-ditch{background-position:-1820px -25px;}
4138 .preset-icon-line.feature-power-line{background-position:-1880px -25px;}
4139 .preset-icon-line.feature-other-line{background-position:-1940px -25px;}
4140 .preset-icon-line.feature-category-roads{background-position:-2000px -25px;}
4141 .preset-icon-line.feature-category-rail{background-position:-2060px -25px;}
4142 .preset-icon-line.feature-category-path{background-position:-2120px -25px;}
4143 .preset-icon-line.feature-category-water{background-position:-2180px -25px;}
4144 .preset-icon-line.feature-ferry{background-position:-2240px -25px;}
4145 .preset-icon-line.feature-pipeline{background-position:-2300px -25px;}
4146 .preset-icon-relation.feature-relation{background-position:-20px -25px;}
4147 .preset-icon-relation.feature-restriction{background-position:-80px -25px;}
4148 .preset-icon-relation.feature-multipolygon{background-position:-140px -25px;}
4149 .preset-icon-relation.feature-boundary{background-position:-200px -25px;}
4150 .preset-icon-relation.feature-route{background-position:-260px -25px;}
4151 .preset-icon-relation.feature-route-road{background-position:-320px -25px;}
4152 .preset-icon-relation.feature-route-bicycle{background-position:-380px -25px;}
4153 .preset-icon-relation.feature-route-foot{background-position:-440px -25px;}
4154 .preset-icon-relation.feature-route-bus{background-position:-500px -25px;}
4155 .preset-icon-relation.feature-route-train{background-position:-560px -25px;}
4156 .preset-icon-relation.feature-route-detour{background-position:-620px -25px;}
4157 .preset-icon-relation.feature-route-tram{background-position:-680px -25px;}
4158 .preset-icon-relation.feature-route-ferry{background-position:-740px -25px;}
4159 .preset-icon-relation.feature-route-power{background-position:-800px -25px;}
4160 .preset-icon-relation.feature-route-pipeline{background-position:-860px -25px;}
4161 .preset-icon-relation.feature-route-master{background-position:-920px -25px;}