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,
1074 path.line.shadow.tag-living_street,
1075 path.line.shadow.tag-service,
1076 path.line.shadow.tag-track,
1077 path.line.shadow.tag-road {
1080 path.line.casing.tag-highway-living_street,
1081 path.line.casing.tag-highway-bus_guideway,
1082 path.line.casing.tag-highway-service,
1083 path.line.casing.tag-highway-track,
1084 path.line.casing.tag-highway-road,
1085 path.line.casing.tag-living_street,
1086 path.line.casing.tag-service,
1087 path.line.casing.tag-track,
1088 path.line.casing.tag-road {
1091 path.line.stroke.tag-highway-living_street,
1092 path.line.stroke.tag-highway-bus_guideway,
1093 path.line.stroke.tag-highway-service,
1094 path.line.stroke.tag-highway-track,
1095 path.line.stroke.tag-highway-road,
1096 path.line.stroke.tag-living_street,
1097 path.line.stroke.tag-service,
1098 path.line.stroke.tag-track,
1099 path.line.stroke.tag-road {
1103 path.line.shadow.tag-highway-path,
1104 path.line.shadow.tag-highway-footway,
1105 path.line.shadow.tag-highway-cycleway,
1106 path.line.shadow.tag-highway-bridleway,
1107 path.line.shadow.tag-highway-corridor,
1108 path.line.shadow.tag-highway-pedestrian,
1109 path.line.shadow.tag-highway-steps,
1110 path.line.shadow.tag-path,
1111 path.line.shadow.tag-footway,
1112 path.line.shadow.tag-cycleway,
1113 path.line.shadow.tag-bridleway,
1114 path.line.shadow.tag-corridor,
1115 path.line.shadow.tag-pedestrian,
1116 path.line.shadow.tag-steps {
1119 path.line.casing.tag-highway-path,
1120 path.line.casing.tag-highway-footway,
1121 path.line.casing.tag-highway-cycleway,
1122 path.line.casing.tag-highway-bridleway,
1123 path.line.casing.tag-highway-corridor,
1124 path.line.casing.tag-highway-pedestrian,
1125 path.line.casing.tag-highway-steps,
1126 path.line.casing.tag-path,
1127 path.line.casing.tag-footway,
1128 path.line.casing.tag-cycleway,
1129 path.line.casing.tag-bridleway,
1130 path.line.casing.tag-corridor,
1131 path.line.casing.tag-pedestrian,
1132 path.line.casing.tag-steps {
1135 path.line.stroke.tag-highway-path,
1136 path.line.stroke.tag-highway-footway,
1137 path.line.stroke.tag-highway-cycleway,
1138 path.line.stroke.tag-highway-bridleway,
1139 path.line.stroke.tag-highway-corridor,
1140 path.line.stroke.tag-highway-pedestrian,
1141 path.line.stroke.tag-highway-steps,
1142 path.line.stroke.tag-path,
1143 path.line.stroke.tag-footway,
1144 path.line.stroke.tag-cycleway,
1145 path.line.stroke.tag-bridleway,
1146 path.line.stroke.tag-corridor,
1147 path.line.stroke.tag-pedestrian,
1148 path.line.stroke.tag-steps {
1152 .low-zoom path.line.shadow.tag-highway-living_street,
1153 .low-zoom path.line.shadow.tag-highway-bus_guideway,
1154 .low-zoom path.line.shadow.tag-highway-service,
1155 .low-zoom path.line.shadow.tag-highway-track,
1156 .low-zoom path.line.shadow.tag-highway-road,
1157 .low-zoom path.line.shadow.tag-living_street,
1158 .low-zoom path.line.shadow.tag-service,
1159 .low-zoom path.line.shadow.tag-track,
1160 .low-zoom path.line.shadow.tag-road {
1163 .low-zoom path.line.casing.tag-highway-living_street,
1164 .low-zoom path.line.casing.tag-highway-bus_guideway,
1165 .low-zoom path.line.casing.tag-highway-service,
1166 .low-zoom path.line.casing.tag-highway-track,
1167 .low-zoom path.line.casing.tag-highway-road,
1168 .low-zoom path.line.casing.tag-living_street,
1169 .low-zoom path.line.casing.tag-service,
1170 .low-zoom path.line.casing.tag-track,
1171 .low-zoom path.line.casing.tag-road {
1174 .low-zoom path.line.stroke.tag-highway-living_street,
1175 .low-zoom path.line.stroke.tag-highway-bus_guideway,
1176 .low-zoom path.line.stroke.tag-highway-service,
1177 .low-zoom path.line.stroke.tag-highway-track,
1178 .low-zoom path.line.stroke.tag-highway-road,
1179 .low-zoom path.line.stroke.tag-living_street,
1180 .low-zoom path.line.stroke.tag-service,
1181 .low-zoom path.line.stroke.tag-track,
1182 .low-zoom path.line.stroke.tag-road {
1186 .low-zoom path.line.shadow.tag-highway-path,
1187 .low-zoom path.line.shadow.tag-highway-footway,
1188 .low-zoom path.line.shadow.tag-highway-cycleway,
1189 .low-zoom path.line.shadow.tag-highway-bridleway,
1190 .low-zoom path.line.shadow.tag-highway-corridor,
1191 .low-zoom path.line.shadow.tag-highway-pedestrian,
1192 .low-zoom path.line.shadow.tag-highway-steps,
1193 .low-zoom path.line.shadow.tag-path,
1194 .low-zoom path.line.shadow.tag-footway,
1195 .low-zoom path.line.shadow.tag-cycleway,
1196 .low-zoom path.line.shadow.tag-bridleway,
1197 .low-zoom path.line.shadow.tag-corridor,
1198 .low-zoom path.line.shadow.tag-pedestrian,
1199 .low-zoom path.line.shadow.tag-steps {
1202 .low-zoom path.line.casing.tag-highway-path,
1203 .low-zoom path.line.casing.tag-highway-footway,
1204 .low-zoom path.line.casing.tag-highway-cycleway,
1205 .low-zoom path.line.casing.tag-highway-bridleway,
1206 .low-zoom path.line.casing.tag-highway-corridor,
1207 .low-zoom path.line.casing.tag-highway-pedestrian,
1208 .low-zoom path.line.casing.tag-highway-steps,
1209 .low-zoom path.line.casing.tag-path,
1210 .low-zoom path.line.casing.tag-footway,
1211 .low-zoom path.line.casing.tag-cycleway,
1212 .low-zoom path.line.casing.tag-bridleway,
1213 .low-zoom path.line.casing.tag-corridor,
1214 .low-zoom path.line.casing.tag-pedestrian,
1215 .low-zoom path.line.casing.tag-steps {
1218 .low-zoom path.line.stroke.tag-highway-path,
1219 .low-zoom path.line.stroke.tag-highway-footway,
1220 .low-zoom path.line.stroke.tag-highway-cycleway,
1221 .low-zoom path.line.stroke.tag-highway-bridleway,
1222 .low-zoom path.line.stroke.tag-highway-corridor,
1223 .low-zoom path.line.stroke.tag-highway-pedestrian,
1224 .low-zoom path.line.stroke.tag-highway-steps,
1225 .low-zoom path.line.stroke.tag-path,
1226 .low-zoom path.line.stroke.tag-footway,
1227 .low-zoom path.line.stroke.tag-cycleway,
1228 .low-zoom path.line.stroke.tag-bridleway,
1229 .low-zoom path.line.stroke.tag-corridor,
1230 .low-zoom path.line.stroke.tag-pedestrian,
1231 .low-zoom path.line.stroke.tag-steps {
1236 .preset-icon .icon.tag-highway-living-street {
1240 path.line.stroke.tag-highway-living_street,
1241 path.line.stroke.tag-living_street {
1244 path.line.casing.tag-highway-living_street,
1245 path.line.casing.tag-living_street {
1249 .preset-icon .icon.tag-highway-corridor,
1250 .preset-icon .icon.tag-highway-pedestrian {
1254 path.line.stroke.tag-highway-corridor,
1255 path.line.stroke.tag-highway-pedestrian,
1256 path.line.stroke.tag-corridor,
1257 path.line.stroke.tag-pedestrian {
1259 stroke-dasharray: 2, 8;
1261 .low-zoom path.line.stroke.tag-highway-corridor,
1262 .low-zoom path.line.stroke.tag-highway-pedestrian,
1263 .low-zoom path.line.stroke.tag-corridor,
1264 .low-zoom path.line.stroke.tag-pedestrian {
1265 stroke-dasharray: 1, 4;
1267 path.line.casing.tag-highway-corridor,
1268 path.line.casing.tag-highway-pedestrian,
1269 path.line.casing.tag-corridor,
1270 path.line.casing.tag-pedestrian,
1271 path.line.casing.tag-highway-corridor.tag-unpaved,
1272 path.line.casing.tag-highway-pedestrian.tag-unpaved,
1273 path.line.casing.tag-corridor.tag-unpaved,
1274 path.line.casing.tag-pedestrian.tag-unpaved {
1276 stroke-linecap: round;
1277 stroke-dasharray: none;
1280 .preset-icon .icon.tag-highway-road {
1284 path.line.stroke.tag-highway-road,
1285 path.line.stroke.tag-road {
1288 path.line.casing.tag-highway-road,
1289 path.line.casing.tag-road {
1293 .preset-icon .icon.tag-highway-service {
1297 path.line.stroke.tag-highway-service,
1298 path.line.stroke.tag-service {
1301 path.line.casing.tag-highway-service,
1302 path.line.casing.tag-service {
1306 /* special service roads and bus guideways */
1307 /* with `service=* tag` (e.g. parking_aisle, alley, drive-through) */
1308 .preset-icon .icon.tag-highway-bus_guideway,
1309 .preset-icon .icon.tag-highway-service.tag-service {
1313 path.line.stroke.tag-highway-bus_guideway,
1314 path.line.stroke.tag-highway-service.tag-service,
1315 path.line.stroke.tag-service.tag-service {
1318 path.line.casing.tag-highway-bus_guideway,
1319 path.line.casing.tag-highway-service.tag-service,
1320 path.line.casing.tag-service.tag-service {
1324 .preset-icon .icon.tag-highway-track {
1328 path.line.stroke.tag-highway-track,
1329 path.line.stroke.tag-track {
1332 path.line.casing.tag-highway-track,
1333 path.line.casing.tag-track {
1337 path.line.stroke.tag-highway-path,
1338 path.line.stroke.tag-highway-footway,
1339 path.line.stroke.tag-highway-cycleway,
1340 path.line.stroke.tag-highway-bridleway {
1341 stroke-linecap: butt;
1342 stroke-dasharray: 6, 6;
1344 .low-zoom path.line.stroke.tag-highway-path,
1345 .low-zoom path.line.stroke.tag-highway-footway,
1346 .low-zoom path.line.stroke.tag-highway-cycleway,
1347 .low-zoom path.line.stroke.tag-highway-bridleway {
1348 stroke-linecap: butt;
1349 stroke-dasharray: 3, 3;
1352 path.line.casing.tag-highway-path,
1353 path.line.casing.tag-highway-path.tag-unpaved {
1355 stroke-linecap: round;
1356 stroke-dasharray: none;
1358 path.line.casing.tag-highway-footway,
1359 path.line.casing.tag-highway-cycleway,
1360 path.line.casing.tag-highway-bridleway,
1361 path.line.casing.tag-highway-footway.tag-unpaved,
1362 path.line.casing.tag-highway-cycleway.tag-unpaved,
1363 path.line.casing.tag-highway-bridleway.tag-unpaved {
1365 stroke-linecap: round;
1366 stroke-dasharray: none;
1369 .preset-icon .icon.iD-category-path,
1370 .preset-icon .icon.tag-highway-path {
1374 path.line.stroke.tag-highway-path {
1378 .preset-icon .icon.tag-route-foot,
1379 .preset-icon .icon.tag-route-hiking,
1380 .preset-icon .icon.tag-highway-footway {
1384 path.line.stroke.tag-highway-footway,
1385 .preset-icon-line path.casing.tag-highway-footway {
1388 .preset-icon-line path.stroke.tag-highway-footway {
1392 .preset-icon .icon.tag-route-bicycle,
1393 .preset-icon .icon.tag-highway-cycleway {
1397 path.line.stroke.tag-highway-cycleway,
1398 .preset-icon-line path.casing.tag-highway-cycleway {
1401 .preset-icon-line path.stroke.tag-highway-cycleway {
1405 .preset-icon .icon.tag-route-horse,
1406 .preset-icon .icon.tag-highway-bridleway {
1410 path.line.stroke.tag-highway-bridleway,
1411 .preset-icon-line path.casing.tag-highway-bridleway {
1414 .preset-icon-line path.stroke.tag-highway-bridleway {
1418 .preset-icon .icon.tag-highway-steps {
1422 path.line.stroke.tag-highway-steps {
1423 stroke-linecap: butt;
1424 stroke-dasharray: 3, 3;
1426 .low-zoom path.line.stroke.tag-highway-steps {
1427 stroke-dasharray: 2, 2;
1429 path.line.casing.tag-highway-steps,
1430 path.line.casing.tag-highway-steps.tag-unpaved {
1432 stroke-linecap: round;
1433 stroke-dasharray: none;
1435 path.line.stroke.tag-highway-steps,
1436 .preset-icon-line path.line.casing.tag-highway-steps {
1439 .preset-icon-line path.line.stroke.tag-highway-steps {
1443 /* highway midpoints */
1444 g.midpoint.tag-highway-corridor .fill,
1445 g.midpoint.tag-highway-pedestrian .fill,
1446 g.midpoint.tag-highway-steps .fill,
1447 g.midpoint.tag-highway-path .fill,
1448 g.midpoint.tag-highway-footway .fill,
1449 g.midpoint.tag-highway-cycleway .fill,
1450 g.midpoint.tag-highway-bridleway .fill {
1459 path.area.stroke.tag-aeroway,
1460 .low-zoom path.area.stroke.tag-aeroway {
1462 stroke-dasharray: none;
1465 path.area.fill.tag-aeroway-runway {
1466 stroke: rgba(0, 0, 0, 0.6);
1467 fill: rgba(0, 0, 0, 0.6);
1471 /* narrow aeroways (taxiway) */
1472 path.line.shadow.tag-aeroway-taxiway,
1473 path.line.shadow.tag-taxiway {
1476 path.line.casing.tag-aeroway-taxiway,
1477 path.line.casing.tag-taxiway {
1480 path.line.stroke.tag-aeroway-taxiway,
1481 path.line.stroke.tag-taxiway {
1484 .low-zoom path.line.shadow.tag-aeroway-taxiway,
1485 .low-zoom path.line.shadow.tag-taxiway {
1488 .low-zoom path.line.casing.tag-aeroway-taxiway,
1489 .low-zoom path.line.casing.tag-taxiway {
1492 .low-zoom path.line.stroke.tag-aeroway-taxiway,
1493 .low-zoom path.line.stroke.tag-taxiway {
1497 .preset-icon .icon.tag-aeroway-taxiway,
1498 .preset-icon .icon.tag-taxiway {
1502 path.line.stroke.tag-aeroway-taxiway,
1503 path.line.stroke.tag-taxiway {
1506 path.line.casing.tag-aeroway-taxiway,
1507 path.line.casing.tag-taxiway {
1511 /* wide aeroways (runway) */
1512 .preset-icon .icon.tag-aeroway-runway,
1513 .preset-icon .icon.tag-runway {
1517 path.line.shadow.tag-aeroway-runway {
1520 path.line.casing.tag-aeroway-runway {
1523 stroke-linecap: square;
1525 path.line.stroke.tag-aeroway-runway {
1528 stroke-linecap: butt;
1529 stroke-dasharray: 24, 48;
1531 .low-zoom path.line.shadow.tag-aeroway-runway {
1534 .low-zoom path.line.casing.tag-aeroway-runway {
1537 .low-zoom path.line.stroke.tag-aeroway-runway {
1539 stroke-dasharray: 12, 24;
1541 .preset-icon-line path.line.stroke.tag-aeroway-runway {
1542 stroke-dasharray: 0, 14, 8, 14;
1547 .preset-icon .icon.tag-railway.other-line {
1551 .preset-icon .icon.tag-railway {
1558 path.line.shadow.tag-railway {
1561 path.line.casing.tag-railway {
1564 path.line.stroke.tag-railway {
1566 stroke-linecap: butt;
1567 stroke-dasharray: 12,12;
1569 .low-zoom path.line.shadow.tag-railway {
1572 .low-zoom path.line.casing.tag-railway {
1575 .low-zoom path.line.stroke.tag-railway {
1577 stroke-dasharray: 6,6;
1579 .preset-icon-line path.line.stroke.tag-railway:not(.tag-status) {
1580 stroke-dasharray: 6;
1584 path.line.casing.tag-railway {
1587 path.line.stroke.tag-railway {
1592 .preset-icon .icon.tag-railway-disused,
1593 .preset-icon .icon.tag-railway-abandoned {
1597 path.line.casing.tag-railway-disused,
1598 path.line.casing.tag-railway-abandoned {
1601 path.line.stroke.tag-railway-disused,
1602 path.line.stroke.tag-railway-abandoned {
1607 path.line.casing.tag-railway-subway {
1610 path.line.stroke.tag-railway-subway {
1616 .preset-icon .icon.tag-waterway.other-line {
1620 .preset-icon .icon.iD-category-water,
1621 .preset-icon .icon.tag-type-waterway,
1622 .preset-icon .icon.tag-waterway {
1629 path.area.stroke.tag-waterway-dock,
1630 path.area.stroke.tag-waterway-boatyard,
1631 path.area.stroke.tag-waterway-fuel {
1635 path.area.casing.tag-waterway-dock,
1636 path.area.casing.tag-waterway-boatyard,
1637 path.area.casing.tag-waterway-fuel {
1640 path.area.fill.tag-waterway-dock,
1641 path.area.fill.tag-waterway-boatyard,
1642 path.area.fill.tag-waterway-fuel {
1643 stroke: rgba(255, 255, 255, 0.3);
1644 fill: rgba(255, 255, 255, 0.3);
1648 path.line.fill.tag-waterway {
1649 stroke: rgba(119, 211, 222, 0.3);
1650 fill: rgba(119, 211, 222, 0.3);
1652 path.line.casing.tag-waterway {
1655 path.line.stroke.tag-waterway {
1660 /* narrow waterways (default) */
1661 path.line.shadow.tag-waterway {
1664 path.line.casing.tag-waterway {
1667 path.line.stroke.tag-waterway {
1671 .low-zoom path.line.shadow.tag-waterway {
1674 .low-zoom path.line.casing.tag-waterway {
1677 .low-zoom path.line.stroke.tag-waterway {
1682 /* wide waterways (river) */
1683 path.line.shadow.tag-waterway-river {
1686 path.line.casing.tag-waterway-river {
1689 path.line.stroke.tag-waterway-river {
1693 .low-zoom path.line.shadow.tag-waterway-river {
1696 .low-zoom path.line.casing.tag-waterway-river {
1699 .low-zoom path.line.stroke.tag-waterway-river {
1705 .preset-icon .icon.tag-waterway-ditch {
1708 path.line.stroke.tag-waterway-ditch {
1713 /* narrow width miscellanous things */
1714 path.line.shadow.tag-aerialway,
1715 path.line.shadow.tag-attraction-summer_toboggan,
1716 path.line.shadow.tag-attraction-water_slide,
1717 path.line.shadow.tag-golf-cartpath,
1718 path.line.shadow.tag-man_made-pipeline,
1719 path.line.shadow.tag-natural-tree_row,
1720 path.line.shadow.tag-piste {
1723 path.line.casing.tag-aerialway,
1724 path.line.casing.tag-attraction-summer_toboggan,
1725 path.line.casing.tag-attraction-water_slide,
1726 path.line.casing.tag-golf-cartpath,
1727 path.line.casing.tag-man_made-pipeline,
1728 path.line.casing.tag-natural-tree_row,
1729 path.line.casing.tag-piste {
1732 path.line.stroke.tag-aerialway,
1733 path.line.stroke.tag-attraction-summer_toboggan,
1734 path.line.stroke.tag-attraction-water_slide,
1735 path.line.stroke.tag-golf-cartpath,
1736 path.line.stroke.tag-man_made-pipeline,
1737 path.line.stroke.tag-natural-tree_row,
1738 path.line.stroke.tag-piste {
1742 .low-zoom path.line.shadow.tag-aerialway,
1743 .low-zoom path.line.shadow.tag-attraction-summer_toboggan,
1744 .low-zoom path.line.shadow.tag-attraction-water_slide,
1745 .low-zoom path.line.shadow.tag-golf-cartpath,
1746 .low-zoom path.line.shadow.tag-man_made-pipeline,
1747 .low-zoom path.line.shadow.tag-natural-tree_row,
1748 .low-zoom path.line.shadow.tag-piste {
1751 .low-zoom path.line.casing.tag-aerialway,
1752 .low-zoom path.line.casing.tag-attraction-summer_toboggan,
1753 .low-zoom path.line.casing.tag-attraction-water_slide,
1754 .low-zoom path.line.casing.tag-golf-cartpath,
1755 .low-zoom path.line.casing.tag-man_made-pipeline,
1756 .low-zoom path.line.casing.tag-natural-tree_row,
1757 .low-zoom path.line.casing.tag-piste {
1760 .low-zoom path.line.stroke.tag-aerialway,
1761 .low-zoom path.line.stroke.tag-attraction-summer_toboggan,
1762 .low-zoom path.line.stroke.tag-attraction-water_slide,
1763 .low-zoom path.line.stroke.tag-golf-cartpath,
1764 .low-zoom path.line.stroke.tag-man_made-pipeline,
1765 .low-zoom path.line.stroke.tag-natural-tree_row,
1766 .low-zoom path.line.stroke.tag-piste {
1772 .preset-icon .icon.tag-route-ferry {
1776 path.line.shadow.tag-route-ferry {
1779 path.line.stroke.tag-route-ferry {
1781 stroke-linecap: butt;
1782 stroke-dasharray: 12,8;
1784 .low-zoom path.line.shadow.tag-route-ferry {
1787 .low-zoom path.line.stroke.tag-route-ferry,
1788 .preset-icon-line path.line.stroke.tag-route-ferry {
1790 stroke-dasharray: 6,4;
1792 path.line.stroke.tag-route-ferry {
1795 path.line.casing.tag-route-ferry {
1801 path.line.stroke.tag-aerialway {
1804 path.line.casing.tag-aerialway {
1810 path.line.stroke.tag-piste {
1813 path.line.casing.tag-piste {
1819 path.line.stroke.tag-attraction-summer_toboggan {
1822 path.line.casing.tag-attraction-summer_toboggan {
1826 path.line.stroke.tag-attraction-water_slide {
1829 path.line.casing.tag-attraction-water_slide {
1834 /* golf cartpaths (like service roads) */
1835 .preset-icon .icon.tag-golf-cartpath {
1839 path.line.stroke.tag-golf-cartpath {
1842 path.line.casing.tag-golf-cartpath {
1847 /* power and pipeline */
1848 .preset-icon .icon.tag-man_made-pipeline,
1849 .preset-icon .icon.tag-power {
1856 path.line.stroke.tag-power {
1860 path.line.casing.tag-power {
1866 path.line.stroke.tag-man_made-pipeline {
1868 stroke-linecap: butt;
1869 stroke-dasharray: 80, 1.25;
1871 path.line.casing.tag-man_made-pipeline {
1874 .low-zoom path.line.stroke.tag-man_made-pipeline {
1875 stroke-dasharray: 40, 1;
1877 .preset-icon-line path.line.stroke.tag-man_made-pipeline {
1878 stroke-dasharray: 19, 1;
1883 path.line.stroke.tag-boundary {
1886 stroke-linecap: butt;
1887 stroke-dasharray: 20, 5, 5, 5;
1889 path.line.casing.tag-boundary {
1894 path.line.casing.tag-boundary-protected_area,
1895 path.line.casing.tag-boundary-national_park {
1900 /* barriers and similar */
1901 path.line.stroke.tag-barrier:not(.tag-barrier-hedge) {
1904 .preset-icon-line path.line.stroke.tag-barrier:not(.tag-barrier-hedge) {
1905 stroke: rgb(170, 170, 170);
1907 path.line.casing.tag-natural,
1908 path.line.casing.tag-barrier,
1909 path.line.casing.tag-man_made-groyne,
1910 path.line.casing.tag-man_made-breakwater {
1913 path.line.stroke.tag-barrier,
1914 path.line.stroke.tag-man_made-groyne,
1915 path.line.stroke.tag-man_made-breakwater {
1917 stroke-linecap: round;
1918 stroke-dasharray: 15, 5, 1, 5;
1920 .low-zoom path.line.stroke.tag-barrier,
1921 .low-zoom path.line.stroke.tag-man_made-groyne,
1922 .low-zoom path.line.stroke.tag-man_made-breakwater {
1924 stroke-linecap: butt;
1925 stroke-dasharray: 8, 2, 2, 2;
1927 .preset-icon-line path.line.stroke.tag-barrier,
1928 .preset-icon-line path.line.stroke.tag-man_made-groyne,
1929 .preset-icon-line path.line.stroke.tag-man_made-breakwater {
1930 stroke-dasharray: 1, 4, 6, 4;
1935 path.line.casing.tag-bridge {
1936 stroke-opacity: 0.6;
1937 stroke: #000 !important;
1938 stroke-linecap: butt;
1939 stroke-dasharray: none;
1941 path.line.shadow.tag-bridge {
1944 path.line.casing.tag-bridge {
1947 .low-zoom path.line.shadow.tag-bridge {
1950 .low-zoom path.line.casing.tag-bridge {
1954 path.line.shadow.tag-railway.tag-bridge,
1955 path.line.shadow.tag-highway-living_street.tag-bridge,
1956 path.line.shadow.tag-highway-path.tag-bridge,
1957 path.line.shadow.tag-highway-corridor.tag-bridge,
1958 path.line.shadow.tag-highway-pedestrian.tag-bridge,
1959 path.line.shadow.tag-highway-service.tag-bridge,
1960 path.line.shadow.tag-highway-track.tag-bridge,
1961 path.line.shadow.tag-highway-steps.tag-bridge,
1962 path.line.shadow.tag-highway-footway.tag-bridge,
1963 path.line.shadow.tag-highway-cycleway.tag-bridge,
1964 path.line.shadow.tag-highway-bridleway.tag-bridge {
1967 path.line.casing.tag-railway.tag-bridge,
1968 path.line.casing.tag-highway-living_street.tag-bridge,
1969 path.line.casing.tag-highway-path.tag-bridge,
1970 path.line.casing.tag-highway-corridor.tag-bridge,
1971 path.line.casing.tag-highway-pedestrian.tag-bridge,
1972 path.line.casing.tag-highway-service.tag-bridge,
1973 path.line.casing.tag-highway-track.tag-bridge,
1974 path.line.casing.tag-highway-steps.tag-bridge,
1975 path.line.casing.tag-highway-footway.tag-bridge,
1976 path.line.casing.tag-highway-cycleway.tag-bridge,
1977 path.line.casing.tag-highway-bridleway.tag-bridge {
1981 .low-zoom path.line.shadow.tag-railway.tag-bridge,
1982 .low-zoom path.line.shadow.tag-highway-living_street.tag-bridge,
1983 .low-zoom path.line.shadow.tag-highway-path.tag-bridge,
1984 .low-zoom path.line.shadow.tag-highway-corridor.tag-bridge,
1985 .low-zoom path.line.shadow.tag-highway-pedestrian.tag-bridge,
1986 .low-zoom path.line.shadow.tag-highway-service.tag-bridge,
1987 .low-zoom path.line.shadow.tag-highway-track.tag-bridge,
1988 .low-zoom path.line.shadow.tag-highway-steps.tag-bridge,
1989 .low-zoom path.line.shadow.tag-highway-footway.tag-bridge,
1990 .low-zoom path.line.shadow.tag-highway-cycleway.tag-bridge,
1991 .low-zoom path.line.shadow.tag-highway-bridleway.tag-bridge {
1994 .low-zoom path.line.casing.tag-railway.tag-bridge,
1995 .low-zoom path.line.casing.tag-highway-living_street.tag-bridge,
1996 .low-zoom path.line.casing.tag-highway-path.tag-bridge,
1997 .low-zoom path.line.casing.tag-highway-corridor.tag-bridge,
1998 .low-zoom path.line.casing.tag-highway-pedestrian.tag-bridge,
1999 .low-zoom path.line.casing.tag-highway-service.tag-bridge,
2000 .low-zoom path.line.casing.tag-highway-track.tag-bridge,
2001 .low-zoom path.line.casing.tag-highway-steps.tag-bridge,
2002 .low-zoom path.line.casing.tag-highway-footway.tag-bridge,
2003 .low-zoom path.line.casing.tag-highway-cycleway.tag-bridge,
2004 .low-zoom path.line.casing.tag-highway-bridleway.tag-bridge {
2010 path.line.stroke.tag-tunnel,
2011 path.line.stroke.tag-location-underground,
2012 path.line.stroke.tag-location-underwater {
2013 stroke-opacity: 0.3;
2015 path.line.casing.tag-tunnel,
2016 path.line.casing.tag-location-underground,
2017 path.line.stroke.tag-location-underwater {
2018 stroke-opacity: 0.5;
2019 stroke-linecap: butt;
2020 stroke-dasharray: none;
2024 /* embankments / cuttings */
2025 path.line.shadow.tag-embankment,
2026 path.line.shadow.tag-cutting {
2029 path.line.casing.tag-embankment,
2030 path.line.casing.tag-cutting {
2031 stroke-opacity: 0.5;
2034 stroke-dasharray: 2, 4;
2035 stroke-linecap: butt;
2038 .low-zoom path.line.shadow.tag-embankment,
2039 .low-zoom path.line.shadow.tag-cutting {
2042 .low-zoom path.line.casing.tag-embankment,
2043 .low-zoom path.line.casing.tag-cutting {
2048 /* Surface - unpaved */
2049 path.line.casing.tag-unpaved {
2051 stroke-linecap: butt;
2052 stroke-dasharray: 4, 3;
2054 .low-zoom path.line.casing.tag-unpaved {
2055 stroke-dasharray: 3, 2;
2057 path.line.casing.tag-bridge.tag-unpaved {
2059 stroke-dasharray: 4, 3;
2061 .low-zoom path.line.casing.tag-bridge.tag-unpaved {
2063 stroke-dasharray: 3, 2;
2067 /* Status (e.g. proposed, abandoned) */
2068 path.area.stroke.tag-status,
2069 path.line.stroke.tag-status,
2070 path.area.casing.tag-status,
2071 path.line.casing.tag-status {
2072 stroke-linecap: butt;
2073 stroke-dasharray: 7, 3;
2075 .low-zoom path.area.stroke.tag-status,
2076 .low-zoom path.line.stroke.tag-status,
2077 .low-zoom path.area.casing.tag-status,
2078 .low-zoom path.line.casing.tag-status {
2079 stroke-dasharray: 5, 2;
2082 /* Road Closed Status */
2083 .preset-icon .icon.tag-highway.tag-status-construction {
2087 path.line.shadow.tag-status.tag-status-construction {
2090 path.line.casing.tag-status.tag-status-construction {
2092 stroke-linecap: butt;
2093 stroke-dasharray: none
2095 path.line.stroke.tag-status.tag-status-construction {
2097 stroke-linecap: butt;
2098 stroke-dasharray: 10, 10;
2100 path.line.casing.tag-status.tag-status-construction,
2101 .preset-icon-line path.line.stroke.tag-status.tag-status-construction {
2104 path.line.stroke.tag-status.tag-status-construction,
2105 .preset-icon-line path.line.casing.tag-status.tag-status-construction {
2108 .low-zoom path.line.shadow.tag-status.tag-status-construction {
2111 .low-zoom path.line.casing.tag-status.tag-status-construction {
2114 .low-zoom path.line.stroke.tag-status.tag-status-construction {
2116 stroke-dasharray: 8, 8;
2121 path.stroke.tag-building {
2122 stroke: rgb(224, 110, 95);
2124 path.fill.tag-building {
2125 stroke: rgba(224, 110, 95, 0.3);
2126 fill: rgba(224, 110, 95, 0.3);
2128 .preset-icon-fill-area.tag-parking-multi-storey,
2129 .preset-icon-fill-area.tag-building {
2130 border-color: rgb(224, 110, 95);
2131 background-color: rgba(224, 110, 95, 0.3);
2135 /* "Special" paths - platforms, piers, crossings */
2136 .preset-icon .icon.tag-golf-path,
2137 .preset-icon .icon.tag-public_transport-platform,
2138 .preset-icon .icon.tag-railway-platform,
2139 .preset-icon .icon.tag-man_made-pier,
2140 .preset-icon .icon.tag-footway.tag-footway-crossing,
2141 .preset-icon .icon.tag-crossing {
2146 .preset-icon-fill-area.tag-golf-path,
2147 .preset-icon-fill-area.tag-public_transport-platform,
2148 .preset-icon-fill-area.tag-railway-platform,
2149 .preset-icon-fill-area.tag-man_made-pier,
2150 .preset-icon-fill-area.tag-footway.tag-footway-crossing,
2151 .preset-icon-fill-area.tag-crossing {
2153 background-color: #dca;
2156 path.line.shadow.tag-golf-path,
2157 path.line.shadow.tag-public_transport-platform,
2158 path.line.shadow.tag-railway-platform,
2159 path.line.shadow.tag-man_made-pier,
2160 path.line.shadow.tag-footway.tag-footway-crossing,
2161 path.line.shadow.tag-crossing {
2164 path.line.casing.tag-golf-path,
2165 path.line.casing.tag-public_transport-platform,
2166 path.line.casing.tag-railway-platform,
2167 path.line.casing.tag-man_made-pier,
2168 path.line.casing.tag-footway.tag-footway-crossing,
2169 path.line.casing.tag-crossing {
2172 stroke-linecap: round;
2173 stroke-dasharray: none;
2175 path.line.stroke.tag-golf-path,
2176 path.line.stroke.tag-public_transport-platform,
2177 path.line.stroke.tag-railway-platform,
2178 path.line.stroke.tag-man_made-pier,
2179 path.line.stroke.tag-footway.tag-footway-crossing,
2180 path.line.stroke.tag-crossing {
2183 stroke-linecap: butt;
2184 stroke-dasharray: 6, 6;
2187 .low-zoom path.line.shadow.tag-golf-path,
2188 .low-zoom path.line.shadow.tag-public_transport-platform,
2189 .low-zoom path.line.shadow.tag-railway-platform,
2190 .low-zoom path.line.shadow.tag-man_made-pier,
2191 .low-zoom path.line.shadow.tag-footway.tag-footway-crossing,
2192 .low-zoom path.line.shadow.tag-crossing {
2195 .low-zoom path.line.casing.tag-golf-path,
2196 .low-zoom path.line.casing.tag-public_transport-platform,
2197 .low-zoom path.line.casing.tag-railway-platform,
2198 .low-zoom path.line.casing.tag-man_made-pier,
2199 .low-zoom path.line.casing.tag-footway.tag-footway-crossing,
2200 .low-zoom path.line.casing.tag-crossing {
2203 .low-zoom path.line.stroke.tag-golf-path,
2204 .low-zoom path.line.stroke.tag-public_transport-platform,
2205 .low-zoom path.line.stroke.tag-railway-platform,
2206 .low-zoom path.line.stroke.tag-man_made-pier,
2207 .low-zoom path.line.stroke.tag-footway.tag-footway-crossing,
2208 .low-zoom path.line.stroke.tag-crossing {
2210 stroke-linecap: butt;
2211 stroke-dasharray: 3, 3;
2214 g.midpoint.tag-golf-path .fill,
2215 g.midpoint.tag-public_transport-platform .fill,
2216 g.midpoint.tag-railway-platform .fill,
2217 g.midpoint.tag-man_made-pier .fill,
2218 g.midpoint.tag-footway.tag-footway-crossing .fill,
2219 g.midpoint.tag-crossing .fill {
2226 /* marked crossings, zebras */
2227 .preset-icon .icon.tag-crossing.tag-crossing-marked,
2228 .preset-icon .icon.tag-crossing.tag-crossing-zebra {
2232 path.line.casing.tag-crossing.tag-crossing-marked,
2233 path.line.casing.tag-crossing.tag-crossing-zebra {
2236 path.line.stroke.tag-crossing.tag-crossing-marked,
2237 path.line.stroke.tag-crossing.tag-crossing-zebra {
2239 stroke-dasharray: 6, 4;
2241 .low-zoom path.line.stroke.tag-crossing.tag-crossing-marked,
2242 .low-zoom path.line.stroke.tag-crossing.tag-crossing-zebra {
2243 stroke-dasharray: 3, 2;
2249 cursor: not-allowed !important;
2254 cursor: auto; /* Opera */
2255 cursor: url(<%= asset_path("iD/img/cursor-grab.png") %>) 9 9, auto; /* FF */
2258 .mode-browse .point,
2259 .mode-select .point {
2260 cursor: pointer; /* Opera */
2261 cursor: url(<%= asset_path("iD/img/cursor-select-point.png") %>), pointer; /* FF */
2264 .mode-select .vertex,
2265 .mode-browse .vertex {
2266 cursor: pointer; /* Opera */
2267 cursor: url(<%= asset_path("iD/img/cursor-select-vertex.png") %>), pointer; /* FF */
2271 .mode-select .line {
2272 cursor: pointer; /* Opera */
2273 cursor: url(<%= asset_path("iD/img/cursor-select-line.png") %>), pointer; /* FF */
2277 .mode-browse .area {
2278 cursor: pointer; /* Opera */
2279 cursor: url(<%= asset_path("iD/img/cursor-select-area.png") %>), pointer; /* FF */
2282 .mode-select .midpoint,
2283 .mode-browse .midpoint {
2284 cursor: pointer; /* Opera */
2285 cursor: url(<%= asset_path("iD/img/cursor-select-split.png") %>), pointer; /* FF */
2288 .mode-select .behavior-multiselect .point,
2289 .mode-select .behavior-multiselect .vertex,
2290 .mode-select .behavior-multiselect .line,
2291 .mode-select .behavior-multiselect .area {
2292 cursor: pointer; /* Opera */
2293 cursor: url(<%= asset_path("iD/img/cursor-select-add.png") %>), pointer; /* FF */
2296 .mode-select .behavior-multiselect .selected {
2297 cursor: pointer; /* Opera */
2298 cursor: url(<%= asset_path("iD/img/cursor-select-remove.png") %>), pointer; /* FF */
2301 .mode-draw-line #map,
2302 .mode-draw-area #map,
2303 .mode-add-line #map,
2304 .mode-add-area #map,
2305 .mode-drag-node #map,
2306 .mode-drag-note #map {
2307 cursor: crosshair; /* Opera */
2308 cursor: url(<%= asset_path("iD/img/cursor-draw.png") %>) 9 9, crosshair; /* FF */
2311 .mode-draw-line .way.target,
2312 .mode-draw-area .way.target,
2313 .mode-add-line .way.target,
2314 .mode-add-area .way.target,
2315 .mode-drag-node .way.target {
2316 cursor: crosshair; /* Opera */
2317 cursor: url(<%= asset_path("iD/img/cursor-draw-connect-line.png") %>) 9 9, crosshair; /* FF */
2320 .mode-draw-line .vertex.target,
2321 .mode-draw-area .vertex.target,
2322 .mode-add-line .vertex.target,
2323 .mode-add-area .vertex.target,
2324 .mode-drag-node .vertex.target {
2325 cursor: crosshair; /* Opera */
2326 cursor: url(<%= asset_path("iD/img/cursor-draw-connect-vertex.png") %>) 9 9, crosshair; /* FF */
2329 .mode-add-point #map,
2330 .mode-add-note #map,
2331 .mode-browse.lasso #map,
2332 .mode-browse.lasso .way,
2333 .mode-browse.lasso .vertex,
2334 .mode-browse.lasso .midpoint,
2335 .mode-select.lasso #map,
2336 .mode-select.lasso .way,
2337 .mode-select.lasso .vertex,
2338 .mode-select.lasso .midpoint {
2339 cursor: crosshair; /* Opera */
2340 cursor: url(<%= asset_path("iD/img/cursor-draw.png") %>) 9 9, crosshair; /* FF */
2344 .mode-browse .qa_error,
2346 .mode-select .qa_error,
2352 /* photo viewer div */
2360 background-color: #fff;
2362 [dir='rtl'] #photoviewer {
2367 @media screen and (min-width: 1600px) {
2374 #photoviewer button.thumb-hide {
2383 #photoviewer button.resize-handle-xy {
2389 cursor: nesw-resize;
2394 #photoviewer button.resize-handle-x {
2406 #photoviewer button.resize-handle-y {
2419 .photo-wrapper img {
2426 .photo-wrapper .photo-attribution {
2438 .photo-attribution a,
2439 .photo-attribution a:visited,
2440 .photo-attribution span {
2445 /* markers and sequences */
2447 pointer-events: none;
2449 .mode-browse .viewfield-group,
2450 .mode-select .viewfield-group {
2451 pointer-events: visible;
2455 .viewfield-group.currentView * {
2456 fill: #ffee00 !important;
2458 .viewfield-group.hovered * {
2459 fill: #eebb00 !important;
2462 .viewfield-group circle {
2465 stroke-opacity: 0.4;
2468 .viewfield-group.highlighted circle {
2470 stroke-opacity: 0.9;
2473 .viewfield-group.highlighted.hovered circle {
2476 stroke-opacity: 0.9;
2479 .viewfield-group.highlighted.currentView circle {
2486 .viewfield-group .viewfield {
2491 .viewfield-group.highlighted .viewfield {
2495 .viewfield-group.highlighted.hovered .viewfield {
2499 .viewfield-group.highlighted.currentView .viewfield {
2504 .viewfield-group.currentView .viewfield-scale {
2505 transform: scale(2,2);
2511 stroke-opacity: 0.4;
2513 .sequence.highlighted,
2514 .sequence.currentView {
2520 /* Streetside Image Layer */
2521 .layer-streetside-images {
2522 pointer-events: none;
2524 .layer-streetside-images .viewfield-group * {
2527 .layer-streetside-images .sequence {
2529 stroke-opacity: 0.85; /* bump opacity - only one per road */
2533 /* Mapillary Image Layer */
2534 .layer-mapillary-images {
2535 pointer-events: none;
2537 .layer-mapillary-images .viewfield-group * {
2540 .layer-mapillary-images .sequence {
2545 /* Mapillary Sign Layer */
2546 .layer-mapillary-signs {
2547 pointer-events: none;
2549 .layer-mapillary-signs .icon-sign {
2550 outline: 2px solid transparent;
2551 pointer-events: visible;
2554 .layer-mapillary-signs .icon-sign:hover {
2555 outline: 5px solid #eebb00;
2556 background-color: #eebb00;
2558 .layer-mapillary-signs .icon-sign.currentView {
2559 outline: 5px solid #ffee00;
2560 background-color: #ffee00;
2564 /* OpenStreetCam Image Layer */
2565 .layer-openstreetcam-images {
2566 pointer-events: none;
2568 .layer-openstreetcam-images .viewfield-group * {
2571 .layer-openstreetcam-images .sequence {
2576 /* Streetside Viewer (pannellum) */
2577 .ms-wrapper .photo-attribution .image-link {
2580 .ms-wrapper .photo-attribution .attribution-row {
2582 flex-flow: row nowrap;
2583 justify-content: space-between;
2584 align-items: center;
2587 .ms-wrapper .photo-attribution .image-view-link {
2591 .ms-wrapper .photo-attribution .image-report-link {
2595 .ms-wrapper .photo-attribution a:active,
2596 .ms-wrapper .photo-attribution a:hover {
2600 .ms-wrapper .pnlm-compass.pnlm-control {
2605 background-size: contain;
2606 background-repeat: no-repeat no-repeat;
2609 label.streetside-hires {
2612 .streetside-hires span {
2615 .streetside-hires input[type="checkbox"] {
2623 /* Mapillary viewer */
2624 #mly .domRenderer .TagSymbol {
2626 background-color: rgba(0,0,0,0.4);
2631 #mly .domRenderer .Attribution {
2632 /* we will roll our own to avoid async update issues like #4526 */
2636 .mly-wrapper .photo-attribution a:active,
2637 .mly-wrapper .photo-attribution a:hover {
2641 .mly-wrapper .mapillary-js-dom {
2646 /* OpenStreetCam viewer */
2649 background-color: #000;
2650 background-image: url(<%= asset_path("iD/img/loader-black.gif") %>);
2651 background-position: center;
2652 background-repeat: no-repeat;
2655 .osc-wrapper .photo-attribution a:active,
2656 .osc-wrapper .photo-attribution a:hover {
2663 transform-origin:0 0;
2664 -ms-transform-origin:0 0;
2665 -webkit-transform-origin:0 0;
2666 -moz-transform-origin:0 0;
2667 -o-transform-origin:0 0;
2671 /* photo-controls (step forward, back, rotate) */
2672 .photo-controls-wrap {
2681 display: inline-block;
2685 .photo-controls button,
2686 .photo-controls button:focus {
2689 background: rgba(0,0,0,0.65);
2693 .photo-controls button:first-of-type {
2694 border-radius: 3px 0 0 3px;
2696 .photo-controls button:last-of-type {
2697 border-radius: 0 3px 3px 0;
2699 .photo-controls button:hover,
2700 .photo-controls button:active {
2701 background: rgba(0,0,0,0.85);
2705 /* OSM Notes and KeepRight Layers */
2707 .error-header-icon .qa_error-fill,
2708 .layer-keepRight .qa_error .qa_error-fill,
2709 .layer-improveOSM .qa_error .qa_error-fill {
2711 stroke-width: 1.3px; /* NOTE: likely a better way to scale the icon stroke */
2714 .note-header-icon .note-fill,
2715 .layer-notes .note .note-fill {
2720 .note-header-icon.new .note-fill,
2721 .layer-notes .note.new .note-fill {
2726 .note-header-icon.closed .note-fill,
2727 .layer-notes .note.closed .note-fill {
2733 /* slight adjustments to preset icon for note icons */
2734 .note-header-icon .preset-icon-28 {
2737 .note-header-icon .note-icon-annotation {
2743 .note-header-icon .note-icon-annotation .icon {
2748 /* adjustment for error icon */
2750 .error-header-icon .preset-icon-28 {
2755 .error-header-icon {
2757 align-items: center;
2758 justify-content: center;
2761 /* Keep Right Errors
2762 ------------------------------------------------------- */
2763 .keepRight.error_type-20, /* multiple nodes on same spot */
2764 .keepRight.error_type-40, /* impossible oneways */
2765 .keepRight.error_type-210, /* self intersecting ways */
2766 .keepRight.error_type-270, /* unusual motorway connection */
2767 .keepRight.error_type-310, /* roundabout issues */
2768 .keepRight.error_type-320, /* improper _link */
2769 .keepRight.error_type-350 { /* improper bridge tag */
2773 .keepRight.error_type-50 { /* almost junctions */
2777 .keepRight.error_type-60, /* deprecated tags */
2778 .keepRight.error_type-70, /* tagging issues */
2779 .keepRight.error_type-90, /* motorway without ref */
2780 .keepRight.error_type-100, /* place of worship without religion */
2781 .keepRight.error_type-110, /* poi without name */
2782 .keepRight.error_type-150, /* railway crossing without tag */
2783 .keepRight.error_type-220, /* misspelled tag */
2784 .keepRight.error_type-380 { /* non-physical sport tag */
2788 .keepRight.error_type-130 { /* disconnected ways */
2792 .keepRight.error_type-170 { /* FIXME tag */
2796 .keepRight.error_type-190 { /* intersection without junction */
2800 .keepRight.error_type-200 { /* overlapping ways */
2804 .keepRight.error_type-160, /* railway layer conflict */
2805 .keepRight.error_type-230 { /* layer conflict */
2809 .keepRight.error_type-280 { /* boundary issues */
2813 .keepRight.error_type-180, /* relation without type */
2814 .keepRight.error_type-290 { /* turn restriction issues */
2818 .keepRight.error_type-300, /* missing maxspeed */
2819 .keepRight.error_type-390 { /* missing tracktype */
2823 .keepRight.error_type-360, /* language unknown */
2824 .keepRight.error_type-370, /* doubled places */
2825 .keepRight.error_type-410 { /* website issues */
2829 .keepRight.error_type-120, /* way without nodes */
2830 .keepRight.error_type-400 { /* geometry / turn angles */
2834 /* ImproveOSM Errors
2835 ------------------------------------------------------- */
2837 .improveOSM.error_type-ow { /* missing one way */
2841 .improveOSM.error_type-mr-road { /* missing road */
2844 .improveOSM.error_type-mr-path { /* missing path */
2847 .improveOSM.error_type-mr-parking { /* missing parking */
2850 .improveOSM.error_type-mr-both { /* missing road+parking */
2854 .improveOSM.error_type-tr { /* missing turn restriction */
2859 /* Custom Map Data (geojson, gpx, kml, vector tile) */
2861 pointer-events: none;
2864 .layer-mapdata path.shadow {
2865 pointer-events: stroke;
2871 .layer-mapdata path.MultiPoint.shadow,
2872 .layer-mapdata path.Point.shadow {
2873 pointer-events: fill;
2877 .layer-mapdata path.shadow.hover:not(.selected) {
2878 stroke-opacity: 0.4;
2880 .layer-mapdata path.shadow.selected {
2881 stroke-opacity: 0.7;
2884 .layer-mapdata path.stroke {
2890 .layer-mapdata path.fill {
2892 stroke-opacity: 0.3;
2899 .layer-mapdata text.label-halo,
2900 .layer-mapdata text.label {
2903 dominant-baseline: middle;
2905 .layer-mapdata text.label {
2908 .layer-mapdata text.label.hover,
2909 .layer-mapdata text.label.selected {
2912 .layer-mapdata text.label-halo {
2916 stroke-miterlimit: 1;
2920 .low-zoom.fill-wireframe path.stroke,
2921 .fill-wireframe path.stroke {
2922 stroke-width: 1 !important;
2923 stroke-opacity: 0.5 !important;
2924 stroke-dasharray: none !important;
2925 fill: none !important;
2927 .low-zoom.fill-wireframe .layer-mapdata path.stroke,
2928 .fill-wireframe .layer-mapdata path.stroke {
2929 stroke-width: 2 !important;
2930 stroke-opacity: 1 !important;
2933 .low-zoom.fill-wireframe path.shadow,
2934 .fill-wireframe path.shadow {
2938 .fill-wireframe path.shadow.related:not(.selected),
2939 .fill-wireframe path.shadow.hover:not(.selected) {
2940 stroke-opacity: 0.4;
2942 .fill-wireframe path.shadow.selected {
2943 stroke-opacity: 0.6;
2946 .fill-wireframe .point,
2947 .fill-wireframe .areaicon,
2948 .fill-wireframe .areaicon-halo,
2949 .fill-wireframe path.casing,
2950 .fill-wireframe path.fill,
2951 .fill-wireframe path.oneway {
2952 display: none !important;
2955 .fill-partial path.area.fill {
2958 pointer-events: none;
2960 .mode-browse .fill-partial path.area.fill,
2961 .mode-select .fill-partial path.area.fill {
2962 pointer-events: visibleStroke;
2965 ------------------------------------------------------- */
2967 Opera misbehaves when the window is resized vertically unless 100% width + height are
2968 applied to both html and body. https://gist.github.com/jfirebaugh/bd225bcfdd3a633850c4
2976 font: normal 12px/1.6667 "-apple-system", BlinkMacSystemFont,
2977 "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell",
2978 "Fira Sans", "Droid Sans", "Helvetica Neue", "Arial",
2984 -ms-user-select: none;
2985 -ms-content-zooming: none;
2990 vertical-align: middle;
3007 -webkit-filter: none !important;
3008 filter: none !important;
3009 -webkit-duration: 200ms;
3010 transition-duration: 200ms;
3014 -webkit-filter: grayscale(80%) brightness(80%);
3015 filter: grayscale(80%) brightness(80%);
3016 -webkit-duration: 200ms;
3017 transition-duration: 200ms;
3021 /* Can't be display: none or the clippaths are ignored. */
3027 div, textarea, label, input, form, span, ul, li, ol, a, button, h1, h2, h3, h4, h5, p, img {
3028 -moz-box-sizing: border-box;
3029 -webkit-box-sizing: border-box;
3030 box-sizing: border-box;
3033 a, button, input, textarea {
3034 -webkit-tap-highlight-color: rgba(0,0,0,0);
3035 -webkit-touch-callout: none;
3052 margin-bottom: 20px;
3057 h4:last-child { margin-bottom: 0;}
3063 margin-bottom: 10px;
3068 padding-bottom: 10px;
3072 outline-color: transparent;
3073 outline-style: none;
3076 ::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
3078 opacity: 1; /* Firefox */
3080 :-ms-input-placeholder { /* Internet Explorer 10-11 */
3083 ::-ms-input-placeholder { /* Microsoft Edge */
3109 ------------------------------------------------------- */
3112 font:normal 12px/20px "-apple-system", BlinkMacSystemFont,
3113 "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell",
3114 "Fira Sans", "Droid Sans", "Helvetica Neue", "Arial",
3125 background-color: #fff;
3127 border: 1px solid #ccc;
3128 padding: 5px 20px 5px 10px;
3131 text-overflow: ellipsis;
3133 [dir='rtl'] textarea,
3134 [dir='rtl'] input[type=text],
3135 [dir='rtl'] input[type=search],
3136 [dir='rtl'] input[type=number],
3137 [dir='rtl'] input[type=url],
3138 [dir='rtl'] input[type=tel],
3139 [dir='rtl'] input[type=email] {
3140 padding: 5px 10px 5px 20px;
3145 background-color: #f1f1f1;
3151 background-color: #eee;
3152 cursor: not-allowed;
3155 input[type="checkbox"],
3156 input[type="radio"] {
3164 [dir='rtl'] input[type="checkbox"],
3165 [dir='rtl'] input[type="radio"] {
3173 background-color: #fff;
3174 border-collapse: collapse;
3181 table.tags, table.tags td, table.tags th {
3182 border: 1px solid #ccc;
3191 ------------------------------------------------------- */
3192 .col6 { float: left; width: 50.0000%; max-width: 600px; }
3193 .col8 { float: left; width: 66.6666%; }
3194 .col12 { float: left; width: 100.0000%; }
3198 ------------------------------------------------------- */
3204 background: #f6f6f6;
3208 background: #ececec;
3212 background: rgba(0,0,0,.5);
3216 background: rgba(0,0,0,.75);
3221 .fr { float: right;}
3238 box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.25);
3241 background: url(<%= asset_path("iD/img/loader_bg.gif") %>);
3242 background-size: 5px 5px;
3247 ------------------------------------------------------- */
3256 display: inline-block;
3263 background-color: #ececec;
3266 background: #7092ff;
3269 background-color: rgba(255,255,255,.25);
3270 color: rgba(0,0,0,.4);
3271 cursor: not-allowed;
3276 border-right: 1px solid rgba(0,0,0,.5);
3278 [dir='rtl'] .joined button {
3279 border-left: 1px solid rgba(0,0,0,.5);
3283 .fillL .joined button {
3284 border-right: 1px solid #fff;
3286 .joined button:first-child {
3287 border-radius: 4px 0 0 4px;
3289 [dir='rtl'] .joined button:first-child {
3290 border-radius: 0 4px 4px 0;
3292 .joined button:last-child {
3293 border-right-width: 0;
3294 border-radius: 0 4px 4px 0;
3296 [dir='rtl'] .joined button:last-child {
3297 border-radius: 4px 0 0 4px;
3301 /* Action buttons */
3303 background: #7092ff;
3306 button.action:focus,
3307 button.action:hover {
3308 background: #597be7;
3310 button.secondary-action {
3311 background: #ececec;
3313 button.secondary-action:focus,
3314 button.secondary-action:hover {
3315 background: #cccccc;
3318 button.action.disabled,
3319 button.action.disabled:hover,
3320 button[disabled].action,
3321 button[disabled].action:hover {
3322 background: #cccccc;
3324 cursor: not-allowed;
3329 ------------------------------------------------------- */
3331 vertical-align: top;
3337 vertical-align: text-top;
3346 [dir='rtl'] .icon.pre-text {
3351 .icon.pre-text.user-icon {
3395 /* Toolbar / Persistent UI Elements
3396 ------------------------------------------------------- */
3399 flex-flow: row nowrap;
3400 justify-content: space-between;
3413 flex-flow: row nowrap;
3416 .tool-group.leading-area {
3418 justify-content: flex-start;
3420 .tool-group.center-area {
3421 justify-content: center;
3423 .tool-group.trailing-area {
3424 justify-content: flex-start;
3431 .tool-group button {
3433 flex-flow: row nowrap;
3434 align-items: center;
3437 white-space: nowrap;
3439 .tool-group button .icon {
3442 .tool-group button .label {
3447 button.save .count {
3448 display: inline-block;
3449 border: 0px solid #ccc;
3450 border-left-width: 1px;
3451 padding: 0px 0px 0px 8px;
3455 [dir='rtl'] button.save .count {
3456 border-left-width: 0px;
3457 border-right-width: 1px;
3458 padding: 0px 8px 0px 0px;
3460 button.save.disabled .count {
3461 border: 0px solid rgba(0,0,0,0.25);
3462 border-left-width: 1px;
3464 [dir='rtl'] button.save.disabled .count {
3465 border-left-width: 0px;
3466 border-right-width: 1px;
3467 padding: 0px 8px 0px 0px;
3469 #bar.narrow button.save .count {
3473 button.save .label {
3477 [dir='rtl'] button.save .label {
3482 .help-wrap svg.icon.pre-text.add-note,
3483 button.add-note svg.icon {
3486 color: rgba(0,0,0,0.25);
3491 button.add-note svg.icon {
3495 [dir='rtl'] button.add-note svg.icon {
3497 margin-right: unset;
3499 .help-wrap svg.icon.pre-text.add-note {
3508 justify-content: flex-end;
3516 [dir='rtl'] .spinner img {
3517 -moz-transform: scaleX(-1);
3518 -o-transform: scaleX(-1);
3519 -webkit-transform: scaleX(-1);
3520 transform: scaleX(-1);
3522 -ms-filter: "FlipH";
3526 #bar.narrow .tool-group {
3529 #bar.narrow .spinner,
3530 #bar.narrow button .label {
3533 #bar.narrow button .count {
3534 border-left-width: 0;
3535 border-right-width: 0;
3539 /* Header for modals / panes
3540 ------------------------------------------------------- */
3542 border-bottom: 1px solid #ccc;
3550 white-space: nowrap;
3551 text-overflow: ellipsis;
3569 .field-help-title button.close,
3570 .sidebar-component .header button.data-editor-close,
3571 .sidebar-component .header button.note-editor-close,
3572 .sidebar-component .header button.error-editor-close,
3573 .entity-editor-pane .header button.preset-close,
3574 .preset-list-pane .header button.preset-choose {
3579 [dir='rtl'] .field-help-title button.close,
3580 [dir='rtl'] .sidebar-component .header button.data-editor-close,
3581 [dir='rtl'] .sidebar-component .header button.note-editor-close,
3582 [dir='rtl'] .sidebar-component .header button.error-editor-close,
3583 [dir='rtl'] .entity-editor-pane .header button.preset-close,
3584 [dir='rtl'] .preset-list-pane .header button.preset-choose {
3589 .entity-editor-pane .header button.preset-choose {
3594 [dir='rtl'] .entity-editor-pane .header button.preset-choose {
3612 [dir='rtl'] .modal > button {
3621 padding: 5px 20px 5px 20px;
3622 border-top: 1px solid #ccc;
3623 background-color: #f6f6f6;
3627 justify-content: space-between;
3633 justify-content: center;
3638 justify-content: space-between;
3641 .header-block-outer {
3645 .header-block-close {
3647 justify-content: flex-end;
3650 /* Hide/Toggle collapsable sections (aka Disclosure)
3651 ------------------------------------------------------- */
3652 .hide-toggle .icon.pre-text {
3653 vertical-align: text-top;
3658 [dir='rtl'] .hide-toggle .icon.pre-text {
3663 a:visited.hide-toggle,
3665 display: inline-block;
3668 padding-bottom: 5px;
3672 /* Sidebar / Inspector
3673 ------------------------------------------------------- */
3679 background: #f6f6f6;
3680 -ms-user-select: element;
3681 border: 0px solid #ccc;
3682 border-right-width: 1px;
3684 [dir='rtl'] #sidebar {
3686 border-right-width: 0px;
3687 border-left-width: 1px;
3698 [dir='rtl'] #sidebar-resizer {
3703 #sidebar.collapsed #sidebar-resizer {
3704 /* make target wider to avoid the user accidentally resizing window */
3708 [dir='rtl'] #sidebar.collapsed #sidebar-resizer {
3712 .sidebar-component {
3720 .sidebar-component .body {
3770 .feature-list-pane .inspector-body,
3771 .preset-list-pane .inspector-body {
3774 .entity-editor-pane .inspector-body,
3775 .selection-list-pane .inspector-body {
3780 padding: 20px 20px 5px 20px;
3784 #sidebar .search-header .icon {
3789 pointer-events: none;
3791 [dir='rtl'] #sidebar .search-header .icon {
3796 #sidebar .search-header input {
3804 border-bottom-width: 1px;
3811 /* Feature List / Search Results
3812 ------------------------------------------------------- */
3818 .feature-list-item {
3821 border-bottom: 1px solid #ccc;
3827 background-color: #ccc;
3833 [dir='rtl'] .geocode-item {
3837 .geocode-item:hover {
3838 background-color: #aaa;
3841 .feature-list-item {
3842 background-color: #fff;
3847 .feature-list-item:hover {
3848 background-color: #ececec;
3850 .feature-list-item button {
3851 background: transparent;
3853 .feature-list-item .label {
3856 white-space: nowrap;
3857 text-overflow: ellipsis;
3859 border-left: 1px solid rgba(0, 0, 0, .1);
3861 [dir='rtl'] .feature-list-item .label {
3865 .feature-list-item .label .icon {
3868 .feature-list-item .close {
3872 .feature-list-item .close .icon {
3875 .feature-list-item .entity-type {
3878 .feature-list-item:hover .entity-type {
3881 .feature-list-item .entity-name {
3882 font-weight: normal;
3886 [dir='rtl'] .feature-list-item .entity-name {
3888 padding-right: 10px;
3892 /* Preset List and Icons
3893 ------------------------------------------------------- */
3896 padding: 20px 20px 10px 20px;
3897 border-bottom: 1px solid #ccc;
3901 margin-bottom: 10px;
3904 .preset-list-button-wrap {
3910 .preset-list-button {
3914 border: 1px solid #ccc;
3916 [dir='ltr'] .preset-list-button-wrap:not(.category) .preset-list-button {
3917 border-top-right-radius: 0;
3918 border-bottom-right-radius: 0;
3920 [dir='rtl'] .preset-list-button-wrap:not(.category) .preset-list-button {
3921 border-top-left-radius: 0;
3922 border-bottom-left-radius: 0;
3925 .preset-list.filtered .preset-list-item:first-child .preset-list-button {
3926 background: #ececec;
3934 [dir='ltr'] .preset-icon-line {
3937 [dir='rtl'] .preset-icon-line {
3940 .preset-icon-line path.line {
3943 .preset-icon-line circle.vertex {
3945 stroke: rgba(0, 0, 0, 0.25);
3947 /* use a consistent stroke width */
3948 .preset-icon-line path.line.stroke {
3949 stroke-width: 2 !important;
3951 .preset-icon-line path.line.casing {
3952 stroke-width: 4 !important;
3955 .preset-icon-fill-area {
3965 .preset-icon-fill-vertex {
3972 border: 1.5px solid #333;
3973 border-radius: 20px;
3974 background-color: #efefef;
3975 backface-visibility: hidden;
3978 [dir='rtl'] .preset-icon-fill-vertex,
3979 [dir='rtl'] .preset-icon-fill-area {
3984 .preset-icon-frame {
3990 [dir='rtl'] .preset-icon-frame {
3995 .preset-icon-frame .icon {
4007 .preset-icon-60 .icon {
4018 .preset-icon-44.line-geom {
4022 .preset-icon-44 .icon {
4034 .preset-icon-28 .icon {
4045 .preset-icon-24.line-geom {
4049 .preset-icon-24 .icon {
4054 [dir='rtl'] .preset-list-button-wrap .preset-icon {
4059 [dir='rtl'] .preset-list-button-wrap .preset-icon-44 {
4063 [dir='rtl'] .preset-list-button-wrap .preset-icon-28 {
4067 [dir='rtl'] .preset-list-button-wrap .preset-icon-24 {
4071 .preset-list-button .label {
4073 flex-flow: row wrap;
4074 align-items: center;
4075 background-color: #f6f6f6;
4083 border-left: 1px solid rgba(0, 0, 0, .1);
4085 [dir='rtl'] .preset-list-button .label {
4090 border-right: 1px solid rgba(0, 0, 0, .1);
4092 [dir='ltr'] .category .preset-list-button .label {
4093 border-radius: 0px 4px 4px 0px;
4095 [dir='rtl'] .category .preset-list-button .label {
4096 border-radius: 4px 0px 0px 4px;
4099 .preset-list-button .label-inner {
4102 .preset-list-button .label-inner .namepart {
4104 white-space: nowrap;
4105 text-overflow: ellipsis;
4109 .preset-list-button:hover .label,
4110 .preset-list-button:focus .label,
4111 .preset-list-button.disabled,
4112 .preset-list-button.disabled .label {
4113 background-color: #ececec;
4116 .preset-list-item button.tag-reference-button {
4118 border: 1px solid #ccc;
4120 background: #f6f6f6;
4122 [dir='ltr'] .preset-list-item button.tag-reference-button {
4124 border-radius: 0 4px 4px 0;
4126 [dir='rtl'] .preset-list-item button.tag-reference-button {
4128 border-radius: 4px 0 0 4px;
4131 .preset-list-item button.tag-reference-button:hover {
4132 background: #f1f1f1;
4134 .preset-list-item button.tag-reference-button .icon {
4138 img.tag-reference-wiki-image {
4142 margin: 10px 5px 15px 10px;
4144 [dir='rtl'] img.tag-reference-wiki-image {
4146 margin: 10px 10px 15px 5px;
4150 .current .preset-list-button,
4151 .current .preset-list-button .label {
4152 background-color: #e8ebff;
4155 .category .preset-list-button:after,
4156 .category .preset-list-button:before {
4160 left: -1px; right: -1px;
4161 border: 1px solid #ccc;
4162 border-bottom: none;
4163 border-radius: 6px 6px 0 0;
4167 .category .preset-list-button:before {
4171 .subgrid .preset-list {
4176 width: -webkit-calc(100% + 20px);
4179 .subgrid .preset-list > *:last-child {
4184 border: solid rgba(0, 0, 0, 0);
4186 border-bottom-color: #ececec;
4190 margin-left: -webkit-calc(50% - 10px);
4195 ------------------------------------------------------- */
4198 flex-flow: row wrap;
4199 justify-content: flex-end;
4206 .data-editor .quick-links,
4207 .error-editor .quick-links,
4208 .note-editor .quick-links {
4213 /* Entity/Preset Editor
4214 ------------------------------------------------------- */
4218 padding: 10px 0px 5px 0px;
4220 .entity-issues a.hide-toggle,
4221 .preset-editor a.hide-toggle {
4222 margin: 0 20px 5px 20px;
4224 .entity-issues .disclosure-wrap-entity_issues,
4225 .preset-editor .form-fields-container {
4227 margin: 0 10px 10px 10px;
4229 background: #ececec;
4231 .entity-issues .disclosure-wrap-entity_issues:empty,
4232 .preset-editor .form-fields-container:empty {
4235 .entity-editor-pane .preset-list-item {
4240 The parts of a field:
4241 - `.form-field` is a `div` wraps the entire thing
4242 - `.form-field-label` is a `label` that wraps the top part, it contains;
4243 - `span` classed `label-text`
4244 - 0..n buttons for "remove", "modified", "tag reference"
4245 - `.form-field-input-wrap` is a `label` or `div` that wraps the bottom part, it contains;
4246 - usually an `input`
4247 - sometimes some buttons (translate, increment, decrement)
4248 - or could just be a `div` with anything really
4249 - `.tag-reference-body` at the bottom (usually hidden)
4251 .------------------. -
4252 | Name | i | <- .form-field-label |
4253 +------------------+ |
4254 | Starbucks | + | <- .form-field-input-wrap > .form-field
4255 '------------------' |
4256 tag reference <- .tag-reference-body |
4262 flex-flow: row wrap;
4263 margin-bottom: 10px;
4265 -webkit-transition: margin-bottom 200ms;
4266 -moz-transition: margin-bottom 200ms;
4267 -o-transition: margin-bottom 200ms;
4268 transition: margin-bottom 200ms;
4272 .wrap-form-field:last-child .form-field {
4276 /* A `label` element that wraps the top section */
4279 flex-flow: row nowrap;
4285 background: #f6f6f6;
4286 border: 1px solid #ccc;
4287 border-radius: 4px 4px 0 0;
4290 .form-field-label .label-text {
4292 padding: 5px 0 5px 10px;
4294 [dir='rtl'] .form-field-label .label-text {
4295 padding: 5px 10px 5px 0;
4298 .form-field-label button {
4300 border-left: 1px solid #ccc;
4304 background: #f6f6f6;
4306 [dir='rtl'] .form-field-label button {
4308 border-right: 1px solid #ccc;
4310 .form-field-label button:hover {
4311 background: #f1f1f1;
4313 .form-field-label .icon {
4317 .form-field-label .modified-icon,
4318 .form-field-label .remove-icon {
4321 .modified .form-field-label .modified-icon,
4322 .present .form-field-label .remove-icon {
4323 display: inline-block;
4326 /* A `div` element that wraps the bottom section */
4327 .form-field-input-wrap {
4329 flex-flow: row nowrap;
4333 border-radius: 0 0 4px 4px;
4335 .nowrap .form-field-input-wrap {
4340 .form-field-input-wrap > input,
4341 .form-field-input-wrap > label,
4342 .form-field-input-wrap > textarea,
4343 .form-field-input-wrap > ul.chiplist {
4346 border: 1px solid #ccc;
4352 .form-field-input-wrap > textarea {
4354 border-radius: 0 0 4px 4px;
4357 /* Buttons inside fields */
4358 .form-field-button {
4363 background-color: #fff;
4364 border: 1px solid #ccc;
4366 border-top-width: 0;
4367 border-left-width: 0;
4368 vertical-align: top;
4370 [dir='rtl'] .form-field-button {
4371 border-left-width: 1px;
4372 border-right-width: 0;
4374 .form-field-button:hover {
4375 background-color: #f1f1f1;
4377 .form-field-button .icon {
4383 /* round corners of first/last child elements */
4384 .form-field-input-wrap > button:last-of-type {
4385 border-bottom-right-radius: 4px;
4387 [dir='rtl'] .form-field-input-wrap > button:last-of-type {
4388 border-bottom-left-radius: 4px;
4392 /* Field - Access, Cycleway
4393 ------------------------------------------------------- */
4394 .form-field-input-access,
4395 .form-field-input-cycleway {
4398 flex-flow: row wrap;
4401 /* Field - lists with labeled input items
4402 ------------------------------------------------------- */
4403 .form-field ul.labeled-inputs {
4405 border: 1px solid #ccc;
4407 border-radius: 0 0 4px 4px;
4411 .form-field ul.labeled-inputs li {
4412 border-top: 1px solid #ccc;
4414 flex-flow: row nowrap;
4416 .form-field ul.labeled-inputs li:first-child {
4419 .form-field ul.labeled-inputs li > span,
4420 .form-field ul.labeled-inputs li > div {
4425 .form-field ul.labeled-inputs li input {
4429 .form-field ul.labeled-inputs li input,
4430 .form-field ul.labeled-inputs li button {
4432 border-left-width: 1px;
4434 [dir='rtl'] .form-field ul.labeled-inputs li input,
4435 [dir='rtl'] .form-field ul.labeled-inputs li button {
4436 border-left-width: 0;
4437 border-right-width: 1px;
4441 /* Field - Structure
4442 ------------------------------------------------------- */
4443 .structure-extras-wrap {
4447 border: 1px solid #ccc;
4449 border-radius: 0 0 4px 4px;
4451 .structure-extras-wrap > ul.labeled-inputs {
4452 border: 1px solid #ccc;
4457 /* Field - Combo / Multicombo
4458 ------------------------------------------------------- */
4459 .form-field-input-combo > input:only-of-type {
4460 border-radius: 0 0 4px 4px;
4462 .form-field-input-combo.empty-combobox input,
4463 .form-field-input-multicombo .empty-combobox input {
4464 padding-right: 10px;
4467 .form-field-input-combo.empty-combobox .combobox-caret,
4468 .form-field-input-multicombo .empty-combobox .combobox-caret {
4472 .form-field-input-multicombo ul.chiplist {
4473 padding: 5px 7px 5px 7px;
4476 border-radius: 0 0 4px 4px;
4479 .form-field-input-multicombo li.chips {
4480 background-color: #eff2f7;
4481 border: 1px solid #ccd5e3;
4483 padding: 2px 0px 2px 5px;
4485 .form-field-input-multicombo li {
4486 display: inline-flex;
4487 flex-flow: row nowrap;
4488 align-items: center;
4493 .form-field-input-multicombo a {
4494 font-family: Arial, Helvetica, sans-serif !important;
4495 font-size: 16px !important;
4498 padding: 0px 5px 0px 5px;
4504 .form-field-input-multicombo .input-wrap {
4505 border: 1px solid #ddd;
4509 .form-field-input-multicombo input {
4515 .form-field-input-multicombo input:focus {
4516 border-radius: 4px !important;
4519 .form-field-input-multicombo .full-line-chips li {
4522 .form-field-input-multicombo .full-line-chips li:not(:last-child) {
4525 .form-field-input-multicombo .full-line-chips .input-wrap {
4530 /* Field - Text / Numeric
4531 ------------------------------------------------------- */
4532 .form-field-input-text > input:only-of-type,
4533 .form-field-input-tel > input:only-of-type,
4534 .form-field-input-email > input:only-of-type,
4535 .form-field-input-url > input:only-of-type {
4536 border-radius: 0 0 4px 4px;
4538 .form-field-input-number > input:only-of-type {
4539 border-radius: 0 0 0 4px;
4541 [dir='rtl'] .form-field-input-number > input:only-of-type {
4542 border-radius: 0 0 4px 0;
4544 .form-field-input-number > button:last-of-type {
4545 border-radius: 0 0 4px 0;
4547 [dir='rtl'] .form-field-input-number > button:last-of-type {
4548 border-radius: 0 0 0 4px;
4551 /* draw the up/down on the buttons */
4552 .form-field-input-number button.decrement::after,
4553 .form-field-input-number button.increment::after {
4555 height: 0; width: 0;
4557 left: 0; right: 0; bottom: 0; top: 0;
4560 .form-field-input-number button.decrement::after {
4561 border-top: 5px solid #ccc;
4562 border-left: 5px solid transparent;
4563 border-right: 5px solid transparent;
4565 .form-field-input-number button.increment::after {
4566 border-bottom: 5px solid #ccc;
4567 border-left: 5px solid transparent;
4568 border-right: 5px solid transparent;
4573 ------------------------------------------------------- */
4574 .form-field-input-check {
4580 border: 1px solid #ccc;
4584 .form-field-input-check > input[type="checkbox"] {
4589 .form-field-input-check > span {
4592 .form-field-input-check > .reverser.button {
4594 background-color: #eff2f7;
4595 border: 1px solid #ccd5e3;
4599 .form-field-input-check > .reverser.button.hide {
4603 .form-field-input-check:hover {
4604 background: #f1f1f1;
4606 .form-field-input-check .set {
4609 .form-field-input-check label:not(.set) input[type="checkbox"] {
4614 /* Field - Radio button
4615 ------------------------------------------------------- */
4616 .form-field-input-radio {
4619 flex-flow: row wrap;
4621 .form-field-input-radio > label {
4624 flex-flow: row nowrap;
4628 background-color: #fff;
4632 .form-field-input-radio > label:last-child {
4633 border-radius: 0 0 4px 4px;
4635 .form-field-input-radio > label:hover {
4636 background-color: #ececec;
4638 .form-field-input-radio > label.active {
4639 background-color: #e8ebff;
4641 .form-field-input-radio > label:not(:last-of-type) {
4642 border-bottom: 1px solid #ccc;
4644 .form-field-input-radio > label > input[type="radio"] {
4648 .form-field-input-radio > label > span {
4651 white-space: nowrap;
4652 text-overflow: ellipsis;
4655 /* Hide placeholder for radio buttons if another is active, or not in hover state */
4656 .form-field-input-radio label.active ~ .placeholder,
4657 .form-field-input-radio .placeholder {
4668 ------------------------------------------------------- */
4669 .form-field-input-maxspeed > input:first-of-type {
4670 border-radius: 0 0 0 4px;
4672 [dir='rtl'] .form-field-input-maxspeed > input:first-of-type {
4673 border-radius: 0 0 4px 0;
4675 .form-field-input-maxspeed > input:last-of-type { /* unit field */
4679 border-radius: 0 0 4px 0;
4681 [dir='rtl'] .form-field-input-maxspeed > input:last-of-type {
4683 border-radius: 0 0 0 4px;
4687 /* Field - Localized Name
4688 ------------------------------------------------------- */
4689 .form-field-input-localized > input.localized-main {
4690 border-radius: 0 0 0 4px;
4692 [dir='rtl'] .form-field-input-localized > input.localized-main {
4693 border-radius: 0 0 4px 0;
4695 .form-field-input-localized > button.localized-add {
4696 border-radius: 0 0 4px 0;
4698 [dir='rtl'] .form-field-input-localized > button.localized-add {
4699 border-radius: 0 0 0 4px;
4702 .form-field-input-localized button.localized-add.disabled,
4703 .form-field-input-localized input.localized-main.disabled,
4704 .form-field-input-localized input.localized-lang.disabled,
4705 .form-field-input-localized input.localized-value.disabled {
4707 background-color: #eee;
4708 cursor: not-allowed;
4711 /* nested subfields for name in different languages */
4712 .localized-multilingual {
4716 .localized-multilingual .entry {
4721 /* draws a little line connecting the multilingual field up to the name field */
4722 .localized-multilingual .entry::before {
4735 .localized-multilingual .entry .localized-lang {
4737 border-top-width: 0;
4740 .localized-multilingual .entry .localized-value {
4741 border-top-width: 0;
4742 border-radius: 0 0 4px 4px;
4748 ------------------------------------------------------- */
4749 .form-field-input-address {
4752 flex-flow: row wrap;
4753 border: 1px solid #ccc;
4770 [dir='rtl'] .addr-row input {
4771 border-right: 1px solid #ccc;
4775 .addr-row:first-of-type input {
4778 .addr-row input:first-of-type {
4781 [dir='rtl'] .addr-row input:first-of-type {
4784 .addr-row:last-of-type input:first-of-type {
4785 border-radius: 0 0 0 4px;
4787 [dir='rtl'] .addr-row:last-of-type input:first-of-type {
4788 border-radius: 0 0 4px 0;
4790 .addr-row:last-of-type input:last-of-type {
4791 border-radius: 0 0 4px 0;
4793 [dir='rtl'] .addr-row:last-of-type input:last-of-type {
4794 border-radius: 0 0 0 4px;
4798 /* Field - Wikipedia
4799 ------------------------------------------------------- */
4800 .form-field-input-wikipedia {
4802 flex-flow: row wrap;
4806 .wiki-lang-container,
4807 .wiki-title-container {
4809 flex-flow: row nowrap;
4814 .wiki-lang-container > input.wiki-lang,
4815 .wiki-title-container > input.wiki-title {
4820 .wiki-title-container > input.wiki-title {
4821 border-radius: 0 0 0 4px;
4823 [dir='rtl'] .wiki-title-container > input.wiki-title {
4824 border-radius: 0 0 4px 0;
4826 .wiki-title-container > button.wiki-link {
4827 border-radius: 0 0 4px 0;
4829 [dir='rtl'] .wiki-title-container > button.wiki-link {
4830 border-radius: 0 0 0 4px;
4834 /* Field - Restriction Editor
4835 ------------------------------------------------------- */
4836 .form-field-input-restrictions {
4838 border: 1px solid #ccc;
4840 border-radius: 0 0 4px 4px;
4843 .form-field-input-restrictions .restriction-controls-container {
4844 background-color: #fff;
4847 border-top: 1px solid #ccc;
4848 border-radius: 0 0 4px 4px;
4851 .restriction-controls-container .restriction-controls {
4853 -moz-user-select: none;
4854 -webkit-user-select: none;
4855 -ms-user-select: none;
4859 .restriction-controls .restriction-control {
4865 .restriction-control input,
4866 .restriction-control span {
4867 display: table-cell;
4872 .restriction-control span.restriction-control-label {
4876 .restriction-control input {
4880 vertical-align: middle;
4883 .form-field-input-restrictions .restriction-container {
4887 /* zero width space, so container takes up space */
4888 .form-field-input-restrictions .restriction-container:after {
4892 .form-field-input-restrictions svg.surface {
4897 .restriction-container .restriction-help {
4904 background-color: rgba(255, 255, 255, .8);
4907 pointer-events: none;
4909 -moz-user-select: none;
4910 -webkit-user-select: none;
4911 -ms-user-select: none;
4915 .restriction-help span {
4919 .restriction-help .qualifier {
4923 .restriction-help .qualifier.allow {
4926 .restriction-help .qualifier.restrict {
4929 .restriction-help .qualifier.only {
4934 /* Field - Changeset Comment
4935 ------------------------------------------------------- */
4936 .form-field-comment:not(.present) #preset-input-comment {
4937 border-color: rgb(230, 100, 100);
4939 .form-field-comment:not(.present) .form-field-label {
4940 border-color: rgb(230, 100, 100);
4941 background: rgba(230, 100, 100, 0.2);
4943 .form-field-comment:not(.present) button {
4944 border-color: rgb(230, 100, 100);
4949 ------------------------------------------------------- */
4953 box-shadow: 0 4px 10px 1px rgba(0,0,0,.2);
4959 border: 1px solid #ccc;
4960 border-radius: 0 0 4px 4px;
4966 border-top: 1px solid #ccc;
4967 text-overflow: ellipsis;
4968 white-space: nowrap;
4972 .combobox a.selected,
4974 background: #ececec;
4977 .combobox a:first-child {
4983 display: inline-block;
4988 vertical-align: top;
4991 [dir='rtl'] .combobox-caret {
4993 margin-right: -30px;
4996 .combobox-caret::after {
4998 height: 0; width: 0;
5000 left: 0; right: 0; bottom: 0; top: 0;
5002 border-top: 5px solid #ccc;
5003 border-left: 5px solid transparent;
5004 border-right: 5px solid transparent;
5007 /* Remove the field's bottom border radius when combobox is open */
5008 /* For some reason this stops the combobox from overlapping the bottom of the field */
5009 .combobox + * textarea:focus,
5010 .combobox + * input:focus {
5011 border-bottom-left-radius: 0 !important;
5012 border-bottom-right-radius: 0 !important;
5017 ------------------------------------------------------- */
5026 border: 1px solid #ccc;
5028 border-radius: 0 0 4px 4px;
5030 background: rgba(255,255,255,0.95);
5031 box-shadow: 0 0 30px 5px rgba(0,0,0,.4);
5034 .field-help-title h2 {
5039 .field-help-title button {
5048 margin-bottom: 10px;
5050 .field-help-nav-item {
5051 display: inline-block;
5056 .field-help-nav-item.active {
5058 border-bottom: 2px solid;
5060 .field-help-nav-item:hover {
5062 background-color: #efefef;
5065 .field-help-content {
5070 .field-help-content h3 {
5074 .field-help-content p {
5075 margin-bottom: 15px;
5077 .field-help-content ul li {
5082 .field-help-content .field-help-image {
5084 margin-bottom: 15px;
5087 .field-help-content svg.turn {
5091 .field-help-content svg.shadow {
5096 .field-help-content svg.from {
5099 .field-help-content svg.allow {
5102 .field-help-content svg.restrict {
5105 .field-help-content svg.only {
5109 .field-help-content p.from_shadow,
5110 .field-help-content p.allow_shadow,
5111 .field-help-content p.restrict_shadow,
5112 .field-help-content p.allow_turn,
5113 .field-help-content p.restrict_turn {
5118 /* More Fields dropdown
5119 ------------------------------------------------------- */
5121 padding: 0 20px 20px 20px;
5124 .changeset-editor .more-fields {
5125 padding: 15px 20px 0 20px;
5128 .more-fields label {
5130 flex-flow: row nowrap;
5131 justify-content: space-between;
5132 align-items: center;
5135 .more-fields input {
5139 [dir='rtl'] .more-fields input {
5144 .form-field-input-wrap .label {
5146 background: #f6f6f6;
5152 ------------------------------------------------------- */
5160 .tag-row .inner-wrap {
5162 flex-flow: row nowrap;
5167 .tag-row .value-wrap {
5172 .tag-row.readonly input.key,
5173 .tag-row.readonly input.value,
5174 .tag-row.readonly button.remove {
5176 background-color: #eee;
5177 cursor: not-allowed;
5184 border-bottom: 1px solid #ccc;
5185 border-left: 1px solid #ccc;
5188 [dir='rtl'] .tag-row input {
5190 border-right: 1px solid #ccc;
5194 .tag-row input.key {
5196 background-color: #f6f6f6;
5199 .tag-row input.value {
5200 border-right: 1px solid #ccc;
5202 [dir='rtl'] .tag-row input.value {
5203 border-left: 1px solid #ccc;
5206 .tag-row:first-child input.key {
5207 border-top: 1px solid #ccc;
5208 border-top-left-radius: 4px;
5210 [dir='rtl'] .tag-row:first-child input.key {
5211 border-top-left-radius: 0;
5212 border-top-right-radius: 4px;
5215 .tag-row:first-child input.value {
5216 border-top: 1px solid #ccc;
5222 border: 1px solid #ccc;
5223 border-top-width: 0;
5224 border-left-width: 0;
5226 [dir='rtl'] .tag-row button {
5227 border-left-width: 1px;
5228 border-right-width: 0;
5231 .tag-row button:hover {
5232 background: #f1f1f1;
5234 .tag-row button .icon {
5237 .tag-row:first-child button {
5238 border-top-width: 1px;
5241 .tag-row:first-child .tag-reference-button {
5242 border-top-right-radius: 4px;
5244 [dir='rtl'] .tag-row:first-child .tag-reference-button {
5245 border-top-left-radius: 4px;
5246 border-top-right-radius: 0;
5249 .tag-row:last-child .tag-reference-button {
5250 border-bottom-right-radius: 4px;
5252 [dir='rtl'] .tag-row:last-child .tag-reference-button {
5253 border-bottom-left-radius: 4px;
5254 border-bottom-right-radius: 0;
5257 .tag-row .tag-reference-button {
5260 [dir='rtl'] .tag-row .tag-reference-button {
5261 border-left-width: 1px;
5262 border-right-width: 0;
5266 .tag-reference-loading {
5267 background-color: #f5f5f5;
5269 .tag-reference-loading .icon {
5270 background-image: url(<%= asset_path("iD/img/mini-loader.gif") %>);
5271 background-position: 0 0;
5274 .tag-reference-body {
5279 .tag-reference-body.expanded {
5280 padding-bottom: 10px;
5282 .tag-reference-description {
5285 .tag-reference-link {
5289 .preset-list .tag-reference-body {
5293 .raw-tag-editor .tag-reference-body {
5296 .raw-tag-editor .tag-row.readonly .tag-reference-body {
5297 background: #f6f6f6;
5300 .raw-tag-editor .tag-row:not(:last-child) .tag-reference-body.expanded {
5301 border-bottom: 1px solid #ccc;
5303 .raw-tag-editor .tag-row.readonly .tag-reference-body.expanded {
5304 border-top: 1px solid #ccc;
5308 /* Raw Member / Membership Editor
5309 ------------------------------------------------------- */
5310 .raw-member-editor .member-list li:first-child,
5311 .raw-membership-editor .member-list li:first-child {
5314 .raw-member-editor .member-row .member-entity-name,
5315 .raw-membership-editor .member-row .member-entity-name {
5316 font-weight: normal;
5320 [dir='rtl'] .raw-member-editor .member-row .member-entity-name,
5321 [dir='rtl'] .raw-membership-editor .member-row .member-entity-name {
5323 padding-right: 10px;
5326 .form-field-input-member > input.member-role {
5327 border-radius: 0 0 0 4px;
5329 [dir='rtl'] .form-field-input-member > input.member-role {
5330 border-radius: 0 0 4px 0;
5333 .member-incomplete .form-field-input-member > input.member-role,
5334 [dir='rtl'] .member-incomplete .form-field-input-member > input.member-role {
5335 border-radius: 0 0 4px 4px;
5338 .member-incomplete .member-delete {
5342 .member-row-new .member-entity-input {
5344 border-radius: 4px 4px 0 0;
5348 /* preserve extra space at bottom of inspector to allow for dropdown options - #5280 */
5349 .raw-membership-editor.inspector-inner {
5350 margin-bottom: 150px;
5353 /* hidden field to prevent user from tabbing out of the sidebar */
5358 border: 1px solid rgba(0,0,0,0);
5362 /* add tag, add relation buttons */
5366 flex-flow: row nowrap;
5369 .add-row .add-relation,
5370 .add-row .space-value {
5373 .add-row .space-buttons {
5378 background: rgba(0,0,0,.5);
5380 .add-row button:focus,
5381 .add-row button:hover {
5382 background: rgba(0,0,0,.8);
5386 border-radius: 0 0 4px 4px;
5394 /* Inspector (hover styles)
5395 ------------------------------------------------------- */
5396 .inspector-hover .form-field-input-wrap .label,
5397 .inspector-hover .form-field-input-multicombo .chiplist,
5398 .inspector-hover .form-field-button,
5399 .inspector-hover .structure-extras-wrap,
5400 .inspector-hover .comments-container .comment,
5401 .inspector-hover button,
5402 .inspector-hover input,
5403 .inspector-hover textarea,
5404 .inspector-hover label,
5405 .inspector-hover .entity-issues .issue button {
5406 background: #ececec;
5408 .inspector-hover .preset-list-button,
5409 .inspector-hover .tag-row input {
5410 background: #f6f6f6;
5413 .inspector-hover .entity-issues .issue,
5414 .inspector-hover .entity-issues .issue li {
5415 border: 1px solid #ccc;
5417 .inspector-hover .entity-issues .issue .icon {
5422 .inspector-hover .form-field-input-multicombo .chips,
5423 .inspector-hover .form-field-input-check span {
5427 .inspector-hover .form-field-input-multicombo .chips {
5429 border: 1px solid #ccc;
5433 .inspector-hover div {
5438 /* hide and remove from layout */
5440 .inspector-hover .preset-list-button-wrap .tag-reference-button,
5441 .inspector-hover label input[type="checkbox"],
5442 .inspector-hover label input[type="radio"],
5443 .inspector-hover .form-field-input-multicombo .input-wrap,
5444 .inspector-hover .form-field-input-radio label,
5445 .inspector-hover .form-field-input-radio label span,
5446 .inspector-hover .form-field-input-radio label.remove .icon,
5447 .inspector-hover .inspector-inner .add-row,
5448 .inspector-hover .entity-issues .issue ul.issue-fix-list {
5452 /* hide but preserve in layout */
5453 .inspector-hover .combobox-caret,
5454 .inspector-hover .header button,
5455 .inspector-hover .quick-links,
5456 .inspector-hover .form-field-input-multicombo .chips .remove,
5457 .inspector-hover .hide-toggle:before,
5458 .inspector-hover .more-fields,
5459 .inspector-hover .form-field-label button,
5460 .inspector-hover .tag-row button,
5461 .inspector-hover .footer * {
5465 /* Styles for raw tag inspector on hover */
5466 .inspector-hover .tag-row .key-wrap,
5467 .inspector-hover .tag-row .value-wrap {
5471 .inspector-hover .tag-row:first-child input.value {
5472 border-top-right-radius: 4px;
5474 [dir='rtl'] .inspector-hover .tag-row:first-child input.value {
5475 border-top-right-radius: 0;
5476 border-top-left-radius: 4px;
5479 .inspector-hover .tag-row:last-child input.value {
5480 border-bottom-right-radius: 4px;
5482 [dir='rtl'] .inspector-hover .tag-row:last-child input.value {
5483 border-bottom-right-radius: 0;
5484 border-bottom-left-radius: 4px;
5487 .inspector-hover .tag-row:last-child input.key {
5488 border-bottom-left-radius: 4px;
5490 [dir='rtl'] .inspector-hover .tag-row:last-child input.key {
5491 border-bottom-left-radius: 0;
5492 border-bottom-right-radius: 4px;
5495 .inspector-hover .more-fields {
5497 margin-bottom: -10px;
5500 /* Unstyle button fields */
5501 .inspector-hover .form-field-input-radio label.active,
5502 .inspector-hover .entity-editor-pane a.hide-toggle {
5504 background-color: transparent;
5509 .inspector-hover .form-field-input-radio button.active {
5513 /* Show placeholder on hover for radio buttons */
5514 .inspector-hover .form-field-input-radio {
5515 border: 1px solid #ccc;
5517 border-radius: 0 0 4px 4px;
5519 .inspector-hover .form-field-input-radio .placeholder {
5527 .inspector-hover .form-field-input-radio .structure-extras-wrap {
5532 /* OSM Note / KeepRight Editors
5533 ------------------------------------------------------- */
5536 background-color: #f6f6f6;
5538 border: 1px solid #ccc;
5540 flex-flow: row nowrap;
5541 align-items: center;
5545 .error-header-icon {
5546 background-color: #fff;
5552 border-right: 1px solid #ccc;
5553 border-radius: 5px 0 0 5px;
5555 [dir='rtl'] .note-header-icon,
5556 [dir='rtl'] .error-header-icon {
5557 border-right: unset;
5558 border-left: 1px solid #ccc;
5559 border-radius: 0 5px 5px 0;
5562 .note-header-icon .icon-wrap,
5563 .error-header-icon .icon-wrap {
5569 .error-header-label {
5570 background-color: #f6f6f6;
5575 border-radius: 0 5px 5px 0;
5577 [dir='rtl'] .note-header-label,
5578 [dir='rtl'] .error-header-label {
5579 border-radius: 5px 0 0 5px;
5586 .comments-container {
5587 background: #ececec;
5594 background-color: #fff;
5596 border: 1px solid #ccc;
5599 flex-flow: row nowrap;
5605 .comment-avatar .icon.comment-avatar-icon {
5609 border: 1px solid #ccc;
5610 border-radius: 20px;
5613 padding: 10px 10px 10px 0;
5615 flex-flow: column nowrap;
5617 overflow-wrap: break-word;
5619 [dir='rtl'] .comment-main {
5620 padding: 10px 0 10px 10px;
5624 flex-flow: row nowrap;
5625 justify-content: space-between;
5640 .comment-text::-webkit-scrollbar {
5652 .error-details-container {
5653 background: #ececec;
5657 border: 1px solid #ccc;
5659 .error-details-description {
5660 margin-bottom: 10px;
5662 .error-details-description-text::first-letter {
5663 text-transform: capitalize;
5665 [dir='rtl'] .error-details-description-text::first-letter {
5666 text-transform: none; /* #5877 */
5669 .note-save .new-comment-input,
5670 .error-save .new-comment-input {
5677 .note-save .detail-section,
5678 .error-save .detail-section {
5687 /* Custom Data Editor
5688 ------------------------------------------------------- */
5690 background-color: #f6f6f6;
5692 border: 1px solid #ccc;
5694 flex-flow: row nowrap;
5695 align-items: center;
5699 background-color: #fff;
5705 border-right: 1px solid #ccc;
5706 border-radius: 5px 0 0 5px;
5708 [dir='rtl'] .data-header-icon {
5709 border-right: unset;
5710 border-left: 1px solid #ccc;
5711 border-radius: 0 5px 5px 0;
5714 .data-header-icon .icon-wrap {
5719 .data-header-label {
5720 background-color: #f6f6f6;
5725 border-radius: 0 5px 5px 0;
5727 [dir='rtl'] .data-header-label {
5728 border-radius: 5px 0 0 5px;
5731 /* tag editor - no buttons */
5732 .data-editor.raw-tag-editor button {
5735 .data-editor.raw-tag-editor .tag-row .key-wrap,
5736 .data-editor.raw-tag-editor .tag-row .value-wrap {
5742 ------------------------------------------------------- */
5750 [dir='rtl'] .map-controls {
5755 .map-control > button {
5758 background: rgba(0,0,0,.5);
5762 .map-control > button:hover {
5763 background: rgba(0, 0, 0, .8);
5766 .map-control > button.active,
5767 .map-control > button.active:hover {
5768 background: #7092ff;
5772 /* Fullscreen Button (disabled)
5773 ------------------------------------------------------- */
5775 display: inline-block;
5781 div.full-screen .tooltip {
5785 div.full-screen > button, div.full-screen > button.active {
5788 background: transparent;
5791 div.full-screen > button:hover {
5792 background-color: rgba(0, 0, 0, .8);
5797 ------------------------------------------------------- */
5798 .zoombuttons > button.zoom-in {
5799 border-radius: 4px 0 0 0;
5801 [dir='rtl'] .zoombuttons > button.zoom-in {
5802 border-radius: 0 4px 0 0;
5807 ------------------------------------------------------- */
5808 .geolocate-control {
5809 margin-bottom: 10px;
5811 .geolocate-control > button {
5812 border-radius: 0 0 0 4px;
5814 [dir='rtl'] .geolocate-control > button {
5815 border-radius: 0 0 4px 0;
5819 /* Background / Map Data / Help Pane buttons
5820 ------------------------------------------------------- */
5821 .help-control > button {
5822 border-radius: 0 0 0 4px;
5824 [dir='rtl'] .help-control > button {
5825 border-radius: 0 0 4px 0;
5828 .map-data-control button {
5832 .background-control > button {
5833 border-radius: 4px 0 0 0;
5835 [dir='rtl'] .background-control > button {
5836 border-radius: 0 4px 0 0;
5840 /* Background / Map Data Settings
5841 ------------------------------------------------------- */
5843 .background-control {
5848 margin-bottom: 10px;
5849 white-space: nowrap;
5852 .layer-list, .controls-list {
5853 margin-bottom: 10px;
5854 border: 1px solid #ccc;
5860 background-color: #fff;
5869 .layer-list > li:first-child {
5870 border-radius: 3px 3px 0 0;
5872 .layer-list > li:last-child {
5873 border-radius: 0 0 3px 3px;
5875 .layer-list > li:only-child {
5878 .layer-list li:not(:last-child) {
5879 border-bottom: 1px solid #ccc;
5881 .layer-list li:hover {
5882 background-color: #ececec;
5885 .layer-list li.active button,
5886 .layer-list li.switch button,
5887 .layer-list li.active,
5888 .layer-list li.switch {
5889 background: #e8ebff;
5892 .layer-list li.best > div.best {
5893 display: inline-block;
5898 [dir='rtl'] .list-item-data-browse svg {
5899 transform: rotateY(180deg);
5902 /* make sure tooltip fits in map-control panel */
5903 /* if too wide, placement will be wrong the first time it displays */
5904 .layer-list li.best .tooltip-inner {
5914 .layer-list label > span {
5917 white-space: nowrap;
5918 text-overflow: ellipsis;
5921 .map-data-pane .layer-list button,
5922 .background-pane .layer-list button {
5926 border-left: 1px solid #ccc;
5929 [dir='rtl'] .map-data-pane .layer-list button,
5930 [dir='rtl'] .background-pane .layer-list button {
5933 border-right: 1px solid #ccc;
5936 .map-data-pane .layer-list button .icon,
5937 .background-pane .layer-list button .icon {
5941 .map-data-pane .layer-list button:first-of-type,
5942 .background-pane .layer-list button:first-of-type {
5943 border-radius: 0 3px 3px 0;
5945 [dir='rtl'] .map-data-pane .layer-list button:first-of-type,
5946 [dir='rtl'] .background-pane .layer-list button:first-of-type {
5947 border-radius: 3px 0 0 3px;
5950 .map-data-pane .vectortile-container .vectortile-header {
5951 padding-bottom: 5px;
5953 .map-data-pane .vectortile-container .vectortile-footer {
5954 padding-bottom: 10px;
5959 ------------------------------------------------------- */
5964 padding: 5px 10px 5px 5px;
5967 font-weight: inherit;
5969 text-align: inherit;
5973 [dir='rtl'] .issue button {
5974 padding: 5px 5px 5px 10px;
5977 .issue.severity-warning,
5978 li.issue.severity-warning {
5979 border-color: #FFDF5C;
5981 .icon-badge.warning {
5985 .issue.severity-error,
5986 li.issue.severity-error {
5987 border-color: #f5b0ab;
5993 .issue.severity-warning,
5994 .issue.severity-warning button,
5995 .mode-save .warning-section {
5998 .issue.severity-warning:not(.expanded) button:hover,
5999 .issue.severity-warning:not(.expanded) button:focus,
6000 .issue.severity-warning .issue-fix-item.actionable button:hover,
6001 .issue.severity-warning .issue-fix-item.actionable button:focus {
6002 background: #FFFF99;
6004 .issue.severity-warning .issue-icon {
6008 .issue.severity-warning .issue-fix-item.actionable {
6012 .issue.severity-warning .issue-fix-item.actionable:hover,
6013 .issue.severity-warning .issue-fix-item.actionable button:focus {
6018 .issue.severity-error,
6019 .issue.severity-error button,
6020 .mode-save .error-section {
6021 background: #FFD5D4;
6023 .issue.severity-error:not(.expanded) button:hover,
6024 .issue.severity-error:not(.expanded) button:focus,
6025 .issue.severity-error .issue-fix-item.actionable button:hover,
6026 .issue.severity-error .issue-fix-item.actionable button:focus {
6027 background: #ffc9c7;
6029 .issue.severity-error .issue-icon {
6033 .issue.severity-error .issue-fix-item.actionable {
6037 .issue.severity-error .issue-fix-item.actionable:hover,
6038 .issue.severity-error .issue-fix-item.actionable button:focus {
6045 .issues-list label {
6048 .issues-list label > span {
6050 white-space: normal;
6060 border: 1px solid #72D979;
6061 background: #C6FFCA;
6062 padding: 5px !important;
6066 .issues-none .icon {
6070 /* Entity Issues List */
6071 .entity-issues .issue {
6074 border-style: solid;
6076 .entity-issues .issue:not(:last-of-type) {
6077 margin-bottom: 10px;
6079 .issue.expanded button.message {
6081 padding-bottom: 0px;
6086 ul.issue-fix-list button {
6087 padding: 2px 10px 2px 26px;
6089 .issue-fix-item:not(.actionable) button {
6093 .issue-fix-item:not(.actionable) .fix-icon {
6098 .issue:not(.expanded) ul.issue-fix-list {
6101 /* don't animate right now
6102 .issue ul.issue-fix-list {
6104 transition: max-height 200ms linear;
6105 -moz-transition: max-height 200ms linear;
6106 -webkit-transition: max-height 200ms linear;
6108 .issue.expanded ul.issue-fix-list {
6110 transition: max-height 200ms linear;
6111 -moz-transition: max-height 200ms linear;
6112 -webkit-transition: max-height 200ms linear;
6116 /* Background - Display Options Sliders
6117 ------------------------------------------------------- */
6118 .display-options-container {
6122 .display-control h5 {
6127 .display-control h5 span {
6131 .display-control .display-option-input {
6136 .display-control button {
6141 vertical-align: text-bottom;
6144 [dir='rtl'] .display-control button {
6150 /* Background - Adjust Alignment
6151 ------------------------------------------------------- */
6152 .background-pane .nudge-container {
6153 border: 1px solid #ccc;
6158 .nudge-container .nudge-instructions {
6159 padding-bottom: 15px;
6162 .nudge-container .nudge-outer-rect {
6163 background-color: #eee;
6164 border: 1px solid #ccc;
6169 justify-content: center;
6170 align-items: center;
6176 .nudge-container .nudge-inner-rect {
6177 background-color: #fff;
6178 border: 1px solid #ccc;
6184 .nudge-container .nudge::after {
6189 left: 0; right: 0; top: 0; bottom: 0;
6194 .nudge-container input {
6201 .nudge-container input.error {
6202 border: 1px solid #ff7878;
6207 .nudge-container input:focus {
6208 background-color: transparent;
6211 .nudge-container button {
6216 background-color: transparent;
6219 .nudge-container button.right {
6224 .nudge-container button.left {
6229 .nudge-container button.top {
6234 .nudge-container button.bottom {
6238 .nudge-container button.nudge-reset {
6249 background-color: transparent;
6253 .background-pane .nudge.right::after {
6254 border-top: 5px solid transparent;
6255 border-bottom: 5px solid transparent;
6256 border-left: 5px solid #222;
6259 .background-pane .nudge.left::after {
6260 border-top: 5px solid transparent;
6261 border-bottom: 5px solid transparent;
6262 border-right: 5px solid #222;
6265 .background-pane .nudge.top::after {
6266 border-right: 5px solid transparent;
6267 border-left: 5px solid transparent;
6268 border-bottom: 5px solid #222;
6271 .background-pane .nudge.bottom::after {
6272 border-right: 5px solid transparent;
6273 border-left: 5px solid transparent;
6274 border-top: 5px solid #222;
6278 /* Side Panes - Background / Map Data / Help
6279 ------------------------------------------------------- */
6288 padding-bottom: 50px;
6292 [dir='rtl'] .map-pane {
6294 right: auto !important;
6297 .map-pane.help-wrap {
6303 flex-flow: row nowrap;
6304 justify-content: space-between;
6305 border-bottom: 1px solid #ccc;
6313 .pane-heading button {
6321 padding: 10px 50px 20px 20px;
6325 [dir='rtl'] .pane-content {
6326 padding: 10px 20px 20px 50px;
6329 .pane-content > div {
6330 padding-bottom: 15px;
6335 ------------------------------------------------------- */
6338 margin-bottom: 20px;
6341 .help-wrap .left-content .body p code {
6345 vertical-align: baseline;
6346 background-color: #f6f6f6;
6347 border: solid 1px #ccc;
6349 border-bottom-color: #bbb;
6351 box-shadow: inset 0 -1px 0 #bbb;
6354 .help-wrap .left-content .icon.pre-text {
6355 vertical-align: text-top;
6358 display: inline-block;
6365 margin-bottom: 20px;
6369 .help-wrap .toc li a,
6372 border: 1px solid #ccc;
6376 .help-wrap .toc li a {
6380 .help-wrap .toc li a:hover,
6381 .help-wrap .nav a:hover {
6382 background: #ececec;
6385 .help-wrap .toc li a.selected {
6386 background: #e8ebff;
6389 .help-wrap .toc li:first-child a {
6390 border-radius: 4px 4px 0 0;
6393 .help-wrap .toc li:nth-last-child(3) a {
6394 border-bottom: 1px solid #ccc;
6395 border-radius: 0 0 4px 4px
6398 .help-wrap .toc li.shortcuts a,
6399 .help-wrap .toc li.walkthrough a {
6402 border-bottom: 1px solid #ccc;
6406 .help-wrap .toc li.walkthrough a {
6412 padding-bottom: 30px;
6421 .help-wrap .nav a:first-child {
6422 border-radius: 4px 0 0 4px;
6425 .help-wrap .nav a:last-child:not(:only-child) {
6426 border-radius: 0 4px 4px 0;
6430 .help-wrap .nav a:only-child {
6436 /* Raster Background Tiles
6437 ------------------------------------------------------- */
6440 transform-origin: 0 0;
6441 -ms-transform-origin: 0 0;
6442 -webkit-transform-origin: 0 0;
6443 -moz-transform-origin: 0 0;
6444 -o-transform-origin: 0 0;
6446 -moz-user-select: none;
6447 -webkit-user-select: none;
6448 -ms-user-select: none;
6453 -webkit-transition: opacity 200ms linear;
6454 -moz-transition: opacity 200ms linear;
6455 transition: opacity 200ms linear;
6468 background: rgba(0, 0, 0, 0.7);
6478 transform-origin: 0 0;
6479 -ms-transform-origin: 0 0;
6480 -webkit-transform-origin: 0 0;
6481 -moz-transform-origin: 0 0;
6482 -o-transform-origin: 0 0;
6484 -moz-user-select: none;
6485 -webkit-user-select: none;
6486 -ms-user-select: none;
6491 outline: 1px solid red;
6496 ------------------------------------------------------- */
6502 -moz-user-select: none;
6503 -webkit-user-select: none;
6504 -ms-user-select: none;
6509 transform-origin: 0 0;
6510 -ms-transform-origin: 0 0;
6511 -webkit-transform-origin: 0 0;
6512 -moz-transform-origin: 0 0;
6513 -o-transform-origin: 0 0;
6516 #supersurface, .layer {
6526 ------------------------------------------------------- */
6535 border: #aaa 1px solid;
6536 box-shadow: 0 0 2em black;
6540 transform-origin: 0 0;
6541 -ms-transform-origin: 0 0;
6542 -webkit-transform-origin: 0 0;
6543 -moz-transform-origin: 0 0;
6544 -o-transform-origin: 0 0;
6546 -moz-user-select: none;
6547 -webkit-user-select: none;
6548 -ms-user-select: none;
6552 .map-in-map-viewport,
6561 .map-in-map-viewport {
6572 stroke: rgba(255, 255, 0, 0.75);
6574 shape-rendering: crispEdges;
6577 .map-in-map-bbox.thick {
6583 ------------------------------------------------------- */
6585 stroke: currentColor;
6589 .map-in-map-data .debug {
6593 .nocolor { color: rgba(0, 0, 0, 0); }
6594 .red { color: rgba(255, 0, 0, 0.75); }
6595 .green { color: rgba(0, 255, 0, 0.75); }
6596 .blue { color: rgba(176, 176, 255, 0.75); }
6597 .yellow { color: rgba(255, 255, 0, 0.75); }
6598 .cyan { color: rgba(0, 255, 255, 0.75); }
6599 .magenta { color: rgba(255, 0, 255, 0.75); }
6600 .orange { color: rgba(255, 153, 0, 0.75); }
6601 .pink { color: rgba(255, 0, 153, 0.75); }
6602 .purple { color: rgba(153, 0, 255, 0.75); }
6610 pointer-events: none;
6613 .debug-legend-item {
6616 .debug-legend-item:before {
6622 /* Information Panels
6623 ------------------------------------------------------- */
6626 flex-flow: row-reverse wrap-reverse;
6631 -ms-user-select: element;
6639 display: inline-block;
6651 margin: 2px 0 0 2px;
6653 border: 1px solid rgba(0, 0, 0, 0.75);
6654 padding-bottom: 10px;
6658 .panel-container .panel-title {
6659 border-radius: 4px 4px 0 0;
6666 .panel-title button.close {
6672 [dir='rtl'] .panel-title button.close {
6676 .panel-title button.close:hover {
6679 .panel-title button.close .icon {
6689 .panel-content li span {
6690 display: inline-block;
6691 white-space: nowrap;
6695 .panel-content .button {
6696 display: inline-block;
6697 background: #7092ff;
6704 [dir='rtl'] .panel-content .button {
6709 .panel-content-history .links a {
6712 [dir='rtl'] .panel-content-history .links a {
6717 .panel-content-history .view-history-on-osm {
6722 .panel-content-location .location-info {
6727 /* About Section, Attribution, Footer
6728 ------------------------------------------------------- */
6735 pointer-events: none;
6737 flex-direction: column;
6738 -ms-user-select: element;
6747 #attrib * { pointer-events: all; }
6749 .base-layer-attribution,
6750 .overlay-layer-attribution {
6756 .base-layer-attribution {
6760 .overlay-layer-attribution {
6764 .overlay-layer-attribution .attribution:not(:last-child):after {
6769 .attribution a:visited {
6773 .attribution a:hover {
6777 .attribution .source-image {
6779 vertical-align: middle;
6788 pointer-events: all;
6794 /* Footer - Flash messages
6795 ------------------------------------------------------- */
6799 flex-flow: row nowrap;
6800 justify-content: space-between;
6810 flex-flow: row nowrap;
6811 align-items: center;
6823 .flash-icon circle {
6826 .flash-icon.disabled circle {
6828 fill: rgba(255,255,255,0.7);
6834 .flash-icon.disabled use {
6835 color: rgba(32,32,32,0.7);
6838 .flash-icon.operation use {
6842 .flash-icon.operation.disabled use {
6843 fill: rgba(32,32,32,0.7);
6844 color: rgba(40,40,40,0.7);
6854 flex-flow: row nowrap;
6855 justify-content: space-between;
6864 transition: bottom 75ms linear;
6865 -moz-transition: bottom 75ms linear;
6866 -webkit-transition: bottom 75ms linear;
6871 transition: bottom 75ms linear;
6872 -moz-transition: bottom 75ms linear;
6873 -webkit-transition: bottom 75ms linear;
6877 /* Footer - Scale bar, About, Source Switcher
6878 ------------------------------------------------------- */
6880 vertical-align: bottom;
6884 -moz-user-select: none;
6885 -webkit-user-select: none;
6886 -ms-user-select: none;
6899 [dir='rtl'] #scale {
6900 transform: scaleX(-1);
6908 font: 12px sans-serif;
6913 [dir='rtl'] #scale text {
6914 transform: scaleX(-1);
6921 shape-rendering: crispEdges;
6930 [dir='rtl'] #about-list {
6939 border-left: 1px solid rgba(255,255,255,.5);
6940 padding: 5px 0 5px 5px;
6943 [dir='rtl'] #about-list li {
6946 border-right: 1px solid rgba(255,255,255,.5);
6949 padding: 5px 5px 5px 0;
6952 #about-list li:last-child {
6957 [dir='rtl'] #about-list li:last-child {
6962 padding: 2px 4px 4px 4px;
6965 .source-switch a.live {
6966 background: #d32232;
6970 .feature-warning a {
6971 background: #1e90ff;
6972 padding: 2px 4px 4px 4px;
6977 .user-list a:not(:last-child):after {
6987 [dir='rtl'] .api-status {
6991 .api-status.offline,
6992 .api-status.readonly,
7000 .api-status-login:hover {
7004 /* Notification Badges
7005 ------------------------------------------------------- */
7006 /* For an icon (e.g. new version) */
7008 display: inline-block;
7009 background: #d32232;
7012 border-radius: 11px;
7015 [dir='rtl'] .badge {
7022 [dir='rtl'] .badge a {
7027 vertical-align: baseline;
7033 /* For text (e.g. upcoming events) */
7035 display: inline-block;
7046 [dir='rtl'] .badge-text {
7053 ------------------------------------------------------- */
7056 display: inline-block;
7067 margin-bottom: 10px;
7069 .modal .description {
7084 background: rgba(0,0,0,0.5);
7086 left: 0px; right: 0px; top: 0px; bottom: 0px;
7091 border-bottom: 1px solid #ccc;
7093 .modal-section.header h3 {
7096 .modal-section.buttons {
7100 .modal-section.buttons button {
7104 .modal-section.buttons .action {
7105 display: inline-block;
7108 vertical-align: middle;
7111 .save-section .buttons {
7114 justify-content: space-around;
7115 margin-bottom: 30px;
7118 .save-section .buttons .action,
7119 .save-section .buttons .secondary-action {
7123 vertical-align: middle;
7130 .modal-actions button {
7131 font-weight: normal;
7133 border-bottom: 1px solid #ccc;
7137 display: inline-block;
7139 .modal-actions button:hover {
7140 background-color: #ececec;
7156 .modal-actions > :first-child {
7157 border-right: 1px solid #ccc;
7160 .modal-section:last-child {
7165 ------------------------------------------------------- */
7166 .modal-actions .logo-restore {
7169 .modal-actions .logo-reset {
7173 /* Success Screen / Community Index
7174 ------------------------------------------------------- */
7175 .save-success.body {
7180 .save-success .link-out {
7182 white-space: nowrap;
7186 .save-communityLinks {
7187 padding: 0px 20px 15px 20px;
7190 .save-communityLinks {
7191 border-top: 1px solid #ccc;
7194 .save-success table,
7205 vertical-align: top;
7207 .save-success td.cell-icon {
7210 .save-success td.cell-detail {
7213 .save-success td.community-detail {
7214 padding-bottom: 15px;
7217 .summary-view-on-osm,
7222 .community-languages {
7226 .community-languages:only-child {
7230 .community-detail a.hide-toggle,
7231 .community-detail a:visited.hide-toggle {
7233 font-weight: normal;
7236 .community-detail .hide-toggle svg.icon.pre-text {
7247 background-color: #efefef;
7253 .community-event-name {
7257 .community-event-when {
7261 .community-missing {
7268 ------------------------------------------------------- */
7269 .modal-actions .logo-walkthrough,
7270 .modal-actions .logo-features {
7276 ------------------------------------------------------- */
7282 .modal-shortcuts .modal-section:last-child {
7287 .modal-shortcuts .tabs-bar {
7289 padding-bottom: 5px;
7294 .modal-shortcuts .tab {
7295 display: inline-block;
7301 .modal-shortcuts .tab.active {
7303 border-bottom: 2px solid;
7305 .modal-shortcuts .tab:hover {
7307 background-color: #efefef;
7310 .modal-shortcuts .shortcut-tab {
7312 flex-flow: row wrap;
7315 .modal-shortcuts .shortcut-column {
7320 .modal-shortcuts .shortcut-tab-tools .shortcut-column {
7325 .modal-shortcuts td {
7326 padding-bottom: 5px;
7329 .modal-shortcuts .shortcut-section {
7330 padding: 20px 0 10px 0;
7333 .modal-shortcuts .shortcut-keys {
7338 [dir='rtl'] .modal-shortcuts .shortcut-keys {
7342 .modal-shortcuts .shortcut-keys kbd {
7343 display: inline-block;
7350 vertical-align: baseline;
7351 background-color: #fcfcfc;
7352 border: solid 1px #ccc;
7354 border-bottom-color: #bbb;
7356 box-shadow: inset 0 -1px 0 #bbb;
7359 svg.mouseclick use.left {
7360 fill: rgba(112, 146, 255, 1);
7361 color: rgba(112, 146, 255, 0);
7363 svg.mouseclick use.right {
7364 fill: rgba(112, 146, 255, 0);
7365 color: rgba(112, 146, 255, 1);
7368 .modal-shortcuts .shortcut-keys .gesture {
7375 ------------------------------------------------------- */
7376 .settings-modal textarea {
7381 .settings-custom-background .instructions-template {
7382 margin-bottom: 20px;
7385 .settings-custom-data .instructions-url {
7386 margin-bottom: 10px;
7388 .settings-custom-data .field-file,
7389 .settings-custom-data .instructions-template {
7390 margin-bottom: 20px;
7395 ------------------------------------------------------- */
7396 .mode-save a.user-info {
7397 display: inline-block;
7400 .mode-save .commit-form {
7404 .mode-save .user-info img {
7408 .mode-save h3 small.count {
7416 border-radius: 24px;
7418 background: #7092ff;
7422 .note-save .field-warning,
7423 .mode-save .field-warning {
7425 border: 1px solid #ccc;
7430 .note-save .field-warning:empty,
7431 .mode-save .field-warning:empty {
7435 .mode-save .field-warning,
7436 .mode-save .changeset-info,
7437 .mode-save .request-review,
7438 .mode-save .commit-info {
7439 margin-bottom: 10px;
7442 .mode-save .request-review label {
7446 .mode-save .changeset-list {
7447 border: 1px solid #ccc;
7450 margin-bottom: 10px;
7453 .mode-save .warning-section .changeset-list button {
7454 border-left: 1px solid #ccc;
7457 .mode-save .changeset-list li {
7459 border-top: 1px solid #ccc;
7464 .mode-save .changeset-list li:hover {
7465 background-color: #ececec;
7468 .mode-save .changeset-list .alert {
7472 .changeset-list li span.count {
7477 .mode-save .commit-section .changeset-list button {
7478 border-left: 1px solid #ccc;
7481 .changeset-list li span.count:before { content: '('; }
7483 .changeset-list li span.count:after { content: ')'; }
7485 .changeset-list li:first-child { border-top: 0;}
7488 /* Conflict resolution
7489 ------------------------------------------------------- */
7492 background-color: #ffffbb;
7493 border-bottom: 1px solid #ccc;
7496 .conflicts-buttons {
7500 .mode-save button.conflicts-button {
7504 .conflict-container {
7505 border-bottom: 1px solid #ccc;
7508 .conflict-description {
7514 padding: 20px 20px 0 20px;
7517 .conflict-detail-container {
7529 .conflict-nav-buttons {
7530 padding: 10px 0 20px 0;
7533 .conflict-nav-button {
7538 /* Notices (Zoom in to Edit)
7539 ------------------------------------------------------- */
7556 .notice .zoom-to:hover {
7557 background: rgba(0,0,0,0.6);
7560 .notice .zoom-to .icon {
7563 vertical-align: middle;
7566 [dir='rtl'] .notice .zoom-to .icon {
7573 ------------------------------------------------------- */
7579 white-space: initial;
7581 .tooltip:not(.curtain-tooltip) {
7582 pointer-events: none;
7608 display: inline-block;
7613 font-weight: normal;
7614 background-color: #fff;
7620 pointer-events: none;
7624 background: transparent;
7631 border-color: transparent;
7632 border-style: solid;
7636 border-left-color: #fff;
7637 border-width: 5px 0 5px 5px;
7656 border-color: transparent;
7657 border-style: solid;
7661 border-right-color: #fff;
7662 border-width: 5px 5px 5px 0;
7669 border-color: transparent;
7670 border-style: solid;
7672 .tooltip.top .tooltip-arrow {
7676 border-top-color: #fff;
7677 border-width: 5px 5px 0;
7679 .tooltip.right .tooltip-arrow {
7683 border-right-color: #fff;
7684 border-width: 5px 5px 5px 0;
7686 .tooltip.left .tooltip-arrow {
7690 border-left-color: #fff;
7691 border-width: 5px 0 5px 5px;
7693 .tooltip.bottom .tooltip-arrow {
7697 border-bottom-color: #fff;
7698 border-width: 0 5px 5px;
7703 background: #f6f6f6;
7705 margin: -10px -10px 10px -10px;
7706 border-radius: 3px 3px 0 0;
7711 background: #f6f6f6;
7713 margin: 10px -10px -10px -10px;
7714 border-radius: 0 0 3px 3px;
7716 .tooltip-inner .keyhint {
7721 [dir='rtl'] .tooltip-inner .keyhint {
7726 /* dark tooltips for sidebar / panels */
7727 .map-pane .tooltip.top .tooltip-arrow,
7728 #sidebar .tooltip.top .tooltip-arrow {
7729 border-top-color: #000;
7731 .map-pane .tooltip.bottom .tooltip-arrow,
7732 #sidebar .tooltip.bottom .tooltip-arrow {
7733 border-bottom-color: #000;
7735 .map-pane .tooltip.left .tooltip-arrow,
7736 #sidebar .tooltip.left .tooltip-arrow {
7737 border-left-color: #000;
7739 .map-pane .tooltip.right .tooltip-arrow,
7740 #sidebar .tooltip.right .tooltip-arrow {
7741 border-right-color: #000;
7743 .map-pane .tooltip-inner,
7744 .map-pane .tooltip-heading,
7745 .map-pane .keyhint-wrap,
7746 #sidebar .tooltip-inner,
7747 #sidebar .tooltip-heading,
7748 #sidebar .keyhint-wrap {
7753 /* Exceptions for tooltip layouts */
7755 /* commit warning tooltips need to be closer */
7756 .warning-section .tooltip.top {
7760 /* Uncramp map-control tooltips */
7761 .map-control .tooltip {
7764 .map-control .shortcuts .tooltip {
7768 /* Move over tooltips that are near the edge of screen */
7769 button.sidebar-toggle .tooltip .tooltip-arrow {
7772 [dir='rtl'] button.sidebar-toggle .tooltip .tooltip-arrow {
7777 li:first-of-type .badge .tooltip,
7778 li.hide + li.version .badge .tooltip {
7779 left: auto !important;
7780 right: 5px !important;
7782 [dir='rtl'] li:first-of-type .badge .tooltip,
7783 [dir='rtl'] li.hide + li.version .badge .tooltip {
7784 left: 5px !important;
7785 right: auto !important;
7787 li:first-of-type .badge .tooltip .tooltip-arrow,
7788 li.hide + li.version .badge .tooltip .tooltip-arrow {
7789 right: 15px !important;
7790 left: auto !important;
7792 [dir='rtl'] li:first-of-type .badge .tooltip .tooltip-arrow,
7793 [dir='rtl'] li.hide + li.version .badge .tooltip .tooltip-arrow {
7794 left: 15px !important;
7795 right: auto !important;
7799 /* Contextual Radial Menu (deprecated)
7800 ------------------------------------------------------- */
7801 .radial-menu-tooltip {
7808 .radial-menu-background {
7811 stroke-opacity: 0.5;
7814 .radial-menu-item circle {
7818 .radial-menu-item circle:active,
7819 .radial-menu-item circle:hover {
7823 .radial-menu-item.disabled circle {
7825 fill: rgba(255,255,255,.5);
7828 .radial-menu-item use {
7833 .radial-menu-item.disabled use {
7834 fill: rgba(32,32,32,.5);
7835 color: rgba(40,40,40,.5);
7839 /* Contextual Edit Menu
7840 ------------------------------------------------------- */
7841 .edit-menu-tooltip {
7847 .edit-menu-background {
7851 .edit-menu-item rect {
7856 .edit-menu-item rect:active,
7857 .edit-menu-item rect:hover {
7861 .edit-menu-item.disabled rect {
7862 cursor: not-allowed;
7864 .edit-menu-item.disabled rect:hover {
7865 cursor: not-allowed;
7869 .edit-menu-item use {
7872 pointer-events: none;
7874 .edit-menu-item.disabled use {
7875 fill: rgba(32,32,32,.2);
7876 color: rgba(40,40,40,.2);
7881 ------------------------------------------------------- */
7887 stroke-dasharray: 5, 5;
7892 ----------------------------------------------------- */
7893 ::-webkit-scrollbar {
7898 border-left: 1px solid #DDD;
7901 ::-webkit-scrollbar-track {
7902 background-clip: padding-box;
7903 border: solid transparent;
7907 ::-webkit-scrollbar-thumb {
7908 background-color: rgba(0,0,0,.2);
7909 background-clip: padding-box;
7910 border: solid transparent;
7911 border-width: 3px 3px 3px 4px;
7914 ::-webkit-scrollbar-track:hover,
7915 ::-webkit-scrollbar-track:active {
7916 background-color: rgba(0,0,0,.05);
7920 /* Intro walkthrough
7921 ----------------------------------------------------- */
7923 pointer-events: all;
7931 flex-direction: row;
7940 .intro-nav-wrap .intro-nav-wrap-logo {
7946 vertical-align: middle;
7949 .intro-nav-wrap .joined {
7952 flex-direction: row;
7955 .intro-nav-wrap button.chapter {
7960 .intro-nav-wrap button.chapter.next {
7961 animation-duration: 1s;
7962 animation-name: pulse;
7963 animation-iteration-count: infinite;
7964 animation-direction: alternate;
7967 from { background: #7092ff; }
7968 to { background: #c6d4ff; }
7971 .intro-nav-wrap button.chapter.finished {
7972 background: #8cd05f;
7975 .intro-nav-wrap button.chapter .status {
7979 .intro-nav-wrap button.chapter.finished .status {
7980 display: inline-block;
7983 .curtain-tooltip.tooltip.in {
7986 .curtain-tooltip.tooltip {
7989 [dir='rtl'] .curtain-tooltip.tooltip {
7993 .curtain-tooltip .tooltip-inner {
7999 .curtain-tooltip .tooltip-inner .button-section,
8000 .curtain-tooltip .tooltip-inner .instruction {
8003 border-top: 1px solid #ccc;
8006 margin-right: -20px;
8007 padding: 10px 20px 0 20px;
8010 [dir='rtl'] .curtain-tooltip .tooltip-inner .button-section button.col8 {
8014 .curtain-tooltip .tooltip-inner .instruction:only-child {
8020 .curtain-tooltip .tooltip-inner .icon.pre-text {
8021 vertical-align: text-top;
8024 display: inline-block;
8027 .curtain-tooltip.intro-points-describe ,
8028 .curtain-tooltip.intro-lines-name_road {
8029 top: 133px !important;
8032 .tooltip-illustration {
8038 [dir='rtl'] .tooltip-illustration {
8040 margin-right: -20px;
8043 .curtain-tooltip.intro-mouse {
8044 -moz-user-select: none;
8045 -webkit-user-select: none;
8046 -ms-user-select: none;
8050 .curtain-tooltip.intro-mouse .counter {
8061 .curtain-tooltip.intro-mouse .tooltip-illustration use {
8062 fill: rgba(112, 146, 255, 0);
8063 color: rgba(112, 146, 255, 0);
8065 .curtain-tooltip.intro-mouse.leftclick .tooltip-illustration use {
8066 fill: rgba(112, 146, 255, 1);
8068 .curtain-tooltip.intro-mouse.rightclick .tooltip-illustration use {
8069 color: rgba(112, 146, 255, 1);
8072 .huge-modal-button {
8078 .huge-modal-button .illustration {