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: none; /* 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 {
281 g.qa_error.hover:not(.selected) .shadow,
282 g.note.hover:not(.selected) .shadow,
283 g.point.related:not(.selected) .shadow,
284 g.point.hover:not(.selected) .shadow {
288 g.qa_error.selected .shadow,
289 g.note.selected .shadow,
290 g.point.selected .shadow {
294 /* g.note ellipse.stroke, */
295 g.point ellipse.stroke {
298 .mode-drag-note g.note.active ellipse.stroke,
299 .mode-drag-node g.point.active ellipse.stroke {
304 /* vertices and midpoints */
313 g.vertex.shared .stroke {
330 g.vertex.related:not(.selected) .shadow,
331 g.vertex.hover:not(.selected) .shadow,
332 g.midpoint.related:not(.selected) .shadow,
333 g.midpoint.hover:not(.selected) .shadow {
337 g.vertex.selected .shadow {
343 .preset-icon .icon.iD-other-line {
346 .preset-icon-container path.line.casing {
351 stroke-linecap: round;
352 stroke-linejoin: round;
364 stroke-linecap: round;
365 stroke-linejoin: round;
368 path.shadow.related:not(.selected),
369 path.shadow.hover:not(.selected) {
373 path.shadow.selected {
383 /* Labels / Markers */
390 .oneway .textpath.tag-waterway {
394 .onewaygroup path.oneway,
395 .viewfieldgroup path.viewfield,
396 .sidedgroup path.sided {
402 text.pointlabel-halo,
406 dominant-baseline: middle;
411 -webkit-transition: opacity 100ms linear;
412 transition: opacity 100ms linear;
413 -moz-transition: opacity 100ms linear;
416 /* Opera doesn't support dominant-baseline. See #715 */
417 /* Safari 10 seems to have regressed too */
418 .linelabel-halo .textpath,
419 .linelabel .textpath {
420 baseline-shift: -33%;
421 dominant-baseline: auto;
424 .labels-group.halo text {
428 stroke-miterlimit: 1;
432 opacity: 0 !important;
438 .icon.areaicon-halo {
442 stroke-miterlimit: 1;
450 /* Wikidata-tagged */
451 g.point.tag-wikidata path.stroke {
459 g.point.highlighted .shadow,
460 path.shadow.highlighted {
461 stroke-opacity: 0.95;
464 g.vertex.highlighted .shadow {
466 stroke-opacity: 0.95;
470 /* Turn Restrictions */
471 .points-group.turns g.turn rect,
472 .points-group.turns g.turn circle {
476 /* Turn restriction paths and vertices */
477 .surface.tr .way.target,
478 .surface.tr path.shadow.selected,
479 .surface.tr path.shadow.related {
483 .surface.tr path.shadow.selected,
484 .surface.tr path.shadow.related,
485 .surface.tr g.vertex.selected .shadow,
486 .surface.tr g.vertex.related .shadow {
490 .surface.tr path.shadow.related.allow,
491 .surface.tr g.vertex.related.allow .shadow {
494 .surface.tr path.shadow.related.restrict,
495 .surface.tr g.vertex.related.restrict .shadow {
498 .surface.tr path.shadow.related.only,
499 .surface.tr g.vertex.related.only .shadow {
503 /* Default - light gray */
505 stroke: rgb(170, 170, 170);
510 stroke: rgba(255, 255, 255, 0.3);
511 fill: rgba(255, 255, 255, 0.3);
514 .preset-icon-fill path.fill {
515 stroke: rgb(170, 170, 170);
516 fill: rgba(170, 170, 170, 0.3);
519 path.shadow.old-multipolygon,
520 path.stroke.old-multipolygon {
521 stroke-dasharray: 100, 5;
522 stroke-linecap: butt;
527 path.stroke.tag-natural,
528 path.stroke.tag-natural-wood,
529 path.stroke.tag-leisure-nature_reserve,
530 path.stroke.tag-leisure-pitch,
531 path.stroke.tag-leisure-track,
532 path.stroke.tag-leisure-golf_course,
533 path.stroke.tag-leisure-garden,
534 path.stroke.tag-leisure-park,
535 path.stroke.tag-landuse-recreation_ground,
536 path.stroke.tag-landuse-forest,
537 path.stroke.tag-landuse-grass,
538 path.stroke.tag-barrier-hedge {
539 stroke: rgb(140, 208, 95);
541 path.fill.tag-natural,
542 path.fill.tag-natural-wood,
543 path.fill.tag-leisure-nature_reserve,
544 path.fill.tag-leisure-pitch,
545 path.fill.tag-leisure-track,
546 path.fill.tag-leisure-golf_course,
547 path.fill.tag-leisure-garden,
548 path.fill.tag-leisure-park,
549 path.fill.tag-landuse-recreation_ground,
550 path.fill.tag-landuse-forest,
551 path.fill.tag-landuse-grass,
552 path.fill.tag-barrier-hedge {
553 stroke: rgba(140, 208, 95, 0.3);
554 fill: rgba(140, 208, 95, 0.3);
556 .pattern-color-forest,
557 .pattern-color-forest_broadleaved,
558 .pattern-color-forest_needleleaved,
559 .pattern-color-forest_leafless,
561 .pattern-color-grass {
562 fill: rgba(140, 208, 95, 0.3);
567 path.stroke.tag-amenity-fountain,
568 path.stroke.tag-leisure-swimming_pool,
569 path.stroke.tag-natural-bay,
570 path.stroke.tag-natural-water {
571 stroke: rgb(119, 211, 222);
573 path.fill.tag-amenity-fountain,
574 path.fill.tag-leisure-swimming_pool,
575 path.fill.tag-natural-bay,
576 path.fill.tag-natural-water {
577 stroke: rgba(119, 211, 222, 0.3);
578 fill: rgba(119, 211, 222, 0.3);
580 .pattern-color-waves,
581 .pattern-color-water_standing,
582 .pattern-color-pond {
583 fill: rgba(119, 211, 222, 0.3);
588 path.stroke.tag-leisure-pitch.tag-sport-beachvolleyball,
589 path.stroke.tag-leisure-pitch.tag-sport-baseball,
590 path.stroke.tag-leisure-pitch.tag-sport-softball,
591 path.stroke.tag-leisure-track,
592 path.stroke.tag-natural-beach,
593 path.stroke.tag-natural-sand,
594 path.stroke.tag-natural-scrub,
595 path.stroke.tag-amenity-childcare,
596 path.stroke.tag-amenity-kindergarten,
597 path.stroke.tag-amenity-school,
598 path.stroke.tag-amenity-college,
599 path.stroke.tag-amenity-university {
600 stroke: rgba(255, 255, 148, 0.75);
602 path.fill.tag-leisure-pitch.tag-sport-beachvolleyball,
603 path.fill.tag-leisure-pitch.tag-sport-baseball,
604 path.fill.tag-leisure-pitch.tag-sport-softball,
605 path.fill.tag-leisure-track,
606 path.fill.tag-natural-beach,
607 path.fill.tag-natural-sand,
608 path.fill.tag-natural-scrub,
609 path.fill.tag-amenity-childcare,
610 path.fill.tag-amenity-kindergarten,
611 path.fill.tag-amenity-school,
612 path.fill.tag-amenity-college,
613 path.fill.tag-amenity-university {
614 stroke: rgba(255, 255, 148, 0.25);
615 fill: rgba(255, 255, 148, 0.25);
617 .preset-icon-fill path.area.stroke.tag-leisure-pitch.tag-sport-beachvolleyball,
618 .preset-icon-fill path.area.stroke.tag-leisure-pitch.tag-sport-baseball,
619 .preset-icon-fill path.area.stroke.tag-leisure-pitch.tag-sport-softball,
620 .preset-icon-fill path.area.stroke.tag-leisure-track,
621 .preset-icon-fill path.area.stroke.tag-natural-beach,
622 .preset-icon-fill path.area.stroke.tag-natural-sand,
623 .preset-icon-fill path.area.stroke.tag-natural-scrub,
624 .preset-icon-fill path.area.stroke.tag-amenity-childcare,
625 .preset-icon-fill path.area.stroke.tag-amenity-kindergarten,
626 .preset-icon-fill path.area.stroke.tag-amenity-school,
627 .preset-icon-fill path.area.stroke.tag-amenity-college,
628 .preset-icon-fill path.area.stroke.tag-amenity-university {
629 stroke: rgb(232, 232, 0);
631 .pattern-color-beach,
633 .pattern-color-scrub {
634 fill: rgba(255, 255, 148, 0.2);
639 path.stroke.tag-landuse-residential,
640 path.stroke.tag-status-construction {
641 stroke: rgb(196, 189, 25);
643 path.fill.tag-landuse-residential {
644 stroke: rgba(196, 189, 25, 0.3);
645 fill: rgba(196, 189, 25, 0.3);
647 .pattern-color-construction {
648 fill: rgba(196, 189, 25, 0.3);
653 path.stroke.tag-landuse-retail,
654 path.stroke.tag-landuse-commercial,
655 path.stroke.tag-landuse-landfill,
656 path.stroke.tag-military,
657 path.stroke.tag-landuse-military {
658 stroke: rgb(214, 136, 26);
660 path.fill.tag-landuse-retail,
661 path.fill.tag-landuse-commercial,
662 path.fill.tag-landuse-landfill,
663 path.fill.tag-military,
664 path.fill.tag-landuse-military {
665 stroke: rgba(214, 136, 26, 0.3);
666 fill: rgba(214, 136, 26, 0.3);
668 .pattern-color-landfill {
669 fill: rgba(214, 136, 26, 0.3);
674 path.stroke.tag-landuse-industrial,
675 path.stroke.tag-power-plant {
676 stroke: rgb(228, 164, 245);
678 path.fill.tag-landuse-industrial,
679 path.fill.tag-power-plant {
680 stroke: rgba(228, 164, 245, 0.3);
681 fill: rgba(228, 164, 245, 0.3);
686 path.stroke.tag-natural-wetland {
687 stroke: rgb(153, 225, 170);
689 .preset-icon-fill path.area.fill.tag-natural-wetland {
690 fill: rgba(153, 225, 170, 0.2);
692 .pattern-color-wetland,
693 .pattern-color-wetland_marsh,
694 .pattern-color-wetland_swamp,
695 .pattern-color-wetland_bog,
696 .pattern-color-wetland_reedbed {
697 fill: rgba(153, 225, 170, 0.3);
701 /* Light Green things */
702 path.stroke.tag-landuse-cemetery,
703 path.stroke.tag-landuse-orchard,
704 path.stroke.tag-landuse-vineyard,
705 path.stroke.tag-landuse-meadow,
706 path.stroke.tag-landuse-farmland {
707 stroke: rgb(191, 232, 63);
709 .preset-icon-fill path.area.fill.tag-landuse-cemetery,
710 .preset-icon-fill path.area.fill.tag-landuse-orchard,
711 .preset-icon-fill path.area.fill.tag-landuse-vineyard,
712 .preset-icon-fill path.area.fill.tag-landuse-meadow,
713 .preset-icon-fill path.area.fill.tag-landuse-farmland {
714 fill: rgba(191, 232, 63, 0.2);
716 .pattern-color-cemetery,
717 .pattern-color-cemetery_christian,
718 .pattern-color-cemetery_buddhist,
719 .pattern-color-cemetery_muslim,
720 .pattern-color-cemetery_jewish,
721 .pattern-color-orchard,
722 .pattern-color-vineyard,
723 .pattern-color-meadow,
724 .pattern-color-farmland {
725 fill: rgba(191, 232, 63, 0.2);
730 path.stroke.tag-landuse-farmyard {
731 stroke: rgb(245, 220, 186);
733 path.fill.tag-landuse-farmyard {
734 stroke: rgba(245, 220, 186, 0.3);
735 fill: rgba(245, 220, 186, 0.3);
737 .preset-icon-fill path.area.stroke.tag-landuse-farmyard {
738 stroke: rgb(226, 177, 111);
740 .pattern-color-farmyard {
741 fill: rgba(245, 220, 186, 0.3);
745 /* Dark Gray things */
746 path.stroke.tag-amenity-parking,
747 path.stroke.tag-landuse-railway,
748 path.stroke.tag-landuse-quarry,
749 path.stroke.tag-leisure-pitch.tag-sport-basketball,
750 path.stroke.tag-leisure-pitch.tag-sport-skateboard,
751 path.stroke.tag-man_made-adit,
752 path.stroke.tag-man_made-groyne,
753 path.stroke.tag-man_made-breakwater,
754 path.stroke.tag-natural-bare_rock,
755 path.stroke.tag-natural-cave_entrance,
756 path.stroke.tag-natural-cliff,
757 path.stroke.tag-natural-rock,
758 path.stroke.tag-natural-scree,
759 path.stroke.tag-natural-stone,
760 path.stroke.tag-natural-shingle,
761 path.stroke.tag-waterway-dam,
762 path.stroke.tag-waterway-weir {
763 stroke: rgb(170, 170, 170);
765 path.fill.tag-amenity-parking,
766 path.fill.tag-landuse-railway,
767 path.fill.tag-landuse-quarry,
768 path.fill.tag-leisure-pitch.tag-sport-basketball,
769 path.fill.tag-leisure-pitch.tag-sport-skateboard,
770 path.fill.tag-man_made-adit,
771 path.fill.tag-man_made-groyne,
772 path.fill.tag-man_made-breakwater,
773 path.fill.tag-natural-bare_rock,
774 path.fill.tag-natural-cliff,
775 path.fill.tag-natural-cave_entrance,
776 path.fill.tag-natural-rock,
777 path.fill.tag-natural-scree,
778 path.fill.tag-natural-stone,
779 path.fill.tag-natural-shingle,
780 path.fill.tag-waterway-dam,
781 path.fill.tag-waterway-weir {
782 stroke: rgba(140, 140, 140, 0.5);
783 fill: rgba(140, 140, 140, 0.5);
785 .pattern-color-quarry {
786 fill: rgba(140, 140, 140, 0.5);
790 /* Light gray overrides */
791 path.stroke.tag-natural-cave_entrance,
792 path.stroke.tag-natural-glacier {
793 stroke: rgb(170, 170, 170);
795 path.fill.tag-natural-cave_entrance,
796 path.fill.tag-natural-glacier {
797 stroke: rgba(255, 255, 255, 0.3);
798 fill: rgba(255, 255, 255, 0.3);
800 .preset-icon-fill path.fill.tag-natural-cave_entrance,
801 .preset-icon-fill path.fill.tag-natural-glacier {
802 stroke: rgb(170, 170, 170);
803 fill: rgba(170, 170, 170, 0.3);
805 preset-icon-container/* highways */
808 .preset-icon .icon.tag-highway.other-line {
812 path.line.casing.tag-highway {
815 path.line.stroke.tag-highway {
820 path.line.shadow.tag-highway {
823 path.line.casing.tag-highway {
826 path.line.stroke.tag-highway {
829 .low-zoom path.line.shadow.tag-highway {
832 .low-zoom path.line.casing.tag-highway {
835 .low-zoom path.line.stroke.tag-highway {
839 .preset-icon .icon.tag-highway-motorway,
840 .preset-icon .icon.tag-highway-motorway_link {
844 path.line.stroke.tag-highway-motorway,
845 path.line.stroke.tag-highway-motorway_link,
846 path.line.stroke.tag-motorway {
849 path.line.casing.tag-highway-motorway,
850 path.line.casing.tag-highway-motorway_link,
851 path.line.casing.tag-motorway {
855 .preset-icon .icon.tag-highway-trunk,
856 .preset-icon .icon.tag-highway-trunk_link {
860 path.line.stroke.tag-highway-trunk,
861 path.line.stroke.tag-highway-trunk_link,
862 path.line.stroke.tag-trunk {
865 path.line.casing.tag-highway-trunk,
866 path.line.casing.tag-highway-trunk_link,
867 path.line.casing.tag-trunk {
871 .preset-icon .icon.tag-highway-primary,
872 .preset-icon .icon.tag-highway-primary_link {
876 path.line.stroke.tag-highway-primary,
877 path.line.stroke.tag-highway-primary_link,
878 path.line.stroke.tag-primary {
881 path.line.casing.tag-highway-primary,
882 path.line.casing.tag-highway-primary_link,
883 path.line.casing.tag-primary {
887 .preset-icon .icon.tag-highway-secondary,
888 .preset-icon .icon.tag-highway-secondary_link {
892 path.line.stroke.tag-highway-secondary,
893 path.line.stroke.tag-highway-secondary_link,
894 path.line.stroke.tag-secondary {
897 path.line.casing.tag-highway-secondary,
898 path.line.casing.tag-highway-secondary_link,
899 path.line.casing.tag-secondary {
903 .preset-icon .icon.tag-highway-tertiary,
904 .preset-icon .icon.tag-highway-tertiary_link {
908 path.line.stroke.tag-highway-tertiary,
909 path.line.stroke.tag-highway-tertiary_link,
910 path.line.stroke.tag-tertiary {
913 path.line.casing.tag-highway-tertiary,
914 path.line.casing.tag-highway-tertiary_link,
915 path.line.casing.tag-tertiary {
919 .legacy-carto .preset-icon .icon.tag-highway-motorway,
920 .legacy-carto .preset-icon .icon.tag-highway-motorway_link {
924 .legacy-carto path.line.stroke.tag-highway-motorway,
925 .legacy-carto path.line.stroke.tag-highway-motorway_link,
926 .legacy-carto path.line.stroke.tag-motorway {
929 .legacy-carto path.line.casing.tag-highway-motorway,
930 .legacy-carto path.line.casing.tag-highway-motorway_link,
931 .legacy-carto path.line.casing.tag-motorway {
935 .legacy-carto .preset-icon .icon.tag-highway-trunk,
936 .legacy-carto .preset-icon .icon.tag-highway-trunk_link {
940 .legacy-carto path.line.stroke.tag-highway-trunk,
941 .legacy-carto path.line.stroke.tag-highway-trunk_link,
942 .legacy-carto path.line.stroke.tag-trunk {
945 .legacy-carto path.line.casing.tag-highway-trunk,
946 .legacy-carto path.line.casing.tag-highway-trunk_link,
947 .legacy-carto path.line.casing.tag-trunk {
951 .legacy-carto .preset-icon .icon.tag-highway-primary,
952 .legacy-carto .preset-icon .icon.tag-highway-primary_link {
956 .legacy-carto path.line.stroke.tag-highway-primary,
957 .legacy-carto path.line.stroke.tag-highway-primary_link,
958 .legacy-carto path.line.stroke.tag-primary {
961 .legacy-carto path.line.casing.tag-highway-primary,
962 .legacy-carto path.line.casing.tag-highway-primary_link,
963 .legacy-carto path.line.casing.tag-primary {
967 .legacy-carto .preset-icon .icon.tag-highway-secondary,
968 .legacy-carto .preset-icon .icon.tag-highway-secondary_link {
972 .legacy-carto path.line.stroke.tag-highway-secondary,
973 .legacy-carto path.line.stroke.tag-highway-secondary_link,
974 .legacy-carto path.line.stroke.tag-secondary {
977 .legacy-carto path.line.casing.tag-highway-secondary,
978 .legacy-carto path.line.casing.tag-highway-secondary_link,
979 .legacy-carto path.line.casing.tag-secondary {
983 .legacy-carto .preset-icon .icon.tag-highway-tertiary,
984 .legacy-carto .preset-icon .icon.tag-highway-tertiary_link {
988 .legacy-carto path.line.stroke.tag-highway-tertiary,
989 .legacy-carto path.line.stroke.tag-highway-tertiary_link,
990 .legacy-carto path.line.stroke.tag-tertiary {
993 .legacy-carto path.line.casing.tag-highway-tertiary,
994 .legacy-carto path.line.casing.tag-highway-tertiary_link,
995 .legacy-carto path.line.casing.tag-tertiary {
999 .preset-icon .icon.tag-highway-residential {
1003 path.line.stroke.tag-highway-residential,
1004 path.line.stroke.tag-residential {
1007 path.line.casing.tag-highway-residential,
1008 path.line.casing.tag-residential {
1012 .preset-icon .icon.tag-highway-unclassified {
1016 path.line.stroke.tag-highway-unclassified,
1017 path.line.stroke.tag-unclassified {
1020 path.line.casing.tag-highway-unclassified,
1021 path.line.casing.tag-unclassified {
1026 /* narrow highways */
1027 path.line.shadow.tag-highway-living_street,
1028 path.line.shadow.tag-highway-bus_guideway,
1029 path.line.shadow.tag-highway-service,
1030 path.line.shadow.tag-highway-track,
1031 path.line.shadow.tag-highway-road {
1034 path.line.casing.tag-highway-living_street,
1035 path.line.casing.tag-highway-bus_guideway,
1036 path.line.casing.tag-highway-service,
1037 path.line.casing.tag-highway-track,
1038 path.line.casing.tag-highway-road {
1041 path.line.stroke.tag-highway-living_street,
1042 path.line.stroke.tag-highway-bus_guideway,
1043 path.line.stroke.tag-highway-service,
1044 path.line.stroke.tag-highway-track,
1045 path.line.stroke.tag-highway-road {
1049 path.line.shadow.tag-highway-path,
1050 path.line.shadow.tag-highway-footway,
1051 path.line.shadow.tag-highway-cycleway,
1052 path.line.shadow.tag-highway-bridleway,
1053 path.line.shadow.tag-highway-corridor,
1054 path.line.shadow.tag-highway-pedestrian,
1055 path.line.shadow.tag-highway-steps {
1058 path.line.casing.tag-highway-path,
1059 path.line.casing.tag-highway-footway,
1060 path.line.casing.tag-highway-cycleway,
1061 path.line.casing.tag-highway-bridleway,
1062 path.line.casing.tag-highway-corridor,
1063 path.line.casing.tag-highway-pedestrian,
1064 path.line.casing.tag-highway-steps {
1067 path.line.stroke.tag-highway-path,
1068 path.line.stroke.tag-highway-footway,
1069 path.line.stroke.tag-highway-cycleway,
1070 path.line.stroke.tag-highway-bridleway,
1071 path.line.stroke.tag-highway-corridor,
1072 path.line.stroke.tag-highway-pedestrian,
1073 path.line.stroke.tag-highway-steps {
1077 .low-zoom path.line.shadow.tag-highway-living_street,
1078 .low-zoom path.line.shadow.tag-highway-bus_guideway,
1079 .low-zoom path.line.shadow.tag-highway-service,
1080 .low-zoom path.line.shadow.tag-highway-track,
1081 .low-zoom path.line.shadow.tag-highway-road {
1084 .low-zoom path.line.casing.tag-highway-living_street,
1085 .low-zoom path.line.casing.tag-highway-bus_guideway,
1086 .low-zoom path.line.casing.tag-highway-service,
1087 .low-zoom path.line.casing.tag-highway-track,
1088 .low-zoom path.line.casing.tag-highway-road {
1091 .low-zoom path.line.stroke.tag-highway-living_street,
1092 .low-zoom path.line.stroke.tag-highway-bus_guideway,
1093 .low-zoom path.line.stroke.tag-highway-service,
1094 .low-zoom path.line.stroke.tag-highway-track,
1095 .low-zoom path.line.stroke.tag-highway-road {
1099 .low-zoom path.line.shadow.tag-highway-path,
1100 .low-zoom path.line.shadow.tag-highway-footway,
1101 .low-zoom path.line.shadow.tag-highway-cycleway,
1102 .low-zoom path.line.shadow.tag-highway-bridleway,
1103 .low-zoom path.line.shadow.tag-highway-corridor,
1104 .low-zoom path.line.shadow.tag-highway-pedestrian,
1105 .low-zoom path.line.shadow.tag-highway-steps {
1108 .low-zoom path.line.casing.tag-highway-path,
1109 .low-zoom path.line.casing.tag-highway-footway,
1110 .low-zoom path.line.casing.tag-highway-cycleway,
1111 .low-zoom path.line.casing.tag-highway-bridleway,
1112 .low-zoom path.line.casing.tag-highway-corridor,
1113 .low-zoom path.line.casing.tag-highway-pedestrian,
1114 .low-zoom path.line.casing.tag-highway-steps {
1117 .low-zoom path.line.stroke.tag-highway-path,
1118 .low-zoom path.line.stroke.tag-highway-footway,
1119 .low-zoom path.line.stroke.tag-highway-cycleway,
1120 .low-zoom path.line.stroke.tag-highway-bridleway,
1121 .low-zoom path.line.stroke.tag-highway-corridor,
1122 .low-zoom path.line.stroke.tag-highway-pedestrian,
1123 .low-zoom path.line.stroke.tag-highway-steps {
1127 /* living streets */
1128 .preset-icon .icon.tag-highway-living-street {
1132 path.line.stroke.tag-highway-living_street,
1133 path.line.stroke.tag-living_street {
1136 path.line.casing.tag-highway-living_street,
1137 path.line.casing.tag-living_street {
1141 /* pedestrian streets and corridors */
1142 .preset-icon .icon.tag-highway-corridor,
1143 .preset-icon .icon.tag-highway-pedestrian {
1147 path.line.stroke.tag-highway-corridor,
1148 path.line.stroke.tag-highway-pedestrian,
1149 path.line.stroke.tag-corridor,
1150 path.line.stroke.tag-pedestrian {
1152 stroke-dasharray: 2, 8;
1154 .low-zoom path.line.stroke.tag-highway-corridor,
1155 .low-zoom path.line.stroke.tag-highway-pedestrian,
1156 .low-zoom path.line.stroke.tag-corridor,
1157 .low-zoom path.line.stroke.tag-pedestrian {
1158 stroke-dasharray: 1, 4;
1160 path.line.casing.tag-highway-corridor,
1161 path.line.casing.tag-highway-pedestrian,
1162 path.line.casing.tag-corridor,
1163 path.line.casing.tag-pedestrian,
1164 path.line.casing.tag-highway-corridor.tag-unpaved,
1165 path.line.casing.tag-highway-pedestrian.tag-unpaved,
1166 path.line.casing.tag-corridor.tag-unpaved,
1167 path.line.casing.tag-pedestrian.tag-unpaved {
1169 stroke-linecap: round;
1170 stroke-dasharray: none;
1174 .preset-icon .icon.tag-highway-road {
1178 path.line.stroke.tag-highway-road,
1179 path.line.stroke.tag-road {
1182 path.line.casing.tag-highway-road,
1183 path.line.casing.tag-road {
1188 .preset-icon .icon.tag-highway-service {
1192 path.line.stroke.tag-highway-service,
1193 path.line.stroke.tag-service {
1196 path.line.casing.tag-highway-service,
1197 path.line.casing.tag-service {
1201 /* special service roads and bus guideways */
1202 /* with `service=* tag` (e.g. parking_aisle, alley, drive-through) */
1203 .preset-icon .icon.tag-highway-bus_guideway,
1204 .preset-icon .icon.tag-highway-service.tag-service {
1208 path.line.stroke.tag-highway-bus_guideway,
1209 path.line.stroke.tag-highway-service.tag-service,
1210 path.line.stroke.tag-service.tag-service {
1213 path.line.casing.tag-highway-bus_guideway,
1214 path.line.casing.tag-highway-service.tag-service,
1215 path.line.casing.tag-service.tag-service {
1219 /* unmaintained track roads */
1220 path.line.stroke.tag-highway-track,
1221 path.line.stroke.tag-track {
1224 path.line.casing.tag-highway-track,
1225 path.line.casing.tag-track {
1230 path.line.stroke.tag-highway-path,
1231 path.line.stroke.tag-highway-footway,
1232 path.line.stroke.tag-highway-cycleway,
1233 path.line.stroke.tag-highway-bridleway {
1234 stroke-linecap: butt;
1235 stroke-dasharray: 6, 6;
1237 .low-zoom path.line.stroke.tag-highway-path,
1238 .low-zoom path.line.stroke.tag-highway-footway,
1239 .low-zoom path.line.stroke.tag-highway-cycleway,
1240 .low-zoom path.line.stroke.tag-highway-bridleway {
1241 stroke-linecap: butt;
1242 stroke-dasharray: 3, 3;
1245 /* style for features that should have highway=footway but don't yet */
1246 path.line.stroke.tag-crossing,
1247 path.line.stroke.tag-public_transport-platform,
1248 path.line.stroke.tag-highway-platform,
1249 path.line.stroke.tag-railway-platform,
1250 path.line.stroke.tag-man_made-pier {
1254 path.line.casing.tag-highway-path,
1255 path.line.casing.tag-highway-path.tag-unpaved,
1256 path.line.casing.tag-highway-footway.tag-public_transport-platform,
1257 path.line.casing.tag-highway-footway.tag-man_made-pier,
1258 path.line.casing.tag-highway.tag-crossing {
1260 stroke-linecap: round;
1261 stroke-dasharray: none;
1263 path.line.casing.tag-highway-footway,
1264 path.line.casing.tag-highway-cycleway,
1265 path.line.casing.tag-highway-bridleway,
1266 path.line.casing.tag-highway-footway.tag-unpaved,
1267 path.line.casing.tag-highway-cycleway.tag-unpaved,
1268 path.line.casing.tag-highway-bridleway.tag-unpaved {
1270 stroke-linecap: round;
1271 stroke-dasharray: none;
1274 .preset-icon .icon.tag-highway-path,
1275 .preset-icon .icon.tag-highway-footway.tag-public_transport-platform,
1276 .preset-icon .icon.tag-highway-footway.tag-man_made-pier {
1280 path.line.stroke.tag-highway-path {
1285 .preset-icon .icon.tag-route-foot,
1286 .preset-icon .icon.tag-route-hiking,
1287 .preset-icon .icon.tag-highway-footway {
1291 path.line.stroke.tag-highway-footway,
1292 path.line.stroke.tag-highway_bus_stop,
1293 .preset-icon-container path.casing.tag-highway-footway {
1296 .preset-icon-container path.stroke.tag-highway-footway:not(.tag-crossing-marked):not(.tag-crossing-unmarked):not(.tag-man_made-pier):not(.tag-public_transport-platform) {
1301 .preset-icon .icon.tag-route-bicycle,
1302 .preset-icon .icon.tag-highway-cycleway {
1306 path.line.stroke.tag-highway-cycleway,
1307 .preset-icon-container path.casing.tag-highway-cycleway {
1310 .preset-icon-container path.stroke.tag-highway-cycleway:not(.tag-crossing) {
1315 .preset-icon .icon.tag-route-horse,
1316 .preset-icon .icon.tag-highway-bridleway {
1320 path.line.stroke.tag-highway-bridleway,
1321 .preset-icon-container path.casing.tag-highway-bridleway {
1324 .preset-icon-container path.stroke.tag-highway-bridleway {
1329 .preset-icon .icon.tag-leisure-track {
1330 color: rgb(229, 184, 43);
1332 path.line.stroke.tag-leisure-track,
1333 .preset-icon-container path.casing.tag-highway.tag-leisure-track {
1334 stroke: rgb(229, 184, 43);
1336 .preset-icon-container path.line.stroke.tag-highway.tag-leisure-track {
1341 .preset-icon .icon.tag-highway-steps {
1345 path.line.stroke.tag-highway-steps {
1346 stroke-linecap: butt;
1347 stroke-dasharray: 3, 3;
1349 .low-zoom path.line.stroke.tag-highway-steps {
1350 stroke-dasharray: 2, 2;
1352 path.line.casing.tag-highway-steps,
1353 path.line.casing.tag-highway-steps.tag-unpaved {
1355 stroke-linecap: round;
1356 stroke-dasharray: none;
1358 path.line.stroke.tag-highway-steps,
1359 .preset-icon-container path.line.casing.tag-highway-steps {
1362 .preset-icon-container path.line.stroke.tag-highway-steps {
1368 path.line.stroke.tag-highway.tag-crossing-unmarked {
1369 stroke-dasharray: 6, 4;
1371 .low-zoom path.line.stroke.tag-highway.tag-crossing-unmarked {
1372 stroke-dasharray: 3, 2;
1374 path.line.stroke.tag-highway.tag-crossing-marked {
1375 stroke-dasharray: 6, 3;
1377 .low-zoom path.line.stroke.tag-highway.tag-crossing-marked {
1378 stroke-dasharray: 3, 1.5;
1380 path.line.stroke.tag-highway-footway.tag-crossing-marked {
1383 .preset-icon .icon.tag-highway-footway.tag-crossing-marked {
1386 path.line.stroke.tag-highway-footway.tag-crossing-unmarked {
1389 .preset-icon .icon.tag-highway-footway.tag-crossing-unmarked {
1392 path.line.stroke.tag-highway-cycleway.tag-crossing-marked {
1395 .preset-icon .icon.tag-highway-cycleway.tag-crossing-marked {
1400 /* highway midpoints */
1401 g.midpoint.tag-highway-corridor .fill,
1402 g.midpoint.tag-highway-pedestrian .fill,
1403 g.midpoint.tag-highway-steps .fill,
1404 g.midpoint.tag-highway-path .fill,
1405 g.midpoint.tag-highway-footway .fill,
1406 g.midpoint.tag-highway-cycleway .fill,
1407 g.midpoint.tag-highway-bridleway .fill {
1416 path.area.stroke.tag-aeroway,
1417 .low-zoom path.area.stroke.tag-aeroway {
1419 stroke-dasharray: none;
1422 path.area.fill.tag-aeroway-runway {
1423 stroke: rgba(0, 0, 0, 0.6);
1424 fill: rgba(0, 0, 0, 0.6);
1428 /* narrow aeroways (taxiway) */
1429 path.line.shadow.tag-aeroway-taxiway,
1430 path.line.shadow.tag-taxiway {
1433 path.line.casing.tag-aeroway-taxiway,
1434 path.line.casing.tag-taxiway {
1437 path.line.stroke.tag-aeroway-taxiway,
1438 path.line.stroke.tag-taxiway {
1441 .low-zoom path.line.shadow.tag-aeroway-taxiway,
1442 .low-zoom path.line.shadow.tag-taxiway {
1445 .low-zoom path.line.casing.tag-aeroway-taxiway,
1446 .low-zoom path.line.casing.tag-taxiway {
1449 .low-zoom path.line.stroke.tag-aeroway-taxiway,
1450 .low-zoom path.line.stroke.tag-taxiway {
1454 .preset-icon .icon.tag-aeroway-taxiway,
1455 .preset-icon .icon.tag-taxiway {
1459 path.line.stroke.tag-aeroway-taxiway,
1460 path.line.stroke.tag-taxiway {
1463 path.line.casing.tag-aeroway-taxiway,
1464 path.line.casing.tag-taxiway {
1468 /* wide aeroways (runway) */
1469 .preset-icon .icon.tag-aeroway-runway,
1470 .preset-icon .icon.tag-runway {
1474 path.line.shadow.tag-aeroway-runway {
1477 path.line.casing.tag-aeroway-runway {
1480 stroke-linecap: square;
1482 path.line.stroke.tag-aeroway-runway {
1485 stroke-linecap: butt;
1486 stroke-dasharray: 24, 48;
1488 .low-zoom path.line.shadow.tag-aeroway-runway {
1491 .low-zoom path.line.casing.tag-aeroway-runway {
1494 .low-zoom path.line.stroke.tag-aeroway-runway {
1496 stroke-dasharray: 12, 24;
1498 .preset-icon-container path.line.stroke.tag-aeroway-runway {
1499 stroke-dasharray: 0, 14, 8, 14;
1504 .preset-icon .icon.tag-railway.other-line {
1508 .preset-icon .icon.tag-railway {
1515 path.line.shadow.tag-railway {
1518 path.line.casing.tag-railway {
1521 path.line.stroke.tag-railway {
1523 stroke-linecap: butt;
1524 stroke-dasharray: 12,12;
1526 .low-zoom path.line.shadow.tag-railway {
1529 .low-zoom path.line.casing.tag-railway {
1532 .low-zoom path.line.stroke.tag-railway {
1534 stroke-dasharray: 6,6;
1536 .preset-icon-container path.line.stroke.tag-railway:not(.tag-status) {
1537 stroke-dasharray: 6;
1540 path.line.casing.tag-railway.tag-railway-platform {
1543 path.line.stroke.tag-railway.tag-railway-platform {
1544 stroke-dasharray: none;
1548 path.line.casing.tag-railway {
1551 path.line.stroke.tag-railway {
1556 .preset-icon .icon.tag-railway-disused,
1557 .preset-icon .icon.tag-railway-abandoned {
1561 path.line.casing.tag-railway-disused,
1562 path.line.casing.tag-railway-abandoned {
1565 path.line.stroke.tag-railway-disused,
1566 path.line.stroke.tag-railway-abandoned {
1571 path.line.casing.tag-railway-subway {
1574 path.line.stroke.tag-railway-subway {
1580 .preset-icon .icon.tag-waterway.other-line {
1584 .preset-icon .icon.tag-type-waterway,
1585 .preset-icon .icon.tag-waterway {
1592 path.area.stroke.tag-waterway-dock,
1593 path.area.stroke.tag-waterway-boatyard,
1594 path.area.stroke.tag-waterway-fuel {
1598 path.area.casing.tag-waterway-dock,
1599 path.area.casing.tag-waterway-boatyard,
1600 path.area.casing.tag-waterway-fuel {
1603 path.area.fill.tag-waterway-dock,
1604 path.area.fill.tag-waterway-boatyard,
1605 path.area.fill.tag-waterway-fuel {
1606 stroke: rgba(255, 255, 255, 0.3);
1607 fill: rgba(255, 255, 255, 0.3);
1611 path.line.fill.tag-waterway {
1612 stroke: rgba(119, 211, 222, 0.3);
1613 fill: rgba(119, 211, 222, 0.3);
1615 path.line.casing.tag-waterway {
1618 path.line.stroke.tag-waterway {
1623 /* narrow waterways (default) */
1624 path.line.shadow.tag-waterway {
1627 path.line.casing.tag-waterway {
1630 path.line.stroke.tag-waterway {
1634 .low-zoom path.line.shadow.tag-waterway {
1637 .low-zoom path.line.casing.tag-waterway {
1640 .low-zoom path.line.stroke.tag-waterway {
1645 /* wide waterways (river) */
1646 path.line.shadow.tag-waterway-river {
1649 path.line.casing.tag-waterway-river {
1652 path.line.stroke.tag-waterway-river {
1656 .low-zoom path.line.shadow.tag-waterway-river {
1659 .low-zoom path.line.casing.tag-waterway-river {
1662 .low-zoom path.line.stroke.tag-waterway-river {
1668 .preset-icon .icon.tag-waterway-ditch {
1671 path.line.stroke.tag-waterway-ditch {
1675 /* narrow width miscellanous things */
1676 path.line.shadow.tag-aerialway,
1677 path.line.shadow.tag-attraction-summer_toboggan,
1678 path.line.shadow.tag-attraction-water_slide,
1679 path.line.shadow.tag-golf-cartpath,
1680 path.line.shadow.tag-man_made-pipeline,
1681 path.line.shadow.tag-natural-tree_row,
1682 path.line.shadow.tag-piste {
1685 path.line.casing.tag-aerialway,
1686 path.line.casing.tag-attraction-summer_toboggan,
1687 path.line.casing.tag-attraction-water_slide,
1688 path.line.casing.tag-golf-cartpath,
1689 path.line.casing.tag-man_made-pipeline,
1690 path.line.casing.tag-natural-tree_row,
1691 path.line.casing.tag-piste {
1694 path.line.stroke.tag-aerialway,
1695 path.line.stroke.tag-attraction-summer_toboggan,
1696 path.line.stroke.tag-attraction-water_slide,
1697 path.line.stroke.tag-golf-cartpath,
1698 path.line.stroke.tag-man_made-pipeline,
1699 path.line.stroke.tag-natural-tree_row,
1700 path.line.stroke.tag-piste {
1704 .low-zoom path.line.shadow.tag-aerialway,
1705 .low-zoom path.line.shadow.tag-attraction-summer_toboggan,
1706 .low-zoom path.line.shadow.tag-attraction-water_slide,
1707 .low-zoom path.line.shadow.tag-golf-cartpath,
1708 .low-zoom path.line.shadow.tag-man_made-pipeline,
1709 .low-zoom path.line.shadow.tag-natural-tree_row,
1710 .low-zoom path.line.shadow.tag-piste {
1713 .low-zoom path.line.casing.tag-aerialway,
1714 .low-zoom path.line.casing.tag-attraction-summer_toboggan,
1715 .low-zoom path.line.casing.tag-attraction-water_slide,
1716 .low-zoom path.line.casing.tag-golf-cartpath,
1717 .low-zoom path.line.casing.tag-man_made-pipeline,
1718 .low-zoom path.line.casing.tag-natural-tree_row,
1719 .low-zoom path.line.casing.tag-piste {
1722 .low-zoom path.line.stroke.tag-aerialway,
1723 .low-zoom path.line.stroke.tag-attraction-summer_toboggan,
1724 .low-zoom path.line.stroke.tag-attraction-water_slide,
1725 .low-zoom path.line.stroke.tag-golf-cartpath,
1726 .low-zoom path.line.stroke.tag-man_made-pipeline,
1727 .low-zoom path.line.stroke.tag-natural-tree_row,
1728 .low-zoom path.line.stroke.tag-piste {
1734 .preset-icon .icon.tag-route-ferry {
1738 path.line.shadow.tag-route-ferry {
1741 path.line.stroke.tag-route-ferry {
1743 stroke-linecap: butt;
1744 stroke-dasharray: 12,8;
1746 .low-zoom path.line.shadow.tag-route-ferry {
1749 .low-zoom path.line.stroke.tag-route-ferry,
1750 .preset-icon-container path.line.stroke.tag-route-ferry {
1752 stroke-dasharray: 6,4;
1754 path.line.stroke.tag-route-ferry {
1757 path.line.casing.tag-route-ferry {
1763 path.line.stroke.tag-aerialway {
1766 path.line.casing.tag-aerialway {
1772 path.line.stroke.tag-piste {
1775 path.line.casing.tag-piste {
1781 path.line.stroke.tag-attraction-summer_toboggan {
1784 path.line.casing.tag-attraction-summer_toboggan {
1788 path.line.stroke.tag-attraction-water_slide {
1791 path.line.casing.tag-attraction-water_slide {
1796 /* golf cartpaths (like service roads) */
1797 .preset-icon .icon.tag-golf-cartpath {
1801 path.line.stroke.tag-golf-cartpath {
1804 path.line.casing.tag-golf-cartpath {
1809 /* power and pipeline */
1810 .preset-icon .icon.tag-man_made-pipeline,
1811 .preset-icon .icon.tag-power {
1818 path.line.stroke.tag-power {
1822 path.line.casing.tag-power {
1828 path.line.stroke.tag-man_made-pipeline {
1830 stroke-linecap: butt;
1831 stroke-dasharray: 80, 1.25;
1833 path.line.casing.tag-man_made-pipeline {
1836 .low-zoom path.line.stroke.tag-man_made-pipeline {
1837 stroke-dasharray: 40, 1;
1839 .preset-icon-container path.line.stroke.tag-man_made-pipeline {
1840 stroke-dasharray: 19, 1;
1845 path.line.stroke.tag-boundary {
1848 stroke-linecap: butt;
1849 stroke-dasharray: 20, 5, 5, 5;
1851 path.line.casing.tag-boundary {
1856 path.line.casing.tag-boundary-protected_area,
1857 path.line.casing.tag-boundary-national_park {
1862 /* barriers and similar */
1863 path.line.stroke.tag-barrier:not(.tag-barrier-hedge) {
1866 .preset-icon-container path.line.stroke.tag-barrier:not(.tag-barrier-hedge) {
1867 stroke: rgb(170, 170, 170);
1869 path.line.casing.tag-natural,
1870 path.line.casing.tag-barrier,
1871 path.line.casing.tag-man_made-groyne,
1872 path.line.casing.tag-man_made-breakwater {
1875 path.line.stroke.tag-barrier,
1876 path.line.stroke.tag-man_made-groyne,
1877 path.line.stroke.tag-man_made-breakwater {
1879 stroke-linecap: round;
1880 stroke-dasharray: 15, 5, 1, 5;
1882 .low-zoom path.line.stroke.tag-barrier,
1883 .low-zoom path.line.stroke.tag-man_made-groyne,
1884 .low-zoom path.line.stroke.tag-man_made-breakwater {
1886 stroke-linecap: butt;
1887 stroke-dasharray: 8, 2, 2, 2;
1889 .preset-icon-container path.line.stroke.tag-barrier,
1890 .preset-icon-container path.line.stroke.tag-man_made-groyne,
1891 .preset-icon-container path.line.stroke.tag-man_made-breakwater {
1892 stroke-dasharray: 1, 4, 6, 4;
1897 path.line.casing.tag-bridge {
1898 stroke-opacity: 0.6;
1899 stroke: #000 !important;
1900 stroke-linecap: butt;
1901 stroke-dasharray: none;
1903 path.line.shadow.tag-bridge {
1906 path.line.casing.tag-bridge {
1909 .low-zoom path.line.shadow.tag-bridge {
1912 .low-zoom path.line.casing.tag-bridge {
1916 path.line.shadow.tag-railway.tag-bridge,
1917 path.line.shadow.tag-highway-living_street.tag-bridge,
1918 path.line.shadow.tag-highway-path.tag-bridge,
1919 path.line.shadow.tag-highway-corridor.tag-bridge,
1920 path.line.shadow.tag-highway-pedestrian.tag-bridge,
1921 path.line.shadow.tag-highway-service.tag-bridge,
1922 path.line.shadow.tag-highway-track.tag-bridge,
1923 path.line.shadow.tag-highway-steps.tag-bridge,
1924 path.line.shadow.tag-highway-footway.tag-bridge,
1925 path.line.shadow.tag-highway-cycleway.tag-bridge,
1926 path.line.shadow.tag-highway-bridleway.tag-bridge {
1929 path.line.casing.tag-railway.tag-bridge,
1930 path.line.casing.tag-highway-living_street.tag-bridge,
1931 path.line.casing.tag-highway-path.tag-bridge,
1932 path.line.casing.tag-highway-corridor.tag-bridge,
1933 path.line.casing.tag-highway-pedestrian.tag-bridge,
1934 path.line.casing.tag-highway-service.tag-bridge,
1935 path.line.casing.tag-highway-track.tag-bridge,
1936 path.line.casing.tag-highway-steps.tag-bridge,
1937 path.line.casing.tag-highway-footway.tag-bridge,
1938 path.line.casing.tag-highway-cycleway.tag-bridge,
1939 path.line.casing.tag-highway-bridleway.tag-bridge {
1943 .low-zoom path.line.shadow.tag-railway.tag-bridge,
1944 .low-zoom path.line.shadow.tag-highway-living_street.tag-bridge,
1945 .low-zoom path.line.shadow.tag-highway-path.tag-bridge,
1946 .low-zoom path.line.shadow.tag-highway-corridor.tag-bridge,
1947 .low-zoom path.line.shadow.tag-highway-pedestrian.tag-bridge,
1948 .low-zoom path.line.shadow.tag-highway-service.tag-bridge,
1949 .low-zoom path.line.shadow.tag-highway-track.tag-bridge,
1950 .low-zoom path.line.shadow.tag-highway-steps.tag-bridge,
1951 .low-zoom path.line.shadow.tag-highway-footway.tag-bridge,
1952 .low-zoom path.line.shadow.tag-highway-cycleway.tag-bridge,
1953 .low-zoom path.line.shadow.tag-highway-bridleway.tag-bridge {
1956 .low-zoom path.line.casing.tag-railway.tag-bridge,
1957 .low-zoom path.line.casing.tag-highway-living_street.tag-bridge,
1958 .low-zoom path.line.casing.tag-highway-path.tag-bridge,
1959 .low-zoom path.line.casing.tag-highway-corridor.tag-bridge,
1960 .low-zoom path.line.casing.tag-highway-pedestrian.tag-bridge,
1961 .low-zoom path.line.casing.tag-highway-service.tag-bridge,
1962 .low-zoom path.line.casing.tag-highway-track.tag-bridge,
1963 .low-zoom path.line.casing.tag-highway-steps.tag-bridge,
1964 .low-zoom path.line.casing.tag-highway-footway.tag-bridge,
1965 .low-zoom path.line.casing.tag-highway-cycleway.tag-bridge,
1966 .low-zoom path.line.casing.tag-highway-bridleway.tag-bridge {
1972 path.line.stroke.tag-tunnel,
1973 path.line.stroke.tag-location-underground,
1974 path.line.stroke.tag-location-underwater {
1975 stroke-opacity: 0.3;
1977 path.line.casing.tag-tunnel,
1978 path.line.casing.tag-location-underground,
1979 path.line.stroke.tag-location-underwater {
1980 stroke-opacity: 0.5;
1981 stroke-linecap: butt;
1982 stroke-dasharray: none;
1986 /* embankments / cuttings */
1987 path.line.shadow.tag-embankment,
1988 path.line.shadow.tag-cutting {
1991 path.line.casing.tag-embankment,
1992 path.line.casing.tag-cutting {
1993 stroke-opacity: 0.5;
1996 stroke-dasharray: 2, 4;
1997 stroke-linecap: butt;
2000 .low-zoom path.line.shadow.tag-embankment,
2001 .low-zoom path.line.shadow.tag-cutting {
2004 .low-zoom path.line.casing.tag-embankment,
2005 .low-zoom path.line.casing.tag-cutting {
2010 /* Surface - unpaved */
2011 path.line.casing.tag-unpaved {
2013 stroke-linecap: butt;
2014 stroke-dasharray: 4, 3;
2016 .low-zoom path.line.casing.tag-unpaved {
2017 stroke-dasharray: 3, 2;
2019 path.line.casing.tag-bridge.tag-unpaved {
2021 stroke-dasharray: 4, 3;
2023 .low-zoom path.line.casing.tag-bridge.tag-unpaved {
2025 stroke-dasharray: 3, 2;
2029 /* Status (e.g. proposed, abandoned) */
2030 path.area.stroke.tag-status,
2031 path.line.stroke.tag-status,
2032 path.area.casing.tag-status,
2033 path.line.casing.tag-status {
2034 stroke-linecap: butt;
2035 stroke-dasharray: 7, 3;
2037 .low-zoom path.area.stroke.tag-status,
2038 .low-zoom path.line.stroke.tag-status,
2039 .low-zoom path.area.casing.tag-status,
2040 .low-zoom path.line.casing.tag-status {
2041 stroke-dasharray: 5, 2;
2044 /* Road Closed Status */
2045 .preset-icon .icon.tag-highway.tag-status-construction {
2049 path.line.shadow.tag-highway.tag-status.tag-status-construction {
2052 path.line.casing.tag-highway.tag-status.tag-status-construction {
2054 stroke-linecap: butt;
2055 stroke-dasharray: none
2057 path.line.stroke.tag-highway.tag-status.tag-status-construction {
2059 stroke-linecap: butt;
2060 stroke-dasharray: 10, 10;
2062 path.line.casing.tag-highway.tag-status.tag-status-construction,
2063 .preset-icon-container path.line.stroke.tag-highway.tag-status.tag-status-construction {
2066 path.line.stroke.tag-highway.tag-status.tag-status-construction,
2067 .preset-icon-container path.line.casing.tag-highway.tag-status.tag-status-construction {
2070 .low-zoom path.line.shadow.tag-highway.tag-status.tag-status-construction {
2073 .low-zoom path.line.casing.tag-highway.tag-status.tag-status-construction {
2076 .low-zoom path.line.stroke.tag-highway.tag-status.tag-status-construction {
2078 stroke-dasharray: 8, 8;
2083 path.stroke.tag-building {
2084 stroke: rgb(224, 110, 95);
2086 path.fill.tag-building {
2087 stroke: rgba(224, 110, 95, 0.3);
2088 fill: rgba(224, 110, 95, 0.3);
2094 cursor: not-allowed !important;
2099 cursor: auto; /* Opera */
2100 cursor: url(<%= asset_path("iD/img/cursor-grab.png") %>) 9 9, auto; /* FF */
2103 .mode-browse .point,
2104 .mode-select .point {
2105 cursor: pointer; /* Opera */
2106 cursor: url(<%= asset_path("iD/img/cursor-select-point.png") %>), pointer; /* FF */
2109 .mode-select .vertex,
2110 .mode-browse .vertex {
2111 cursor: pointer; /* Opera */
2112 cursor: url(<%= asset_path("iD/img/cursor-select-vertex.png") %>), pointer; /* FF */
2116 .mode-select .line {
2117 cursor: pointer; /* Opera */
2118 cursor: url(<%= asset_path("iD/img/cursor-select-line.png") %>), pointer; /* FF */
2122 .mode-browse .area {
2123 cursor: pointer; /* Opera */
2124 cursor: url(<%= asset_path("iD/img/cursor-select-area.png") %>), pointer; /* FF */
2127 .mode-select .midpoint,
2128 .mode-browse .midpoint {
2129 cursor: pointer; /* Opera */
2130 cursor: url(<%= asset_path("iD/img/cursor-select-split.png") %>), pointer; /* FF */
2133 .mode-select .behavior-multiselect .point,
2134 .mode-select .behavior-multiselect .vertex,
2135 .mode-select .behavior-multiselect .line,
2136 .mode-select .behavior-multiselect .area {
2137 cursor: pointer; /* Opera */
2138 cursor: url(<%= asset_path("iD/img/cursor-select-add.png") %>), pointer; /* FF */
2141 .mode-select .behavior-multiselect .selected {
2142 cursor: pointer; /* Opera */
2143 cursor: url(<%= asset_path("iD/img/cursor-select-remove.png") %>), pointer; /* FF */
2146 .mode-add-preset #map,
2147 .mode-draw-line #map,
2148 .mode-draw-area #map,
2149 .mode-add-line #map,
2150 .mode-add-area #map,
2151 .mode-drag-node #map,
2152 .mode-drag-note #map {
2153 cursor: crosshair; /* Opera */
2154 cursor: url(<%= asset_path("iD/img/cursor-draw.png") %>) 9 9, crosshair; /* FF */
2157 .mode-draw-line .way.target,
2158 .mode-draw-area .way.target,
2159 .mode-add-line .way.target,
2160 .mode-add-area .way.target,
2161 .mode-drag-node .way.target {
2162 cursor: crosshair; /* Opera */
2163 cursor: url(<%= asset_path("iD/img/cursor-draw-connect-line.png") %>) 9 9, crosshair; /* FF */
2166 .mode-draw-line .vertex.target,
2167 .mode-draw-area .vertex.target,
2168 .mode-add-line .vertex.target,
2169 .mode-add-area .vertex.target,
2170 .mode-drag-node .vertex.target {
2171 cursor: crosshair; /* Opera */
2172 cursor: url(<%= asset_path("iD/img/cursor-draw-connect-vertex.png") %>) 9 9, crosshair; /* FF */
2175 .mode-add-point #map,
2176 .mode-add-note #map,
2177 .mode-browse.lasso #map,
2178 .mode-browse.lasso .way,
2179 .mode-browse.lasso .vertex,
2180 .mode-browse.lasso .midpoint,
2181 .mode-select.lasso #map,
2182 .mode-select.lasso .way,
2183 .mode-select.lasso .vertex,
2184 .mode-select.lasso .midpoint {
2185 cursor: crosshair; /* Opera */
2186 cursor: url(<%= asset_path("iD/img/cursor-draw.png") %>) 9 9, crosshair; /* FF */
2190 .mode-browse .qa_error,
2192 .mode-select .qa_error,
2197 /* photo viewer div */
2201 margin-bottom: 10px;
2205 background-color: #fff;
2207 [dir='ltr'] #photoviewer {
2211 [dir='rtl'] #photoviewer {
2216 @media screen and (min-width: 1600px) {
2223 #photoviewer button.thumb-hide {
2232 #photoviewer button.resize-handle-xy {
2238 cursor: nesw-resize;
2243 #photoviewer button.resize-handle-x {
2255 #photoviewer button.resize-handle-y {
2268 .photo-wrapper img {
2275 .photo-wrapper .photo-attribution {
2287 .photo-attribution a,
2288 .photo-attribution a:visited,
2289 .photo-attribution span {
2294 /* markers and sequences */
2296 pointer-events: none;
2298 .mode-browse .viewfield-group,
2299 .mode-select .viewfield-group {
2300 pointer-events: visible;
2304 .viewfield-group.currentView * {
2305 fill: #ffee00 !important;
2307 .viewfield-group.hovered * {
2308 fill: #eebb00 !important;
2311 .viewfield-group circle {
2314 stroke-opacity: 0.4;
2317 .viewfield-group.highlighted circle {
2319 stroke-opacity: 0.9;
2322 .viewfield-group.highlighted.hovered circle {
2325 stroke-opacity: 0.9;
2328 .viewfield-group.highlighted.currentView circle {
2335 .viewfield-group .viewfield {
2340 .viewfield-group.highlighted .viewfield {
2344 .viewfield-group.highlighted.hovered .viewfield {
2348 .viewfield-group.highlighted.currentView .viewfield {
2353 .viewfield-group.currentView .viewfield-scale {
2354 transform: scale(2,2);
2360 stroke-opacity: 0.4;
2362 .sequence.highlighted,
2363 .sequence.currentView {
2369 /* Streetside Image Layer */
2370 .layer-streetside-images {
2371 pointer-events: none;
2373 .layer-streetside-images .viewfield-group * {
2376 .layer-streetside-images .sequence {
2378 stroke-opacity: 0.85; /* bump opacity - only one per road */
2382 /* Mapillary Image Layer */
2384 pointer-events: none;
2386 .layer-mapillary .viewfield-group * {
2389 .layer-mapillary .sequence {
2394 /* Mapillary Sign Layer */
2395 .layer-mapillary-signs {
2396 pointer-events: none;
2398 .layer-mapillary-signs .icon-sign {
2399 outline: 2px solid transparent;
2400 pointer-events: visible;
2403 .layer-mapillary-signs .icon-sign:hover {
2404 outline: 5px solid #eebb00;
2405 background-color: #eebb00;
2407 .layer-mapillary-signs .icon-sign.currentView {
2408 outline: 5px solid #ffee00;
2409 background-color: #ffee00;
2413 /* OpenStreetCam Image Layer */
2414 .layer-openstreetcam {
2415 pointer-events: none;
2417 .layer-openstreetcam .viewfield-group * {
2420 .layer-openstreetcam .sequence {
2425 /* Streetside Viewer (pannellum) */
2426 .ms-wrapper .photo-attribution .image-link {
2429 .ms-wrapper .photo-attribution .attribution-row {
2431 flex-flow: row nowrap;
2432 justify-content: space-between;
2433 align-items: center;
2436 .ms-wrapper .photo-attribution .image-view-link {
2440 .ms-wrapper .photo-attribution .image-report-link {
2444 .ms-wrapper .photo-attribution a:active,
2445 .ms-wrapper .photo-attribution a:hover {
2449 .ms-wrapper .pnlm-compass.pnlm-control {
2454 background-size: contain;
2455 background-repeat: no-repeat no-repeat;
2458 label.streetside-hires {
2461 .streetside-hires span {
2464 .streetside-hires input[type="checkbox"] {
2472 /* Mapillary viewer */
2473 #mly .domRenderer .TagSymbol {
2475 background-color: rgba(0,0,0,0.4);
2480 #mly .domRenderer .Attribution {
2481 /* we will roll our own to avoid async update issues like #4526 */
2485 .mly-wrapper .photo-attribution a:active,
2486 .mly-wrapper .photo-attribution a:hover {
2490 .mly-wrapper .mapillary-js-dom {
2495 /* OpenStreetCam viewer */
2498 background-color: #000;
2499 background-image: url(<%= asset_path("iD/img/loader-black.gif") %>);
2500 background-position: center;
2501 background-repeat: no-repeat;
2504 .osc-wrapper .photo-attribution a:active,
2505 .osc-wrapper .photo-attribution a:hover {
2512 transform-origin:0 0;
2513 -ms-transform-origin:0 0;
2514 -webkit-transform-origin:0 0;
2515 -moz-transform-origin:0 0;
2516 -o-transform-origin:0 0;
2520 /* photo-controls (step forward, back, rotate) */
2521 .photo-controls-wrap {
2530 display: inline-block;
2534 .photo-controls button,
2535 .photo-controls button:focus {
2538 background: rgba(0,0,0,0.65);
2542 .photo-controls button:first-of-type {
2543 border-radius: 3px 0 0 3px;
2545 .photo-controls button:last-of-type {
2546 border-radius: 0 3px 3px 0;
2548 .photo-controls button:hover,
2549 .photo-controls button:active {
2550 background: rgba(0,0,0,0.85);
2554 /* OSM Notes and KeepRight Layers */
2556 .error-header-icon .qa_error-fill,
2557 .layer-keepRight .qa_error .qa_error-fill,
2558 .layer-improveOSM .qa_error .qa_error-fill {
2560 stroke-width: 1.3px; /* NOTE: likely a better way to scale the icon stroke */
2563 .note-header-icon .note-fill,
2564 .layer-notes .note .note-fill {
2569 .note-header-icon.new .note-fill,
2570 .layer-notes .note.new .note-fill {
2575 .note-header-icon.closed .note-fill,
2576 .layer-notes .note.closed .note-fill {
2582 /* slight adjustments to preset icon for note icons */
2583 .note-header-icon .preset-icon-28 {
2586 .note-header-icon .note-icon-annotation {
2592 .note-header-icon .note-icon-annotation .icon {
2597 /* adjustment for error icon */
2599 .error-header-icon .preset-icon-28 {
2604 .error-header-icon {
2606 align-items: center;
2607 justify-content: center;
2610 /* Keep Right Errors
2611 ------------------------------------------------------- */
2612 .keepRight.error_type-20, /* multiple nodes on same spot */
2613 .keepRight.error_type-40, /* impossible oneways */
2614 .keepRight.error_type-210, /* self intersecting ways */
2615 .keepRight.error_type-270, /* unusual motorway connection */
2616 .keepRight.error_type-310, /* roundabout issues */
2617 .keepRight.error_type-320, /* improper _link */
2618 .keepRight.error_type-350 { /* improper bridge tag */
2622 .keepRight.error_type-50 { /* almost junctions */
2626 .keepRight.error_type-60, /* deprecated tags */
2627 .keepRight.error_type-70, /* tagging issues */
2628 .keepRight.error_type-90, /* motorway without ref */
2629 .keepRight.error_type-100, /* place of worship without religion */
2630 .keepRight.error_type-110, /* poi without name */
2631 .keepRight.error_type-150, /* railway crossing without tag */
2632 .keepRight.error_type-220, /* misspelled tag */
2633 .keepRight.error_type-380 { /* non-physical sport tag */
2637 .keepRight.error_type-130 { /* disconnected ways */
2641 .keepRight.error_type-170 { /* FIXME tag */
2645 .keepRight.error_type-190 { /* intersection without junction */
2649 .keepRight.error_type-200 { /* overlapping ways */
2653 .keepRight.error_type-160, /* railway layer conflict */
2654 .keepRight.error_type-230 { /* layer conflict */
2658 .keepRight.error_type-280 { /* boundary issues */
2662 .keepRight.error_type-180, /* relation without type */
2663 .keepRight.error_type-290 { /* turn restriction issues */
2667 .keepRight.error_type-300, /* missing maxspeed */
2668 .keepRight.error_type-390 { /* missing tracktype */
2672 .keepRight.error_type-360, /* language unknown */
2673 .keepRight.error_type-370, /* doubled places */
2674 .keepRight.error_type-410 { /* website issues */
2678 .keepRight.error_type-120, /* way without nodes */
2679 .keepRight.error_type-400 { /* geometry / turn angles */
2683 /* ImproveOSM Errors
2684 ------------------------------------------------------- */
2686 .improveOSM.error_type-ow { /* missing one way */
2690 .improveOSM.error_type-mr-road { /* missing road */
2693 .improveOSM.error_type-mr-path { /* missing path */
2696 .improveOSM.error_type-mr-parking { /* missing parking */
2699 .improveOSM.error_type-mr-both { /* missing road+parking */
2703 .improveOSM.error_type-tr { /* missing turn restriction */
2708 /* Custom Map Data (geojson, gpx, kml, vector tile) */
2710 pointer-events: none;
2713 .layer-mapdata path.shadow {
2714 pointer-events: stroke;
2720 .layer-mapdata path.MultiPoint.shadow,
2721 .layer-mapdata path.Point.shadow {
2722 pointer-events: fill;
2726 .layer-mapdata path.shadow.hover:not(.selected) {
2727 stroke-opacity: 0.4;
2729 .layer-mapdata path.shadow.selected {
2730 stroke-opacity: 0.7;
2733 .layer-mapdata path.stroke {
2739 .layer-mapdata path.fill {
2741 stroke-opacity: 0.3;
2748 .layer-mapdata text.label-halo,
2749 .layer-mapdata text.label {
2752 dominant-baseline: middle;
2754 .layer-mapdata text.label {
2757 .layer-mapdata text.label.hover,
2758 .layer-mapdata text.label.selected {
2761 .layer-mapdata text.label-halo {
2765 stroke-miterlimit: 1;
2769 .low-zoom.fill-wireframe path.stroke,
2770 .fill-wireframe path.stroke {
2771 stroke-width: 1 !important;
2772 stroke-opacity: 0.5 !important;
2773 stroke-dasharray: none !important;
2774 fill: none !important;
2776 .low-zoom.fill-wireframe .layer-mapdata path.stroke,
2777 .fill-wireframe .layer-mapdata path.stroke {
2778 stroke-width: 2 !important;
2779 stroke-opacity: 1 !important;
2782 .low-zoom.fill-wireframe path.shadow,
2783 .fill-wireframe path.shadow {
2787 .fill-wireframe path.shadow.related:not(.selected),
2788 .fill-wireframe path.shadow.hover:not(.selected) {
2789 stroke-opacity: 0.4;
2791 .fill-wireframe path.shadow.selected {
2792 stroke-opacity: 0.6;
2795 .fill-wireframe .point,
2796 .fill-wireframe .areaicon,
2797 .fill-wireframe .areaicon-halo,
2798 .fill-wireframe path.casing,
2799 .fill-wireframe path.fill,
2800 .fill-wireframe path.oneway {
2801 display: none !important;
2804 .fill-partial path.area.fill {
2807 pointer-events: none;
2809 .fill-partial path.area.fill.tag-building_part {
2812 .fill-partial path.area.fill.tag-indoor {
2815 .mode-browse .fill-partial path.area.fill,
2816 .mode-select .fill-partial path.area.fill {
2817 pointer-events: visibleStroke;
2820 ------------------------------------------------------- */
2822 Opera misbehaves when the window is resized vertically unless 100% width + height are
2823 applied to both html and body. https://gist.github.com/jfirebaugh/bd225bcfdd3a633850c4
2831 font: normal 12px/1.6667 "-apple-system", BlinkMacSystemFont,
2832 "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell",
2833 "Fira Sans", "Droid Sans", "Helvetica Neue", "Arial",
2839 -ms-user-select: none;
2840 -ms-content-zooming: none;
2845 vertical-align: middle;
2862 -webkit-filter: none !important;
2863 filter: none !important;
2864 -webkit-duration: 200ms;
2865 transition-duration: 200ms;
2869 -webkit-filter: grayscale(80%) brightness(80%);
2870 filter: grayscale(80%) brightness(80%);
2871 -webkit-duration: 200ms;
2872 transition-duration: 200ms;
2876 /* Can't be display: none or the clippaths are ignored. */
2882 div, textarea, label, input, form, span, ul, li, ol, a, button, h1, h2, h3, h4, h5, p, img {
2883 -moz-box-sizing: border-box;
2884 -webkit-box-sizing: border-box;
2885 box-sizing: border-box;
2888 a, button, input, textarea {
2889 -webkit-tap-highlight-color: rgba(0,0,0,0);
2890 -webkit-touch-callout: none;
2907 margin-bottom: 20px;
2912 h4:last-child { margin-bottom: 0;}
2918 margin-bottom: 10px;
2923 padding-bottom: 10px;
2927 outline-color: transparent;
2928 outline-style: none;
2931 ::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
2933 opacity: 1; /* Firefox */
2935 :-ms-input-placeholder { /* Internet Explorer 10-11 */
2938 ::-ms-input-placeholder { /* Microsoft Edge */
2964 ------------------------------------------------------- */
2967 font:normal 12px/20px "-apple-system", BlinkMacSystemFont,
2968 "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell",
2969 "Fira Sans", "Droid Sans", "Helvetica Neue", "Arial",
2980 background-color: #fff;
2982 border: 1px solid #ccc;
2983 padding: 5px 20px 5px 10px;
2986 text-overflow: ellipsis;
2988 [dir='rtl'] textarea,
2989 [dir='rtl'] input[type=text],
2990 [dir='rtl'] input[type=search],
2991 [dir='rtl'] input[type=number],
2992 [dir='rtl'] input[type=url],
2993 [dir='rtl'] input[type=tel],
2994 [dir='rtl'] input[type=email] {
2995 padding: 5px 10px 5px 20px;
3000 background-color: #f1f1f1;
3006 background-color: #eee;
3007 cursor: not-allowed;
3010 input[type="checkbox"],
3011 input[type="radio"] {
3019 [dir='rtl'] input[type="checkbox"],
3020 [dir='rtl'] input[type="radio"] {
3028 background-color: #fff;
3029 border-collapse: collapse;
3036 table.tags, table.tags td, table.tags th {
3037 border: 1px solid #ccc;
3046 ------------------------------------------------------- */
3047 .col6 { float: left; width: 50.0000%; max-width: 600px; }
3048 .col12 { float: left; width: 100.0000%; }
3052 ------------------------------------------------------- */
3058 background: #f6f6f6;
3062 background: #ececec;
3066 background: rgba(0,0,0,.5);
3070 background: rgba(0,0,0,.75);
3075 .fr { float: right;}
3094 box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.25);
3097 background: url(<%= asset_path("iD/img/loader_bg.gif") %>);
3098 background-size: 5px 5px;
3103 ------------------------------------------------------- */
3112 display: inline-block;
3119 background-color: #ececec;
3122 background: #7092ff;
3125 background-color: rgba(255,255,255,.25);
3126 color: rgba(0,0,0,.4);
3127 cursor: not-allowed;
3132 border-right: 1px solid rgba(0,0,0,.5);
3134 [dir='rtl'] .joined > * {
3135 border-left: 1px solid rgba(0,0,0,.5);
3139 .fillL .joined > * {
3140 border-right: 1px solid #fff;
3142 .joined > *:first-child {
3143 border-radius: 4px 0 0 4px;
3145 [dir='rtl'] .joined > *:first-child {
3146 border-radius: 0 4px 4px 0;
3148 .joined > *:last-child {
3149 border-right-width: 0;
3150 border-radius: 0 4px 4px 0;
3152 [dir='rtl'] .joined > *.bar-button:last-child {
3153 border-radius: 4px 0 0 4px;
3157 /* Action buttons */
3159 background: #7092ff;
3162 button.action:focus,
3163 button.action:hover {
3164 background: #597be7;
3166 button.secondary-action {
3167 background: #ececec;
3169 button.secondary-action:focus,
3170 button.secondary-action:hover {
3171 background: #cccccc;
3174 button.action.disabled,
3175 button.action.disabled:hover,
3176 button[disabled].action,
3177 button[disabled].action:hover {
3178 background: #cccccc;
3180 cursor: not-allowed;
3185 ------------------------------------------------------- */
3187 vertical-align: top;
3193 vertical-align: text-top;
3202 [dir='rtl'] .icon.pre-text {
3207 .icon.pre-text.user-icon {
3237 .notification-badge {
3246 .notification-badge.hide {
3251 /* Toolbar / Persistent UI Elements
3252 ------------------------------------------------------- */
3255 flex-flow: row nowrap;
3256 justify-content: space-between;
3258 padding: 10px 5px 0px 5px;
3264 #bar .toolbar-item {
3267 flex-flow: column wrap;
3268 justify-content: center;
3271 #bar .toolbar-item .item-content {
3274 flex-flow: row nowrap;
3275 justify-content: center;
3281 #bar .toolbar-item .item-label {
3284 white-space: nowrap;
3285 margin: 1px 2px 2px 2px;
3287 #bar .toolbar-item.spacer {
3291 #bar .toolbar-item:first-child {
3292 justify-content: flex-start;
3294 #bar .toolbar-item:last-child {
3295 justify-content: flex-end;
3297 #bar .toolbar-item:empty:not(.spacer) {
3302 flex-flow: row nowrap;
3303 align-items: center;
3306 white-space: nowrap;
3309 button.bar-button .icon {
3312 button.bar-button .label {
3317 button.bar-button.dragging {
3321 button.bar-button.dragging .tooltip {
3324 button.bar-button.dragging.removing {
3325 cursor: url(<%= asset_path("iD/img/cursor-select-remove.png") %>), pointer;
3328 button.save .count {
3329 display: inline-block;
3334 .help-wrap svg.icon.pre-text.add-note,
3335 button.add-note svg.icon {
3338 color: rgba(0,0,0,0.25);
3343 button.add-note svg.icon {
3347 [dir='rtl'] button.add-note svg.icon {
3349 margin-right: unset;
3351 .help-wrap svg.icon.pre-text.add-note {
3365 background: transparent;
3366 border-radius: 100%;
3368 [dir='rtl'] .spinner img {
3369 -moz-transform: scaleX(-1);
3370 -o-transform: scaleX(-1);
3371 -webkit-transform: scaleX(-1);
3372 transform: scaleX(-1);
3374 -ms-filter: "FlipH";
3378 #bar.narrow .spinner,
3379 #bar.narrow button.bar-button .label {
3382 #bar.narrow button .count {
3383 border-left-width: 0;
3384 border-right-width: 0;
3387 [dir='ltr'] .undo-redo button:first-of-type {
3390 [dir='rtl'] .undo-redo button:first-of-type {
3394 /* Add a feature search bar
3395 ------------------------------------------------------- */
3399 justify-content: center;
3404 .search-add .search-wrap {
3408 [dir='ltr'] .search-add .search-wrap {
3409 border-radius: 20px 4px 4px 20px;
3411 [dir='rtl'] .search-add .search-wrap {
3412 border-radius: 4px 20px 20px 4px;
3414 .search-add .search-wrap.focused .tooltip {
3417 .search-add .search-wrap:last-child {
3418 border-radius: 20px;
3420 .search-add input[type='search'] {
3428 border-radius: inherit;
3430 .search-add input[type='search'][disabled] {
3432 cursor: not-allowed;
3434 .search-add .search-icon {
3440 pointer-events: none;
3442 [dir='rtl'] .search-add .search-icon {
3446 .search-add .popover {
3459 .search-add .popover .popover-content {
3464 .search-add .popover,
3465 .search-add .popover .popover-content {
3466 /* ensure corners are rounded in Chrome */
3467 -webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);
3469 .search-add .popover .popover-footer {
3470 padding: 5px 10px 5px 10px;
3471 background: #f6f6f6;
3472 border-top: 1px solid #DCDCDC;
3475 .search-add .popover .popover-footer .message {
3479 .search-add .popover .popover-footer button.filter {
3481 background: transparent;
3484 .search-add .popover .popover-footer button.filter.active {
3487 .search-add .popover .popover-footer button.filter:hover {
3490 .search-add .popover .popover-footer button.filter.active:hover {
3493 .search-add .popover::-webkit-scrollbar {
3494 /* don't overlap rounded corners */
3495 background: transparent;
3497 .search-add .popover .list {
3500 .search-add .list-item > .row {
3505 .search-add .list-item:not(:last-of-type) .row,
3506 .search-add .subsection.subitems .list-item .row,
3507 .search-add .subsection > .tag-reference-body {
3508 border-bottom: 1px solid #DCDCDC;
3510 .search-add .list-item .label {
3518 align-items: center;
3522 .search-add .list-item .label .namepart:nth-child(2) {
3523 font-weight: normal;
3525 .search-add .list-item.disabled .preset-icon-container,
3526 .search-add .list-item.disabled .label {
3529 [dir='ltr'] .search-add .list-item .label .icon.inline {
3532 [dir='rtl'] .search-add .list-item .label .icon.inline {
3535 .search-add .list-item .row > *:not(button) {
3536 pointer-events: none;
3538 .search-add .list-item button.choose {
3546 .search-add .list-item button.choose:hover,
3547 .search-add .list-item button.choose:focus {
3550 .search-add .list-item.focused:not(.disabled) button.choose {
3551 background: #e8ebff;
3553 .search-add .list-item button.choose.disabled {
3554 background-color: #ececec;
3556 .search-add .subsection .list-item button.choose {
3559 .search-add .subsection .tag-reference-body {
3560 background: rgba(255, 255, 255, 0.85);
3563 .search-add .list-item button.accessory {
3567 background: transparent;
3571 .search-add .list-item button.accessory:hover {
3574 .search-add .list-item button.tag-reference-open path {
3577 .search-add .subsection {
3578 background-color: #CBCBCB;
3580 [dir='ltr'] .search-add .subitems {
3583 [dir='rtl'] .search-add .subitems {
3587 /* Add a preset mode buttons
3588 ------------------------------------------------------- */
3590 button.bar-button.add-preset {
3593 [dir='ltr'] button.bar-button.add-preset {
3596 [dir='rtl'] button.bar-button.add-preset {
3599 [dir='ltr'] button.bar-button.add-preset.first-recent {
3602 [dir='rtl'] button.bar-button.add-preset.first-recent {
3605 button.bar-button.add-preset {
3608 button.add-preset.disabled .preset-icon-container {
3611 /* Header for modals / panes
3612 ------------------------------------------------------- */
3614 border-bottom: 1px solid #ccc;
3622 white-space: nowrap;
3623 text-overflow: ellipsis;
3641 .field-help-title button.close,
3642 .sidebar-component .header button.data-editor-close,
3643 .sidebar-component .header button.note-editor-close,
3644 .sidebar-component .header button.error-editor-close,
3645 .entity-editor-pane .header button.preset-close,
3646 .preset-list-pane .header button.preset-choose {
3651 [dir='rtl'] .field-help-title button.close,
3652 [dir='rtl'] .sidebar-component .header button.data-editor-close,
3653 [dir='rtl'] .sidebar-component .header button.note-editor-close,
3654 [dir='rtl'] .sidebar-component .header button.error-editor-close,
3655 [dir='rtl'] .entity-editor-pane .header button.preset-close,
3656 [dir='rtl'] .preset-list-pane .header button.preset-choose {
3661 .entity-editor-pane .header button.preset-choose {
3666 [dir='rtl'] .entity-editor-pane .header button.preset-choose {
3684 [dir='rtl'] .modal > button {
3693 padding: 5px 20px 5px 20px;
3694 border-top: 1px solid #ccc;
3695 background-color: #f6f6f6;
3699 justify-content: space-between;
3705 justify-content: center;
3710 justify-content: space-between;
3713 .header-block-outer {
3717 .header-block-close {
3719 justify-content: flex-end;
3722 /* Hide/Toggle collapsable sections (aka Disclosure)
3723 ------------------------------------------------------- */
3724 .hide-toggle .icon.pre-text {
3725 vertical-align: text-top;
3730 [dir='rtl'] .hide-toggle .icon.pre-text {
3735 a:visited.hide-toggle,
3737 display: inline-block;
3740 padding-bottom: 5px;
3744 /* Sidebar / Inspector
3745 ------------------------------------------------------- */
3751 background: #f6f6f6;
3752 -ms-user-select: element;
3753 border: 0px solid #ccc;
3754 border-right-width: 1px;
3756 [dir='rtl'] #sidebar {
3758 border-right-width: 0px;
3759 border-left-width: 1px;
3770 [dir='rtl'] #sidebar-resizer {
3775 #sidebar.collapsed #sidebar-resizer {
3776 /* make target wider to avoid the user accidentally resizing window */
3780 [dir='rtl'] #sidebar.collapsed #sidebar-resizer {
3784 .sidebar-component {
3792 .sidebar-component .body {
3842 .feature-list-pane .inspector-body,
3843 .preset-list-pane .inspector-body {
3846 .entity-editor-pane .inspector-body,
3847 .selection-list-pane .inspector-body {
3852 padding: 20px 20px 5px 20px;
3856 #sidebar .search-header .icon {
3861 pointer-events: none;
3863 [dir='rtl'] #sidebar .search-header .icon {
3868 #sidebar .search-header input {
3876 border-bottom-width: 1px;
3883 /* Feature List / Search Results
3884 ------------------------------------------------------- */
3890 .feature-list-item {
3893 border-bottom: 1px solid #ccc;
3899 background-color: #ccc;
3905 [dir='rtl'] .geocode-item {
3909 .geocode-item:hover {
3910 background-color: #aaa;
3913 .feature-list-item {
3914 background-color: #fff;
3919 .feature-list-item:hover {
3920 background-color: #ececec;
3922 .feature-list-item button {
3923 background: transparent;
3925 .feature-list-item .label {
3928 white-space: nowrap;
3929 text-overflow: ellipsis;
3931 border-left: 1px solid rgba(0, 0, 0, .1);
3933 [dir='rtl'] .feature-list-item .label {
3937 .feature-list-item .label .icon {
3940 .feature-list-item .close {
3944 .feature-list-item .close .icon {
3947 .feature-list-item .entity-type {
3950 .feature-list-item:hover .entity-type {
3953 .feature-list-item .entity-name {
3954 font-weight: normal;
3958 [dir='rtl'] .feature-list-item .entity-name {
3960 padding-right: 10px;
3964 /* Preset List and Icons
3965 ------------------------------------------------------- */
3968 padding: 20px 20px 10px 20px;
3969 border-bottom: 1px solid #ccc;
3973 margin-bottom: 10px;
3976 .preset-list-button-wrap {
3980 border: 1px solid #ccc;
3984 .preset-list-button {
3991 .preset-list.filtered .preset-list-item:first-child .preset-list-button {
3992 background: #ececec;
3995 .preset-icon-container {
4001 align-items: center;
4002 justify-content: center;
4004 .preset-icon-container.small {
4009 .preset-icon-container img.image-icon {
4012 object-fit: contain;
4016 .preset-icon-point-border path {
4031 .preset-icon-container path {
4034 .preset-icon-container circle.vertex {
4036 stroke: rgba(0, 0, 0, 0.25);
4038 .preset-icon-fill circle.midpoint {
4040 stroke: rgba(0, 0, 0, 0.25);
4042 /* use a consistent stroke width */
4043 .preset-icon-container path.line.stroke {
4044 stroke-width: 2 !important;
4046 .preset-icon-container path.line.casing {
4047 stroke-width: 4 !important;
4058 .preset-icon-container svg,
4059 .preset-icon-container svg > * {
4060 cursor: inherit !important;
4062 .preset-icon-fill path.area.stroke {
4066 .preset-icon-fill-vertex circle {
4067 stroke-width: 1.5px;
4070 backface-visibility: hidden;
4079 .preset-icon .icon {
4086 transform: scale(0.48);
4088 .preset-icon-container.small .preset-icon.point-geom .icon {
4089 transform: translateY(-7%) scale(0.27);
4091 .preset-icon-container.small .preset-icon.point-geom.preset-icon-iD .icon {
4092 transform: translateY(-9%) scale(0.5);
4094 .preset-icon.framed .icon {
4095 transform: scale(0.4);
4097 .preset-icon.framed.line-geom .icon,
4098 .preset-icon.framed.route-geom .icon {
4100 transform: translateY(-30%) scale(0.4);
4102 .preset-icon-iD .icon {
4103 transform: scale(1);
4105 .preset-icon-iD.framed .icon {
4106 transform: scale(0.74);
4108 .preset-icon-iD.framed.line-geom .icon,
4109 .preset-icon-iD.framed.route-geom .icon {
4110 transform: translateY(-30%) scale(0.74);
4112 .preset-icon-container.fallback .preset-icon .icon {
4113 transform: scale(0.5) !important;
4116 .preset-list-button .label {
4118 flex-flow: row wrap;
4119 align-items: center;
4120 background-color: #f6f6f6;
4128 border-left: 1px solid rgba(0, 0, 0, .1);
4130 [dir='rtl'] .preset-list-button .label {
4135 border-right: 1px solid rgba(0, 0, 0, .1);
4137 [dir='ltr'] .category .preset-list-button .label {
4138 border-radius: 0px 4px 4px 0px;
4140 [dir='rtl'] .category .preset-list-button .label {
4141 border-radius: 4px 0px 0px 4px;
4144 .preset-list-button .label-inner {
4147 .preset-list-button .label-inner .namepart {
4149 white-space: nowrap;
4150 text-overflow: ellipsis;
4154 .preset-list-button:hover .label,
4155 .preset-list-button:focus .label,
4156 .preset-list-button.disabled,
4157 .preset-list-button.disabled .label {
4158 background-color: #ececec;
4161 .preset-list-item button.preset-favorite-button,
4162 .preset-list-item button.tag-reference-button {
4166 background: #f6f6f6;
4168 [dir='ltr'] .preset-list-item button.preset-favorite-button,
4169 [dir='ltr'] .preset-list-item button.tag-reference-button {
4170 border-left: 1px solid #ccc;
4172 [dir='rtl'] .preset-list-item button.preset-favorite-button,
4173 [dir='rtl'] .preset-list-item button.tag-reference-button {
4174 border-right: 1px solid #ccc;
4176 [dir='ltr'] .preset-list-item button:last-child {
4177 border-radius: 0 4px 4px 0;
4179 [dir='rtl'] .preset-list-item button:last-child {
4180 border-radius: 4px 0 0 4px;
4183 .preset-list-item button.preset-favorite-button:hover,
4184 .preset-list-item button.tag-reference-button:hover {
4185 background: #f1f1f1;
4187 .preset-list-item button.preset-favorite-button .icon,
4188 .preset-list-item button.tag-reference-button .icon {
4192 button.preset-favorite-button .icon {
4196 button.preset-favorite-button.active .icon {
4197 fill-opacity: inherit;
4201 .current .preset-list-button,
4202 .current .preset-list-button .label {
4203 background-color: #e8ebff;
4206 .category .preset-list-button:after,
4207 .category .preset-list-button:before {
4211 left: -1px; right: -1px;
4212 border: 1px solid #ccc;
4213 border-bottom: none;
4214 border-radius: 6px 6px 0 0;
4218 .category .preset-list-button:before {
4222 .subgrid .preset-list {
4227 width: -webkit-calc(100% + 20px);
4230 .subgrid .preset-list > *:last-child {
4235 border: solid rgba(0, 0, 0, 0);
4237 border-bottom-color: #ececec;
4241 margin-left: -webkit-calc(50% - 10px);
4246 ------------------------------------------------------- */
4249 flex-flow: row wrap;
4250 justify-content: flex-end;
4257 .data-editor .quick-links,
4258 .error-editor .quick-links,
4259 .note-editor .quick-links {
4264 /* Entity/Preset Editor
4265 ------------------------------------------------------- */
4269 padding: 10px 0px 5px 0px;
4271 .entity-issues a.hide-toggle,
4272 .preset-editor a.hide-toggle {
4273 margin: 0 20px 5px 20px;
4275 .entity-issues .disclosure-wrap-entity_issues,
4276 .preset-editor .form-fields-container {
4278 margin: 0 10px 10px 10px;
4280 background: #ececec;
4282 .entity-issues .disclosure-wrap-entity_issues:empty,
4283 .preset-editor .form-fields-container:empty {
4286 .entity-editor-pane .preset-list-item {
4291 The parts of a field:
4292 - `.form-field` is a `div` wraps the entire thing
4293 - `.field-label` is a `label` that wraps the top part, it contains;
4294 - `span` classed `label-text`
4295 - 0..n buttons for "remove", "modified", "tag reference"
4296 - `.form-field-input-wrap` is a `label` or `div` that wraps the bottom part, it contains;
4297 - usually an `input`
4298 - sometimes some buttons (translate, increment, decrement)
4299 - or could just be a `div` with anything really
4300 - `.tag-reference-body` at the bottom (usually hidden)
4302 .------------------. -
4303 | Name | i | <- .field-label |
4304 +------------------+ |
4305 | Starbucks | + | <- .form-field-input-wrap > .form-field
4306 '------------------' |
4307 tag reference <- .tag-reference-body |
4313 flex-flow: row wrap;
4314 margin-bottom: 10px;
4316 -webkit-transition: margin-bottom 200ms;
4317 -moz-transition: margin-bottom 200ms;
4318 -o-transition: margin-bottom 200ms;
4319 transition: margin-bottom 200ms;
4323 .wrap-form-field:last-child .form-field {
4327 /* A `label` element that wraps the top section */
4330 flex-flow: row nowrap;
4336 background: #f6f6f6;
4337 border: 1px solid #ccc;
4338 border-radius: 4px 4px 0 0;
4341 .field-label .label-text {
4343 padding: 5px 0 5px 10px;
4345 [dir='rtl'] .field-label .label-text {
4346 padding: 5px 10px 5px 0;
4349 .label-text .label-textannotation svg.icon {
4355 vertical-align: text-top;
4358 .field-label button {
4360 border-left: 1px solid #ccc;
4364 background: #f6f6f6;
4366 [dir='rtl'] .field-label button {
4368 border-right: 1px solid #ccc;
4370 .field-label button:hover {
4371 background: #f1f1f1;
4373 .field-label .icon {
4377 .field-label .modified-icon,
4378 .field-label .remove-icon,
4379 .field-label .remove-icon-multilingual {
4382 .modified:not(.locked) .field-label .modified-icon,
4383 .present:not(.locked) .field-label .remove-icon,
4384 .present:not(.locked) .field-label .remove-icon-multilingual {
4385 display: inline-block;
4388 /* A `div` element that wraps the bottom section */
4389 .form-field-input-wrap {
4391 flex-flow: row nowrap;
4396 border-radius: 0 0 4px 4px;
4398 .nowrap .form-field-input-wrap {
4403 .form-field-input-wrap > input,
4404 .form-field-input-wrap > label,
4405 .form-field-input-wrap > textarea,
4406 .form-field-input-wrap > ul.chiplist {
4409 border: 1px solid #ccc;
4415 .form-field-input-wrap > textarea {
4417 border-radius: 0 0 4px 4px;
4421 /* Buttons inside fields */
4422 .form-field-button {
4427 background-color: #fff;
4428 border: 1px solid #ccc;
4430 border-top-width: 0;
4431 border-left-width: 0;
4432 vertical-align: top;
4434 [dir='rtl'] .form-field-button {
4435 border-left-width: 1px;
4436 border-right-width: 0;
4438 .form-field-button:hover {
4439 background-color: #f1f1f1;
4441 .form-field-button .icon {
4447 /* round corners of first/last child elements */
4448 .form-field-input-wrap > button:last-of-type {
4449 border-bottom-right-radius: 4px;
4451 [dir='rtl'] .form-field-input-wrap > button:last-of-type {
4452 border-bottom-left-radius: 4px;
4456 /* Field - Access, Cycleway
4457 ------------------------------------------------------- */
4458 .form-field-input-access,
4459 .form-field-input-cycleway {
4462 flex-flow: row wrap;
4465 /* Field - lists with labeled input items
4466 ------------------------------------------------------- */
4467 .form-field ul.rows {
4469 border: 1px solid #ccc;
4471 border-radius: 0 0 4px 4px;
4475 .form-field ul.rows li {
4476 border-top: 1px solid #ccc;
4478 .form-field ul.rows li:first-child {
4481 .form-field ul.rows li {
4483 flex-flow: row nowrap;
4485 .form-field ul.rows li.labeled-input > span,
4486 .form-field ul.rows li.labeled-input > div {
4491 .form-field ul.rows li input {
4496 .form-field ul.rows li button {
4499 [dir='ltr'] .form-field ul.rows li.labeled-input input,
4500 [dir='ltr'] .form-field ul.rows li button {
4501 border-left-width: 1px;
4503 [dir='rtl'] .form-field ul.rows li.labeled-input input,
4504 [dir='rtl'] .form-field ul.rows li button {
4505 border-right-width: 1px;
4509 /* Field - Structure
4510 ------------------------------------------------------- */
4511 .structure-extras-wrap {
4515 border: 1px solid #ccc;
4517 border-radius: 0 0 4px 4px;
4519 .structure-extras-wrap > ul.rows {
4520 border: 1px solid #ccc;
4525 /* Field - Combo / Multicombo
4526 ------------------------------------------------------- */
4527 .form-field-input-combo > input:only-of-type {
4528 border-radius: 0 0 4px 4px;
4530 .form-field-input-combo.empty-combobox input,
4531 .form-field-input-multicombo .empty-combobox input {
4532 padding-right: 10px;
4535 .form-field-input-combo.empty-combobox .combobox-caret,
4536 .form-field-input-multicombo .empty-combobox .combobox-caret {
4540 .form-field-input-multicombo ul.chiplist {
4541 padding: 5px 8px 5px 8px;
4544 border-radius: 0 0 4px 4px;
4548 .form-field-input-multicombo li {
4549 display: inline-flex;
4550 flex-flow: row nowrap;
4551 align-items: center;
4556 [dir='ltr'] .form-field-input-multicombo li {
4559 [dir='rtl'] .form-field-input-multicombo li {
4563 .form-field-input-multicombo li.chips {
4564 background-color: #eff2f7;
4565 border: 1px solid #ccd5e3;
4569 [dir='ltr'] .form-field-input-multicombo li.chips {
4570 padding: 2px 0px 2px 5px;
4572 [dir='rtl'] .form-field-input-multicombo li.chips {
4573 padding: 2px 5px 2px 0px;
4576 .form-field-input-multicombo li.chips span {
4580 word-wrap: break-word;
4583 .form-field-input-multicombo a {
4584 font-family: Arial, Helvetica, sans-serif !important;
4585 font-size: 16px !important;
4586 padding: 0px 5px 0px 5px;
4595 .form-field-input-multicombo .input-wrap {
4596 border: 1px solid #ddd;
4600 .form-field-input-multicombo input {
4606 .form-field-input-multicombo input:focus {
4607 border-radius: 4px !important;
4610 .form-field-input-multicombo .full-line-chips li.chips {
4613 .form-field-input-multicombo .full-line-chips .input-wrap {
4618 /* Field - Text / Numeric
4619 ------------------------------------------------------- */
4620 .form-field-input-text > input:only-of-type,
4621 .form-field-input-tel > input:only-of-type,
4622 .form-field-input-email > input:only-of-type,
4623 .form-field-input-url > input:only-of-type {
4624 border-radius: 0 0 4px 4px;
4626 .form-field-input-number > input:only-of-type {
4627 border-radius: 0 0 0 4px;
4629 [dir='rtl'] .form-field-input-number > input:only-of-type {
4630 border-radius: 0 0 4px 0;
4632 .form-field-input-number > button:last-of-type {
4633 border-radius: 0 0 4px 0;
4635 [dir='rtl'] .form-field-input-number > button:last-of-type {
4636 border-radius: 0 0 0 4px;
4639 /* draw the up/down on the buttons */
4640 .form-field-input-number button.decrement::after,
4641 .form-field-input-number button.increment::after {
4643 height: 0; width: 0;
4645 left: 0; right: 0; bottom: 0; top: 0;
4648 .form-field-input-number button.decrement::after {
4649 border-top: 5px solid #ccc;
4650 border-left: 5px solid transparent;
4651 border-right: 5px solid transparent;
4653 .form-field-input-number button.increment::after {
4654 border-bottom: 5px solid #ccc;
4655 border-left: 5px solid transparent;
4656 border-right: 5px solid transparent;
4661 ------------------------------------------------------- */
4662 .form-field-input-check {
4668 border: 1px solid #ccc;
4672 .form-field-input-check > input[type="checkbox"] {
4677 .form-field-input-check > span {
4680 .form-field-input-check > .reverser.button {
4682 background-color: #eff2f7;
4683 border: 1px solid #ccd5e3;
4687 .form-field-input-check > .reverser.button.hide {
4691 .form-field-input-check:hover {
4692 background: #f1f1f1;
4694 .form-field-input-check .set {
4697 .form-field-input-check label:not(.set) input[type="checkbox"] {
4702 /* Field - Radio button
4703 ------------------------------------------------------- */
4704 .form-field-input-radio {
4707 flex-flow: row wrap;
4709 .form-field-input-radio > label {
4712 flex-flow: row nowrap;
4716 background-color: #fff;
4720 .form-field-input-radio > label:last-child {
4721 border-radius: 0 0 4px 4px;
4723 .form-field-input-radio > label:hover {
4724 background-color: #ececec;
4726 .form-field-input-radio > label.active {
4727 background-color: #e8ebff;
4729 .form-field-input-radio > label:not(:last-of-type) {
4730 border-bottom: 1px solid #ccc;
4732 .form-field-input-radio > label > input[type="radio"] {
4736 .form-field-input-radio > label > span {
4739 white-space: nowrap;
4740 text-overflow: ellipsis;
4743 /* Hide placeholder for radio buttons if another is active, or not in hover state */
4744 .form-field-input-radio label.active ~ .placeholder,
4745 .form-field-input-radio .placeholder {
4756 ------------------------------------------------------- */
4757 .form-field-input-maxspeed > input:first-of-type {
4758 border-radius: 0 0 0 4px;
4760 [dir='rtl'] .form-field-input-maxspeed > input:first-of-type {
4761 border-radius: 0 0 4px 0;
4763 .form-field-input-maxspeed > input:last-of-type { /* unit field */
4767 border-radius: 0 0 4px 0;
4769 [dir='rtl'] .form-field-input-maxspeed > input:last-of-type {
4771 border-radius: 0 0 0 4px;
4775 /* Field - Localized Name
4776 ------------------------------------------------------- */
4777 .form-field-input-localized > input.localized-main {
4778 border-radius: 0 0 0 4px;
4780 [dir='rtl'] .form-field-input-localized > input.localized-main {
4781 border-radius: 0 0 4px 0;
4783 .form-field-input-localized > button.localized-add {
4784 border-radius: 0 0 4px 0;
4786 [dir='rtl'] .form-field-input-localized > button.localized-add {
4787 border-radius: 0 0 0 4px;
4790 .form-field-input-localized button.localized-add.disabled,
4791 .form-field-input-localized input.localized-main.disabled,
4792 .form-field-input-localized input.localized-lang.disabled,
4793 .form-field-input-localized input.localized-value.disabled {
4795 background-color: #eee;
4796 cursor: not-allowed;
4799 /* nested subfields for name in different languages */
4800 .localized-multilingual {
4804 .localized-multilingual .entry {
4809 /* draws a little line connecting the multilingual field up to the name field */
4810 .localized-multilingual .entry::before {
4823 .localized-multilingual .entry .localized-lang {
4825 border-top-width: 0;
4828 .localized-multilingual .entry .localized-value {
4829 border-top-width: 0;
4830 border-radius: 0 0 4px 4px;
4836 ------------------------------------------------------- */
4837 .form-field-input-address {
4840 flex-flow: row wrap;
4841 border: 1px solid #ccc;
4858 [dir='rtl'] .addr-row input {
4859 border-right: 1px solid #ccc;
4863 .addr-row:first-of-type input {
4866 .addr-row input:first-of-type {
4869 [dir='rtl'] .addr-row input:first-of-type {
4872 .addr-row:last-of-type input:first-of-type {
4873 border-radius: 0 0 0 4px;
4875 [dir='rtl'] .addr-row:last-of-type input:first-of-type {
4876 border-radius: 0 0 4px 0;
4878 .addr-row:last-of-type input:last-of-type {
4879 border-radius: 0 0 4px 0;
4881 [dir='rtl'] .addr-row:last-of-type input:last-of-type {
4882 border-radius: 0 0 0 4px;
4886 /* Field - Wikipedia
4887 ------------------------------------------------------- */
4888 .form-field-input-wikipedia {
4890 flex-flow: row wrap;
4894 .wiki-lang-container,
4895 .wiki-title-container {
4897 flex-flow: row nowrap;
4902 .wiki-lang-container > input.wiki-lang,
4903 .wiki-title-container > input.wiki-title {
4908 .wiki-title-container > input.wiki-title {
4909 border-radius: 0 0 0 4px;
4911 [dir='rtl'] .wiki-title-container > input.wiki-title {
4912 border-radius: 0 0 4px 0;
4914 .wiki-title-container > button.wiki-link,
4915 .form-field-wikidata ul.rows li:last-child button.form-field-button:last-child {
4916 border-radius: 0 0 4px 0;
4918 [dir='rtl'] .wiki-title-container > button.wiki-link,
4919 [dir='rtl'] .form-field-wikidata ul.rows li:last-child button.form-field-button:last-child {
4920 border-radius: 0 0 0 4px;
4924 /* Field - Restriction Editor
4925 ------------------------------------------------------- */
4926 .form-field-input-restrictions {
4928 border: 1px solid #ccc;
4930 border-radius: 0 0 4px 4px;
4933 .form-field-input-restrictions .restriction-controls-container {
4934 background-color: #fff;
4937 border-top: 1px solid #ccc;
4938 border-radius: 0 0 4px 4px;
4941 .restriction-controls-container .restriction-controls {
4943 -moz-user-select: none;
4944 -webkit-user-select: none;
4945 -ms-user-select: none;
4949 .restriction-controls .restriction-control {
4955 .restriction-control input,
4956 .restriction-control span {
4957 display: table-cell;
4962 .restriction-control span.restriction-control-label {
4966 .restriction-control input {
4970 vertical-align: middle;
4973 .form-field-input-restrictions .restriction-container {
4977 /* zero width space, so container takes up space */
4978 .form-field-input-restrictions .restriction-container:after {
4982 .form-field-input-restrictions svg.surface {
4987 .restriction-container .restriction-help {
4994 background-color: rgba(255, 255, 255, .8);
4997 pointer-events: none;
4999 -moz-user-select: none;
5000 -webkit-user-select: none;
5001 -ms-user-select: none;
5005 .restriction-help span {
5009 .restriction-help .qualifier {
5013 .restriction-help .qualifier.allow {
5016 .restriction-help .qualifier.restrict {
5019 .restriction-help .qualifier.only {
5024 /* Field - Changeset Comment
5025 ------------------------------------------------------- */
5026 .form-field-comment:not(.present) #preset-input-comment {
5027 border-color: rgb(230, 100, 100);
5029 .form-field-comment:not(.present) .field-label {
5030 border-color: rgb(230, 100, 100);
5031 background: rgba(230, 100, 100, 0.2);
5033 .form-field-comment:not(.present) button {
5034 border-color: rgb(230, 100, 100);
5039 ------------------------------------------------------- */
5043 box-shadow: 0 4px 10px 1px rgba(0,0,0,.2);
5049 border: 1px solid #ccc;
5050 border-radius: 0 0 4px 4px;
5056 border-top: 1px solid #ccc;
5057 text-overflow: ellipsis;
5058 white-space: nowrap;
5062 .combobox a.selected,
5064 background: #ececec;
5067 .combobox a:first-child {
5073 display: inline-block;
5076 width: 30px !important;
5078 vertical-align: top;
5081 [dir='rtl'] .combobox-caret {
5083 margin-right: -30px;
5086 .combobox-caret::after {
5088 height: 0; width: 0;
5090 left: 0; right: 0; bottom: 0; top: 0;
5092 border-top: 5px solid #ccc;
5093 border-left: 5px solid transparent;
5094 border-right: 5px solid transparent;
5099 ------------------------------------------------------- */
5108 border: 1px solid #ccc;
5110 border-radius: 0 0 4px 4px;
5112 background: rgba(255,255,255,0.95);
5113 box-shadow: 0 0 30px 5px rgba(0,0,0,.4);
5116 .field-help-title h2 {
5121 .field-help-title button {
5130 margin-bottom: 10px;
5132 .field-help-nav-item {
5133 display: inline-block;
5138 .field-help-nav-item.active {
5140 border-bottom: 2px solid;
5142 .field-help-nav-item:hover {
5144 background-color: #efefef;
5147 .field-help-content {
5152 .field-help-content h3 {
5156 .field-help-content p {
5157 margin-bottom: 15px;
5159 .field-help-content ul li {
5164 .field-help-content .field-help-image {
5166 margin-bottom: 15px;
5169 .field-help-content svg.turn {
5173 .field-help-content svg.shadow {
5178 .field-help-content svg.from {
5181 .field-help-content svg.allow {
5184 .field-help-content svg.restrict {
5187 .field-help-content svg.only {
5191 .field-help-content p.from_shadow,
5192 .field-help-content p.allow_shadow,
5193 .field-help-content p.restrict_shadow,
5194 .field-help-content p.allow_turn,
5195 .field-help-content p.restrict_turn {
5200 /* More Fields dropdown
5201 ------------------------------------------------------- */
5203 padding: 0 20px 20px 20px;
5206 .changeset-editor .more-fields {
5207 padding: 15px 20px 0 20px;
5210 .more-fields label {
5212 flex-flow: row nowrap;
5213 justify-content: space-between;
5214 align-items: center;
5217 .more-fields input {
5221 [dir='rtl'] .more-fields input {
5226 .form-field-input-wrap .label {
5228 background: #f6f6f6;
5234 ------------------------------------------------------- */
5237 flex-flow: row nowrap;
5238 flex-direction: row-reverse;
5242 button.raw-tag-option {
5250 button.raw-tag-option:focus,
5251 button.raw-tag-option:hover,
5252 button.raw-tag-option.active {
5254 background: #597be7;
5256 button.raw-tag-option.selected {
5258 background: #7092ff;
5260 button.raw-tag-option svg.icon {
5263 vertical-align: text-bottom;
5265 [dir='ltr'] button.raw-tag-option-list {
5266 -moz-transform: scaleX(-1);
5267 -o-transform: scaleX(-1);
5268 -webkit-transform: scaleX(-1);
5269 transform: scaleX(-1);
5271 -ms-filter: "FlipH";
5278 font-family: monospace;
5290 .tag-row .inner-wrap {
5292 flex-flow: row nowrap;
5297 .tag-row .value-wrap {
5303 .tag-row.readonly input.key,
5304 .tag-row.readonly input.value,
5305 .tag-row.readonly button.remove {
5307 background-color: #eee;
5308 cursor: not-allowed;
5315 border-bottom: 1px solid #ccc;
5316 border-left: 1px solid #ccc;
5319 [dir='rtl'] .tag-row input {
5321 border-right: 1px solid #ccc;
5325 .tag-row input.key {
5327 background-color: #f6f6f6;
5330 .tag-row input.value {
5331 border-right: 1px solid #ccc;
5333 [dir='rtl'] .tag-row input.value {
5334 border-left: 1px solid #ccc;
5337 .tag-row:first-child input.key {
5338 border-top: 1px solid #ccc;
5339 border-top-left-radius: 4px;
5341 [dir='rtl'] .tag-row:first-child input.key {
5342 border-top-left-radius: 0;
5343 border-top-right-radius: 4px;
5346 .tag-row:first-child input.value {
5347 border-top: 1px solid #ccc;
5353 border: 1px solid #ccc;
5354 border-top-width: 0;
5355 border-left-width: 0;
5357 [dir='rtl'] .tag-row button {
5358 border-left-width: 1px;
5359 border-right-width: 0;
5362 .tag-row button:hover {
5363 background: #f1f1f1;
5365 .tag-row button .icon {
5368 .tag-row:first-child button {
5369 border-top-width: 1px;
5372 .tag-row:first-child .tag-reference-button {
5373 border-top-right-radius: 4px;
5375 [dir='rtl'] .tag-row:first-child .tag-reference-button {
5376 border-top-left-radius: 4px;
5377 border-top-right-radius: 0;
5380 .tag-row:last-child .tag-reference-button {
5381 border-bottom-right-radius: 4px;
5383 [dir='rtl'] .tag-row:last-child .tag-reference-button {
5384 border-bottom-left-radius: 4px;
5385 border-bottom-right-radius: 0;
5388 .tag-row .tag-reference-button {
5391 [dir='rtl'] .tag-row .tag-reference-button {
5392 border-left-width: 1px;
5393 border-right-width: 0;
5397 .tag-reference-loading {
5398 background-color: #f5f5f5;
5400 .tag-reference-loading .icon {
5401 background-image: url(<%= asset_path("iD/img/mini-loader.gif") %>);
5402 background-position: 0 0;
5405 .tag-reference-body {
5412 .tag-reference-body.expanded {
5413 padding-bottom: 10px;
5414 display: inline-block;
5416 .tag-reference-description {
5419 .tag-reference-link {
5423 img.tag-reference-wiki-image {
5429 [dir='rtl'] img.tag-reference-wiki-image {
5434 .preset-list .tag-reference-body {
5438 .raw-tag-editor .tag-reference-body {
5441 .raw-tag-editor .tag-row.readonly .tag-reference-body {
5442 background: #f6f6f6;
5445 .raw-tag-editor .tag-row:not(:last-child) .tag-reference-body.expanded {
5446 border-bottom: 1px solid #ccc;
5448 .raw-tag-editor .tag-row.readonly .tag-reference-body.expanded {
5449 border-top: 1px solid #ccc;
5453 /* Raw Member / Membership Editor
5454 ------------------------------------------------------- */
5456 .raw-member-editor .member-list,
5457 .raw-membership-editor .member-list {
5460 .raw-member-editor .member-list li,
5461 .raw-membership-editor .member-list li {
5465 padding-bottom: 10px;
5467 .raw-member-editor .member-row .member-entity-name,
5468 .raw-membership-editor .member-row .member-entity-name {
5469 font-weight: normal;
5473 [dir='rtl'] .raw-member-editor .member-row .member-entity-name,
5474 [dir='rtl'] .raw-membership-editor .member-row .member-entity-name {
5476 padding-right: 10px;
5479 .form-field-input-member > input.member-role {
5480 border-radius: 0 0 0 4px;
5482 [dir='rtl'] .form-field-input-member > input.member-role {
5483 border-radius: 0 0 4px 0;
5486 .member-incomplete .form-field-input-member > input.member-role,
5487 [dir='rtl'] .member-incomplete .form-field-input-member > input.member-role {
5488 border-radius: 0 0 4px 4px;
5491 .member-incomplete .member-delete {
5495 .member-row-new .member-entity-input {
5497 border-radius: 4px 4px 0 0;
5501 .raw-member-editor .member-row.dragging {
5505 -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.3);
5506 -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.3);
5507 box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.3);
5510 .raw-member-editor .member-row.dragging
5512 /* preserve extra space at bottom of inspector to allow for dropdown options - #5280 */
5513 .raw-membership-editor.inspector-inner {
5514 margin-bottom: 150px;
5517 /* hidden field to prevent user from tabbing out of the sidebar */
5522 border: 1px solid rgba(0,0,0,0);
5526 /* add tag, add relation buttons */
5530 flex-flow: row nowrap;
5533 .add-row .add-relation,
5534 .add-row .space-value {
5537 .add-row .space-buttons {
5542 background: rgba(0,0,0,.5);
5544 .add-row button:focus,
5545 .add-row button:hover {
5546 background: rgba(0,0,0,.8);
5550 border-radius: 0 0 4px 4px;
5558 /* OSM Note / KeepRight Editors
5559 ------------------------------------------------------- */
5562 background-color: #f6f6f6;
5564 border: 1px solid #ccc;
5566 flex-flow: row nowrap;
5567 align-items: center;
5571 .error-header-icon {
5572 background-color: #fff;
5578 border-right: 1px solid #ccc;
5579 border-radius: 5px 0 0 5px;
5581 [dir='rtl'] .note-header-icon,
5582 [dir='rtl'] .error-header-icon {
5583 border-right: unset;
5584 border-left: 1px solid #ccc;
5585 border-radius: 0 5px 5px 0;
5588 .note-header-icon .icon-wrap,
5589 .error-header-icon .icon-wrap {
5599 .preset-icon-28 .icon {
5605 .error-header-label {
5606 background-color: #f6f6f6;
5611 border-radius: 0 5px 5px 0;
5613 [dir='rtl'] .note-header-label,
5614 [dir='rtl'] .error-header-label {
5615 border-radius: 5px 0 0 5px;
5622 .comments-container {
5623 background: #ececec;
5630 background-color: #fff;
5632 border: 1px solid #ccc;
5635 flex-flow: row nowrap;
5641 .comment-avatar .icon.comment-avatar-icon {
5645 border: 1px solid #ccc;
5646 border-radius: 20px;
5649 padding: 10px 10px 10px 0;
5651 flex-flow: column nowrap;
5653 overflow-wrap: break-word;
5655 [dir='rtl'] .comment-main {
5656 padding: 10px 0 10px 10px;
5660 flex-flow: row nowrap;
5661 justify-content: space-between;
5676 .comment-text::-webkit-scrollbar {
5688 .error-details-container {
5689 background: #ececec;
5693 border: 1px solid #ccc;
5695 .error-details-description {
5696 margin-bottom: 10px;
5698 .error-details-description-text::first-letter {
5699 text-transform: capitalize;
5701 [dir='rtl'] .error-details-description-text::first-letter {
5702 text-transform: none; /* #5877 */
5705 .note-save .new-comment-input,
5706 .error-save .new-comment-input {
5713 .note-save .detail-section,
5714 .error-save .detail-section {
5723 /* Custom Data Editor
5724 ------------------------------------------------------- */
5726 background-color: #f6f6f6;
5728 border: 1px solid #ccc;
5730 flex-flow: row nowrap;
5731 align-items: center;
5735 background-color: #fff;
5741 border-right: 1px solid #ccc;
5742 border-radius: 5px 0 0 5px;
5744 [dir='rtl'] .data-header-icon {
5745 border-right: unset;
5746 border-left: 1px solid #ccc;
5747 border-radius: 0 5px 5px 0;
5750 .data-header-icon .icon-wrap {
5755 .data-header-label {
5756 background-color: #f6f6f6;
5761 border-radius: 0 5px 5px 0;
5763 [dir='rtl'] .data-header-label {
5764 border-radius: 5px 0 0 5px;
5767 /* custom data editor - no info/delete buttons */
5768 .data-editor.raw-tag-editor .tag-row button {
5771 .data-editor.raw-tag-editor .tag-row .key-wrap,
5772 .data-editor.raw-tag-editor .tag-row .value-wrap {
5778 ------------------------------------------------------- */
5786 [dir='rtl'] .map-controls {
5791 .map-control > button {
5794 background: rgba(0,0,0,.5);
5798 .map-control > button:hover {
5799 background: rgba(0, 0, 0, .8);
5802 .map-control > button.active,
5803 .map-control > button.active:hover {
5804 background: #7092ff;
5808 /* Fullscreen Button (disabled)
5809 ------------------------------------------------------- */
5811 display: inline-block;
5817 div.full-screen .tooltip {
5821 div.full-screen > button, div.full-screen > button.active {
5824 background: transparent;
5827 div.full-screen > button:hover {
5828 background-color: rgba(0, 0, 0, .8);
5833 ------------------------------------------------------- */
5834 .zoombuttons > button.zoom-in {
5835 border-radius: 4px 0 0 0;
5837 [dir='rtl'] .zoombuttons > button.zoom-in {
5838 border-radius: 0 4px 0 0;
5843 ------------------------------------------------------- */
5844 .geolocate-control {
5845 margin-bottom: 10px;
5847 .geolocate-control > button {
5848 border-radius: 0 0 0 4px;
5850 [dir='rtl'] .geolocate-control > button {
5851 border-radius: 0 0 4px 0;
5855 /* Background / Map Data / Help Pane buttons
5856 ------------------------------------------------------- */
5857 .help-control > button {
5858 border-radius: 0 0 0 4px;
5860 [dir='rtl'] .help-control > button {
5861 border-radius: 0 0 4px 0;
5864 .map-data-control button {
5868 .background-control > button {
5869 border-radius: 4px 0 0 0;
5871 [dir='rtl'] .background-control > button {
5872 border-radius: 0 4px 0 0;
5876 /* Background / Map Data Settings
5877 ------------------------------------------------------- */
5879 .background-control {
5884 margin-bottom: 10px;
5885 white-space: nowrap;
5888 .layer-list, .controls-list {
5889 margin-bottom: 10px;
5890 border: 1px solid #ccc;
5896 background-color: #fff;
5905 .layer-list > li:first-child {
5906 border-radius: 3px 3px 0 0;
5908 .layer-list > li:last-child {
5909 border-radius: 0 0 3px 3px;
5911 .layer-list > li:only-child {
5914 .layer-list li:not(:last-child) {
5915 border-bottom: 1px solid #ccc;
5917 .layer-list li:hover {
5918 background-color: #ececec;
5921 .layer-list li.active button,
5922 .layer-list li.switch button,
5923 .layer-list li.active,
5924 .layer-list li.switch {
5925 background: #e8ebff;
5928 .layer-list li.best > div.best {
5929 display: inline-block;
5934 [dir='rtl'] .list-item-data-browse svg {
5935 transform: rotateY(180deg);
5938 /* make sure tooltip fits in map-control panel */
5939 /* if too wide, placement will be wrong the first time it displays */
5940 .layer-list li.best .tooltip-inner {
5950 [dir='ltr'] .layer-list .indented label {
5953 [dir='rtl'] .layer-list .indented label {
5954 padding-right: 24px;
5957 .layer-list label > span {
5960 white-space: nowrap;
5961 text-overflow: ellipsis;
5964 .map-data-pane .layer-list button,
5965 .background-pane .layer-list button {
5968 border-left: 1px solid #ccc;
5973 [dir='rtl'] .map-data-pane .layer-list button,
5974 [dir='rtl'] .background-pane .layer-list button {
5977 border-right: 1px solid #ccc;
5980 .map-data-pane .layer-list button .icon,
5981 .background-pane .layer-list button .icon {
5985 .map-data-pane .layer-list button:first-of-type,
5986 .background-pane .layer-list button:first-of-type {
5987 border-radius: 0 3px 3px 0;
5989 [dir='rtl'] .map-data-pane .layer-list button:first-of-type,
5990 [dir='rtl'] .background-pane .layer-list button:first-of-type {
5991 border-radius: 3px 0 0 3px;
5994 .map-data-pane .vectortile-container .vectortile-header {
5995 padding-bottom: 5px;
5997 .map-data-pane .vectortile-container .vectortile-footer {
5998 padding-bottom: 10px;
6003 ------------------------------------------------------- */
6007 .issue .issue-label,
6008 .issue-label .issue-text {
6011 flex-flow: row nowrap;
6015 .issue-text .issue-icon {
6019 .issue-text .issue-message {
6023 .issue-label .issue-autofix {
6027 .issue-label .issue-info-button {
6031 border-left: 1px solid #ccc;
6032 background-color: rgba(0,0,0,0);
6034 [dir='rtl'] .issue-label .issue-info-button {
6036 border-right: 1px solid;
6038 .issue-container .issue-label .issue-info-button .icon {
6041 .issue-container.active .issue-label .issue-info-button .icon {
6044 .issue-label .issue-info-button:last-child {
6045 border-radius: 0 4px 4px 0;
6047 [dir='rtl'] .issue-label .issue-info-button:last-child {
6048 border-radius: 4px 0 0 4px;
6051 button.autofix.action {
6055 background: #7092ff;
6058 button.autofix.action:focus,
6059 button.autofix.action:hover,
6060 button.autofix.action.active {
6061 background: #597be7;
6067 flex-flow: row nowrap;
6068 flex-direction: row-reverse;
6070 padding-bottom: 5px;
6072 .autofix-all-link-text {
6075 .autofix-all-link-icon svg {
6077 background: currentColor;
6080 .autofix-all-link-icon svg use {
6084 /* warning styles */
6087 .issue-container.active .issue.severity-warning,
6088 .issue-container.active .issue.severity-warning * {
6092 .warnings-list .issue.severity-warning .issue-label,
6093 .issue.severity-warning .issue-fix-list,
6094 .mode-save .warning-section {
6098 .issue-container.active .issue.severity-warning .issue-label {
6102 .warnings-list .issue.severity-warning .issue-label:hover,
6103 .issue.severity-warning .issue-fix-item.actionable:hover {
6107 .issue.severity-warning .issue-icon {
6111 .issue.severity-warning .issue-fix-item.actionable,
6112 .issue-container.active .issue.severity-warning .issue-info-button {
6118 .issue.severity-warning .issue-fix-item.actionable:hover,
6119 .issue-container.active .issue.severity-warning .issue-info-button:hover {
6126 .notification-badge.warning {
6134 .issue-container.active .issue.severity-error,
6135 .issue-container.active .issue.severity-error * {
6139 .errors-list .issue.severity-error .issue-label,
6140 .issue.severity-error .issue-fix-list,
6141 .mode-save .error-section {
6142 background: #ffd6d6;
6145 .issue-container.active .issue.severity-error .issue-label {
6146 background: #ffc6c6;
6149 .errors-list .issue.severity-error .issue-label:hover,
6150 .issue.severity-error .issue-fix-item.actionable:hover {
6151 background: #ffb6b6;
6154 .issue.severity-error .issue-icon {
6158 .issue.severity-error .issue-fix-item.actionable,
6159 .issue-container.active .issue.severity-error .issue-info-button {
6165 .issue.severity-error .issue-fix-item.actionable:hover,
6166 .issue-container.active .issue.severity-error .issue-info-button:hover {
6173 .notification-badge.error {
6179 .issues-options-container {
6185 .issues-option-title {
6186 display: table-cell;
6188 padding-right: 10px;
6190 [dir='rtl'] .issues-option-title {
6194 .issues-option label {
6195 display: table-cell;
6199 .layer-list.issues-list li.issue {
6200 border-color: inherit; /* override .layer-list styles */
6205 .layer-list.issue-rules-list,
6206 .layer-list.issues-list,
6207 .layer-list.layer-feature-list {
6212 flex-flow: row nowrap;
6213 flex-direction: row-reverse;
6222 border: 1px solid #72d979;
6223 background: #c6ffca;
6224 padding: 5px !important;
6227 .issues-none .icon {
6231 input.square-degrees-input {
6235 background: rgba(0,0,0,0);
6236 color: currentColor;
6240 /* Entity Issues List */
6241 .entity-issues .issue-container .issue {
6243 border: 1px solid #ccc;
6244 background: #f6f6f6;
6246 .entity-issues .issue-container:not(.active) .issue-text:hover,
6247 .entity-issues .issue-container:not(.active) .issue-info-button:hover {
6248 background: #f1f1f1;
6250 .entity-issues .issue .issue-label .issue-text {
6251 padding-right: 10px;
6253 [dir='rtl'] .entity-issues .issue .issue-label .issue-text {
6254 padding-right: unset;
6258 .entity-issues .issue-container.active .issue-label .issue-text {
6261 .entity-issues .issue-container:not(:last-of-type) {
6264 .entity-issues .issue-container.active:not(:first-of-type) {
6267 .entity-issues .issue-container.active:not(:last-of-type) {
6268 margin-bottom: 10px;
6272 .entity-issues .issue-fix-list {
6273 border-top: 1px solid;
6274 border-color: inherit;
6276 .entity-issues .issue-container.active .issue-fix-list:empty {
6281 padding: 2px 10px 2px 20px;
6283 [dir='rtl'] li.issue-fix-item {
6284 padding: 2px 20px 2px 10px;
6286 li.issue-fix-item:first-of-type {
6289 li.issue-fix-item:last-of-type {
6290 padding-bottom: 5px;
6293 li.issue-fix-item .fix-message {
6297 li.issue-fix-item.actionable {
6300 li.issue-fix-item:not(.actionable) .fix-icon {
6305 .issue-container:not(.active) ul.issue-fix-list {
6316 .issue-info.expanded {
6317 display: inline-block;
6320 .issue-info .issue-reference {
6321 margin-bottom: 10px;
6323 .issue-info .tagDiff-table {
6326 border: 1px solid #ccc;
6328 .issue-info .tagDiff-row {
6329 border: 1px solid #ccc;
6331 .issue-info .tagDiff-cell {
6333 font-family: monospace;
6335 border: 1px solid #ccc;
6337 .issue-info .tagDiff-cell-add {
6340 .issue-info .tagDiff-cell-remove {
6345 /* Background - Display Options Sliders
6346 ------------------------------------------------------- */
6347 .display-options-container {
6351 .display-control h5 {
6356 .display-control h5 span {
6360 .display-control .display-option-input {
6365 .display-control button {
6370 vertical-align: text-bottom;
6373 [dir='rtl'] .display-control button {
6379 /* Background - Adjust Alignment
6380 ------------------------------------------------------- */
6381 .background-pane .nudge-container {
6382 border: 1px solid #ccc;
6387 .nudge-container .nudge-instructions {
6388 padding-bottom: 15px;
6391 .nudge-container .nudge-outer-rect {
6392 background-color: #eee;
6393 border: 1px solid #ccc;
6398 justify-content: center;
6399 align-items: center;
6405 .nudge-container .nudge-inner-rect {
6406 background-color: #fff;
6407 border: 1px solid #ccc;
6413 .nudge-container .nudge::after {
6418 left: 0; right: 0; top: 0; bottom: 0;
6423 .nudge-container input {
6430 .nudge-container input.error {
6431 border: 1px solid #ff7878;
6436 .nudge-container input:focus {
6437 background-color: transparent;
6440 .nudge-container button {
6445 background-color: transparent;
6448 .nudge-container button.right {
6453 .nudge-container button.left {
6458 .nudge-container button.top {
6463 .nudge-container button.bottom {
6467 .nudge-container button.nudge-reset {
6478 background-color: transparent;
6482 .background-pane .nudge.right::after {
6483 border-top: 5px solid transparent;
6484 border-bottom: 5px solid transparent;
6485 border-left: 5px solid #222;
6488 .background-pane .nudge.left::after {
6489 border-top: 5px solid transparent;
6490 border-bottom: 5px solid transparent;
6491 border-right: 5px solid #222;
6494 .background-pane .nudge.top::after {
6495 border-right: 5px solid transparent;
6496 border-left: 5px solid transparent;
6497 border-bottom: 5px solid #222;
6500 .background-pane .nudge.bottom::after {
6501 border-right: 5px solid transparent;
6502 border-left: 5px solid transparent;
6503 border-top: 5px solid #222;
6507 /* Side Panes - Background / Map Data / Help
6508 ------------------------------------------------------- */
6519 padding-bottom: 60px;
6524 .map-pane.help-wrap {
6530 flex-flow: row nowrap;
6531 justify-content: space-between;
6532 border-bottom: 1px solid #ccc;
6540 .pane-heading button {
6548 padding: 10px 40px 20px 20px;
6553 [dir='rtl'] .pane-content {
6554 padding: 10px 20px 20px 40px;
6557 .pane-content > div {
6558 padding-bottom: 15px;
6563 ------------------------------------------------------- */
6566 margin-bottom: 20px;
6569 .help-wrap .left-content .body p code {
6573 vertical-align: baseline;
6574 background-color: #f6f6f6;
6575 border: solid 1px #ccc;
6577 border-bottom-color: #bbb;
6579 box-shadow: inset 0 -1px 0 #bbb;
6582 .help-wrap .left-content .icon.pre-text {
6583 vertical-align: text-top;
6586 display: inline-block;
6593 margin-bottom: 20px;
6597 .help-wrap .toc li a,
6600 border: 1px solid #ccc;
6604 .help-wrap .toc li a {
6608 .help-wrap .toc li a:hover,
6609 .help-wrap .nav a:hover {
6610 background: #ececec;
6613 .help-wrap .toc li a.selected {
6614 background: #e8ebff;
6617 .help-wrap .toc li:first-child a {
6618 border-radius: 4px 4px 0 0;
6621 .help-wrap .toc li:nth-last-child(3) a {
6622 border-bottom: 1px solid #ccc;
6623 border-radius: 0 0 4px 4px
6626 .help-wrap .toc li.shortcuts a,
6627 .help-wrap .toc li.walkthrough a {
6630 border-bottom: 1px solid #ccc;
6634 .help-wrap .toc li.walkthrough a {
6640 padding-bottom: 30px;
6649 .help-wrap .nav a:first-child {
6650 border-radius: 4px 0 0 4px;
6653 .help-wrap .nav a:last-child:not(:only-child) {
6654 border-radius: 0 4px 4px 0;
6658 .help-wrap .nav a:only-child {
6664 /* Inspector (hover styles)
6665 ------------------------------------------------------- */
6666 .inspector-hover .entity-issues .issue-container .issue .issue-label,
6667 .inspector-hover .form-field-input-wrap .label,
6668 .inspector-hover .form-field-input-multicombo .chiplist,
6669 .inspector-hover .form-field-button,
6670 .inspector-hover .structure-extras-wrap,
6671 .inspector-hover .comments-container .comment,
6672 .inspector-hover button,
6673 .inspector-hover input,
6674 .inspector-hover textarea,
6675 .inspector-hover label {
6676 background: #ececec;
6678 .inspector-hover .preset-list-button,
6679 .inspector-hover .tag-row input {
6680 background: #f6f6f6;
6684 .inspector-hover .form-field-input-multicombo .chips,
6685 .inspector-hover .form-field-input-check span,
6686 .inspector-hover .entity-issues .issue .icon {
6690 .inspector-hover .form-field-input-multicombo .chips {
6692 border: 1px solid #ccc;
6696 .inspector-hover div {
6701 /* hide and remove from layout */
6703 .inspector-hover .preset-list-button-wrap .preset-favorite-button,
6704 .inspector-hover .preset-list-button-wrap .tag-reference-button,
6705 .inspector-hover label input[type="checkbox"],
6706 .inspector-hover label input[type="radio"],
6707 .inspector-hover .form-field-input-multicombo .input-wrap,
6708 .inspector-hover .form-field-input-radio label,
6709 .inspector-hover .form-field-input-radio label span,
6710 .inspector-hover .form-field-input-radio label.remove .icon,
6711 .inspector-hover .inspector-inner .add-row,
6712 .inspector-hover .entity-issues .issue-container .issue-fix-list,
6713 .inspector-hover .entity-issues .issue-container .issue-info-button {
6717 /* hide but preserve in layout */
6718 .inspector-hover .combobox-caret,
6719 .inspector-hover .header button,
6720 .inspector-hover .quick-links,
6721 .inspector-hover .form-field-input-multicombo .chips .remove,
6722 .inspector-hover .hide-toggle:before,
6723 .inspector-hover .more-fields,
6724 .inspector-hover .field-label button,
6725 .inspector-hover .tag-row button,
6726 .inspector-hover .footer * {
6730 /* Unstyle the active entity issue on hover */
6731 .inspector-hover .entity-issues .issue-container.active {
6735 .inspector-hover .entity-issues .issue-container * {
6736 border-color: #ccc !important;
6738 .inspector-hover .entity-issues .issue-container.active .issue-label {
6741 .inspector-hover .entity-issues .issue-container.active .issue-label .issue-text {
6742 font-weight: normal;
6746 /* Styles for raw tag inspector on hover */
6747 .inspector-hover .tag-row .key-wrap,
6748 .inspector-hover .tag-row .value-wrap {
6752 .inspector-hover .tag-row:first-child input.value {
6753 border-top-right-radius: 4px;
6755 [dir='rtl'] .inspector-hover .tag-row:first-child input.value {
6756 border-top-right-radius: 0;
6757 border-top-left-radius: 4px;
6760 .inspector-hover .tag-row:last-child input.value {
6761 border-bottom-right-radius: 4px;
6763 [dir='rtl'] .inspector-hover .tag-row:last-child input.value {
6764 border-bottom-right-radius: 0;
6765 border-bottom-left-radius: 4px;
6768 .inspector-hover .tag-row:last-child input.key {
6769 border-bottom-left-radius: 4px;
6771 [dir='rtl'] .inspector-hover .tag-row:last-child input.key {
6772 border-bottom-left-radius: 0;
6773 border-bottom-right-radius: 4px;
6776 .inspector-hover .more-fields {
6778 margin-bottom: -10px;
6781 /* Unstyle button fields */
6782 .inspector-hover .form-field-input-radio label.active,
6783 .inspector-hover .entity-editor-pane a.hide-toggle {
6785 background-color: transparent;
6790 .inspector-hover .form-field-input-radio button.active {
6794 /* Show placeholder on hover for radio buttons */
6795 .inspector-hover .form-field-input-radio {
6796 border: 1px solid #ccc;
6798 border-radius: 0 0 4px 4px;
6800 .inspector-hover .form-field-input-radio .placeholder {
6808 .inspector-hover .form-field-input-radio .structure-extras-wrap {
6813 /* Raster Background Tiles
6814 ------------------------------------------------------- */
6817 transform-origin: 0 0;
6818 -ms-transform-origin: 0 0;
6819 -webkit-transform-origin: 0 0;
6820 -moz-transform-origin: 0 0;
6821 -o-transform-origin: 0 0;
6823 -moz-user-select: none;
6824 -webkit-user-select: none;
6825 -ms-user-select: none;
6830 -webkit-transition: opacity 200ms linear;
6831 -moz-transition: opacity 200ms linear;
6832 transition: opacity 200ms linear;
6845 background: rgba(0, 0, 0, 0.7);
6855 transform-origin: 0 0;
6856 -ms-transform-origin: 0 0;
6857 -webkit-transform-origin: 0 0;
6858 -moz-transform-origin: 0 0;
6859 -o-transform-origin: 0 0;
6861 -moz-user-select: none;
6862 -webkit-user-select: none;
6863 -ms-user-select: none;
6868 outline: 1px solid red;
6873 ------------------------------------------------------- */
6879 -moz-user-select: none;
6880 -webkit-user-select: none;
6881 -ms-user-select: none;
6886 transform-origin: 0 0;
6887 -ms-transform-origin: 0 0;
6888 -webkit-transform-origin: 0 0;
6889 -moz-transform-origin: 0 0;
6890 -o-transform-origin: 0 0;
6893 #supersurface, .layer {
6903 ------------------------------------------------------- */
6912 border: #aaa 1px solid;
6913 box-shadow: 0 0 2em black;
6915 [dir='ltr'] .map-in-map {
6918 [dir='rtl'] .map-in-map {
6923 transform-origin: 0 0;
6924 -ms-transform-origin: 0 0;
6925 -webkit-transform-origin: 0 0;
6926 -moz-transform-origin: 0 0;
6927 -o-transform-origin: 0 0;
6929 -moz-user-select: none;
6930 -webkit-user-select: none;
6931 -ms-user-select: none;
6935 .map-in-map-viewport,
6944 .map-in-map-viewport {
6955 stroke: rgba(255, 255, 0, 0.75);
6957 shape-rendering: crispEdges;
6960 .map-in-map-bbox.thick {
6966 ------------------------------------------------------- */
6968 stroke: currentColor;
6972 .map-in-map-data .debug {
6976 .nocolor { color: rgba(0, 0, 0, 0); }
6977 .red { color: rgba(255, 0, 0, 0.75); }
6978 .green { color: rgba(0, 255, 0, 0.75); }
6979 .blue { color: rgba(176, 176, 255, 0.75); }
6980 .yellow { color: rgba(255, 255, 0, 0.75); }
6981 .cyan { color: rgba(0, 255, 255, 0.75); }
6982 .magenta { color: rgba(255, 0, 255, 0.75); }
6983 .orange { color: rgba(255, 153, 0, 0.75); }
6984 .pink { color: rgba(255, 0, 153, 0.75); }
6985 .purple { color: rgba(153, 0, 255, 0.75); }
6993 pointer-events: none;
6996 .debug-legend-item {
6999 .debug-legend-item:before {
7011 pointer-events: none;
7013 flex-direction: row-reverse;
7014 align-items: flex-end;
7017 pointer-events: auto;
7020 /* Information Panels
7021 ------------------------------------------------------- */
7024 flex-flow: row-reverse wrap-reverse;
7027 -ms-user-select: element;
7028 pointer-events: none;
7031 .panel-container h1,
7032 .panel-container h2,
7033 .panel-container h3,
7034 .panel-container h4,
7035 .panel-container h5 {
7036 display: inline-block;
7040 .panel-container h1,
7041 .panel-container h2,
7042 .panel-container h3 {
7048 margin: 0 2px 2px 0;
7050 border: 1px solid rgba(0, 0, 0, 0.75);
7051 padding-bottom: 10px;
7053 pointer-events: auto;
7056 .panel-container .panel-title {
7057 border-radius: 4px 4px 0 0;
7064 .panel-title button.close {
7070 [dir='rtl'] .panel-title button.close {
7074 .panel-title button.close:hover {
7077 .panel-title button.close .icon {
7087 .panel-content li span {
7088 display: inline-block;
7089 white-space: nowrap;
7093 .panel-content .button {
7094 display: inline-block;
7095 background: #7092ff;
7102 [dir='rtl'] .panel-content .button {
7107 .panel-content-history .links a {
7110 [dir='rtl'] .panel-content-history .links a {
7114 .panel-content-history h4 {
7117 .panel-content-location .location-info {
7122 /* About Section, Attribution, Footer
7123 ------------------------------------------------------- */
7130 pointer-events: none;
7132 flex-direction: column;
7133 -ms-user-select: element;
7142 #attrib * { pointer-events: all; }
7144 .base-layer-attribution,
7145 .overlay-layer-attribution {
7151 .base-layer-attribution {
7155 .overlay-layer-attribution {
7159 .overlay-layer-attribution .attribution:not(:last-child):after {
7164 .attribution a:visited {
7168 .attribution a:hover {
7172 .attribution .source-image {
7174 vertical-align: middle;
7183 pointer-events: all;
7189 /* Footer - Flash messages
7190 ------------------------------------------------------- */
7194 flex-flow: row nowrap;
7195 justify-content: space-between;
7205 flex-flow: row nowrap;
7206 align-items: center;
7218 .flash-icon circle {
7221 .flash-icon.disabled circle {
7223 fill: rgba(255,255,255,0.7);
7229 .flash-icon.disabled use {
7230 color: rgba(32,32,32,0.7);
7233 .flash-icon.operation use {
7237 .flash-icon.operation.disabled use {
7238 fill: rgba(32,32,32,0.7);
7239 color: rgba(40,40,40,0.7);
7249 flex-flow: row nowrap;
7250 justify-content: space-between;
7259 transition: bottom 75ms linear;
7260 -moz-transition: bottom 75ms linear;
7261 -webkit-transition: bottom 75ms linear;
7266 transition: bottom 75ms linear;
7267 -moz-transition: bottom 75ms linear;
7268 -webkit-transition: bottom 75ms linear;
7272 /* Footer - Scale bar, About, Source Switcher
7273 ------------------------------------------------------- */
7275 vertical-align: bottom;
7279 -moz-user-select: none;
7280 -webkit-user-select: none;
7281 -ms-user-select: none;
7294 [dir='rtl'] #scale {
7295 transform: scaleX(-1);
7303 font: 12px sans-serif;
7308 [dir='rtl'] #scale text {
7309 transform: scaleX(-1);
7316 shape-rendering: crispEdges;
7325 [dir='rtl'] #about-list {
7334 border-left: 1px solid rgba(255,255,255,.5);
7335 padding: 5px 0 5px 5px;
7338 [dir='rtl'] #about-list li {
7341 border-right: 1px solid rgba(255,255,255,.5);
7344 padding: 5px 5px 5px 0;
7347 #about-list li:last-child {
7352 [dir='rtl'] #about-list li:last-child {
7357 padding: 2px 4px 4px 4px;
7360 .source-switch a.live {
7361 background: #d32232;
7365 .feature-warning a {
7366 background: #1e90ff;
7367 padding: 2px 4px 4px 4px;
7372 .user-list a:not(:last-child):after {
7382 [dir='rtl'] .api-status {
7386 .api-status.offline,
7387 .api-status.readonly,
7395 .api-status-login:hover {
7399 /* Notification Badges
7400 ------------------------------------------------------- */
7401 /* For an icon (e.g. new version) */
7403 display: inline-block;
7404 background: #d32232;
7407 border-radius: 11px;
7410 [dir='rtl'] .badge {
7417 [dir='rtl'] .badge a {
7422 vertical-align: baseline;
7428 /* For text (e.g. upcoming events) */
7430 display: inline-block;
7441 [dir='rtl'] .badge-text {
7448 ------------------------------------------------------- */
7451 display: inline-block;
7465 margin-bottom: 10px;
7467 .modal .description {
7482 background: rgba(0,0,0,0.5);
7484 left: 0px; right: 0px; top: 0px; bottom: 0px;
7489 border-bottom: 1px solid #ccc;
7491 .modal-section.header h3 {
7494 .modal-section.buttons {
7498 .modal-section.buttons button {
7502 .modal-section.buttons .action {
7503 display: inline-block;
7506 vertical-align: middle;
7509 .save-section .buttons {
7512 justify-content: space-around;
7513 margin-bottom: 30px;
7516 .save-section .buttons .action,
7517 .save-section .buttons .secondary-action {
7521 vertical-align: middle;
7530 .modal-actions button {
7531 font-weight: normal;
7533 border-bottom: 1px solid #ccc;
7539 .modal-actions button:hover {
7540 background-color: #ececec;
7556 .modal-actions > :first-child {
7557 border-right: 1px solid #ccc;
7560 .modal-section:last-child {
7565 ------------------------------------------------------- */
7566 .modal-actions .logo-restore {
7569 .modal-actions .logo-reset {
7573 /* Success Screen / Community Index
7574 ------------------------------------------------------- */
7575 .save-success.body {
7580 .save-success .link-out {
7582 white-space: nowrap;
7586 .save-communityLinks {
7587 padding: 0px 20px 15px 20px;
7590 .save-communityLinks {
7591 border-top: 1px solid #ccc;
7594 .save-success table,
7605 vertical-align: top;
7607 .save-success td.cell-icon {
7610 .save-success td.cell-detail {
7613 .save-success td.community-detail {
7614 padding-bottom: 15px;
7617 .summary-view-on-osm,
7622 .community-languages {
7626 .community-languages:only-child {
7630 .community-detail a.hide-toggle,
7631 .community-detail a:visited.hide-toggle {
7633 font-weight: normal;
7636 .community-detail .hide-toggle svg.icon.pre-text {
7647 background-color: #efefef;
7653 .community-event-name {
7657 .community-event-when {
7661 .community-missing {
7668 ------------------------------------------------------- */
7669 .modal-actions .logo-walkthrough,
7670 .modal-actions .logo-features {
7676 ------------------------------------------------------- */
7682 .modal-shortcuts .modal-section:last-child {
7687 .modal-shortcuts .tabs-bar {
7689 padding-bottom: 5px;
7694 .modal-shortcuts .tab {
7695 display: inline-block;
7701 .modal-shortcuts .tab.active {
7703 border-bottom: 2px solid;
7705 .modal-shortcuts .tab:hover {
7707 background-color: #efefef;
7710 .modal-shortcuts .shortcut-tab {
7712 flex-flow: row wrap;
7713 justify-content: center;
7716 .modal-shortcuts .shortcut-column {
7720 .modal-shortcuts .shortcut-tab-tools .shortcut-column {
7725 .modal-shortcuts td {
7726 padding-bottom: 5px;
7729 .modal-shortcuts .shortcut-section {
7730 padding: 20px 0 10px 0;
7733 .modal-shortcuts .shortcut-keys {
7737 white-space: nowrap;
7739 [dir='rtl'] .modal-shortcuts .shortcut-keys {
7743 .modal-shortcuts .shortcut-keys kbd {
7744 display: inline-block;
7751 vertical-align: baseline;
7752 background-color: #fcfcfc;
7753 border: solid 1px #ccc;
7755 border-bottom-color: #bbb;
7757 box-shadow: inset 0 -1px 0 #bbb;
7760 svg.mouseclick use.left {
7761 fill: rgba(112, 146, 255, 1);
7762 color: rgba(112, 146, 255, 0);
7764 svg.mouseclick use.right {
7765 fill: rgba(112, 146, 255, 0);
7766 color: rgba(112, 146, 255, 1);
7769 .modal-shortcuts .shortcut-keys .gesture {
7776 ------------------------------------------------------- */
7777 .settings-modal textarea {
7782 .settings-custom-background .instructions-template {
7783 margin-bottom: 20px;
7786 .settings-custom-data .instructions-url {
7787 margin-bottom: 10px;
7789 .settings-custom-data .field-file,
7790 .settings-custom-data .instructions-template {
7791 margin-bottom: 20px;
7796 ------------------------------------------------------- */
7797 .mode-save a.user-info {
7798 display: inline-block;
7801 .mode-save .commit-form {
7805 .mode-save .user-info img {
7809 .mode-save h3 small.count {
7817 border-radius: 24px;
7819 background: #7092ff;
7823 .note-save .field-warning,
7824 .mode-save .field-warning {
7826 border: 1px solid #ccc;
7831 .note-save .field-warning:empty,
7832 .mode-save .field-warning:empty {
7836 .mode-save .field-warning,
7837 .mode-save .changeset-info,
7838 .mode-save .request-review,
7839 .mode-save .commit-info {
7840 margin-bottom: 10px;
7843 .mode-save .request-review label {
7847 .mode-save .changeset-list {
7848 border: 1px solid #ccc;
7851 margin-bottom: 10px;
7854 .mode-save .warning-section .changeset-list button {
7855 border-left: 1px solid #ccc;
7858 .mode-save .changeset-list li {
7860 border-top: 1px solid #ccc;
7865 .mode-save .changeset-list li:hover {
7866 background-color: #ececec;
7869 .mode-save .changeset-list .alert {
7873 .changeset-list li span.count {
7878 .mode-save .commit-section .changeset-list button {
7879 border-left: 1px solid #ccc;
7882 .changeset-list li span.count:before { content: '('; }
7884 .changeset-list li span.count:after { content: ')'; }
7886 .changeset-list li:first-child { border-top: 0;}
7889 /* Conflict resolution
7890 ------------------------------------------------------- */
7893 background-color: #ffffbb;
7894 border-bottom: 1px solid #ccc;
7897 .conflicts-buttons {
7901 .mode-save button.conflicts-button {
7905 .conflict-container {
7906 border-bottom: 1px solid #ccc;
7909 .conflict-description {
7915 padding: 20px 20px 0 20px;
7918 .conflict-detail-container {
7930 .conflict-nav-buttons {
7931 padding: 10px 0 20px 0;
7934 .conflict-nav-button {
7939 /* Notices (Zoom in to Edit)
7940 ------------------------------------------------------- */
7957 .notice .zoom-to:hover {
7958 background: rgba(0,0,0,0.6);
7961 .notice .zoom-to .icon {
7964 vertical-align: middle;
7967 [dir='rtl'] .notice .zoom-to .icon {
7974 ------------------------------------------------------- */
7980 white-space: initial;
7982 .tooltip:not(.curtain-tooltip) {
7983 pointer-events: none;
8009 display: inline-block;
8014 font-weight: normal;
8015 background-color: #fff;
8021 pointer-events: none;
8025 background: transparent;
8032 border-color: transparent;
8033 border-style: solid;
8037 border-left-color: #fff;
8038 border-width: 5px 0 5px 5px;
8057 border-color: transparent;
8058 border-style: solid;
8062 border-right-color: #fff;
8063 border-width: 5px 5px 5px 0;
8070 border-color: transparent;
8071 border-style: solid;
8073 .tooltip.top .tooltip-arrow {
8077 border-top-color: #fff;
8078 border-width: 5px 5px 0;
8080 .tooltip.right .tooltip-arrow {
8084 border-right-color: #fff;
8085 border-width: 5px 5px 5px 0;
8087 .tooltip.left .tooltip-arrow {
8091 border-left-color: #fff;
8092 border-width: 5px 0 5px 5px;
8094 .tooltip.bottom .tooltip-arrow {
8098 border-bottom-color: #fff;
8099 border-width: 0 5px 5px;
8104 background: #f6f6f6;
8106 margin: -10px -10px 10px -10px;
8107 border-radius: 3px 3px 0 0;
8112 background: #f6f6f6;
8114 margin: 10px -10px -10px -10px;
8115 border-radius: 0 0 3px 3px;
8117 .tooltip-inner .keyhint {
8122 [dir='rtl'] .tooltip-inner .keyhint {
8127 /* dark tooltips for sidebar / panels */
8128 .tooltip.dark.top .tooltip-arrow,
8129 .map-pane .tooltip.top .tooltip-arrow,
8130 #sidebar .tooltip.top .tooltip-arrow {
8131 border-top-color: #000;
8133 .tooltip.dark.bottom .tooltip-arrow,
8134 .map-pane .tooltip.bottom .tooltip-arrow,
8135 #sidebar .tooltip.bottom .tooltip-arrow {
8136 border-bottom-color: #000;
8138 .tooltip.dark.left .tooltip-arrow,
8139 .map-pane .tooltip.left .tooltip-arrow,
8140 #sidebar .tooltip.left .tooltip-arrow {
8141 border-left-color: #000;
8143 .tooltip.dark.right .tooltip-arrow,
8144 .map-pane .tooltip.right .tooltip-arrow,
8145 #sidebar .tooltip.right .tooltip-arrow {
8146 border-right-color: #000;
8148 .tooltip.dark .tooltip-inner,
8149 .tooltip.dark .tooltip-heading,
8150 .tooltip.dark .keyhint-wrap,
8151 .map-pane .tooltip-inner,
8152 .map-pane .tooltip-heading,
8153 .map-pane .keyhint-wrap,
8154 #sidebar .tooltip-inner,
8155 #sidebar .tooltip-heading,
8156 #sidebar .keyhint-wrap {
8161 /* Exceptions for tooltip layouts */
8163 /* commit warning tooltips need to be closer */
8164 .warning-section .tooltip.top {
8168 /* Uncramp map-control tooltips */
8169 .map-control .tooltip {
8172 .map-control .shortcuts .tooltip {
8176 /* Move over tooltips that are near the edge of screen */
8177 [dir='ltr'] .sidebar-toggle .tooltip {
8180 [dir='rtl'] .sidebar-toggle .tooltip {
8181 right: 0 !important;
8183 [dir='ltr'] .sidebar-toggle .tooltip .tooltip-arrow {
8186 [dir='rtl'] .sidebar-toggle .tooltip .tooltip-arrow {
8189 [dir='ltr'] .save .tooltip {
8190 left: auto !important;
8191 right: 0 !important;
8193 [dir='rtl'] .save .tooltip {
8194 right: auto !important;
8197 [dir='ltr'] .save .tooltip .tooltip-arrow {
8201 [dir='rtl'] .save .tooltip .tooltip-arrow {
8206 li:first-of-type .badge .tooltip,
8207 li.hide + li.version .badge .tooltip {
8208 left: auto !important;
8209 right: 5px !important;
8211 [dir='rtl'] li:first-of-type .badge .tooltip,
8212 [dir='rtl'] li.hide + li.version .badge .tooltip {
8213 left: 5px !important;
8214 right: auto !important;
8216 li:first-of-type .badge .tooltip .tooltip-arrow,
8217 li.hide + li.version .badge .tooltip .tooltip-arrow {
8218 right: 15px !important;
8219 left: auto !important;
8221 [dir='rtl'] li:first-of-type .badge .tooltip .tooltip-arrow,
8222 [dir='rtl'] li.hide + li.version .badge .tooltip .tooltip-arrow {
8223 left: 15px !important;
8224 right: auto !important;
8228 /* Contextual Radial Menu (deprecated)
8229 ------------------------------------------------------- */
8230 .radial-menu-tooltip {
8237 .radial-menu-background {
8240 stroke-opacity: 0.5;
8243 .radial-menu-item circle {
8247 .radial-menu-item circle:active,
8248 .radial-menu-item circle:hover {
8252 .radial-menu-item.disabled circle {
8254 fill: rgba(255,255,255,.5);
8257 .radial-menu-item use {
8262 .radial-menu-item.disabled use {
8263 fill: rgba(32,32,32,.5);
8264 color: rgba(40,40,40,.5);
8268 /* Contextual Edit Menu
8269 ------------------------------------------------------- */
8270 .edit-menu-tooltip {
8276 .edit-menu-background {
8280 .edit-menu-item rect {
8285 .edit-menu-item rect:active,
8286 .edit-menu-item rect:hover {
8290 .edit-menu-item.disabled rect {
8291 cursor: not-allowed;
8293 .edit-menu-item.disabled rect:hover {
8294 cursor: not-allowed;
8298 .edit-menu-item use {
8301 pointer-events: none;
8303 .edit-menu-item.disabled use {
8304 fill: rgba(32,32,32,.2);
8305 color: rgba(40,40,40,.2);
8310 ------------------------------------------------------- */
8316 stroke-dasharray: 5, 5;
8321 ----------------------------------------------------- */
8322 ::-webkit-scrollbar {
8327 border-left: 1px solid #DDD;
8330 ::-webkit-scrollbar-track {
8331 background-clip: padding-box;
8332 border: solid transparent;
8336 ::-webkit-scrollbar-thumb {
8337 background-color: rgba(0,0,0,.2);
8338 background-clip: padding-box;
8339 border: solid transparent;
8340 border-width: 3px 3px 3px 4px;
8343 ::-webkit-scrollbar-track:hover,
8344 ::-webkit-scrollbar-track:active {
8345 background-color: rgba(0,0,0,.05);
8349 /* Intro walkthrough
8350 ----------------------------------------------------- */
8352 pointer-events: all;
8360 flex-direction: row;
8369 .intro-nav-wrap .intro-nav-wrap-logo {
8375 vertical-align: middle;
8378 .intro-nav-wrap .joined {
8381 flex-direction: row;
8384 .intro-nav-wrap button.chapter {
8389 .intro-nav-wrap button.chapter.next {
8390 animation-duration: 1s;
8391 animation-name: pulse;
8392 animation-iteration-count: infinite;
8393 animation-direction: alternate;
8396 from { background: #7092ff; }
8397 to { background: #c6d4ff; }
8400 .intro-nav-wrap button.chapter.finished {
8401 background: #8cd05f;
8404 .intro-nav-wrap button.chapter .status {
8408 .intro-nav-wrap button.chapter.finished .status {
8409 display: inline-block;
8412 .curtain-tooltip.tooltip.in {
8415 .curtain-tooltip.tooltip {
8418 [dir='rtl'] .curtain-tooltip.tooltip {
8422 .curtain-tooltip .tooltip-inner {
8428 .curtain-tooltip .tooltip-inner .button-section,
8429 .curtain-tooltip .tooltip-inner .instruction {
8432 border-top: 1px solid #ccc;
8435 margin-right: -20px;
8436 padding: 10px 20px 0 20px;
8439 .curtain-tooltip .tooltip-inner .button-section button {
8443 .curtain-tooltip .tooltip-inner .instruction:only-child {
8449 .curtain-tooltip .tooltip-inner .icon.pre-text {
8450 vertical-align: text-top;
8453 display: inline-block;
8456 .curtain-tooltip.intro-points-describe ,
8457 .curtain-tooltip.intro-lines-name_road {
8458 top: 133px !important;
8461 .tooltip-illustration {
8467 [dir='rtl'] .tooltip-illustration {
8469 margin-right: -20px;
8472 .curtain-tooltip.intro-mouse {
8473 -moz-user-select: none;
8474 -webkit-user-select: none;
8475 -ms-user-select: none;
8479 .curtain-tooltip.intro-mouse .counter {
8490 .curtain-tooltip.intro-mouse .tooltip-illustration use {
8491 fill: rgba(112, 146, 255, 0);
8492 color: rgba(112, 146, 255, 0);
8494 .curtain-tooltip.intro-mouse.leftclick .tooltip-illustration use {
8495 fill: rgba(112, 146, 255, 1);
8497 .curtain-tooltip.intro-mouse.rightclick .tooltip-illustration use {
8498 color: rgba(112, 146, 255, 1);
8501 .huge-modal-button {
8507 .huge-modal-button .illustration {