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