1 /* http://meyerweb.com/eric/tools/css/reset/
3 License: none (public domain)
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,
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 {
24 vertical-align: baseline;
26 /* HTML5 display-role reset for older browsers */
27 article, aside, details, figcaption, figure,
28 footer, header, hgroup, menu, nav, section {
40 blockquote:before, blockquote:after,
46 border-collapse: collapse;
49 a { text-decoration: none;}
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
60 font-family: inherit; /* 1 */
61 font-size: 100%; /* 2 */
67 * Addresses Firefox 4+ setting `line-height` on `input` using `!important` in
76 /* Hide default number spinner controls */
77 input[type="number"]::-webkit-inner-spin-button,
78 input[type="number"]::-webkit-outer-spin-button {
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
91 html input[type="button"], /* 1 */
93 input[type="submit"] {
94 -webkit-appearance: button; /* 2 */
95 cursor: pointer; /* 3 */
99 * Re-set default cursor for disabled elements.
108 * 1. Addresses box sizing set to `content-box` in IE 8/9.
109 * 2. Removes excess padding in IE 8/9.
112 input[type="checkbox"],
113 input[type="radio"] {
114 box-sizing: border-box; /* 1 */
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).
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;
132 * Removes inner padding and search cancel button in Safari 5 and Chrome
136 input[type="search"]::-webkit-search-cancel-button,
137 input[type="search"]::-webkit-search-decoration {
138 -webkit-appearance: none;
142 * Removes inner padding and border in Firefox 4+.
145 button::-moz-focus-inner,
146 input::-moz-focus-inner {
152 ** Markup free clearing
153 ** Details: http://www.positioniseverything.net/easyclearing.html
157 content: " "; /* 1 */
158 display: table; /* 2 */
169 /* IE/Edge needs these overrides for markers to show up */
170 .layer-osm path.oneway-marker-path { fill: #000; }
171 .layer-osm path.sided-marker-natural-path { fill: rgb(140, 208, 95); }
172 .layer-osm path.sided-marker-coastline-path { fill: #77dede; }
173 .layer-osm path.sided-marker-barrier-path { fill: #ddd; }
174 .layer-osm path.sided-marker-man_made-path { fill: #fff; }
176 /* IE/Edge rule for <use> marker style */
177 .layer-osm path.viewfield-marker-path {
182 stroke-opacity: 0.75;
184 .fill-wireframe .layer-osm path.viewfield-marker-path { /* IE/Edge rule for <use> marker style */
188 /* the above fill: none rule affects paths in <use> shadow dom only in Firefox */
189 .layer-osm use.icon path { fill: #333; } /* FF svg Maki icons */
190 .layer-osm .turn use path { fill: #000; } /* FF turn restriction icons */
191 #turn-only-shape2, #turn-only-u-shape2 { fill: #7092ff; } /* FF turn-only, turn-only-u */
192 #turn-no-shape2, #turn-no-u-shape2 { fill: #e06d5f; } /* FF turn-no, turn-no-u */
193 #turn-yes-shape2, #turn-yes-u-shape2 { fill: #8cd05f; } /* FF turn-yes, turn-yes-u */
196 /* No interactivity except what we specifically allow */
198 pointer-events: none;
202 pointer-events: visibleStroke;
206 /* `.target` objects are interactive */
207 /* They can be picked up, clicked, hovered, or things can connect to them */
210 pointer-events: fill;
217 pointer-events: stroke;
221 stroke: currentColor;
222 stroke-linecap: round;
223 stroke-linejoin: round;
227 /* `.target-nope` objects are explicitly forbidden to join to */
228 .surface:not(.nope-disabled) .node.target.target-nope,
229 .surface:not(.nope-disabled) .way.target.target-nope {
234 /* `.active` objects (currently being drawn or dragged) are not interactive */
235 /* This is important to allow the events to drop through to whatever is */
236 /* below them on the map, so you can still hover and connect to other things. */
238 pointer-events: none !important;
250 g.note.active .stroke {
271 g.note.related:not(.selected) .shadow,
272 g.note.hover:not(.selected) .shadow,
273 g.point.related:not(.selected) .shadow,
274 g.point.hover:not(.selected) .shadow {
278 g.note.selected .shadow,
279 g.point.selected .shadow {
283 /* g.note ellipse.stroke, */
284 g.point ellipse.stroke {
287 .mode-drag-note g.note.active ellipse.stroke,
288 .mode-drag-node g.point.active ellipse.stroke {
293 /* vertices and midpoints */
302 g.vertex.shared .stroke {
319 g.vertex.related:not(.selected) .shadow,
320 g.vertex.hover:not(.selected) .shadow,
321 g.midpoint.related:not(.selected) .shadow,
322 g.midpoint.hover:not(.selected) .shadow {
326 g.vertex.selected .shadow {
332 .preset-icon .icon.iD-other-line {
338 stroke-linecap: round;
339 stroke-linejoin: round;
353 path.shadow.related:not(.selected),
354 path.shadow.hover:not(.selected) {
358 path.shadow.selected {
368 /* Labels / Markers */
375 .oneway .textpath.tag-waterway {
379 .onewaygroup path.oneway,
380 .viewfieldgroup path.viewfield,
381 .sidedgroup path.sided {
387 text.pointlabel-halo,
391 dominant-baseline: middle;
396 -webkit-transition: opacity 100ms linear;
397 transition: opacity 100ms linear;
398 -moz-transition: opacity 100ms linear;
401 /* Opera doesn't support dominant-baseline. See #715 */
402 /* Safari 10 seems to have regressed too */
403 .linelabel-halo .textpath,
404 .linelabel .textpath {
405 baseline-shift: -33%;
406 dominant-baseline: auto;
409 .labels-group.halo text {
413 stroke-miterlimit: 1;
417 opacity: 0 !important;
423 .icon.areaicon-halo {
427 stroke-miterlimit: 1;
435 g.point.highlighted .shadow,
436 path.shadow.highlighted {
437 stroke-opacity: 0.95;
440 g.vertex.highlighted .shadow {
442 stroke-opacity: 0.95;
446 /* Turn Restrictions */
447 .points-group.turns g.turn rect,
448 .points-group.turns g.turn circle {
452 /* Turn restriction paths and vertices */
453 .surface.tr .way.target,
454 .surface.tr path.shadow.selected,
455 .surface.tr path.shadow.related {
459 .surface.tr path.shadow.selected,
460 .surface.tr path.shadow.related,
461 .surface.tr g.vertex.selected .shadow,
462 .surface.tr g.vertex.related .shadow {
466 .surface.tr path.shadow.related.allow,
467 .surface.tr g.vertex.related.allow .shadow {
470 .surface.tr path.shadow.related.restrict,
471 .surface.tr g.vertex.related.restrict .shadow {
474 .surface.tr path.shadow.related.only,
475 .surface.tr g.vertex.related.only .shadow {
480 /* Default - light gray */
487 stroke: rgba(255, 255, 255, 0.3);
488 fill: rgba(255, 255, 255, 0.3);
491 .preset-icon-fill-area {
492 border: 1px solid rgb(170, 170, 170);
493 background-color: rgba(170, 170, 170, 0.3);
496 path.shadow.old-multipolygon,
497 path.stroke.old-multipolygon {
498 stroke-dasharray: 100, 5;
499 stroke-linecap: butt;
503 path.stroke.tag-landuse,
504 path.stroke.tag-natural,
505 path.stroke.tag-leisure-nature_reserve,
506 path.stroke.tag-leisure-pitch,
507 path.stroke.tag-leisure-track,
508 path.stroke.tag-leisure-golf_course,
509 path.stroke.tag-leisure-garden,
510 path.stroke.tag-leisure-park,
511 path.stroke.tag-barrier-hedge,
512 path.stroke.tag-landuse-forest,
513 path.stroke.tag-landuse-wood,
514 path.stroke.tag-landuse-grass {
515 stroke: rgb(140, 208, 95);
517 path.fill.tag-landuse,
518 path.fill.tag-natural,
519 path.fill.tag-leisure-nature_reserve,
520 path.fill.tag-leisure-pitch,
521 path.fill.tag-leisure-track,
522 path.fill.tag-leisure-golf_course,
523 path.fill.tag-leisure-garden,
524 path.fill.tag-leisure-park,
525 path.fill.tag-landuse-forest,
526 path.fill.tag-natural-wood,
527 path.fill.tag-landuse-grass {
528 stroke: rgba(140, 208, 95, 0.3);
529 fill: rgba(140, 208, 95, 0.3);
531 .preset-icon-fill-area.tag-landuse,
532 .preset-icon-fill-area.tag-natural,
533 .preset-icon-fill-area.tag-leisure-nature_reserve,
534 .preset-icon-fill-area.tag-leisure-pitch,
535 .preset-icon-fill-area.tag-leisure-track,
536 .preset-icon-fill-area.tag-leisure-golf_course,
537 .preset-icon-fill-area.tag-leisure-garden,
538 .preset-icon-fill-area.tag-leisure-park,
539 .preset-icon-fill-area.tag-landuse-forest,
540 .preset-icon-fill-area.tag-natural-wood,
541 .preset-icon-fill-area.tag-landuse-grass {
542 border-color: rgb(140, 208, 95);
543 background-color: rgba(140, 208, 95, 0.3);
545 .pattern-color-forest,
546 .pattern-color-forest_broadleaved,
547 .pattern-color-forest_needleleaved,
548 .pattern-color-forest_leafless,
550 .pattern-color-grass {
551 fill: rgba(140, 208, 95, 0.3);
555 path.stroke.tag-amenity-swimming_pool,
556 path.stroke.tag-leisure-swimming_pool,
557 path.stroke.tag-natural-water,
558 path.stroke.tag-landuse-aquaculture,
559 path.stroke.tag-landuse-basin,
560 path.stroke.tag-landuse-harbour,
561 path.stroke.tag-landuse-reservoir {
562 stroke: rgb(119, 211, 222);
564 path.fill.tag-amenity-swimming_pool,
565 path.fill.tag-leisure-swimming_pool,
566 path.fill.tag-landuse-aquaculture,
567 path.fill.tag-landuse-basin,
568 path.fill.tag-landuse-harbour,
569 path.fill.tag-landuse-reservoir,
570 path.fill.tag-natural-water {
571 stroke: rgba(119, 211, 222, 0.3);
572 fill: rgba(119, 211, 222, 0.3);
574 .preset-icon-fill-area.tag-amenity-swimming_pool,
575 .preset-icon-fill-area.tag-leisure-swimming_pool,
576 .preset-icon-fill-area.tag-landuse-aquaculture,
577 .preset-icon-fill-area.tag-landuse-basin,
578 .preset-icon-fill-area.tag-landuse-harbour,
579 .preset-icon-fill-area.tag-landuse-reservoir,
580 .preset-icon-fill-area.tag-natural-water {
581 border-color: rgb(119, 211, 222);
582 background-color: rgba(119, 211, 222, 0.3);
584 .pattern-color-waves,
585 .pattern-color-pond {
586 fill: rgba(119, 211, 222, 0.3);
590 .pattern-color-beach,
592 .pattern-color-scrub {
593 fill: rgba(255, 255, 148, 0.2);
595 path.stroke.tag-leisure-pitch.tag-sport-beachvolleyball,
596 path.stroke.tag-natural-beach,
597 path.stroke.tag-natural-sand,
598 path.stroke.tag-natural-scrub,
599 path.stroke.tag-amenity-childcare,
600 path.stroke.tag-amenity-kindergarten,
601 path.stroke.tag-amenity-school,
602 path.stroke.tag-amenity-college,
603 path.stroke.tag-amenity-university {
604 stroke: rgba(255, 255, 148, 0.75);
606 path.fill.tag-leisure-pitch.tag-sport-beachvolleyball,
607 path.fill.tag-natural-beach,
608 path.fill.tag-natural-sand,
609 path.fill.tag-natural-scrub,
610 path.fill.tag-amenity-childcare,
611 path.fill.tag-amenity-kindergarten,
612 path.fill.tag-amenity-school,
613 path.fill.tag-amenity-college,
614 path.fill.tag-amenity-university {
615 stroke: rgba(255, 255, 148, 0.15);
616 fill: rgba(255, 255, 148, 0.15);
618 .preset-icon-fill-area.tag-leisure-pitch.tag-sport-beachvolleyball,
619 .preset-icon-fill-area.tag-natural-beach,
620 .preset-icon-fill-area.tag-natural-sand,
621 .preset-icon-fill-area.tag-natural-scrub,
622 .preset-icon-fill-area.tag-amenity-childcare,
623 .preset-icon-fill-area.tag-amenity-kindergarten,
624 .preset-icon-fill-area.tag-amenity-school,
625 .preset-icon-fill-area.tag-amenity-college,
626 .preset-icon-fill-area.tag-amenity-university {
627 border-color: rgb(232, 232, 0);
628 background-color: rgba(255, 255, 148, 0.15);
632 .pattern-color-construction {
633 fill: rgba(196, 189, 25, 0.3);
635 path.stroke.tag-landuse-residential,
636 path.stroke.tag-landuse-construction {
637 stroke: rgb(196, 189, 25);
639 path.fill.tag-landuse-residential {
640 stroke: rgba(196, 189, 25, 0.3);
641 fill: rgba(196, 189, 25, 0.3);
643 .preset-icon-fill-area.tag-landuse-residential,
644 .preset-icon-fill-area.tag-landuse-construction {
645 border-color: rgb(196, 189, 25);
646 background: rgba(196, 189, 25, 0.3);
650 path.stroke.tag-landuse-retail,
651 path.stroke.tag-landuse-commercial,
652 path.stroke.tag-landuse-landfill,
653 path.stroke.tag-military,
654 path.stroke.tag-landuse-military {
655 stroke: rgb(214, 136, 26);
657 path.fill.tag-landuse-retail,
658 path.fill.tag-landuse-commercial,
659 path.fill.tag-landuse-landfill,
660 path.fill.tag-military,
661 path.fill.tag-landuse-military {
662 stroke: rgba(214, 136, 26, 0.3);
663 fill: rgba(214, 136, 26, 0.3);
665 .preset-icon-fill-area.tag-landuse-retail,
666 .preset-icon-fill-area.tag-landuse-commercial,
667 .preset-icon-fill-area.tag-landuse-landfill,
668 .preset-icon-fill-area.tag-military,
669 .preset-icon-fill-area.tag-landuse-military {
670 border-color: rgb(214, 136, 26);
671 background-color: rgba(214, 136, 26, 0.3);
673 .pattern-color-landfill
675 fill: rgba(214, 136, 26, 0.3);
680 path.stroke.tag-landuse-industrial,
681 path.stroke.tag-power-plant {
682 stroke: rgb(228, 164, 245);
684 path.fill.tag-landuse-industrial,
685 path.fill.tag-power-plant {
686 stroke: rgba(228, 164, 245, 0.3);
687 fill: rgba(228, 164, 245, 0.3);
689 .preset-icon-fill-area.tag-landuse-industrial,
690 .preset-icon-fill-area.tag-power-plant {
691 border-color: rgb(228, 164, 245);
692 background-color: rgba(228, 164, 245, 0.3);
696 .pattern-color-wetland,
697 .pattern-color-wetland_marsh,
698 .pattern-color-wetland_swamp,
699 .pattern-color-wetland_bog,
700 .pattern-color-wetland_reedbed {
701 fill: rgba(153, 225, 170, 0.3);
703 path.stroke.tag-natural-wetland {
704 stroke: rgb(153, 225, 170);
706 .preset-icon-fill-area.tag-natural-wetland {
707 border-color: rgb(153, 225, 170);
708 background-color: rgba(153, 225, 170, 0.2);
711 /* Light Green things */
712 .pattern-color-cemetery,
713 .pattern-color-cemetery_christian,
714 .pattern-color-cemetery_buddhist,
715 .pattern-color-cemetery_muslim,
716 .pattern-color-cemetery_jewish,
717 .pattern-color-orchard,
718 .pattern-color-vineyard,
719 .pattern-color-meadow,
720 .pattern-color-farmland {
721 fill: rgba(191, 232, 63, 0.2);
723 path.stroke.tag-landuse-cemetery,
724 path.stroke.tag-landuse-orchard,
725 path.stroke.tag-landuse-vineyard,
726 path.stroke.tag-landuse-meadow,
727 path.stroke.tag-landuse-farmland {
728 stroke: rgb(191, 232, 63);
730 .preset-icon-fill-area.tag-landuse-cemetery,
731 .preset-icon-fill-area.tag-landuse-orchard,
732 .preset-icon-fill-area.tag-landuse-vineyard,
733 .preset-icon-fill-area.tag-landuse-meadow,
734 .preset-icon-fill-area.tag-landuse-farmland {
735 background-color: rgba(191, 232, 63, 0.2);
739 path.stroke.tag-landuse-farmyard {
740 stroke: rgb(245, 220, 186);
742 path.fill.tag-landuse-farmyard {
743 stroke: rgba(245, 220, 186, 0.3);
744 fill: rgba(245, 220, 186, 0.3);
746 .preset-icon-fill-area.tag-landuse-farmyard {
747 border-color: rgb(226, 177, 111);
748 background: rgba(245, 220, 186, 0.3);
750 .pattern-color-farmyard {
751 fill: rgba(245, 220, 186, 0.3);
754 /* Dark Gray things */
755 path.stroke.tag-amenity-parking,
756 path.stroke.tag-leisure-pitch.tag-sport-basketball,
757 path.stroke.tag-leisure-pitch.tag-sport-skateboard,
758 path.stroke.tag-natural-bare_rock,
759 path.stroke.tag-natural-scree,
760 path.stroke.tag-landuse-railway,
761 path.stroke.tag-landuse-quarry {
764 path.fill.tag-amenity-parking,
765 path.fill.tag-leisure-pitch.tag-sport-basketball,
766 path.fill.tag-leisure-pitch.tag-sport-skateboard,
767 path.fill.tag-natural-bare_rock,
768 path.fill.tag-natural-scree,
769 path.fill.tag-landuse-railway,
770 path.fill.tag-landuse-quarry {
771 stroke: rgba(140, 140, 140, 0.5);
772 fill: rgba(140, 140, 140, 0.5);
774 .preset-icon-fill-area.tag-amenity-parking,
775 .preset-icon-fill-area.tag-leisure-pitch.tag-sport-basketball,
776 .preset-icon-fill-area.tag-leisure-pitch.tag-sport-skateboard,
777 .preset-icon-fill-area.tag-natural-bare_rock,
778 .preset-icon-fill-area.tag-natural-scree,
779 .preset-icon-fill-area.tag-landuse-railway,
780 .preset-icon-fill-area.tag-landuse-quarry {
781 border-color: rgb(170, 170, 170);
782 background-color: rgba(140, 140, 140, 0.5);
784 .pattern-color-quarry
786 fill: rgba(140, 140, 140, 0.5);
789 /* Light gray overrides */
790 path.stroke.tag-natural-cave_entrance,
791 path.stroke.tag-natural-glacier {
794 path.fill.tag-natural-cave_entrance,
795 path.fill.tag-natural-glacier {
796 stroke: rgba(255, 255, 255, 0.3);
797 fill: rgba(255, 255, 255, 0.3);
799 .preset-icon-fill-area.tag-natural-cave_entrance,
800 .preset-icon-fill-area.tag-natural-glacier {
801 border-color: rgb(170, 170, 170);
802 background: rgba(170, 170, 170, 0.3);
806 .preset-icon .icon.tag-highway.other-line {
810 path.casing.tag-highway {
813 path.stroke.tag-highway {
819 path.stroke.area.tag-highway,
820 .low-zoom path.stroke.area.tag-highway {
822 stroke-dasharray: none;
828 path.shadow.tag-highway {
831 path.casing.tag-highway {
834 path.stroke.tag-highway {
838 .low-zoom path.shadow.tag-highway {
841 .low-zoom path.casing.tag-highway {
844 .low-zoom path.stroke.tag-highway {
848 .preset-icon .icon.iD-highway-motorway,
849 .preset-icon .icon.iD-highway-motorway-link {
853 path.stroke.tag-highway-motorway,
854 path.stroke.tag-highway-motorway_link,
855 path.stroke.tag-motorway {
858 path.casing.tag-highway-motorway,
859 path.casing.tag-highway-motorway_link,
860 path.casing.tag-motorway {
864 .preset-icon .icon.iD-highway-trunk,
865 .preset-icon .icon.iD-highway-trunk-link {
869 path.stroke.tag-highway-trunk,
870 path.stroke.tag-highway-trunk_link,
871 path.stroke.tag-trunk {
874 path.casing.tag-highway-trunk,
875 path.casing.tag-highway-trunk_link,
876 path.casing.tag-trunk {
880 .preset-icon .icon.iD-highway-primary,
881 .preset-icon .icon.iD-highway-primary-link {
885 path.stroke.tag-highway-primary,
886 path.stroke.tag-highway-primary_link,
887 path.stroke.tag-primary {
890 path.casing.tag-highway-primary,
891 path.casing.tag-highway-primary_link,
892 path.casing.tag-primary {
896 .preset-icon .icon.iD-highway-secondary,
897 .preset-icon .icon.iD-highway-secondary-link {
901 path.stroke.tag-highway-secondary,
902 path.stroke.tag-highway-secondary_link,
903 path.stroke.tag-secondary {
906 path.casing.tag-highway-secondary,
907 path.casing.tag-highway-secondary_link,
908 path.casing.tag-secondary {
912 .preset-icon .icon.iD-highway-tertiary,
913 .preset-icon .icon.iD-highway-tertiary-link {
917 path.stroke.tag-highway-tertiary,
918 path.stroke.tag-highway-tertiary_link,
919 path.stroke.tag-tertiary {
922 path.casing.tag-highway-tertiary,
923 path.casing.tag-highway-tertiary_link,
924 path.casing.tag-tertiary {
928 .legacy-carto .preset-icon .icon.iD-highway-motorway,
929 .legacy-carto .preset-icon .icon.iD-highway-motorway-link {
933 .legacy-carto path.stroke.tag-highway-motorway,
934 .legacy-carto path.stroke.tag-highway-motorway_link,
935 .legacy-carto path.stroke.tag-motorway {
938 .legacy-carto path.casing.tag-highway-motorway,
939 .legacy-carto path.casing.tag-highway-motorway_link,
940 .legacy-carto path.casing.tag-motorway {
944 .legacy-carto .preset-icon .icon.iD-highway-trunk,
945 .legacy-carto .preset-icon .icon.iD-highway-trunk-link {
949 .legacy-carto path.stroke.tag-highway-trunk,
950 .legacy-carto path.stroke.tag-highway-trunk_link,
951 .legacy-carto path.stroke.tag-trunk {
954 .legacy-carto path.casing.tag-highway-trunk,
955 .legacy-carto path.casing.tag-highway-trunk_link,
956 .legacy-carto path.casing.tag-trunk {
960 .legacy-carto .preset-icon .icon.iD-highway-primary,
961 .legacy-carto .preset-icon .icon.iD-highway-primary-link {
965 .legacy-carto path.stroke.tag-highway-primary,
966 .legacy-carto path.stroke.tag-highway-primary_link,
967 .legacy-carto path.stroke.tag-primary {
970 .legacy-carto path.casing.tag-highway-primary,
971 .legacy-carto path.casing.tag-highway-primary_link,
972 .legacy-carto path.casing.tag-primary {
976 .legacy-carto .preset-icon .icon.iD-highway-secondary,
977 .legacy-carto .preset-icon .icon.iD-highway-secondary-link {
981 .legacy-carto path.stroke.tag-highway-secondary,
982 .legacy-carto path.stroke.tag-highway-secondary_link,
983 .legacy-carto path.stroke.tag-secondary {
986 .legacy-carto path.casing.tag-highway-secondary,
987 .legacy-carto path.casing.tag-highway-secondary_link,
988 .legacy-carto path.casing.tag-secondary {
992 .legacy-carto .preset-icon .icon.iD-highway-tertiary,
993 .legacy-carto .preset-icon .icon.iD-highway-tertiary-link {
997 .legacy-carto path.stroke.tag-highway-tertiary,
998 .legacy-carto path.stroke.tag-highway-tertiary_link,
999 .legacy-carto path.stroke.tag-tertiary {
1002 .legacy-carto path.casing.tag-highway-tertiary,
1003 .legacy-carto path.casing.tag-highway-tertiary_link,
1004 .legacy-carto path.casing.tag-tertiary {
1008 .preset-icon .icon.iD-highway-residential {
1012 path.stroke.tag-highway-residential,
1013 path.stroke.tag-residential {
1016 path.casing.tag-highway-residential,
1017 path.casing.tag-residential {
1021 .preset-icon .icon.iD-highway-unclassified {
1025 path.stroke.tag-highway-unclassified,
1026 path.stroke.tag-unclassified {
1029 path.casing.tag-highway-unclassified,
1030 path.casing.tag-unclassified {
1035 /* narrow highways */
1037 path.shadow.tag-highway-living_street,
1038 path.shadow.tag-highway-bus_guideway,
1039 path.shadow.tag-highway-service,
1040 path.shadow.tag-highway-track,
1041 path.shadow.tag-highway-road,
1042 path.shadow.tag-living_street,
1043 path.shadow.tag-service,
1044 path.shadow.tag-track,
1045 path.shadow.tag-road {
1048 path.casing.tag-highway-living_street,
1049 path.casing.tag-highway-bus_guideway,
1050 path.casing.tag-highway-service,
1051 path.casing.tag-highway-track,
1052 path.casing.tag-highway-road,
1053 path.casing.tag-living_street,
1054 path.casing.tag-service,
1055 path.casing.tag-track,
1056 path.casing.tag-road {
1059 path.stroke.tag-highway-living_street,
1060 path.stroke.tag-highway-bus_guideway,
1061 path.stroke.tag-highway-service,
1062 path.stroke.tag-highway-track,
1063 path.stroke.tag-highway-road,
1064 path.stroke.tag-living_street,
1065 path.stroke.tag-service,
1066 path.stroke.tag-track,
1067 path.stroke.tag-road {
1071 path.shadow.tag-highway-path,
1072 path.shadow.tag-highway-footway,
1073 path.shadow.tag-highway-cycleway,
1074 path.shadow.tag-highway-bridleway,
1075 path.shadow.tag-highway-corridor,
1076 path.shadow.tag-highway-pedestrian,
1077 path.shadow.tag-highway-steps,
1078 path.shadow.tag-path,
1079 path.shadow.tag-footway,
1080 path.shadow.tag-cycleway,
1081 path.shadow.tag-bridleway,
1082 path.shadow.tag-corridor,
1083 path.shadow.tag-pedestrian,
1084 path.shadow.tag-steps {
1087 path.casing.tag-highway-path,
1088 path.casing.tag-highway-footway,
1089 path.casing.tag-highway-cycleway,
1090 path.casing.tag-highway-bridleway,
1091 path.casing.tag-highway-corridor,
1092 path.casing.tag-highway-pedestrian,
1093 path.casing.tag-highway-steps,
1094 path.casing.tag-path,
1095 path.casing.tag-footway,
1096 path.casing.tag-cycleway,
1097 path.casing.tag-bridleway,
1098 path.casing.tag-corridor,
1099 path.casing.tag-pedestrian,
1100 path.casing.tag-steps {
1103 path.stroke.tag-highway-path,
1104 path.stroke.tag-highway-footway,
1105 path.stroke.tag-highway-cycleway,
1106 path.stroke.tag-highway-bridleway,
1107 path.stroke.tag-highway-corridor,
1108 path.stroke.tag-highway-pedestrian,
1109 path.stroke.tag-highway-steps,
1110 path.stroke.tag-path,
1111 path.stroke.tag-footway,
1112 path.stroke.tag-cycleway,
1113 path.stroke.tag-bridleway,
1114 path.stroke.tag-corridor,
1115 path.stroke.tag-pedestrian,
1116 path.stroke.tag-steps {
1120 .low-zoom path.shadow.tag-highway-living_street,
1121 .low-zoom path.shadow.tag-highway-bus_guideway,
1122 .low-zoom path.shadow.tag-highway-service,
1123 .low-zoom path.shadow.tag-highway-track,
1124 .low-zoom path.shadow.tag-highway-road,
1125 .low-zoom path.shadow.tag-living_street,
1126 .low-zoom path.shadow.tag-service,
1127 .low-zoom path.shadow.tag-track,
1128 .low-zoom path.shadow.tag-road {
1131 .low-zoom path.casing.tag-highway-living_street,
1132 .low-zoom path.casing.tag-highway-bus_guideway,
1133 .low-zoom path.casing.tag-highway-service,
1134 .low-zoom path.casing.tag-highway-track,
1135 .low-zoom path.casing.tag-highway-road,
1136 .low-zoom path.casing.tag-living_street,
1137 .low-zoom path.casing.tag-service,
1138 .low-zoom path.casing.tag-track,
1139 .low-zoom path.casing.tag-road {
1142 .low-zoom path.stroke.tag-highway-living_street,
1143 .low-zoom path.stroke.tag-highway-bus_guideway,
1144 .low-zoom path.stroke.tag-highway-service,
1145 .low-zoom path.stroke.tag-highway-track,
1146 .low-zoom path.stroke.tag-highway-road,
1147 .low-zoom path.stroke.tag-living_street,
1148 .low-zoom path.stroke.tag-service,
1149 .low-zoom path.stroke.tag-track,
1150 .low-zoom path.stroke.tag-road {
1154 .low-zoom path.shadow.tag-highway-path,
1155 .low-zoom path.shadow.tag-highway-footway,
1156 .low-zoom path.shadow.tag-highway-cycleway,
1157 .low-zoom path.shadow.tag-highway-bridleway,
1158 .low-zoom path.shadow.tag-highway-corridor,
1159 .low-zoom path.shadow.tag-highway-pedestrian,
1160 .low-zoom path.shadow.tag-highway-steps,
1161 .low-zoom path.shadow.tag-path,
1162 .low-zoom path.shadow.tag-footway,
1163 .low-zoom path.shadow.tag-cycleway,
1164 .low-zoom path.shadow.tag-bridleway,
1165 .low-zoom path.shadow.tag-corridor,
1166 .low-zoom path.shadow.tag-pedestrian,
1167 .low-zoom path.shadow.tag-steps {
1170 .low-zoom path.casing.tag-highway-path,
1171 .low-zoom path.casing.tag-highway-footway,
1172 .low-zoom path.casing.tag-highway-cycleway,
1173 .low-zoom path.casing.tag-highway-bridleway,
1174 .low-zoom path.casing.tag-highway-corridor,
1175 .low-zoom path.casing.tag-highway-pedestrian,
1176 .low-zoom path.casing.tag-highway-steps,
1177 .low-zoom path.casing.tag-path,
1178 .low-zoom path.casing.tag-footway,
1179 .low-zoom path.casing.tag-cycleway,
1180 .low-zoom path.casing.tag-bridleway,
1181 .low-zoom path.casing.tag-corridor,
1182 .low-zoom path.casing.tag-pedestrian,
1183 .low-zoom path.casing.tag-steps {
1186 .low-zoom path.stroke.tag-highway-path,
1187 .low-zoom path.stroke.tag-highway-footway,
1188 .low-zoom path.stroke.tag-highway-cycleway,
1189 .low-zoom path.stroke.tag-highway-bridleway,
1190 .low-zoom path.stroke.tag-highway-corridor,
1191 .low-zoom path.stroke.tag-highway-pedestrian,
1192 .low-zoom path.stroke.tag-highway-steps,
1193 .low-zoom path.stroke.tag-path,
1194 .low-zoom path.stroke.tag-footway,
1195 .low-zoom path.stroke.tag-cycleway,
1196 .low-zoom path.stroke.tag-bridleway,
1197 .low-zoom path.stroke.tag-corridor,
1198 .low-zoom path.stroke.tag-pedestrian,
1199 .low-zoom path.stroke.tag-steps {
1204 .preset-icon .icon.iD-highway-living-street {
1208 path.stroke.tag-highway-living_street,
1209 path.stroke.tag-living_street {
1212 path.casing.tag-highway-living_street,
1213 path.casing.tag-living_street {
1217 .preset-icon .icon.iD-highway-footway.tag-highway-corridor,
1218 .preset-icon .icon.iD-highway-footway.tag-highway-pedestrian {
1222 path.stroke.tag-highway-corridor,
1223 path.stroke.tag-highway-pedestrian,
1224 path.stroke.tag-corridor,
1225 path.stroke.tag-pedestrian {
1227 stroke-dasharray: 2, 8;
1229 .low-zoom path.stroke.tag-highway-corridor,
1230 .low-zoom path.stroke.tag-highway-pedestrian,
1231 .low-zoom path.stroke.tag-corridor,
1232 .low-zoom path.stroke.tag-pedestrian {
1233 stroke-dasharray: 1, 4;
1235 path.casing.tag-highway-corridor,
1236 path.casing.tag-highway-pedestrian,
1237 path.casing.tag-corridor,
1238 path.casing.tag-pedestrian,
1239 path.casing.tag-highway-corridor.tag-unpaved,
1240 path.casing.tag-highway-pedestrian.tag-unpaved,
1241 path.casing.tag-corridor.tag-unpaved,
1242 path.casing.tag-pedestrian.tag-unpaved {
1244 stroke-linecap: round;
1245 stroke-dasharray: none;
1248 .preset-icon .icon.iD-highway-road {
1252 path.stroke.tag-highway-road,
1253 path.stroke.tag-road {
1256 path.casing.tag-highway-road,
1257 path.casing.tag-road {
1261 .preset-icon .icon.iD-highway-service {
1265 path.stroke.tag-highway-service,
1266 path.stroke.tag-service {
1269 path.casing.tag-highway-service,
1270 path.casing.tag-service {
1274 /* special service roads and bus guideways */
1275 /* with `service=* tag` (e.g. parking_aisle, alley, drive-through */
1276 .preset-icon .icon.iD-highway-bus_guideway,
1277 .preset-icon .icon.iD-highway-service.tag-service {
1281 path.stroke.tag-highway-bus_guideway,
1282 path.stroke.tag-highway-service.tag-service,
1283 path.stroke.tag-service.tag-service {
1286 path.casing.tag-highway-bus_guideway,
1287 path.casing.tag-highway-service.tag-service,
1288 path.casing.tag-service.tag-service {
1292 .preset-icon .icon.iD-highway-track {
1296 path.stroke.tag-highway-track,
1297 path.stroke.tag-track {
1300 path.casing.tag-highway-track,
1301 path.casing.tag-track {
1305 path.stroke.tag-highway-path,
1306 path.stroke.tag-highway-footway,
1307 path.stroke.tag-highway-cycleway,
1308 path.stroke.tag-highway-bridleway {
1309 stroke-linecap: butt;
1310 stroke-dasharray: 6, 6;
1312 .low-zoom path.stroke.tag-highway-path,
1313 .low-zoom path.stroke.tag-highway-footway,
1314 .low-zoom path.stroke.tag-highway-cycleway,
1315 .low-zoom path.stroke.tag-highway-bridleway {
1316 stroke-linecap: butt;
1317 stroke-dasharray: 3, 3;
1320 path.casing.tag-highway-path,
1321 path.casing.tag-highway-path.tag-unpaved {
1323 stroke-linecap: round;
1324 stroke-dasharray: none;
1326 path.casing.tag-highway-footway,
1327 path.casing.tag-highway-cycleway,
1328 path.casing.tag-highway-bridleway,
1329 path.casing.tag-highway-footway.tag-unpaved,
1330 path.casing.tag-highway-cycleway.tag-unpaved,
1331 path.casing.tag-highway-bridleway.tag-unpaved {
1333 stroke-linecap: round;
1334 stroke-dasharray: none;
1337 .preset-icon .icon.iD-category-path,
1338 .preset-icon .icon.iD-highway-path {
1342 path.stroke.tag-highway-path {
1346 .preset-icon .icon.tag-route-foot,
1347 .preset-icon .icon.tag-route-hiking,
1348 .preset-icon .icon.iD-highway-footway {
1352 path.stroke.tag-highway-footway {
1357 .preset-icon .icon.tag-route-bicycle,
1358 .preset-icon .icon.iD-highway-cycleway {
1362 path.stroke.tag-highway-cycleway {
1366 .preset-icon .icon.tag-route-horse,
1367 .preset-icon .icon.iD-highway-bridleway {
1371 path.stroke.tag-highway-bridleway {
1375 .preset-icon .icon.iD-highway-steps {
1379 path.stroke.tag-highway-steps {
1381 stroke-linecap: butt;
1382 stroke-dasharray: 3, 3;
1384 .low-zoom path.stroke.tag-highway-steps {
1385 stroke-dasharray: 2, 2;
1387 path.casing.tag-highway-steps,
1388 path.casing.tag-highway-steps.tag-unpaved {
1390 stroke-linecap: round;
1391 stroke-dasharray: none;
1394 /* highway midpoints */
1395 g.midpoint.tag-highway-corridor .fill,
1396 g.midpoint.tag-highway-pedestrian .fill,
1397 g.midpoint.tag-highway-steps .fill,
1398 g.midpoint.tag-highway-path .fill,
1399 g.midpoint.tag-highway-footway .fill,
1400 g.midpoint.tag-highway-cycleway .fill,
1401 g.midpoint.tag-highway-bridleway .fill {
1410 path.stroke.area.tag-aeroway,
1411 .low-zoom path.stroke.area.tag-aeroway {
1413 stroke-dasharray: none;
1417 /* narrow aeroways (taxiway) */
1418 path.shadow.tag-aeroway-taxiway,
1419 path.shadow.tag-taxiway {
1422 path.casing.tag-aeroway-taxiway,
1423 path.casing.tag-taxiway {
1426 path.stroke.tag-aeroway-taxiway,
1427 path.stroke.tag-taxiway {
1431 .low-zoom path.shadow.tag-aeroway-taxiway,
1432 .low-zoom path.shadow.tag-taxiway {
1435 .low-zoom path.casing.tag-aeroway-taxiway,
1436 .low-zoom path.casing.tag-taxiway {
1439 .low-zoom path.stroke.tag-aeroway-taxiway,
1440 .low-zoom path.stroke.tag-taxiway {
1444 .preset-icon .icon.tag-aeroway-taxiway,
1445 .preset-icon .icon.tag-taxiway {
1449 path.stroke.tag-aeroway-taxiway,
1450 path.stroke.tag-taxiway {
1453 path.casing.tag-aeroway-taxiway,
1454 path.casing.tag-taxiway {
1459 /* wide aeroways (runway) */
1460 .preset-icon .icon.tag-aeroway-runway,
1461 .preset-icon .icon.tag-runway {
1465 path.shadow.tag-aeroway-runway {
1468 path.casing.tag-aeroway-runway {
1471 stroke-linecap: square;
1473 path.stroke.tag-aeroway-runway {
1476 stroke-linecap: butt;
1477 stroke-dasharray: 24, 48;
1480 .low-zoom path.shadow.tag-aeroway-runway {
1483 .low-zoom path.casing.tag-aeroway-runway {
1486 .low-zoom path.stroke.tag-aeroway-runway {
1488 stroke-dasharray: 12, 24;
1491 path.fill.tag-aeroway-runway {
1492 stroke: rgba(0, 0, 0, 0.6);
1493 fill: rgba(0, 0, 0, 0.6);
1497 .preset-icon .icon.tag-railway.other-line {
1501 .preset-icon .icon.tag-railway {
1507 path.stroke.area.tag-railway,
1508 .low-zoom path.stroke.area.tag-railway {
1511 stroke-dasharray: none;
1514 path.casing.area.tag-railway,
1515 .low-zoom path.casing.area.tag-railway {
1520 path.shadow.tag-railway {
1523 path.casing.tag-railway {
1526 path.stroke.tag-railway {
1528 stroke-linecap: butt;
1529 stroke-dasharray: 12,12;
1532 .low-zoom path.shadow.tag-railway {
1535 .low-zoom path.casing.tag-railway {
1538 .low-zoom path.stroke.tag-railway {
1540 stroke-dasharray: 6,6;
1545 path.casing.tag-railway {
1548 path.stroke.tag-railway {
1553 .preset-icon .icon.tag-railway-disused,
1554 .preset-icon .icon.tag-railway-abandoned {
1558 path.casing.tag-railway-disused,
1559 path.casing.tag-railway-abandoned {
1562 path.stroke.tag-railway-disused,
1563 path.stroke.tag-railway-abandoned {
1568 .preset-icon .icon.tag-railway-subway {
1572 path.casing.tag-railway-subway {
1575 path.stroke.tag-railway-subway {
1579 .preset-icon .icon.tag-waterway.other-line {
1583 .preset-icon .icon.iD-category-water,
1584 .preset-icon .icon.tag-type-waterway,
1585 .preset-icon .icon.tag-waterway {
1590 path.fill.tag-waterway {
1591 stroke: rgba(119, 211, 222, 0.3);
1592 fill: rgba(119, 211, 222, 0.3);
1594 path.casing.tag-waterway {
1597 path.stroke.tag-waterway {
1602 /* narrow waterways (default) */
1603 path.shadow.tag-waterway {
1606 path.casing.tag-waterway {
1609 path.stroke.tag-waterway {
1613 .low-zoom path.shadow.tag-waterway {
1616 .low-zoom path.casing.tag-waterway {
1619 .low-zoom path.stroke.tag-waterway {
1624 /* wide waterways (river) */
1625 path.shadow.tag-waterway-river {
1628 path.casing.tag-waterway-river {
1631 path.stroke.tag-waterway-river {
1635 .low-zoom path.shadow.tag-waterway-river {
1638 .low-zoom path.casing.tag-waterway-river {
1641 .low-zoom path.stroke.tag-waterway-river {
1647 .preset-icon .icon.tag-waterway-ditch {
1650 path.stroke.tag-waterway-ditch {
1655 /* waterway areas */
1656 path.area.stroke.tag-waterway-dock,
1657 path.area.stroke.tag-waterway-boatyard,
1658 path.area.stroke.tag-waterway-fuel {
1662 path.area.casing.tag-waterway-dock,
1663 path.area.casing.tag-waterway-boatyard,
1664 path.area.casing.tag-waterway-fuel {
1667 path.area.fill.tag-waterway-dock,
1668 path.area.fill.tag-waterway-boatyard,
1669 path.area.fill.tag-waterway-fuel {
1670 stroke: rgba(255, 255, 255, 0.3);
1671 fill: rgba(255, 255, 255, 0.3);
1675 .preset-icon .icon.tag-route-ferry {
1679 path.shadow.tag-route-ferry {
1682 path.stroke.tag-route-ferry {
1684 stroke-linecap: butt;
1685 stroke-dasharray: 12,8;
1687 .low-zoom path.shadow.tag-route-ferry {
1690 .low-zoom path.stroke.tag-route-ferry {
1692 stroke-dasharray: 6,4;
1694 path.stroke.tag-route-ferry {
1697 /* power and pipeline */
1698 .preset-icon .icon.tag-man_made-pipeline,
1699 .preset-icon .icon.tag-power {
1706 path.stroke.tag-power {
1710 path.casing.tag-power {
1716 path.stroke.tag-man_made-pipeline {
1718 stroke-linecap: butt;
1720 stroke-dasharray: 80, 1.25;
1722 path.casing.tag-man_made-pipeline {
1726 .low-zoom path.stroke.tag-man_made-pipeline {
1727 stroke-dasharray: 40, 1;
1731 path.stroke.tag-boundary {
1734 stroke-linecap: butt;
1735 stroke-dasharray: 20, 5, 5, 5;
1737 path.casing.tag-boundary {
1742 path.casing.tag-boundary-protected_area,
1743 path.casing.tag-boundary-national_park {
1749 path.shadow.tag-natural-tree_row {
1752 path.casing.tag-natural-tree_row {
1755 path.stroke.tag-natural-tree_row {
1759 .low-zoom path.shadow.tag-natural-tree_row {
1762 .low-zoom path.casing.tag-natural-tree_row {
1765 .low-zoom path.stroke.tag-natural-tree_row {
1771 path.stroke.tag-barrier:not(.tag-barrier-hedge) {
1774 path.stroke.tag-barrier {
1776 stroke-linecap: round;
1777 stroke-dasharray: 15, 5, 1, 5;
1779 .low-zoom path.stroke.tag-barrier {
1781 stroke-linecap: butt;
1782 stroke-dasharray: 8, 2, 2, 2;
1787 path.casing.tag-bridge {
1788 stroke-opacity: 0.6;
1789 stroke: #000 !important;
1790 stroke-linecap: butt;
1791 stroke-dasharray: none;
1794 path.shadow.tag-bridge {
1797 path.casing.tag-bridge {
1800 .low-zoom path.shadow.tag-bridge {
1803 .low-zoom path.casing.tag-bridge {
1807 path.shadow.line.tag-railway.tag-bridge,
1808 path.shadow.tag-highway-living_street.tag-bridge,
1809 path.shadow.tag-highway-path.tag-bridge,
1810 path.shadow.tag-highway-corridor.tag-bridge,
1811 path.shadow.line.tag-highway-pedestrian.tag-bridge,
1812 path.shadow.tag-highway-service.tag-bridge,
1813 path.shadow.tag-highway-track.tag-bridge,
1814 path.shadow.tag-highway-steps.tag-bridge,
1815 path.shadow.tag-highway-footway.tag-bridge,
1816 path.shadow.tag-highway-cycleway.tag-bridge,
1817 path.shadow.tag-highway-bridleway.tag-bridge {
1820 path.casing.line.tag-railway.tag-bridge,
1821 path.casing.tag-highway-living_street.tag-bridge,
1822 path.casing.tag-highway-path.tag-bridge,
1823 path.casing.tag-highway-corridor.tag-bridge,
1824 path.casing.line.tag-highway-pedestrian.tag-bridge,
1825 path.casing.tag-highway-service.tag-bridge,
1826 path.casing.tag-highway-track.tag-bridge,
1827 path.casing.tag-highway-steps.tag-bridge,
1828 path.casing.tag-highway-footway.tag-bridge,
1829 path.casing.tag-highway-cycleway.tag-bridge,
1830 path.casing.tag-highway-bridleway.tag-bridge {
1834 .low-zoom path.shadow.line.tag-railway.tag-bridge,
1835 .low-zoom path.shadow.tag-highway-living_street.tag-bridge,
1836 .low-zoom path.shadow.tag-highway-path.tag-bridge,
1837 .low-zoom path.shadow.tag-highway-corridor.tag-bridge,
1838 .low-zoom path.shadow.line.tag-highway-pedestrian.tag-bridge,
1839 .low-zoom path.shadow.tag-highway-service.tag-bridge,
1840 .low-zoom path.shadow.tag-highway-track.tag-bridge,
1841 .low-zoom path.shadow.tag-highway-steps.tag-bridge,
1842 .low-zoom path.shadow.tag-highway-footway.tag-bridge,
1843 .low-zoom path.shadow.tag-highway-cycleway.tag-bridge,
1844 .low-zoom path.shadow.tag-highway-bridleway.tag-bridge {
1847 .low-zoom path.casing.line.tag-railway.tag-bridge,
1848 .low-zoom path.casing.tag-highway-living_street.tag-bridge,
1849 .low-zoom path.casing.tag-highway-path.tag-bridge,
1850 .low-zoom path.casing.tag-highway-corridor.tag-bridge,
1851 .low-zoom path.casing.line.tag-highway-pedestrian.tag-bridge,
1852 .low-zoom path.casing.tag-highway-service.tag-bridge,
1853 .low-zoom path.casing.tag-highway-track.tag-bridge,
1854 .low-zoom path.casing.tag-highway-steps.tag-bridge,
1855 .low-zoom path.casing.tag-highway-footway.tag-bridge,
1856 .low-zoom path.casing.tag-highway-cycleway.tag-bridge,
1857 .low-zoom path.casing.tag-highway-bridleway.tag-bridge {
1863 path.stroke.tag-tunnel,
1864 path.line.stroke.tag-location-underground,
1865 path.line.stroke.tag-location-underwater {
1866 stroke-opacity: 0.3;
1868 path.casing.tag-tunnel,
1869 path.line.casing.tag-location-underground,
1870 path.line.stroke.tag-location-underwater {
1871 stroke-opacity: 0.5;
1872 stroke-linecap: butt;
1873 stroke-dasharray: none;
1877 /* embankments / cuttings */
1878 path.shadow.tag-embankment,
1879 path.shadow.tag-cutting {
1882 path.casing.tag-embankment,
1883 path.casing.tag-cutting {
1884 stroke-opacity: 0.5;
1887 stroke-dasharray: 2, 4;
1888 stroke-linecap: butt;
1891 .low-zoom path.shadow.tag-embankment,
1892 .low-zoom path.shadow.tag-cutting {
1895 .low-zoom path.casing.tag-embankment,
1896 .low-zoom path.casing.tag-cutting {
1901 /* Surface - unpaved */
1902 path.casing.tag-unpaved {
1904 stroke-linecap: butt;
1905 stroke-dasharray: 4, 3;
1907 .low-zoom path.casing.tag-unpaved {
1908 stroke-dasharray: 3, 2;
1910 path.casing.tag-bridge.tag-unpaved {
1912 stroke-dasharray: 4, 3;
1914 .low-zoom path.casing.tag-bridge.tag-unpaved {
1916 stroke-dasharray: 3, 2;
1920 /* Status (e.g. construction, proposed, abandoned) */
1921 path.stroke.tag-status,
1922 path.casing.tag-status {
1923 stroke-linecap: butt;
1924 stroke-dasharray: 7, 3;
1926 .low-zoom path.stroke.tag-status,
1927 .low-zoom path.casing.tag-status {
1928 stroke-dasharray: 5, 2;
1933 path.stroke.tag-building {
1934 stroke: rgb(224, 110, 95);
1936 path.fill.tag-building {
1937 stroke: rgba(224, 110, 95, 0.3);
1938 fill: rgba(224, 110, 95, 0.3);
1940 .preset-icon-fill-area.tag-parking-multi-storey,
1941 .preset-icon-fill-area.tag-building {
1942 border-color: rgb(224, 110, 95);
1943 background-color: rgba(224, 110, 95, 0.3);
1947 /* "Special" paths - platforms, piers, crossings */
1948 .preset-icon .icon.tag-public_transport-platform,
1949 .preset-icon .icon.tag-railway-platform,
1950 .preset-icon .icon.tag-man_made-pier,
1951 .preset-icon .icon.tag-footway.tag-footway-crossing,
1952 .preset-icon .icon.tag-crossing {
1957 .preset-icon-fill-area.tag-public_transport-platform,
1958 .preset-icon-fill-area.tag-railway-platform,
1959 .preset-icon-fill-area.tag-man_made-pier,
1960 .preset-icon-fill-area.tag-footway.tag-footway-crossing,
1961 .preset-icon-fill-area.tag-crossing {
1963 background-color: #dca;
1966 path.shadow.tag-public_transport-platform,
1967 path.shadow.tag-railway-platform,
1968 path.shadow.tag-man_made-pier,
1969 path.shadow.tag-footway.tag-footway-crossing,
1970 path.shadow.tag-crossing {
1973 path.casing.tag-public_transport-platform,
1974 path.casing.tag-railway-platform,
1975 path.casing.tag-man_made-pier,
1976 path.casing.tag-footway.tag-footway-crossing,
1977 path.casing.tag-crossing {
1980 stroke-linecap: round;
1981 stroke-dasharray: none;
1983 path.stroke.tag-public_transport-platform,
1984 path.stroke.tag-railway-platform,
1985 path.stroke.tag-man_made-pier,
1986 path.stroke.tag-footway.tag-footway-crossing,
1987 path.stroke.tag-crossing {
1990 stroke-linecap: butt;
1991 stroke-dasharray: 6, 6;
1994 .low-zoom path.shadow.tag-public_transport-platform,
1995 .low-zoom path.shadow.tag-railway-platform,
1996 .low-zoom path.shadow.tag-man_made-pier,
1997 .low-zoom path.shadow.tag-footway.tag-footway-crossing,
1998 .low-zoom path.shadow.tag-crossing {
2001 .low-zoom path.casing.tag-public_transport-platform,
2002 .low-zoom path.casing.tag-railway-platform,
2003 .low-zoom path.casing.tag-man_made-pier,
2004 .low-zoom path.casing.tag-footway.tag-footway-crossing,
2005 .low-zoom path.casing.tag-crossing {
2008 .low-zoom path.stroke.tag-public_transport-platform,
2009 .low-zoom path.stroke.tag-railway-platform,
2010 .low-zoom path.stroke.tag-man_made-pier,
2011 .low-zoom path.stroke.tag-footway.tag-footway-crossing,
2012 .low-zoom path.stroke.tag-crossing {
2014 stroke-linecap: butt;
2015 stroke-dasharray: 3, 3;
2018 g.midpoint.tag-public_transport-platform .fill,
2019 g.midpoint.tag-railway-platform .fill,
2020 g.midpoint.tag-man_made-pier .fill,
2021 g.midpoint.tag-footway.tag-footway-crossing .fill,
2022 g.midpoint.tag-crossing .fill {
2029 /* marked crossings, zebras */
2030 .preset-icon .icon.tag-crossing.tag-crossing-marked,
2031 .preset-icon .icon.tag-crossing.tag-crossing-zebra {
2035 path.casing.tag-crossing.tag-crossing-marked,
2036 path.casing.tag-crossing.tag-crossing-zebra {
2039 path.stroke.tag-crossing.tag-crossing-marked,
2040 path.stroke.tag-crossing.tag-crossing-zebra {
2042 stroke-dasharray: 6, 4;
2044 .low-zoom path.stroke.tag-crossing.tag-crossing-marked,
2045 .low-zoom path.stroke.tag-crossing.tag-crossing-zebra {
2046 stroke-dasharray: 3, 2;
2050 path.shadow.tag-attraction-summer_toboggan,
2051 path.shadow.tag-attraction-water_slide {
2054 path.casing.tag-attraction-summer_toboggan,
2055 path.casing.tag-attraction-water_slide {
2058 path.stroke.tag-attraction-summer_toboggan,
2059 path.stroke.tag-attraction-water_slide {
2062 .low-zoom path.shadow.tag-attraction-summer_toboggan,
2063 .low-zoom path.shadow.tag-attraction-water_slide {
2066 .low-zoom path.casing.tag-attraction-summer_toboggan,
2067 .low-zoom path.casing.tag-attraction-water_slide {
2070 .low-zoom path.stroke.tag-attraction-summer_toboggan,
2071 .low-zoom path.stroke.tag-attraction-water_slide {
2074 path.stroke.tag-attraction-summer_toboggan {
2077 path.casing.tag-attraction-summer_toboggan {
2081 path.stroke.tag-attraction-water_slide {
2084 path.casing.tag-attraction-water_slide {
2091 cursor: not-allowed !important;
2096 cursor: auto; /* Opera */
2097 cursor: url(<%= asset_path("iD/img/cursor-grab.png") %>) 9 9, auto; /* FF */
2100 .mode-browse .point,
2101 .mode-select .point {
2102 cursor: pointer; /* Opera */
2103 cursor: url(<%= asset_path("iD/img/cursor-select-point.png") %>), pointer; /* FF */
2106 .mode-select .vertex,
2107 .mode-browse .vertex {
2108 cursor: pointer; /* Opera */
2109 cursor: url(<%= asset_path("iD/img/cursor-select-vertex.png") %>), pointer; /* FF */
2113 .mode-select .line {
2114 cursor: pointer; /* Opera */
2115 cursor: url(<%= asset_path("iD/img/cursor-select-line.png") %>), pointer; /* FF */
2119 .mode-browse .area {
2120 cursor: pointer; /* Opera */
2121 cursor: url(<%= asset_path("iD/img/cursor-select-area.png") %>), pointer; /* FF */
2124 .mode-select .midpoint,
2125 .mode-browse .midpoint {
2126 cursor: pointer; /* Opera */
2127 cursor: url(<%= asset_path("iD/img/cursor-select-split.png") %>), pointer; /* FF */
2130 .mode-select .behavior-multiselect .point,
2131 .mode-select .behavior-multiselect .vertex,
2132 .mode-select .behavior-multiselect .line,
2133 .mode-select .behavior-multiselect .area {
2134 cursor: pointer; /* Opera */
2135 cursor: url(<%= asset_path("iD/img/cursor-select-add.png") %>), pointer; /* FF */
2138 .mode-select .behavior-multiselect .selected {
2139 cursor: pointer; /* Opera */
2140 cursor: url(<%= asset_path("iD/img/cursor-select-remove.png") %>), pointer; /* FF */
2143 .mode-draw-line #map,
2144 .mode-draw-area #map,
2145 .mode-add-line #map,
2146 .mode-add-area #map,
2147 .mode-drag-node #map,
2148 .mode-drag-note #map {
2149 cursor: crosshair; /* Opera */
2150 cursor: url(<%= asset_path("iD/img/cursor-draw.png") %>) 9 9, crosshair; /* FF */
2153 .mode-draw-line .way.target,
2154 .mode-draw-area .way.target,
2155 .mode-add-line .way.target,
2156 .mode-add-area .way.target,
2157 .mode-drag-node .way.target {
2158 cursor: crosshair; /* Opera */
2159 cursor: url(<%= asset_path("iD/img/cursor-draw-connect-line.png") %>) 9 9, crosshair; /* FF */
2162 .mode-draw-line .vertex.target,
2163 .mode-draw-area .vertex.target,
2164 .mode-add-line .vertex.target,
2165 .mode-add-area .vertex.target,
2166 .mode-drag-node .vertex.target {
2167 cursor: crosshair; /* Opera */
2168 cursor: url(<%= asset_path("iD/img/cursor-draw-connect-vertex.png") %>) 9 9, crosshair; /* FF */
2171 .mode-add-point #map,
2172 .mode-add-note #map,
2173 .mode-browse.lasso #map,
2174 .mode-browse.lasso .way,
2175 .mode-browse.lasso .vertex,
2176 .mode-browse.lasso .midpoint,
2177 .mode-select.lasso #map,
2178 .mode-select.lasso .way,
2179 .mode-select.lasso .vertex,
2180 .mode-select.lasso .midpoint {
2181 cursor: crosshair; /* Opera */
2182 cursor: url(<%= asset_path("iD/img/cursor-draw.png") %>) 9 9, crosshair; /* FF */
2189 /* photo viewer div */
2197 background-color: #fff;
2199 [dir='rtl'] #photoviewer {
2204 @media screen and (min-width: 1600px) {
2211 #photoviewer button.thumb-hide {
2220 #photoviewer button.resize-handle-xy {
2226 cursor: nesw-resize;
2231 #photoviewer button.resize-handle-x {
2243 #photoviewer button.resize-handle-y {
2256 .photo-wrapper img {
2263 .photo-wrapper .photo-attribution {
2275 .photo-attribution a,
2276 .photo-attribution a:visited,
2277 .photo-attribution span {
2282 /* markers and sequences */
2284 pointer-events: none;
2286 .mode-browse .viewfield-group,
2287 .mode-select .viewfield-group {
2288 pointer-events: visible;
2292 .viewfield-group.selected * {
2293 fill: #ffee00 !important;
2295 .viewfield-group.hovered * {
2296 fill: #eebb00 !important;
2299 .viewfield-group circle {
2302 stroke-opacity: 0.4;
2305 .viewfield-group.highlighted circle {
2307 stroke-opacity: 0.9;
2310 .viewfield-group.highlighted.hovered circle {
2313 stroke-opacity: 0.9;
2316 .viewfield-group.highlighted.selected circle {
2323 .viewfield-group .viewfield {
2328 .viewfield-group.highlighted .viewfield {
2332 .viewfield-group.highlighted.hovered .viewfield {
2336 .viewfield-group.highlighted.selected .viewfield {
2341 .viewfield-group.selected .viewfield-scale {
2342 transform: scale(2,2);
2348 stroke-opacity: 0.4;
2350 .sequence.highlighted,
2351 .sequence.selected {
2357 /* Streetside Image Layer */
2358 .layer-streetside-images {
2359 pointer-events: none;
2361 .layer-streetside-images .viewfield-group * {
2364 .layer-streetside-images .sequence {
2366 stroke-opacity: 0.85; /* bump opacity - only one per road */
2370 /* Mapillary Image Layer */
2371 .layer-mapillary-images {
2372 pointer-events: none;
2374 .layer-mapillary-images .viewfield-group * {
2377 .layer-mapillary-images .sequence {
2382 /* Mapillary Sign Layer */
2383 .layer-mapillary-signs {
2384 pointer-events: none;
2386 .layer-mapillary-signs .icon-sign {
2387 outline: 2px solid transparent;
2388 pointer-events: visible;
2391 .layer-mapillary-signs .icon-sign:hover {
2392 outline: 5px solid #eebb00;
2393 background-color: #eebb00;
2395 .layer-mapillary-signs .icon-sign.selected {
2396 outline: 5px solid #ffee00;
2397 background-color: #ffee00;
2401 /* OpenStreetCam Image Layer */
2402 .layer-openstreetcam-images {
2403 pointer-events: none;
2405 .layer-openstreetcam-images .viewfield-group * {
2408 .layer-openstreetcam-images .sequence {
2413 /* Streetside Viewer (pannellum) */
2414 .ms-wrapper .photo-attribution .image-link {
2417 .ms-wrapper .photo-attribution .attribution-row {
2419 flex-flow: row nowrap;
2420 justify-content: space-between;
2421 align-items: center;
2424 .ms-wrapper .photo-attribution .image-view-link {
2428 .ms-wrapper .photo-attribution .image-report-link {
2432 .ms-wrapper .photo-attribution a:active,
2433 .ms-wrapper .photo-attribution a:hover {
2437 .ms-wrapper .pnlm-compass.pnlm-control {
2442 background-size: contain;
2443 background-repeat: no-repeat no-repeat;
2446 label.streetside-hires {
2449 .streetside-hires span {
2452 .streetside-hires input[type="checkbox"] {
2460 /* Mapillary viewer */
2461 #mly .domRenderer .TagSymbol {
2463 background-color: rgba(0,0,0,0.4);
2468 #mly .domRenderer .Attribution {
2469 /* we will roll our own to avoid async update issues like #4526 */
2473 .mly-wrapper .photo-attribution a:active,
2474 .mly-wrapper .photo-attribution a:hover {
2478 .mly-wrapper .mapillary-js-dom {
2483 /* OpenStreetCam viewer */
2486 background-color: #000;
2487 background-image: url(<%= asset_path("iD/img/loader-black.gif") %>);
2488 background-position: center;
2489 background-repeat: no-repeat;
2492 .osc-wrapper .photo-attribution a:active,
2493 .osc-wrapper .photo-attribution a:hover {
2500 transform-origin:0 0;
2501 -ms-transform-origin:0 0;
2502 -webkit-transform-origin:0 0;
2503 -moz-transform-origin:0 0;
2504 -o-transform-origin:0 0;
2508 /* photo-controls (step forward, back, rotate) */
2509 .photo-controls-wrap {
2518 display: inline-block;
2522 .photo-controls button,
2523 .photo-controls button:focus {
2526 background: rgba(0,0,0,0.65);
2530 .photo-controls button:first-of-type {
2531 border-radius: 3px 0 0 3px;
2533 .photo-controls button:last-of-type {
2534 border-radius: 0 3px 3px 0;
2536 .photo-controls button:hover,
2537 .photo-controls button:active {
2538 background: rgba(0,0,0,0.85);
2542 /* OSM Notes Layer */
2544 pointer-events: none;
2546 .layer-notes .note * {
2547 pointer-events: none;
2549 .mode-browse .layer-notes .note .note-fill,
2550 .mode-select .layer-notes .note .note-fill,
2551 .mode-select-data .layer-notes .note .note-fill,
2552 .mode-select-note .layer-notes .note .note-fill {
2553 pointer-events: visible;
2554 cursor: pointer; /* Opera */
2555 cursor: url(<%= asset_path("iD/img/cursor-select-point.png") %>), pointer; /* FF */
2558 .note-header-icon .note-shadow,
2559 .layer-notes .note .note-shadow {
2562 .note-header-icon .note-fill,
2563 .layer-notes .note .note-fill {
2568 .note-header-icon.new .note-fill,
2569 .layer-notes .note.new .note-fill {
2574 .note-header-icon.closed .note-fill,
2575 .layer-notes .note.closed .note-fill {
2581 /* slight adjustments to preset icon for note icons */
2582 .note-header-icon .preset-icon-28 {
2585 .note-header-icon .note-icon-annotation {
2591 .note-header-icon .note-icon-annotation .icon {
2597 /* Custom Map Data (geojson, gpx, kml, vector tile) */
2600 pointer-events: none;
2603 .layer-mapdata path.shadow {
2604 pointer-events: stroke;
2610 .layer-mapdata path.MultiPoint.shadow,
2611 .layer-mapdata path.Point.shadow {
2612 pointer-events: fill;
2616 .layer-mapdata path.shadow.hover:not(.selected) {
2617 stroke-opacity: 0.4;
2619 .layer-mapdata path.shadow.selected {
2620 stroke-opacity: 0.7;
2623 .layer-mapdata path.stroke {
2629 .layer-mapdata path.fill {
2631 stroke-opacity: 0.3;
2638 .layer-mapdata text.label-halo,
2639 .layer-mapdata text.label {
2642 dominant-baseline: middle;
2644 .layer-mapdata text.label {
2647 .layer-mapdata text.label.hover,
2648 .layer-mapdata text.label.selected {
2651 .layer-mapdata text.label-halo {
2655 stroke-miterlimit: 1;
2660 .low-zoom.fill-wireframe path.stroke,
2661 .fill-wireframe path.stroke {
2662 stroke-width: 1 !important;
2663 stroke-opacity: 0.5 !important;
2664 stroke-dasharray: none !important;
2665 fill: none !important;
2667 .low-zoom.fill-wireframe .layer-mapdata path.stroke,
2668 .fill-wireframe .layer-mapdata path.stroke {
2669 stroke-width: 2 !important;
2670 stroke-opacity: 1 !important;
2673 .low-zoom.fill-wireframe path.shadow,
2674 .fill-wireframe path.shadow {
2678 .fill-wireframe path.shadow.related:not(.selected),
2679 .fill-wireframe path.shadow.hover:not(.selected) {
2680 stroke-opacity: 0.4;
2682 .fill-wireframe path.shadow.selected {
2683 stroke-opacity: 0.6;
2686 .fill-wireframe .point,
2687 .fill-wireframe .areaicon,
2688 .fill-wireframe .areaicon-halo,
2689 .fill-wireframe path.casing,
2690 .fill-wireframe path.fill,
2691 .fill-wireframe path.oneway {
2692 display: none !important;
2695 .fill-partial path.area.fill {
2698 pointer-events: none;
2700 .mode-browse .fill-partial path.area.fill,
2701 .mode-select .fill-partial path.area.fill {
2702 pointer-events: visibleStroke;
2705 ------------------------------------------------------- */
2707 Opera misbehaves when the window is resized vertically unless 100% width + height are
2708 applied to both html and body. https://gist.github.com/jfirebaugh/bd225bcfdd3a633850c4
2716 font: normal 12px/1.6667 "-apple-system", BlinkMacSystemFont,
2717 "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell",
2718 "Fira Sans", "Droid Sans", "Helvetica Neue", "Arial",
2724 -ms-user-select: none;
2725 -ms-content-zooming: none;
2730 vertical-align: middle;
2747 -webkit-filter: none !important;
2748 filter: none !important;
2749 -webkit-duration: 200ms;
2750 transition-duration: 200ms;
2754 -webkit-filter: grayscale(80%) brightness(80%);
2755 filter: grayscale(80%) brightness(80%);
2756 -webkit-duration: 200ms;
2757 transition-duration: 200ms;
2761 /* Can't be display: none or the clippaths are ignored. */
2767 div, textarea, label, input, form, span, ul, li, ol, a, button, h1, h2, h3, h4, h5, p, img {
2768 -moz-box-sizing: border-box;
2769 -webkit-box-sizing: border-box;
2770 box-sizing: border-box;
2773 a, button, input, textarea {
2774 -webkit-tap-highlight-color: rgba(0,0,0,0);
2775 -webkit-touch-callout: none;
2792 margin-bottom: 20px;
2797 h4:last-child { margin-bottom: 0;}
2803 margin-bottom: 10px;
2808 padding-bottom: 10px;
2812 outline-color: transparent;
2813 outline-style: none;
2816 ::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
2818 opacity: 1; /* Firefox */
2820 :-ms-input-placeholder { /* Internet Explorer 10-11 */
2823 ::-ms-input-placeholder { /* Microsoft Edge */
2849 ------------------------------------------------------- */
2852 font:normal 12px/20px "-apple-system", BlinkMacSystemFont,
2853 "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell",
2854 "Fira Sans", "Droid Sans", "Helvetica Neue", "Arial",
2865 background-color: #fff;
2867 border: 1px solid #ccc;
2868 padding: 5px 20px 5px 10px;
2871 text-overflow: ellipsis;
2873 [dir='rtl'] textarea,
2874 [dir='rtl'] input[type=text],
2875 [dir='rtl'] input[type=search],
2876 [dir='rtl'] input[type=number],
2877 [dir='rtl'] input[type=url],
2878 [dir='rtl'] input[type=tel],
2879 [dir='rtl'] input[type=email] {
2880 padding: 5px 10px 5px 20px;
2885 background-color: #f1f1f1;
2891 background-color: #eee;
2892 cursor: not-allowed;
2895 input[type="checkbox"],
2896 input[type="radio"] {
2904 [dir='rtl'] input[type="checkbox"],
2905 [dir='rtl'] input[type="radio"] {
2913 background-color: #fff;
2914 border-collapse: collapse;
2921 table.tags, table.tags td, table.tags th {
2922 border: 1px solid #ccc;
2931 ------------------------------------------------------- */
2932 .col6 { float: left; width: 50.0000%; max-width: 600px; }
2933 .col8 { float: left; width: 66.6666%; }
2934 .col12 { float: left; width: 100.0000%; }
2938 ------------------------------------------------------- */
2944 background: #f6f6f6;
2948 background: #ececec;
2952 background: rgba(0,0,0,.5);
2956 background: rgba(0,0,0,.75);
2961 .fr { float: right;}
2978 box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.25);
2981 background: url(<%= asset_path("iD/img/loader_bg.gif") %>);
2982 background-size: 5px 5px;
2987 ------------------------------------------------------- */
2996 display: inline-block;
3003 background-color: #ececec;
3006 background: #7092ff;
3009 background-color: rgba(255,255,255,.25);
3010 color: rgba(0,0,0,.4);
3011 cursor: not-allowed;
3016 border-right: 1px solid rgba(0,0,0,.5);
3018 [dir='rtl'] .joined button {
3019 border-left: 1px solid rgba(0,0,0,.5);
3023 .fillL .joined button {
3024 border-right: 1px solid #fff;
3026 .joined button:first-child {
3027 border-radius: 4px 0 0 4px;
3029 [dir='rtl'] .joined button:first-child {
3030 border-radius: 0 4px 4px 0;
3032 .joined button:last-child {
3033 border-right-width: 0;
3034 border-radius: 0 4px 4px 0;
3036 [dir='rtl'] .joined button:last-child {
3037 border-radius: 4px 0 0 4px;
3041 /* Action buttons */
3043 background: #7092ff;
3046 button.action:focus,
3047 button.action:hover {
3048 background: #597be7;
3050 button.secondary-action {
3051 background: #ececec;
3053 button.secondary-action:focus,
3054 button.secondary-action:hover {
3055 background: #cccccc;
3058 button[disabled].action,
3059 button[disabled].action:hover {
3060 background: #cccccc;
3062 cursor: not-allowed;
3067 ------------------------------------------------------- */
3069 vertical-align: top;
3075 vertical-align: text-top;
3084 [dir='rtl'] .icon.pre-text {
3089 .icon.pre-text.user-icon {
3116 /* Toolbar / Persistent UI Elements
3117 ------------------------------------------------------- */
3120 flex-flow: row nowrap;
3121 justify-content: space-between;
3134 flex-flow: row nowrap;
3137 .tool-group.leading-area {
3139 justify-content: flex-start;
3141 .tool-group.center-area {
3142 justify-content: center;
3144 .tool-group.trailing-area {
3145 justify-content: flex-start;
3152 .tool-group button {
3154 flex-flow: row nowrap;
3155 align-items: center;
3159 .tool-group button .icon {
3162 .tool-group button .label {
3167 button.save .count {
3168 display: inline-block;
3169 border: 0px solid #ccc;
3170 border-left-width: 1px;
3171 padding: 0px 0px 0px 8px;
3175 [dir='rtl'] button.save .count {
3176 border-left-width: 0px;
3177 border-right-width: 1px;
3178 padding: 0px 8px 0px 0px;
3180 button.save.disabled .count {
3181 border: 0px solid rgba(0,0,0,0.25);
3182 border-left-width: 1px;
3184 [dir='rtl'] button.save.disabled .count {
3185 border-left-width: 0px;
3186 border-right-width: 1px;
3187 padding: 0px 8px 0px 0px;
3189 #bar.narrow button.save .count {
3193 button.save .label {
3197 [dir='rtl'] button.save .label {
3202 .help-wrap svg.icon.pre-text.add-note,
3203 button.add-note svg.icon {
3206 color: rgba(0,0,0,0.25);
3211 button.add-note svg.icon {
3215 [dir='rtl'] button.add-note svg.icon {
3217 margin-right: unset;
3219 .help-wrap svg.icon.pre-text.add-note {
3228 justify-content: flex-end;
3236 [dir='rtl'] .spinner img {
3237 -moz-transform: scaleX(-1);
3238 -o-transform: scaleX(-1);
3239 -webkit-transform: scaleX(-1);
3240 transform: scaleX(-1);
3242 -ms-filter: "FlipH";
3246 #bar.narrow .tool-group {
3249 #bar.narrow .spinner,
3250 #bar.narrow button .label {
3253 #bar.narrow button .count {
3254 border-left-width: 0;
3255 border-right-width: 0;
3259 /* Header for modals / panes
3260 ------------------------------------------------------- */
3262 border-bottom: 1px solid #ccc;
3270 white-space: nowrap;
3271 text-overflow: ellipsis;
3289 .field-help-title button.close,
3290 .sidebar-component .header button.data-editor-close,
3291 .sidebar-component .header button.note-editor-close,
3292 .entity-editor-pane .header button.preset-close,
3293 .preset-list-pane .header button.preset-choose {
3298 [dir='rtl'] .field-help-title button.close,
3299 [dir='rtl'] .sidebar-component .header button.data-editor-close,
3300 [dir='rtl'] .sidebar-component .header button.note-editor-close,
3301 [dir='rtl'] .entity-editor-pane .header button.preset-close,
3302 [dir='rtl'] .preset-list-pane .header button.preset-choose {
3307 .entity-editor-pane .header button.preset-choose {
3312 [dir='rtl'] .entity-editor-pane .header button.preset-choose {
3330 [dir='rtl'] .modal > button {
3339 padding: 5px 20px 5px 20px;
3340 border-top: 1px solid #ccc;
3341 background-color: #f6f6f6;
3345 justify-content: space-between;
3351 justify-content: center;
3355 /* Hide/Toggle collapsable sections (aka Disclosure)
3356 ------------------------------------------------------- */
3357 .hide-toggle .icon.pre-text {
3358 vertical-align: text-top;
3363 [dir='rtl'] .hide-toggle .icon.pre-text {
3368 a:visited.hide-toggle,
3370 display: inline-block;
3373 padding-bottom: 5px;
3377 /* Sidebar / Inspector
3378 ------------------------------------------------------- */
3384 background: #f6f6f6;
3385 -ms-user-select: element;
3386 border: 0px solid #ccc;
3387 border-right-width: 1px;
3389 [dir='rtl'] #sidebar {
3391 border-right-width: 0px;
3392 border-left-width: 1px;
3403 [dir='rtl'] #sidebar-resizer {
3408 #sidebar.collapsed #sidebar-resizer {
3409 /* make target wider to avoid the user accidentally resizing window */
3413 [dir='rtl'] #sidebar.collapsed #sidebar-resizer {
3417 .sidebar-component {
3425 .sidebar-component .body {
3476 border-bottom: 1px solid #ccc
3479 .feature-list-pane .inspector-body,
3480 .preset-list-pane .inspector-body {
3483 .entity-editor-pane .inspector-body,
3484 .selection-list-pane .inspector-body {
3493 #sidebar .search-header .icon {
3498 pointer-events: none;
3500 [dir='rtl'] #sidebar .search-header .icon {
3505 #sidebar .search-header input {
3513 border-bottom-width: 1px;
3520 /* Feature List / Search Results
3521 ------------------------------------------------------- */
3527 .feature-list-item {
3530 border-bottom: 1px solid #ccc;
3536 background-color: #ccc;
3542 .geocode-item:hover {
3543 background-color: #aaa;
3546 .feature-list-item {
3547 background-color: #fff;
3552 .feature-list-item:hover {
3553 background-color: #ececec;
3555 .feature-list-item button {
3556 background: transparent;
3558 .feature-list-item .label {
3561 white-space: nowrap;
3562 text-overflow: ellipsis;
3564 border-left: 1px solid rgba(0, 0, 0, .1);
3566 [dir='rtl'] .feature-list-item .label {
3570 .feature-list-item .label .icon {
3573 .feature-list-item .close {
3577 .feature-list-item .close .icon {
3580 .feature-list-item .entity-type {
3583 .feature-list-item:hover .entity-type {
3586 .feature-list-item .entity-name {
3587 font-weight: normal;
3591 [dir='rtl'] .feature-list-item .entity-name {
3593 padding-right: 10px;
3597 /* Preset List and Icons
3598 ------------------------------------------------------- */
3601 padding: 20px 20px 10px 20px;
3602 border-bottom: 1px solid #ccc;
3605 .preset-list-button-wrap {
3607 margin-bottom: 10px;
3611 .preset-list-button {
3615 border: 1px solid #ccc;
3618 .preset-list.filtered .preset-list-item:first-child .preset-list-button {
3619 background: #ececec;
3622 .preset-icon-fill-area {
3632 .preset-icon-fill-vertex {
3639 border: 1.5px solid #333;
3640 border-radius: 20px;
3641 background-color: #efefef;
3642 backface-visibility: hidden;
3645 [dir='rtl'] .preset-icon-fill-vertex,
3646 [dir='rtl'] .preset-icon-fill-area {
3651 .preset-icon-frame {
3657 [dir='rtl'] .preset-icon-frame {
3662 .preset-icon-frame .icon {
3674 .preset-icon-60 .icon {
3686 .preset-icon-44 .icon {
3698 .preset-icon-28 .icon {
3710 .preset-icon-24 .icon {
3715 [dir='rtl'] .preset-list-button-wrap .preset-icon {
3720 [dir='rtl'] .preset-list-button-wrap .preset-icon-28 {
3724 [dir='rtl'] .preset-list-button-wrap .preset-icon-24 {
3728 .preset-list-button .label {
3730 flex-flow: row wrap;
3731 align-items: center;
3732 background-color: #f6f6f6;
3740 border-left: 1px solid rgba(0, 0, 0, .1);
3741 border-radius: 0 3px 3px 0;
3743 [dir='rtl'] .preset-list-button .label {
3748 border-right: 1px solid rgba(0, 0, 0, .1);
3749 border-radius: 3px 0 0 3px;
3752 .preset-list-button .label-inner {
3755 .preset-list-button .label-inner .namepart {
3757 white-space: nowrap;
3758 text-overflow: ellipsis;
3760 padding-right: 30px;
3762 [dir='rtl'] .preset-list-button .label-inner .namepart {
3767 .preset-list-button:hover .label,
3768 .preset-list-button:focus .label {
3769 background-color: #ececec;
3772 .preset-list-item button.tag-reference-button {
3774 border: 1px solid #ccc;
3775 border-radius: 0 3px 3px 0;
3780 background: #f6f6f6;
3782 [dir='rtl'] .preset-list-item button.tag-reference-button {
3785 border-radius: 3px 0 0 3px;
3788 .preset-list-item button.tag-reference-button:hover {
3789 background: #f1f1f1;
3791 .preset-list-item button.tag-reference-button .icon {
3795 img.tag-reference-wiki-image {
3798 width: -webkit-calc(33.3333% - 10px);
3799 width: calc(33.3333% - 10px);
3802 margin: 10px 5px 15px 20px;
3806 .current .preset-list-button,
3807 .current .preset-list-button .label {
3808 background-color: #e8ebff;
3811 .category .preset-list-button:after,
3812 .category .preset-list-button:before {
3816 left: -1px; right: -1px;
3817 border: 1px solid #ccc;
3818 border-bottom: none;
3819 border-radius: 6px 6px 0 0;
3823 .category .preset-list-button:before {
3827 .subgrid .preset-list {
3828 padding: 10px 10px 0 10px;
3832 width: -webkit-calc(100% + 20px);
3837 border: solid rgba(0, 0, 0, 0);
3839 border-bottom-color: #f1f1f1;
3843 margin-left: -webkit-calc(50% - 10px);
3848 /* Entity/Preset Editor
3849 ------------------------------------------------------- */
3852 padding-bottom: 10px;
3854 .preset-editor a.hide-toggle {
3855 margin: 0 20px 5px 20px;
3857 .preset-editor .form-fields-container {
3859 margin: 0 10px 10px 10px;
3862 .preset-editor .form-fields-container:empty {
3865 .entity-editor-pane .preset-list-item .preset-list-button-wrap {
3870 The parts of a field:
3871 - `.form-field` is a `div` wraps the entire thing
3872 - `.form-field-label` is a `label` that wraps the top part, it contains;
3873 - `span` classed `label-text`
3874 - 0..n buttons for "remove", "modified", "tag reference"
3875 - `.form-field-input-wrap` is a `label` or `div` that wraps the bottom part, it contains;
3876 - usually an `input`
3877 - sometimes some buttons (translate, increment, decrement)
3878 - or could just be a `div` with anything really
3879 - `.tag-reference-body` at the bottom (usually hidden)
3881 .------------------. -
3882 | Name | i | <- .form-field-label |
3883 +------------------+ |
3884 | Starbucks | + | <- .form-field-input-wrap > .form-field
3885 '------------------' |
3886 tag reference <- .tag-reference-body |
3892 flex-flow: row wrap;
3893 margin-bottom: 10px;
3895 -webkit-transition: margin-bottom 200ms;
3896 -moz-transition: margin-bottom 200ms;
3897 -o-transition: margin-bottom 200ms;
3898 transition: margin-bottom 200ms;
3902 .wrap-form-field:last-child .form-field {
3906 /* A `label` element that wraps the top section */
3909 flex-flow: row nowrap;
3915 background: #f6f6f6;
3916 border: 1px solid #ccc;
3917 border-radius: 4px 4px 0 0;
3920 .form-field-label .label-text {
3922 padding: 5px 0 5px 10px;
3924 [dir='rtl'] .form-field-label .label-text {
3925 padding: 5px 10px 5px 0;
3928 .form-field-label button {
3930 border-left: 1px solid #ccc;
3934 background: #f6f6f6;
3936 [dir='rtl'] .form-field-label button {
3938 border-right: 1px solid #ccc;
3940 .form-field-label button:hover {
3941 background: #f1f1f1;
3943 .form-field-label .icon {
3947 .form-field-label .modified-icon,
3948 .form-field-label .remove-icon {
3951 .modified .form-field-label .modified-icon,
3952 .present .form-field-label .remove-icon {
3953 display: inline-block;
3956 /* A `div` element that wraps the bottom section */
3957 .form-field-input-wrap {
3959 flex-flow: row nowrap;
3963 border-radius: 0 0 4px 4px;
3965 .nowrap .form-field-input-wrap {
3970 .form-field-input-wrap > input,
3971 .form-field-input-wrap > label,
3972 .form-field-input-wrap > textarea,
3973 .form-field-input-wrap > ul.chiplist {
3976 border: 1px solid #ccc;
3982 .form-field-input-wrap > textarea {
3984 border-radius: 0 0 4px 4px;
3987 /* Buttons inside fields */
3988 .form-field-button {
3993 background-color: #fff;
3994 border: 1px solid #ccc;
3996 border-top-width: 0;
3997 border-left-width: 0;
3998 vertical-align: top;
4000 [dir='rtl'] .form-field-button {
4001 border-left-width: 1px;
4002 border-right-width: 0;
4004 .form-field-button:hover {
4005 background-color: #f1f1f1;
4007 .form-field-button .icon {
4013 /* round corners of first/last child elements */
4014 .form-field-input-wrap > button:last-of-type {
4015 border-bottom-right-radius: 4px;
4017 [dir='rtl'] .form-field-input-wrap > button:last-of-type {
4018 border-bottom-left-radius: 4px;
4022 /* Field - Access, Cycleway
4023 ------------------------------------------------------- */
4024 .form-field-input-access,
4025 .form-field-input-cycleway {
4028 flex-flow: row wrap;
4031 /* Field - lists with labeled input items
4032 ------------------------------------------------------- */
4033 .form-field ul.labeled-inputs {
4035 border: 1px solid #ccc;
4037 border-radius: 0 0 4px 4px;
4041 .form-field ul.labeled-inputs li {
4042 border-top: 1px solid #ccc;
4044 flex-flow: row nowrap;
4046 .form-field ul.labeled-inputs li:first-child {
4049 .form-field ul.labeled-inputs li > span,
4050 .form-field ul.labeled-inputs li > div {
4055 .form-field ul.labeled-inputs li input {
4059 .form-field ul.labeled-inputs li input,
4060 .form-field ul.labeled-inputs li button {
4062 border-left-width: 1px;
4064 [dir='rtl'] .form-field ul.labeled-inputs li input,
4065 [dir='rtl'] .form-field ul.labeled-inputs li button {
4066 border-left-width: 0;
4067 border-right-width: 1px;
4071 /* Field - Structure
4072 ------------------------------------------------------- */
4073 .structure-extras-wrap {
4077 border: 1px solid #ccc;
4079 border-radius: 0 0 4px 4px;
4081 .structure-extras-wrap > ul.labeled-inputs {
4082 border: 1px solid #ccc;
4087 /* Field - Combo / Multicombo
4088 ------------------------------------------------------- */
4089 .form-field-input-combo > input:only-of-type {
4090 border-radius: 0 0 4px 4px;
4093 .form-field-input-multicombo ul.chiplist {
4094 padding: 5px 0 5px 10px;
4097 border-radius: 0 0 4px 4px;
4100 .form-field-input-multicombo li.chips {
4101 display: inline-flex;
4102 flex-flow: row nowrap;
4103 align-items: center;
4104 background-color: #eff2f7;
4105 border: 1px solid #ccd5e3;
4112 .form-field-input-multicombo a {
4113 font-family: Arial, Helvetica, sans-serif !important;
4114 font-size: 16px !important;
4117 margin: 1px 0 0 5px;
4123 .form-field-input-multicombo input {
4124 border: 1px solid #ddd;
4130 .form-field-input-multicombo .combobox-caret {
4131 margin: 3px 3px 3px -30px;
4134 .form-field-input-multicombo input:focus {
4135 border-radius: 4px !important;
4139 /* Field - Text / Numeric
4140 ------------------------------------------------------- */
4141 .form-field-input-text > input:only-of-type,
4142 .form-field-input-tel > input:only-of-type,
4143 .form-field-input-email > input:only-of-type,
4144 .form-field-input-url > input:only-of-type {
4145 border-radius: 0 0 4px 4px;
4147 .form-field-input-number > input:only-of-type {
4148 border-radius: 0 0 0 4px;
4150 [dir='rtl'] .form-field-input-number > input:only-of-type {
4151 border-radius: 0 0 4px 0;
4153 .form-field-input-number > button:last-of-type {
4154 border-radius: 0 0 4px 0;
4156 [dir='rtl'] .form-field-input-number > button:last-of-type {
4157 border-radius: 0 0 0 4px;
4160 /* draw the up/down on the buttons */
4161 .form-field-input-number button.decrement::after,
4162 .form-field-input-number button.increment::after {
4164 height: 0; width: 0;
4166 left: 0; right: 0; bottom: 0; top: 0;
4169 .form-field-input-number button.decrement::after {
4170 border-top: 5px solid #ccc;
4171 border-left: 5px solid transparent;
4172 border-right: 5px solid transparent;
4174 .form-field-input-number button.increment::after {
4175 border-bottom: 5px solid #ccc;
4176 border-left: 5px solid transparent;
4177 border-right: 5px solid transparent;
4182 ------------------------------------------------------- */
4183 .form-field-input-check {
4189 border: 1px solid #ccc;
4193 .form-field-input-check > input[type="checkbox"] {
4198 .form-field-input-check > span {
4201 .form-field-input-check > .reverser.button {
4203 background-color: #eff2f7;
4204 border: 1px solid #ccd5e3;
4208 .form-field-input-check > .reverser.button.hide {
4212 .form-field-input-check:hover {
4213 background: #f1f1f1;
4215 .form-field-input-check .set {
4218 .form-field-input-check label:not(.set) input[type="checkbox"] {
4223 /* Field - Radio button
4224 ------------------------------------------------------- */
4225 .form-field-input-radio {
4228 flex-flow: row wrap;
4230 .form-field-input-radio > label {
4233 flex-flow: row nowrap;
4237 background-color: #fff;
4241 .form-field-input-radio > label:last-child {
4242 border-radius: 0 0 4px 4px;
4244 .form-field-input-radio > label:hover {
4245 background-color: #ececec;
4247 .form-field-input-radio > label.active {
4248 background-color: #e8ebff;
4250 .form-field-input-radio > label:not(:last-of-type) {
4251 border-bottom: 1px solid #ccc;
4253 .form-field-input-radio > label > input[type="radio"] {
4257 .form-field-input-radio > label > span {
4260 white-space: nowrap;
4261 text-overflow: ellipsis;
4264 /* Hide placeholder for radio buttons if another is active, or not in hover state */
4265 .form-field-input-radio label.active ~ .placeholder,
4266 .form-field-input-radio .placeholder {
4277 ------------------------------------------------------- */
4278 .form-field-input-maxspeed > input:first-of-type {
4279 border-radius: 0 0 0 4px;
4281 [dir='rtl'] .form-field-input-maxspeed > input:first-of-type {
4282 border-radius: 0 0 4px 0;
4284 .form-field-input-maxspeed > input:last-of-type { /* unit field */
4288 border-radius: 0 0 4px 0;
4290 [dir='rtl'] .form-field-input-maxspeed > input:last-of-type {
4292 border-radius: 0 0 0 4px;
4296 /* Field - Localized Name
4297 ------------------------------------------------------- */
4298 .form-field-input-localized > input.localized-main {
4299 border-radius: 0 0 0 4px;
4301 [dir='rtl'] .form-field-input-localized > input.localized-main {
4302 border-radius: 0 0 4px 0;
4304 .form-field-input-localized > button.localized-add {
4305 border-radius: 0 0 4px 0;
4307 [dir='rtl'] .form-field-input-localized > button.localized-add {
4308 border-radius: 0 0 0 4px;
4311 .form-field-input-localized button.localized-add.disabled,
4312 .form-field-input-localized input.localized-main.disabled,
4313 .form-field-input-localized input.localized-lang.disabled,
4314 .form-field-input-localized input.localized-value.disabled {
4316 background-color: #eee;
4317 cursor: not-allowed;
4320 /* nested subfields for name in different languages */
4321 .localized-multilingual {
4325 .localized-multilingual .entry {
4330 /* draws a little line connecting the multilingual field up to the name field */
4331 .localized-multilingual .entry::before {
4344 .localized-multilingual .entry .localized-lang {
4346 border-top-width: 0;
4349 .localized-multilingual .entry .localized-value {
4350 border-top-width: 0;
4351 border-radius: 0 0 4px 4px;
4357 ------------------------------------------------------- */
4358 .form-field-input-address {
4361 flex-flow: row wrap;
4362 border: 1px solid #ccc;
4379 [dir='rtl'] .addr-row input {
4380 border-right: 1px solid #ccc;
4384 .addr-row:first-of-type input {
4387 .addr-row input:first-of-type {
4390 [dir='rtl'] .addr-row input:first-of-type {
4393 .addr-row:last-of-type input:first-of-type {
4394 border-radius: 0 0 0 4px;
4396 [dir='rtl'] .addr-row:last-of-type input:first-of-type {
4397 border-radius: 0 0 4px 0;
4399 .addr-row:last-of-type input:last-of-type {
4400 border-radius: 0 0 4px 0;
4402 [dir='rtl'] .addr-row:last-of-type input:last-of-type {
4403 border-radius: 0 0 0 4px;
4407 /* Field - Wikipedia
4408 ------------------------------------------------------- */
4409 .form-field-input-wikipedia {
4411 flex-flow: row wrap;
4415 .wiki-lang-container,
4416 .wiki-title-container {
4418 flex-flow: row nowrap;
4423 .wiki-lang-container > input.wiki-lang,
4424 .wiki-title-container > input.wiki-title {
4429 .wiki-title-container > input.wiki-title {
4430 border-radius: 0 0 0 4px;
4432 [dir='rtl'] .wiki-title-container > input.wiki-title {
4433 border-radius: 0 0 4px 0;
4435 .wiki-title-container > button.wiki-link {
4436 border-radius: 0 0 4px 0;
4438 [dir='rtl'] .wiki-title-container > button.wiki-link {
4439 border-radius: 0 0 0 4px;
4443 /* Field - Restriction Editor
4444 ------------------------------------------------------- */
4445 .form-field-input-restrictions {
4447 border: 1px solid #ccc;
4449 border-radius: 0 0 4px 4px;
4452 .form-field-input-restrictions .restriction-controls-container {
4453 background-color: #fff;
4456 border-top: 1px solid #ccc;
4457 border-radius: 0 0 4px 4px;
4460 .restriction-controls-container .restriction-controls {
4462 -moz-user-select: none;
4463 -webkit-user-select: none;
4464 -ms-user-select: none;
4468 .restriction-controls .restriction-control {
4474 .restriction-control input,
4475 .restriction-control span {
4476 display: table-cell;
4481 .restriction-control span.restriction-control-label {
4485 .restriction-control input {
4489 vertical-align: middle;
4492 .form-field-input-restrictions .restriction-container {
4496 /* zero width space, so container takes up space */
4497 .form-field-input-restrictions .restriction-container:after {
4501 .form-field-input-restrictions svg.surface {
4506 .restriction-container .restriction-help {
4513 background-color: rgba(255, 255, 255, .8);
4516 pointer-events: none;
4518 -moz-user-select: none;
4519 -webkit-user-select: none;
4520 -ms-user-select: none;
4524 .restriction-help span {
4528 .restriction-help .qualifier {
4532 .restriction-help .qualifier.allow {
4535 .restriction-help .qualifier.restrict {
4538 .restriction-help .qualifier.only {
4543 /* Field - Changeset Comment
4544 ------------------------------------------------------- */
4545 .form-field-comment:not(.present) #preset-input-comment {
4546 border-color: rgb(230, 100, 100);
4548 .form-field-comment:not(.present) .form-field-label {
4549 border-color: rgb(230, 100, 100);
4550 background: rgba(230, 100, 100, 0.2);
4552 .form-field-comment:not(.present) button {
4553 border-color: rgb(230, 100, 100);
4558 ------------------------------------------------------- */
4562 box-shadow: 0 4px 10px 1px rgba(0,0,0,.2);
4568 border: 1px solid #ccc;
4569 border-radius: 0 0 4px 4px;
4575 border-top: 1px solid #ccc;
4576 text-overflow: ellipsis;
4577 white-space: nowrap;
4581 .combobox a.selected,
4583 background: #ececec;
4586 .combobox a:first-child {
4592 display: inline-block;
4597 vertical-align: top;
4600 [dir='rtl'] .combobox-caret {
4602 margin-right: -30px;
4605 .combobox-caret::after {
4607 height: 0; width: 0;
4609 left: 0; right: 0; bottom: 0; top: 0;
4611 border-top: 5px solid #ccc;
4612 border-left: 5px solid transparent;
4613 border-right: 5px solid transparent;
4616 /* Remove the field's bottom border radius when combobox is open */
4617 /* For some reason this stops the combobox from overlapping the bottom of the field */
4618 .combobox + * textarea:focus,
4619 .combobox + * input:focus {
4620 border-bottom-left-radius: 0 !important;
4621 border-bottom-right-radius: 0 !important;
4626 ------------------------------------------------------- */
4635 border: 1px solid #ccc;
4637 border-radius: 0 0 4px 4px;
4639 background: rgba(255,255,255,0.95);
4640 box-shadow: 0 0 30px 5px rgba(0,0,0,.4);
4643 .field-help-title h2 {
4648 .field-help-title button {
4657 margin-bottom: 10px;
4659 .field-help-nav-item {
4660 display: inline-block;
4665 .field-help-nav-item.active {
4667 border-bottom: 2px solid;
4669 .field-help-nav-item:hover {
4671 background-color: #efefef;
4674 .field-help-content {
4679 .field-help-content h3 {
4683 .field-help-content p {
4684 margin-bottom: 15px;
4686 .field-help-content ul li {
4691 .field-help-content .field-help-image {
4693 margin-bottom: 15px;
4696 .field-help-content svg.turn {
4700 .field-help-content svg.shadow {
4705 .field-help-content svg.from {
4708 .field-help-content svg.allow {
4711 .field-help-content svg.restrict {
4714 .field-help-content svg.only {
4718 .field-help-content p.from_shadow,
4719 .field-help-content p.allow_shadow,
4720 .field-help-content p.restrict_shadow,
4721 .field-help-content p.allow_turn,
4722 .field-help-content p.restrict_turn {
4727 /* More Fields dropdown
4728 ------------------------------------------------------- */
4730 padding: 0 20px 20px 20px;
4733 .changeset-editor .more-fields {
4734 padding: 15px 20px 0 20px;
4737 .more-fields label {
4739 flex-flow: row nowrap;
4740 justify-content: space-between;
4741 align-items: center;
4744 .more-fields input {
4748 [dir='rtl'] .more-fields input {
4753 .form-field-input-wrap .label {
4755 background: #f6f6f6;
4761 ------------------------------------------------------- */
4769 .tag-row .inner-wrap {
4771 flex-flow: row nowrap;
4776 .tag-row .value-wrap {
4781 .tag-row.readonly input.key,
4782 .tag-row.readonly input.value,
4783 .tag-row.readonly button.remove {
4785 background-color: #eee;
4786 cursor: not-allowed;
4793 border-bottom: 1px solid #ccc;
4794 border-left: 1px solid #ccc;
4797 [dir='rtl'] .tag-row input {
4799 border-right: 1px solid #ccc;
4803 .tag-row input.key {
4805 background-color: #f6f6f6;
4808 .tag-row input.value {
4809 border-right: 1px solid #ccc;
4811 [dir='rtl'] .tag-row input.value {
4812 border-left: 1px solid #ccc;
4815 .tag-row:first-child input.key {
4816 border-top: 1px solid #ccc;
4817 border-top-left-radius: 4px;
4819 [dir='rtl'] .tag-row:first-child input.key {
4820 border-top-left-radius: 0;
4821 border-top-right-radius: 4px;
4824 .tag-row:first-child input.value {
4825 border-top: 1px solid #ccc;
4831 border: 1px solid #ccc;
4832 border-top-width: 0;
4833 border-left-width: 0;
4835 [dir='rtl'] .tag-row button {
4836 border-left-width: 1px;
4837 border-right-width: 0;
4840 .tag-row button:hover {
4841 background: #f1f1f1;
4843 .tag-row button .icon {
4846 .tag-row:first-child button {
4847 border-top-width: 1px;
4850 .tag-row:first-child .tag-reference-button {
4851 border-top-right-radius: 4px;
4853 [dir='rtl'] .tag-row:first-child .tag-reference-button {
4854 border-top-left-radius: 4px;
4855 border-top-right-radius: 0;
4858 .tag-row:last-child .tag-reference-button {
4859 border-bottom-right-radius: 4px;
4861 [dir='rtl'] .tag-row:last-child .tag-reference-button {
4862 border-bottom-left-radius: 4px;
4863 border-bottom-right-radius: 0;
4866 .tag-row .tag-reference-button {
4869 [dir='rtl'] .tag-row .tag-reference-button {
4870 border-left-width: 1px;
4871 border-right-width: 0;
4874 /* Adding form fields to tag editor */
4875 .raw-tag-editor .add-tag {
4879 background: rgba(0,0,0,.5);
4880 border-radius: 0 0 4px 4px;
4882 .raw-tag-editor .add-tag:focus,
4883 .raw-tag-editor .add-tag:hover {
4884 background: rgba(0,0,0,.8);
4886 .raw-tag-editor .add-tag .label {
4891 .tag-reference-loading {
4892 background-color: #f5f5f5;
4894 .tag-reference-loading .icon {
4895 background-image: url(<%= asset_path("iD/img/mini-loader.gif") %>);
4896 background-position: 0 0;
4899 .tag-reference-body {
4904 .tag-reference-body .tag-reference-description {
4905 margin: 10px 5px 0 5px;
4907 .tag-reference-body a {
4910 .tag-reference-body .tag-reference-description:last-child,
4911 .tag-reference-body a:last-child {
4912 margin-bottom: 15px;
4915 .preset-list .tag-reference-body {
4919 .raw-tag-editor .tag-reference-body {
4922 .raw-tag-editor .tag-row.readonly .tag-reference-body {
4923 background: #f6f6f6;
4926 .raw-tag-editor .tag-row:not(:last-child) .tag-reference-body.expanded {
4927 border-bottom: 1px solid #ccc;
4929 .raw-tag-editor .tag-row.readonly .tag-reference-body.expanded {
4930 border-top: 1px solid #ccc;
4934 /* Raw Member / Membership Editor
4935 ------------------------------------------------------- */
4936 .raw-member-editor .member-list li:first-child,
4937 .raw-membership-editor .member-list li:first-child {
4940 .raw-member-editor .member-row .member-entity-name,
4941 .raw-membership-editor .member-row .member-entity-name {
4942 font-weight: normal;
4946 .form-field-input-member > input.member-role {
4947 border-radius: 0 0 0 4px;
4949 [dir='rtl'] .form-field-input-member > input.member-role {
4950 border-radius: 0 0 4px 0;
4953 .member-incomplete .form-field-input-member > input.member-role,
4954 [dir='rtl'] .member-incomplete .form-field-input-member > input.member-role {
4955 border-radius: 0 0 4px 4px;
4958 .member-incomplete .member-delete {
4962 .member-row-new .member-entity-input {
4964 border-radius: 4px 4px 0 0;
4971 background: rgba(0,0,0,.5);
4975 .add-relation:focus,
4976 .add-relation:hover {
4977 background: rgba(0,0,0,.8);
4980 /* preserve extra space at bottom of inspector to allow for dropdown options - #5280 */
4981 .raw-membership-editor.inspector-inner {
4982 margin-bottom: 150px;
4985 /* hidden field to prevent user from tabbing out of the sidebar */
4990 border: 1px solid rgba(0,0,0,0);
4994 /* Inspector (hover styles)
4995 ------------------------------------------------------- */
4996 .inspector-hover .form-field-input-wrap .label,
4997 .inspector-hover .form-field-input-multicombo .chiplist,
4998 .inspector-hover .form-field-button,
4999 .inspector-hover .structure-extras-wrap,
5000 .inspector-hover .comments-container .comment,
5001 .inspector-hover button,
5002 .inspector-hover input,
5003 .inspector-hover textarea,
5004 .inspector-hover label {
5005 background: #ececec;
5007 .inspector-hover .preset-list-button,
5008 .inspector-hover .tag-row input {
5009 background: #f6f6f6;
5013 .inspector-hover .form-field-input-multicombo .chips,
5014 .inspector-hover .form-field-input-check span {
5018 .inspector-hover .form-field-input-multicombo .chips {
5020 border: 1px solid #ccc;
5024 .inspector-hover div {
5029 /* hide and remove from layout */
5031 .inspector-hover .preset-list-button-wrap .tag-reference-button,
5032 .inspector-hover label input[type="checkbox"],
5033 .inspector-hover label input[type="radio"],
5034 .inspector-hover .form-field-input-multicombo .combobox-input,
5035 .inspector-hover .form-field-input-radio label,
5036 .inspector-hover .form-field-input-radio label span,
5037 .inspector-hover .form-field-input-radio label.remove .icon,
5038 .inspector-hover .inspector-inner .add-tag,
5039 .inspector-hover .inspector-inner .add-relation {
5043 /* hide but preserve in layout */
5044 .inspector-hover .combobox-caret,
5045 .inspector-hover .header button,
5046 .inspector-hover .form-field-input-multicombo .chips .remove,
5047 .inspector-hover .hide-toggle:before,
5048 .inspector-hover .more-fields,
5049 .inspector-hover .form-field-label button,
5050 .inspector-hover .tag-row button,
5051 .inspector-hover .footer * {
5055 /* Styles for raw tag inspector on hover */
5056 .inspector-hover .tag-row .key-wrap,
5057 .inspector-hover .tag-row .value-wrap {
5061 .inspector-hover .tag-row:first-child input.value {
5062 border-top-right-radius: 4px;
5064 [dir='rtl'] .inspector-hover .tag-row:first-child input.value {
5065 border-top-right-radius: 0;
5066 border-top-left-radius: 4px;
5069 .inspector-hover .tag-row:last-child input.value {
5070 border-bottom-right-radius: 4px;
5072 [dir='rtl'] .inspector-hover .tag-row:last-child input.value {
5073 border-bottom-right-radius: 0;
5074 border-bottom-left-radius: 4px;
5077 .inspector-hover .tag-row:last-child input.key {
5078 border-bottom-left-radius: 4px;
5080 [dir='rtl'] .inspector-hover .tag-row:last-child input.key {
5081 border-bottom-left-radius: 0;
5082 border-bottom-right-radius: 4px;
5085 .inspector-hover .more-fields {
5087 margin-bottom: -10px;
5090 /* Unstyle button fields */
5091 .inspector-hover .form-field-input-radio label.active,
5092 .inspector-hover .entity-editor-pane a.hide-toggle {
5094 background-color: transparent;
5099 .inspector-hover .form-field-input-radio button.active {
5103 /* Show placeholder on hover for radio buttons */
5104 .inspector-hover .form-field-input-radio {
5105 border: 1px solid #ccc;
5107 border-radius: 0 0 4px 4px;
5109 .inspector-hover .form-field-input-radio .placeholder {
5117 .inspector-hover .form-field-input-radio .structure-extras-wrap {
5123 ------------------------------------------------------- */
5125 background-color: #f6f6f6;
5127 border: 1px solid #ccc;
5129 flex-flow: row nowrap;
5130 align-items: center;
5134 background-color: #fff;
5140 border-right: 1px solid #ccc;
5141 border-radius: 5px 0 0 5px;
5143 [dir='rtl'] .note-header-icon {
5144 border-right: unset;
5145 border-left: 1px solid #ccc;
5146 border-radius: 0 5px 5px 0;
5149 .note-header-icon .icon-wrap {
5154 .note-header-label {
5155 background-color: #f6f6f6;
5160 border-radius: 0 5px 5px 0;
5162 [dir='rtl'] .note-header-label {
5163 border-radius: 5px 0 0 5px;
5170 .comments-container {
5171 background: #ececec;
5178 background-color: #fff;
5180 border: 1px solid #ccc;
5183 flex-flow: row nowrap;
5189 .comment-avatar .icon.comment-avatar-icon {
5193 border: 1px solid #ccc;
5194 border-radius: 20px;
5197 padding: 10px 10px 10px 0;
5199 flex-flow: column nowrap;
5201 overflow-wrap: break-word;
5203 [dir='rtl'] .comment-main {
5204 padding: 10px 0 10px 10px;
5208 flex-flow: row nowrap;
5209 justify-content: space-between;
5224 .comment-text::-webkit-scrollbar {
5232 .note-save #new-comment-input {
5239 .note-save .detail-section {
5248 /* Custom Data Editor
5249 ------------------------------------------------------- */
5251 background-color: #f6f6f6;
5253 border: 1px solid #ccc;
5255 flex-flow: row nowrap;
5256 align-items: center;
5260 background-color: #fff;
5266 border-right: 1px solid #ccc;
5267 border-radius: 5px 0 0 5px;
5269 [dir='rtl'] .data-header-icon {
5270 border-right: unset;
5271 border-left: 1px solid #ccc;
5272 border-radius: 0 5px 5px 0;
5275 .data-header-icon .icon-wrap {
5280 .data-header-label {
5281 background-color: #f6f6f6;
5286 border-radius: 0 5px 5px 0;
5288 [dir='rtl'] .data-header-label {
5289 border-radius: 5px 0 0 5px;
5292 /* tag editor - no buttons */
5293 .data-editor.raw-tag-editor button {
5296 .data-editor.raw-tag-editor .tag-row .key-wrap,
5297 .data-editor.raw-tag-editor .tag-row .value-wrap {
5303 ------------------------------------------------------- */
5311 [dir='rtl'] .map-controls {
5316 .map-control > button {
5318 background: rgba(0,0,0,.5);
5322 .map-control > button:hover {
5323 background: rgba(0, 0, 0, .8);
5326 .map-control > button.active,
5327 .map-control > button.active:hover {
5328 background: #7092ff;
5332 /* Fullscreen Button (disabled)
5333 ------------------------------------------------------- */
5335 display: inline-block;
5341 div.full-screen .tooltip {
5345 div.full-screen > button, div.full-screen > button.active {
5348 background: transparent;
5351 div.full-screen > button:hover {
5352 background-color: rgba(0, 0, 0, .8);
5357 ------------------------------------------------------- */
5358 .zoombuttons > button.zoom-in {
5359 border-radius: 4px 0 0 0;
5361 [dir='rtl'] .zoombuttons > button.zoom-in {
5362 border-radius: 0 4px 0 0;
5367 ------------------------------------------------------- */
5368 .geolocate-control {
5369 margin-bottom: 10px;
5371 .geolocate-control > button {
5372 border-radius: 0 0 0 4px;
5374 [dir='rtl'] .geolocate-control > button {
5375 border-radius: 0 0 4px 0;
5379 /* Background / Map Data / Help Pane buttons
5380 ------------------------------------------------------- */
5381 .help-control > button {
5382 border-radius: 0 0 0 4px;
5384 [dir='rtl'] .help-control > button {
5385 border-radius: 0 0 4px 0;
5388 .map-data-control button {
5392 .background-control > button {
5393 border-radius: 4px 0 0 0;
5395 [dir='rtl'] .background-control > button {
5396 border-radius: 0 4px 0 0;
5400 /* Background / Map Data Settings
5401 ------------------------------------------------------- */
5403 .background-control {
5408 margin-bottom: 10px;
5409 white-space: nowrap;
5412 .layer-list, .controls-list {
5413 margin-bottom: 10px;
5414 border: 1px solid #ccc;
5421 background-color: #fff;
5429 .layer-list > li:first-child {
5430 border-radius: 3px 3px 0 0;
5432 .layer-list > li:last-child {
5433 border-radius: 0 0 3px 3px;
5435 .layer-list > li:only-child {
5438 .layer-list li:not(:last-child) {
5439 border-bottom: 1px solid #ccc;
5441 .layer-list li:hover {
5442 background-color: #ececec;
5445 .layer-list li.active button,
5446 .layer-list li.switch button,
5447 .layer-list li.active,
5448 .layer-list li.switch {
5449 background: #e8ebff;
5452 .layer-list li.best > div.best {
5453 display: inline-block;
5458 [dir='rtl'] .list-item-data-browse svg {
5459 transform: rotateY(180deg);
5462 /* make sure tooltip fits in map-control panel */
5463 /* if too wide, placement will be wrong the first time it displays */
5464 .layer-list li.best .tooltip-inner {
5474 .layer-list label > span {
5477 white-space: nowrap;
5478 text-overflow: ellipsis;
5481 .map-data-control .layer-list button,
5482 .background-control .layer-list button {
5486 border-left: 1px solid #ccc;
5489 [dir='rtl'] .map-data-control .layer-list button,
5490 [dir='rtl'] .background-control .layer-list button {
5493 border-right: 1px solid #ccc;
5496 .map-data-control .layer-list button .icon,
5497 .background-control .layer-list button .icon {
5501 .map-data-control .layer-list button:first-of-type,
5502 .background-control .layer-list button:first-of-type {
5503 border-radius: 0 3px 3px 0;
5505 [dir='rtl'] .map-data-control .layer-list button:first-of-type,
5506 [dir='rtl'] .background-control .layer-list button:first-of-type {
5507 border-radius: 3px 0 0 3px;
5510 .map-data-control .vectortile-container .vectortile-header {
5511 padding-bottom: 5px;
5513 .map-data-control .vectortile-container .vectortile-footer {
5514 padding-bottom: 10px;
5518 /* Background - Display Options Sliders
5519 ------------------------------------------------------- */
5520 .display-options-container {
5524 .display-control h5 {
5529 .display-control h5 span {
5533 .display-control .display-option-input {
5538 .display-control button {
5543 vertical-align: text-bottom;
5546 [dir='rtl'] .display-control button {
5552 /* Background - Adjust Alignment
5553 ------------------------------------------------------- */
5554 .background-control .nudge-container {
5555 border: 1px solid #ccc;
5560 .nudge-container .nudge-instructions {
5561 padding-bottom: 15px;
5564 .nudge-container .nudge-outer-rect {
5565 background-color: #eee;
5566 border: 1px solid #ccc;
5571 justify-content: center;
5572 align-items: center;
5578 .nudge-container .nudge-inner-rect {
5579 background-color: #fff;
5580 border: 1px solid #ccc;
5586 .nudge-container .nudge::after {
5591 left: 0; right: 0; top: 0; bottom: 0;
5596 .nudge-container input {
5603 .nudge-container input.error {
5604 border: 1px solid #ff7878;
5609 .nudge-container input:focus {
5610 background-color: transparent;
5613 .nudge-container button {
5618 background-color: transparent;
5621 .nudge-container button.right {
5626 .nudge-container button.left {
5631 .nudge-container button.top {
5636 .nudge-container button.bottom {
5640 .nudge-container button.nudge-reset {
5651 background-color: transparent;
5655 .background-control .nudge.right::after {
5656 border-top: 5px solid transparent;
5657 border-bottom: 5px solid transparent;
5658 border-left: 5px solid #222;
5661 .background-control .nudge.left::after {
5662 border-top: 5px solid transparent;
5663 border-bottom: 5px solid transparent;
5664 border-right: 5px solid #222;
5667 .background-control .nudge.top::after {
5668 border-right: 5px solid transparent;
5669 border-left: 5px solid transparent;
5670 border-bottom: 5px solid #222;
5673 .background-control .nudge.bottom::after {
5674 border-right: 5px solid transparent;
5675 border-left: 5px solid transparent;
5676 border-top: 5px solid #222;
5680 /* Side Panes - Background / Map Data / Help
5681 ------------------------------------------------------- */
5689 padding-bottom: 50px;
5693 [dir='rtl'] .map-pane {
5695 right: auto !important;
5698 .map-pane.help-wrap {
5705 flex-flow: row nowrap;
5706 justify-content: space-between;
5707 border-bottom: 1px solid #ccc;
5714 .pane-heading button {
5722 padding: 10px 50px 20px 20px;
5726 [dir='rtl'] .pane-content {
5727 padding: 10px 20px 20px 50px;
5730 .pane-content > div {
5731 padding-bottom: 15px;
5736 ------------------------------------------------------- */
5739 margin-bottom: 20px;
5742 .help-wrap .left-content .body p code {
5746 vertical-align: baseline;
5747 background-color: #f6f6f6;
5748 border: solid 1px #ccc;
5750 border-bottom-color: #bbb;
5752 box-shadow: inset 0 -1px 0 #bbb;
5755 .help-wrap .left-content .icon.pre-text {
5756 vertical-align: text-top;
5759 display: inline-block;
5766 margin-bottom: 20px;
5770 .help-wrap .toc li a,
5773 border: 1px solid #ccc;
5777 .help-wrap .toc li a {
5781 .help-wrap .toc li a:hover,
5782 .help-wrap .nav a:hover {
5783 background: #ececec;
5786 .help-wrap .toc li a.selected {
5787 background: #e8ebff;
5790 .help-wrap .toc li:first-child a {
5791 border-radius: 4px 4px 0 0;
5794 .help-wrap .toc li:nth-last-child(3) a {
5795 border-bottom: 1px solid #ccc;
5796 border-radius: 0 0 4px 4px
5799 .help-wrap .toc li.shortcuts a,
5800 .help-wrap .toc li.walkthrough a {
5803 border-bottom: 1px solid #ccc;
5807 .help-wrap .toc li.walkthrough a {
5813 padding-bottom: 30px;
5822 .help-wrap .nav a:first-child {
5823 border-radius: 4px 0 0 4px;
5826 .help-wrap .nav a:last-child:not(:only-child) {
5827 border-radius: 0 4px 4px 0;
5831 .help-wrap .nav a:only-child {
5837 /* Raster Background Tiles
5838 ------------------------------------------------------- */
5841 transform-origin: 0 0;
5842 -ms-transform-origin: 0 0;
5843 -webkit-transform-origin: 0 0;
5844 -moz-transform-origin: 0 0;
5845 -o-transform-origin: 0 0;
5847 -moz-user-select: none;
5848 -webkit-user-select: none;
5849 -ms-user-select: none;
5854 -webkit-transition: opacity 200ms linear;
5855 -moz-transition: opacity 200ms linear;
5856 transition: opacity 200ms linear;
5869 background: rgba(0, 0, 0, 0.7);
5879 transform-origin: 0 0;
5880 -ms-transform-origin: 0 0;
5881 -webkit-transform-origin: 0 0;
5882 -moz-transform-origin: 0 0;
5883 -o-transform-origin: 0 0;
5885 -moz-user-select: none;
5886 -webkit-user-select: none;
5887 -ms-user-select: none;
5892 outline: 1px solid red;
5897 ------------------------------------------------------- */
5903 -moz-user-select: none;
5904 -webkit-user-select: none;
5905 -ms-user-select: none;
5910 transform-origin: 0 0;
5911 -ms-transform-origin: 0 0;
5912 -webkit-transform-origin: 0 0;
5913 -moz-transform-origin: 0 0;
5914 -o-transform-origin: 0 0;
5917 #supersurface, .layer {
5927 ------------------------------------------------------- */
5936 border: #aaa 1px solid;
5937 box-shadow: 0 0 2em black;
5941 transform-origin: 0 0;
5942 -ms-transform-origin: 0 0;
5943 -webkit-transform-origin: 0 0;
5944 -moz-transform-origin: 0 0;
5945 -o-transform-origin: 0 0;
5947 -moz-user-select: none;
5948 -webkit-user-select: none;
5949 -ms-user-select: none;
5953 .map-in-map-viewport,
5962 .map-in-map-viewport {
5973 stroke: rgba(255, 255, 0, 0.75);
5975 shape-rendering: crispEdges;
5978 .map-in-map-bbox.thick {
5984 ------------------------------------------------------- */
5986 stroke: currentColor;
5990 .map-in-map-data .debug {
5994 .nocolor { color: rgba(0, 0, 0, 0); }
5995 .red { color: rgba(255, 0, 0, 0.75); }
5996 .green { color: rgba(0, 255, 0, 0.75); }
5997 .blue { color: rgba(176, 176, 255, 0.75); }
5998 .yellow { color: rgba(255, 255, 0, 0.75); }
5999 .cyan { color: rgba(0, 255, 255, 0.75); }
6000 .magenta { color: rgba(255, 0, 255, 0.75); }
6001 .orange { color: rgba(255, 153, 0, 0.75); }
6002 .pink { color: rgba(255, 0, 153, 0.75); }
6003 .purple { color: rgba(153, 0, 255, 0.75); }
6011 pointer-events: none;
6014 .debug-legend-item {
6017 .debug-legend-item:before {
6023 /* Information Panels
6024 ------------------------------------------------------- */
6027 flex-flow: row-reverse wrap-reverse;
6032 -ms-user-select: element;
6040 display: inline-block;
6052 margin: 2px 0 0 2px;
6054 border: 1px solid rgba(0, 0, 0, 0.75);
6055 padding-bottom: 10px;
6059 .panel-container .panel-title {
6060 border-radius: 4px 4px 0 0;
6067 .panel-title button.close {
6073 [dir='rtl'] .panel-title button.close {
6077 .panel-title button.close:hover {
6080 .panel-title button.close .icon {
6090 .panel-content li span {
6091 display: inline-block;
6092 white-space: nowrap;
6096 .panel-content .button {
6097 display: inline-block;
6098 background: #7092ff;
6105 [dir='rtl'] .panel-content .button {
6110 .panel-content-history .links a {
6113 [dir='rtl'] .panel-content-history .links a {
6118 .panel-content-history .view-history-on-osm {
6123 .panel-content-location .location-info {
6128 /* About Section, Attribution, Footer
6129 ------------------------------------------------------- */
6136 pointer-events: none;
6138 flex-direction: column;
6139 -ms-user-select: element;
6148 #attrib * { pointer-events: all; }
6150 .base-layer-attribution,
6151 .overlay-layer-attribution {
6157 .base-layer-attribution {
6161 .overlay-layer-attribution {
6165 .overlay-layer-attribution .attribution:not(:last-child):after {
6170 .attribution a:visited {
6174 .attribution a:hover {
6178 .attribution .source-image {
6180 vertical-align: middle;
6189 pointer-events: all;
6195 /* Footer - Flash messages
6196 ------------------------------------------------------- */
6200 flex-flow: row nowrap;
6201 justify-content: space-between;
6211 flex-flow: row nowrap;
6212 align-items: center;
6224 .flash-icon circle {
6227 .flash-icon.disabled circle {
6229 fill: rgba(255,255,255,0.7);
6235 .flash-icon.disabled use {
6236 color: rgba(32,32,32,0.7);
6239 .flash-icon.operation use {
6243 .flash-icon.operation.disabled use {
6244 fill: rgba(32,32,32,0.7);
6245 color: rgba(40,40,40,0.7);
6255 flex-flow: row nowrap;
6256 justify-content: space-between;
6265 transition: bottom 75ms linear;
6266 -moz-transition: bottom 75ms linear;
6267 -webkit-transition: bottom 75ms linear;
6272 transition: bottom 75ms linear;
6273 -moz-transition: bottom 75ms linear;
6274 -webkit-transition: bottom 75ms linear;
6278 /* Footer - Scale bar, About, Source Switcher
6279 ------------------------------------------------------- */
6281 vertical-align: bottom;
6285 -moz-user-select: none;
6286 -webkit-user-select: none;
6287 -ms-user-select: none;
6300 [dir='rtl'] #scale {
6301 transform: scaleX(-1);
6309 font: 12px sans-serif;
6314 [dir='rtl'] #scale text {
6315 transform: scaleX(-1);
6322 shape-rendering: crispEdges;
6331 [dir='rtl'] #about-list {
6340 border-left: 1px solid rgba(255,255,255,.5);
6341 padding: 5px 0 5px 5px;
6344 [dir='rtl'] #about-list li {
6347 border-right: 1px solid rgba(255,255,255,.5);
6350 padding: 5px 5px 5px 0;
6353 #about-list li:last-child {
6358 [dir='rtl'] #about-list li:last-child {
6363 padding: 2px 4px 4px 4px;
6366 .source-switch a.live {
6367 background: #d32232;
6371 .feature-warning a {
6372 background: #1e90ff;
6373 padding: 2px 4px 4px 4px;
6378 .user-list a:not(:last-child):after {
6388 [dir='rtl'] .api-status {
6392 .api-status.offline,
6393 .api-status.readonly,
6401 .api-status-login:hover {
6405 /* Notification Badges
6406 ------------------------------------------------------- */
6407 /* For an icon (e.g. new version) */
6409 display: inline-block;
6410 background: #d32232;
6413 border-radius: 11px;
6416 [dir='rtl'] .badge {
6423 [dir='rtl'] .badge a {
6428 vertical-align: baseline;
6434 /* For text (e.g. upcoming events) */
6436 display: inline-block;
6447 [dir='rtl'] .badge-text {
6454 ------------------------------------------------------- */
6457 display: inline-block;
6468 margin-bottom: 10px;
6470 .modal .description {
6485 background: rgba(0,0,0,0.5);
6487 left: 0px; right: 0px; top: 0px; bottom: 0px;
6492 border-bottom: 1px solid #ccc;
6494 .modal-section.header h3 {
6497 .modal-section.buttons {
6501 .modal-section.buttons button {
6505 .modal-section.buttons .action {
6506 display: inline-block;
6509 vertical-align: middle;
6512 .save-section .buttons {
6515 justify-content: space-around;
6516 margin-bottom: 30px;
6519 .save-section .buttons .action,
6520 .save-section .buttons .secondary-action {
6524 vertical-align: middle;
6531 .modal-actions button {
6532 font-weight: normal;
6534 border-bottom: 1px solid #ccc;
6538 display: inline-block;
6540 .modal-actions button:hover {
6541 background-color: #ececec;
6557 .modal-actions > :first-child {
6558 border-right: 1px solid #ccc;
6561 .modal-section:last-child {
6566 ------------------------------------------------------- */
6567 .modal-actions .logo-restore {
6570 .modal-actions .logo-reset {
6574 /* Success Screen / Community Index
6575 ------------------------------------------------------- */
6576 .save-success.body {
6581 .save-success .link-out {
6583 white-space: nowrap;
6587 .save-communityLinks {
6588 padding: 0px 20px 15px 20px;
6591 .save-communityLinks {
6592 border-top: 1px solid #ccc;
6595 .save-success table,
6606 vertical-align: top;
6608 .save-success td.cell-icon {
6611 .save-success td.cell-detail {
6614 .save-success td.community-detail {
6615 padding-bottom: 15px;
6618 .summary-view-on-osm,
6623 .community-languages {
6627 .community-languages:only-child {
6631 .community-detail a.hide-toggle,
6632 .community-detail a:visited.hide-toggle {
6634 font-weight: normal;
6637 .community-detail .hide-toggle svg.icon.pre-text {
6648 background-color: #efefef;
6654 .community-event-name {
6658 .community-event-when {
6662 .community-missing {
6669 ------------------------------------------------------- */
6670 .modal-actions .logo-walkthrough,
6671 .modal-actions .logo-features {
6677 ------------------------------------------------------- */
6683 .modal-shortcuts .modal-section:last-child {
6688 .modal-shortcuts .tabs-bar {
6690 padding-bottom: 5px;
6695 .modal-shortcuts .tab {
6696 display: inline-block;
6702 .modal-shortcuts .tab.active {
6704 border-bottom: 2px solid;
6706 .modal-shortcuts .tab:hover {
6708 background-color: #efefef;
6711 .modal-shortcuts .shortcut-tab {
6713 flex-flow: row wrap;
6716 .modal-shortcuts .shortcut-column {
6721 .modal-shortcuts .shortcut-tab-tools .shortcut-column {
6726 .modal-shortcuts td {
6727 padding-bottom: 5px;
6730 .modal-shortcuts .shortcut-section {
6731 padding: 20px 0 10px 0;
6734 .modal-shortcuts .shortcut-keys {
6735 padding-right: 10px;
6739 [dir='rtl'] .modal-shortcuts .shortcut-keys {
6740 padding-right: auto;
6745 .modal-shortcuts .shortcut-keys kbd {
6746 display: inline-block;
6753 vertical-align: baseline;
6754 background-color: #fcfcfc;
6755 border: solid 1px #ccc;
6757 border-bottom-color: #bbb;
6759 box-shadow: inset 0 -1px 0 #bbb;
6762 svg.mouseclick use.left {
6763 fill: rgba(112, 146, 255, 1);
6764 color: rgba(112, 146, 255, 0);
6766 svg.mouseclick use.right {
6767 fill: rgba(112, 146, 255, 0);
6768 color: rgba(112, 146, 255, 1);
6771 .modal-shortcuts .shortcut-keys .gesture {
6778 ------------------------------------------------------- */
6779 .settings-modal textarea {
6783 .settings-custom-background .instructions-template {
6784 margin-bottom: 20px;
6787 .settings-custom-data .instructions-url {
6788 margin-bottom: 10px;
6790 .settings-custom-data .field-file,
6791 .settings-custom-data .instructions-template {
6792 margin-bottom: 20px;
6797 ------------------------------------------------------- */
6798 .mode-save a.user-info {
6799 display: inline-block;
6802 .mode-save .commit-form {
6806 .mode-save .user-info img {
6810 .mode-save h3 small.count {
6818 border-radius: 24px;
6820 background: #7092ff;
6824 .note-save .field-warning,
6825 .mode-save .field-warning {
6827 border: 1px solid #ccc;
6832 .note-save .field-warning:empty,
6833 .mode-save .field-warning:empty {
6837 .mode-save .field-warning,
6838 .mode-save .changeset-info,
6839 .mode-save .request-review,
6840 .mode-save .commit-info {
6841 margin-bottom: 10px;
6844 .mode-save .request-review label {
6848 .mode-save .changeset-list {
6849 border: 1px solid #ccc;
6852 margin-bottom: 10px;
6855 .mode-save .warning-section {
6859 .mode-save .warning-section .changeset-list button {
6860 border-left: 1px solid #ccc;
6863 .mode-save .changeset-list li {
6865 border-top: 1px solid #ccc;
6870 .mode-save .changeset-list li:hover {
6871 background-color: #ececec;
6874 .mode-save .changeset-list .alert {
6878 .changeset-list li span.count {
6883 .mode-save .commit-section .changeset-list button {
6884 border-left: 1px solid #ccc;
6887 .changeset-list li span.count:before { content: '('; }
6889 .changeset-list li span.count:after { content: ')'; }
6891 .changeset-list li:first-child { border-top: 0;}
6894 /* Conflict resolution
6895 ------------------------------------------------------- */
6898 background-color: #ffffbb;
6899 border-bottom: 1px solid #ccc;
6902 .conflicts-buttons {
6906 .mode-save button.conflicts-button {
6910 .conflict-container {
6911 border-bottom: 1px solid #ccc;
6914 .conflict-description {
6920 padding: 20px 20px 0 20px;
6923 .conflict-detail-container {
6935 .conflict-nav-buttons {
6936 padding: 10px 0 20px 0;
6939 .conflict-nav-button {
6944 /* Notices (Zoom in to Edit)
6945 ------------------------------------------------------- */
6962 .notice .zoom-to:hover {
6963 background: rgba(0,0,0,0.6);
6966 .notice .zoom-to .icon {
6969 vertical-align: middle;
6972 [dir='rtl'] .notice .zoom-to .icon {
6979 ------------------------------------------------------- */
6985 white-space: initial;
7016 display: inline-block;
7021 font-weight: normal;
7022 background-color: #fff;
7028 pointer-events: none;
7032 background: transparent;
7040 border-color: transparent;
7041 border-style: solid;
7045 border-left-color: #fff;
7046 border-width: 5px 0 5px 5px;
7065 border-color: transparent;
7066 border-style: solid;
7070 border-right-color: #fff;
7071 border-width: 5px 5px 5px 0;
7078 border-color: transparent;
7079 border-style: solid;
7082 .tooltip.top .tooltip-arrow {
7086 border-top-color: #fff;
7087 border-width: 5px 5px 0;
7090 .tooltip.right .tooltip-arrow {
7094 border-right-color: #fff;
7095 border-width: 5px 5px 5px 0;
7098 .tooltip.left .tooltip-arrow {
7102 border-left-color: #fff;
7103 border-width: 5px 0 5px 5px;
7106 .tooltip.bottom .tooltip-arrow {
7110 border-bottom-color: #fff;
7111 border-width: 0 5px 5px;
7116 background: #F6F6F6;
7118 margin: -10px -10px 10px -10px;
7119 border-radius: 3px 3px 0 0;
7124 background: #F6F6F6;
7126 margin: 10px -10px -10px -10px;
7127 border-radius: 0 0 3px 3px;
7130 .tooltip-inner .keyhint {
7135 /* Exceptions for tooltip layouts */
7137 /* make tooltips in panels dark */
7138 .map-pane .tooltip.top .tooltip-arrow,
7139 .entity-editor-pane .tooltip.top .tooltip-arrow,
7140 .warning-section .tooltip.top .tooltip-arrow {
7141 border-top-color: #000;
7144 .map-pane .tooltip.bottom .tooltip-arrow,
7145 .entity-editor-pane .tooltip.bottom .tooltip-arrow,
7146 .warning-section .tooltip.bottom .tooltip-arrow {
7147 border-bottom-color: #000;
7150 .map-pane .tooltip.left .tooltip-arrow,
7151 .entity-editor-pane .tooltip.left .tooltip-arrow,
7152 .warning-section .tooltip.left .tooltip-arrow {
7153 border-left-color: #000;
7156 .map-pane .tooltip.right .tooltip-arrow,
7157 .entity-editor-pane .tooltip.right .tooltip-arrow,
7158 .warning-section .tooltip.right .tooltip-arrow {
7159 border-right-color: #000;
7162 .map-pane .tooltip-inner,
7163 .map-pane .tooltip-heading,
7164 .map-pane .keyhint-wrap,
7165 .entity-editor-pane .tooltip-inner,
7166 .warning-section .tooltip-inner {
7170 /* commit warning tooltips need to be closer */
7171 .warning-section .tooltip.top {
7175 /* Uncramp map-control tooltips */
7176 .map-control .tooltip {
7179 .map-control .shortcuts .tooltip {
7183 /* Move over tooltips that are near the edge of screen */
7184 button.sidebar-toggle .tooltip .tooltip-arrow {
7187 [dir='rtl'] button.sidebar-toggle .tooltip .tooltip-arrow {
7192 li:first-of-type .badge .tooltip,
7193 li.hide + li.version .badge .tooltip {
7194 left: auto !important;
7195 right: 5px !important;
7197 [dir='rtl'] li:first-of-type .badge .tooltip,
7198 [dir='rtl'] li.hide + li.version .badge .tooltip {
7199 left: 5px !important;
7200 right: auto !important;
7202 li:first-of-type .badge .tooltip .tooltip-arrow,
7203 li.hide + li.version .badge .tooltip .tooltip-arrow {
7204 right: 15px !important;
7205 left: auto !important;
7207 [dir='rtl'] li:first-of-type .badge .tooltip .tooltip-arrow,
7208 [dir='rtl'] li.hide + li.version .badge .tooltip .tooltip-arrow {
7209 left: 15px !important;
7210 right: auto !important;
7214 /* Contextual Radial Menu (deprecated)
7215 ------------------------------------------------------- */
7216 .radial-menu-tooltip {
7223 .radial-menu-background {
7226 stroke-opacity: 0.5;
7229 .radial-menu-item circle {
7233 .radial-menu-item circle:active,
7234 .radial-menu-item circle:hover {
7238 .radial-menu-item.disabled circle {
7240 fill: rgba(255,255,255,.5);
7243 .radial-menu-item use {
7248 .radial-menu-item.disabled use {
7249 fill: rgba(32,32,32,.5);
7250 color: rgba(40,40,40,.5);
7254 /* Contextual Edit Menu
7255 ------------------------------------------------------- */
7256 .edit-menu-tooltip {
7262 .edit-menu-background {
7266 .edit-menu-item rect {
7271 .edit-menu-item rect:active,
7272 .edit-menu-item rect:hover {
7276 .edit-menu-item.disabled rect {
7277 cursor: not-allowed;
7279 .edit-menu-item.disabled rect:hover {
7280 cursor: not-allowed;
7284 .edit-menu-item use {
7287 pointer-events: none;
7289 .edit-menu-item.disabled use {
7290 fill: rgba(32,32,32,.2);
7291 color: rgba(40,40,40,.2);
7296 ------------------------------------------------------- */
7302 stroke-dasharray: 5, 5;
7307 ----------------------------------------------------- */
7308 ::-webkit-scrollbar {
7313 border-left: 1px solid #DDD;
7316 ::-webkit-scrollbar-track {
7317 background-clip: padding-box;
7318 border: solid transparent;
7322 ::-webkit-scrollbar-thumb {
7323 background-color: rgba(0,0,0,.2);
7324 background-clip: padding-box;
7325 border: solid transparent;
7326 border-width: 3px 3px 3px 4px;
7329 ::-webkit-scrollbar-track:hover,
7330 ::-webkit-scrollbar-track:active {
7331 background-color: rgba(0,0,0,.05);
7335 /* Intro walkthrough
7336 ----------------------------------------------------- */
7338 pointer-events: all;
7346 flex-direction: row;
7355 .intro-nav-wrap .intro-nav-wrap-logo {
7361 vertical-align: middle;
7364 .intro-nav-wrap .joined {
7367 flex-direction: row;
7370 .intro-nav-wrap button.chapter {
7375 .intro-nav-wrap button.chapter.next {
7376 animation-duration: 1s;
7377 animation-name: pulse;
7378 animation-iteration-count: infinite;
7379 animation-direction: alternate;
7382 from { background: #7092ff; }
7383 to { background: #c6d4ff; }
7386 .intro-nav-wrap button.chapter.finished {
7387 background: #8cd05f;
7390 .intro-nav-wrap button.chapter .status {
7394 .intro-nav-wrap button.chapter.finished .status {
7395 display: inline-block;
7398 .curtain-tooltip.tooltip.in {
7401 .curtain-tooltip.tooltip {
7404 [dir='rtl'] .curtain-tooltip.tooltip {
7408 .curtain-tooltip .tooltip-inner {
7414 .curtain-tooltip .tooltip-inner .button-section,
7415 .curtain-tooltip .tooltip-inner .instruction {
7418 border-top: 1px solid #ccc;
7421 margin-right: -20px;
7422 padding: 10px 20px 0 20px;
7425 [dir='rtl'] .curtain-tooltip .tooltip-inner .button-section button.col8 {
7429 .curtain-tooltip .tooltip-inner .instruction:only-child {
7435 .curtain-tooltip .tooltip-inner .icon.pre-text {
7436 vertical-align: text-top;
7439 display: inline-block;
7442 .curtain-tooltip.intro-points-describe ,
7443 .curtain-tooltip.intro-lines-name_road {
7444 top: 133px !important;
7447 .tooltip-illustration {
7453 [dir='rtl'] .tooltip-illustration {
7455 margin-right: -20px;
7458 .curtain-tooltip.intro-mouse {
7459 -moz-user-select: none;
7460 -webkit-user-select: none;
7461 -ms-user-select: none;
7465 .curtain-tooltip.intro-mouse .counter {
7476 .curtain-tooltip.intro-mouse .tooltip-illustration use {
7477 fill: rgba(112, 146, 255, 0);
7478 color: rgba(112, 146, 255, 0);
7480 .curtain-tooltip.intro-mouse.leftclick .tooltip-illustration use {
7481 fill: rgba(112, 146, 255, 1);
7483 .curtain-tooltip.intro-mouse.rightclick .tooltip-illustration use {
7484 color: rgba(112, 146, 255, 1);
7487 .huge-modal-button {
7493 .huge-modal-button .illustration {