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.tag-status,
637 path.stroke.tag-landuse-construction {
638 stroke: rgb(196, 189, 25);
640 path.fill.tag-landuse-residential {
641 stroke: rgba(196, 189, 25, 0.3);
642 fill: rgba(196, 189, 25, 0.3);
644 .preset-icon-fill-area.tag-landuse-residential,
645 .preset-icon-fill-area.tag-landuse.tag-status,
646 .preset-icon-fill-area.tag-landuse-construction {
647 border-color: rgb(196, 189, 25);
648 background: rgba(196, 189, 25, 0.3);
652 path.stroke.tag-landuse-retail,
653 path.stroke.tag-landuse-commercial,
654 path.stroke.tag-landuse-landfill,
655 path.stroke.tag-military,
656 path.stroke.tag-landuse-military {
657 stroke: rgb(214, 136, 26);
659 path.fill.tag-landuse-retail,
660 path.fill.tag-landuse-commercial,
661 path.fill.tag-landuse-landfill,
662 path.fill.tag-military,
663 path.fill.tag-landuse-military {
664 stroke: rgba(214, 136, 26, 0.3);
665 fill: rgba(214, 136, 26, 0.3);
667 .preset-icon-fill-area.tag-landuse-retail,
668 .preset-icon-fill-area.tag-landuse-commercial,
669 .preset-icon-fill-area.tag-landuse-landfill,
670 .preset-icon-fill-area.tag-military,
671 .preset-icon-fill-area.tag-landuse-military {
672 border-color: rgb(214, 136, 26);
673 background-color: rgba(214, 136, 26, 0.3);
675 .pattern-color-landfill
677 fill: rgba(214, 136, 26, 0.3);
682 path.stroke.tag-landuse-industrial,
683 path.stroke.tag-power-plant {
684 stroke: rgb(228, 164, 245);
686 path.fill.tag-landuse-industrial,
687 path.fill.tag-power-plant {
688 stroke: rgba(228, 164, 245, 0.3);
689 fill: rgba(228, 164, 245, 0.3);
691 .preset-icon-fill-area.tag-landuse-industrial,
692 .preset-icon-fill-area.tag-power-plant {
693 border-color: rgb(228, 164, 245);
694 background-color: rgba(228, 164, 245, 0.3);
698 .pattern-color-wetland,
699 .pattern-color-wetland_marsh,
700 .pattern-color-wetland_swamp,
701 .pattern-color-wetland_bog,
702 .pattern-color-wetland_reedbed {
703 fill: rgba(153, 225, 170, 0.3);
705 path.stroke.tag-natural-wetland {
706 stroke: rgb(153, 225, 170);
708 .preset-icon-fill-area.tag-natural-wetland {
709 border-color: rgb(153, 225, 170);
710 background-color: rgba(153, 225, 170, 0.2);
713 /* Light Green things */
714 .pattern-color-cemetery,
715 .pattern-color-cemetery_christian,
716 .pattern-color-cemetery_buddhist,
717 .pattern-color-cemetery_muslim,
718 .pattern-color-cemetery_jewish,
719 .pattern-color-orchard,
720 .pattern-color-vineyard,
721 .pattern-color-meadow,
722 .pattern-color-farmland {
723 fill: rgba(191, 232, 63, 0.2);
725 path.stroke.tag-landuse-cemetery,
726 path.stroke.tag-landuse-orchard,
727 path.stroke.tag-landuse-vineyard,
728 path.stroke.tag-landuse-meadow,
729 path.stroke.tag-landuse-farmland {
730 stroke: rgb(191, 232, 63);
732 .preset-icon-fill-area.tag-landuse-cemetery,
733 .preset-icon-fill-area.tag-landuse-orchard,
734 .preset-icon-fill-area.tag-landuse-vineyard,
735 .preset-icon-fill-area.tag-landuse-meadow,
736 .preset-icon-fill-area.tag-landuse-farmland {
737 background-color: rgba(191, 232, 63, 0.2);
741 path.stroke.tag-landuse-farmyard {
742 stroke: rgb(245, 220, 186);
744 path.fill.tag-landuse-farmyard {
745 stroke: rgba(245, 220, 186, 0.3);
746 fill: rgba(245, 220, 186, 0.3);
748 .preset-icon-fill-area.tag-landuse-farmyard {
749 border-color: rgb(226, 177, 111);
750 background: rgba(245, 220, 186, 0.3);
752 .pattern-color-farmyard {
753 fill: rgba(245, 220, 186, 0.3);
756 /* Dark Gray things */
757 path.stroke.tag-amenity-parking,
758 path.stroke.tag-leisure-pitch.tag-sport-basketball,
759 path.stroke.tag-leisure-pitch.tag-sport-skateboard,
760 path.stroke.tag-natural-bare_rock,
761 path.stroke.tag-natural-scree,
762 path.stroke.tag-landuse-railway,
763 path.stroke.tag-landuse-quarry {
766 path.fill.tag-amenity-parking,
767 path.fill.tag-leisure-pitch.tag-sport-basketball,
768 path.fill.tag-leisure-pitch.tag-sport-skateboard,
769 path.fill.tag-natural-bare_rock,
770 path.fill.tag-natural-scree,
771 path.fill.tag-landuse-railway,
772 path.fill.tag-landuse-quarry {
773 stroke: rgba(140, 140, 140, 0.5);
774 fill: rgba(140, 140, 140, 0.5);
776 .preset-icon-fill-area.tag-amenity-parking,
777 .preset-icon-fill-area.tag-leisure-pitch.tag-sport-basketball,
778 .preset-icon-fill-area.tag-leisure-pitch.tag-sport-skateboard,
779 .preset-icon-fill-area.tag-natural-bare_rock,
780 .preset-icon-fill-area.tag-natural-scree,
781 .preset-icon-fill-area.tag-landuse-railway,
782 .preset-icon-fill-area.tag-landuse-quarry {
783 border-color: rgb(170, 170, 170);
784 background-color: rgba(140, 140, 140, 0.5);
786 .pattern-color-quarry
788 fill: rgba(140, 140, 140, 0.5);
791 /* Light gray overrides */
792 path.stroke.tag-natural-cave_entrance,
793 path.stroke.tag-natural-glacier {
796 path.fill.tag-natural-cave_entrance,
797 path.fill.tag-natural-glacier {
798 stroke: rgba(255, 255, 255, 0.3);
799 fill: rgba(255, 255, 255, 0.3);
801 .preset-icon-fill-area.tag-natural-cave_entrance,
802 .preset-icon-fill-area.tag-natural-glacier {
803 border-color: rgb(170, 170, 170);
804 background: rgba(170, 170, 170, 0.3);
808 .preset-icon .icon.tag-highway.other-line {
812 path.casing.tag-highway {
815 path.stroke.tag-highway {
821 path.stroke.area.tag-highway,
822 .low-zoom path.stroke.area.tag-highway {
824 stroke-dasharray: none;
830 path.shadow.tag-highway {
833 path.casing.tag-highway {
836 path.stroke.tag-highway {
840 .low-zoom path.shadow.tag-highway {
843 .low-zoom path.casing.tag-highway {
846 .low-zoom path.stroke.tag-highway {
850 .preset-icon .icon.iD-highway-motorway,
851 .preset-icon .icon.iD-highway-motorway-link {
855 path.stroke.tag-highway-motorway,
856 path.stroke.tag-highway-motorway_link,
857 path.stroke.tag-motorway {
860 path.casing.tag-highway-motorway,
861 path.casing.tag-highway-motorway_link,
862 path.casing.tag-motorway {
866 .preset-icon .icon.iD-highway-trunk,
867 .preset-icon .icon.iD-highway-trunk-link {
871 path.stroke.tag-highway-trunk,
872 path.stroke.tag-highway-trunk_link,
873 path.stroke.tag-trunk {
876 path.casing.tag-highway-trunk,
877 path.casing.tag-highway-trunk_link,
878 path.casing.tag-trunk {
882 .preset-icon .icon.iD-highway-primary,
883 .preset-icon .icon.iD-highway-primary-link {
887 path.stroke.tag-highway-primary,
888 path.stroke.tag-highway-primary_link,
889 path.stroke.tag-primary {
892 path.casing.tag-highway-primary,
893 path.casing.tag-highway-primary_link,
894 path.casing.tag-primary {
898 .preset-icon .icon.iD-highway-secondary,
899 .preset-icon .icon.iD-highway-secondary-link {
903 path.stroke.tag-highway-secondary,
904 path.stroke.tag-highway-secondary_link,
905 path.stroke.tag-secondary {
908 path.casing.tag-highway-secondary,
909 path.casing.tag-highway-secondary_link,
910 path.casing.tag-secondary {
914 .preset-icon .icon.iD-highway-tertiary,
915 .preset-icon .icon.iD-highway-tertiary-link {
919 path.stroke.tag-highway-tertiary,
920 path.stroke.tag-highway-tertiary_link,
921 path.stroke.tag-tertiary {
924 path.casing.tag-highway-tertiary,
925 path.casing.tag-highway-tertiary_link,
926 path.casing.tag-tertiary {
930 .legacy-carto .preset-icon .icon.iD-highway-motorway,
931 .legacy-carto .preset-icon .icon.iD-highway-motorway-link {
935 .legacy-carto path.stroke.tag-highway-motorway,
936 .legacy-carto path.stroke.tag-highway-motorway_link,
937 .legacy-carto path.stroke.tag-motorway {
940 .legacy-carto path.casing.tag-highway-motorway,
941 .legacy-carto path.casing.tag-highway-motorway_link,
942 .legacy-carto path.casing.tag-motorway {
946 .legacy-carto .preset-icon .icon.iD-highway-trunk,
947 .legacy-carto .preset-icon .icon.iD-highway-trunk-link {
951 .legacy-carto path.stroke.tag-highway-trunk,
952 .legacy-carto path.stroke.tag-highway-trunk_link,
953 .legacy-carto path.stroke.tag-trunk {
956 .legacy-carto path.casing.tag-highway-trunk,
957 .legacy-carto path.casing.tag-highway-trunk_link,
958 .legacy-carto path.casing.tag-trunk {
962 .legacy-carto .preset-icon .icon.iD-highway-primary,
963 .legacy-carto .preset-icon .icon.iD-highway-primary-link {
967 .legacy-carto path.stroke.tag-highway-primary,
968 .legacy-carto path.stroke.tag-highway-primary_link,
969 .legacy-carto path.stroke.tag-primary {
972 .legacy-carto path.casing.tag-highway-primary,
973 .legacy-carto path.casing.tag-highway-primary_link,
974 .legacy-carto path.casing.tag-primary {
978 .legacy-carto .preset-icon .icon.iD-highway-secondary,
979 .legacy-carto .preset-icon .icon.iD-highway-secondary-link {
983 .legacy-carto path.stroke.tag-highway-secondary,
984 .legacy-carto path.stroke.tag-highway-secondary_link,
985 .legacy-carto path.stroke.tag-secondary {
988 .legacy-carto path.casing.tag-highway-secondary,
989 .legacy-carto path.casing.tag-highway-secondary_link,
990 .legacy-carto path.casing.tag-secondary {
994 .legacy-carto .preset-icon .icon.iD-highway-tertiary,
995 .legacy-carto .preset-icon .icon.iD-highway-tertiary-link {
999 .legacy-carto path.stroke.tag-highway-tertiary,
1000 .legacy-carto path.stroke.tag-highway-tertiary_link,
1001 .legacy-carto path.stroke.tag-tertiary {
1004 .legacy-carto path.casing.tag-highway-tertiary,
1005 .legacy-carto path.casing.tag-highway-tertiary_link,
1006 .legacy-carto path.casing.tag-tertiary {
1010 .preset-icon .icon.iD-highway-residential {
1014 path.stroke.tag-highway-residential,
1015 path.stroke.tag-residential {
1018 path.casing.tag-highway-residential,
1019 path.casing.tag-residential {
1023 .preset-icon .icon.iD-highway-unclassified {
1027 path.stroke.tag-highway-unclassified,
1028 path.stroke.tag-unclassified {
1031 path.casing.tag-highway-unclassified,
1032 path.casing.tag-unclassified {
1037 /* narrow highways */
1039 path.shadow.tag-highway-living_street,
1040 path.shadow.tag-highway-bus_guideway,
1041 path.shadow.tag-highway-service,
1042 path.shadow.tag-highway-track,
1043 path.shadow.tag-highway-road,
1044 path.shadow.tag-living_street,
1045 path.shadow.tag-service,
1046 path.shadow.tag-track,
1047 path.shadow.tag-road {
1050 path.casing.tag-highway-living_street,
1051 path.casing.tag-highway-bus_guideway,
1052 path.casing.tag-highway-service,
1053 path.casing.tag-highway-track,
1054 path.casing.tag-highway-road,
1055 path.casing.tag-living_street,
1056 path.casing.tag-service,
1057 path.casing.tag-track,
1058 path.casing.tag-road {
1061 path.stroke.tag-highway-living_street,
1062 path.stroke.tag-highway-bus_guideway,
1063 path.stroke.tag-highway-service,
1064 path.stroke.tag-highway-track,
1065 path.stroke.tag-highway-road,
1066 path.stroke.tag-living_street,
1067 path.stroke.tag-service,
1068 path.stroke.tag-track,
1069 path.stroke.tag-road {
1073 path.shadow.tag-highway-path,
1074 path.shadow.tag-highway-footway,
1075 path.shadow.tag-highway-cycleway,
1076 path.shadow.tag-highway-bridleway,
1077 path.shadow.tag-highway-corridor,
1078 path.shadow.tag-highway-pedestrian,
1079 path.shadow.tag-highway-steps,
1080 path.shadow.tag-path,
1081 path.shadow.tag-footway,
1082 path.shadow.tag-cycleway,
1083 path.shadow.tag-bridleway,
1084 path.shadow.tag-corridor,
1085 path.shadow.tag-pedestrian,
1086 path.shadow.tag-steps {
1089 path.casing.tag-highway-path,
1090 path.casing.tag-highway-footway,
1091 path.casing.tag-highway-cycleway,
1092 path.casing.tag-highway-bridleway,
1093 path.casing.tag-highway-corridor,
1094 path.casing.tag-highway-pedestrian,
1095 path.casing.tag-highway-steps,
1096 path.casing.tag-path,
1097 path.casing.tag-footway,
1098 path.casing.tag-cycleway,
1099 path.casing.tag-bridleway,
1100 path.casing.tag-corridor,
1101 path.casing.tag-pedestrian,
1102 path.casing.tag-steps {
1105 path.stroke.tag-highway-path,
1106 path.stroke.tag-highway-footway,
1107 path.stroke.tag-highway-cycleway,
1108 path.stroke.tag-highway-bridleway,
1109 path.stroke.tag-highway-corridor,
1110 path.stroke.tag-highway-pedestrian,
1111 path.stroke.tag-highway-steps,
1112 path.stroke.tag-path,
1113 path.stroke.tag-footway,
1114 path.stroke.tag-cycleway,
1115 path.stroke.tag-bridleway,
1116 path.stroke.tag-corridor,
1117 path.stroke.tag-pedestrian,
1118 path.stroke.tag-steps {
1122 .low-zoom path.shadow.tag-highway-living_street,
1123 .low-zoom path.shadow.tag-highway-bus_guideway,
1124 .low-zoom path.shadow.tag-highway-service,
1125 .low-zoom path.shadow.tag-highway-track,
1126 .low-zoom path.shadow.tag-highway-road,
1127 .low-zoom path.shadow.tag-living_street,
1128 .low-zoom path.shadow.tag-service,
1129 .low-zoom path.shadow.tag-track,
1130 .low-zoom path.shadow.tag-road {
1133 .low-zoom path.casing.tag-highway-living_street,
1134 .low-zoom path.casing.tag-highway-bus_guideway,
1135 .low-zoom path.casing.tag-highway-service,
1136 .low-zoom path.casing.tag-highway-track,
1137 .low-zoom path.casing.tag-highway-road,
1138 .low-zoom path.casing.tag-living_street,
1139 .low-zoom path.casing.tag-service,
1140 .low-zoom path.casing.tag-track,
1141 .low-zoom path.casing.tag-road {
1144 .low-zoom path.stroke.tag-highway-living_street,
1145 .low-zoom path.stroke.tag-highway-bus_guideway,
1146 .low-zoom path.stroke.tag-highway-service,
1147 .low-zoom path.stroke.tag-highway-track,
1148 .low-zoom path.stroke.tag-highway-road,
1149 .low-zoom path.stroke.tag-living_street,
1150 .low-zoom path.stroke.tag-service,
1151 .low-zoom path.stroke.tag-track,
1152 .low-zoom path.stroke.tag-road {
1156 .low-zoom path.shadow.tag-highway-path,
1157 .low-zoom path.shadow.tag-highway-footway,
1158 .low-zoom path.shadow.tag-highway-cycleway,
1159 .low-zoom path.shadow.tag-highway-bridleway,
1160 .low-zoom path.shadow.tag-highway-corridor,
1161 .low-zoom path.shadow.tag-highway-pedestrian,
1162 .low-zoom path.shadow.tag-highway-steps,
1163 .low-zoom path.shadow.tag-path,
1164 .low-zoom path.shadow.tag-footway,
1165 .low-zoom path.shadow.tag-cycleway,
1166 .low-zoom path.shadow.tag-bridleway,
1167 .low-zoom path.shadow.tag-corridor,
1168 .low-zoom path.shadow.tag-pedestrian,
1169 .low-zoom path.shadow.tag-steps {
1172 .low-zoom path.casing.tag-highway-path,
1173 .low-zoom path.casing.tag-highway-footway,
1174 .low-zoom path.casing.tag-highway-cycleway,
1175 .low-zoom path.casing.tag-highway-bridleway,
1176 .low-zoom path.casing.tag-highway-corridor,
1177 .low-zoom path.casing.tag-highway-pedestrian,
1178 .low-zoom path.casing.tag-highway-steps,
1179 .low-zoom path.casing.tag-path,
1180 .low-zoom path.casing.tag-footway,
1181 .low-zoom path.casing.tag-cycleway,
1182 .low-zoom path.casing.tag-bridleway,
1183 .low-zoom path.casing.tag-corridor,
1184 .low-zoom path.casing.tag-pedestrian,
1185 .low-zoom path.casing.tag-steps {
1188 .low-zoom path.stroke.tag-highway-path,
1189 .low-zoom path.stroke.tag-highway-footway,
1190 .low-zoom path.stroke.tag-highway-cycleway,
1191 .low-zoom path.stroke.tag-highway-bridleway,
1192 .low-zoom path.stroke.tag-highway-corridor,
1193 .low-zoom path.stroke.tag-highway-pedestrian,
1194 .low-zoom path.stroke.tag-highway-steps,
1195 .low-zoom path.stroke.tag-path,
1196 .low-zoom path.stroke.tag-footway,
1197 .low-zoom path.stroke.tag-cycleway,
1198 .low-zoom path.stroke.tag-bridleway,
1199 .low-zoom path.stroke.tag-corridor,
1200 .low-zoom path.stroke.tag-pedestrian,
1201 .low-zoom path.stroke.tag-steps {
1206 .preset-icon .icon.iD-highway-living-street {
1210 path.stroke.tag-highway-living_street,
1211 path.stroke.tag-living_street {
1214 path.casing.tag-highway-living_street,
1215 path.casing.tag-living_street {
1219 .preset-icon .icon.iD-highway-footway.tag-highway-corridor,
1220 .preset-icon .icon.iD-highway-footway.tag-highway-pedestrian {
1224 path.stroke.tag-highway-corridor,
1225 path.stroke.tag-highway-pedestrian,
1226 path.stroke.tag-corridor,
1227 path.stroke.tag-pedestrian {
1229 stroke-dasharray: 2, 8;
1231 .low-zoom path.stroke.tag-highway-corridor,
1232 .low-zoom path.stroke.tag-highway-pedestrian,
1233 .low-zoom path.stroke.tag-corridor,
1234 .low-zoom path.stroke.tag-pedestrian {
1235 stroke-dasharray: 1, 4;
1237 path.casing.tag-highway-corridor,
1238 path.casing.tag-highway-pedestrian,
1239 path.casing.tag-corridor,
1240 path.casing.tag-pedestrian,
1241 path.casing.tag-highway-corridor.tag-unpaved,
1242 path.casing.tag-highway-pedestrian.tag-unpaved,
1243 path.casing.tag-corridor.tag-unpaved,
1244 path.casing.tag-pedestrian.tag-unpaved {
1246 stroke-linecap: round;
1247 stroke-dasharray: none;
1250 .preset-icon .icon.iD-highway-road {
1254 path.stroke.tag-highway-road,
1255 path.stroke.tag-road {
1258 path.casing.tag-highway-road,
1259 path.casing.tag-road {
1263 .preset-icon .icon.iD-highway-service {
1267 path.stroke.tag-highway-service,
1268 path.stroke.tag-service {
1271 path.casing.tag-highway-service,
1272 path.casing.tag-service {
1276 /* special service roads and bus guideways */
1277 /* with `service=* tag` (e.g. parking_aisle, alley, drive-through */
1278 .preset-icon .icon.iD-highway-bus_guideway,
1279 .preset-icon .icon.iD-highway-service.tag-service {
1283 path.stroke.tag-highway-bus_guideway,
1284 path.stroke.tag-highway-service.tag-service,
1285 path.stroke.tag-service.tag-service {
1288 path.casing.tag-highway-bus_guideway,
1289 path.casing.tag-highway-service.tag-service,
1290 path.casing.tag-service.tag-service {
1294 .preset-icon .icon.iD-highway-track {
1298 path.stroke.tag-highway-track,
1299 path.stroke.tag-track {
1302 path.casing.tag-highway-track,
1303 path.casing.tag-track {
1307 path.stroke.tag-highway-path,
1308 path.stroke.tag-highway-footway,
1309 path.stroke.tag-highway-cycleway,
1310 path.stroke.tag-highway-bridleway {
1311 stroke-linecap: butt;
1312 stroke-dasharray: 6, 6;
1314 .low-zoom path.stroke.tag-highway-path,
1315 .low-zoom path.stroke.tag-highway-footway,
1316 .low-zoom path.stroke.tag-highway-cycleway,
1317 .low-zoom path.stroke.tag-highway-bridleway {
1318 stroke-linecap: butt;
1319 stroke-dasharray: 3, 3;
1322 path.casing.tag-highway-path,
1323 path.casing.tag-highway-path.tag-unpaved {
1325 stroke-linecap: round;
1326 stroke-dasharray: none;
1328 path.casing.tag-highway-footway,
1329 path.casing.tag-highway-cycleway,
1330 path.casing.tag-highway-bridleway,
1331 path.casing.tag-highway-footway.tag-unpaved,
1332 path.casing.tag-highway-cycleway.tag-unpaved,
1333 path.casing.tag-highway-bridleway.tag-unpaved {
1335 stroke-linecap: round;
1336 stroke-dasharray: none;
1339 .preset-icon .icon.iD-category-path,
1340 .preset-icon .icon.iD-highway-path {
1344 path.stroke.tag-highway-path {
1348 .preset-icon .icon.tag-route-foot,
1349 .preset-icon .icon.tag-route-hiking,
1350 .preset-icon .icon.iD-highway-footway {
1354 path.stroke.tag-highway-footway {
1359 .preset-icon .icon.tag-route-bicycle,
1360 .preset-icon .icon.iD-highway-cycleway {
1364 path.stroke.tag-highway-cycleway {
1368 .preset-icon .icon.tag-route-horse,
1369 .preset-icon .icon.iD-highway-bridleway {
1373 path.stroke.tag-highway-bridleway {
1377 .preset-icon .icon.iD-highway-steps {
1381 path.stroke.tag-highway-steps {
1383 stroke-linecap: butt;
1384 stroke-dasharray: 3, 3;
1386 .low-zoom path.stroke.tag-highway-steps {
1387 stroke-dasharray: 2, 2;
1389 path.casing.tag-highway-steps,
1390 path.casing.tag-highway-steps.tag-unpaved {
1392 stroke-linecap: round;
1393 stroke-dasharray: none;
1396 /* highway midpoints */
1397 g.midpoint.tag-highway-corridor .fill,
1398 g.midpoint.tag-highway-pedestrian .fill,
1399 g.midpoint.tag-highway-steps .fill,
1400 g.midpoint.tag-highway-path .fill,
1401 g.midpoint.tag-highway-footway .fill,
1402 g.midpoint.tag-highway-cycleway .fill,
1403 g.midpoint.tag-highway-bridleway .fill {
1412 path.stroke.area.tag-aeroway,
1413 .low-zoom path.stroke.area.tag-aeroway {
1415 stroke-dasharray: none;
1419 /* narrow aeroways (taxiway) */
1420 path.shadow.tag-aeroway-taxiway,
1421 path.shadow.tag-taxiway {
1424 path.casing.tag-aeroway-taxiway,
1425 path.casing.tag-taxiway {
1428 path.stroke.tag-aeroway-taxiway,
1429 path.stroke.tag-taxiway {
1433 .low-zoom path.shadow.tag-aeroway-taxiway,
1434 .low-zoom path.shadow.tag-taxiway {
1437 .low-zoom path.casing.tag-aeroway-taxiway,
1438 .low-zoom path.casing.tag-taxiway {
1441 .low-zoom path.stroke.tag-aeroway-taxiway,
1442 .low-zoom path.stroke.tag-taxiway {
1446 .preset-icon .icon.tag-aeroway-taxiway,
1447 .preset-icon .icon.tag-taxiway {
1451 path.stroke.tag-aeroway-taxiway,
1452 path.stroke.tag-taxiway {
1455 path.casing.tag-aeroway-taxiway,
1456 path.casing.tag-taxiway {
1461 /* wide aeroways (runway) */
1462 .preset-icon .icon.tag-aeroway-runway,
1463 .preset-icon .icon.tag-runway {
1467 path.shadow.tag-aeroway-runway {
1470 path.casing.tag-aeroway-runway {
1473 stroke-linecap: square;
1475 path.stroke.tag-aeroway-runway {
1478 stroke-linecap: butt;
1479 stroke-dasharray: 24, 48;
1482 .low-zoom path.shadow.tag-aeroway-runway {
1485 .low-zoom path.casing.tag-aeroway-runway {
1488 .low-zoom path.stroke.tag-aeroway-runway {
1490 stroke-dasharray: 12, 24;
1493 path.fill.tag-aeroway-runway {
1494 stroke: rgba(0, 0, 0, 0.6);
1495 fill: rgba(0, 0, 0, 0.6);
1499 .preset-icon .icon.tag-railway.other-line {
1503 .preset-icon .icon.tag-railway {
1509 path.stroke.area.tag-railway,
1510 .low-zoom path.stroke.area.tag-railway {
1513 stroke-dasharray: none;
1516 path.casing.area.tag-railway,
1517 .low-zoom path.casing.area.tag-railway {
1522 path.shadow.tag-railway {
1525 path.casing.tag-railway {
1528 path.stroke.tag-railway {
1530 stroke-linecap: butt;
1531 stroke-dasharray: 12,12;
1534 .low-zoom path.shadow.tag-railway {
1537 .low-zoom path.casing.tag-railway {
1540 .low-zoom path.stroke.tag-railway {
1542 stroke-dasharray: 6,6;
1547 path.casing.tag-railway {
1550 path.stroke.tag-railway {
1555 .preset-icon .icon.tag-railway-disused,
1556 .preset-icon .icon.tag-railway-abandoned {
1560 path.casing.tag-railway-disused,
1561 path.casing.tag-railway-abandoned {
1564 path.stroke.tag-railway-disused,
1565 path.stroke.tag-railway-abandoned {
1570 .preset-icon .icon.tag-railway-subway {
1574 path.casing.tag-railway-subway {
1577 path.stroke.tag-railway-subway {
1581 .preset-icon .icon.tag-waterway.other-line {
1585 .preset-icon .icon.iD-category-water,
1586 .preset-icon .icon.tag-type-waterway,
1587 .preset-icon .icon.tag-waterway {
1592 path.fill.tag-waterway {
1593 stroke: rgba(119, 211, 222, 0.3);
1594 fill: rgba(119, 211, 222, 0.3);
1596 path.casing.tag-waterway {
1599 path.stroke.tag-waterway {
1604 /* narrow waterways (default) */
1605 path.shadow.tag-waterway {
1608 path.casing.tag-waterway {
1611 path.stroke.tag-waterway {
1615 .low-zoom path.shadow.tag-waterway {
1618 .low-zoom path.casing.tag-waterway {
1621 .low-zoom path.stroke.tag-waterway {
1626 /* wide waterways (river) */
1627 path.shadow.tag-waterway-river {
1630 path.casing.tag-waterway-river {
1633 path.stroke.tag-waterway-river {
1637 .low-zoom path.shadow.tag-waterway-river {
1640 .low-zoom path.casing.tag-waterway-river {
1643 .low-zoom path.stroke.tag-waterway-river {
1649 .preset-icon .icon.tag-waterway-ditch {
1652 path.stroke.tag-waterway-ditch {
1657 /* waterway areas */
1658 path.area.stroke.tag-waterway-dock,
1659 path.area.stroke.tag-waterway-boatyard,
1660 path.area.stroke.tag-waterway-fuel {
1664 path.area.casing.tag-waterway-dock,
1665 path.area.casing.tag-waterway-boatyard,
1666 path.area.casing.tag-waterway-fuel {
1669 path.area.fill.tag-waterway-dock,
1670 path.area.fill.tag-waterway-boatyard,
1671 path.area.fill.tag-waterway-fuel {
1672 stroke: rgba(255, 255, 255, 0.3);
1673 fill: rgba(255, 255, 255, 0.3);
1677 .preset-icon .icon.tag-route-ferry {
1681 path.shadow.tag-route-ferry {
1684 path.stroke.tag-route-ferry {
1686 stroke-linecap: butt;
1687 stroke-dasharray: 12,8;
1689 .low-zoom path.shadow.tag-route-ferry {
1692 .low-zoom path.stroke.tag-route-ferry {
1694 stroke-dasharray: 6,4;
1696 path.stroke.tag-route-ferry {
1699 /* power and pipeline */
1700 .preset-icon .icon.tag-man_made-pipeline,
1701 .preset-icon .icon.tag-power {
1708 path.stroke.tag-power {
1712 path.casing.tag-power {
1718 path.stroke.tag-man_made-pipeline {
1720 stroke-linecap: butt;
1722 stroke-dasharray: 80, 1.25;
1724 path.casing.tag-man_made-pipeline {
1728 .low-zoom path.stroke.tag-man_made-pipeline {
1729 stroke-dasharray: 40, 1;
1733 path.stroke.tag-boundary {
1736 stroke-linecap: butt;
1737 stroke-dasharray: 20, 5, 5, 5;
1739 path.casing.tag-boundary {
1744 path.casing.tag-boundary-protected_area,
1745 path.casing.tag-boundary-national_park {
1751 path.shadow.tag-natural-tree_row {
1754 path.casing.tag-natural-tree_row {
1757 path.stroke.tag-natural-tree_row {
1761 .low-zoom path.shadow.tag-natural-tree_row {
1764 .low-zoom path.casing.tag-natural-tree_row {
1767 .low-zoom path.stroke.tag-natural-tree_row {
1773 path.stroke.tag-barrier:not(.tag-barrier-hedge) {
1776 path.stroke.tag-barrier {
1778 stroke-linecap: round;
1779 stroke-dasharray: 15, 5, 1, 5;
1781 .low-zoom path.stroke.tag-barrier {
1783 stroke-linecap: butt;
1784 stroke-dasharray: 8, 2, 2, 2;
1789 path.casing.tag-bridge {
1790 stroke-opacity: 0.6;
1791 stroke: #000 !important;
1792 stroke-linecap: butt;
1793 stroke-dasharray: none;
1796 path.shadow.tag-bridge {
1799 path.casing.tag-bridge {
1802 .low-zoom path.shadow.tag-bridge {
1805 .low-zoom path.casing.tag-bridge {
1809 path.shadow.line.tag-railway.tag-bridge,
1810 path.shadow.tag-highway-living_street.tag-bridge,
1811 path.shadow.tag-highway-path.tag-bridge,
1812 path.shadow.tag-highway-corridor.tag-bridge,
1813 path.shadow.line.tag-highway-pedestrian.tag-bridge,
1814 path.shadow.tag-highway-service.tag-bridge,
1815 path.shadow.tag-highway-track.tag-bridge,
1816 path.shadow.tag-highway-steps.tag-bridge,
1817 path.shadow.tag-highway-footway.tag-bridge,
1818 path.shadow.tag-highway-cycleway.tag-bridge,
1819 path.shadow.tag-highway-bridleway.tag-bridge {
1822 path.casing.line.tag-railway.tag-bridge,
1823 path.casing.tag-highway-living_street.tag-bridge,
1824 path.casing.tag-highway-path.tag-bridge,
1825 path.casing.tag-highway-corridor.tag-bridge,
1826 path.casing.line.tag-highway-pedestrian.tag-bridge,
1827 path.casing.tag-highway-service.tag-bridge,
1828 path.casing.tag-highway-track.tag-bridge,
1829 path.casing.tag-highway-steps.tag-bridge,
1830 path.casing.tag-highway-footway.tag-bridge,
1831 path.casing.tag-highway-cycleway.tag-bridge,
1832 path.casing.tag-highway-bridleway.tag-bridge {
1836 .low-zoom path.shadow.line.tag-railway.tag-bridge,
1837 .low-zoom path.shadow.tag-highway-living_street.tag-bridge,
1838 .low-zoom path.shadow.tag-highway-path.tag-bridge,
1839 .low-zoom path.shadow.tag-highway-corridor.tag-bridge,
1840 .low-zoom path.shadow.line.tag-highway-pedestrian.tag-bridge,
1841 .low-zoom path.shadow.tag-highway-service.tag-bridge,
1842 .low-zoom path.shadow.tag-highway-track.tag-bridge,
1843 .low-zoom path.shadow.tag-highway-steps.tag-bridge,
1844 .low-zoom path.shadow.tag-highway-footway.tag-bridge,
1845 .low-zoom path.shadow.tag-highway-cycleway.tag-bridge,
1846 .low-zoom path.shadow.tag-highway-bridleway.tag-bridge {
1849 .low-zoom path.casing.line.tag-railway.tag-bridge,
1850 .low-zoom path.casing.tag-highway-living_street.tag-bridge,
1851 .low-zoom path.casing.tag-highway-path.tag-bridge,
1852 .low-zoom path.casing.tag-highway-corridor.tag-bridge,
1853 .low-zoom path.casing.line.tag-highway-pedestrian.tag-bridge,
1854 .low-zoom path.casing.tag-highway-service.tag-bridge,
1855 .low-zoom path.casing.tag-highway-track.tag-bridge,
1856 .low-zoom path.casing.tag-highway-steps.tag-bridge,
1857 .low-zoom path.casing.tag-highway-footway.tag-bridge,
1858 .low-zoom path.casing.tag-highway-cycleway.tag-bridge,
1859 .low-zoom path.casing.tag-highway-bridleway.tag-bridge {
1865 path.stroke.tag-tunnel,
1866 path.line.stroke.tag-location-underground,
1867 path.line.stroke.tag-location-underwater {
1868 stroke-opacity: 0.3;
1870 path.casing.tag-tunnel,
1871 path.line.casing.tag-location-underground,
1872 path.line.stroke.tag-location-underwater {
1873 stroke-opacity: 0.5;
1874 stroke-linecap: butt;
1875 stroke-dasharray: none;
1879 /* embankments / cuttings */
1880 path.shadow.tag-embankment,
1881 path.shadow.tag-cutting {
1884 path.casing.tag-embankment,
1885 path.casing.tag-cutting {
1886 stroke-opacity: 0.5;
1889 stroke-dasharray: 2, 4;
1890 stroke-linecap: butt;
1893 .low-zoom path.shadow.tag-embankment,
1894 .low-zoom path.shadow.tag-cutting {
1897 .low-zoom path.casing.tag-embankment,
1898 .low-zoom path.casing.tag-cutting {
1903 /* Surface - unpaved */
1904 path.casing.tag-unpaved {
1906 stroke-linecap: butt;
1907 stroke-dasharray: 4, 3;
1909 .low-zoom path.casing.tag-unpaved {
1910 stroke-dasharray: 3, 2;
1912 path.casing.tag-bridge.tag-unpaved {
1914 stroke-dasharray: 4, 3;
1916 .low-zoom path.casing.tag-bridge.tag-unpaved {
1918 stroke-dasharray: 3, 2;
1922 /* Status (e.g. construction, proposed, abandoned) */
1923 path.stroke.tag-status,
1924 path.casing.tag-status {
1925 stroke-linecap: butt;
1926 stroke-dasharray: 7, 3;
1928 .low-zoom path.stroke.tag-status,
1929 .low-zoom path.casing.tag-status {
1930 stroke-dasharray: 5, 2;
1935 path.stroke.tag-building {
1936 stroke: rgb(224, 110, 95);
1938 path.fill.tag-building {
1939 stroke: rgba(224, 110, 95, 0.3);
1940 fill: rgba(224, 110, 95, 0.3);
1942 .preset-icon-fill-area.tag-parking-multi-storey,
1943 .preset-icon-fill-area.tag-building {
1944 border-color: rgb(224, 110, 95);
1945 background-color: rgba(224, 110, 95, 0.3);
1949 /* "Special" paths - platforms, piers, crossings */
1950 .preset-icon .icon.tag-public_transport-platform,
1951 .preset-icon .icon.tag-railway-platform,
1952 .preset-icon .icon.tag-man_made-pier,
1953 .preset-icon .icon.tag-footway.tag-footway-crossing,
1954 .preset-icon .icon.tag-crossing {
1959 .preset-icon-fill-area.tag-public_transport-platform,
1960 .preset-icon-fill-area.tag-railway-platform,
1961 .preset-icon-fill-area.tag-man_made-pier,
1962 .preset-icon-fill-area.tag-footway.tag-footway-crossing,
1963 .preset-icon-fill-area.tag-crossing {
1965 background-color: #dca;
1968 path.shadow.tag-public_transport-platform,
1969 path.shadow.tag-railway-platform,
1970 path.shadow.tag-man_made-pier,
1971 path.shadow.tag-footway.tag-footway-crossing,
1972 path.shadow.tag-crossing {
1975 path.casing.tag-public_transport-platform,
1976 path.casing.tag-railway-platform,
1977 path.casing.tag-man_made-pier,
1978 path.casing.tag-footway.tag-footway-crossing,
1979 path.casing.tag-crossing {
1982 stroke-linecap: round;
1983 stroke-dasharray: none;
1985 path.stroke.tag-public_transport-platform,
1986 path.stroke.tag-railway-platform,
1987 path.stroke.tag-man_made-pier,
1988 path.stroke.tag-footway.tag-footway-crossing,
1989 path.stroke.tag-crossing {
1992 stroke-linecap: butt;
1993 stroke-dasharray: 6, 6;
1996 .low-zoom path.shadow.tag-public_transport-platform,
1997 .low-zoom path.shadow.tag-railway-platform,
1998 .low-zoom path.shadow.tag-man_made-pier,
1999 .low-zoom path.shadow.tag-footway.tag-footway-crossing,
2000 .low-zoom path.shadow.tag-crossing {
2003 .low-zoom path.casing.tag-public_transport-platform,
2004 .low-zoom path.casing.tag-railway-platform,
2005 .low-zoom path.casing.tag-man_made-pier,
2006 .low-zoom path.casing.tag-footway.tag-footway-crossing,
2007 .low-zoom path.casing.tag-crossing {
2010 .low-zoom path.stroke.tag-public_transport-platform,
2011 .low-zoom path.stroke.tag-railway-platform,
2012 .low-zoom path.stroke.tag-man_made-pier,
2013 .low-zoom path.stroke.tag-footway.tag-footway-crossing,
2014 .low-zoom path.stroke.tag-crossing {
2016 stroke-linecap: butt;
2017 stroke-dasharray: 3, 3;
2020 g.midpoint.tag-public_transport-platform .fill,
2021 g.midpoint.tag-railway-platform .fill,
2022 g.midpoint.tag-man_made-pier .fill,
2023 g.midpoint.tag-footway.tag-footway-crossing .fill,
2024 g.midpoint.tag-crossing .fill {
2031 /* marked crossings, zebras */
2032 .preset-icon .icon.tag-crossing.tag-crossing-marked,
2033 .preset-icon .icon.tag-crossing.tag-crossing-zebra {
2037 path.casing.tag-crossing.tag-crossing-marked,
2038 path.casing.tag-crossing.tag-crossing-zebra {
2041 path.stroke.tag-crossing.tag-crossing-marked,
2042 path.stroke.tag-crossing.tag-crossing-zebra {
2044 stroke-dasharray: 6, 4;
2046 .low-zoom path.stroke.tag-crossing.tag-crossing-marked,
2047 .low-zoom path.stroke.tag-crossing.tag-crossing-zebra {
2048 stroke-dasharray: 3, 2;
2052 path.shadow.tag-attraction-summer_toboggan,
2053 path.shadow.tag-attraction-water_slide {
2056 path.casing.tag-attraction-summer_toboggan,
2057 path.casing.tag-attraction-water_slide {
2060 path.stroke.tag-attraction-summer_toboggan,
2061 path.stroke.tag-attraction-water_slide {
2064 .low-zoom path.shadow.tag-attraction-summer_toboggan,
2065 .low-zoom path.shadow.tag-attraction-water_slide {
2068 .low-zoom path.casing.tag-attraction-summer_toboggan,
2069 .low-zoom path.casing.tag-attraction-water_slide {
2072 .low-zoom path.stroke.tag-attraction-summer_toboggan,
2073 .low-zoom path.stroke.tag-attraction-water_slide {
2076 path.stroke.tag-attraction-summer_toboggan {
2079 path.casing.tag-attraction-summer_toboggan {
2083 path.stroke.tag-attraction-water_slide {
2086 path.casing.tag-attraction-water_slide {
2093 cursor: not-allowed !important;
2098 cursor: auto; /* Opera */
2099 cursor: url(<%= asset_path("iD/img/cursor-grab.png") %>) 9 9, auto; /* FF */
2102 .mode-browse .point,
2103 .mode-select .point {
2104 cursor: pointer; /* Opera */
2105 cursor: url(<%= asset_path("iD/img/cursor-select-point.png") %>), pointer; /* FF */
2108 .mode-select .vertex,
2109 .mode-browse .vertex {
2110 cursor: pointer; /* Opera */
2111 cursor: url(<%= asset_path("iD/img/cursor-select-vertex.png") %>), pointer; /* FF */
2115 .mode-select .line {
2116 cursor: pointer; /* Opera */
2117 cursor: url(<%= asset_path("iD/img/cursor-select-line.png") %>), pointer; /* FF */
2121 .mode-browse .area {
2122 cursor: pointer; /* Opera */
2123 cursor: url(<%= asset_path("iD/img/cursor-select-area.png") %>), pointer; /* FF */
2126 .mode-select .midpoint,
2127 .mode-browse .midpoint {
2128 cursor: pointer; /* Opera */
2129 cursor: url(<%= asset_path("iD/img/cursor-select-split.png") %>), pointer; /* FF */
2132 .mode-select .behavior-multiselect .point,
2133 .mode-select .behavior-multiselect .vertex,
2134 .mode-select .behavior-multiselect .line,
2135 .mode-select .behavior-multiselect .area {
2136 cursor: pointer; /* Opera */
2137 cursor: url(<%= asset_path("iD/img/cursor-select-add.png") %>), pointer; /* FF */
2140 .mode-select .behavior-multiselect .selected {
2141 cursor: pointer; /* Opera */
2142 cursor: url(<%= asset_path("iD/img/cursor-select-remove.png") %>), pointer; /* FF */
2145 .mode-draw-line #map,
2146 .mode-draw-area #map,
2147 .mode-add-line #map,
2148 .mode-add-area #map,
2149 .mode-drag-node #map,
2150 .mode-drag-note #map {
2151 cursor: crosshair; /* Opera */
2152 cursor: url(<%= asset_path("iD/img/cursor-draw.png") %>) 9 9, crosshair; /* FF */
2155 .mode-draw-line .way.target,
2156 .mode-draw-area .way.target,
2157 .mode-add-line .way.target,
2158 .mode-add-area .way.target,
2159 .mode-drag-node .way.target {
2160 cursor: crosshair; /* Opera */
2161 cursor: url(<%= asset_path("iD/img/cursor-draw-connect-line.png") %>) 9 9, crosshair; /* FF */
2164 .mode-draw-line .vertex.target,
2165 .mode-draw-area .vertex.target,
2166 .mode-add-line .vertex.target,
2167 .mode-add-area .vertex.target,
2168 .mode-drag-node .vertex.target {
2169 cursor: crosshair; /* Opera */
2170 cursor: url(<%= asset_path("iD/img/cursor-draw-connect-vertex.png") %>) 9 9, crosshair; /* FF */
2173 .mode-add-point #map,
2174 .mode-add-note #map,
2175 .mode-browse.lasso #map,
2176 .mode-browse.lasso .way,
2177 .mode-browse.lasso .vertex,
2178 .mode-browse.lasso .midpoint,
2179 .mode-select.lasso #map,
2180 .mode-select.lasso .way,
2181 .mode-select.lasso .vertex,
2182 .mode-select.lasso .midpoint {
2183 cursor: crosshair; /* Opera */
2184 cursor: url(<%= asset_path("iD/img/cursor-draw.png") %>) 9 9, crosshair; /* FF */
2191 /* photo viewer div */
2199 background-color: #fff;
2201 [dir='rtl'] #photoviewer {
2206 @media screen and (min-width: 1600px) {
2213 #photoviewer button.thumb-hide {
2222 #photoviewer button.resize-handle-xy {
2228 cursor: nesw-resize;
2233 #photoviewer button.resize-handle-x {
2245 #photoviewer button.resize-handle-y {
2258 .photo-wrapper img {
2265 .photo-wrapper .photo-attribution {
2277 .photo-attribution a,
2278 .photo-attribution a:visited,
2279 .photo-attribution span {
2284 /* markers and sequences */
2286 pointer-events: none;
2288 .mode-browse .viewfield-group,
2289 .mode-select .viewfield-group {
2290 pointer-events: visible;
2294 .viewfield-group.selected * {
2295 fill: #ffee00 !important;
2297 .viewfield-group.hovered * {
2298 fill: #eebb00 !important;
2301 .viewfield-group circle {
2304 stroke-opacity: 0.4;
2307 .viewfield-group.highlighted circle {
2309 stroke-opacity: 0.9;
2312 .viewfield-group.highlighted.hovered circle {
2315 stroke-opacity: 0.9;
2318 .viewfield-group.highlighted.selected circle {
2325 .viewfield-group .viewfield {
2330 .viewfield-group.highlighted .viewfield {
2334 .viewfield-group.highlighted.hovered .viewfield {
2338 .viewfield-group.highlighted.selected .viewfield {
2343 .viewfield-group.selected .viewfield-scale {
2344 transform: scale(2,2);
2350 stroke-opacity: 0.4;
2352 .sequence.highlighted,
2353 .sequence.selected {
2359 /* Streetside Image Layer */
2360 .layer-streetside-images {
2361 pointer-events: none;
2363 .layer-streetside-images .viewfield-group * {
2366 .layer-streetside-images .sequence {
2368 stroke-opacity: 0.85; /* bump opacity - only one per road */
2372 /* Mapillary Image Layer */
2373 .layer-mapillary-images {
2374 pointer-events: none;
2376 .layer-mapillary-images .viewfield-group * {
2379 .layer-mapillary-images .sequence {
2384 /* Mapillary Sign Layer */
2385 .layer-mapillary-signs {
2386 pointer-events: none;
2388 .layer-mapillary-signs .icon-sign {
2389 outline: 2px solid transparent;
2390 pointer-events: visible;
2393 .layer-mapillary-signs .icon-sign:hover {
2394 outline: 5px solid #eebb00;
2395 background-color: #eebb00;
2397 .layer-mapillary-signs .icon-sign.selected {
2398 outline: 5px solid #ffee00;
2399 background-color: #ffee00;
2403 /* OpenStreetCam Image Layer */
2404 .layer-openstreetcam-images {
2405 pointer-events: none;
2407 .layer-openstreetcam-images .viewfield-group * {
2410 .layer-openstreetcam-images .sequence {
2415 /* Streetside Viewer (pannellum) */
2416 .ms-wrapper .photo-attribution .image-link {
2419 .ms-wrapper .photo-attribution .attribution-row {
2421 flex-flow: row nowrap;
2422 justify-content: space-between;
2423 align-items: center;
2426 .ms-wrapper .photo-attribution .image-view-link {
2430 .ms-wrapper .photo-attribution .image-report-link {
2434 .ms-wrapper .photo-attribution a:active,
2435 .ms-wrapper .photo-attribution a:hover {
2439 .ms-wrapper .pnlm-compass.pnlm-control {
2444 background-size: contain;
2445 background-repeat: no-repeat no-repeat;
2448 label.streetside-hires {
2451 .streetside-hires span {
2454 .streetside-hires input[type="checkbox"] {
2462 /* Mapillary viewer */
2463 #mly .domRenderer .TagSymbol {
2465 background-color: rgba(0,0,0,0.4);
2470 #mly .domRenderer .Attribution {
2471 /* we will roll our own to avoid async update issues like #4526 */
2475 .mly-wrapper .photo-attribution a:active,
2476 .mly-wrapper .photo-attribution a:hover {
2480 .mly-wrapper .mapillary-js-dom {
2485 /* OpenStreetCam viewer */
2488 background-color: #000;
2489 background-image: url(<%= asset_path("iD/img/loader-black.gif") %>);
2490 background-position: center;
2491 background-repeat: no-repeat;
2494 .osc-wrapper .photo-attribution a:active,
2495 .osc-wrapper .photo-attribution a:hover {
2502 transform-origin:0 0;
2503 -ms-transform-origin:0 0;
2504 -webkit-transform-origin:0 0;
2505 -moz-transform-origin:0 0;
2506 -o-transform-origin:0 0;
2510 /* photo-controls (step forward, back, rotate) */
2511 .photo-controls-wrap {
2520 display: inline-block;
2524 .photo-controls button,
2525 .photo-controls button:focus {
2528 background: rgba(0,0,0,0.65);
2532 .photo-controls button:first-of-type {
2533 border-radius: 3px 0 0 3px;
2535 .photo-controls button:last-of-type {
2536 border-radius: 0 3px 3px 0;
2538 .photo-controls button:hover,
2539 .photo-controls button:active {
2540 background: rgba(0,0,0,0.85);
2544 /* OSM Notes Layer */
2546 pointer-events: none;
2548 .layer-notes .note * {
2549 pointer-events: none;
2551 .mode-browse .layer-notes .note .note-fill,
2552 .mode-select .layer-notes .note .note-fill,
2553 .mode-select-data .layer-notes .note .note-fill,
2554 .mode-select-note .layer-notes .note .note-fill {
2555 pointer-events: visible;
2556 cursor: pointer; /* Opera */
2557 cursor: url(<%= asset_path("iD/img/cursor-select-point.png") %>), pointer; /* FF */
2560 .note-header-icon .note-shadow,
2561 .layer-notes .note .note-shadow {
2564 .note-header-icon .note-fill,
2565 .layer-notes .note .note-fill {
2570 .note-header-icon.new .note-fill,
2571 .layer-notes .note.new .note-fill {
2576 .note-header-icon.closed .note-fill,
2577 .layer-notes .note.closed .note-fill {
2583 /* slight adjustments to preset icon for note icons */
2584 .note-header-icon .preset-icon-28 {
2587 .note-header-icon .note-icon-annotation {
2593 .note-header-icon .note-icon-annotation .icon {
2599 /* Custom Map Data (geojson, gpx, kml, vector tile) */
2602 pointer-events: none;
2605 .layer-mapdata path.shadow {
2606 pointer-events: stroke;
2612 .layer-mapdata path.MultiPoint.shadow,
2613 .layer-mapdata path.Point.shadow {
2614 pointer-events: fill;
2618 .layer-mapdata path.shadow.hover:not(.selected) {
2619 stroke-opacity: 0.4;
2621 .layer-mapdata path.shadow.selected {
2622 stroke-opacity: 0.7;
2625 .layer-mapdata path.stroke {
2631 .layer-mapdata path.fill {
2633 stroke-opacity: 0.3;
2640 .layer-mapdata text.label-halo,
2641 .layer-mapdata text.label {
2644 dominant-baseline: middle;
2646 .layer-mapdata text.label {
2649 .layer-mapdata text.label.hover,
2650 .layer-mapdata text.label.selected {
2653 .layer-mapdata text.label-halo {
2657 stroke-miterlimit: 1;
2662 .low-zoom.fill-wireframe path.stroke,
2663 .fill-wireframe path.stroke {
2664 stroke-width: 1 !important;
2665 stroke-opacity: 0.5 !important;
2666 stroke-dasharray: none !important;
2667 fill: none !important;
2669 .low-zoom.fill-wireframe .layer-mapdata path.stroke,
2670 .fill-wireframe .layer-mapdata path.stroke {
2671 stroke-width: 2 !important;
2672 stroke-opacity: 1 !important;
2675 .low-zoom.fill-wireframe path.shadow,
2676 .fill-wireframe path.shadow {
2680 .fill-wireframe path.shadow.related:not(.selected),
2681 .fill-wireframe path.shadow.hover:not(.selected) {
2682 stroke-opacity: 0.4;
2684 .fill-wireframe path.shadow.selected {
2685 stroke-opacity: 0.6;
2688 .fill-wireframe .point,
2689 .fill-wireframe .areaicon,
2690 .fill-wireframe .areaicon-halo,
2691 .fill-wireframe path.casing,
2692 .fill-wireframe path.fill,
2693 .fill-wireframe path.oneway {
2694 display: none !important;
2697 .fill-partial path.area.fill {
2700 pointer-events: none;
2702 .mode-browse .fill-partial path.area.fill,
2703 .mode-select .fill-partial path.area.fill {
2704 pointer-events: visibleStroke;
2707 ------------------------------------------------------- */
2709 Opera misbehaves when the window is resized vertically unless 100% width + height are
2710 applied to both html and body. https://gist.github.com/jfirebaugh/bd225bcfdd3a633850c4
2718 font: normal 12px/1.6667 "-apple-system", BlinkMacSystemFont,
2719 "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell",
2720 "Fira Sans", "Droid Sans", "Helvetica Neue", "Arial",
2726 -ms-user-select: none;
2727 -ms-content-zooming: none;
2732 vertical-align: middle;
2749 -webkit-filter: none !important;
2750 filter: none !important;
2751 -webkit-duration: 200ms;
2752 transition-duration: 200ms;
2756 -webkit-filter: grayscale(80%) brightness(80%);
2757 filter: grayscale(80%) brightness(80%);
2758 -webkit-duration: 200ms;
2759 transition-duration: 200ms;
2763 /* Can't be display: none or the clippaths are ignored. */
2769 div, textarea, label, input, form, span, ul, li, ol, a, button, h1, h2, h3, h4, h5, p, img {
2770 -moz-box-sizing: border-box;
2771 -webkit-box-sizing: border-box;
2772 box-sizing: border-box;
2775 a, button, input, textarea {
2776 -webkit-tap-highlight-color: rgba(0,0,0,0);
2777 -webkit-touch-callout: none;
2794 margin-bottom: 20px;
2799 h4:last-child { margin-bottom: 0;}
2805 margin-bottom: 10px;
2810 padding-bottom: 10px;
2814 outline-color: transparent;
2815 outline-style: none;
2818 ::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
2820 opacity: 1; /* Firefox */
2822 :-ms-input-placeholder { /* Internet Explorer 10-11 */
2825 ::-ms-input-placeholder { /* Microsoft Edge */
2851 ------------------------------------------------------- */
2854 font:normal 12px/20px "-apple-system", BlinkMacSystemFont,
2855 "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell",
2856 "Fira Sans", "Droid Sans", "Helvetica Neue", "Arial",
2867 background-color: #fff;
2869 border: 1px solid #ccc;
2870 padding: 5px 20px 5px 10px;
2873 text-overflow: ellipsis;
2875 [dir='rtl'] textarea,
2876 [dir='rtl'] input[type=text],
2877 [dir='rtl'] input[type=search],
2878 [dir='rtl'] input[type=number],
2879 [dir='rtl'] input[type=url],
2880 [dir='rtl'] input[type=tel],
2881 [dir='rtl'] input[type=email] {
2882 padding: 5px 10px 5px 20px;
2887 background-color: #f1f1f1;
2893 background-color: #eee;
2894 cursor: not-allowed;
2897 input[type="checkbox"],
2898 input[type="radio"] {
2906 [dir='rtl'] input[type="checkbox"],
2907 [dir='rtl'] input[type="radio"] {
2915 background-color: #fff;
2916 border-collapse: collapse;
2923 table.tags, table.tags td, table.tags th {
2924 border: 1px solid #ccc;
2933 ------------------------------------------------------- */
2934 .col6 { float: left; width: 50.0000%; max-width: 600px; }
2935 .col8 { float: left; width: 66.6666%; }
2936 .col12 { float: left; width: 100.0000%; }
2940 ------------------------------------------------------- */
2946 background: #f6f6f6;
2950 background: #ececec;
2954 background: rgba(0,0,0,.5);
2958 background: rgba(0,0,0,.75);
2963 .fr { float: right;}
2980 box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.25);
2983 background: url(<%= asset_path("iD/img/loader_bg.gif") %>);
2984 background-size: 5px 5px;
2989 ------------------------------------------------------- */
2998 display: inline-block;
3005 background-color: #ececec;
3008 background: #7092ff;
3011 background-color: rgba(255,255,255,.25);
3012 color: rgba(0,0,0,.4);
3013 cursor: not-allowed;
3018 border-right: 1px solid rgba(0,0,0,.5);
3020 [dir='rtl'] .joined button {
3021 border-left: 1px solid rgba(0,0,0,.5);
3025 .fillL .joined button {
3026 border-right: 1px solid #fff;
3028 .joined button:first-child {
3029 border-radius: 4px 0 0 4px;
3031 [dir='rtl'] .joined button:first-child {
3032 border-radius: 0 4px 4px 0;
3034 .joined button:last-child {
3035 border-right-width: 0;
3036 border-radius: 0 4px 4px 0;
3038 [dir='rtl'] .joined button:last-child {
3039 border-radius: 4px 0 0 4px;
3043 /* Action buttons */
3045 background: #7092ff;
3048 button.action:focus,
3049 button.action:hover {
3050 background: #597be7;
3052 button.secondary-action {
3053 background: #ececec;
3055 button.secondary-action:focus,
3056 button.secondary-action:hover {
3057 background: #cccccc;
3060 button[disabled].action,
3061 button[disabled].action:hover {
3062 background: #cccccc;
3064 cursor: not-allowed;
3069 ------------------------------------------------------- */
3071 vertical-align: top;
3077 vertical-align: text-top;
3086 [dir='rtl'] .icon.pre-text {
3091 .icon.pre-text.user-icon {
3118 /* Toolbar / Persistent UI Elements
3119 ------------------------------------------------------- */
3122 flex-flow: row nowrap;
3123 justify-content: space-between;
3136 flex-flow: row nowrap;
3139 .tool-group.leading-area {
3141 justify-content: flex-start;
3143 .tool-group.center-area {
3144 justify-content: center;
3146 .tool-group.trailing-area {
3147 justify-content: flex-start;
3154 .tool-group button {
3156 flex-flow: row nowrap;
3157 align-items: center;
3161 .tool-group button .icon {
3164 .tool-group button .label {
3169 button.save .count {
3171 display: inline-block;
3172 border: 0px solid #ccc;
3173 border-left-width: 1px;
3174 padding: 0px 0px 0px 8px;
3178 [dir='rtl'] button.save .count {
3179 border-left-width: 0px;
3180 border-right-width: 1px;
3181 padding: 0px 8px 0px 0px;
3183 button.save.has-count .count {
3184 visibility: visible;
3187 /* if no count, shift label over where the count would be, preserving width */
3188 button.save .label {
3189 margin-right: -12px;
3192 [dir='rtl'] button.save .label {
3196 button.save.has-count .label {
3200 [dir='rtl'] button.save.has-count .label {
3205 .help-wrap svg.icon.pre-text.add-note,
3206 button.add-note svg.icon {
3209 color: rgba(0,0,0,0.25);
3214 button.add-note svg.icon {
3218 [dir='rtl'] button.add-note svg.icon {
3220 margin-right: unset;
3222 .help-wrap svg.icon.pre-text.add-note {
3231 justify-content: flex-end;
3239 [dir='rtl'] .spinner img {
3240 -moz-transform: scaleX(-1);
3241 -o-transform: scaleX(-1);
3242 -webkit-transform: scaleX(-1);
3243 transform: scaleX(-1);
3245 -ms-filter: "FlipH";
3249 #bar.narrow .tool-group {
3252 #bar.narrow .spinner,
3253 #bar.narrow button .label {
3256 #bar.narrow button .count {
3257 border-left-width: 0;
3258 border-right-width: 0;
3262 /* Header for modals / panes
3263 ------------------------------------------------------- */
3265 border-bottom: 1px solid #ccc;
3273 white-space: nowrap;
3274 text-overflow: ellipsis;
3292 .field-help-title button.close,
3293 .sidebar-component .header button.data-editor-close,
3294 .sidebar-component .header button.note-editor-close,
3295 .entity-editor-pane .header button.preset-close,
3296 .preset-list-pane .header button.preset-choose {
3301 [dir='rtl'] .field-help-title button.close,
3302 [dir='rtl'] .sidebar-component .header button.data-editor-close,
3303 [dir='rtl'] .sidebar-component .header button.note-editor-close,
3304 [dir='rtl'] .entity-editor-pane .header button.preset-close,
3305 [dir='rtl'] .preset-list-pane .header button.preset-choose {
3310 .entity-editor-pane .header button.preset-choose {
3315 [dir='rtl'] .entity-editor-pane .header button.preset-choose {
3333 [dir='rtl'] .modal > button {
3342 padding: 5px 20px 5px 20px;
3343 border-top: 1px solid #ccc;
3344 background-color: #f6f6f6;
3348 justify-content: space-between;
3354 justify-content: center;
3358 /* Hide/Toggle collapsable sections (aka Disclosure)
3359 ------------------------------------------------------- */
3360 .hide-toggle .icon.pre-text {
3361 vertical-align: text-top;
3366 [dir='rtl'] .hide-toggle .icon.pre-text {
3371 a:visited.hide-toggle,
3373 display: inline-block;
3376 padding-bottom: 5px;
3380 /* Sidebar / Inspector
3381 ------------------------------------------------------- */
3387 background: #f6f6f6;
3388 -ms-user-select: element;
3389 border: 0px solid #ccc;
3390 border-right-width: 1px;
3392 [dir='rtl'] #sidebar {
3394 border-right-width: 0px;
3395 border-left-width: 1px;
3406 [dir='rtl'] #sidebar-resizer {
3411 #sidebar.collapsed #sidebar-resizer {
3412 /* make target wider to avoid the user accidentally resizing window */
3416 [dir='rtl'] #sidebar.collapsed #sidebar-resizer {
3420 .sidebar-component {
3428 .sidebar-component .body {
3479 border-bottom: 1px solid #ccc
3482 .feature-list-pane .inspector-body,
3483 .preset-list-pane .inspector-body {
3486 .entity-editor-pane .inspector-body,
3487 .selection-list-pane .inspector-body {
3496 #sidebar .search-header .icon {
3501 pointer-events: none;
3503 [dir='rtl'] #sidebar .search-header .icon {
3508 #sidebar .search-header input {
3516 border-bottom-width: 1px;
3523 /* Feature List / Search Results
3524 ------------------------------------------------------- */
3530 .feature-list-item {
3533 border-bottom: 1px solid #ccc;
3539 background-color: #ccc;
3545 .geocode-item:hover {
3546 background-color: #aaa;
3549 .feature-list-item {
3550 background-color: #fff;
3555 .feature-list-item:hover {
3556 background-color: #ececec;
3558 .feature-list-item button {
3559 background: transparent;
3561 .feature-list-item .label {
3564 white-space: nowrap;
3565 text-overflow: ellipsis;
3567 border-left: 1px solid rgba(0, 0, 0, .1);
3569 [dir='rtl'] .feature-list-item .label {
3573 .feature-list-item .label .icon {
3576 .feature-list-item .close {
3580 .feature-list-item .close .icon {
3583 .feature-list-item .entity-type {
3586 .feature-list-item:hover .entity-type {
3589 .feature-list-item .entity-name {
3590 font-weight: normal;
3594 [dir='rtl'] .feature-list-item .entity-name {
3596 padding-right: 10px;
3600 /* Preset List and Icons
3601 ------------------------------------------------------- */
3604 padding: 20px 20px 10px 20px;
3605 border-bottom: 1px solid #ccc;
3608 .preset-list-button-wrap {
3610 margin-bottom: 10px;
3614 .preset-list-button {
3618 border: 1px solid #ccc;
3621 .preset-list.filtered .preset-list-item:first-child .preset-list-button {
3622 background: #ececec;
3625 .preset-icon-fill-area {
3635 .preset-icon-fill-vertex {
3642 border: 1.5px solid #333;
3643 border-radius: 20px;
3644 background-color: #efefef;
3645 backface-visibility: hidden;
3648 [dir='rtl'] .preset-icon-fill-vertex,
3649 [dir='rtl'] .preset-icon-fill-area {
3654 .preset-icon-frame {
3660 [dir='rtl'] .preset-icon-frame {
3665 .preset-icon-frame .icon {
3677 .preset-icon-60 .icon {
3689 .preset-icon-44 .icon {
3701 .preset-icon-28 .icon {
3713 .preset-icon-24 .icon {
3718 [dir='rtl'] .preset-list-button-wrap .preset-icon {
3723 [dir='rtl'] .preset-list-button-wrap .preset-icon-28 {
3727 [dir='rtl'] .preset-list-button-wrap .preset-icon-24 {
3731 .preset-list-button .label {
3733 flex-flow: row wrap;
3734 align-items: center;
3735 background-color: #f6f6f6;
3743 border-left: 1px solid rgba(0, 0, 0, .1);
3744 border-radius: 0 3px 3px 0;
3746 [dir='rtl'] .preset-list-button .label {
3751 border-right: 1px solid rgba(0, 0, 0, .1);
3752 border-radius: 3px 0 0 3px;
3755 .preset-list-button .label-inner {
3758 .preset-list-button .label-inner .namepart {
3760 white-space: nowrap;
3761 text-overflow: ellipsis;
3763 padding-right: 30px;
3765 [dir='rtl'] .preset-list-button .label-inner .namepart {
3770 .preset-list-button:hover .label,
3771 .preset-list-button:focus .label {
3772 background-color: #ececec;
3775 .preset-list-item button.tag-reference-button {
3777 border: 1px solid #ccc;
3778 border-radius: 0 3px 3px 0;
3783 background: #f6f6f6;
3785 [dir='rtl'] .preset-list-item button.tag-reference-button {
3788 border-radius: 3px 0 0 3px;
3791 .preset-list-item button.tag-reference-button:hover {
3792 background: #f1f1f1;
3794 .preset-list-item button.tag-reference-button .icon {
3798 img.tag-reference-wiki-image {
3801 width: -webkit-calc(33.3333% - 10px);
3802 width: calc(33.3333% - 10px);
3805 margin: 10px 5px 15px 20px;
3809 .current .preset-list-button,
3810 .current .preset-list-button .label {
3811 background-color: #e8ebff;
3814 .category .preset-list-button:after,
3815 .category .preset-list-button:before {
3819 left: -1px; right: -1px;
3820 border: 1px solid #ccc;
3821 border-bottom: none;
3822 border-radius: 6px 6px 0 0;
3826 .category .preset-list-button:before {
3830 .subgrid .preset-list {
3831 padding: 10px 10px 0 10px;
3835 width: -webkit-calc(100% + 20px);
3840 border: solid rgba(0, 0, 0, 0);
3842 border-bottom-color: #f1f1f1;
3846 margin-left: -webkit-calc(50% - 10px);
3851 /* Entity/Preset Editor
3852 ------------------------------------------------------- */
3855 padding-bottom: 10px;
3857 .preset-editor a.hide-toggle {
3858 margin: 0 20px 5px 20px;
3860 .preset-editor .form-fields-container {
3862 margin: 0 10px 10px 10px;
3865 .preset-editor .form-fields-container:empty {
3868 .entity-editor-pane .preset-list-item .preset-list-button-wrap {
3873 The parts of a field:
3874 - `.form-field` is a `div` wraps the entire thing
3875 - `.form-field-label` is a `label` that wraps the top part, it contains;
3876 - `span` classed `label-text`
3877 - 0..n buttons for "remove", "modified", "tag reference"
3878 - `.form-field-input-wrap` is a `label` or `div` that wraps the bottom part, it contains;
3879 - usually an `input`
3880 - sometimes some buttons (translate, increment, decrement)
3881 - or could just be a `div` with anything really
3882 - `.tag-reference-body` at the bottom (usually hidden)
3884 .------------------. -
3885 | Name | i | <- .form-field-label |
3886 +------------------+ |
3887 | Starbucks | + | <- .form-field-input-wrap > .form-field
3888 '------------------' |
3889 tag reference <- .tag-reference-body |
3895 flex-flow: row wrap;
3896 margin-bottom: 10px;
3898 -webkit-transition: margin-bottom 200ms;
3899 -moz-transition: margin-bottom 200ms;
3900 -o-transition: margin-bottom 200ms;
3901 transition: margin-bottom 200ms;
3905 .wrap-form-field:last-child .form-field {
3909 /* A `label` element that wraps the top section */
3912 flex-flow: row nowrap;
3918 background: #f6f6f6;
3919 border: 1px solid #ccc;
3920 border-radius: 4px 4px 0 0;
3923 .form-field-label .label-text {
3925 padding: 5px 0 5px 10px;
3927 [dir='rtl'] .form-field-label .label-text {
3928 padding: 5px 10px 5px 0;
3931 .form-field-label button {
3933 border-left: 1px solid #ccc;
3937 background: #f6f6f6;
3939 [dir='rtl'] .form-field-label button {
3941 border-right: 1px solid #ccc;
3943 .form-field-label button:hover {
3944 background: #f1f1f1;
3946 .form-field-label .icon {
3950 .form-field-label .modified-icon,
3951 .form-field-label .remove-icon {
3954 .modified .form-field-label .modified-icon,
3955 .present .form-field-label .remove-icon {
3956 display: inline-block;
3959 /* A `div` element that wraps the bottom section */
3960 .form-field-input-wrap {
3962 flex-flow: row nowrap;
3966 border-radius: 0 0 4px 4px;
3968 .nowrap .form-field-input-wrap {
3973 .form-field-input-wrap > input,
3974 .form-field-input-wrap > label,
3975 .form-field-input-wrap > textarea,
3976 .form-field-input-wrap > ul.chiplist {
3979 border: 1px solid #ccc;
3985 .form-field-input-wrap > textarea {
3987 border-radius: 0 0 4px 4px;
3990 /* Buttons inside fields */
3991 .form-field-button {
3996 background-color: #fff;
3997 border: 1px solid #ccc;
3999 border-top-width: 0;
4000 border-left-width: 0;
4001 vertical-align: top;
4003 [dir='rtl'] .form-field-button {
4004 border-left-width: 1px;
4005 border-right-width: 0;
4007 .form-field-button:hover {
4008 background-color: #f1f1f1;
4010 .form-field-button .icon {
4016 /* round corners of first/last child elements */
4017 .form-field-input-wrap > button:last-of-type {
4018 border-bottom-right-radius: 4px;
4020 [dir='rtl'] .form-field-input-wrap > button:last-of-type {
4021 border-bottom-left-radius: 4px;
4025 /* Field - Access, Cycleway
4026 ------------------------------------------------------- */
4027 .form-field-input-access,
4028 .form-field-input-cycleway {
4031 flex-flow: row wrap;
4034 /* Field - lists with labeled input items
4035 ------------------------------------------------------- */
4036 .form-field ul.labeled-inputs {
4038 border: 1px solid #ccc;
4040 border-radius: 0 0 4px 4px;
4044 .form-field ul.labeled-inputs li {
4045 border-top: 1px solid #ccc;
4047 flex-flow: row nowrap;
4049 .form-field ul.labeled-inputs li:first-child {
4052 .form-field ul.labeled-inputs li > span,
4053 .form-field ul.labeled-inputs li > div {
4058 .form-field ul.labeled-inputs li input {
4062 .form-field ul.labeled-inputs li input,
4063 .form-field ul.labeled-inputs li button {
4065 border-left-width: 1px;
4067 [dir='rtl'] .form-field ul.labeled-inputs li input,
4068 [dir='rtl'] .form-field ul.labeled-inputs li button {
4069 border-left-width: 0;
4070 border-right-width: 1px;
4074 /* Field - Structure
4075 ------------------------------------------------------- */
4076 .structure-extras-wrap {
4080 border: 1px solid #ccc;
4082 border-radius: 0 0 4px 4px;
4084 .structure-extras-wrap > ul.labeled-inputs {
4085 border: 1px solid #ccc;
4090 /* Field - Combo / Multicombo
4091 ------------------------------------------------------- */
4092 .form-field-input-combo > input:only-of-type {
4093 border-radius: 0 0 4px 4px;
4096 .form-field-input-multicombo ul.chiplist {
4097 padding: 5px 0 5px 10px;
4100 border-radius: 0 0 4px 4px;
4103 .form-field-input-multicombo li.chips {
4104 display: inline-flex;
4105 flex-flow: row nowrap;
4106 align-items: center;
4107 background-color: #eff2f7;
4108 border: 1px solid #ccd5e3;
4115 .form-field-input-multicombo a {
4116 font-family: Arial, Helvetica, sans-serif !important;
4117 font-size: 16px !important;
4120 margin: 1px 0 0 5px;
4126 .form-field-input-multicombo input {
4127 border: 1px solid #ddd;
4133 .form-field-input-multicombo .combobox-caret {
4134 margin: 3px 3px 3px -30px;
4137 .form-field-input-multicombo input:focus {
4138 border-radius: 4px !important;
4142 /* Field - Text / Numeric
4143 ------------------------------------------------------- */
4144 .form-field-input-text > input:only-of-type,
4145 .form-field-input-tel > input:only-of-type,
4146 .form-field-input-email > input:only-of-type,
4147 .form-field-input-url > input:only-of-type {
4148 border-radius: 0 0 4px 4px;
4150 .form-field-input-number > input:only-of-type {
4151 border-radius: 0 0 0 4px;
4153 [dir='rtl'] .form-field-input-number > input:only-of-type {
4154 border-radius: 0 0 4px 0;
4156 .form-field-input-number > button:last-of-type {
4157 border-radius: 0 0 4px 0;
4159 [dir='rtl'] .form-field-input-number > button:last-of-type {
4160 border-radius: 0 0 0 4px;
4163 /* draw the up/down on the buttons */
4164 .form-field-input-number button.decrement::after,
4165 .form-field-input-number button.increment::after {
4167 height: 0; width: 0;
4169 left: 0; right: 0; bottom: 0; top: 0;
4172 .form-field-input-number button.decrement::after {
4173 border-top: 5px solid #ccc;
4174 border-left: 5px solid transparent;
4175 border-right: 5px solid transparent;
4177 .form-field-input-number button.increment::after {
4178 border-bottom: 5px solid #ccc;
4179 border-left: 5px solid transparent;
4180 border-right: 5px solid transparent;
4185 ------------------------------------------------------- */
4186 .form-field-input-check {
4192 border: 1px solid #ccc;
4196 .form-field-input-check > input[type="checkbox"] {
4201 .form-field-input-check > span {
4204 .form-field-input-check > .reverser.button {
4206 background-color: #eff2f7;
4207 border: 1px solid #ccd5e3;
4211 .form-field-input-check > .reverser.button.hide {
4215 .form-field-input-check:hover {
4216 background: #f1f1f1;
4218 .form-field-input-check .set {
4221 .form-field-input-check label:not(.set) input[type="checkbox"] {
4226 /* Field - Radio button
4227 ------------------------------------------------------- */
4228 .form-field-input-radio {
4231 flex-flow: row wrap;
4233 .form-field-input-radio > label {
4236 flex-flow: row nowrap;
4240 background-color: #fff;
4244 .form-field-input-radio > label:last-child {
4245 border-radius: 0 0 4px 4px;
4247 .form-field-input-radio > label:hover {
4248 background-color: #ececec;
4250 .form-field-input-radio > label.active {
4251 background-color: #e8ebff;
4253 .form-field-input-radio > label:not(:last-of-type) {
4254 border-bottom: 1px solid #ccc;
4256 .form-field-input-radio > label > input[type="radio"] {
4260 .form-field-input-radio > label > span {
4263 white-space: nowrap;
4264 text-overflow: ellipsis;
4267 /* Hide placeholder for radio buttons if another is active, or not in hover state */
4268 .form-field-input-radio label.active ~ .placeholder,
4269 .form-field-input-radio .placeholder {
4280 ------------------------------------------------------- */
4281 .form-field-input-maxspeed > input:first-of-type {
4282 border-radius: 0 0 0 4px;
4284 [dir='rtl'] .form-field-input-maxspeed > input:first-of-type {
4285 border-radius: 0 0 4px 0;
4287 .form-field-input-maxspeed > input:last-of-type { /* unit field */
4291 border-radius: 0 0 4px 0;
4293 [dir='rtl'] .form-field-input-maxspeed > input:last-of-type {
4295 border-radius: 0 0 0 4px;
4299 /* Field - Localized Name
4300 ------------------------------------------------------- */
4301 .form-field-input-localized > input.localized-main {
4302 border-radius: 0 0 0 4px;
4304 [dir='rtl'] .form-field-input-localized > input.localized-main {
4305 border-radius: 0 0 4px 0;
4307 .form-field-input-localized > button.localized-add {
4308 border-radius: 0 0 4px 0;
4310 [dir='rtl'] .form-field-input-localized > button.localized-add {
4311 border-radius: 0 0 0 4px;
4314 .form-field-input-localized button.localized-add.disabled,
4315 .form-field-input-localized input.localized-main.disabled,
4316 .form-field-input-localized input.localized-lang.disabled,
4317 .form-field-input-localized input.localized-value.disabled {
4319 background-color: #eee;
4320 cursor: not-allowed;
4323 /* nested subfields for name in different languages */
4324 .localized-multilingual {
4328 .localized-multilingual .entry {
4333 /* draws a little line connecting the multilingual field up to the name field */
4334 .localized-multilingual .entry::before {
4347 .localized-multilingual .entry .localized-lang {
4349 border-top-width: 0;
4352 .localized-multilingual .entry .localized-value {
4353 border-top-width: 0;
4354 border-radius: 0 0 4px 4px;
4360 ------------------------------------------------------- */
4361 .form-field-input-address {
4364 flex-flow: row wrap;
4365 border: 1px solid #ccc;
4382 [dir='rtl'] .addr-row input {
4383 border-right: 1px solid #ccc;
4387 .addr-row:first-of-type input {
4390 .addr-row input:first-of-type {
4393 [dir='rtl'] .addr-row input:first-of-type {
4396 .addr-row:last-of-type input:first-of-type {
4397 border-radius: 0 0 0 4px;
4399 [dir='rtl'] .addr-row:last-of-type input:first-of-type {
4400 border-radius: 0 0 4px 0;
4402 .addr-row:last-of-type input:last-of-type {
4403 border-radius: 0 0 4px 0;
4405 [dir='rtl'] .addr-row:last-of-type input:last-of-type {
4406 border-radius: 0 0 0 4px;
4410 /* Field - Wikipedia
4411 ------------------------------------------------------- */
4412 .form-field-input-wikipedia {
4414 flex-flow: row wrap;
4418 .wiki-lang-container,
4419 .wiki-title-container {
4421 flex-flow: row nowrap;
4426 .wiki-lang-container > input.wiki-lang,
4427 .wiki-title-container > input.wiki-title {
4432 .wiki-title-container > input.wiki-title {
4433 border-radius: 0 0 0 4px;
4435 [dir='rtl'] .wiki-title-container > input.wiki-title {
4436 border-radius: 0 0 4px 0;
4438 .wiki-title-container > button.wiki-link {
4439 border-radius: 0 0 4px 0;
4441 [dir='rtl'] .wiki-title-container > button.wiki-link {
4442 border-radius: 0 0 0 4px;
4446 /* Field - Restriction Editor
4447 ------------------------------------------------------- */
4448 .form-field-input-restrictions {
4450 border: 1px solid #ccc;
4452 border-radius: 0 0 4px 4px;
4455 .form-field-input-restrictions .restriction-controls-container {
4456 background-color: #fff;
4459 border-top: 1px solid #ccc;
4460 border-radius: 0 0 4px 4px;
4463 .restriction-controls-container .restriction-controls {
4465 -moz-user-select: none;
4466 -webkit-user-select: none;
4467 -ms-user-select: none;
4471 .restriction-controls .restriction-control {
4477 .restriction-control input,
4478 .restriction-control span {
4479 display: table-cell;
4484 .restriction-control span.restriction-control-label {
4488 .restriction-control input {
4492 vertical-align: middle;
4495 .form-field-input-restrictions .restriction-container {
4499 /* zero width space, so container takes up space */
4500 .form-field-input-restrictions .restriction-container:after {
4504 .form-field-input-restrictions svg.surface {
4509 .restriction-container .restriction-help {
4516 background-color: rgba(255, 255, 255, .8);
4519 pointer-events: none;
4521 -moz-user-select: none;
4522 -webkit-user-select: none;
4523 -ms-user-select: none;
4527 .restriction-help span {
4531 .restriction-help .qualifier {
4535 .restriction-help .qualifier.allow {
4538 .restriction-help .qualifier.restrict {
4541 .restriction-help .qualifier.only {
4546 /* Field - Changeset Comment
4547 ------------------------------------------------------- */
4548 .form-field-comment:not(.present) #preset-input-comment {
4549 border-color: rgb(230, 100, 100);
4551 .form-field-comment:not(.present) .form-field-label {
4552 border-color: rgb(230, 100, 100);
4553 background: rgba(230, 100, 100, 0.2);
4555 .form-field-comment:not(.present) button {
4556 border-color: rgb(230, 100, 100);
4561 ------------------------------------------------------- */
4565 box-shadow: 0 4px 10px 1px rgba(0,0,0,.2);
4571 border: 1px solid #ccc;
4572 border-radius: 0 0 4px 4px;
4578 border-top: 1px solid #ccc;
4579 text-overflow: ellipsis;
4580 white-space: nowrap;
4584 .combobox a.selected,
4586 background: #ececec;
4589 .combobox a:first-child {
4595 display: inline-block;
4600 vertical-align: top;
4603 [dir='rtl'] .combobox-caret {
4605 margin-right: -30px;
4608 .combobox-caret::after {
4610 height: 0; width: 0;
4612 left: 0; right: 0; bottom: 0; top: 0;
4614 border-top: 5px solid #ccc;
4615 border-left: 5px solid transparent;
4616 border-right: 5px solid transparent;
4619 /* Remove the field's bottom border radius when combobox is open */
4620 /* For some reason this stops the combobox from overlapping the bottom of the field */
4621 .combobox + * textarea:focus,
4622 .combobox + * input:focus {
4623 border-bottom-left-radius: 0 !important;
4624 border-bottom-right-radius: 0 !important;
4629 ------------------------------------------------------- */
4638 border: 1px solid #ccc;
4640 border-radius: 0 0 4px 4px;
4642 background: rgba(255,255,255,0.95);
4643 box-shadow: 0 0 30px 5px rgba(0,0,0,.4);
4646 .field-help-title h2 {
4651 .field-help-title button {
4660 margin-bottom: 10px;
4662 .field-help-nav-item {
4663 display: inline-block;
4668 .field-help-nav-item.active {
4670 border-bottom: 2px solid;
4672 .field-help-nav-item:hover {
4674 background-color: #efefef;
4677 .field-help-content {
4682 .field-help-content h3 {
4686 .field-help-content p {
4687 margin-bottom: 15px;
4689 .field-help-content ul li {
4694 .field-help-content .field-help-image {
4696 margin-bottom: 15px;
4699 .field-help-content svg.turn {
4703 .field-help-content svg.shadow {
4708 .field-help-content svg.from {
4711 .field-help-content svg.allow {
4714 .field-help-content svg.restrict {
4717 .field-help-content svg.only {
4721 .field-help-content p.from_shadow,
4722 .field-help-content p.allow_shadow,
4723 .field-help-content p.restrict_shadow,
4724 .field-help-content p.allow_turn,
4725 .field-help-content p.restrict_turn {
4730 /* More Fields dropdown
4731 ------------------------------------------------------- */
4733 padding: 0 20px 20px 20px;
4736 .changeset-editor .more-fields {
4737 padding: 15px 20px 0 20px;
4740 .more-fields label {
4742 flex-flow: row nowrap;
4743 justify-content: space-between;
4744 align-items: center;
4747 .more-fields input {
4751 [dir='rtl'] .more-fields input {
4756 .form-field-input-wrap .label {
4758 background: #f6f6f6;
4764 ------------------------------------------------------- */
4772 .tag-row .inner-wrap {
4774 flex-flow: row nowrap;
4779 .tag-row .value-wrap {
4784 .tag-row.readonly input.key,
4785 .tag-row.readonly input.value,
4786 .tag-row.readonly button.remove {
4788 background-color: #eee;
4789 cursor: not-allowed;
4796 border-bottom: 1px solid #ccc;
4797 border-left: 1px solid #ccc;
4800 [dir='rtl'] .tag-row input {
4802 border-right: 1px solid #ccc;
4806 .tag-row input.key {
4808 background-color: #f6f6f6;
4811 .tag-row input.value {
4812 border-right: 1px solid #ccc;
4814 [dir='rtl'] .tag-row input.value {
4815 border-left: 1px solid #ccc;
4818 .tag-row:first-child input.key {
4819 border-top: 1px solid #ccc;
4820 border-top-left-radius: 4px;
4822 [dir='rtl'] .tag-row:first-child input.key {
4823 border-top-left-radius: 0;
4824 border-top-right-radius: 4px;
4827 .tag-row:first-child input.value {
4828 border-top: 1px solid #ccc;
4834 border: 1px solid #ccc;
4835 border-top-width: 0;
4836 border-left-width: 0;
4838 [dir='rtl'] .tag-row button {
4839 border-left-width: 1px;
4840 border-right-width: 0;
4843 .tag-row button:hover {
4844 background: #f1f1f1;
4846 .tag-row button .icon {
4849 .tag-row:first-child button {
4850 border-top-width: 1px;
4853 .tag-row:first-child .tag-reference-button {
4854 border-top-right-radius: 4px;
4856 [dir='rtl'] .tag-row:first-child .tag-reference-button {
4857 border-top-left-radius: 4px;
4858 border-top-right-radius: 0;
4861 .tag-row:last-child .tag-reference-button {
4862 border-bottom-right-radius: 4px;
4864 [dir='rtl'] .tag-row:last-child .tag-reference-button {
4865 border-bottom-left-radius: 4px;
4866 border-bottom-right-radius: 0;
4869 .tag-row .tag-reference-button {
4872 [dir='rtl'] .tag-row .tag-reference-button {
4873 border-left-width: 1px;
4874 border-right-width: 0;
4877 /* Adding form fields to tag editor */
4878 .raw-tag-editor .add-tag {
4882 background: rgba(0,0,0,.5);
4883 border-radius: 0 0 4px 4px;
4885 .raw-tag-editor .add-tag:hover {
4886 background: rgba(0,0,0,.8);
4888 .raw-tag-editor .add-tag .label {
4893 .tag-reference-loading {
4894 background-color: #f5f5f5;
4896 .tag-reference-loading .icon {
4897 background-image: url(<%= asset_path("iD/img/mini-loader.gif") %>);
4898 background-position: 0 0;
4901 .tag-reference-body {
4906 .tag-reference-body .tag-reference-description {
4907 margin: 10px 5px 0 5px;
4909 .tag-reference-body a {
4912 .tag-reference-body .tag-reference-description:last-child,
4913 .tag-reference-body a:last-child {
4914 margin-bottom: 15px;
4917 .preset-list .tag-reference-body {
4921 .raw-tag-editor .tag-reference-body {
4924 .raw-tag-editor .tag-row.readonly .tag-reference-body {
4925 background: #f6f6f6;
4928 .raw-tag-editor .tag-row:not(:last-child) .tag-reference-body.expanded {
4929 border-bottom: 1px solid #ccc;
4931 .raw-tag-editor .tag-row.readonly .tag-reference-body.expanded {
4932 border-top: 1px solid #ccc;
4936 /* Raw Member / Membership Editor
4937 ------------------------------------------------------- */
4938 .raw-member-editor .member-list li:first-child,
4939 .raw-membership-editor .member-list li:first-child {
4942 .raw-member-editor .member-row .member-entity-name,
4943 .raw-membership-editor .member-row .member-entity-name {
4944 font-weight: normal;
4948 .form-field-input-member > input.member-role {
4949 border-radius: 0 0 0 4px;
4951 [dir='rtl'] .form-field-input-member > input.member-role {
4952 border-radius: 0 0 4px 0;
4955 .member-incomplete .form-field-input-member > input.member-role,
4956 [dir='rtl'] .member-incomplete .form-field-input-member > input.member-role {
4957 border-radius: 0 0 4px 4px;
4960 .member-incomplete .member-delete {
4964 .member-row-new .member-entity-input {
4965 border-radius: 4px 4px 0 0;
4966 border: 1px solid #ccc;
4973 background: rgba(0,0,0,.5);
4977 .add-relation:hover {
4978 background: rgba(0,0,0,.8);
4981 /* preserve extra space at bottom of inspector to allow for dropdown options - #5280 */
4982 .raw-membership-editor.inspector-inner {
4983 margin-bottom: 150px;
4986 /* hidden field to prevent user from tabbing out of the sidebar */
4991 border: 1px solid rgba(0,0,0,0);
4995 /* Inspector (hover styles)
4996 ------------------------------------------------------- */
4997 .inspector-hover .form-field-input-wrap .label,
4998 .inspector-hover .form-field-input-multicombo .chiplist,
4999 .inspector-hover .form-field-button,
5000 .inspector-hover .structure-extras-wrap,
5001 .inspector-hover .comments-container .comment,
5002 .inspector-hover button,
5003 .inspector-hover input,
5004 .inspector-hover textarea,
5005 .inspector-hover label {
5006 background: #ececec;
5008 .inspector-hover .preset-list-button,
5009 .inspector-hover .tag-row input {
5010 background: #f6f6f6;
5014 .inspector-hover .form-field-input-multicombo .chips,
5015 .inspector-hover .form-field-input-check span {
5019 .inspector-hover .form-field-input-multicombo .chips {
5021 border: 1px solid #ccc;
5025 .inspector-hover div {
5030 /* hide and remove from layout */
5032 .inspector-hover .preset-list-button-wrap .tag-reference-button,
5033 .inspector-hover label input[type="checkbox"],
5034 .inspector-hover label input[type="radio"],
5035 .inspector-hover .form-field-input-multicombo .combobox-input,
5036 .inspector-hover .form-field-input-radio label,
5037 .inspector-hover .form-field-input-radio label span,
5038 .inspector-hover .form-field-input-radio label.remove .icon,
5039 .inspector-hover .inspector-inner .add-tag,
5040 .inspector-hover .inspector-inner .add-relation {
5044 /* hide but preserve in layout */
5045 .inspector-hover .combobox-caret,
5046 .inspector-hover .header button,
5047 .inspector-hover .form-field-input-multicombo .chips .remove,
5048 .inspector-hover .hide-toggle:before,
5049 .inspector-hover .more-fields,
5050 .inspector-hover .form-field-label button,
5051 .inspector-hover .tag-row button,
5052 .inspector-hover .footer * {
5056 /* Styles for raw tag inspector on hover */
5057 .inspector-hover .tag-row .key-wrap,
5058 .inspector-hover .tag-row .value-wrap {
5062 .inspector-hover .tag-row:first-child input.value {
5063 border-top-right-radius: 4px;
5065 [dir='rtl'] .inspector-hover .tag-row:first-child input.value {
5066 border-top-right-radius: 0;
5067 border-top-left-radius: 4px;
5070 .inspector-hover .tag-row:last-child input.value {
5071 border-bottom-right-radius: 4px;
5073 [dir='rtl'] .inspector-hover .tag-row:last-child input.value {
5074 border-bottom-right-radius: 0;
5075 border-bottom-left-radius: 4px;
5078 .inspector-hover .tag-row:last-child input.key {
5079 border-bottom-left-radius: 4px;
5081 [dir='rtl'] .inspector-hover .tag-row:last-child input.key {
5082 border-bottom-left-radius: 0;
5083 border-bottom-right-radius: 4px;
5086 .inspector-hover .more-fields {
5088 margin-bottom: -10px;
5091 /* Unstyle button fields */
5092 .inspector-hover .form-field-input-radio label.active,
5093 .inspector-hover .entity-editor-pane a.hide-toggle {
5095 background-color: transparent;
5100 .inspector-hover .form-field-input-radio button.active {
5104 /* Show placeholder on hover for radio buttons */
5105 .inspector-hover .form-field-input-radio {
5106 border: 1px solid #ccc;
5108 border-radius: 0 0 4px 4px;
5110 .inspector-hover .form-field-input-radio .placeholder {
5118 .inspector-hover .form-field-input-radio .structure-extras-wrap {
5124 ------------------------------------------------------- */
5126 background-color: #f6f6f6;
5128 border: 1px solid #ccc;
5130 flex-flow: row nowrap;
5131 align-items: center;
5135 background-color: #fff;
5141 border-right: 1px solid #ccc;
5142 border-radius: 5px 0 0 5px;
5144 [dir='rtl'] .note-header-icon {
5145 border-right: unset;
5146 border-left: 1px solid #ccc;
5147 border-radius: 0 5px 5px 0;
5150 .note-header-icon .icon-wrap {
5155 .note-header-label {
5156 background-color: #f6f6f6;
5161 border-radius: 0 5px 5px 0;
5163 [dir='rtl'] .note-header-label {
5164 border-radius: 5px 0 0 5px;
5171 .comments-container {
5172 background: #ececec;
5179 background-color: #fff;
5181 border: 1px solid #ccc;
5184 flex-flow: row nowrap;
5190 .comment-avatar .icon.comment-avatar-icon {
5194 border: 1px solid #ccc;
5195 border-radius: 20px;
5198 padding: 10px 10px 10px 0;
5200 flex-flow: column nowrap;
5202 overflow-wrap: break-word;
5204 [dir='rtl'] .comment-main {
5205 padding: 10px 0 10px 10px;
5209 flex-flow: row nowrap;
5210 justify-content: space-between;
5225 .comment-text::-webkit-scrollbar {
5233 .note-save #new-comment-input {
5240 .note-save .detail-section {
5249 /* Custom Data Editor
5250 ------------------------------------------------------- */
5252 background-color: #f6f6f6;
5254 border: 1px solid #ccc;
5256 flex-flow: row nowrap;
5257 align-items: center;
5261 background-color: #fff;
5267 border-right: 1px solid #ccc;
5268 border-radius: 5px 0 0 5px;
5270 [dir='rtl'] .data-header-icon {
5271 border-right: unset;
5272 border-left: 1px solid #ccc;
5273 border-radius: 0 5px 5px 0;
5276 .data-header-icon .icon-wrap {
5281 .data-header-label {
5282 background-color: #f6f6f6;
5287 border-radius: 0 5px 5px 0;
5289 [dir='rtl'] .data-header-label {
5290 border-radius: 5px 0 0 5px;
5293 /* tag editor - no buttons */
5294 .data-editor.raw-tag-editor button {
5297 .data-editor.raw-tag-editor .tag-row .key-wrap,
5298 .data-editor.raw-tag-editor .tag-row .value-wrap {
5304 ------------------------------------------------------- */
5312 [dir='rtl'] .map-controls {
5317 .map-control > button {
5319 background: rgba(0,0,0,.5);
5323 .map-control > button:hover {
5324 background: rgba(0, 0, 0, .8);
5327 .map-control > button.active,
5328 .map-control > button.active:hover {
5329 background: #7092ff;
5333 /* Fullscreen Button (disabled)
5334 ------------------------------------------------------- */
5336 display: inline-block;
5342 div.full-screen .tooltip {
5346 div.full-screen > button, div.full-screen > button.active {
5349 background: transparent;
5352 div.full-screen > button:hover {
5353 background-color: rgba(0, 0, 0, .8);
5358 ------------------------------------------------------- */
5359 .zoombuttons > button.zoom-in {
5360 border-radius: 4px 0 0 0;
5362 [dir='rtl'] .zoombuttons > button.zoom-in {
5363 border-radius: 0 4px 0 0;
5368 ------------------------------------------------------- */
5369 .geolocate-control {
5370 margin-bottom: 10px;
5372 .geolocate-control > button {
5373 border-radius: 0 0 0 4px;
5375 [dir='rtl'] .geolocate-control > button {
5376 border-radius: 0 0 4px 0;
5380 /* Background / Map Data / Help Pane buttons
5381 ------------------------------------------------------- */
5382 .help-control > button {
5383 border-radius: 0 0 0 4px;
5385 [dir='rtl'] .help-control > button {
5386 border-radius: 0 0 4px 0;
5389 .map-data-control button {
5393 .background-control > button {
5394 border-radius: 4px 0 0 0;
5396 [dir='rtl'] .background-control > button {
5397 border-radius: 0 4px 0 0;
5401 /* Background / Map Data Settings
5402 ------------------------------------------------------- */
5404 .background-control {
5409 margin-bottom: 10px;
5410 white-space: nowrap;
5413 .layer-list, .controls-list {
5414 margin-bottom: 10px;
5415 border: 1px solid #ccc;
5422 background-color: #fff;
5430 .layer-list > li:first-child {
5431 border-radius: 3px 3px 0 0;
5433 .layer-list > li:last-child {
5434 border-radius: 0 0 3px 3px;
5436 .layer-list > li:only-child {
5439 .layer-list li:not(:last-child) {
5440 border-bottom: 1px solid #ccc;
5442 .layer-list li:hover {
5443 background-color: #ececec;
5446 .layer-list li.active button,
5447 .layer-list li.switch button,
5448 .layer-list li.active,
5449 .layer-list li.switch {
5450 background: #e8ebff;
5453 .layer-list li.best > div.best {
5454 display: inline-block;
5459 [dir='rtl'] .list-item-data-browse svg {
5460 transform: rotateY(180deg);
5463 /* make sure tooltip fits in map-control panel */
5464 /* if too wide, placement will be wrong the first time it displays */
5465 .layer-list li.best .tooltip-inner {
5475 .layer-list label > span {
5478 white-space: nowrap;
5479 text-overflow: ellipsis;
5482 .map-data-control .layer-list button,
5483 .background-control .layer-list button {
5487 border-left: 1px solid #ccc;
5490 [dir='rtl'] .map-data-control .layer-list button,
5491 [dir='rtl'] .background-control .layer-list button {
5494 border-right: 1px solid #ccc;
5497 .map-data-control .layer-list button .icon,
5498 .background-control .layer-list button .icon {
5502 .map-data-control .layer-list button:first-of-type,
5503 .background-control .layer-list button:first-of-type {
5504 border-radius: 0 3px 3px 0;
5506 [dir='rtl'] .map-data-control .layer-list button:first-of-type,
5507 [dir='rtl'] .background-control .layer-list button:first-of-type {
5508 border-radius: 3px 0 0 3px;
5511 .map-data-control .vectortile-container .vectortile-header {
5512 padding-bottom: 5px;
5514 .map-data-control .vectortile-container .vectortile-footer {
5515 padding-bottom: 10px;
5519 /* Background - Display Options Sliders
5520 ------------------------------------------------------- */
5521 .display-options-container {
5525 .display-control h5 {
5530 .display-control h5 span {
5534 .display-control .display-option-input {
5539 .display-control button {
5544 vertical-align: text-bottom;
5547 [dir='rtl'] .display-control button {
5553 /* Background - Adjust Alignment
5554 ------------------------------------------------------- */
5555 .background-control .nudge-container {
5556 border: 1px solid #ccc;
5561 .nudge-container .nudge-instructions {
5562 padding-bottom: 15px;
5565 .nudge-container .nudge-outer-rect {
5566 background-color: #eee;
5567 border: 1px solid #ccc;
5572 justify-content: center;
5573 align-items: center;
5579 .nudge-container .nudge-inner-rect {
5580 background-color: #fff;
5581 border: 1px solid #ccc;
5587 .nudge-container .nudge::after {
5592 left: 0; right: 0; top: 0; bottom: 0;
5597 .nudge-container input {
5604 .nudge-container input.error {
5605 border: 1px solid #ff7878;
5610 .nudge-container input:focus {
5611 background-color: transparent;
5614 .nudge-container button {
5619 background-color: transparent;
5622 .nudge-container button.right {
5627 .nudge-container button.left {
5632 .nudge-container button.top {
5637 .nudge-container button.bottom {
5641 .nudge-container button.nudge-reset {
5652 background-color: transparent;
5656 .background-control .nudge.right::after {
5657 border-top: 5px solid transparent;
5658 border-bottom: 5px solid transparent;
5659 border-left: 5px solid #222;
5662 .background-control .nudge.left::after {
5663 border-top: 5px solid transparent;
5664 border-bottom: 5px solid transparent;
5665 border-right: 5px solid #222;
5668 .background-control .nudge.top::after {
5669 border-right: 5px solid transparent;
5670 border-left: 5px solid transparent;
5671 border-bottom: 5px solid #222;
5674 .background-control .nudge.bottom::after {
5675 border-right: 5px solid transparent;
5676 border-left: 5px solid transparent;
5677 border-top: 5px solid #222;
5681 /* Side Panes - Background / Map Data / Help
5682 ------------------------------------------------------- */
5690 padding-bottom: 50px;
5694 [dir='rtl'] .map-pane {
5696 right: auto !important;
5699 .map-pane.help-wrap {
5706 flex-flow: row nowrap;
5707 justify-content: space-between;
5708 border-bottom: 1px solid #ccc;
5715 .pane-heading button {
5723 padding: 10px 50px 20px 20px;
5727 [dir='rtl'] .pane-content {
5728 padding: 10px 20px 20px 50px;
5731 .pane-content > div {
5732 padding-bottom: 15px;
5737 ------------------------------------------------------- */
5740 margin-bottom: 20px;
5743 .help-wrap .left-content .body p code {
5747 vertical-align: baseline;
5748 background-color: #f6f6f6;
5749 border: solid 1px #ccc;
5751 border-bottom-color: #bbb;
5753 box-shadow: inset 0 -1px 0 #bbb;
5756 .help-wrap .left-content .icon.pre-text {
5757 vertical-align: text-top;
5760 display: inline-block;
5767 margin-bottom: 20px;
5771 .help-wrap .toc li a,
5774 border: 1px solid #ccc;
5778 .help-wrap .toc li a {
5782 .help-wrap .toc li a:hover,
5783 .help-wrap .nav a:hover {
5784 background: #ececec;
5787 .help-wrap .toc li a.selected {
5788 background: #e8ebff;
5791 .help-wrap .toc li:first-child a {
5792 border-radius: 4px 4px 0 0;
5795 .help-wrap .toc li:nth-last-child(3) a {
5796 border-bottom: 1px solid #ccc;
5797 border-radius: 0 0 4px 4px
5800 .help-wrap .toc li.shortcuts a,
5801 .help-wrap .toc li.walkthrough a {
5804 border-bottom: 1px solid #ccc;
5808 .help-wrap .toc li.walkthrough a {
5814 padding-bottom: 30px;
5823 .help-wrap .nav a:first-child {
5824 border-radius: 4px 0 0 4px;
5827 .help-wrap .nav a:last-child:not(:only-child) {
5828 border-radius: 0 4px 4px 0;
5832 .help-wrap .nav a:only-child {
5838 /* Raster Background Tiles
5839 ------------------------------------------------------- */
5842 transform-origin: 0 0;
5843 -ms-transform-origin: 0 0;
5844 -webkit-transform-origin: 0 0;
5845 -moz-transform-origin: 0 0;
5846 -o-transform-origin: 0 0;
5848 -moz-user-select: none;
5849 -webkit-user-select: none;
5850 -ms-user-select: none;
5855 -webkit-transition: opacity 200ms linear;
5856 -moz-transition: opacity 200ms linear;
5857 transition: opacity 200ms linear;
5870 background: rgba(0, 0, 0, 0.7);
5880 transform-origin: 0 0;
5881 -ms-transform-origin: 0 0;
5882 -webkit-transform-origin: 0 0;
5883 -moz-transform-origin: 0 0;
5884 -o-transform-origin: 0 0;
5886 -moz-user-select: none;
5887 -webkit-user-select: none;
5888 -ms-user-select: none;
5893 outline: 1px solid red;
5898 ------------------------------------------------------- */
5904 -moz-user-select: none;
5905 -webkit-user-select: none;
5906 -ms-user-select: none;
5911 transform-origin: 0 0;
5912 -ms-transform-origin: 0 0;
5913 -webkit-transform-origin: 0 0;
5914 -moz-transform-origin: 0 0;
5915 -o-transform-origin: 0 0;
5918 #supersurface, .layer {
5928 ------------------------------------------------------- */
5937 border: #aaa 1px solid;
5938 box-shadow: 0 0 2em black;
5942 transform-origin: 0 0;
5943 -ms-transform-origin: 0 0;
5944 -webkit-transform-origin: 0 0;
5945 -moz-transform-origin: 0 0;
5946 -o-transform-origin: 0 0;
5948 -moz-user-select: none;
5949 -webkit-user-select: none;
5950 -ms-user-select: none;
5954 .map-in-map-viewport,
5963 .map-in-map-viewport {
5974 stroke: rgba(255, 255, 0, 0.75);
5976 shape-rendering: crispEdges;
5979 .map-in-map-bbox.thick {
5985 ------------------------------------------------------- */
5987 stroke: currentColor;
5991 .map-in-map-data .debug {
5995 .nocolor { color: rgba(0, 0, 0, 0); }
5996 .red { color: rgba(255, 0, 0, 0.75); }
5997 .green { color: rgba(0, 255, 0, 0.75); }
5998 .blue { color: rgba(176, 176, 255, 0.75); }
5999 .yellow { color: rgba(255, 255, 0, 0.75); }
6000 .cyan { color: rgba(0, 255, 255, 0.75); }
6001 .magenta { color: rgba(255, 0, 255, 0.75); }
6002 .orange { color: rgba(255, 153, 0, 0.75); }
6003 .pink { color: rgba(255, 0, 153, 0.75); }
6004 .purple { color: rgba(153, 0, 255, 0.75); }
6012 pointer-events: none;
6015 .debug-legend-item {
6018 .debug-legend-item:before {
6024 /* Information Panels
6025 ------------------------------------------------------- */
6028 flex-flow: row-reverse wrap-reverse;
6033 -ms-user-select: element;
6041 display: inline-block;
6053 margin: 2px 0 0 2px;
6055 border: 1px solid rgba(0, 0, 0, 0.75);
6056 padding-bottom: 10px;
6060 .panel-container .panel-title {
6061 border-radius: 4px 4px 0 0;
6068 .panel-title button.close {
6074 [dir='rtl'] .panel-title button.close {
6078 .panel-title button.close:hover {
6081 .panel-title button.close .icon {
6091 .panel-content li span {
6092 display: inline-block;
6093 white-space: nowrap;
6097 .panel-content .button {
6098 display: inline-block;
6099 background: #7092ff;
6106 [dir='rtl'] .panel-content .button {
6111 .panel-content-history .links a {
6114 [dir='rtl'] .panel-content-history .links a {
6119 .panel-content-history .view-history-on-osm {
6124 .panel-content-location .location-info {
6129 /* About Section, Attribution, Footer
6130 ------------------------------------------------------- */
6137 pointer-events: none;
6139 flex-direction: column;
6140 -ms-user-select: element;
6149 #attrib * { pointer-events: all; }
6151 .base-layer-attribution,
6152 .overlay-layer-attribution {
6158 .base-layer-attribution {
6162 .overlay-layer-attribution {
6166 .overlay-layer-attribution .attribution:not(:last-child):after {
6171 .attribution a:visited {
6175 .attribution a:hover {
6179 .attribution .source-image {
6181 vertical-align: middle;
6190 pointer-events: all;
6196 /* Footer - Flash messages
6197 ------------------------------------------------------- */
6201 flex-flow: row nowrap;
6202 justify-content: space-between;
6212 flex-flow: row nowrap;
6213 align-items: center;
6225 .flash-icon circle {
6228 .flash-icon.disabled circle {
6230 fill: rgba(255,255,255,0.7);
6236 .flash-icon.disabled use {
6237 color: rgba(32,32,32,0.7);
6240 .flash-icon.operation use {
6244 .flash-icon.operation.disabled use {
6245 fill: rgba(32,32,32,0.7);
6246 color: rgba(40,40,40,0.7);
6256 flex-flow: row nowrap;
6257 justify-content: space-between;
6266 transition: bottom 75ms linear;
6267 -moz-transition: bottom 75ms linear;
6268 -webkit-transition: bottom 75ms linear;
6273 transition: bottom 75ms linear;
6274 -moz-transition: bottom 75ms linear;
6275 -webkit-transition: bottom 75ms linear;
6279 /* Footer - Scale bar, About, Source Switcher
6280 ------------------------------------------------------- */
6282 vertical-align: bottom;
6286 -moz-user-select: none;
6287 -webkit-user-select: none;
6288 -ms-user-select: none;
6301 [dir='rtl'] #scale {
6302 transform: scaleX(-1);
6310 font: 12px sans-serif;
6315 [dir='rtl'] #scale text {
6316 transform: scaleX(-1);
6323 shape-rendering: crispEdges;
6332 [dir='rtl'] #about-list {
6341 border-left: 1px solid rgba(255,255,255,.5);
6342 padding: 5px 0 5px 5px;
6345 [dir='rtl'] #about-list li {
6348 border-right: 1px solid rgba(255,255,255,.5);
6351 padding: 5px 5px 5px 0;
6354 #about-list li:last-child {
6359 [dir='rtl'] #about-list li:last-child {
6364 padding: 2px 4px 4px 4px;
6367 .source-switch a.live {
6368 background: #d32232;
6372 .feature-warning a {
6373 background: #1e90ff;
6374 padding: 2px 4px 4px 4px;
6379 .user-list a:not(:last-child):after {
6389 [dir='rtl'] .api-status {
6393 .api-status.offline,
6394 .api-status.readonly,
6402 .api-status-login:hover {
6406 /* Notification Badges
6407 ------------------------------------------------------- */
6408 /* For an icon (e.g. new version) */
6410 display: inline-block;
6411 background: #d32232;
6414 border-radius: 11px;
6417 [dir='rtl'] .badge {
6424 [dir='rtl'] .badge a {
6429 vertical-align: baseline;
6435 /* For text (e.g. upcoming events) */
6437 display: inline-block;
6448 [dir='rtl'] .badge-text {
6455 ------------------------------------------------------- */
6458 display: inline-block;
6469 margin-bottom: 10px;
6471 .modal .description {
6486 background: rgba(0,0,0,0.5);
6488 left: 0px; right: 0px; top: 0px; bottom: 0px;
6493 border-bottom: 1px solid #ccc;
6495 .modal-section.header h3 {
6498 .modal-section.buttons {
6502 .modal-section.buttons button {
6506 .modal-section.buttons .action {
6507 display: inline-block;
6510 vertical-align: middle;
6513 .save-section .buttons {
6516 justify-content: space-around;
6517 margin-bottom: 30px;
6520 .save-section .buttons .action,
6521 .save-section .buttons .secondary-action {
6525 vertical-align: middle;
6532 .modal-actions button {
6533 font-weight: normal;
6535 border-bottom: 1px solid #ccc;
6539 display: inline-block;
6541 .modal-actions button:hover {
6542 background-color: #ececec;
6558 .modal-actions > :first-child {
6559 border-right: 1px solid #ccc;
6562 .modal-section:last-child {
6567 ------------------------------------------------------- */
6568 .modal-actions .logo-restore {
6571 .modal-actions .logo-reset {
6575 /* Success Screen / Community Index
6576 ------------------------------------------------------- */
6577 .save-success.body {
6582 .save-success .link-out {
6584 white-space: nowrap;
6588 .save-communityLinks {
6589 padding: 0px 20px 15px 20px;
6592 .save-communityLinks {
6593 border-top: 1px solid #ccc;
6596 .save-success table,
6607 vertical-align: top;
6609 .save-success td.cell-icon {
6612 .save-success td.cell-detail {
6615 .save-success td.community-detail {
6616 padding-bottom: 15px;
6619 .summary-view-on-osm,
6624 .community-languages {
6628 .community-languages:only-child {
6632 .community-detail a.hide-toggle,
6633 .community-detail a:visited.hide-toggle {
6635 font-weight: normal;
6638 .community-detail .hide-toggle svg.icon.pre-text {
6649 background-color: #efefef;
6655 .community-event-name {
6659 .community-event-when {
6663 .community-missing {
6670 ------------------------------------------------------- */
6671 .modal-actions .logo-walkthrough,
6672 .modal-actions .logo-features {
6678 ------------------------------------------------------- */
6684 .modal-shortcuts .modal-section:last-child {
6689 .modal-shortcuts .tabs-bar {
6691 padding-bottom: 5px;
6696 .modal-shortcuts .tab {
6697 display: inline-block;
6703 .modal-shortcuts .tab.active {
6705 border-bottom: 2px solid;
6707 .modal-shortcuts .tab:hover {
6709 background-color: #efefef;
6712 .modal-shortcuts .shortcut-tab {
6714 flex-flow: row wrap;
6717 .modal-shortcuts .shortcut-column {
6722 .modal-shortcuts .shortcut-tab-tools .shortcut-column {
6727 .modal-shortcuts td {
6728 padding-bottom: 5px;
6731 .modal-shortcuts .shortcut-section {
6732 padding: 20px 0 10px 0;
6735 .modal-shortcuts .shortcut-keys {
6736 padding-right: 10px;
6740 [dir='rtl'] .modal-shortcuts .shortcut-keys {
6741 padding-right: auto;
6746 .modal-shortcuts .shortcut-keys kbd {
6747 display: inline-block;
6754 vertical-align: baseline;
6755 background-color: #fcfcfc;
6756 border: solid 1px #ccc;
6758 border-bottom-color: #bbb;
6760 box-shadow: inset 0 -1px 0 #bbb;
6763 svg.mouseclick use.left {
6764 fill: rgba(112, 146, 255, 1);
6765 color: rgba(112, 146, 255, 0);
6767 svg.mouseclick use.right {
6768 fill: rgba(112, 146, 255, 0);
6769 color: rgba(112, 146, 255, 1);
6772 .modal-shortcuts .shortcut-keys .gesture {
6779 ------------------------------------------------------- */
6780 .settings-modal textarea {
6784 .settings-custom-background .instructions-template {
6785 margin-bottom: 20px;
6788 .settings-custom-data .instructions-url {
6789 margin-bottom: 10px;
6791 .settings-custom-data .field-file,
6792 .settings-custom-data .instructions-template {
6793 margin-bottom: 20px;
6798 ------------------------------------------------------- */
6799 .mode-save a.user-info {
6800 display: inline-block;
6803 .mode-save .commit-form {
6807 .mode-save .user-info img {
6811 .mode-save h3 small.count {
6819 border-radius: 24px;
6821 background: #7092ff;
6825 .note-save .field-warning,
6826 .mode-save .field-warning {
6828 border: 1px solid #ccc;
6833 .note-save .field-warning:empty,
6834 .mode-save .field-warning:empty {
6838 .mode-save .field-warning,
6839 .mode-save .changeset-info,
6840 .mode-save .request-review,
6841 .mode-save .commit-info {
6842 margin-bottom: 10px;
6845 .mode-save .request-review label {
6849 .mode-save .changeset-list {
6850 border: 1px solid #ccc;
6853 margin-bottom: 10px;
6856 .mode-save .warning-section {
6860 .mode-save .warning-section .changeset-list button {
6861 border-left: 1px solid #ccc;
6864 .mode-save .changeset-list li {
6866 border-top: 1px solid #ccc;
6871 .mode-save .changeset-list li:hover {
6872 background-color: #ececec;
6875 .mode-save .changeset-list .alert {
6879 .changeset-list li span.count {
6884 .mode-save .commit-section .changeset-list button {
6885 border-left: 1px solid #ccc;
6888 .changeset-list li span.count:before { content: '('; }
6890 .changeset-list li span.count:after { content: ')'; }
6892 .changeset-list li:first-child { border-top: 0;}
6895 /* Conflict resolution
6896 ------------------------------------------------------- */
6899 background-color: #ffffbb;
6900 border-bottom: 1px solid #ccc;
6903 .conflicts-buttons {
6907 .mode-save button.conflicts-button {
6911 .conflict-container {
6912 border-bottom: 1px solid #ccc;
6915 .conflict-description {
6921 padding: 20px 20px 0 20px;
6924 .conflict-detail-container {
6936 .conflict-nav-buttons {
6937 padding: 10px 0 20px 0;
6940 .conflict-nav-button {
6945 /* Notices (Zoom in to Edit)
6946 ------------------------------------------------------- */
6963 .notice .zoom-to:hover {
6964 background: rgba(0,0,0,0.6);
6967 .notice .zoom-to .icon {
6970 vertical-align: middle;
6973 [dir='rtl'] .notice .zoom-to .icon {
6980 ------------------------------------------------------- */
6986 white-space: initial;
7017 display: inline-block;
7022 font-weight: normal;
7023 background-color: #fff;
7029 pointer-events: none;
7033 background: transparent;
7041 border-color: transparent;
7042 border-style: solid;
7046 border-left-color: #fff;
7047 border-width: 5px 0 5px 5px;
7066 border-color: transparent;
7067 border-style: solid;
7071 border-right-color: #fff;
7072 border-width: 5px 5px 5px 0;
7079 border-color: transparent;
7080 border-style: solid;
7083 .tooltip.top .tooltip-arrow {
7087 border-top-color: #fff;
7088 border-width: 5px 5px 0;
7091 .tooltip.right .tooltip-arrow {
7095 border-right-color: #fff;
7096 border-width: 5px 5px 5px 0;
7099 .tooltip.left .tooltip-arrow {
7103 border-left-color: #fff;
7104 border-width: 5px 0 5px 5px;
7107 .tooltip.bottom .tooltip-arrow {
7111 border-bottom-color: #fff;
7112 border-width: 0 5px 5px;
7117 background: #F6F6F6;
7119 margin: -10px -10px 10px -10px;
7120 border-radius: 3px 3px 0 0;
7125 background: #F6F6F6;
7127 margin: 10px -10px -10px -10px;
7128 border-radius: 0 0 3px 3px;
7131 .tooltip-inner .keyhint {
7136 /* Exceptions for tooltip layouts */
7138 /* make tooltips in panels dark */
7139 .map-pane .tooltip.top .tooltip-arrow,
7140 .entity-editor-pane .tooltip.top .tooltip-arrow,
7141 .warning-section .tooltip.top .tooltip-arrow {
7142 border-top-color: #000;
7145 .map-pane .tooltip.bottom .tooltip-arrow,
7146 .entity-editor-pane .tooltip.bottom .tooltip-arrow,
7147 .warning-section .tooltip.bottom .tooltip-arrow {
7148 border-bottom-color: #000;
7151 .map-pane .tooltip.left .tooltip-arrow,
7152 .entity-editor-pane .tooltip.left .tooltip-arrow,
7153 .warning-section .tooltip.left .tooltip-arrow {
7154 border-left-color: #000;
7157 .map-pane .tooltip.right .tooltip-arrow,
7158 .entity-editor-pane .tooltip.right .tooltip-arrow,
7159 .warning-section .tooltip.right .tooltip-arrow {
7160 border-right-color: #000;
7163 .map-pane .tooltip-inner,
7164 .map-pane .tooltip-heading,
7165 .map-pane .keyhint-wrap,
7166 .entity-editor-pane .tooltip-inner,
7167 .warning-section .tooltip-inner {
7171 /* commit warning tooltips need to be closer */
7172 .warning-section .tooltip.top {
7176 /* Uncramp map-control tooltips */
7177 .map-control .tooltip {
7180 .map-control .shortcuts .tooltip {
7184 /* Move over tooltips that are near the edge of screen */
7185 button.sidebar-toggle .tooltip .tooltip-arrow {
7188 [dir='rtl'] button.sidebar-toggle .tooltip .tooltip-arrow {
7193 li:first-of-type .badge .tooltip,
7194 li.hide + li.version .badge .tooltip {
7195 left: auto !important;
7196 right: 5px !important;
7198 [dir='rtl'] li:first-of-type .badge .tooltip,
7199 [dir='rtl'] li.hide + li.version .badge .tooltip {
7200 left: 5px !important;
7201 right: auto !important;
7203 li:first-of-type .badge .tooltip .tooltip-arrow,
7204 li.hide + li.version .badge .tooltip .tooltip-arrow {
7205 right: 15px !important;
7206 left: auto !important;
7208 [dir='rtl'] li:first-of-type .badge .tooltip .tooltip-arrow,
7209 [dir='rtl'] li.hide + li.version .badge .tooltip .tooltip-arrow {
7210 left: 15px !important;
7211 right: auto !important;
7215 /* Contextual Radial Menu (deprecated)
7216 ------------------------------------------------------- */
7217 .radial-menu-tooltip {
7224 .radial-menu-background {
7227 stroke-opacity: 0.5;
7230 .radial-menu-item circle {
7234 .radial-menu-item circle:active,
7235 .radial-menu-item circle:hover {
7239 .radial-menu-item.disabled circle {
7241 fill: rgba(255,255,255,.5);
7244 .radial-menu-item use {
7249 .radial-menu-item.disabled use {
7250 fill: rgba(32,32,32,.5);
7251 color: rgba(40,40,40,.5);
7255 /* Contextual Edit Menu
7256 ------------------------------------------------------- */
7257 .edit-menu-tooltip {
7263 .edit-menu-background {
7267 .edit-menu-item rect {
7272 .edit-menu-item rect:active,
7273 .edit-menu-item rect:hover {
7277 .edit-menu-item.disabled rect {
7278 cursor: not-allowed;
7280 .edit-menu-item.disabled rect:hover {
7281 cursor: not-allowed;
7285 .edit-menu-item use {
7288 pointer-events: none;
7290 .edit-menu-item.disabled use {
7291 fill: rgba(32,32,32,.2);
7292 color: rgba(40,40,40,.2);
7297 ------------------------------------------------------- */
7303 stroke-dasharray: 5, 5;
7308 ----------------------------------------------------- */
7309 ::-webkit-scrollbar {
7314 border-left: 1px solid #DDD;
7317 ::-webkit-scrollbar-track {
7318 background-clip: padding-box;
7319 border: solid transparent;
7323 ::-webkit-scrollbar-thumb {
7324 background-color: rgba(0,0,0,.2);
7325 background-clip: padding-box;
7326 border: solid transparent;
7327 border-width: 3px 3px 3px 4px;
7330 ::-webkit-scrollbar-track:hover,
7331 ::-webkit-scrollbar-track:active {
7332 background-color: rgba(0,0,0,.05);
7336 /* Intro walkthrough
7337 ----------------------------------------------------- */
7339 pointer-events: all;
7347 flex-direction: row;
7356 .intro-nav-wrap .intro-nav-wrap-logo {
7362 vertical-align: middle;
7365 .intro-nav-wrap .joined {
7368 flex-direction: row;
7371 .intro-nav-wrap button.chapter {
7376 .intro-nav-wrap button.chapter.next {
7377 animation-duration: 1s;
7378 animation-name: pulse;
7379 animation-iteration-count: infinite;
7380 animation-direction: alternate;
7383 from { background: #7092ff; }
7384 to { background: #c6d4ff; }
7387 .intro-nav-wrap button.chapter.finished {
7388 background: #8cd05f;
7391 .intro-nav-wrap button.chapter .status {
7395 .intro-nav-wrap button.chapter.finished .status {
7396 display: inline-block;
7399 .curtain-tooltip.tooltip.in {
7402 .curtain-tooltip.tooltip {
7405 [dir='rtl'] .curtain-tooltip.tooltip {
7409 .curtain-tooltip .tooltip-inner {
7415 .curtain-tooltip .tooltip-inner .button-section,
7416 .curtain-tooltip .tooltip-inner .instruction {
7419 border-top: 1px solid #ccc;
7422 margin-right: -20px;
7423 padding: 10px 20px 0 20px;
7426 [dir='rtl'] .curtain-tooltip .tooltip-inner .button-section button.col8 {
7430 .curtain-tooltip .tooltip-inner .instruction:only-child {
7436 .curtain-tooltip .tooltip-inner .icon.pre-text {
7437 vertical-align: text-top;
7440 display: inline-block;
7443 .curtain-tooltip.intro-points-describe ,
7444 .curtain-tooltip.intro-lines-name_road {
7445 top: 133px !important;
7448 .tooltip-illustration {
7454 [dir='rtl'] .tooltip-illustration {
7456 margin-right: -20px;
7459 .curtain-tooltip.intro-mouse {
7460 -moz-user-select: none;
7461 -webkit-user-select: none;
7462 -ms-user-select: none;
7466 .curtain-tooltip.intro-mouse .counter {
7477 .curtain-tooltip.intro-mouse .tooltip-illustration use {
7478 fill: rgba(112, 146, 255, 0);
7479 color: rgba(112, 146, 255, 0);
7481 .curtain-tooltip.intro-mouse.leftclick .tooltip-illustration use {
7482 fill: rgba(112, 146, 255, 1);
7484 .curtain-tooltip.intro-mouse.rightclick .tooltip-illustration use {
7485 color: rgba(112, 146, 255, 1);
7488 .huge-modal-button {
7494 .huge-modal-button .illustration {