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 */
199 .data-layer.keepRight *,
200 .data-layer.improveOSM * {
201 pointer-events: none;
205 pointer-events: visibleStroke;
209 /* `.target` objects are interactive */
210 /* They can be picked up, clicked, hovered, or things can connect to them */
215 pointer-events: fill;
222 pointer-events: stroke;
226 stroke: currentColor;
227 stroke-linecap: round;
228 stroke-linejoin: round;
232 /* `.target-nope` objects are explicitly forbidden to join to */
233 .surface:not(.nope-disabled) .node.target.target-nope,
234 .surface:not(.nope-disabled) .way.target.target-nope {
239 /* `.active` objects (currently being drawn or dragged) are not interactive */
240 /* This is important to allow the events to drop through to whatever is */
241 /* below them on the map, so you can still hover and connect to other things. */
243 pointer-events: none !important;
246 /* points, notes & QA */
248 /* points, notes, markers */
257 g.qa_error.active .stroke,
258 g.note.active .stroke {
280 g.qa_error.hover:not(.selected) .shadow,
281 g.note.hover:not(.selected) .shadow,
282 g.point.related:not(.selected) .shadow,
283 g.point.hover:not(.selected) .shadow {
287 g.qa_error.selected .shadow,
288 g.note.selected .shadow,
289 g.point.selected .shadow {
293 /* g.note ellipse.stroke, */
294 g.point ellipse.stroke {
297 .mode-drag-note g.note.active ellipse.stroke,
298 .mode-drag-node g.point.active ellipse.stroke {
303 /* vertices and midpoints */
312 g.vertex.shared .stroke {
329 g.vertex.related:not(.selected) .shadow,
330 g.vertex.hover:not(.selected) .shadow,
331 g.midpoint.related:not(.selected) .shadow,
332 g.midpoint.hover:not(.selected) .shadow {
336 g.vertex.selected .shadow {
342 .preset-icon .icon.iD-other-line {
345 .preset-icon-line path.casing {
350 stroke-linecap: round;
351 stroke-linejoin: round;
365 path.shadow.related:not(.selected),
366 path.shadow.hover:not(.selected) {
370 path.shadow.selected {
380 /* Labels / Markers */
387 .oneway .textpath.tag-waterway {
391 .onewaygroup path.oneway,
392 .viewfieldgroup path.viewfield,
393 .sidedgroup path.sided {
399 text.pointlabel-halo,
403 dominant-baseline: middle;
408 -webkit-transition: opacity 100ms linear;
409 transition: opacity 100ms linear;
410 -moz-transition: opacity 100ms linear;
413 /* Opera doesn't support dominant-baseline. See #715 */
414 /* Safari 10 seems to have regressed too */
415 .linelabel-halo .textpath,
416 .linelabel .textpath {
417 baseline-shift: -33%;
418 dominant-baseline: auto;
421 .labels-group.halo text {
425 stroke-miterlimit: 1;
429 opacity: 0 !important;
435 .icon.areaicon-halo {
439 stroke-miterlimit: 1;
447 g.point.highlighted .shadow,
448 path.shadow.highlighted {
449 stroke-opacity: 0.95;
452 g.vertex.highlighted .shadow {
454 stroke-opacity: 0.95;
458 /* Turn Restrictions */
459 .points-group.turns g.turn rect,
460 .points-group.turns g.turn circle {
464 /* Turn restriction paths and vertices */
465 .surface.tr .way.target,
466 .surface.tr path.shadow.selected,
467 .surface.tr path.shadow.related {
471 .surface.tr path.shadow.selected,
472 .surface.tr path.shadow.related,
473 .surface.tr g.vertex.selected .shadow,
474 .surface.tr g.vertex.related .shadow {
478 .surface.tr path.shadow.related.allow,
479 .surface.tr g.vertex.related.allow .shadow {
482 .surface.tr path.shadow.related.restrict,
483 .surface.tr g.vertex.related.restrict .shadow {
486 .surface.tr path.shadow.related.only,
487 .surface.tr g.vertex.related.only .shadow {
491 /* Default - light gray */
493 stroke: rgb(170, 170, 170);
498 stroke: rgba(255, 255, 255, 0.3);
499 fill: rgba(255, 255, 255, 0.3);
502 .preset-icon-fill-area {
503 border: 1px solid rgb(170, 170, 170);
504 background-color: rgba(170, 170, 170, 0.3);
507 path.shadow.old-multipolygon,
508 path.stroke.old-multipolygon {
509 stroke-dasharray: 100, 5;
510 stroke-linecap: butt;
515 path.stroke.tag-landuse,
516 path.stroke.tag-natural,
517 path.stroke.tag-leisure-nature_reserve,
518 path.stroke.tag-leisure-pitch,
519 path.stroke.tag-leisure-track,
520 path.stroke.tag-leisure-golf_course,
521 path.stroke.tag-leisure-garden,
522 path.stroke.tag-leisure-park,
523 path.stroke.tag-landuse-forest,
524 path.stroke.tag-landuse-wood,
525 path.stroke.tag-landuse-grass,
526 path.stroke.tag-barrier-hedge {
527 stroke: rgb(140, 208, 95);
529 path.fill.tag-landuse,
530 path.fill.tag-natural,
531 path.fill.tag-leisure-nature_reserve,
532 path.fill.tag-leisure-pitch,
533 path.fill.tag-leisure-track,
534 path.fill.tag-leisure-golf_course,
535 path.fill.tag-leisure-garden,
536 path.fill.tag-leisure-park,
537 path.fill.tag-landuse-forest,
538 path.fill.tag-natural-wood,
539 path.fill.tag-landuse-grass,
540 path.fill.tag-barrier-hedge {
541 stroke: rgba(140, 208, 95, 0.3);
542 fill: rgba(140, 208, 95, 0.3);
544 .preset-icon-fill-area.tag-landuse,
545 .preset-icon-fill-area.tag-natural,
546 .preset-icon-fill-area.tag-leisure-nature_reserve,
547 .preset-icon-fill-area.tag-leisure-pitch,
548 .preset-icon-fill-area.tag-leisure-track,
549 .preset-icon-fill-area.tag-leisure-golf_course,
550 .preset-icon-fill-area.tag-leisure-garden,
551 .preset-icon-fill-area.tag-leisure-park,
552 .preset-icon-fill-area.tag-landuse-forest,
553 .preset-icon-fill-area.tag-natural-wood,
554 .preset-icon-fill-area.tag-landuse-grass {
555 border-color: rgb(140, 208, 95);
556 background-color: rgba(140, 208, 95, 0.3);
558 .pattern-color-forest,
559 .pattern-color-forest_broadleaved,
560 .pattern-color-forest_needleleaved,
561 .pattern-color-forest_leafless,
563 .pattern-color-grass {
564 fill: rgba(140, 208, 95, 0.3);
569 path.stroke.tag-amenity-fountain,
570 path.stroke.tag-amenity-swimming_pool,
571 path.stroke.tag-leisure-swimming_pool,
572 path.stroke.tag-landuse-aquaculture,
573 path.stroke.tag-landuse-basin,
574 path.stroke.tag-landuse-harbour,
575 path.stroke.tag-landuse-reservoir,
576 path.stroke.tag-natural-water {
577 stroke: rgb(119, 211, 222);
579 path.fill.tag-amenity-fountain,
580 path.fill.tag-amenity-swimming_pool,
581 path.fill.tag-leisure-swimming_pool,
582 path.fill.tag-landuse-aquaculture,
583 path.fill.tag-landuse-basin,
584 path.fill.tag-landuse-harbour,
585 path.fill.tag-landuse-reservoir,
586 path.fill.tag-natural-water {
587 stroke: rgba(119, 211, 222, 0.3);
588 fill: rgba(119, 211, 222, 0.3);
590 .preset-icon-fill-area.tag-amenity-fountain,
591 .preset-icon-fill-area.tag-amenity-swimming_pool,
592 .preset-icon-fill-area.tag-leisure-swimming_pool,
593 .preset-icon-fill-area.tag-landuse-aquaculture,
594 .preset-icon-fill-area.tag-landuse-basin,
595 .preset-icon-fill-area.tag-landuse-harbour,
596 .preset-icon-fill-area.tag-landuse-reservoir,
597 .preset-icon-fill-area.tag-natural-water {
598 border-color: rgb(119, 211, 222);
599 background-color: rgba(119, 211, 222, 0.3);
601 .pattern-color-waves,
602 .pattern-color-water_standing,
603 .pattern-color-pond {
604 fill: rgba(119, 211, 222, 0.3);
609 path.stroke.tag-leisure-pitch.tag-sport-beachvolleyball,
610 path.stroke.tag-leisure-pitch.tag-sport-baseball,
611 path.stroke.tag-leisure-pitch.tag-sport-softball,
612 path.stroke.tag-leisure-track,
613 path.stroke.tag-natural-beach,
614 path.stroke.tag-natural-sand,
615 path.stroke.tag-natural-scrub,
616 path.stroke.tag-amenity-childcare,
617 path.stroke.tag-amenity-kindergarten,
618 path.stroke.tag-amenity-school,
619 path.stroke.tag-amenity-college,
620 path.stroke.tag-amenity-university {
621 stroke: rgba(255, 255, 148, 0.75);
623 path.fill.tag-leisure-pitch.tag-sport-beachvolleyball,
624 path.fill.tag-leisure-pitch.tag-sport-baseball,
625 path.fill.tag-leisure-pitch.tag-sport-softball,
626 path.fill.tag-leisure-track,
627 path.fill.tag-natural-beach,
628 path.fill.tag-natural-sand,
629 path.fill.tag-natural-scrub,
630 path.fill.tag-amenity-childcare,
631 path.fill.tag-amenity-kindergarten,
632 path.fill.tag-amenity-school,
633 path.fill.tag-amenity-college,
634 path.fill.tag-amenity-university {
635 stroke: rgba(255, 255, 148, 0.25);
636 fill: rgba(255, 255, 148, 0.25);
638 .preset-icon-fill-area.tag-leisure-pitch.tag-sport-beachvolleyball,
639 .preset-icon-fill-area.tag-leisure-pitch.tag-sport-baseball,
640 .preset-icon-fill-area.tag-leisure-pitch.tag-sport-softball,
641 .preset-icon-fill-area.tag-leisure-track,
642 .preset-icon-fill-area.tag-natural-beach,
643 .preset-icon-fill-area.tag-natural-sand,
644 .preset-icon-fill-area.tag-natural-scrub,
645 .preset-icon-fill-area.tag-amenity-childcare,
646 .preset-icon-fill-area.tag-amenity-kindergarten,
647 .preset-icon-fill-area.tag-amenity-school,
648 .preset-icon-fill-area.tag-amenity-college,
649 .preset-icon-fill-area.tag-amenity-university {
650 border-color: rgb(232, 232, 0);
651 background-color: rgba(255, 255, 148, 0.25);
653 .pattern-color-beach,
655 .pattern-color-scrub {
656 fill: rgba(255, 255, 148, 0.2);
661 path.stroke.tag-landuse-residential,
662 path.stroke.tag-status-construction {
663 stroke: rgb(196, 189, 25);
665 path.fill.tag-landuse-residential {
666 stroke: rgba(196, 189, 25, 0.3);
667 fill: rgba(196, 189, 25, 0.3);
669 .preset-icon-fill-area.tag-landuse-residential,
670 .preset-icon-fill-area.tag-status-construction {
671 border-color: rgb(196, 189, 25);
672 background: rgba(196, 189, 25, 0.3);
674 .pattern-color-construction {
675 fill: rgba(196, 189, 25, 0.3);
680 path.stroke.tag-landuse-retail,
681 path.stroke.tag-landuse-commercial,
682 path.stroke.tag-landuse-landfill,
683 path.stroke.tag-military,
684 path.stroke.tag-landuse-military {
685 stroke: rgb(214, 136, 26);
687 path.fill.tag-landuse-retail,
688 path.fill.tag-landuse-commercial,
689 path.fill.tag-landuse-landfill,
690 path.fill.tag-military,
691 path.fill.tag-landuse-military {
692 stroke: rgba(214, 136, 26, 0.3);
693 fill: rgba(214, 136, 26, 0.3);
695 .preset-icon-fill-area.tag-landuse-retail,
696 .preset-icon-fill-area.tag-landuse-commercial,
697 .preset-icon-fill-area.tag-landuse-landfill,
698 .preset-icon-fill-area.tag-military,
699 .preset-icon-fill-area.tag-landuse-military {
700 border-color: rgb(214, 136, 26);
701 background-color: rgba(214, 136, 26, 0.3);
703 .pattern-color-landfill {
704 fill: rgba(214, 136, 26, 0.3);
709 path.stroke.tag-landuse-industrial,
710 path.stroke.tag-power-plant {
711 stroke: rgb(228, 164, 245);
713 path.fill.tag-landuse-industrial,
714 path.fill.tag-power-plant {
715 stroke: rgba(228, 164, 245, 0.3);
716 fill: rgba(228, 164, 245, 0.3);
718 .preset-icon-fill-area.tag-landuse-industrial,
719 .preset-icon-fill-area.tag-power-plant {
720 border-color: rgb(228, 164, 245);
721 background-color: rgba(228, 164, 245, 0.3);
726 path.stroke.tag-natural-wetland {
727 stroke: rgb(153, 225, 170);
729 .preset-icon-fill-area.tag-natural-wetland {
730 border-color: rgb(153, 225, 170);
731 background-color: rgba(153, 225, 170, 0.2);
733 .pattern-color-wetland,
734 .pattern-color-wetland_marsh,
735 .pattern-color-wetland_swamp,
736 .pattern-color-wetland_bog,
737 .pattern-color-wetland_reedbed {
738 fill: rgba(153, 225, 170, 0.3);
742 /* Light Green things */
743 path.stroke.tag-landuse-cemetery,
744 path.stroke.tag-landuse-orchard,
745 path.stroke.tag-landuse-vineyard,
746 path.stroke.tag-landuse-meadow,
747 path.stroke.tag-landuse-farmland {
748 stroke: rgb(191, 232, 63);
750 .preset-icon-fill-area.tag-landuse-cemetery,
751 .preset-icon-fill-area.tag-landuse-orchard,
752 .preset-icon-fill-area.tag-landuse-vineyard,
753 .preset-icon-fill-area.tag-landuse-meadow,
754 .preset-icon-fill-area.tag-landuse-farmland {
755 background-color: rgba(191, 232, 63, 0.2);
757 .pattern-color-cemetery,
758 .pattern-color-cemetery_christian,
759 .pattern-color-cemetery_buddhist,
760 .pattern-color-cemetery_muslim,
761 .pattern-color-cemetery_jewish,
762 .pattern-color-orchard,
763 .pattern-color-vineyard,
764 .pattern-color-meadow,
765 .pattern-color-farmland {
766 fill: rgba(191, 232, 63, 0.2);
771 path.stroke.tag-landuse-farmyard {
772 stroke: rgb(245, 220, 186);
774 path.fill.tag-landuse-farmyard {
775 stroke: rgba(245, 220, 186, 0.3);
776 fill: rgba(245, 220, 186, 0.3);
778 .preset-icon-fill-area.tag-landuse-farmyard {
779 border-color: rgb(226, 177, 111);
780 background: rgba(245, 220, 186, 0.3);
782 .pattern-color-farmyard {
783 fill: rgba(245, 220, 186, 0.3);
787 /* Dark Gray things */
788 path.stroke.tag-amenity-parking,
789 path.stroke.tag-landuse-railway,
790 path.stroke.tag-landuse-quarry,
791 path.stroke.tag-leisure-pitch.tag-sport-basketball,
792 path.stroke.tag-leisure-pitch.tag-sport-skateboard,
793 path.stroke.tag-man_made-groyne,
794 path.stroke.tag-man_made-breakwater,
795 path.stroke.tag-natural-bare_rock,
796 path.stroke.tag-natural-scree,
797 path.stroke.tag-waterway-dam,
798 path.stroke.tag-waterway-weir {
799 stroke: rgb(170, 170, 170);
801 path.fill.tag-amenity-parking,
802 path.fill.tag-landuse-railway,
803 path.fill.tag-landuse-quarry,
804 path.fill.tag-leisure-pitch.tag-sport-basketball,
805 path.fill.tag-leisure-pitch.tag-sport-skateboard,
806 path.fill.tag-man_made-groyne,
807 path.fill.tag-man_made-breakwater,
808 path.fill.tag-natural-bare_rock,
809 path.fill.tag-natural-scree,
810 path.fill.tag-waterway-dam,
811 path.fill.tag-waterway-weir {
812 stroke: rgba(140, 140, 140, 0.5);
813 fill: rgba(140, 140, 140, 0.5);
815 .preset-icon-fill-area.tag-amenity-parking,
816 .preset-icon-fill-area.tag-landuse-railway,
817 .preset-icon-fill-area.tag-landuse-quarry,
818 .preset-icon-fill-area.tag-leisure-pitch.tag-sport-basketball,
819 .preset-icon-fill-area.tag-leisure-pitch.tag-sport-skateboard,
820 .preset-icon-fill-area.tag-natural-bare_rock,
821 .preset-icon-fill-area.tag-natural-scree,
822 .preset-icon-fill-area.tag-waterway-dam,
823 .preset-icon-fill-area.tag-waterway-weir {
824 border-color: rgb(170, 170, 170);
825 background-color: rgba(140, 140, 140, 0.5);
827 .pattern-color-quarry {
828 fill: rgba(140, 140, 140, 0.5);
832 /* Light gray overrides */
833 path.stroke.tag-natural-cave_entrance,
834 path.stroke.tag-natural-glacier {
835 stroke: rgb(170, 170, 170);
837 path.fill.tag-natural-cave_entrance,
838 path.fill.tag-natural-glacier {
839 stroke: rgba(255, 255, 255, 0.3);
840 fill: rgba(255, 255, 255, 0.3);
842 .preset-icon-fill-area.tag-natural-cave_entrance,
843 .preset-icon-fill-area.tag-natural-glacier {
844 border-color: rgb(170, 170, 170);
845 background: rgba(170, 170, 170, 0.3);
850 .preset-icon .icon.tag-highway.other-line {
854 path.line.casing.tag-highway {
857 path.line.stroke.tag-highway {
862 path.line.shadow.tag-highway {
865 path.line.casing.tag-highway {
868 path.line.stroke.tag-highway {
871 .low-zoom path.line.shadow.tag-highway {
874 .low-zoom path.line.casing.tag-highway {
877 .low-zoom path.line.stroke.tag-highway {
881 .preset-icon .icon.tag-highway-motorway,
882 .preset-icon .icon.tag-highway-motorway_link {
886 path.line.stroke.tag-highway-motorway,
887 path.line.stroke.tag-highway-motorway_link,
888 path.line.stroke.tag-motorway {
891 path.line.casing.tag-highway-motorway,
892 path.line.casing.tag-highway-motorway_link,
893 path.line.casing.tag-motorway {
897 .preset-icon .icon.tag-highway-trunk,
898 .preset-icon .icon.tag-highway-trunk_link {
902 path.line.stroke.tag-highway-trunk,
903 path.line.stroke.tag-highway-trunk_link,
904 path.line.stroke.tag-trunk {
907 path.line.casing.tag-highway-trunk,
908 path.line.casing.tag-highway-trunk_link,
909 path.line.casing.tag-trunk {
913 .preset-icon .icon.tag-highway-primary,
914 .preset-icon .icon.tag-highway-primary_link {
918 path.line.stroke.tag-highway-primary,
919 path.line.stroke.tag-highway-primary_link,
920 path.line.stroke.tag-primary {
923 path.line.casing.tag-highway-primary,
924 path.line.casing.tag-highway-primary_link,
925 path.line.casing.tag-primary {
929 .preset-icon .icon.tag-highway-secondary,
930 .preset-icon .icon.tag-highway-secondary_link {
934 path.line.stroke.tag-highway-secondary,
935 path.line.stroke.tag-highway-secondary_link,
936 path.line.stroke.tag-secondary {
939 path.line.casing.tag-highway-secondary,
940 path.line.casing.tag-highway-secondary_link,
941 path.line.casing.tag-secondary {
945 .preset-icon .icon.tag-highway-tertiary,
946 .preset-icon .icon.tag-highway-tertiary_link {
950 path.line.stroke.tag-highway-tertiary,
951 path.line.stroke.tag-highway-tertiary_link,
952 path.line.stroke.tag-tertiary {
955 path.line.casing.tag-highway-tertiary,
956 path.line.casing.tag-highway-tertiary_link,
957 path.line.casing.tag-tertiary {
961 .legacy-carto .preset-icon .icon.tag-highway-motorway,
962 .legacy-carto .preset-icon .icon.tag-highway-motorway_link {
966 .legacy-carto path.line.stroke.tag-highway-motorway,
967 .legacy-carto path.line.stroke.tag-highway-motorway_link,
968 .legacy-carto path.line.stroke.tag-motorway {
971 .legacy-carto path.line.casing.tag-highway-motorway,
972 .legacy-carto path.line.casing.tag-highway-motorway_link,
973 .legacy-carto path.line.casing.tag-motorway {
977 .legacy-carto .preset-icon .icon.tag-highway-trunk,
978 .legacy-carto .preset-icon .icon.tag-highway-trunk_link {
982 .legacy-carto path.line.stroke.tag-highway-trunk,
983 .legacy-carto path.line.stroke.tag-highway-trunk_link,
984 .legacy-carto path.line.stroke.tag-trunk {
987 .legacy-carto path.line.casing.tag-highway-trunk,
988 .legacy-carto path.line.casing.tag-highway-trunk_link,
989 .legacy-carto path.line.casing.tag-trunk {
993 .legacy-carto .preset-icon .icon.tag-highway-primary,
994 .legacy-carto .preset-icon .icon.tag-highway-primary_link {
998 .legacy-carto path.line.stroke.tag-highway-primary,
999 .legacy-carto path.line.stroke.tag-highway-primary_link,
1000 .legacy-carto path.line.stroke.tag-primary {
1003 .legacy-carto path.line.casing.tag-highway-primary,
1004 .legacy-carto path.line.casing.tag-highway-primary_link,
1005 .legacy-carto path.line.casing.tag-primary {
1009 .legacy-carto .preset-icon .icon.tag-highway-secondary,
1010 .legacy-carto .preset-icon .icon.tag-highway-secondary_link {
1014 .legacy-carto path.line.stroke.tag-highway-secondary,
1015 .legacy-carto path.line.stroke.tag-highway-secondary_link,
1016 .legacy-carto path.line.stroke.tag-secondary {
1019 .legacy-carto path.line.casing.tag-highway-secondary,
1020 .legacy-carto path.line.casing.tag-highway-secondary_link,
1021 .legacy-carto path.line.casing.tag-secondary {
1025 .legacy-carto .preset-icon .icon.tag-highway-tertiary,
1026 .legacy-carto .preset-icon .icon.tag-highway-tertiary_link {
1030 .legacy-carto path.line.stroke.tag-highway-tertiary,
1031 .legacy-carto path.line.stroke.tag-highway-tertiary_link,
1032 .legacy-carto path.line.stroke.tag-tertiary {
1035 .legacy-carto path.line.casing.tag-highway-tertiary,
1036 .legacy-carto path.line.casing.tag-highway-tertiary_link,
1037 .legacy-carto path.line.casing.tag-tertiary {
1041 .preset-icon .icon.tag-highway-residential {
1045 path.line.stroke.tag-highway-residential,
1046 path.line.stroke.tag-residential {
1049 path.line.casing.tag-highway-residential,
1050 path.line.casing.tag-residential {
1054 .preset-icon .icon.tag-highway-unclassified {
1058 path.line.stroke.tag-highway-unclassified,
1059 path.line.stroke.tag-unclassified {
1062 path.line.casing.tag-highway-unclassified,
1063 path.line.casing.tag-unclassified {
1068 /* narrow highways */
1069 path.line.shadow.tag-highway-living_street,
1070 path.line.shadow.tag-highway-bus_guideway,
1071 path.line.shadow.tag-highway-service,
1072 path.line.shadow.tag-highway-track,
1073 path.line.shadow.tag-highway-road {
1076 path.line.casing.tag-highway-living_street,
1077 path.line.casing.tag-highway-bus_guideway,
1078 path.line.casing.tag-highway-service,
1079 path.line.casing.tag-highway-track,
1080 path.line.casing.tag-highway-road {
1083 path.line.stroke.tag-highway-living_street,
1084 path.line.stroke.tag-highway-bus_guideway,
1085 path.line.stroke.tag-highway-service,
1086 path.line.stroke.tag-highway-track,
1087 path.line.stroke.tag-highway-road {
1091 path.line.shadow.tag-highway-path,
1092 path.line.shadow.tag-highway-footway,
1093 path.line.shadow.tag-highway-cycleway,
1094 path.line.shadow.tag-highway-bridleway,
1095 path.line.shadow.tag-highway-corridor,
1096 path.line.shadow.tag-highway-pedestrian,
1097 path.line.shadow.tag-highway-steps {
1100 path.line.casing.tag-highway-path,
1101 path.line.casing.tag-highway-footway,
1102 path.line.casing.tag-highway-cycleway,
1103 path.line.casing.tag-highway-bridleway,
1104 path.line.casing.tag-highway-corridor,
1105 path.line.casing.tag-highway-pedestrian,
1106 path.line.casing.tag-highway-steps {
1109 path.line.stroke.tag-highway-path,
1110 path.line.stroke.tag-highway-footway,
1111 path.line.stroke.tag-highway-cycleway,
1112 path.line.stroke.tag-highway-bridleway,
1113 path.line.stroke.tag-highway-corridor,
1114 path.line.stroke.tag-highway-pedestrian,
1115 path.line.stroke.tag-highway-steps {
1119 .low-zoom path.line.shadow.tag-highway-living_street,
1120 .low-zoom path.line.shadow.tag-highway-bus_guideway,
1121 .low-zoom path.line.shadow.tag-highway-service,
1122 .low-zoom path.line.shadow.tag-highway-track,
1123 .low-zoom path.line.shadow.tag-highway-road {
1126 .low-zoom path.line.casing.tag-highway-living_street,
1127 .low-zoom path.line.casing.tag-highway-bus_guideway,
1128 .low-zoom path.line.casing.tag-highway-service,
1129 .low-zoom path.line.casing.tag-highway-track,
1130 .low-zoom path.line.casing.tag-highway-road {
1133 .low-zoom path.line.stroke.tag-highway-living_street,
1134 .low-zoom path.line.stroke.tag-highway-bus_guideway,
1135 .low-zoom path.line.stroke.tag-highway-service,
1136 .low-zoom path.line.stroke.tag-highway-track,
1137 .low-zoom path.line.stroke.tag-highway-road {
1141 .low-zoom path.line.shadow.tag-highway-path,
1142 .low-zoom path.line.shadow.tag-highway-footway,
1143 .low-zoom path.line.shadow.tag-highway-cycleway,
1144 .low-zoom path.line.shadow.tag-highway-bridleway,
1145 .low-zoom path.line.shadow.tag-highway-corridor,
1146 .low-zoom path.line.shadow.tag-highway-pedestrian,
1147 .low-zoom path.line.shadow.tag-highway-steps {
1150 .low-zoom path.line.casing.tag-highway-path,
1151 .low-zoom path.line.casing.tag-highway-footway,
1152 .low-zoom path.line.casing.tag-highway-cycleway,
1153 .low-zoom path.line.casing.tag-highway-bridleway,
1154 .low-zoom path.line.casing.tag-highway-corridor,
1155 .low-zoom path.line.casing.tag-highway-pedestrian,
1156 .low-zoom path.line.casing.tag-highway-steps {
1159 .low-zoom path.line.stroke.tag-highway-path,
1160 .low-zoom path.line.stroke.tag-highway-footway,
1161 .low-zoom path.line.stroke.tag-highway-cycleway,
1162 .low-zoom path.line.stroke.tag-highway-bridleway,
1163 .low-zoom path.line.stroke.tag-highway-corridor,
1164 .low-zoom path.line.stroke.tag-highway-pedestrian,
1165 .low-zoom path.line.stroke.tag-highway-steps {
1170 .preset-icon .icon.tag-highway-living-street {
1174 path.line.stroke.tag-highway-living_street,
1175 path.line.stroke.tag-living_street {
1178 path.line.casing.tag-highway-living_street,
1179 path.line.casing.tag-living_street {
1183 .preset-icon .icon.tag-highway-corridor,
1184 .preset-icon .icon.tag-highway-pedestrian {
1188 path.line.stroke.tag-highway-corridor,
1189 path.line.stroke.tag-highway-pedestrian,
1190 path.line.stroke.tag-corridor,
1191 path.line.stroke.tag-pedestrian {
1193 stroke-dasharray: 2, 8;
1195 .low-zoom path.line.stroke.tag-highway-corridor,
1196 .low-zoom path.line.stroke.tag-highway-pedestrian,
1197 .low-zoom path.line.stroke.tag-corridor,
1198 .low-zoom path.line.stroke.tag-pedestrian {
1199 stroke-dasharray: 1, 4;
1201 path.line.casing.tag-highway-corridor,
1202 path.line.casing.tag-highway-pedestrian,
1203 path.line.casing.tag-corridor,
1204 path.line.casing.tag-pedestrian,
1205 path.line.casing.tag-highway-corridor.tag-unpaved,
1206 path.line.casing.tag-highway-pedestrian.tag-unpaved,
1207 path.line.casing.tag-corridor.tag-unpaved,
1208 path.line.casing.tag-pedestrian.tag-unpaved {
1210 stroke-linecap: round;
1211 stroke-dasharray: none;
1214 .preset-icon .icon.tag-highway-road {
1218 path.line.stroke.tag-highway-road,
1219 path.line.stroke.tag-road {
1222 path.line.casing.tag-highway-road,
1223 path.line.casing.tag-road {
1227 .preset-icon .icon.tag-highway-service {
1231 path.line.stroke.tag-highway-service,
1232 path.line.stroke.tag-service {
1235 path.line.casing.tag-highway-service,
1236 path.line.casing.tag-service {
1240 /* special service roads and bus guideways */
1241 /* with `service=* tag` (e.g. parking_aisle, alley, drive-through) */
1242 .preset-icon .icon.tag-highway-bus_guideway,
1243 .preset-icon .icon.tag-highway-service.tag-service {
1247 path.line.stroke.tag-highway-bus_guideway,
1248 path.line.stroke.tag-highway-service.tag-service,
1249 path.line.stroke.tag-service.tag-service {
1252 path.line.casing.tag-highway-bus_guideway,
1253 path.line.casing.tag-highway-service.tag-service,
1254 path.line.casing.tag-service.tag-service {
1258 .preset-icon .icon.tag-highway-track {
1262 path.line.stroke.tag-highway-track,
1263 path.line.stroke.tag-track {
1266 path.line.casing.tag-highway-track,
1267 path.line.casing.tag-track {
1271 path.line.stroke.tag-highway-path,
1272 path.line.stroke.tag-highway-footway,
1273 path.line.stroke.tag-highway-cycleway,
1274 path.line.stroke.tag-highway-bridleway {
1275 stroke-linecap: butt;
1276 stroke-dasharray: 6, 6;
1278 .low-zoom path.line.stroke.tag-highway-path,
1279 .low-zoom path.line.stroke.tag-highway-footway,
1280 .low-zoom path.line.stroke.tag-highway-cycleway,
1281 .low-zoom path.line.stroke.tag-highway-bridleway {
1282 stroke-linecap: butt;
1283 stroke-dasharray: 3, 3;
1286 path.line.casing.tag-highway-path,
1287 path.line.casing.tag-highway-path.tag-unpaved {
1289 stroke-linecap: round;
1290 stroke-dasharray: none;
1292 path.line.casing.tag-highway-footway,
1293 path.line.casing.tag-highway-cycleway,
1294 path.line.casing.tag-highway-bridleway,
1295 path.line.casing.tag-highway-footway.tag-unpaved,
1296 path.line.casing.tag-highway-cycleway.tag-unpaved,
1297 path.line.casing.tag-highway-bridleway.tag-unpaved {
1299 stroke-linecap: round;
1300 stroke-dasharray: none;
1303 .preset-icon .icon.iD-category-path,
1304 .preset-icon .icon.tag-highway-path {
1308 path.line.stroke.tag-highway-path {
1312 .preset-icon .icon.tag-route-foot,
1313 .preset-icon .icon.tag-route-hiking,
1314 .preset-icon .icon.tag-highway-footway {
1318 path.line.stroke.tag-highway-footway,
1319 .preset-icon-line path.casing.tag-highway-footway {
1322 .preset-icon-line path.stroke.tag-highway-footway {
1326 .preset-icon .icon.tag-route-bicycle,
1327 .preset-icon .icon.tag-highway-cycleway {
1331 path.line.stroke.tag-highway-cycleway,
1332 .preset-icon-line path.casing.tag-highway-cycleway {
1335 .preset-icon-line path.stroke.tag-highway-cycleway {
1339 .preset-icon .icon.tag-route-horse,
1340 .preset-icon .icon.tag-highway-bridleway {
1344 path.line.stroke.tag-highway-bridleway,
1345 .preset-icon-line path.casing.tag-highway-bridleway {
1348 .preset-icon-line path.stroke.tag-highway-bridleway {
1352 .preset-icon .icon.tag-highway-steps {
1356 path.line.stroke.tag-highway-steps {
1357 stroke-linecap: butt;
1358 stroke-dasharray: 3, 3;
1360 .low-zoom path.line.stroke.tag-highway-steps {
1361 stroke-dasharray: 2, 2;
1363 path.line.casing.tag-highway-steps,
1364 path.line.casing.tag-highway-steps.tag-unpaved {
1366 stroke-linecap: round;
1367 stroke-dasharray: none;
1369 path.line.stroke.tag-highway-steps,
1370 .preset-icon-line path.line.casing.tag-highway-steps {
1373 .preset-icon-line path.line.stroke.tag-highway-steps {
1377 /* highway midpoints */
1378 g.midpoint.tag-highway-corridor .fill,
1379 g.midpoint.tag-highway-pedestrian .fill,
1380 g.midpoint.tag-highway-steps .fill,
1381 g.midpoint.tag-highway-path .fill,
1382 g.midpoint.tag-highway-footway .fill,
1383 g.midpoint.tag-highway-cycleway .fill,
1384 g.midpoint.tag-highway-bridleway .fill {
1393 path.area.stroke.tag-aeroway,
1394 .low-zoom path.area.stroke.tag-aeroway {
1396 stroke-dasharray: none;
1399 path.area.fill.tag-aeroway-runway {
1400 stroke: rgba(0, 0, 0, 0.6);
1401 fill: rgba(0, 0, 0, 0.6);
1405 /* narrow aeroways (taxiway) */
1406 path.line.shadow.tag-aeroway-taxiway,
1407 path.line.shadow.tag-taxiway {
1410 path.line.casing.tag-aeroway-taxiway,
1411 path.line.casing.tag-taxiway {
1414 path.line.stroke.tag-aeroway-taxiway,
1415 path.line.stroke.tag-taxiway {
1418 .low-zoom path.line.shadow.tag-aeroway-taxiway,
1419 .low-zoom path.line.shadow.tag-taxiway {
1422 .low-zoom path.line.casing.tag-aeroway-taxiway,
1423 .low-zoom path.line.casing.tag-taxiway {
1426 .low-zoom path.line.stroke.tag-aeroway-taxiway,
1427 .low-zoom path.line.stroke.tag-taxiway {
1431 .preset-icon .icon.tag-aeroway-taxiway,
1432 .preset-icon .icon.tag-taxiway {
1436 path.line.stroke.tag-aeroway-taxiway,
1437 path.line.stroke.tag-taxiway {
1440 path.line.casing.tag-aeroway-taxiway,
1441 path.line.casing.tag-taxiway {
1445 /* wide aeroways (runway) */
1446 .preset-icon .icon.tag-aeroway-runway,
1447 .preset-icon .icon.tag-runway {
1451 path.line.shadow.tag-aeroway-runway {
1454 path.line.casing.tag-aeroway-runway {
1457 stroke-linecap: square;
1459 path.line.stroke.tag-aeroway-runway {
1462 stroke-linecap: butt;
1463 stroke-dasharray: 24, 48;
1465 .low-zoom path.line.shadow.tag-aeroway-runway {
1468 .low-zoom path.line.casing.tag-aeroway-runway {
1471 .low-zoom path.line.stroke.tag-aeroway-runway {
1473 stroke-dasharray: 12, 24;
1475 .preset-icon-line path.line.stroke.tag-aeroway-runway {
1476 stroke-dasharray: 0, 14, 8, 14;
1481 .preset-icon .icon.tag-railway.other-line {
1485 .preset-icon .icon.tag-railway {
1492 path.line.shadow.tag-railway {
1495 path.line.casing.tag-railway {
1498 path.line.stroke.tag-railway {
1500 stroke-linecap: butt;
1501 stroke-dasharray: 12,12;
1503 .low-zoom path.line.shadow.tag-railway {
1506 .low-zoom path.line.casing.tag-railway {
1509 .low-zoom path.line.stroke.tag-railway {
1511 stroke-dasharray: 6,6;
1513 .preset-icon-line path.line.stroke.tag-railway:not(.tag-status) {
1514 stroke-dasharray: 6;
1518 path.line.casing.tag-railway {
1521 path.line.stroke.tag-railway {
1526 .preset-icon .icon.tag-railway-disused,
1527 .preset-icon .icon.tag-railway-abandoned {
1531 path.line.casing.tag-railway-disused,
1532 path.line.casing.tag-railway-abandoned {
1535 path.line.stroke.tag-railway-disused,
1536 path.line.stroke.tag-railway-abandoned {
1541 path.line.casing.tag-railway-subway {
1544 path.line.stroke.tag-railway-subway {
1550 .preset-icon .icon.tag-waterway.other-line {
1554 .preset-icon .icon.iD-category-water,
1555 .preset-icon .icon.tag-type-waterway,
1556 .preset-icon .icon.tag-waterway {
1563 path.area.stroke.tag-waterway-dock,
1564 path.area.stroke.tag-waterway-boatyard,
1565 path.area.stroke.tag-waterway-fuel {
1569 path.area.casing.tag-waterway-dock,
1570 path.area.casing.tag-waterway-boatyard,
1571 path.area.casing.tag-waterway-fuel {
1574 path.area.fill.tag-waterway-dock,
1575 path.area.fill.tag-waterway-boatyard,
1576 path.area.fill.tag-waterway-fuel {
1577 stroke: rgba(255, 255, 255, 0.3);
1578 fill: rgba(255, 255, 255, 0.3);
1582 path.line.fill.tag-waterway {
1583 stroke: rgba(119, 211, 222, 0.3);
1584 fill: rgba(119, 211, 222, 0.3);
1586 path.line.casing.tag-waterway {
1589 path.line.stroke.tag-waterway {
1594 /* narrow waterways (default) */
1595 path.line.shadow.tag-waterway {
1598 path.line.casing.tag-waterway {
1601 path.line.stroke.tag-waterway {
1605 .low-zoom path.line.shadow.tag-waterway {
1608 .low-zoom path.line.casing.tag-waterway {
1611 .low-zoom path.line.stroke.tag-waterway {
1616 /* wide waterways (river) */
1617 path.line.shadow.tag-waterway-river {
1620 path.line.casing.tag-waterway-river {
1623 path.line.stroke.tag-waterway-river {
1627 .low-zoom path.line.shadow.tag-waterway-river {
1630 .low-zoom path.line.casing.tag-waterway-river {
1633 .low-zoom path.line.stroke.tag-waterway-river {
1639 .preset-icon .icon.tag-waterway-ditch {
1642 path.line.stroke.tag-waterway-ditch {
1647 /* narrow width miscellanous things */
1648 path.line.shadow.tag-aerialway,
1649 path.line.shadow.tag-attraction-summer_toboggan,
1650 path.line.shadow.tag-attraction-water_slide,
1651 path.line.shadow.tag-golf-cartpath,
1652 path.line.shadow.tag-man_made-pipeline,
1653 path.line.shadow.tag-natural-tree_row,
1654 path.line.shadow.tag-piste {
1657 path.line.casing.tag-aerialway,
1658 path.line.casing.tag-attraction-summer_toboggan,
1659 path.line.casing.tag-attraction-water_slide,
1660 path.line.casing.tag-golf-cartpath,
1661 path.line.casing.tag-man_made-pipeline,
1662 path.line.casing.tag-natural-tree_row,
1663 path.line.casing.tag-piste {
1666 path.line.stroke.tag-aerialway,
1667 path.line.stroke.tag-attraction-summer_toboggan,
1668 path.line.stroke.tag-attraction-water_slide,
1669 path.line.stroke.tag-golf-cartpath,
1670 path.line.stroke.tag-man_made-pipeline,
1671 path.line.stroke.tag-natural-tree_row,
1672 path.line.stroke.tag-piste {
1676 .low-zoom path.line.shadow.tag-aerialway,
1677 .low-zoom path.line.shadow.tag-attraction-summer_toboggan,
1678 .low-zoom path.line.shadow.tag-attraction-water_slide,
1679 .low-zoom path.line.shadow.tag-golf-cartpath,
1680 .low-zoom path.line.shadow.tag-man_made-pipeline,
1681 .low-zoom path.line.shadow.tag-natural-tree_row,
1682 .low-zoom path.line.shadow.tag-piste {
1685 .low-zoom path.line.casing.tag-aerialway,
1686 .low-zoom path.line.casing.tag-attraction-summer_toboggan,
1687 .low-zoom path.line.casing.tag-attraction-water_slide,
1688 .low-zoom path.line.casing.tag-golf-cartpath,
1689 .low-zoom path.line.casing.tag-man_made-pipeline,
1690 .low-zoom path.line.casing.tag-natural-tree_row,
1691 .low-zoom path.line.casing.tag-piste {
1694 .low-zoom path.line.stroke.tag-aerialway,
1695 .low-zoom path.line.stroke.tag-attraction-summer_toboggan,
1696 .low-zoom path.line.stroke.tag-attraction-water_slide,
1697 .low-zoom path.line.stroke.tag-golf-cartpath,
1698 .low-zoom path.line.stroke.tag-man_made-pipeline,
1699 .low-zoom path.line.stroke.tag-natural-tree_row,
1700 .low-zoom path.line.stroke.tag-piste {
1706 .preset-icon .icon.tag-route-ferry {
1710 path.line.shadow.tag-route-ferry {
1713 path.line.stroke.tag-route-ferry {
1715 stroke-linecap: butt;
1716 stroke-dasharray: 12,8;
1718 .low-zoom path.line.shadow.tag-route-ferry {
1721 .low-zoom path.line.stroke.tag-route-ferry,
1722 .preset-icon-line path.line.stroke.tag-route-ferry {
1724 stroke-dasharray: 6,4;
1726 path.line.stroke.tag-route-ferry {
1729 path.line.casing.tag-route-ferry {
1735 path.line.stroke.tag-aerialway {
1738 path.line.casing.tag-aerialway {
1744 path.line.stroke.tag-piste {
1747 path.line.casing.tag-piste {
1753 path.line.stroke.tag-attraction-summer_toboggan {
1756 path.line.casing.tag-attraction-summer_toboggan {
1760 path.line.stroke.tag-attraction-water_slide {
1763 path.line.casing.tag-attraction-water_slide {
1768 /* golf cartpaths (like service roads) */
1769 .preset-icon .icon.tag-golf-cartpath {
1773 path.line.stroke.tag-golf-cartpath {
1776 path.line.casing.tag-golf-cartpath {
1781 /* power and pipeline */
1782 .preset-icon .icon.tag-man_made-pipeline,
1783 .preset-icon .icon.tag-power {
1790 path.line.stroke.tag-power {
1794 path.line.casing.tag-power {
1800 path.line.stroke.tag-man_made-pipeline {
1802 stroke-linecap: butt;
1803 stroke-dasharray: 80, 1.25;
1805 path.line.casing.tag-man_made-pipeline {
1808 .low-zoom path.line.stroke.tag-man_made-pipeline {
1809 stroke-dasharray: 40, 1;
1811 .preset-icon-line path.line.stroke.tag-man_made-pipeline {
1812 stroke-dasharray: 19, 1;
1817 path.line.stroke.tag-boundary {
1820 stroke-linecap: butt;
1821 stroke-dasharray: 20, 5, 5, 5;
1823 path.line.casing.tag-boundary {
1828 path.line.casing.tag-boundary-protected_area,
1829 path.line.casing.tag-boundary-national_park {
1834 /* barriers and similar */
1835 path.line.stroke.tag-barrier:not(.tag-barrier-hedge) {
1838 .preset-icon-line path.line.stroke.tag-barrier:not(.tag-barrier-hedge) {
1839 stroke: rgb(170, 170, 170);
1841 path.line.casing.tag-natural,
1842 path.line.casing.tag-barrier,
1843 path.line.casing.tag-man_made-groyne,
1844 path.line.casing.tag-man_made-breakwater {
1847 path.line.stroke.tag-barrier,
1848 path.line.stroke.tag-man_made-groyne,
1849 path.line.stroke.tag-man_made-breakwater {
1851 stroke-linecap: round;
1852 stroke-dasharray: 15, 5, 1, 5;
1854 .low-zoom path.line.stroke.tag-barrier,
1855 .low-zoom path.line.stroke.tag-man_made-groyne,
1856 .low-zoom path.line.stroke.tag-man_made-breakwater {
1858 stroke-linecap: butt;
1859 stroke-dasharray: 8, 2, 2, 2;
1861 .preset-icon-line path.line.stroke.tag-barrier,
1862 .preset-icon-line path.line.stroke.tag-man_made-groyne,
1863 .preset-icon-line path.line.stroke.tag-man_made-breakwater {
1864 stroke-dasharray: 1, 4, 6, 4;
1869 path.line.casing.tag-bridge {
1870 stroke-opacity: 0.6;
1871 stroke: #000 !important;
1872 stroke-linecap: butt;
1873 stroke-dasharray: none;
1875 path.line.shadow.tag-bridge {
1878 path.line.casing.tag-bridge {
1881 .low-zoom path.line.shadow.tag-bridge {
1884 .low-zoom path.line.casing.tag-bridge {
1888 path.line.shadow.tag-railway.tag-bridge,
1889 path.line.shadow.tag-highway-living_street.tag-bridge,
1890 path.line.shadow.tag-highway-path.tag-bridge,
1891 path.line.shadow.tag-highway-corridor.tag-bridge,
1892 path.line.shadow.tag-highway-pedestrian.tag-bridge,
1893 path.line.shadow.tag-highway-service.tag-bridge,
1894 path.line.shadow.tag-highway-track.tag-bridge,
1895 path.line.shadow.tag-highway-steps.tag-bridge,
1896 path.line.shadow.tag-highway-footway.tag-bridge,
1897 path.line.shadow.tag-highway-cycleway.tag-bridge,
1898 path.line.shadow.tag-highway-bridleway.tag-bridge {
1901 path.line.casing.tag-railway.tag-bridge,
1902 path.line.casing.tag-highway-living_street.tag-bridge,
1903 path.line.casing.tag-highway-path.tag-bridge,
1904 path.line.casing.tag-highway-corridor.tag-bridge,
1905 path.line.casing.tag-highway-pedestrian.tag-bridge,
1906 path.line.casing.tag-highway-service.tag-bridge,
1907 path.line.casing.tag-highway-track.tag-bridge,
1908 path.line.casing.tag-highway-steps.tag-bridge,
1909 path.line.casing.tag-highway-footway.tag-bridge,
1910 path.line.casing.tag-highway-cycleway.tag-bridge,
1911 path.line.casing.tag-highway-bridleway.tag-bridge {
1915 .low-zoom path.line.shadow.tag-railway.tag-bridge,
1916 .low-zoom path.line.shadow.tag-highway-living_street.tag-bridge,
1917 .low-zoom path.line.shadow.tag-highway-path.tag-bridge,
1918 .low-zoom path.line.shadow.tag-highway-corridor.tag-bridge,
1919 .low-zoom path.line.shadow.tag-highway-pedestrian.tag-bridge,
1920 .low-zoom path.line.shadow.tag-highway-service.tag-bridge,
1921 .low-zoom path.line.shadow.tag-highway-track.tag-bridge,
1922 .low-zoom path.line.shadow.tag-highway-steps.tag-bridge,
1923 .low-zoom path.line.shadow.tag-highway-footway.tag-bridge,
1924 .low-zoom path.line.shadow.tag-highway-cycleway.tag-bridge,
1925 .low-zoom path.line.shadow.tag-highway-bridleway.tag-bridge {
1928 .low-zoom path.line.casing.tag-railway.tag-bridge,
1929 .low-zoom path.line.casing.tag-highway-living_street.tag-bridge,
1930 .low-zoom path.line.casing.tag-highway-path.tag-bridge,
1931 .low-zoom path.line.casing.tag-highway-corridor.tag-bridge,
1932 .low-zoom path.line.casing.tag-highway-pedestrian.tag-bridge,
1933 .low-zoom path.line.casing.tag-highway-service.tag-bridge,
1934 .low-zoom path.line.casing.tag-highway-track.tag-bridge,
1935 .low-zoom path.line.casing.tag-highway-steps.tag-bridge,
1936 .low-zoom path.line.casing.tag-highway-footway.tag-bridge,
1937 .low-zoom path.line.casing.tag-highway-cycleway.tag-bridge,
1938 .low-zoom path.line.casing.tag-highway-bridleway.tag-bridge {
1944 path.line.stroke.tag-tunnel,
1945 path.line.stroke.tag-location-underground,
1946 path.line.stroke.tag-location-underwater {
1947 stroke-opacity: 0.3;
1949 path.line.casing.tag-tunnel,
1950 path.line.casing.tag-location-underground,
1951 path.line.stroke.tag-location-underwater {
1952 stroke-opacity: 0.5;
1953 stroke-linecap: butt;
1954 stroke-dasharray: none;
1958 /* embankments / cuttings */
1959 path.line.shadow.tag-embankment,
1960 path.line.shadow.tag-cutting {
1963 path.line.casing.tag-embankment,
1964 path.line.casing.tag-cutting {
1965 stroke-opacity: 0.5;
1968 stroke-dasharray: 2, 4;
1969 stroke-linecap: butt;
1972 .low-zoom path.line.shadow.tag-embankment,
1973 .low-zoom path.line.shadow.tag-cutting {
1976 .low-zoom path.line.casing.tag-embankment,
1977 .low-zoom path.line.casing.tag-cutting {
1982 /* Surface - unpaved */
1983 path.line.casing.tag-unpaved {
1985 stroke-linecap: butt;
1986 stroke-dasharray: 4, 3;
1988 .low-zoom path.line.casing.tag-unpaved {
1989 stroke-dasharray: 3, 2;
1991 path.line.casing.tag-bridge.tag-unpaved {
1993 stroke-dasharray: 4, 3;
1995 .low-zoom path.line.casing.tag-bridge.tag-unpaved {
1997 stroke-dasharray: 3, 2;
2001 /* Status (e.g. proposed, abandoned) */
2002 path.area.stroke.tag-status,
2003 path.line.stroke.tag-status,
2004 path.area.casing.tag-status,
2005 path.line.casing.tag-status {
2006 stroke-linecap: butt;
2007 stroke-dasharray: 7, 3;
2009 .low-zoom path.area.stroke.tag-status,
2010 .low-zoom path.line.stroke.tag-status,
2011 .low-zoom path.area.casing.tag-status,
2012 .low-zoom path.line.casing.tag-status {
2013 stroke-dasharray: 5, 2;
2016 /* Road Closed Status */
2017 .preset-icon .icon.tag-highway.tag-status-construction {
2021 path.line.shadow.tag-status.tag-status-construction {
2024 path.line.casing.tag-status.tag-status-construction {
2026 stroke-linecap: butt;
2027 stroke-dasharray: none
2029 path.line.stroke.tag-status.tag-status-construction {
2031 stroke-linecap: butt;
2032 stroke-dasharray: 10, 10;
2034 path.line.casing.tag-status.tag-status-construction,
2035 .preset-icon-line path.line.stroke.tag-status.tag-status-construction {
2038 path.line.stroke.tag-status.tag-status-construction,
2039 .preset-icon-line path.line.casing.tag-status.tag-status-construction {
2042 .low-zoom path.line.shadow.tag-status.tag-status-construction {
2045 .low-zoom path.line.casing.tag-status.tag-status-construction {
2048 .low-zoom path.line.stroke.tag-status.tag-status-construction {
2050 stroke-dasharray: 8, 8;
2055 path.stroke.tag-building {
2056 stroke: rgb(224, 110, 95);
2058 path.fill.tag-building {
2059 stroke: rgba(224, 110, 95, 0.3);
2060 fill: rgba(224, 110, 95, 0.3);
2062 .preset-icon-fill-area.tag-parking-multi-storey,
2063 .preset-icon-fill-area.tag-building {
2064 border-color: rgb(224, 110, 95);
2065 background-color: rgba(224, 110, 95, 0.3);
2069 /* "Special" paths - platforms, piers, crossings */
2070 .preset-icon .icon.tag-golf-path,
2071 .preset-icon .icon.tag-public_transport-platform,
2072 .preset-icon .icon.tag-railway-platform,
2073 .preset-icon .icon.tag-man_made-pier,
2074 .preset-icon .icon.tag-footway.tag-footway-crossing,
2075 .preset-icon .icon.tag-crossing {
2080 .preset-icon-fill-area.tag-golf-path,
2081 .preset-icon-fill-area.tag-public_transport-platform,
2082 .preset-icon-fill-area.tag-railway-platform,
2083 .preset-icon-fill-area.tag-man_made-pier,
2084 .preset-icon-fill-area.tag-footway.tag-footway-crossing,
2085 .preset-icon-fill-area.tag-crossing {
2087 background-color: #dca;
2090 path.line.shadow.tag-golf-path,
2091 path.line.shadow.tag-public_transport-platform,
2092 path.line.shadow.tag-railway-platform,
2093 path.line.shadow.tag-man_made-pier,
2094 path.line.shadow.tag-footway.tag-footway-crossing,
2095 path.line.shadow.tag-crossing {
2098 path.line.casing.tag-golf-path,
2099 path.line.casing.tag-public_transport-platform,
2100 path.line.casing.tag-railway-platform,
2101 path.line.casing.tag-man_made-pier,
2102 path.line.casing.tag-footway.tag-footway-crossing,
2103 path.line.casing.tag-crossing {
2106 stroke-linecap: round;
2107 stroke-dasharray: none;
2109 path.line.stroke.tag-golf-path,
2110 path.line.stroke.tag-public_transport-platform,
2111 path.line.stroke.tag-railway-platform,
2112 path.line.stroke.tag-man_made-pier,
2113 path.line.stroke.tag-footway.tag-footway-crossing,
2114 path.line.stroke.tag-crossing {
2117 stroke-linecap: butt;
2118 stroke-dasharray: 6, 6;
2121 .low-zoom path.line.shadow.tag-golf-path,
2122 .low-zoom path.line.shadow.tag-public_transport-platform,
2123 .low-zoom path.line.shadow.tag-railway-platform,
2124 .low-zoom path.line.shadow.tag-man_made-pier,
2125 .low-zoom path.line.shadow.tag-footway.tag-footway-crossing,
2126 .low-zoom path.line.shadow.tag-crossing {
2129 .low-zoom path.line.casing.tag-golf-path,
2130 .low-zoom path.line.casing.tag-public_transport-platform,
2131 .low-zoom path.line.casing.tag-railway-platform,
2132 .low-zoom path.line.casing.tag-man_made-pier,
2133 .low-zoom path.line.casing.tag-footway.tag-footway-crossing,
2134 .low-zoom path.line.casing.tag-crossing {
2137 .low-zoom path.line.stroke.tag-golf-path,
2138 .low-zoom path.line.stroke.tag-public_transport-platform,
2139 .low-zoom path.line.stroke.tag-railway-platform,
2140 .low-zoom path.line.stroke.tag-man_made-pier,
2141 .low-zoom path.line.stroke.tag-footway.tag-footway-crossing,
2142 .low-zoom path.line.stroke.tag-crossing {
2144 stroke-linecap: butt;
2145 stroke-dasharray: 3, 3;
2148 g.midpoint.tag-golf-path .fill,
2149 g.midpoint.tag-public_transport-platform .fill,
2150 g.midpoint.tag-railway-platform .fill,
2151 g.midpoint.tag-man_made-pier .fill,
2152 g.midpoint.tag-footway.tag-footway-crossing .fill,
2153 g.midpoint.tag-crossing .fill {
2160 /* marked crossings, zebras */
2161 .preset-icon .icon.tag-crossing.tag-crossing-marked,
2162 .preset-icon .icon.tag-crossing.tag-crossing-zebra {
2166 path.line.casing.tag-crossing.tag-crossing-marked,
2167 path.line.casing.tag-crossing.tag-crossing-zebra {
2170 path.line.stroke.tag-crossing.tag-crossing-marked,
2171 path.line.stroke.tag-crossing.tag-crossing-zebra {
2173 stroke-dasharray: 6, 4;
2175 .low-zoom path.line.stroke.tag-crossing.tag-crossing-marked,
2176 .low-zoom path.line.stroke.tag-crossing.tag-crossing-zebra {
2177 stroke-dasharray: 3, 2;
2183 cursor: not-allowed !important;
2188 cursor: auto; /* Opera */
2189 cursor: url(<%= asset_path("iD/img/cursor-grab.png") %>) 9 9, auto; /* FF */
2192 .mode-browse .point,
2193 .mode-select .point {
2194 cursor: pointer; /* Opera */
2195 cursor: url(<%= asset_path("iD/img/cursor-select-point.png") %>), pointer; /* FF */
2198 .mode-select .vertex,
2199 .mode-browse .vertex {
2200 cursor: pointer; /* Opera */
2201 cursor: url(<%= asset_path("iD/img/cursor-select-vertex.png") %>), pointer; /* FF */
2205 .mode-select .line {
2206 cursor: pointer; /* Opera */
2207 cursor: url(<%= asset_path("iD/img/cursor-select-line.png") %>), pointer; /* FF */
2211 .mode-browse .area {
2212 cursor: pointer; /* Opera */
2213 cursor: url(<%= asset_path("iD/img/cursor-select-area.png") %>), pointer; /* FF */
2216 .mode-select .midpoint,
2217 .mode-browse .midpoint {
2218 cursor: pointer; /* Opera */
2219 cursor: url(<%= asset_path("iD/img/cursor-select-split.png") %>), pointer; /* FF */
2222 .mode-select .behavior-multiselect .point,
2223 .mode-select .behavior-multiselect .vertex,
2224 .mode-select .behavior-multiselect .line,
2225 .mode-select .behavior-multiselect .area {
2226 cursor: pointer; /* Opera */
2227 cursor: url(<%= asset_path("iD/img/cursor-select-add.png") %>), pointer; /* FF */
2230 .mode-select .behavior-multiselect .selected {
2231 cursor: pointer; /* Opera */
2232 cursor: url(<%= asset_path("iD/img/cursor-select-remove.png") %>), pointer; /* FF */
2235 .mode-draw-line #map,
2236 .mode-draw-area #map,
2237 .mode-add-line #map,
2238 .mode-add-area #map,
2239 .mode-drag-node #map,
2240 .mode-drag-note #map {
2241 cursor: crosshair; /* Opera */
2242 cursor: url(<%= asset_path("iD/img/cursor-draw.png") %>) 9 9, crosshair; /* FF */
2245 .mode-draw-line .way.target,
2246 .mode-draw-area .way.target,
2247 .mode-add-line .way.target,
2248 .mode-add-area .way.target,
2249 .mode-drag-node .way.target {
2250 cursor: crosshair; /* Opera */
2251 cursor: url(<%= asset_path("iD/img/cursor-draw-connect-line.png") %>) 9 9, crosshair; /* FF */
2254 .mode-draw-line .vertex.target,
2255 .mode-draw-area .vertex.target,
2256 .mode-add-line .vertex.target,
2257 .mode-add-area .vertex.target,
2258 .mode-drag-node .vertex.target {
2259 cursor: crosshair; /* Opera */
2260 cursor: url(<%= asset_path("iD/img/cursor-draw-connect-vertex.png") %>) 9 9, crosshair; /* FF */
2263 .mode-add-point #map,
2264 .mode-add-note #map,
2265 .mode-browse.lasso #map,
2266 .mode-browse.lasso .way,
2267 .mode-browse.lasso .vertex,
2268 .mode-browse.lasso .midpoint,
2269 .mode-select.lasso #map,
2270 .mode-select.lasso .way,
2271 .mode-select.lasso .vertex,
2272 .mode-select.lasso .midpoint {
2273 cursor: crosshair; /* Opera */
2274 cursor: url(<%= asset_path("iD/img/cursor-draw.png") %>) 9 9, crosshair; /* FF */
2278 .mode-browse .qa_error,
2280 .mode-select .qa_error,
2286 /* photo viewer div */
2294 background-color: #fff;
2296 [dir='rtl'] #photoviewer {
2301 @media screen and (min-width: 1600px) {
2308 #photoviewer button.thumb-hide {
2317 #photoviewer button.resize-handle-xy {
2323 cursor: nesw-resize;
2328 #photoviewer button.resize-handle-x {
2340 #photoviewer button.resize-handle-y {
2353 .photo-wrapper img {
2360 .photo-wrapper .photo-attribution {
2372 .photo-attribution a,
2373 .photo-attribution a:visited,
2374 .photo-attribution span {
2379 /* markers and sequences */
2381 pointer-events: none;
2383 .mode-browse .viewfield-group,
2384 .mode-select .viewfield-group {
2385 pointer-events: visible;
2389 .viewfield-group.currentView * {
2390 fill: #ffee00 !important;
2392 .viewfield-group.hovered * {
2393 fill: #eebb00 !important;
2396 .viewfield-group circle {
2399 stroke-opacity: 0.4;
2402 .viewfield-group.highlighted circle {
2404 stroke-opacity: 0.9;
2407 .viewfield-group.highlighted.hovered circle {
2410 stroke-opacity: 0.9;
2413 .viewfield-group.highlighted.currentView circle {
2420 .viewfield-group .viewfield {
2425 .viewfield-group.highlighted .viewfield {
2429 .viewfield-group.highlighted.hovered .viewfield {
2433 .viewfield-group.highlighted.currentView .viewfield {
2438 .viewfield-group.currentView .viewfield-scale {
2439 transform: scale(2,2);
2445 stroke-opacity: 0.4;
2447 .sequence.highlighted,
2448 .sequence.currentView {
2454 /* Streetside Image Layer */
2455 .layer-streetside-images {
2456 pointer-events: none;
2458 .layer-streetside-images .viewfield-group * {
2461 .layer-streetside-images .sequence {
2463 stroke-opacity: 0.85; /* bump opacity - only one per road */
2467 /* Mapillary Image Layer */
2468 .layer-mapillary-images {
2469 pointer-events: none;
2471 .layer-mapillary-images .viewfield-group * {
2474 .layer-mapillary-images .sequence {
2479 /* Mapillary Sign Layer */
2480 .layer-mapillary-signs {
2481 pointer-events: none;
2483 .layer-mapillary-signs .icon-sign {
2484 outline: 2px solid transparent;
2485 pointer-events: visible;
2488 .layer-mapillary-signs .icon-sign:hover {
2489 outline: 5px solid #eebb00;
2490 background-color: #eebb00;
2492 .layer-mapillary-signs .icon-sign.currentView {
2493 outline: 5px solid #ffee00;
2494 background-color: #ffee00;
2498 /* OpenStreetCam Image Layer */
2499 .layer-openstreetcam-images {
2500 pointer-events: none;
2502 .layer-openstreetcam-images .viewfield-group * {
2505 .layer-openstreetcam-images .sequence {
2510 /* Streetside Viewer (pannellum) */
2511 .ms-wrapper .photo-attribution .image-link {
2514 .ms-wrapper .photo-attribution .attribution-row {
2516 flex-flow: row nowrap;
2517 justify-content: space-between;
2518 align-items: center;
2521 .ms-wrapper .photo-attribution .image-view-link {
2525 .ms-wrapper .photo-attribution .image-report-link {
2529 .ms-wrapper .photo-attribution a:active,
2530 .ms-wrapper .photo-attribution a:hover {
2534 .ms-wrapper .pnlm-compass.pnlm-control {
2539 background-size: contain;
2540 background-repeat: no-repeat no-repeat;
2543 label.streetside-hires {
2546 .streetside-hires span {
2549 .streetside-hires input[type="checkbox"] {
2557 /* Mapillary viewer */
2558 #mly .domRenderer .TagSymbol {
2560 background-color: rgba(0,0,0,0.4);
2565 #mly .domRenderer .Attribution {
2566 /* we will roll our own to avoid async update issues like #4526 */
2570 .mly-wrapper .photo-attribution a:active,
2571 .mly-wrapper .photo-attribution a:hover {
2575 .mly-wrapper .mapillary-js-dom {
2580 /* OpenStreetCam viewer */
2583 background-color: #000;
2584 background-image: url(<%= asset_path("iD/img/loader-black.gif") %>);
2585 background-position: center;
2586 background-repeat: no-repeat;
2589 .osc-wrapper .photo-attribution a:active,
2590 .osc-wrapper .photo-attribution a:hover {
2597 transform-origin:0 0;
2598 -ms-transform-origin:0 0;
2599 -webkit-transform-origin:0 0;
2600 -moz-transform-origin:0 0;
2601 -o-transform-origin:0 0;
2605 /* photo-controls (step forward, back, rotate) */
2606 .photo-controls-wrap {
2615 display: inline-block;
2619 .photo-controls button,
2620 .photo-controls button:focus {
2623 background: rgba(0,0,0,0.65);
2627 .photo-controls button:first-of-type {
2628 border-radius: 3px 0 0 3px;
2630 .photo-controls button:last-of-type {
2631 border-radius: 0 3px 3px 0;
2633 .photo-controls button:hover,
2634 .photo-controls button:active {
2635 background: rgba(0,0,0,0.85);
2639 /* OSM Notes and KeepRight Layers */
2641 .error-header-icon .qa_error-fill,
2642 .layer-keepRight .qa_error .qa_error-fill,
2643 .layer-improveOSM .qa_error .qa_error-fill {
2645 stroke-width: 1.3px; /* NOTE: likely a better way to scale the icon stroke */
2648 .note-header-icon .note-fill,
2649 .layer-notes .note .note-fill {
2654 .note-header-icon.new .note-fill,
2655 .layer-notes .note.new .note-fill {
2660 .note-header-icon.closed .note-fill,
2661 .layer-notes .note.closed .note-fill {
2667 /* slight adjustments to preset icon for note icons */
2668 .note-header-icon .preset-icon-28 {
2671 .note-header-icon .note-icon-annotation {
2677 .note-header-icon .note-icon-annotation .icon {
2682 /* adjustment for error icon */
2684 .error-header-icon .preset-icon-28 {
2689 .error-header-icon {
2691 align-items: center;
2692 justify-content: center;
2695 /* Keep Right Errors
2696 ------------------------------------------------------- */
2697 .keepRight.error_type-20, /* multiple nodes on same spot */
2698 .keepRight.error_type-40, /* impossible oneways */
2699 .keepRight.error_type-210, /* self intersecting ways */
2700 .keepRight.error_type-270, /* unusual motorway connection */
2701 .keepRight.error_type-310, /* roundabout issues */
2702 .keepRight.error_type-320, /* improper _link */
2703 .keepRight.error_type-350 { /* improper bridge tag */
2707 .keepRight.error_type-50 { /* almost junctions */
2711 .keepRight.error_type-60, /* deprecated tags */
2712 .keepRight.error_type-70, /* tagging issues */
2713 .keepRight.error_type-90, /* motorway without ref */
2714 .keepRight.error_type-100, /* place of worship without religion */
2715 .keepRight.error_type-110, /* poi without name */
2716 .keepRight.error_type-150, /* railway crossing without tag */
2717 .keepRight.error_type-220, /* misspelled tag */
2718 .keepRight.error_type-380 { /* non-physical sport tag */
2722 .keepRight.error_type-130 { /* disconnected ways */
2726 .keepRight.error_type-170 { /* FIXME tag */
2730 .keepRight.error_type-190 { /* intersection without junction */
2734 .keepRight.error_type-200 { /* overlapping ways */
2738 .keepRight.error_type-160, /* railway layer conflict */
2739 .keepRight.error_type-230 { /* layer conflict */
2743 .keepRight.error_type-280 { /* boundary issues */
2747 .keepRight.error_type-180, /* relation without type */
2748 .keepRight.error_type-290 { /* turn restriction issues */
2752 .keepRight.error_type-300, /* missing maxspeed */
2753 .keepRight.error_type-390 { /* missing tracktype */
2757 .keepRight.error_type-360, /* language unknown */
2758 .keepRight.error_type-370, /* doubled places */
2759 .keepRight.error_type-410 { /* website issues */
2763 .keepRight.error_type-120, /* way without nodes */
2764 .keepRight.error_type-400 { /* geometry / turn angles */
2768 /* ImproveOSM Errors
2769 ------------------------------------------------------- */
2771 .improveOSM.error_type-ow { /* missing one way */
2775 .improveOSM.error_type-mr-road { /* missing road */
2778 .improveOSM.error_type-mr-path { /* missing path */
2781 .improveOSM.error_type-mr-parking { /* missing parking */
2784 .improveOSM.error_type-mr-both { /* missing road+parking */
2788 .improveOSM.error_type-tr { /* missing turn restriction */
2793 /* Custom Map Data (geojson, gpx, kml, vector tile) */
2795 pointer-events: none;
2798 .layer-mapdata path.shadow {
2799 pointer-events: stroke;
2805 .layer-mapdata path.MultiPoint.shadow,
2806 .layer-mapdata path.Point.shadow {
2807 pointer-events: fill;
2811 .layer-mapdata path.shadow.hover:not(.selected) {
2812 stroke-opacity: 0.4;
2814 .layer-mapdata path.shadow.selected {
2815 stroke-opacity: 0.7;
2818 .layer-mapdata path.stroke {
2824 .layer-mapdata path.fill {
2826 stroke-opacity: 0.3;
2833 .layer-mapdata text.label-halo,
2834 .layer-mapdata text.label {
2837 dominant-baseline: middle;
2839 .layer-mapdata text.label {
2842 .layer-mapdata text.label.hover,
2843 .layer-mapdata text.label.selected {
2846 .layer-mapdata text.label-halo {
2850 stroke-miterlimit: 1;
2854 .low-zoom.fill-wireframe path.stroke,
2855 .fill-wireframe path.stroke {
2856 stroke-width: 1 !important;
2857 stroke-opacity: 0.5 !important;
2858 stroke-dasharray: none !important;
2859 fill: none !important;
2861 .low-zoom.fill-wireframe .layer-mapdata path.stroke,
2862 .fill-wireframe .layer-mapdata path.stroke {
2863 stroke-width: 2 !important;
2864 stroke-opacity: 1 !important;
2867 .low-zoom.fill-wireframe path.shadow,
2868 .fill-wireframe path.shadow {
2872 .fill-wireframe path.shadow.related:not(.selected),
2873 .fill-wireframe path.shadow.hover:not(.selected) {
2874 stroke-opacity: 0.4;
2876 .fill-wireframe path.shadow.selected {
2877 stroke-opacity: 0.6;
2880 .fill-wireframe .point,
2881 .fill-wireframe .areaicon,
2882 .fill-wireframe .areaicon-halo,
2883 .fill-wireframe path.casing,
2884 .fill-wireframe path.fill,
2885 .fill-wireframe path.oneway {
2886 display: none !important;
2889 .fill-partial path.area.fill {
2892 pointer-events: none;
2894 .mode-browse .fill-partial path.area.fill,
2895 .mode-select .fill-partial path.area.fill {
2896 pointer-events: visibleStroke;
2899 ------------------------------------------------------- */
2901 Opera misbehaves when the window is resized vertically unless 100% width + height are
2902 applied to both html and body. https://gist.github.com/jfirebaugh/bd225bcfdd3a633850c4
2910 font: normal 12px/1.6667 "-apple-system", BlinkMacSystemFont,
2911 "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell",
2912 "Fira Sans", "Droid Sans", "Helvetica Neue", "Arial",
2918 -ms-user-select: none;
2919 -ms-content-zooming: none;
2924 vertical-align: middle;
2941 -webkit-filter: none !important;
2942 filter: none !important;
2943 -webkit-duration: 200ms;
2944 transition-duration: 200ms;
2948 -webkit-filter: grayscale(80%) brightness(80%);
2949 filter: grayscale(80%) brightness(80%);
2950 -webkit-duration: 200ms;
2951 transition-duration: 200ms;
2955 /* Can't be display: none or the clippaths are ignored. */
2961 div, textarea, label, input, form, span, ul, li, ol, a, button, h1, h2, h3, h4, h5, p, img {
2962 -moz-box-sizing: border-box;
2963 -webkit-box-sizing: border-box;
2964 box-sizing: border-box;
2967 a, button, input, textarea {
2968 -webkit-tap-highlight-color: rgba(0,0,0,0);
2969 -webkit-touch-callout: none;
2986 margin-bottom: 20px;
2991 h4:last-child { margin-bottom: 0;}
2997 margin-bottom: 10px;
3002 padding-bottom: 10px;
3006 outline-color: transparent;
3007 outline-style: none;
3010 ::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
3012 opacity: 1; /* Firefox */
3014 :-ms-input-placeholder { /* Internet Explorer 10-11 */
3017 ::-ms-input-placeholder { /* Microsoft Edge */
3043 ------------------------------------------------------- */
3046 font:normal 12px/20px "-apple-system", BlinkMacSystemFont,
3047 "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell",
3048 "Fira Sans", "Droid Sans", "Helvetica Neue", "Arial",
3059 background-color: #fff;
3061 border: 1px solid #ccc;
3062 padding: 5px 20px 5px 10px;
3065 text-overflow: ellipsis;
3067 [dir='rtl'] textarea,
3068 [dir='rtl'] input[type=text],
3069 [dir='rtl'] input[type=search],
3070 [dir='rtl'] input[type=number],
3071 [dir='rtl'] input[type=url],
3072 [dir='rtl'] input[type=tel],
3073 [dir='rtl'] input[type=email] {
3074 padding: 5px 10px 5px 20px;
3079 background-color: #f1f1f1;
3085 background-color: #eee;
3086 cursor: not-allowed;
3089 input[type="checkbox"],
3090 input[type="radio"] {
3098 [dir='rtl'] input[type="checkbox"],
3099 [dir='rtl'] input[type="radio"] {
3107 background-color: #fff;
3108 border-collapse: collapse;
3115 table.tags, table.tags td, table.tags th {
3116 border: 1px solid #ccc;
3125 ------------------------------------------------------- */
3126 .col6 { float: left; width: 50.0000%; max-width: 600px; }
3127 .col8 { float: left; width: 66.6666%; }
3128 .col12 { float: left; width: 100.0000%; }
3132 ------------------------------------------------------- */
3138 background: #f6f6f6;
3142 background: #ececec;
3146 background: rgba(0,0,0,.5);
3150 background: rgba(0,0,0,.75);
3155 .fr { float: right;}
3172 box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.25);
3175 background: url(<%= asset_path("iD/img/loader_bg.gif") %>);
3176 background-size: 5px 5px;
3181 ------------------------------------------------------- */
3190 display: inline-block;
3197 background-color: #ececec;
3200 background: #7092ff;
3203 background-color: rgba(255,255,255,.25);
3204 color: rgba(0,0,0,.4);
3205 cursor: not-allowed;
3210 border-right: 1px solid rgba(0,0,0,.5);
3212 [dir='rtl'] .joined button {
3213 border-left: 1px solid rgba(0,0,0,.5);
3217 .fillL .joined button {
3218 border-right: 1px solid #fff;
3220 .joined button:first-child {
3221 border-radius: 4px 0 0 4px;
3223 [dir='rtl'] .joined button:first-child {
3224 border-radius: 0 4px 4px 0;
3226 .joined button:last-child {
3227 border-right-width: 0;
3228 border-radius: 0 4px 4px 0;
3230 [dir='rtl'] .joined button:last-child {
3231 border-radius: 4px 0 0 4px;
3235 /* Action buttons */
3237 background: #7092ff;
3240 button.action:focus,
3241 button.action:hover {
3242 background: #597be7;
3244 button.secondary-action {
3245 background: #ececec;
3247 button.secondary-action:focus,
3248 button.secondary-action:hover {
3249 background: #cccccc;
3252 button.action.disabled,
3253 button.action.disabled:hover,
3254 button[disabled].action,
3255 button[disabled].action:hover {
3256 background: #cccccc;
3258 cursor: not-allowed;
3263 ------------------------------------------------------- */
3265 vertical-align: top;
3271 vertical-align: text-top;
3280 [dir='rtl'] .icon.pre-text {
3285 .icon.pre-text.user-icon {
3329 /* Toolbar / Persistent UI Elements
3330 ------------------------------------------------------- */
3333 flex-flow: row nowrap;
3334 justify-content: space-between;
3347 flex-flow: row nowrap;
3350 .tool-group.leading-area {
3352 justify-content: flex-start;
3354 .tool-group.center-area {
3355 justify-content: center;
3357 .tool-group.trailing-area {
3358 justify-content: flex-start;
3365 .tool-group button {
3367 flex-flow: row nowrap;
3368 align-items: center;
3371 white-space: nowrap;
3373 .tool-group button .icon {
3376 .tool-group button .label {
3381 button.save .count {
3382 display: inline-block;
3383 border: 0px solid #ccc;
3384 border-left-width: 1px;
3385 padding: 0px 0px 0px 8px;
3389 [dir='rtl'] button.save .count {
3390 border-left-width: 0px;
3391 border-right-width: 1px;
3392 padding: 0px 8px 0px 0px;
3394 button.save.disabled .count {
3395 border: 0px solid rgba(0,0,0,0.25);
3396 border-left-width: 1px;
3398 [dir='rtl'] button.save.disabled .count {
3399 border-left-width: 0px;
3400 border-right-width: 1px;
3401 padding: 0px 8px 0px 0px;
3403 #bar.narrow button.save .count {
3407 button.save .label {
3411 [dir='rtl'] button.save .label {
3416 .help-wrap svg.icon.pre-text.add-note,
3417 button.add-note svg.icon {
3420 color: rgba(0,0,0,0.25);
3425 button.add-note svg.icon {
3429 [dir='rtl'] button.add-note svg.icon {
3431 margin-right: unset;
3433 .help-wrap svg.icon.pre-text.add-note {
3442 justify-content: flex-end;
3450 [dir='rtl'] .spinner img {
3451 -moz-transform: scaleX(-1);
3452 -o-transform: scaleX(-1);
3453 -webkit-transform: scaleX(-1);
3454 transform: scaleX(-1);
3456 -ms-filter: "FlipH";
3460 #bar.narrow .tool-group {
3463 #bar.narrow .spinner,
3464 #bar.narrow button .label {
3467 #bar.narrow button .count {
3468 border-left-width: 0;
3469 border-right-width: 0;
3473 /* Header for modals / panes
3474 ------------------------------------------------------- */
3476 border-bottom: 1px solid #ccc;
3484 white-space: nowrap;
3485 text-overflow: ellipsis;
3503 .field-help-title button.close,
3504 .sidebar-component .header button.data-editor-close,
3505 .sidebar-component .header button.note-editor-close,
3506 .sidebar-component .header button.error-editor-close,
3507 .entity-editor-pane .header button.preset-close,
3508 .preset-list-pane .header button.preset-choose {
3513 [dir='rtl'] .field-help-title button.close,
3514 [dir='rtl'] .sidebar-component .header button.data-editor-close,
3515 [dir='rtl'] .sidebar-component .header button.note-editor-close,
3516 [dir='rtl'] .sidebar-component .header button.error-editor-close,
3517 [dir='rtl'] .entity-editor-pane .header button.preset-close,
3518 [dir='rtl'] .preset-list-pane .header button.preset-choose {
3523 .entity-editor-pane .header button.preset-choose {
3528 [dir='rtl'] .entity-editor-pane .header button.preset-choose {
3546 [dir='rtl'] .modal > button {
3555 padding: 5px 20px 5px 20px;
3556 border-top: 1px solid #ccc;
3557 background-color: #f6f6f6;
3561 justify-content: space-between;
3567 justify-content: center;
3572 justify-content: space-between;
3575 .header-block-outer {
3579 .header-block-close {
3581 justify-content: flex-end;
3584 /* Hide/Toggle collapsable sections (aka Disclosure)
3585 ------------------------------------------------------- */
3586 .hide-toggle .icon.pre-text {
3587 vertical-align: text-top;
3592 [dir='rtl'] .hide-toggle .icon.pre-text {
3597 a:visited.hide-toggle,
3599 display: inline-block;
3602 padding-bottom: 5px;
3606 /* Sidebar / Inspector
3607 ------------------------------------------------------- */
3613 background: #f6f6f6;
3614 -ms-user-select: element;
3615 border: 0px solid #ccc;
3616 border-right-width: 1px;
3618 [dir='rtl'] #sidebar {
3620 border-right-width: 0px;
3621 border-left-width: 1px;
3632 [dir='rtl'] #sidebar-resizer {
3637 #sidebar.collapsed #sidebar-resizer {
3638 /* make target wider to avoid the user accidentally resizing window */
3642 [dir='rtl'] #sidebar.collapsed #sidebar-resizer {
3646 .sidebar-component {
3654 .sidebar-component .body {
3704 .feature-list-pane .inspector-body,
3705 .preset-list-pane .inspector-body {
3708 .entity-editor-pane .inspector-body,
3709 .selection-list-pane .inspector-body {
3714 padding: 20px 20px 5px 20px;
3718 #sidebar .search-header .icon {
3723 pointer-events: none;
3725 [dir='rtl'] #sidebar .search-header .icon {
3730 #sidebar .search-header input {
3738 border-bottom-width: 1px;
3745 /* Feature List / Search Results
3746 ------------------------------------------------------- */
3752 .feature-list-item {
3755 border-bottom: 1px solid #ccc;
3761 background-color: #ccc;
3767 [dir='rtl'] .geocode-item {
3771 .geocode-item:hover {
3772 background-color: #aaa;
3775 .feature-list-item {
3776 background-color: #fff;
3781 .feature-list-item:hover {
3782 background-color: #ececec;
3784 .feature-list-item button {
3785 background: transparent;
3787 .feature-list-item .label {
3790 white-space: nowrap;
3791 text-overflow: ellipsis;
3793 border-left: 1px solid rgba(0, 0, 0, .1);
3795 [dir='rtl'] .feature-list-item .label {
3799 .feature-list-item .label .icon {
3802 .feature-list-item .close {
3806 .feature-list-item .close .icon {
3809 .feature-list-item .entity-type {
3812 .feature-list-item:hover .entity-type {
3815 .feature-list-item .entity-name {
3816 font-weight: normal;
3820 [dir='rtl'] .feature-list-item .entity-name {
3822 padding-right: 10px;
3826 /* Preset List and Icons
3827 ------------------------------------------------------- */
3830 padding: 20px 20px 10px 20px;
3831 border-bottom: 1px solid #ccc;
3835 margin-bottom: 10px;
3838 .preset-list-button-wrap {
3844 .preset-list-button {
3848 border: 1px solid #ccc;
3850 [dir='ltr'] .preset-list-button-wrap:not(.category) .preset-list-button {
3851 border-top-right-radius: 0;
3852 border-bottom-right-radius: 0;
3854 [dir='rtl'] .preset-list-button-wrap:not(.category) .preset-list-button {
3855 border-top-left-radius: 0;
3856 border-bottom-left-radius: 0;
3859 .preset-list.filtered .preset-list-item:first-child .preset-list-button {
3860 background: #ececec;
3868 [dir='ltr'] .preset-icon-line {
3871 [dir='rtl'] .preset-icon-line {
3874 .preset-icon-line path.line {
3877 .preset-icon-line circle.vertex {
3879 stroke: rgba(0, 0, 0, 0.25);
3881 /* use a consistent stroke width */
3882 .preset-icon-line path.line.stroke {
3883 stroke-width: 2 !important;
3885 .preset-icon-line path.line.casing {
3886 stroke-width: 4 !important;
3889 .preset-icon-fill-area {
3899 .preset-icon-fill-vertex {
3906 border: 1.5px solid #333;
3907 border-radius: 20px;
3908 background-color: #efefef;
3909 backface-visibility: hidden;
3912 [dir='rtl'] .preset-icon-fill-vertex,
3913 [dir='rtl'] .preset-icon-fill-area {
3918 .preset-icon-frame {
3924 [dir='rtl'] .preset-icon-frame {
3929 .preset-icon-frame .icon {
3941 .preset-icon-60 .icon {
3952 .preset-icon-44.line-geom {
3956 .preset-icon-44 .icon {
3968 .preset-icon-28 .icon {
3979 .preset-icon-24.line-geom {
3983 .preset-icon-24 .icon {
3988 [dir='rtl'] .preset-list-button-wrap .preset-icon {
3993 [dir='rtl'] .preset-list-button-wrap .preset-icon-44 {
3997 [dir='rtl'] .preset-list-button-wrap .preset-icon-28 {
4001 [dir='rtl'] .preset-list-button-wrap .preset-icon-24 {
4005 .preset-list-button .label {
4007 flex-flow: row wrap;
4008 align-items: center;
4009 background-color: #f6f6f6;
4017 border-left: 1px solid rgba(0, 0, 0, .1);
4019 [dir='rtl'] .preset-list-button .label {
4024 border-right: 1px solid rgba(0, 0, 0, .1);
4026 [dir='ltr'] .category .preset-list-button .label {
4027 border-radius: 0px 4px 4px 0px;
4029 [dir='rtl'] .category .preset-list-button .label {
4030 border-radius: 4px 0px 0px 4px;
4033 .preset-list-button .label-inner {
4036 .preset-list-button .label-inner .namepart {
4038 white-space: nowrap;
4039 text-overflow: ellipsis;
4043 .preset-list-button:hover .label,
4044 .preset-list-button:focus .label,
4045 .preset-list-button.disabled,
4046 .preset-list-button.disabled .label {
4047 background-color: #ececec;
4050 .preset-list-item button.tag-reference-button {
4052 border: 1px solid #ccc;
4054 background: #f6f6f6;
4056 [dir='ltr'] .preset-list-item button.tag-reference-button {
4058 border-radius: 0 4px 4px 0;
4060 [dir='rtl'] .preset-list-item button.tag-reference-button {
4062 border-radius: 4px 0 0 4px;
4065 .preset-list-item button.tag-reference-button:hover {
4066 background: #f1f1f1;
4068 .preset-list-item button.tag-reference-button .icon {
4072 img.tag-reference-wiki-image {
4076 margin: 10px 5px 15px 10px;
4078 [dir='rtl'] img.tag-reference-wiki-image {
4080 margin: 10px 10px 15px 5px;
4084 .current .preset-list-button,
4085 .current .preset-list-button .label {
4086 background-color: #e8ebff;
4089 .category .preset-list-button:after,
4090 .category .preset-list-button:before {
4094 left: -1px; right: -1px;
4095 border: 1px solid #ccc;
4096 border-bottom: none;
4097 border-radius: 6px 6px 0 0;
4101 .category .preset-list-button:before {
4105 .subgrid .preset-list {
4110 width: -webkit-calc(100% + 20px);
4113 .subgrid .preset-list > *:last-child {
4118 border: solid rgba(0, 0, 0, 0);
4120 border-bottom-color: #ececec;
4124 margin-left: -webkit-calc(50% - 10px);
4129 ------------------------------------------------------- */
4132 flex-flow: row wrap;
4133 justify-content: flex-end;
4140 .data-editor .quick-links,
4141 .error-editor .quick-links,
4142 .note-editor .quick-links {
4147 /* Entity/Preset Editor
4148 ------------------------------------------------------- */
4152 padding: 10px 0px 5px 0px;
4154 .entity-issues a.hide-toggle,
4155 .preset-editor a.hide-toggle {
4156 margin: 0 20px 5px 20px;
4158 .entity-issues .disclosure-wrap-entity_issues,
4159 .preset-editor .form-fields-container {
4161 margin: 0 10px 10px 10px;
4163 background: #ececec;
4165 .entity-issues .disclosure-wrap-entity_issues:empty,
4166 .preset-editor .form-fields-container:empty {
4169 .entity-editor-pane .preset-list-item {
4174 The parts of a field:
4175 - `.form-field` is a `div` wraps the entire thing
4176 - `.form-field-label` is a `label` that wraps the top part, it contains;
4177 - `span` classed `label-text`
4178 - 0..n buttons for "remove", "modified", "tag reference"
4179 - `.form-field-input-wrap` is a `label` or `div` that wraps the bottom part, it contains;
4180 - usually an `input`
4181 - sometimes some buttons (translate, increment, decrement)
4182 - or could just be a `div` with anything really
4183 - `.tag-reference-body` at the bottom (usually hidden)
4185 .------------------. -
4186 | Name | i | <- .form-field-label |
4187 +------------------+ |
4188 | Starbucks | + | <- .form-field-input-wrap > .form-field
4189 '------------------' |
4190 tag reference <- .tag-reference-body |
4196 flex-flow: row wrap;
4197 margin-bottom: 10px;
4199 -webkit-transition: margin-bottom 200ms;
4200 -moz-transition: margin-bottom 200ms;
4201 -o-transition: margin-bottom 200ms;
4202 transition: margin-bottom 200ms;
4206 .wrap-form-field:last-child .form-field {
4210 /* A `label` element that wraps the top section */
4213 flex-flow: row nowrap;
4219 background: #f6f6f6;
4220 border: 1px solid #ccc;
4221 border-radius: 4px 4px 0 0;
4224 .form-field-label .label-text {
4226 padding: 5px 0 5px 10px;
4228 [dir='rtl'] .form-field-label .label-text {
4229 padding: 5px 10px 5px 0;
4232 .form-field-label button {
4234 border-left: 1px solid #ccc;
4238 background: #f6f6f6;
4240 [dir='rtl'] .form-field-label button {
4242 border-right: 1px solid #ccc;
4244 .form-field-label button:hover {
4245 background: #f1f1f1;
4247 .form-field-label .icon {
4251 .form-field-label .modified-icon,
4252 .form-field-label .remove-icon {
4255 .modified .form-field-label .modified-icon,
4256 .present .form-field-label .remove-icon {
4257 display: inline-block;
4260 /* A `div` element that wraps the bottom section */
4261 .form-field-input-wrap {
4263 flex-flow: row nowrap;
4267 border-radius: 0 0 4px 4px;
4269 .nowrap .form-field-input-wrap {
4274 .form-field-input-wrap > input,
4275 .form-field-input-wrap > label,
4276 .form-field-input-wrap > textarea,
4277 .form-field-input-wrap > ul.chiplist {
4280 border: 1px solid #ccc;
4286 .form-field-input-wrap > textarea {
4288 border-radius: 0 0 4px 4px;
4291 /* Buttons inside fields */
4292 .form-field-button {
4297 background-color: #fff;
4298 border: 1px solid #ccc;
4300 border-top-width: 0;
4301 border-left-width: 0;
4302 vertical-align: top;
4304 [dir='rtl'] .form-field-button {
4305 border-left-width: 1px;
4306 border-right-width: 0;
4308 .form-field-button:hover {
4309 background-color: #f1f1f1;
4311 .form-field-button .icon {
4317 /* round corners of first/last child elements */
4318 .form-field-input-wrap > button:last-of-type {
4319 border-bottom-right-radius: 4px;
4321 [dir='rtl'] .form-field-input-wrap > button:last-of-type {
4322 border-bottom-left-radius: 4px;
4326 /* Field - Access, Cycleway
4327 ------------------------------------------------------- */
4328 .form-field-input-access,
4329 .form-field-input-cycleway {
4332 flex-flow: row wrap;
4335 /* Field - lists with labeled input items
4336 ------------------------------------------------------- */
4337 .form-field ul.labeled-inputs {
4339 border: 1px solid #ccc;
4341 border-radius: 0 0 4px 4px;
4345 .form-field ul.labeled-inputs li {
4346 border-top: 1px solid #ccc;
4348 flex-flow: row nowrap;
4350 .form-field ul.labeled-inputs li:first-child {
4353 .form-field ul.labeled-inputs li > span,
4354 .form-field ul.labeled-inputs li > div {
4359 .form-field ul.labeled-inputs li input {
4363 .form-field ul.labeled-inputs li input,
4364 .form-field ul.labeled-inputs li button {
4366 border-left-width: 1px;
4368 [dir='rtl'] .form-field ul.labeled-inputs li input,
4369 [dir='rtl'] .form-field ul.labeled-inputs li button {
4370 border-left-width: 0;
4371 border-right-width: 1px;
4375 /* Field - Structure
4376 ------------------------------------------------------- */
4377 .structure-extras-wrap {
4381 border: 1px solid #ccc;
4383 border-radius: 0 0 4px 4px;
4385 .structure-extras-wrap > ul.labeled-inputs {
4386 border: 1px solid #ccc;
4391 /* Field - Combo / Multicombo
4392 ------------------------------------------------------- */
4393 .form-field-input-combo > input:only-of-type {
4394 border-radius: 0 0 4px 4px;
4396 .form-field-input-combo.empty-combobox input,
4397 .form-field-input-multicombo .empty-combobox input {
4398 padding-right: 10px;
4401 .form-field-input-combo.empty-combobox .combobox-caret,
4402 .form-field-input-multicombo .empty-combobox .combobox-caret {
4406 .form-field-input-multicombo ul.chiplist {
4407 padding: 5px 7px 5px 7px;
4410 border-radius: 0 0 4px 4px;
4413 .form-field-input-multicombo li.chips {
4414 background-color: #eff2f7;
4415 border: 1px solid #ccd5e3;
4417 padding: 2px 0px 2px 5px;
4419 .form-field-input-multicombo li {
4420 display: inline-flex;
4421 flex-flow: row nowrap;
4422 align-items: center;
4427 .form-field-input-multicombo a {
4428 font-family: Arial, Helvetica, sans-serif !important;
4429 font-size: 16px !important;
4432 padding: 0px 5px 0px 5px;
4438 .form-field-input-multicombo .input-wrap {
4439 border: 1px solid #ddd;
4443 .form-field-input-multicombo input {
4449 .form-field-input-multicombo input:focus {
4450 border-radius: 4px !important;
4453 .form-field-input-multicombo .full-line-chips li {
4456 .form-field-input-multicombo .full-line-chips li:not(:last-child) {
4459 .form-field-input-multicombo .full-line-chips .input-wrap {
4464 /* Field - Text / Numeric
4465 ------------------------------------------------------- */
4466 .form-field-input-text > input:only-of-type,
4467 .form-field-input-tel > input:only-of-type,
4468 .form-field-input-email > input:only-of-type,
4469 .form-field-input-url > input:only-of-type {
4470 border-radius: 0 0 4px 4px;
4472 .form-field-input-number > input:only-of-type {
4473 border-radius: 0 0 0 4px;
4475 [dir='rtl'] .form-field-input-number > input:only-of-type {
4476 border-radius: 0 0 4px 0;
4478 .form-field-input-number > button:last-of-type {
4479 border-radius: 0 0 4px 0;
4481 [dir='rtl'] .form-field-input-number > button:last-of-type {
4482 border-radius: 0 0 0 4px;
4485 /* draw the up/down on the buttons */
4486 .form-field-input-number button.decrement::after,
4487 .form-field-input-number button.increment::after {
4489 height: 0; width: 0;
4491 left: 0; right: 0; bottom: 0; top: 0;
4494 .form-field-input-number button.decrement::after {
4495 border-top: 5px solid #ccc;
4496 border-left: 5px solid transparent;
4497 border-right: 5px solid transparent;
4499 .form-field-input-number button.increment::after {
4500 border-bottom: 5px solid #ccc;
4501 border-left: 5px solid transparent;
4502 border-right: 5px solid transparent;
4507 ------------------------------------------------------- */
4508 .form-field-input-check {
4514 border: 1px solid #ccc;
4518 .form-field-input-check > input[type="checkbox"] {
4523 .form-field-input-check > span {
4526 .form-field-input-check > .reverser.button {
4528 background-color: #eff2f7;
4529 border: 1px solid #ccd5e3;
4533 .form-field-input-check > .reverser.button.hide {
4537 .form-field-input-check:hover {
4538 background: #f1f1f1;
4540 .form-field-input-check .set {
4543 .form-field-input-check label:not(.set) input[type="checkbox"] {
4548 /* Field - Radio button
4549 ------------------------------------------------------- */
4550 .form-field-input-radio {
4553 flex-flow: row wrap;
4555 .form-field-input-radio > label {
4558 flex-flow: row nowrap;
4562 background-color: #fff;
4566 .form-field-input-radio > label:last-child {
4567 border-radius: 0 0 4px 4px;
4569 .form-field-input-radio > label:hover {
4570 background-color: #ececec;
4572 .form-field-input-radio > label.active {
4573 background-color: #e8ebff;
4575 .form-field-input-radio > label:not(:last-of-type) {
4576 border-bottom: 1px solid #ccc;
4578 .form-field-input-radio > label > input[type="radio"] {
4582 .form-field-input-radio > label > span {
4585 white-space: nowrap;
4586 text-overflow: ellipsis;
4589 /* Hide placeholder for radio buttons if another is active, or not in hover state */
4590 .form-field-input-radio label.active ~ .placeholder,
4591 .form-field-input-radio .placeholder {
4602 ------------------------------------------------------- */
4603 .form-field-input-maxspeed > input:first-of-type {
4604 border-radius: 0 0 0 4px;
4606 [dir='rtl'] .form-field-input-maxspeed > input:first-of-type {
4607 border-radius: 0 0 4px 0;
4609 .form-field-input-maxspeed > input:last-of-type { /* unit field */
4613 border-radius: 0 0 4px 0;
4615 [dir='rtl'] .form-field-input-maxspeed > input:last-of-type {
4617 border-radius: 0 0 0 4px;
4621 /* Field - Localized Name
4622 ------------------------------------------------------- */
4623 .form-field-input-localized > input.localized-main {
4624 border-radius: 0 0 0 4px;
4626 [dir='rtl'] .form-field-input-localized > input.localized-main {
4627 border-radius: 0 0 4px 0;
4629 .form-field-input-localized > button.localized-add {
4630 border-radius: 0 0 4px 0;
4632 [dir='rtl'] .form-field-input-localized > button.localized-add {
4633 border-radius: 0 0 0 4px;
4636 .form-field-input-localized button.localized-add.disabled,
4637 .form-field-input-localized input.localized-main.disabled,
4638 .form-field-input-localized input.localized-lang.disabled,
4639 .form-field-input-localized input.localized-value.disabled {
4641 background-color: #eee;
4642 cursor: not-allowed;
4645 /* nested subfields for name in different languages */
4646 .localized-multilingual {
4650 .localized-multilingual .entry {
4655 /* draws a little line connecting the multilingual field up to the name field */
4656 .localized-multilingual .entry::before {
4669 .localized-multilingual .entry .localized-lang {
4671 border-top-width: 0;
4674 .localized-multilingual .entry .localized-value {
4675 border-top-width: 0;
4676 border-radius: 0 0 4px 4px;
4682 ------------------------------------------------------- */
4683 .form-field-input-address {
4686 flex-flow: row wrap;
4687 border: 1px solid #ccc;
4704 [dir='rtl'] .addr-row input {
4705 border-right: 1px solid #ccc;
4709 .addr-row:first-of-type input {
4712 .addr-row input:first-of-type {
4715 [dir='rtl'] .addr-row input:first-of-type {
4718 .addr-row:last-of-type input:first-of-type {
4719 border-radius: 0 0 0 4px;
4721 [dir='rtl'] .addr-row:last-of-type input:first-of-type {
4722 border-radius: 0 0 4px 0;
4724 .addr-row:last-of-type input:last-of-type {
4725 border-radius: 0 0 4px 0;
4727 [dir='rtl'] .addr-row:last-of-type input:last-of-type {
4728 border-radius: 0 0 0 4px;
4732 /* Field - Wikipedia
4733 ------------------------------------------------------- */
4734 .form-field-input-wikipedia {
4736 flex-flow: row wrap;
4740 .wiki-lang-container,
4741 .wiki-title-container {
4743 flex-flow: row nowrap;
4748 .wiki-lang-container > input.wiki-lang,
4749 .wiki-title-container > input.wiki-title {
4754 .wiki-title-container > input.wiki-title {
4755 border-radius: 0 0 0 4px;
4757 [dir='rtl'] .wiki-title-container > input.wiki-title {
4758 border-radius: 0 0 4px 0;
4760 .wiki-title-container > button.wiki-link {
4761 border-radius: 0 0 4px 0;
4763 [dir='rtl'] .wiki-title-container > button.wiki-link {
4764 border-radius: 0 0 0 4px;
4768 /* Field - Restriction Editor
4769 ------------------------------------------------------- */
4770 .form-field-input-restrictions {
4772 border: 1px solid #ccc;
4774 border-radius: 0 0 4px 4px;
4777 .form-field-input-restrictions .restriction-controls-container {
4778 background-color: #fff;
4781 border-top: 1px solid #ccc;
4782 border-radius: 0 0 4px 4px;
4785 .restriction-controls-container .restriction-controls {
4787 -moz-user-select: none;
4788 -webkit-user-select: none;
4789 -ms-user-select: none;
4793 .restriction-controls .restriction-control {
4799 .restriction-control input,
4800 .restriction-control span {
4801 display: table-cell;
4806 .restriction-control span.restriction-control-label {
4810 .restriction-control input {
4814 vertical-align: middle;
4817 .form-field-input-restrictions .restriction-container {
4821 /* zero width space, so container takes up space */
4822 .form-field-input-restrictions .restriction-container:after {
4826 .form-field-input-restrictions svg.surface {
4831 .restriction-container .restriction-help {
4838 background-color: rgba(255, 255, 255, .8);
4841 pointer-events: none;
4843 -moz-user-select: none;
4844 -webkit-user-select: none;
4845 -ms-user-select: none;
4849 .restriction-help span {
4853 .restriction-help .qualifier {
4857 .restriction-help .qualifier.allow {
4860 .restriction-help .qualifier.restrict {
4863 .restriction-help .qualifier.only {
4868 /* Field - Changeset Comment
4869 ------------------------------------------------------- */
4870 .form-field-comment:not(.present) #preset-input-comment {
4871 border-color: rgb(230, 100, 100);
4873 .form-field-comment:not(.present) .form-field-label {
4874 border-color: rgb(230, 100, 100);
4875 background: rgba(230, 100, 100, 0.2);
4877 .form-field-comment:not(.present) button {
4878 border-color: rgb(230, 100, 100);
4883 ------------------------------------------------------- */
4887 box-shadow: 0 4px 10px 1px rgba(0,0,0,.2);
4893 border: 1px solid #ccc;
4894 border-radius: 0 0 4px 4px;
4900 border-top: 1px solid #ccc;
4901 text-overflow: ellipsis;
4902 white-space: nowrap;
4906 .combobox a.selected,
4908 background: #ececec;
4911 .combobox a:first-child {
4917 display: inline-block;
4922 vertical-align: top;
4925 [dir='rtl'] .combobox-caret {
4927 margin-right: -30px;
4930 .combobox-caret::after {
4932 height: 0; width: 0;
4934 left: 0; right: 0; bottom: 0; top: 0;
4936 border-top: 5px solid #ccc;
4937 border-left: 5px solid transparent;
4938 border-right: 5px solid transparent;
4941 /* Remove the field's bottom border radius when combobox is open */
4942 /* For some reason this stops the combobox from overlapping the bottom of the field */
4943 .combobox + * textarea:focus,
4944 .combobox + * input:focus {
4945 border-bottom-left-radius: 0 !important;
4946 border-bottom-right-radius: 0 !important;
4951 ------------------------------------------------------- */
4960 border: 1px solid #ccc;
4962 border-radius: 0 0 4px 4px;
4964 background: rgba(255,255,255,0.95);
4965 box-shadow: 0 0 30px 5px rgba(0,0,0,.4);
4968 .field-help-title h2 {
4973 .field-help-title button {
4982 margin-bottom: 10px;
4984 .field-help-nav-item {
4985 display: inline-block;
4990 .field-help-nav-item.active {
4992 border-bottom: 2px solid;
4994 .field-help-nav-item:hover {
4996 background-color: #efefef;
4999 .field-help-content {
5004 .field-help-content h3 {
5008 .field-help-content p {
5009 margin-bottom: 15px;
5011 .field-help-content ul li {
5016 .field-help-content .field-help-image {
5018 margin-bottom: 15px;
5021 .field-help-content svg.turn {
5025 .field-help-content svg.shadow {
5030 .field-help-content svg.from {
5033 .field-help-content svg.allow {
5036 .field-help-content svg.restrict {
5039 .field-help-content svg.only {
5043 .field-help-content p.from_shadow,
5044 .field-help-content p.allow_shadow,
5045 .field-help-content p.restrict_shadow,
5046 .field-help-content p.allow_turn,
5047 .field-help-content p.restrict_turn {
5052 /* More Fields dropdown
5053 ------------------------------------------------------- */
5055 padding: 0 20px 20px 20px;
5058 .changeset-editor .more-fields {
5059 padding: 15px 20px 0 20px;
5062 .more-fields label {
5064 flex-flow: row nowrap;
5065 justify-content: space-between;
5066 align-items: center;
5069 .more-fields input {
5073 [dir='rtl'] .more-fields input {
5078 .form-field-input-wrap .label {
5080 background: #f6f6f6;
5086 ------------------------------------------------------- */
5094 .tag-row .inner-wrap {
5096 flex-flow: row nowrap;
5101 .tag-row .value-wrap {
5106 .tag-row.readonly input.key,
5107 .tag-row.readonly input.value,
5108 .tag-row.readonly button.remove {
5110 background-color: #eee;
5111 cursor: not-allowed;
5118 border-bottom: 1px solid #ccc;
5119 border-left: 1px solid #ccc;
5122 [dir='rtl'] .tag-row input {
5124 border-right: 1px solid #ccc;
5128 .tag-row input.key {
5130 background-color: #f6f6f6;
5133 .tag-row input.value {
5134 border-right: 1px solid #ccc;
5136 [dir='rtl'] .tag-row input.value {
5137 border-left: 1px solid #ccc;
5140 .tag-row:first-child input.key {
5141 border-top: 1px solid #ccc;
5142 border-top-left-radius: 4px;
5144 [dir='rtl'] .tag-row:first-child input.key {
5145 border-top-left-radius: 0;
5146 border-top-right-radius: 4px;
5149 .tag-row:first-child input.value {
5150 border-top: 1px solid #ccc;
5156 border: 1px solid #ccc;
5157 border-top-width: 0;
5158 border-left-width: 0;
5160 [dir='rtl'] .tag-row button {
5161 border-left-width: 1px;
5162 border-right-width: 0;
5165 .tag-row button:hover {
5166 background: #f1f1f1;
5168 .tag-row button .icon {
5171 .tag-row:first-child button {
5172 border-top-width: 1px;
5175 .tag-row:first-child .tag-reference-button {
5176 border-top-right-radius: 4px;
5178 [dir='rtl'] .tag-row:first-child .tag-reference-button {
5179 border-top-left-radius: 4px;
5180 border-top-right-radius: 0;
5183 .tag-row:last-child .tag-reference-button {
5184 border-bottom-right-radius: 4px;
5186 [dir='rtl'] .tag-row:last-child .tag-reference-button {
5187 border-bottom-left-radius: 4px;
5188 border-bottom-right-radius: 0;
5191 .tag-row .tag-reference-button {
5194 [dir='rtl'] .tag-row .tag-reference-button {
5195 border-left-width: 1px;
5196 border-right-width: 0;
5200 .tag-reference-loading {
5201 background-color: #f5f5f5;
5203 .tag-reference-loading .icon {
5204 background-image: url(<%= asset_path("iD/img/mini-loader.gif") %>);
5205 background-position: 0 0;
5208 .tag-reference-body {
5213 .tag-reference-body.expanded {
5214 padding-bottom: 10px;
5216 .tag-reference-description {
5219 .tag-reference-link {
5223 .preset-list .tag-reference-body {
5227 .raw-tag-editor .tag-reference-body {
5230 .raw-tag-editor .tag-row.readonly .tag-reference-body {
5231 background: #f6f6f6;
5234 .raw-tag-editor .tag-row:not(:last-child) .tag-reference-body.expanded {
5235 border-bottom: 1px solid #ccc;
5237 .raw-tag-editor .tag-row.readonly .tag-reference-body.expanded {
5238 border-top: 1px solid #ccc;
5242 /* Raw Member / Membership Editor
5243 ------------------------------------------------------- */
5244 .raw-member-editor .member-list li:first-child,
5245 .raw-membership-editor .member-list li:first-child {
5248 .raw-member-editor .member-row .member-entity-name,
5249 .raw-membership-editor .member-row .member-entity-name {
5250 font-weight: normal;
5254 [dir='rtl'] .raw-member-editor .member-row .member-entity-name,
5255 [dir='rtl'] .raw-membership-editor .member-row .member-entity-name {
5257 padding-right: 10px;
5260 .form-field-input-member > input.member-role {
5261 border-radius: 0 0 0 4px;
5263 [dir='rtl'] .form-field-input-member > input.member-role {
5264 border-radius: 0 0 4px 0;
5267 .member-incomplete .form-field-input-member > input.member-role,
5268 [dir='rtl'] .member-incomplete .form-field-input-member > input.member-role {
5269 border-radius: 0 0 4px 4px;
5272 .member-incomplete .member-delete {
5276 .member-row-new .member-entity-input {
5278 border-radius: 4px 4px 0 0;
5282 /* preserve extra space at bottom of inspector to allow for dropdown options - #5280 */
5283 .raw-membership-editor.inspector-inner {
5284 margin-bottom: 150px;
5287 /* hidden field to prevent user from tabbing out of the sidebar */
5292 border: 1px solid rgba(0,0,0,0);
5296 /* add tag, add relation buttons */
5300 flex-flow: row nowrap;
5303 .add-row .add-relation,
5304 .add-row .space-value {
5307 .add-row .space-buttons {
5312 background: rgba(0,0,0,.5);
5314 .add-row button:focus,
5315 .add-row button:hover {
5316 background: rgba(0,0,0,.8);
5320 border-radius: 0 0 4px 4px;
5328 /* Inspector (hover styles)
5329 ------------------------------------------------------- */
5330 .inspector-hover .form-field-input-wrap .label,
5331 .inspector-hover .form-field-input-multicombo .chiplist,
5332 .inspector-hover .form-field-button,
5333 .inspector-hover .structure-extras-wrap,
5334 .inspector-hover .comments-container .comment,
5335 .inspector-hover button,
5336 .inspector-hover input,
5337 .inspector-hover textarea,
5338 .inspector-hover label,
5339 .inspector-hover .entity-issues .issue button {
5340 background: #ececec;
5342 .inspector-hover .preset-list-button,
5343 .inspector-hover .tag-row input {
5344 background: #f6f6f6;
5347 .inspector-hover .entity-issues .issue,
5348 .inspector-hover .entity-issues .issue li {
5349 border: 1px solid #ccc;
5351 .inspector-hover .entity-issues .issue .icon {
5356 .inspector-hover .form-field-input-multicombo .chips,
5357 .inspector-hover .form-field-input-check span {
5361 .inspector-hover .form-field-input-multicombo .chips {
5363 border: 1px solid #ccc;
5367 .inspector-hover div {
5372 /* hide and remove from layout */
5374 .inspector-hover .preset-list-button-wrap .tag-reference-button,
5375 .inspector-hover label input[type="checkbox"],
5376 .inspector-hover label input[type="radio"],
5377 .inspector-hover .form-field-input-multicombo .input-wrap,
5378 .inspector-hover .form-field-input-radio label,
5379 .inspector-hover .form-field-input-radio label span,
5380 .inspector-hover .form-field-input-radio label.remove .icon,
5381 .inspector-hover .inspector-inner .add-row,
5382 .inspector-hover .entity-issues .issue ul.issue-fix-list {
5386 /* hide but preserve in layout */
5387 .inspector-hover .combobox-caret,
5388 .inspector-hover .header button,
5389 .inspector-hover .quick-links,
5390 .inspector-hover .form-field-input-multicombo .chips .remove,
5391 .inspector-hover .hide-toggle:before,
5392 .inspector-hover .more-fields,
5393 .inspector-hover .form-field-label button,
5394 .inspector-hover .tag-row button,
5395 .inspector-hover .footer * {
5399 /* Styles for raw tag inspector on hover */
5400 .inspector-hover .tag-row .key-wrap,
5401 .inspector-hover .tag-row .value-wrap {
5405 .inspector-hover .tag-row:first-child input.value {
5406 border-top-right-radius: 4px;
5408 [dir='rtl'] .inspector-hover .tag-row:first-child input.value {
5409 border-top-right-radius: 0;
5410 border-top-left-radius: 4px;
5413 .inspector-hover .tag-row:last-child input.value {
5414 border-bottom-right-radius: 4px;
5416 [dir='rtl'] .inspector-hover .tag-row:last-child input.value {
5417 border-bottom-right-radius: 0;
5418 border-bottom-left-radius: 4px;
5421 .inspector-hover .tag-row:last-child input.key {
5422 border-bottom-left-radius: 4px;
5424 [dir='rtl'] .inspector-hover .tag-row:last-child input.key {
5425 border-bottom-left-radius: 0;
5426 border-bottom-right-radius: 4px;
5429 .inspector-hover .more-fields {
5431 margin-bottom: -10px;
5434 /* Unstyle button fields */
5435 .inspector-hover .form-field-input-radio label.active,
5436 .inspector-hover .entity-editor-pane a.hide-toggle {
5438 background-color: transparent;
5443 .inspector-hover .form-field-input-radio button.active {
5447 /* Show placeholder on hover for radio buttons */
5448 .inspector-hover .form-field-input-radio {
5449 border: 1px solid #ccc;
5451 border-radius: 0 0 4px 4px;
5453 .inspector-hover .form-field-input-radio .placeholder {
5461 .inspector-hover .form-field-input-radio .structure-extras-wrap {
5466 /* OSM Note / KeepRight Editors
5467 ------------------------------------------------------- */
5470 background-color: #f6f6f6;
5472 border: 1px solid #ccc;
5474 flex-flow: row nowrap;
5475 align-items: center;
5479 .error-header-icon {
5480 background-color: #fff;
5486 border-right: 1px solid #ccc;
5487 border-radius: 5px 0 0 5px;
5489 [dir='rtl'] .note-header-icon,
5490 [dir='rtl'] .error-header-icon {
5491 border-right: unset;
5492 border-left: 1px solid #ccc;
5493 border-radius: 0 5px 5px 0;
5496 .note-header-icon .icon-wrap,
5497 .error-header-icon .icon-wrap {
5503 .error-header-label {
5504 background-color: #f6f6f6;
5509 border-radius: 0 5px 5px 0;
5511 [dir='rtl'] .note-header-label,
5512 [dir='rtl'] .error-header-label {
5513 border-radius: 5px 0 0 5px;
5520 .comments-container {
5521 background: #ececec;
5528 background-color: #fff;
5530 border: 1px solid #ccc;
5533 flex-flow: row nowrap;
5539 .comment-avatar .icon.comment-avatar-icon {
5543 border: 1px solid #ccc;
5544 border-radius: 20px;
5547 padding: 10px 10px 10px 0;
5549 flex-flow: column nowrap;
5551 overflow-wrap: break-word;
5553 [dir='rtl'] .comment-main {
5554 padding: 10px 0 10px 10px;
5558 flex-flow: row nowrap;
5559 justify-content: space-between;
5574 .comment-text::-webkit-scrollbar {
5586 .error-details-container {
5587 background: #ececec;
5591 border: 1px solid #ccc;
5593 .error-details-description {
5594 margin-bottom: 10px;
5596 .error-details-description-text::first-letter {
5597 text-transform: capitalize;
5599 [dir='rtl'] .error-details-description-text::first-letter {
5600 text-transform: none; /* #5877 */
5603 .note-save .new-comment-input,
5604 .error-save .new-comment-input {
5611 .note-save .detail-section,
5612 .error-save .detail-section {
5621 /* Custom Data Editor
5622 ------------------------------------------------------- */
5624 background-color: #f6f6f6;
5626 border: 1px solid #ccc;
5628 flex-flow: row nowrap;
5629 align-items: center;
5633 background-color: #fff;
5639 border-right: 1px solid #ccc;
5640 border-radius: 5px 0 0 5px;
5642 [dir='rtl'] .data-header-icon {
5643 border-right: unset;
5644 border-left: 1px solid #ccc;
5645 border-radius: 0 5px 5px 0;
5648 .data-header-icon .icon-wrap {
5653 .data-header-label {
5654 background-color: #f6f6f6;
5659 border-radius: 0 5px 5px 0;
5661 [dir='rtl'] .data-header-label {
5662 border-radius: 5px 0 0 5px;
5665 /* tag editor - no buttons */
5666 .data-editor.raw-tag-editor button {
5669 .data-editor.raw-tag-editor .tag-row .key-wrap,
5670 .data-editor.raw-tag-editor .tag-row .value-wrap {
5676 ------------------------------------------------------- */
5684 [dir='rtl'] .map-controls {
5689 .map-control > button {
5692 background: rgba(0,0,0,.5);
5696 .map-control > button:hover {
5697 background: rgba(0, 0, 0, .8);
5700 .map-control > button.active,
5701 .map-control > button.active:hover {
5702 background: #7092ff;
5706 /* Fullscreen Button (disabled)
5707 ------------------------------------------------------- */
5709 display: inline-block;
5715 div.full-screen .tooltip {
5719 div.full-screen > button, div.full-screen > button.active {
5722 background: transparent;
5725 div.full-screen > button:hover {
5726 background-color: rgba(0, 0, 0, .8);
5731 ------------------------------------------------------- */
5732 .zoombuttons > button.zoom-in {
5733 border-radius: 4px 0 0 0;
5735 [dir='rtl'] .zoombuttons > button.zoom-in {
5736 border-radius: 0 4px 0 0;
5741 ------------------------------------------------------- */
5742 .geolocate-control {
5743 margin-bottom: 10px;
5745 .geolocate-control > button {
5746 border-radius: 0 0 0 4px;
5748 [dir='rtl'] .geolocate-control > button {
5749 border-radius: 0 0 4px 0;
5753 /* Background / Map Data / Help Pane buttons
5754 ------------------------------------------------------- */
5755 .help-control > button {
5756 border-radius: 0 0 0 4px;
5758 [dir='rtl'] .help-control > button {
5759 border-radius: 0 0 4px 0;
5762 .map-data-control button {
5766 .background-control > button {
5767 border-radius: 4px 0 0 0;
5769 [dir='rtl'] .background-control > button {
5770 border-radius: 0 4px 0 0;
5774 /* Background / Map Data Settings
5775 ------------------------------------------------------- */
5777 .background-control {
5782 margin-bottom: 10px;
5783 white-space: nowrap;
5786 .layer-list, .controls-list {
5787 margin-bottom: 10px;
5788 border: 1px solid #ccc;
5794 background-color: #fff;
5803 .layer-list > li:first-child {
5804 border-radius: 3px 3px 0 0;
5806 .layer-list > li:last-child {
5807 border-radius: 0 0 3px 3px;
5809 .layer-list > li:only-child {
5812 .layer-list li:not(:last-child) {
5813 border-bottom: 1px solid #ccc;
5815 .layer-list li:hover {
5816 background-color: #ececec;
5819 .layer-list li.active button,
5820 .layer-list li.switch button,
5821 .layer-list li.active,
5822 .layer-list li.switch {
5823 background: #e8ebff;
5826 .layer-list li.best > div.best {
5827 display: inline-block;
5832 [dir='rtl'] .list-item-data-browse svg {
5833 transform: rotateY(180deg);
5836 /* make sure tooltip fits in map-control panel */
5837 /* if too wide, placement will be wrong the first time it displays */
5838 .layer-list li.best .tooltip-inner {
5848 .layer-list label > span {
5851 white-space: nowrap;
5852 text-overflow: ellipsis;
5855 .map-data-pane .layer-list button,
5856 .background-pane .layer-list button {
5860 border-left: 1px solid #ccc;
5863 [dir='rtl'] .map-data-pane .layer-list button,
5864 [dir='rtl'] .background-pane .layer-list button {
5867 border-right: 1px solid #ccc;
5870 .map-data-pane .layer-list button .icon,
5871 .background-pane .layer-list button .icon {
5875 .map-data-pane .layer-list button:first-of-type,
5876 .background-pane .layer-list button:first-of-type {
5877 border-radius: 0 3px 3px 0;
5879 [dir='rtl'] .map-data-pane .layer-list button:first-of-type,
5880 [dir='rtl'] .background-pane .layer-list button:first-of-type {
5881 border-radius: 3px 0 0 3px;
5884 .map-data-pane .vectortile-container .vectortile-header {
5885 padding-bottom: 5px;
5887 .map-data-pane .vectortile-container .vectortile-footer {
5888 padding-bottom: 10px;
5893 ------------------------------------------------------- */
5898 padding: 5px 10px 5px 5px;
5901 font-weight: inherit;
5903 text-align: inherit;
5907 [dir='rtl'] .issue button {
5908 padding: 5px 5px 5px 10px;
5911 .issue.severity-warning,
5912 li.issue.severity-warning {
5913 border-color: #FFDF5C;
5915 .icon-badge.warning {
5919 .issue.severity-error,
5920 li.issue.severity-error {
5921 border-color: #f5b0ab;
5927 .issue.severity-warning,
5928 .issue.severity-warning button,
5929 .mode-save .warning-section {
5932 .issue.severity-warning:not(.expanded) button:hover,
5933 .issue.severity-warning:not(.expanded) button:focus,
5934 .issue.severity-warning .issue-fix-item.actionable button:hover,
5935 .issue.severity-warning .issue-fix-item.actionable button:focus {
5936 background: #FFFF99;
5938 .issue.severity-warning .issue-icon {
5942 .issue.severity-warning .issue-fix-item.actionable {
5946 .issue.severity-warning .issue-fix-item.actionable:hover,
5947 .issue.severity-warning .issue-fix-item.actionable button:focus {
5952 .issue.severity-error,
5953 .issue.severity-error button,
5954 .mode-save .error-section {
5955 background: #FFD5D4;
5957 .issue.severity-error:not(.expanded) button:hover,
5958 .issue.severity-error:not(.expanded) button:focus,
5959 .issue.severity-error .issue-fix-item.actionable button:hover,
5960 .issue.severity-error .issue-fix-item.actionable button:focus {
5961 background: #ffc9c7;
5963 .issue.severity-error .issue-icon {
5967 .issue.severity-error .issue-fix-item.actionable {
5971 .issue.severity-error .issue-fix-item.actionable:hover,
5972 .issue.severity-error .issue-fix-item.actionable button:focus {
5979 .issues-list label {
5982 .issues-list label > span {
5984 white-space: normal;
5994 border: 1px solid #72D979;
5995 background: #C6FFCA;
5996 padding: 5px !important;
5999 margin-bottom: 15px;
6001 .issues-none .icon {
6005 /* Entity Issues List */
6006 .entity-issues .issue {
6009 border-style: solid;
6011 .entity-issues .issue:not(:last-of-type) {
6012 margin-bottom: 10px;
6014 .issue.expanded button.message {
6016 padding-bottom: 0px;
6021 ul.issue-fix-list button {
6022 padding: 2px 10px 2px 26px;
6024 .issue-fix-item:not(.actionable) button {
6028 .issue-fix-item:not(.actionable) .fix-icon {
6033 .issue:not(.expanded) ul.issue-fix-list {
6036 /* don't animate right now
6037 .issue ul.issue-fix-list {
6039 transition: max-height 200ms linear;
6040 -moz-transition: max-height 200ms linear;
6041 -webkit-transition: max-height 200ms linear;
6043 .issue.expanded ul.issue-fix-list {
6045 transition: max-height 200ms linear;
6046 -moz-transition: max-height 200ms linear;
6047 -webkit-transition: max-height 200ms linear;
6051 /* Background - Display Options Sliders
6052 ------------------------------------------------------- */
6053 .display-options-container {
6057 .display-control h5 {
6062 .display-control h5 span {
6066 .display-control .display-option-input {
6071 .display-control button {
6076 vertical-align: text-bottom;
6079 [dir='rtl'] .display-control button {
6085 /* Background - Adjust Alignment
6086 ------------------------------------------------------- */
6087 .background-pane .nudge-container {
6088 border: 1px solid #ccc;
6093 .nudge-container .nudge-instructions {
6094 padding-bottom: 15px;
6097 .nudge-container .nudge-outer-rect {
6098 background-color: #eee;
6099 border: 1px solid #ccc;
6104 justify-content: center;
6105 align-items: center;
6111 .nudge-container .nudge-inner-rect {
6112 background-color: #fff;
6113 border: 1px solid #ccc;
6119 .nudge-container .nudge::after {
6124 left: 0; right: 0; top: 0; bottom: 0;
6129 .nudge-container input {
6136 .nudge-container input.error {
6137 border: 1px solid #ff7878;
6142 .nudge-container input:focus {
6143 background-color: transparent;
6146 .nudge-container button {
6151 background-color: transparent;
6154 .nudge-container button.right {
6159 .nudge-container button.left {
6164 .nudge-container button.top {
6169 .nudge-container button.bottom {
6173 .nudge-container button.nudge-reset {
6184 background-color: transparent;
6188 .background-pane .nudge.right::after {
6189 border-top: 5px solid transparent;
6190 border-bottom: 5px solid transparent;
6191 border-left: 5px solid #222;
6194 .background-pane .nudge.left::after {
6195 border-top: 5px solid transparent;
6196 border-bottom: 5px solid transparent;
6197 border-right: 5px solid #222;
6200 .background-pane .nudge.top::after {
6201 border-right: 5px solid transparent;
6202 border-left: 5px solid transparent;
6203 border-bottom: 5px solid #222;
6206 .background-pane .nudge.bottom::after {
6207 border-right: 5px solid transparent;
6208 border-left: 5px solid transparent;
6209 border-top: 5px solid #222;
6213 /* Side Panes - Background / Map Data / Help
6214 ------------------------------------------------------- */
6223 padding-bottom: 50px;
6227 [dir='rtl'] .map-pane {
6229 right: auto !important;
6232 .map-pane.help-wrap {
6238 flex-flow: row nowrap;
6239 justify-content: space-between;
6240 border-bottom: 1px solid #ccc;
6248 .pane-heading button {
6256 padding: 10px 50px 20px 20px;
6260 [dir='rtl'] .pane-content {
6261 padding: 10px 20px 20px 50px;
6264 .pane-content > div {
6265 padding-bottom: 15px;
6270 ------------------------------------------------------- */
6273 margin-bottom: 20px;
6276 .help-wrap .left-content .body p code {
6280 vertical-align: baseline;
6281 background-color: #f6f6f6;
6282 border: solid 1px #ccc;
6284 border-bottom-color: #bbb;
6286 box-shadow: inset 0 -1px 0 #bbb;
6289 .help-wrap .left-content .icon.pre-text {
6290 vertical-align: text-top;
6293 display: inline-block;
6300 margin-bottom: 20px;
6304 .help-wrap .toc li a,
6307 border: 1px solid #ccc;
6311 .help-wrap .toc li a {
6315 .help-wrap .toc li a:hover,
6316 .help-wrap .nav a:hover {
6317 background: #ececec;
6320 .help-wrap .toc li a.selected {
6321 background: #e8ebff;
6324 .help-wrap .toc li:first-child a {
6325 border-radius: 4px 4px 0 0;
6328 .help-wrap .toc li:nth-last-child(3) a {
6329 border-bottom: 1px solid #ccc;
6330 border-radius: 0 0 4px 4px
6333 .help-wrap .toc li.shortcuts a,
6334 .help-wrap .toc li.walkthrough a {
6337 border-bottom: 1px solid #ccc;
6341 .help-wrap .toc li.walkthrough a {
6347 padding-bottom: 30px;
6356 .help-wrap .nav a:first-child {
6357 border-radius: 4px 0 0 4px;
6360 .help-wrap .nav a:last-child:not(:only-child) {
6361 border-radius: 0 4px 4px 0;
6365 .help-wrap .nav a:only-child {
6371 /* Raster Background Tiles
6372 ------------------------------------------------------- */
6375 transform-origin: 0 0;
6376 -ms-transform-origin: 0 0;
6377 -webkit-transform-origin: 0 0;
6378 -moz-transform-origin: 0 0;
6379 -o-transform-origin: 0 0;
6381 -moz-user-select: none;
6382 -webkit-user-select: none;
6383 -ms-user-select: none;
6388 -webkit-transition: opacity 200ms linear;
6389 -moz-transition: opacity 200ms linear;
6390 transition: opacity 200ms linear;
6403 background: rgba(0, 0, 0, 0.7);
6413 transform-origin: 0 0;
6414 -ms-transform-origin: 0 0;
6415 -webkit-transform-origin: 0 0;
6416 -moz-transform-origin: 0 0;
6417 -o-transform-origin: 0 0;
6419 -moz-user-select: none;
6420 -webkit-user-select: none;
6421 -ms-user-select: none;
6426 outline: 1px solid red;
6431 ------------------------------------------------------- */
6437 -moz-user-select: none;
6438 -webkit-user-select: none;
6439 -ms-user-select: none;
6444 transform-origin: 0 0;
6445 -ms-transform-origin: 0 0;
6446 -webkit-transform-origin: 0 0;
6447 -moz-transform-origin: 0 0;
6448 -o-transform-origin: 0 0;
6451 #supersurface, .layer {
6461 ------------------------------------------------------- */
6470 border: #aaa 1px solid;
6471 box-shadow: 0 0 2em black;
6475 transform-origin: 0 0;
6476 -ms-transform-origin: 0 0;
6477 -webkit-transform-origin: 0 0;
6478 -moz-transform-origin: 0 0;
6479 -o-transform-origin: 0 0;
6481 -moz-user-select: none;
6482 -webkit-user-select: none;
6483 -ms-user-select: none;
6487 .map-in-map-viewport,
6496 .map-in-map-viewport {
6507 stroke: rgba(255, 255, 0, 0.75);
6509 shape-rendering: crispEdges;
6512 .map-in-map-bbox.thick {
6518 ------------------------------------------------------- */
6520 stroke: currentColor;
6524 .map-in-map-data .debug {
6528 .nocolor { color: rgba(0, 0, 0, 0); }
6529 .red { color: rgba(255, 0, 0, 0.75); }
6530 .green { color: rgba(0, 255, 0, 0.75); }
6531 .blue { color: rgba(176, 176, 255, 0.75); }
6532 .yellow { color: rgba(255, 255, 0, 0.75); }
6533 .cyan { color: rgba(0, 255, 255, 0.75); }
6534 .magenta { color: rgba(255, 0, 255, 0.75); }
6535 .orange { color: rgba(255, 153, 0, 0.75); }
6536 .pink { color: rgba(255, 0, 153, 0.75); }
6537 .purple { color: rgba(153, 0, 255, 0.75); }
6545 pointer-events: none;
6548 .debug-legend-item {
6551 .debug-legend-item:before {
6557 /* Information Panels
6558 ------------------------------------------------------- */
6561 flex-flow: row-reverse wrap-reverse;
6566 -ms-user-select: element;
6574 display: inline-block;
6586 margin: 2px 0 0 2px;
6588 border: 1px solid rgba(0, 0, 0, 0.75);
6589 padding-bottom: 10px;
6593 .panel-container .panel-title {
6594 border-radius: 4px 4px 0 0;
6601 .panel-title button.close {
6607 [dir='rtl'] .panel-title button.close {
6611 .panel-title button.close:hover {
6614 .panel-title button.close .icon {
6624 .panel-content li span {
6625 display: inline-block;
6626 white-space: nowrap;
6630 .panel-content .button {
6631 display: inline-block;
6632 background: #7092ff;
6639 [dir='rtl'] .panel-content .button {
6644 .panel-content-history .links a {
6647 [dir='rtl'] .panel-content-history .links a {
6652 .panel-content-history .view-history-on-osm {
6657 .panel-content-location .location-info {
6662 /* About Section, Attribution, Footer
6663 ------------------------------------------------------- */
6670 pointer-events: none;
6672 flex-direction: column;
6673 -ms-user-select: element;
6682 #attrib * { pointer-events: all; }
6684 .base-layer-attribution,
6685 .overlay-layer-attribution {
6691 .base-layer-attribution {
6695 .overlay-layer-attribution {
6699 .overlay-layer-attribution .attribution:not(:last-child):after {
6704 .attribution a:visited {
6708 .attribution a:hover {
6712 .attribution .source-image {
6714 vertical-align: middle;
6723 pointer-events: all;
6729 /* Footer - Flash messages
6730 ------------------------------------------------------- */
6734 flex-flow: row nowrap;
6735 justify-content: space-between;
6745 flex-flow: row nowrap;
6746 align-items: center;
6758 .flash-icon circle {
6761 .flash-icon.disabled circle {
6763 fill: rgba(255,255,255,0.7);
6769 .flash-icon.disabled use {
6770 color: rgba(32,32,32,0.7);
6773 .flash-icon.operation use {
6777 .flash-icon.operation.disabled use {
6778 fill: rgba(32,32,32,0.7);
6779 color: rgba(40,40,40,0.7);
6789 flex-flow: row nowrap;
6790 justify-content: space-between;
6799 transition: bottom 75ms linear;
6800 -moz-transition: bottom 75ms linear;
6801 -webkit-transition: bottom 75ms linear;
6806 transition: bottom 75ms linear;
6807 -moz-transition: bottom 75ms linear;
6808 -webkit-transition: bottom 75ms linear;
6812 /* Footer - Scale bar, About, Source Switcher
6813 ------------------------------------------------------- */
6815 vertical-align: bottom;
6819 -moz-user-select: none;
6820 -webkit-user-select: none;
6821 -ms-user-select: none;
6834 [dir='rtl'] #scale {
6835 transform: scaleX(-1);
6843 font: 12px sans-serif;
6848 [dir='rtl'] #scale text {
6849 transform: scaleX(-1);
6856 shape-rendering: crispEdges;
6865 [dir='rtl'] #about-list {
6874 border-left: 1px solid rgba(255,255,255,.5);
6875 padding: 5px 0 5px 5px;
6878 [dir='rtl'] #about-list li {
6881 border-right: 1px solid rgba(255,255,255,.5);
6884 padding: 5px 5px 5px 0;
6887 #about-list li:last-child {
6892 [dir='rtl'] #about-list li:last-child {
6897 padding: 2px 4px 4px 4px;
6900 .source-switch a.live {
6901 background: #d32232;
6905 .feature-warning a {
6906 background: #1e90ff;
6907 padding: 2px 4px 4px 4px;
6912 .user-list a:not(:last-child):after {
6922 [dir='rtl'] .api-status {
6926 .api-status.offline,
6927 .api-status.readonly,
6935 .api-status-login:hover {
6939 /* Notification Badges
6940 ------------------------------------------------------- */
6941 /* For an icon (e.g. new version) */
6943 display: inline-block;
6944 background: #d32232;
6947 border-radius: 11px;
6950 [dir='rtl'] .badge {
6957 [dir='rtl'] .badge a {
6962 vertical-align: baseline;
6968 /* For text (e.g. upcoming events) */
6970 display: inline-block;
6981 [dir='rtl'] .badge-text {
6988 ------------------------------------------------------- */
6991 display: inline-block;
7002 margin-bottom: 10px;
7004 .modal .description {
7019 background: rgba(0,0,0,0.5);
7021 left: 0px; right: 0px; top: 0px; bottom: 0px;
7026 border-bottom: 1px solid #ccc;
7028 .modal-section.header h3 {
7031 .modal-section.buttons {
7035 .modal-section.buttons button {
7039 .modal-section.buttons .action {
7040 display: inline-block;
7043 vertical-align: middle;
7046 .save-section .buttons {
7049 justify-content: space-around;
7050 margin-bottom: 30px;
7053 .save-section .buttons .action,
7054 .save-section .buttons .secondary-action {
7058 vertical-align: middle;
7065 .modal-actions button {
7066 font-weight: normal;
7068 border-bottom: 1px solid #ccc;
7072 display: inline-block;
7074 .modal-actions button:hover {
7075 background-color: #ececec;
7091 .modal-actions > :first-child {
7092 border-right: 1px solid #ccc;
7095 .modal-section:last-child {
7100 ------------------------------------------------------- */
7101 .modal-actions .logo-restore {
7104 .modal-actions .logo-reset {
7108 /* Success Screen / Community Index
7109 ------------------------------------------------------- */
7110 .save-success.body {
7115 .save-success .link-out {
7117 white-space: nowrap;
7121 .save-communityLinks {
7122 padding: 0px 20px 15px 20px;
7125 .save-communityLinks {
7126 border-top: 1px solid #ccc;
7129 .save-success table,
7140 vertical-align: top;
7142 .save-success td.cell-icon {
7145 .save-success td.cell-detail {
7148 .save-success td.community-detail {
7149 padding-bottom: 15px;
7152 .summary-view-on-osm,
7157 .community-languages {
7161 .community-languages:only-child {
7165 .community-detail a.hide-toggle,
7166 .community-detail a:visited.hide-toggle {
7168 font-weight: normal;
7171 .community-detail .hide-toggle svg.icon.pre-text {
7182 background-color: #efefef;
7188 .community-event-name {
7192 .community-event-when {
7196 .community-missing {
7203 ------------------------------------------------------- */
7204 .modal-actions .logo-walkthrough,
7205 .modal-actions .logo-features {
7211 ------------------------------------------------------- */
7217 .modal-shortcuts .modal-section:last-child {
7222 .modal-shortcuts .tabs-bar {
7224 padding-bottom: 5px;
7229 .modal-shortcuts .tab {
7230 display: inline-block;
7236 .modal-shortcuts .tab.active {
7238 border-bottom: 2px solid;
7240 .modal-shortcuts .tab:hover {
7242 background-color: #efefef;
7245 .modal-shortcuts .shortcut-tab {
7247 flex-flow: row wrap;
7250 .modal-shortcuts .shortcut-column {
7255 .modal-shortcuts .shortcut-tab-tools .shortcut-column {
7260 .modal-shortcuts td {
7261 padding-bottom: 5px;
7264 .modal-shortcuts .shortcut-section {
7265 padding: 20px 0 10px 0;
7268 .modal-shortcuts .shortcut-keys {
7273 [dir='rtl'] .modal-shortcuts .shortcut-keys {
7277 .modal-shortcuts .shortcut-keys kbd {
7278 display: inline-block;
7285 vertical-align: baseline;
7286 background-color: #fcfcfc;
7287 border: solid 1px #ccc;
7289 border-bottom-color: #bbb;
7291 box-shadow: inset 0 -1px 0 #bbb;
7294 svg.mouseclick use.left {
7295 fill: rgba(112, 146, 255, 1);
7296 color: rgba(112, 146, 255, 0);
7298 svg.mouseclick use.right {
7299 fill: rgba(112, 146, 255, 0);
7300 color: rgba(112, 146, 255, 1);
7303 .modal-shortcuts .shortcut-keys .gesture {
7310 ------------------------------------------------------- */
7311 .settings-modal textarea {
7316 .settings-custom-background .instructions-template {
7317 margin-bottom: 20px;
7320 .settings-custom-data .instructions-url {
7321 margin-bottom: 10px;
7323 .settings-custom-data .field-file,
7324 .settings-custom-data .instructions-template {
7325 margin-bottom: 20px;
7330 ------------------------------------------------------- */
7331 .mode-save a.user-info {
7332 display: inline-block;
7335 .mode-save .commit-form {
7339 .mode-save .user-info img {
7343 .mode-save h3 small.count {
7351 border-radius: 24px;
7353 background: #7092ff;
7357 .note-save .field-warning,
7358 .mode-save .field-warning {
7360 border: 1px solid #ccc;
7365 .note-save .field-warning:empty,
7366 .mode-save .field-warning:empty {
7370 .mode-save .field-warning,
7371 .mode-save .changeset-info,
7372 .mode-save .request-review,
7373 .mode-save .commit-info {
7374 margin-bottom: 10px;
7377 .mode-save .request-review label {
7381 .mode-save .changeset-list {
7382 border: 1px solid #ccc;
7385 margin-bottom: 10px;
7388 .mode-save .warning-section .changeset-list button {
7389 border-left: 1px solid #ccc;
7392 .mode-save .changeset-list li {
7394 border-top: 1px solid #ccc;
7399 .mode-save .changeset-list li:hover {
7400 background-color: #ececec;
7403 .mode-save .changeset-list .alert {
7407 .changeset-list li span.count {
7412 .mode-save .commit-section .changeset-list button {
7413 border-left: 1px solid #ccc;
7416 .changeset-list li span.count:before { content: '('; }
7418 .changeset-list li span.count:after { content: ')'; }
7420 .changeset-list li:first-child { border-top: 0;}
7423 /* Conflict resolution
7424 ------------------------------------------------------- */
7427 background-color: #ffffbb;
7428 border-bottom: 1px solid #ccc;
7431 .conflicts-buttons {
7435 .mode-save button.conflicts-button {
7439 .conflict-container {
7440 border-bottom: 1px solid #ccc;
7443 .conflict-description {
7449 padding: 20px 20px 0 20px;
7452 .conflict-detail-container {
7464 .conflict-nav-buttons {
7465 padding: 10px 0 20px 0;
7468 .conflict-nav-button {
7473 /* Notices (Zoom in to Edit)
7474 ------------------------------------------------------- */
7491 .notice .zoom-to:hover {
7492 background: rgba(0,0,0,0.6);
7495 .notice .zoom-to .icon {
7498 vertical-align: middle;
7501 [dir='rtl'] .notice .zoom-to .icon {
7508 ------------------------------------------------------- */
7514 white-space: initial;
7516 .tooltip:not(.curtain-tooltip) {
7517 pointer-events: none;
7543 display: inline-block;
7548 font-weight: normal;
7549 background-color: #fff;
7555 pointer-events: none;
7559 background: transparent;
7566 border-color: transparent;
7567 border-style: solid;
7571 border-left-color: #fff;
7572 border-width: 5px 0 5px 5px;
7591 border-color: transparent;
7592 border-style: solid;
7596 border-right-color: #fff;
7597 border-width: 5px 5px 5px 0;
7604 border-color: transparent;
7605 border-style: solid;
7607 .tooltip.top .tooltip-arrow {
7611 border-top-color: #fff;
7612 border-width: 5px 5px 0;
7614 .tooltip.right .tooltip-arrow {
7618 border-right-color: #fff;
7619 border-width: 5px 5px 5px 0;
7621 .tooltip.left .tooltip-arrow {
7625 border-left-color: #fff;
7626 border-width: 5px 0 5px 5px;
7628 .tooltip.bottom .tooltip-arrow {
7632 border-bottom-color: #fff;
7633 border-width: 0 5px 5px;
7638 background: #f6f6f6;
7640 margin: -10px -10px 10px -10px;
7641 border-radius: 3px 3px 0 0;
7646 background: #f6f6f6;
7648 margin: 10px -10px -10px -10px;
7649 border-radius: 0 0 3px 3px;
7651 .tooltip-inner .keyhint {
7656 [dir='rtl'] .tooltip-inner .keyhint {
7661 /* dark tooltips for sidebar / panels */
7662 .map-pane .tooltip.top .tooltip-arrow,
7663 #sidebar .tooltip.top .tooltip-arrow {
7664 border-top-color: #000;
7666 .map-pane .tooltip.bottom .tooltip-arrow,
7667 #sidebar .tooltip.bottom .tooltip-arrow {
7668 border-bottom-color: #000;
7670 .map-pane .tooltip.left .tooltip-arrow,
7671 #sidebar .tooltip.left .tooltip-arrow {
7672 border-left-color: #000;
7674 .map-pane .tooltip.right .tooltip-arrow,
7675 #sidebar .tooltip.right .tooltip-arrow {
7676 border-right-color: #000;
7678 .map-pane .tooltip-inner,
7679 .map-pane .tooltip-heading,
7680 .map-pane .keyhint-wrap,
7681 #sidebar .tooltip-inner,
7682 #sidebar .tooltip-heading,
7683 #sidebar .keyhint-wrap {
7688 /* Exceptions for tooltip layouts */
7690 /* commit warning tooltips need to be closer */
7691 .warning-section .tooltip.top {
7695 /* Uncramp map-control tooltips */
7696 .map-control .tooltip {
7699 .map-control .shortcuts .tooltip {
7703 /* Move over tooltips that are near the edge of screen */
7704 button.sidebar-toggle .tooltip .tooltip-arrow {
7707 [dir='rtl'] button.sidebar-toggle .tooltip .tooltip-arrow {
7712 li:first-of-type .badge .tooltip,
7713 li.hide + li.version .badge .tooltip {
7714 left: auto !important;
7715 right: 5px !important;
7717 [dir='rtl'] li:first-of-type .badge .tooltip,
7718 [dir='rtl'] li.hide + li.version .badge .tooltip {
7719 left: 5px !important;
7720 right: auto !important;
7722 li:first-of-type .badge .tooltip .tooltip-arrow,
7723 li.hide + li.version .badge .tooltip .tooltip-arrow {
7724 right: 15px !important;
7725 left: auto !important;
7727 [dir='rtl'] li:first-of-type .badge .tooltip .tooltip-arrow,
7728 [dir='rtl'] li.hide + li.version .badge .tooltip .tooltip-arrow {
7729 left: 15px !important;
7730 right: auto !important;
7734 /* Contextual Radial Menu (deprecated)
7735 ------------------------------------------------------- */
7736 .radial-menu-tooltip {
7743 .radial-menu-background {
7746 stroke-opacity: 0.5;
7749 .radial-menu-item circle {
7753 .radial-menu-item circle:active,
7754 .radial-menu-item circle:hover {
7758 .radial-menu-item.disabled circle {
7760 fill: rgba(255,255,255,.5);
7763 .radial-menu-item use {
7768 .radial-menu-item.disabled use {
7769 fill: rgba(32,32,32,.5);
7770 color: rgba(40,40,40,.5);
7774 /* Contextual Edit Menu
7775 ------------------------------------------------------- */
7776 .edit-menu-tooltip {
7782 .edit-menu-background {
7786 .edit-menu-item rect {
7791 .edit-menu-item rect:active,
7792 .edit-menu-item rect:hover {
7796 .edit-menu-item.disabled rect {
7797 cursor: not-allowed;
7799 .edit-menu-item.disabled rect:hover {
7800 cursor: not-allowed;
7804 .edit-menu-item use {
7807 pointer-events: none;
7809 .edit-menu-item.disabled use {
7810 fill: rgba(32,32,32,.2);
7811 color: rgba(40,40,40,.2);
7816 ------------------------------------------------------- */
7822 stroke-dasharray: 5, 5;
7827 ----------------------------------------------------- */
7828 ::-webkit-scrollbar {
7833 border-left: 1px solid #DDD;
7836 ::-webkit-scrollbar-track {
7837 background-clip: padding-box;
7838 border: solid transparent;
7842 ::-webkit-scrollbar-thumb {
7843 background-color: rgba(0,0,0,.2);
7844 background-clip: padding-box;
7845 border: solid transparent;
7846 border-width: 3px 3px 3px 4px;
7849 ::-webkit-scrollbar-track:hover,
7850 ::-webkit-scrollbar-track:active {
7851 background-color: rgba(0,0,0,.05);
7855 /* Intro walkthrough
7856 ----------------------------------------------------- */
7858 pointer-events: all;
7866 flex-direction: row;
7875 .intro-nav-wrap .intro-nav-wrap-logo {
7881 vertical-align: middle;
7884 .intro-nav-wrap .joined {
7887 flex-direction: row;
7890 .intro-nav-wrap button.chapter {
7895 .intro-nav-wrap button.chapter.next {
7896 animation-duration: 1s;
7897 animation-name: pulse;
7898 animation-iteration-count: infinite;
7899 animation-direction: alternate;
7902 from { background: #7092ff; }
7903 to { background: #c6d4ff; }
7906 .intro-nav-wrap button.chapter.finished {
7907 background: #8cd05f;
7910 .intro-nav-wrap button.chapter .status {
7914 .intro-nav-wrap button.chapter.finished .status {
7915 display: inline-block;
7918 .curtain-tooltip.tooltip.in {
7921 .curtain-tooltip.tooltip {
7924 [dir='rtl'] .curtain-tooltip.tooltip {
7928 .curtain-tooltip .tooltip-inner {
7934 .curtain-tooltip .tooltip-inner .button-section,
7935 .curtain-tooltip .tooltip-inner .instruction {
7938 border-top: 1px solid #ccc;
7941 margin-right: -20px;
7942 padding: 10px 20px 0 20px;
7945 [dir='rtl'] .curtain-tooltip .tooltip-inner .button-section button.col8 {
7949 .curtain-tooltip .tooltip-inner .instruction:only-child {
7955 .curtain-tooltip .tooltip-inner .icon.pre-text {
7956 vertical-align: text-top;
7959 display: inline-block;
7962 .curtain-tooltip.intro-points-describe ,
7963 .curtain-tooltip.intro-lines-name_road {
7964 top: 133px !important;
7967 .tooltip-illustration {
7973 [dir='rtl'] .tooltip-illustration {
7975 margin-right: -20px;
7978 .curtain-tooltip.intro-mouse {
7979 -moz-user-select: none;
7980 -webkit-user-select: none;
7981 -ms-user-select: none;
7985 .curtain-tooltip.intro-mouse .counter {
7996 .curtain-tooltip.intro-mouse .tooltip-illustration use {
7997 fill: rgba(112, 146, 255, 0);
7998 color: rgba(112, 146, 255, 0);
8000 .curtain-tooltip.intro-mouse.leftclick .tooltip-illustration use {
8001 fill: rgba(112, 146, 255, 1);
8003 .curtain-tooltip.intro-mouse.rightclick .tooltip-illustration use {
8004 color: rgba(112, 146, 255, 1);
8007 .huge-modal-button {
8013 .huge-modal-button .illustration {