clear: both;
}
/* base styles */
-.layer-osm path:not(.oneway-marker-path) { /* IE/Edge needs :not(.oneway) */
+.layer-osm path {
fill: none;
}
-.layer-osm path.viewfield-marker-path { /* IE/Edge rule for <use> marker style */
+
+/* IE/Edge needs these overrides for markers to show up */
+.layer-osm path.oneway-marker-path { fill: #000; }
+.layer-osm path.sided-marker-natural-path { fill: rgb(140, 208, 95); }
+.layer-osm path.sided-marker-coastline-path { fill: #77dede; }
+.layer-osm path.sided-marker-barrier-path { fill: #ddd; }
+.layer-osm path.sided-marker-man_made-path { fill: #fff; }
+
+/* IE/Edge rule for <use> marker style */
+.layer-osm path.viewfield-marker-path {
fill: #333;
fill-opacity: 0.75;
stroke: #fff;
/* `.target` objects are interactive */
/* They can be picked up, clicked, hovered, or things can connect to them */
-.node.target {
+.node.target,
+.turn .target {
pointer-events: fill;
fill-opacity: 0.8;
fill: currentColor;
stroke-linejoin: round;
}
+
/* `.target-nope` objects are explicitly forbidden to join to */
.surface:not(.nope-disabled) .node.target.target-nope,
.surface:not(.nope-disabled) .way.target.target-nope {
}
-/* points */
+/* points & notes */
+g.note .stroke {
+ stroke: #222;
+ stroke-width: 1;
+ fill: #222;
+ opacity: 0.6;
+}
+
+g.note.active .stroke {
+ stroke: #222;
+ stroke-width: 1;
+ fill: #222;
+ opacity: 0.8;
+}
g.point .stroke {
stroke: #444;
fill: #fff;
}
-g.point .shadow {
+g.point .shadow,
+g.note .shadow {
fill: none;
stroke: #f6634f;
stroke-width: 16;
stroke-opacity: 0;
}
+g.note.related:not(.selected) .shadow,
+g.note.hover:not(.selected) .shadow,
g.point.related:not(.selected) .shadow,
g.point.hover:not(.selected) .shadow {
stroke-opacity: 0.5;
}
+g.note.selected .shadow,
g.point.selected .shadow {
stroke-opacity: 0.7;
}
+/* g.note ellipse.stroke, */
g.point ellipse.stroke {
display: none;
}
-
+.mode-drag-note g.note.active ellipse.stroke,
.mode-drag-node g.point.active ellipse.stroke {
display: block;
}
/* vertices and midpoints */
-
g.vertex .fill {
fill: #000;
}
-
g.vertex .stroke {
stroke: #666;
stroke-width: 1;
fill: white;
}
-
g.vertex.shared .stroke {
fill: #bbb;
}
-
g.midpoint .fill {
fill: #eee;
stroke: #444;
/* lines */
-
.preset-icon .icon.iD-other-line {
color: #fff;
fill: #777;
/* Labels / Markers */
-
text {
font-size: 10px;
color: #222;
}
.onewaygroup path.oneway,
-.viewfieldgroup path.viewfield {
+.viewfieldgroup path.viewfield,
+.sidedgroup path.sided {
stroke-width: 6px;
}
dominant-baseline: auto;
}
-.layer-labels-halo text {
+.labels-group.halo text {
opacity: 0.7;
stroke: #fff;
stroke-width: 5px;
}
text.nolabel {
- opacity: 0;
+ opacity: 0 !important;
}
-
text.point {
font-size: 10px;
}
stroke-width: 2px;
stroke-miterlimit: 1;
}
-
.icon.areaicon {
fill: #222;
opacity: 0.8;
}
+/* Highlighting */
+g.point.highlighted .shadow,
+path.shadow.highlighted {
+ stroke-opacity: 0.95;
+ stroke: #7092ff;
+}
+g.vertex.highlighted .shadow {
+ stroke-width: 7;
+ stroke-opacity: 0.95;
+ stroke: #7092ff;
+}
/* Turn Restrictions */
-
-g.turn rect,
-g.turn circle {
+.points-group.turns g.turn rect,
+.points-group.turns g.turn circle {
fill: none;
- pointer-events: all;
-}
-
-.form-field-restrictions .vertex {
- cursor: auto !important;
- pointer-events: none;
}
/* Turn restriction paths and vertices */
}
-/* GPX Paths */
-
-.layer-gpx {
- pointer-events: none;
-}
-
-path.gpx {
- stroke: #ff26d4;
- stroke-width: 2;
- fill: none;
-}
-
-text.gpxlabel-halo,
-text.gpxlabel {
- font-size: 10px;
- font-weight: bold;
- dominant-baseline: middle;
-}
-
-text.gpxlabel {
- fill: #ff26d4;
-}
-
-text.gpxlabel-halo {
- opacity: 0.7;
- stroke: #000;
- stroke-width: 5px;
- stroke-miterlimit: 1;
-}
-
-
/* Default - light gray */
path.area.stroke {
stroke: #ddd;
path.stroke.tag-natural,
path.stroke.tag-leisure-nature_reserve,
path.stroke.tag-leisure-pitch,
-path.stroke.tag-leisure-park {
+path.stroke.tag-leisure-track,
+path.stroke.tag-leisure-golf_course,
+path.stroke.tag-leisure-garden,
+path.stroke.tag-leisure-park,
+path.stroke.tag-barrier-hedge,
+path.stroke.tag-landuse-forest,
+path.stroke.tag-landuse-wood,
+path.stroke.tag-landuse-grass {
stroke: rgb(140, 208, 95);
}
path.fill.tag-landuse,
path.fill.tag-natural,
path.fill.tag-leisure-nature_reserve,
path.fill.tag-leisure-pitch,
-path.fill.tag-leisure-park {
+path.fill.tag-leisure-track,
+path.fill.tag-leisure-golf_course,
+path.fill.tag-leisure-garden,
+path.fill.tag-leisure-park,
+path.fill.tag-landuse-forest,
+path.fill.tag-natural-wood,
+path.fill.tag-landuse-grass {
stroke: rgba(140, 208, 95, 0.3);
fill: rgba(140, 208, 95, 0.3);
}
.preset-icon-fill-area.tag-natural,
.preset-icon-fill-area.tag-leisure-nature_reserve,
.preset-icon-fill-area.tag-leisure-pitch,
-.preset-icon-fill-area.tag-leisure-park {
+.preset-icon-fill-area.tag-leisure-track,
+.preset-icon-fill-area.tag-leisure-golf_course,
+.preset-icon-fill-area.tag-leisure-garden,
+.preset-icon-fill-area.tag-leisure-park,
+.preset-icon-fill-area.tag-landuse-forest,
+.preset-icon-fill-area.tag-natural-wood,
+.preset-icon-fill-area.tag-landuse-grass {
border-color: rgb(140, 208, 95);
background-color: rgba(140, 208, 95, 0.3);
}
+.pattern-color-forest,
+.pattern-color-forest_broadleaved,
+.pattern-color-forest_needleleaved,
+.pattern-color-forest_leafless,
+.pattern-color-wood,
+.pattern-color-grass {
+ fill: rgba(140, 208, 95, 0.3);
+}
/* Blue things */
path.stroke.tag-amenity-swimming_pool,
border-color: rgb(119, 211, 222);
background-color: rgba(119, 211, 222, 0.3);
}
+.pattern-color-waves,
+.pattern-color-pond {
+ fill: rgba(119, 211, 222, 0.3);
+}
/* Yellow things */
.pattern-color-beach,
fill: rgba(196, 189, 25, 0.3);
}
path.stroke.tag-landuse-residential,
-path.stroke.tag-landuse.tag-status,
path.stroke.tag-landuse-construction {
stroke: rgb(196, 189, 25);
}
fill: rgba(196, 189, 25, 0.3);
}
.preset-icon-fill-area.tag-landuse-residential,
-.preset-icon-fill-area.tag-landuse.tag-status,
.preset-icon-fill-area.tag-landuse-construction {
border-color: rgb(196, 189, 25);
background: rgba(196, 189, 25, 0.3);
border-color: rgb(214, 136, 26);
background-color: rgba(214, 136, 26, 0.3);
}
+.pattern-color-landfill
+{
+ fill: rgba(214, 136, 26, 0.3);
+}
+
/* Pink things */
path.stroke.tag-landuse-industrial,
}
/* Teal things */
-.pattern-color-wetland {
+.pattern-color-wetland,
+.pattern-color-wetland_marsh,
+.pattern-color-wetland_swamp,
+.pattern-color-wetland_bog,
+.pattern-color-wetland_reedbed {
fill: rgba(153, 225, 170, 0.3);
}
path.stroke.tag-natural-wetland {
/* Light Green things */
.pattern-color-cemetery,
+.pattern-color-cemetery_christian,
+.pattern-color-cemetery_buddhist,
+.pattern-color-cemetery_muslim,
+.pattern-color-cemetery_jewish,
.pattern-color-orchard,
+.pattern-color-vineyard,
.pattern-color-meadow,
-.pattern-color-farm,
.pattern-color-farmland {
fill: rgba(191, 232, 63, 0.2);
}
path.stroke.tag-landuse-cemetery,
path.stroke.tag-landuse-orchard,
+path.stroke.tag-landuse-vineyard,
path.stroke.tag-landuse-meadow,
-path.stroke.tag-landuse-farm,
path.stroke.tag-landuse-farmland {
stroke: rgb(191, 232, 63);
}
.preset-icon-fill-area.tag-landuse-cemetery,
.preset-icon-fill-area.tag-landuse-orchard,
+.preset-icon-fill-area.tag-landuse-vineyard,
.preset-icon-fill-area.tag-landuse-meadow,
-.preset-icon-fill-area.tag-landuse-farm,
.preset-icon-fill-area.tag-landuse-farmland {
background-color: rgba(191, 232, 63, 0.2);
}
border-color: rgb(226, 177, 111);
background: rgba(245, 220, 186, 0.3);
}
+.pattern-color-farmyard {
+ fill: rgba(245, 220, 186, 0.3);
+}
/* Dark Gray things */
path.stroke.tag-amenity-parking,
border-color: rgb(170, 170, 170);
background-color: rgba(140, 140, 140, 0.5);
}
+.pattern-color-quarry
+{
+ fill: rgba(140, 140, 140, 0.5);
+}
/* Light gray overrides */
path.stroke.tag-natural-cave_entrance,
border-color: rgb(170, 170, 170);
background: rgba(170, 170, 170, 0.3);
}
-
/* highways */
.preset-icon .icon.tag-highway.other-line {
path.stroke.tag-highway-motorway,
path.stroke.tag-highway-motorway_link,
path.stroke.tag-motorway {
- stroke:#CF2081;
+ stroke: #CF2081;
}
path.casing.tag-highway-motorway,
path.casing.tag-highway-motorway_link,
path.casing.tag-motorway {
- stroke:#70372f;
+ stroke: #70372f;
}
.preset-icon .icon.iD-highway-trunk,
path.stroke.tag-highway-trunk,
path.stroke.tag-highway-trunk_link,
path.stroke.tag-trunk {
- stroke:#DD2F22;
+ stroke: #DD2F22;
}
path.casing.tag-highway-trunk,
path.casing.tag-highway-trunk_link,
path.casing.tag-trunk {
- stroke:#70372f;
+ stroke: #70372f;
}
.preset-icon .icon.iD-highway-primary,
path.stroke.tag-highway-primary,
path.stroke.tag-highway-primary_link,
path.stroke.tag-primary {
- stroke:#F99806;
+ stroke: #F99806;
}
path.casing.tag-highway-primary,
path.casing.tag-highway-primary_link,
path.casing.tag-primary {
- stroke:#70372f;
+ stroke: #70372f;
}
.preset-icon .icon.iD-highway-secondary,
path.stroke.tag-highway-secondary,
path.stroke.tag-highway-secondary_link,
path.stroke.tag-secondary {
- stroke:#F3F312;
+ stroke: #F3F312;
}
path.casing.tag-highway-secondary,
path.casing.tag-highway-secondary_link,
path.casing.tag-secondary {
- stroke:#70372f;
+ stroke: #70372f;
}
.preset-icon .icon.iD-highway-tertiary,
path.stroke.tag-highway-tertiary,
path.stroke.tag-highway-tertiary_link,
path.stroke.tag-tertiary {
- stroke:#FFF9B3;
+ stroke: #FFF9B3;
}
path.casing.tag-highway-tertiary,
path.casing.tag-highway-tertiary_link,
path.casing.tag-tertiary {
- stroke:#70372f;
+ stroke: #70372f;
}
.legacy-carto .preset-icon .icon.iD-highway-motorway,
.legacy-carto path.stroke.tag-highway-motorway,
.legacy-carto path.stroke.tag-highway-motorway_link,
.legacy-carto path.stroke.tag-motorway {
- stroke:#58a9ed;
+ stroke: #58a9ed;
}
.legacy-carto path.casing.tag-highway-motorway,
.legacy-carto path.casing.tag-highway-motorway_link,
.legacy-carto path.casing.tag-motorway {
- stroke:#2c5476;
+ stroke: #2c5476;
}
.legacy-carto .preset-icon .icon.iD-highway-trunk,
.legacy-carto path.stroke.tag-highway-trunk,
.legacy-carto path.stroke.tag-highway-trunk_link,
.legacy-carto path.stroke.tag-trunk {
- stroke:#8cd05f;
+ stroke: #8cd05f;
}
.legacy-carto path.casing.tag-highway-trunk,
.legacy-carto path.casing.tag-highway-trunk_link,
.legacy-carto path.casing.tag-trunk {
- stroke:#46682f;
+ stroke: #46682f;
}
.legacy-carto .preset-icon .icon.iD-highway-primary,
.legacy-carto path.stroke.tag-highway-primary,
.legacy-carto path.stroke.tag-highway-primary_link,
.legacy-carto path.stroke.tag-primary {
- stroke:#e06d5f;
+ stroke: #e06d5f;
}
.legacy-carto path.casing.tag-highway-primary,
.legacy-carto path.casing.tag-highway-primary_link,
.legacy-carto path.casing.tag-primary {
- stroke:#70372f;
+ stroke: #70372f;
}
.legacy-carto .preset-icon .icon.iD-highway-secondary,
.legacy-carto path.stroke.tag-highway-secondary,
.legacy-carto path.stroke.tag-highway-secondary_link,
.legacy-carto path.stroke.tag-secondary {
- stroke:#eab056;
+ stroke: #eab056;
}
.legacy-carto path.casing.tag-highway-secondary,
.legacy-carto path.casing.tag-highway-secondary_link,
.legacy-carto path.casing.tag-secondary {
- stroke:#75582b;
+ stroke: #75582b;
}
.legacy-carto .preset-icon .icon.iD-highway-tertiary,
.legacy-carto path.stroke.tag-highway-tertiary,
.legacy-carto path.stroke.tag-highway-tertiary_link,
.legacy-carto path.stroke.tag-tertiary {
- stroke:#ffff7e;
+ stroke: #ffff7e;
}
.legacy-carto path.casing.tag-highway-tertiary,
.legacy-carto path.casing.tag-highway-tertiary_link,
.legacy-carto path.casing.tag-tertiary {
- stroke:#7f7f3f;
+ stroke: #7f7f3f;
}
.preset-icon .icon.iD-highway-residential {
}
path.stroke.tag-highway-residential,
path.stroke.tag-residential {
- stroke:#fff;
+ stroke: #fff;
}
path.casing.tag-highway-residential,
path.casing.tag-residential {
- stroke:#444;
+ stroke: #444;
}
.preset-icon .icon.iD-highway-unclassified {
- color: #dcd9b9;
+ color: #dca;
fill: #444;
}
path.stroke.tag-highway-unclassified,
path.stroke.tag-unclassified {
- stroke:#dcd9b9;
+ stroke: #dca;
}
path.casing.tag-highway-unclassified,
path.casing.tag-unclassified {
- stroke:#444;
+ stroke: #444;
}
path.stroke.tag-highway-pedestrian,
path.stroke.tag-corridor,
path.stroke.tag-pedestrian {
- stroke:#fff;
+ stroke: #fff;
stroke-dasharray: 2, 8;
}
.low-zoom path.stroke.tag-highway-corridor,
}
path.stroke.tag-highway-road,
path.stroke.tag-road {
- stroke:#9e9e9e;
+ stroke: #9e9e9e;
}
path.casing.tag-highway-road,
path.casing.tag-road {
- stroke:#666;
+ stroke: #666;
}
.preset-icon .icon.iD-highway-service {
}
path.stroke.tag-highway-service,
path.stroke.tag-service {
- stroke:#fff;
+ stroke: #fff;
}
path.casing.tag-highway-service,
path.casing.tag-service {
- stroke:#666;
+ stroke: #666;
}
/* special service roads and bus guideways */
/* with `service=* tag` (e.g. parking_aisle, alley, drive-through */
.preset-icon .icon.iD-highway-bus_guideway,
.preset-icon .icon.iD-highway-service.tag-service {
- color: #dcd9b9;
+ color: #dca;
fill: #666;
}
path.stroke.tag-highway-bus_guideway,
path.stroke.tag-highway-service.tag-service,
path.stroke.tag-service.tag-service {
- stroke: #dcd9b9;
+ stroke: #dca;
}
path.casing.tag-highway-bus_guideway,
path.casing.tag-highway-service.tag-service,
path.casing.tag-highway-path,
path.casing.tag-highway-path.tag-unpaved {
- stroke: #c5b59f;
+ stroke: #dca;
stroke-linecap: round;
stroke-dasharray: none;
}
.preset-icon .icon.iD-category-path,
.preset-icon .icon.iD-highway-path {
- color: #746f6f;
- fill: #c5b59f;
+ color: #988;
+ fill: #dca;
}
path.stroke.tag-highway-path {
- stroke: #746f6f;
+ stroke: #988;
}
.preset-icon .icon.tag-route-foot,
.preset-icon .icon.tag-route-hiking,
.preset-icon .icon.iD-highway-footway {
- color: #ae8681;
+ color: #988;
fill: #fff;
}
path.stroke.tag-highway-footway {
- stroke: #ae8681;
+ stroke: #988;
}
-.preset-icon .icon.iD-highway-footway.tag-crossing {
- color: #444;
-}
-path.stroke.tag-highway-footway.tag-crossing {
- stroke: #444;
- stroke-dasharray: 6, 4;
-}
-.low-zoom path.stroke.tag-highway-footway.tag-crossing {
- stroke-dasharray: 3, 2;
-}
.preset-icon .icon.tag-route-bicycle,
.preset-icon .icon.iD-highway-cycleway {
}
/* highway midpoints */
-
g.midpoint.tag-highway-corridor .fill,
g.midpoint.tag-highway-pedestrian .fill,
g.midpoint.tag-highway-steps .fill,
}
/* narrow aeroways (taxiway) */
-
path.shadow.tag-aeroway-taxiway,
path.shadow.tag-taxiway {
stroke-width: 16;
/* wide aeroways (runway) */
-
.preset-icon .icon.tag-aeroway-runway,
.preset-icon .icon.tag-runway {
color: #444;
}
/* railways */
-
.preset-icon .icon.tag-railway.other-line {
color: #fff;
fill: #777;
}
/* railway areas */
-
path.stroke.area.tag-railway,
.low-zoom path.stroke.area.tag-railway {
stroke: white;
}
/* narrow widths */
-
path.shadow.tag-railway {
stroke-width: 16;
}
/* styles */
-
path.casing.tag-railway {
stroke: #555;
}
color: #999;
fill: #eee;
}
+path.casing.tag-railway-disused,
path.casing.tag-railway-abandoned {
stroke: #999;
}
+path.stroke.tag-railway-disused,
path.stroke.tag-railway-abandoned {
stroke: #eee;
}
path.stroke.tag-railway-subway {
stroke: #bbb;
}
-
-
-/* railway platforms - like sidewalks */
-
-.preset-icon .icon.iD-highway-footway.tag-railway-platform {
- color: #ae8681;
- fill: #dcd9b9;
-}
-path.shadow.tag-railway-platform {
- stroke-width: 16;
-}
-path.casing.tag-railway-platform {
- stroke: #dcd9b9;
- stroke-width: 5;
- stroke-linecap: round;
- stroke-dasharray: none;
-}
-path.stroke.tag-railway-platform {
- stroke: #ae8681;
- stroke-width: 3;
- stroke-linecap: butt;
- stroke-dasharray: 6, 6;
-}
-
-.low-zoom path.shadow.tag-railway-platform {
- stroke-width: 12;
-}
-.low-zoom path.casing.tag-railway-platform {
- stroke-width: 3;
-}
-.low-zoom path.stroke.tag-railway-platform {
- stroke-width: 1;
- stroke-linecap: butt;
- stroke-dasharray: 3, 3;
-}
-
-g.midpoint.tag-railway-platform .fill {
- fill: #fff;
- stroke: #333;
- stroke-opacity: .8;
- opacity: .8;
-}
/* waterways */
-
.preset-icon .icon.tag-waterway.other-line {
color: #77d3de;
fill: #77d3de;
}
.preset-icon .icon.iD-category-water,
-.preset-icon .icon.tag-route-ferry,
.preset-icon .icon.tag-type-waterway,
.preset-icon .icon.tag-waterway {
color: #77d3de;
/* narrow waterways (default) */
-
path.shadow.tag-waterway {
stroke-width: 16;
}
/* wide waterways (river) */
-
path.shadow.tag-waterway-river {
stroke-width: 20;
}
/* ditch */
-
.preset-icon .icon.tag-waterway-ditch {
color: #8eabf3;
}
/* waterway areas */
-
path.area.stroke.tag-waterway-dock,
path.area.stroke.tag-waterway-boatyard,
path.area.stroke.tag-waterway-fuel {
fill: rgba(255, 255, 255, 0.3);
}
-/* power */
+/* ferry routes */
+.preset-icon .icon.tag-route-ferry {
+ color: #58a9ed;
+ fill: #fff;
+}
+path.shadow.tag-route-ferry {
+ stroke-width: 16;
+}
+path.stroke.tag-route-ferry {
+ stroke-width: 3;
+ stroke-linecap: butt;
+ stroke-dasharray: 12,8;
+}
+.low-zoom path.shadow.tag-route-ferry {
+ stroke-width: 12;
+}
+.low-zoom path.stroke.tag-route-ferry {
+ stroke-width: 2;
+ stroke-dasharray: 6,4;
+}
+path.stroke.tag-route-ferry {
+ stroke: #58a9ed;
+}
+/* power and pipeline */
.preset-icon .icon.tag-man_made-pipeline,
.preset-icon .icon.tag-power {
color: #939393;
fill: #939393;
}
+/* power */
+
path.stroke.tag-power {
stroke: #939393;
stroke-width: 2;
stroke: none;
}
+/* pipeline */
+
+path.stroke.tag-man_made-pipeline {
+ stroke: #CBD0D8;
+ stroke-linecap: butt;
+ stroke-width: 3;
+ stroke-dasharray: 80, 1.25;
+}
+path.casing.tag-man_made-pipeline {
+ stroke: #666;
+ stroke-width: 4.5;
+}
+.low-zoom path.stroke.tag-man_made-pipeline {
+ stroke-dasharray: 40, 1;
+}
/* boundaries */
path.stroke.tag-boundary {
/* barriers */
-path.stroke.tag-barrier {
+path.stroke.tag-barrier:not(.tag-barrier-hedge) {
stroke: #ddd;
+}
+path.stroke.tag-barrier {
stroke-width: 3px;
stroke-linecap: round;
stroke-dasharray: 15, 5, 1, 5;
/* bridges */
path.casing.tag-bridge {
stroke-opacity: 0.6;
- stroke: #000;
+ stroke: #000 !important;
stroke-linecap: butt;
stroke-dasharray: none;
}
/* tunnels */
-path.stroke.tag-tunnel {
+path.stroke.tag-tunnel,
+path.line.stroke.tag-location-underground,
+path.line.stroke.tag-location-underwater {
stroke-opacity: 0.3;
}
-path.casing.tag-tunnel {
+path.casing.tag-tunnel,
+path.line.casing.tag-location-underground,
+path.line.stroke.tag-location-underwater {
stroke-opacity: 0.5;
stroke-linecap: butt;
stroke-dasharray: none;
/* Buildings */
-path.stroke.tag-building,
-path.stroke.tag-amenity-shelter {
+path.stroke.tag-building {
stroke: rgb(224, 110, 95);
}
-path.fill.tag-building,
-path.fill.tag-amenity-shelter {
+path.fill.tag-building {
stroke: rgba(224, 110, 95, 0.3);
fill: rgba(224, 110, 95, 0.3);
}
-.preset-icon-fill-area.tag-building,
-.preset-icon-fill-area.tag-amenity-shelter {
+.preset-icon-fill-area.tag-parking-multi-storey,
+.preset-icon-fill-area.tag-building {
border-color: rgb(224, 110, 95);
background-color: rgba(224, 110, 95, 0.3);
}
-/* piers */
-.preset-icon .icon.tag-man_made-pier {
- color: #ae8681;
- fill: #dcd9b9;
+
+/* "Special" paths - platforms, piers, crossings */
+.preset-icon .icon.tag-public_transport-platform,
+.preset-icon .icon.tag-railway-platform,
+.preset-icon .icon.tag-man_made-pier,
+.preset-icon .icon.tag-footway.tag-footway-crossing,
+.preset-icon .icon.tag-crossing {
+ color: #988;
+ fill: #dca;
}
-.preset-icon-fill-area.tag-man_made-pier {
- border-color: #ae8681;
- background-color: #dcd9b9;
+.preset-icon-fill-area.tag-public_transport-platform,
+.preset-icon-fill-area.tag-railway-platform,
+.preset-icon-fill-area.tag-man_made-pier,
+.preset-icon-fill-area.tag-footway.tag-footway-crossing,
+.preset-icon-fill-area.tag-crossing {
+ border-color: #988;
+ background-color: #dca;
}
-path.shadow.tag-man_made-pier {
+path.shadow.tag-public_transport-platform,
+path.shadow.tag-railway-platform,
+path.shadow.tag-man_made-pier,
+path.shadow.tag-footway.tag-footway-crossing,
+path.shadow.tag-crossing {
stroke-width: 16;
}
-path.casing.tag-man_made-pier {
- stroke: #dcd9b9;
+path.casing.tag-public_transport-platform,
+path.casing.tag-railway-platform,
+path.casing.tag-man_made-pier,
+path.casing.tag-footway.tag-footway-crossing,
+path.casing.tag-crossing {
+ stroke: #dca;
stroke-width: 5;
stroke-linecap: round;
stroke-dasharray: none;
}
-path.stroke.tag-man_made-pier {
- stroke: #ae8681;
+path.stroke.tag-public_transport-platform,
+path.stroke.tag-railway-platform,
+path.stroke.tag-man_made-pier,
+path.stroke.tag-footway.tag-footway-crossing,
+path.stroke.tag-crossing {
+ stroke: #988;
stroke-width: 3;
stroke-linecap: butt;
stroke-dasharray: 6, 6;
}
-.low-zoom path.shadow.tag-man_made-pier {
+.low-zoom path.shadow.tag-public_transport-platform,
+.low-zoom path.shadow.tag-railway-platform,
+.low-zoom path.shadow.tag-man_made-pier,
+.low-zoom path.shadow.tag-footway.tag-footway-crossing,
+.low-zoom path.shadow.tag-crossing {
stroke-width: 12;
}
-.low-zoom path.casing.tag-man_made-pier {
+.low-zoom path.casing.tag-public_transport-platform,
+.low-zoom path.casing.tag-railway-platform,
+.low-zoom path.casing.tag-man_made-pier,
+.low-zoom path.casing.tag-footway.tag-footway-crossing,
+.low-zoom path.casing.tag-crossing {
stroke-width: 3;
}
-.low-zoom path.stroke.tag-man_made-pier {
+.low-zoom path.stroke.tag-public_transport-platform,
+.low-zoom path.stroke.tag-railway-platform,
+.low-zoom path.stroke.tag-man_made-pier,
+.low-zoom path.stroke.tag-footway.tag-footway-crossing,
+.low-zoom path.stroke.tag-crossing {
stroke-width: 1;
stroke-linecap: butt;
stroke-dasharray: 3, 3;
-}/* Cursors */
+}
+
+g.midpoint.tag-public_transport-platform .fill,
+g.midpoint.tag-railway-platform .fill,
+g.midpoint.tag-man_made-pier .fill,
+g.midpoint.tag-footway.tag-footway-crossing .fill,
+g.midpoint.tag-crossing .fill {
+ fill: #fff;
+ stroke: #333;
+ stroke-opacity: .8;
+ opacity: .8;
+}
+
+/* marked crossings, zebras */
+.preset-icon .icon.tag-crossing.tag-crossing-marked,
+.preset-icon .icon.tag-crossing.tag-crossing-zebra {
+ color: #444;
+ fill: #dca;
+}
+path.casing.tag-crossing.tag-crossing-marked,
+path.casing.tag-crossing.tag-crossing-zebra {
+ stroke: #dca;
+}
+path.stroke.tag-crossing.tag-crossing-marked,
+path.stroke.tag-crossing.tag-crossing-zebra {
+ stroke: #444;
+ stroke-dasharray: 6, 4;
+}
+.low-zoom path.stroke.tag-crossing.tag-crossing-marked,
+.low-zoom path.stroke.tag-crossing.tag-crossing-zebra {
+ stroke-dasharray: 3, 2;
+}
+
+/* Attractions */
+path.shadow.tag-attraction-summer_toboggan,
+path.shadow.tag-attraction-water_slide {
+ stroke-width: 16;
+}
+path.casing.tag-attraction-summer_toboggan,
+path.casing.tag-attraction-water_slide {
+ stroke-width: 7;
+}
+path.stroke.tag-attraction-summer_toboggan,
+path.stroke.tag-attraction-water_slide {
+ stroke-width: 5;
+}
+.low-zoom path.shadow.tag-attraction-summer_toboggan,
+.low-zoom path.shadow.tag-attraction-water_slide {
+ stroke-width: 12;
+}
+.low-zoom path.casing.tag-attraction-summer_toboggan,
+.low-zoom path.casing.tag-attraction-water_slide {
+ stroke-width: 5;
+}
+.low-zoom path.stroke.tag-attraction-summer_toboggan,
+.low-zoom path.stroke.tag-attraction-water_slide {
+ stroke-width: 3;
+}
+path.stroke.tag-attraction-summer_toboggan {
+ stroke: #9e9e9e;
+}
+path.casing.tag-attraction-summer_toboggan {
+ stroke: #666;
+}
+
+path.stroke.tag-attraction-water_slide {
+ stroke: #aae0cb;
+}
+path.casing.tag-attraction-water_slide {
+ stroke: #3d6c71;
+}
+/* Cursors */
.nope,
.nope * {
.mode-draw-area #map,
.mode-add-line #map,
.mode-add-area #map,
-.mode-drag-node #map {
+.mode-drag-node #map,
+.mode-drag-note #map {
cursor: crosshair; /* Opera */
cursor: url(<%= asset_path("iD/img/cursor-draw.png") %>) 9 9, crosshair; /* FF */
}
}
.mode-add-point #map,
+.mode-add-note #map,
.mode-browse.lasso #map,
.mode-browse.lasso .way,
.mode-browse.lasso .vertex,
/* photo viewer div */
#photoviewer {
position: absolute;
- bottom: 30px;
+ bottom: 40px;
+ left: 10px;
width: 330px;
height: 250px;
padding: 5px;
background-color: #fff;
}
+[dir='rtl'] #photoviewer {
+ left: auto;
+ right: 10px;
+}
+
+@media screen and (min-width: 1600px) {
+ #photoviewer {
+ width: 490px;
+ height: 370px;
+ }
+}
#photoviewer button.thumb-hide {
border-radius: 0;
padding: 5px;
position: absolute;
+ right: 5px;
+ top: 5px;
+ z-index: 50;
+}
+
+#photoviewer button.resize-handle-xy {
+ border-radius: 0;
+ position: absolute;
+ top: 0;
+ right: 0;
+ z-index: 49;
+ cursor: nesw-resize;
+ height: 25px;
+ width: 25px;
+}
+
+#photoviewer button.resize-handle-x {
+ border-radius: 0;
+ position: absolute;
+ top: 0;
right: 0;
+ bottom: 0;
+ z-index: 48;
+ cursor: ew-resize;
+ height: auto;
+ width: 6px;
+}
+
+#photoviewer button.resize-handle-y {
+ border-radius: 0;
+ position: absolute;
top: 0;
+ right: 0;
z-index: 48;
+ cursor: ns-resize;
+ height: 6px;
+ width: 100%;
}
+
.photo-wrapper,
.photo-wrapper img {
width: 100%;
height: 100%;
overflow: hidden;
+ object-fit: cover;
}
.photo-wrapper .photo-attribution {
/* markers and sequences */
.viewfield-group {
+ pointer-events: none;
+}
+.mode-browse .viewfield-group,
+.mode-select .viewfield-group {
pointer-events: visible;
cursor: pointer;
}
/* Streetside Viewer (pannellum) */
-.ms-wrapper .photo-attribution .image_link {
+.ms-wrapper .photo-attribution .image-link {
display: block;
}
+.ms-wrapper .photo-attribution .attribution-row {
+ display: flex;
+ flex-flow: row nowrap;
+ justify-content: space-between;
+ align-items: center;
+ padding: 0 5px;
+}
+.ms-wrapper .photo-attribution .image-view-link {
+ text-align: left;
+ margin: 0 5px;
+}
+.ms-wrapper .photo-attribution .image-report-link {
+ text-align: right;
+}
+
.ms-wrapper .photo-attribution a:active,
.ms-wrapper .photo-attribution a:hover {
color: #0fffc4;
background-repeat: no-repeat no-repeat;
}
+label.streetside-hires {
+ cursor: pointer;
+}
+.streetside-hires span {
+ margin-top: 2px;
+}
+.streetside-hires input[type="checkbox"] {
+ float: left;
+ width: 12px;
+ height: 12px;
+ margin: 0 5px;
+}
+
/* Mapillary viewer */
#mly .domRenderer .TagSymbol {
color: #20c4ff;
}
-.osc-controls-wrap {
- text-align: center;
- position: absolute;
- top: 10px;
+.osc-image-wrap {
width: 100%;
+ height: 100%;
+ transform-origin:0 0;
+ -ms-transform-origin:0 0;
+ -webkit-transform-origin:0 0;
+ -moz-transform-origin:0 0;
+ -o-transform-origin:0 0;
+}
+
+
+/* photo-controls (step forward, back, rotate) */
+.photo-controls-wrap {
+ text-align: center;
+ position: absolute;
+ top: 10px;
+ width: 100%;
+ z-index: 10;
+}
+
+.photo-controls {
+ display: inline-block;
z-index: 10;
}
-.osc-controls {
- display: inline-block;
- z-index: 10;
-}
-
-.osc-controls button {
+.photo-controls button,
+.photo-controls button:focus {
height: 18px;
width: 18px;
background: rgba(0,0,0,0.65);
color: #eee;
border-radius: 0;
}
-.osc-controls button:first-of-type {
+.photo-controls button:first-of-type {
border-radius: 3px 0 0 3px;
}
-.osc-controls button:last-of-type {
+.photo-controls button:last-of-type {
border-radius: 0 3px 3px 0;
}
-.osc-controls button:hover,
-.osc-controls button:active,
-.osc-controls button:focus {
+.photo-controls button:hover,
+.photo-controls button:active {
background: rgba(0,0,0,0.85);
color: #fff;
}
-.osc-image-wrap {
- transform-origin:0 0;
- -ms-transform-origin:0 0;
- -webkit-transform-origin:0 0;
- -moz-transform-origin:0 0;
- -o-transform-origin:0 0;
+/* OSM Notes Layer */
+.layer-notes {
+ pointer-events: none;
+}
+.layer-notes .note * {
+ pointer-events: none;
+}
+.mode-browse .layer-notes .note .note-fill,
+.mode-select .layer-notes .note .note-fill,
+.mode-select-data .layer-notes .note .note-fill,
+.mode-select-note .layer-notes .note .note-fill {
+ pointer-events: visible;
+ cursor: pointer; /* Opera */
+ cursor: url(<%= asset_path("iD/img/cursor-select-point.png") %>), pointer; /* FF */
+}
+
+.note-header-icon .note-shadow,
+.layer-notes .note .note-shadow {
+ color: #000;
+}
+.note-header-icon .note-fill,
+.layer-notes .note .note-fill {
+ color: #ff3300;
+ stroke: #333;
+ stroke-width: 40px;
+}
+.note-header-icon.new .note-fill,
+.layer-notes .note.new .note-fill {
+ color: #ffee00;
+ stroke: #333;
+ stroke-width: 40px;
+}
+.note-header-icon.closed .note-fill,
+.layer-notes .note.closed .note-fill {
+ color: #55dd00;
+ stroke: #333;
+ stroke-width: 40px;
+}
+
+/* slight adjustments to preset icon for note icons */
+.note-header-icon .preset-icon-28 {
+ top: 18px;
+}
+.note-header-icon .note-icon-annotation {
+ position: absolute;
+ top: 22px;
+ left: 22px;
+ margin: auto;
+}
+.note-header-icon .note-icon-annotation .icon {
+ width: 15px;
+ height: 15px;
+}
+
+
+/* Custom Map Data (geojson, gpx, kml, vector tile) */
+
+.layer-mapdata {
+ pointer-events: none;
+}
+
+.layer-mapdata path.shadow {
+ pointer-events: stroke;
+ stroke: #f6634f;
+ stroke-width: 16;
+ stroke-opacity: 0;
+ fill: none;
+}
+.layer-mapdata path.MultiPoint.shadow,
+.layer-mapdata path.Point.shadow {
+ pointer-events: fill;
+ fill: #f6634f;
+ fill-opacity: 0;
+}
+.layer-mapdata path.shadow.hover:not(.selected) {
+ stroke-opacity: 0.4;
}
+.layer-mapdata path.shadow.selected {
+ stroke-opacity: 0.7;
+}
+
+.layer-mapdata path.stroke {
+ stroke: #ff26d4;
+ stroke-width: 2;
+ fill: none;
+}
+
+.layer-mapdata path.fill {
+ stroke-width: 0;
+ stroke-opacity: 0.3;
+ stroke: #ff26d4;
+ fill: #ff26d4;
+ fill-opacity: 0.3;
+ fill-rule: evenodd;
+}
+
+.layer-mapdata text.label-halo,
+.layer-mapdata text.label {
+ font-size: 10px;
+ font-weight: bold;
+ dominant-baseline: middle;
+}
+.layer-mapdata text.label {
+ fill: #ff26d4;
+}
+.layer-mapdata text.label.hover,
+.layer-mapdata text.label.selected {
+ fill: #f6634f;
+}
+.layer-mapdata text.label-halo {
+ opacity: 0.7;
+ stroke: #000;
+ stroke-width: 5px;
+ stroke-miterlimit: 1;
+}
+
/* Fill Styles */
.low-zoom.fill-wireframe path.stroke,
stroke-dasharray: none !important;
fill: none !important;
}
+.low-zoom.fill-wireframe .layer-mapdata path.stroke,
+.fill-wireframe .layer-mapdata path.stroke {
+ stroke-width: 2 !important;
+ stroke-opacity: 1 !important;
+}
.low-zoom.fill-wireframe path.shadow,
.fill-wireframe path.shadow {
}
.fill-wireframe .point,
-.fill-wireframe .vertex.active,
.fill-wireframe .areaicon,
.fill-wireframe .areaicon-halo,
.fill-wireframe path.casing,
}
/* Basics
------------------------------------------------------- */
-
/*
Opera misbehaves when the window is resized vertically unless 100% width + height are
applied to both html and body. https://gist.github.com/jfirebaugh/bd225bcfdd3a633850c4
"Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell",
"Fira Sans", "Droid Sans", "Helvetica Neue", "Arial",
sans-serif;
- margin:0;
- padding:0;
- min-width: 768px;
- color:#333;
+ margin: 0;
+ padding: 0;
+ color: #333;
overflow: hidden;
-ms-user-select: none;
+ -ms-content-zooming: none;
}
.unsupported {
.id-container {
height: 100%;
width: 100%;
- min-width: 768px;
}
#content {
transition-duration: 200ms;
}
-/* Firefox has its own ideas about fixed positioning when a css filter is active - #4348 */
-/* https://stackoverflow.com/questions/37949942/firefox-position-bug-by-parent-with-filter */
-@-moz-document url-prefix() {
- #content > #bar {
- width: 100vw;
- }
- #content.inactive > #bar > .spacer.col4 {
- width: 0px;
- }
- #content.active > #bar > .spacer.col4 {
- width: 33.3333%;
- transition-duration: 200ms;
- transition-timing-function: step-end;
- }
-}
-
#defs {
/* Can't be display: none or the clippaths are ignored. */
position: absolute;
height: 0;
}
-.spacer {
- height: 40px;
- margin-right: 10px;
-}
-
-.limiter {
- position: relative;
- max-width: 1200px;
-}
-
-.spinner {
- opacity: .5;
- float: right;
-}
-[dir='rtl'] .spinner {
- float: left;
-}
-
-.spinner img {
- height: 40px;
- width: 40px;
- border-radius: 4px;
- margin-right: 10px;
- background: black;
-}
-[dir='rtl'] .spinner img {
- margin-left: 10px;
- margin-right: auto;
- -moz-transform: scaleX(-1);
- -o-transform: scaleX(-1);
- -webkit-transform: scaleX(-1);
- transform: scaleX(-1);
- filter: FlipH;
- -ms-filter: "FlipH";
-}
-
-
div, textarea, label, input, form, span, ul, li, ol, a, button, h1, h2, h3, h4, h5, p, img {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
a, button, input, textarea {
- -webkit-tap-highlight-color:rgba(0,0,0,0);
- -webkit-touch-callout:none;
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
+ -webkit-touch-callout: none;
+}
+
+ul li {
+ list-style: none;
}
a,
button,
-.checkselect label:hover,
.radial-menu-item {
cursor: pointer;
}
font-weight: bold;
margin-bottom: 10px;
}
-
h4, h5 {
font-size: 12px;
font-weight: bold;
p {
font-size: 12px;
- margin:0;
- padding:0;
+ margin: 0;
+ padding: 0;
}
-
p:last-child {
padding-bottom: 0;
}
-
em {
font-style: italic;
}
-
strong {
font-weight: bold;
}
-
a:visited, a {
color: #7092ff;
}
-
a:hover {
color: #597be7;
}
/* Forms
------------------------------------------------------- */
-
textarea {
resize: vertical;
font:normal 12px/20px "-apple-system", BlinkMacSystemFont,
input[type=url],
input[type=tel],
input[type=email] {
- background-color: white;
+ background-color: #fff;
color: #333;
- border:1px solid #ccc;
- padding:5px 20px 5px 10px;
- height:30px;
- width: 100%;
- border-radius:4px;
+ border: 1px solid #ccc;
+ padding: 5px 20px 5px 10px;
+ height: 30px;
+ border-radius: 4px;
text-overflow: ellipsis;
}
[dir='rtl'] textarea,
[dir='rtl'] input[type=url],
[dir='rtl'] input[type=tel],
[dir='rtl'] input[type=email] {
- padding:5px 10px 5px 20px;
+ padding: 5px 10px 5px 20px;
}
textarea:focus,
input:focus {
- background-color: #F1F1F1;
+ background-color: #f1f1f1;
+}
+
+textarea.disabled,
+input.disabled {
+ color: #777;
+ background-color: #eee;
+ cursor: not-allowed;
}
input[type="checkbox"],
height: 14px;
margin-right: 5px;
margin-top: 3px;
+ cursor: pointer;
}
[dir='rtl'] input[type="checkbox"],
[dir='rtl'] input[type="radio"] {
margin-right: 0;
}
-/* remove bottom border radius when combobox is open */
-.combobox + * textarea:focus,
-.combobox + * input:focus {
- border-bottom-left-radius: 0 !important;
- border-bottom-right-radius: 0 !important;
-}
-
/* tables */
-
table {
- background-color: white;
+ background-color: #fff;
border-collapse: collapse;
- width:100%;
- border-spacing:0;
+ width: 100%;
+ border-spacing: 0;
}
-
table th {
- text-align:left;
+ text-align: left;
}
-
table.tags, table.tags td, table.tags th {
border: 1px solid #ccc;
padding: 4px;
/* Grid
------------------------------------------------------- */
-
-.col0 { float:left; width:04.1666%; }
-.col1 { float:left; width:08.3333%; }
-.col2 { float:left; width:16.6666%; }
-.col3 { float:left; width:25.0000%; max-width: 300px; }
-.col4 { float:left; width:33.3333%; max-width: 400px; }
-.col5 { float:left; width:41.6666%; max-width: 500px; }
-.col6 { float:left; width:50.0000%; max-width: 600px; }
-.col7 { float:left; width:58.3333%; }
-.col8 { float:left; width:66.6666%; }
-.col9 { float:left; width:75.0000%; }
-.col10 { float:left; width:83.3333%; }
-.col11 { float:left; width:91.6666%; }
-.col12 { float:left; width:100.0000%; }
-
-/* UI Lists
-------------------------------------------------------- */
-
-ul li { list-style: none;}
-
-.toggle-list > label {
- position: relative;
- padding: 5px 10px;
- display: block;
- height: 30px;
- background-color: white;
- color: #7092ff;
- cursor: pointer;
-}
-
-.toggle-list > label:hover {
- background-color: #ececec;
-}
-
-.toggle-list > label:not(:last-child) {
- border-bottom: 1px solid #ccc;
-}
-
-.toggle-list > label:last-child {
- border-radius: 0 0 3px 3px;
-}
-
-.toggle-list label > span {
- display: block;
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
-}
-
-.toggle-list > label.active {
- background: #E8EBFF;
-}
+.col6 { float: left; width: 50.0000%; max-width: 600px; }
+.col8 { float: left; width: 66.6666%; }
+.col12 { float: left; width: 100.0000%; }
/* Utility Classes
------------------------------------------------------- */
.fillL {
- background: white;
+ background: #fff;
color: #333;
}
-
.fillL2 {
background: #f6f6f6;
color: #333;
}
-
.fillL3 {
background: #ececec;
color: #333;
}
-
.fillD {
- background:rgba(0,0,0,.5);
- color: white;
+ background: rgba(0,0,0,.5);
+ color: #fff;
}
-
.fillD2 {
- background:rgba(0,0,0,.75);
- color: white;
+ background: rgba(0,0,0,.75);
+ color: #fff;
}
.fl { float: left;}
.deemphasize {
color: #a9a9a9;
}
-
.content {
box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.25);
}
-
.loading {
background: url(<%= asset_path("iD/img/loader_bg.gif") %>);
- background-size:5px 5px;
-}
-
-.panewrap {
- position:absolute;
- width:200%;
- height:100%;
- right: -100%;
-}
-
-
-.pane {
- position:absolute;
- width:50%;
- top: 0;
- bottom: 30px;
-}
-
-.pane:first-child {
- left: 0;
-}
-
-.pane:last-child {
- right: 0;
+ background-size: 5px 5px;
}
-/* Buttons */
+/* Buttons
+------------------------------------------------------- */
button {
text-align: center;
line-height: 20px;
- border:0;
- background: white;
+ border: 0;
+ background: #fff;
font-weight: bold;
- color:#333;
- font-size:12px;
+ color: #333;
+ font-size: 12px;
display: inline-block;
- height:40px;
- border-radius:4px;
+ height: 40px;
+ border-radius: 4px;
}
button:focus,
button:hover {
background-color: #ececec;
}
-
-button[disabled],
+button.active {
+ background: #7092ff;
+}
button.disabled {
background-color: rgba(255,255,255,.25);
color: rgba(0,0,0,.4);
- cursor: auto;
-}
-
-button.active {
- background: #7092ff;
+ cursor: not-allowed;
}
-button.minor {
- position: absolute;
- top: 0;
- right: 0;
- height: 100%;
- width: 10%;
+.joined button {
border-radius: 0;
- background-color: #fafafa;
+ border-right: 1px solid rgba(0,0,0,.5);
}
-[dir='rtl'] button.minor {
- right: auto;
-}
-
-button.minor .icon {
- opacity: .5;
-}
-
-button.minor:hover {
- background-color: #f1f1f1;
-}
-
-.button-wrap {
- display: inline-block;
- padding-right:10px;
- margin: 0;
-}
-
-.button-wrap button:only-child {
- width: 100%;
-}
-
-.button-wrap:last-of-type {
- padding-right: 0;
-}
-[dir='rtl'] .button-wrap:last-of-type {
- padding-left: 0;
- padding-right: 10px;
-}
-
-.joined button {
- border-radius:0;
- border-right: 1px solid rgba(0,0,0,.5);
-}
-[dir='rtl'] .joined button {
- border-left: 1px solid rgba(0,0,0,.5);
- border-right: none;
+[dir='rtl'] .joined button {
+ border-left: 1px solid rgba(0,0,0,.5);
+ border-right: none;
}
.fillL .joined button {
- border-right: 1px solid white;
+ border-right: 1px solid #fff;
}
-
.joined button:first-child {
border-radius: 4px 0 0 4px;
}
[dir='rtl'] .joined button:first-child {
border-radius: 0 4px 4px 0;
}
-
.joined button:last-child {
border-right-width: 0;
border-radius: 0 4px 4px 0;
border-radius: 4px 0 0 4px;
}
+
+/* Action buttons */
button.action {
background: #7092ff;
- color: white;
-}
-
-button[disabled].action,
-button[disabled].action:hover {
- background: #cccccc;
- color: #888;
+ color: #fff;
}
-
button.action:focus,
button.action:hover {
- background: #597BE7;
+ background: #597be7;
}
-
button.secondary-action {
background: #ececec;
}
-
button.secondary-action:focus,
button.secondary-action:hover {
background: #cccccc;
}
-button.save .count {
- display: none;
-}
-
-button.save.has-count .count {
- display: block;
- position: absolute;
- top: 5px;
- background: #fff;
- border-color: #fff;
- opacity: 0.5;
- color: #333;
- padding: 10px;
- height: 30px;
- line-height: 12px;
- border-radius: 4px;
- margin: auto;
- margin-left: 9.3333%;
-}
-[dir='rtl'] button.save.has-count .count {
- margin-left: auto;
- margin-right: 8%;
-}
-
-button.save.has-count .count::before {
- content: "";
- margin: auto;
- width: 0;
- height: 0;
- position: absolute;
- left: -6px;
- top: 0;
- bottom: 0;
- border-top: 6px solid transparent;
- border-bottom: 6px solid transparent;
- border-right-width: 6px;
- border-right-style: solid;
- border-right-color: inherit;
-}
-[dir='rtl'] button.save.has-count .count::before {
- border-left: 6px solid rgba(255,255,255,.5);
- border-right: none;
- left: auto;
- right: -6px;
+button[disabled].action,
+button[disabled].action:hover {
+ background: #cccccc;
+ color: #888;
+ cursor: not-allowed;
}
-/* Icons */
+/* Icons
+------------------------------------------------------- */
.icon {
vertical-align: top;
width: 20px;
margin-right: 5px;
}
[dir='rtl'] .icon.pre-text {
- margin-left: 5px;
- margin-right: 0;
+ margin-left: 5px;
+ margin-right: 0;
+}
+
+.icon.pre-text.user-icon {
+ margin-left: 5px;
+ margin-right: 5px;
}
.icon.light {
color: #fff;
}
-
.icon.created {
color: #00ca07;
}
-
.icon.modified {
color: #666;
}
-
.icon.deleted {
color: #ea0000;
}
}
-/* ToolBar / Persistent UI Elements
+/* Toolbar / Persistent UI Elements
------------------------------------------------------- */
-
#bar {
- position: fixed;
- padding: 10px 0;
+ display: flex;
+ flex-flow: row nowrap;
+ justify-content: space-between;
+ position: absolute;
+ padding: 10px;
left: 0;
top: 0;
right: 0;
height: 60px;
z-index: 9;
- min-width: 768px;
}
-[dir='rtl'] #bar .spacer,
-[dir='rtl'] #bar .button-wrap,
-[dir='rtl'] #bar .button-wrap button {
- float: right;
+.tool-group {
+ display: flex;
+ flex: 0 1 auto;
+ flex-flow: row nowrap;
+ width: 100%;
+}
+.tool-group.leading-area {
+ flex-shrink: 2;
+ justify-content: flex-start;
+}
+.tool-group.center-area {
+ justify-content: center;
+}
+.tool-group.trailing-area {
+ justify-content: flex-start;
+}
+
+.tool-group > div {
+ display: flex;
+ margin: 0 5px;
+}
+.tool-group button {
+ flex: 1 1 auto;
+ flex-flow: row nowrap;
+ align-items: center;
+ padding: 0 10px;
+ min-width: 30px;
+}
+.tool-group button .icon {
+ flex: 0 0 20px;
+}
+.tool-group button .label {
+ flex: 0 1 auto;
+ padding: 0 5px;
+}
+
+button.save .count {
+ display: inline-block;
+ border: 0px solid #ccc;
+ border-left-width: 1px;
+ padding: 0px 0px 0px 8px;
+ min-width: 32px;
+ text-align: center;
+}
+[dir='rtl'] button.save .count {
+ border-left-width: 0px;
+ border-right-width: 1px;
+ padding: 0px 8px 0px 0px;
+}
+button.save.disabled .count {
+ border: 0px solid rgba(0,0,0,0.25);
+ border-left-width: 1px;
+}
+[dir='rtl'] button.save.disabled .count {
+ border-left-width: 0px;
+ border-right-width: 1px;
+ padding: 0px 8px 0px 0px;
+}
+#bar.narrow button.save .count {
+ padding: 0px;
+}
+
+button.save .label {
+ margin-right: 3px;
+ margin-left: 0;
+}
+[dir='rtl'] button.save .label {
+ margin-left: 3px;
+ margin-right: 0;
+}
+
+.help-wrap svg.icon.pre-text.add-note,
+button.add-note svg.icon {
+ height: 15px;
+ width: 15px;
+ color: rgba(0,0,0,0.25);
+ stroke: #333;
+ stroke-width: 60px;
+ margin-top: 3px;
+}
+button.add-note svg.icon {
+ margin-left: unset;
+ margin-right: 4px;
+}
+[dir='rtl'] button.add-note svg.icon {
+ margin-left: 4px;
+ margin-right: unset;
+}
+.help-wrap svg.icon.pre-text.add-note {
+ margin-left: 3px;
+ margin-right: 3px;
+}
+
+.spinner {
+ opacity: .5;
+ display: flex;
+ flex-shrink: 2;
+ justify-content: flex-end;
+}
+.spinner img {
+ height: 40px;
+ width: 40px;
+ border-radius: 4px;
+ background: black;
+}
+[dir='rtl'] .spinner img {
+ -moz-transform: scaleX(-1);
+ -o-transform: scaleX(-1);
+ -webkit-transform: scaleX(-1);
+ transform: scaleX(-1);
+ filter: FlipH;
+ -ms-filter: "FlipH";
+}
+
+
+#bar.narrow .tool-group {
+ width: unset;
+}
+#bar.narrow .spinner,
+#bar.narrow button .label {
+ display: none;
+}
+#bar.narrow button .count {
+ border-left-width: 0;
+ border-right-width: 0;
}
/* Header for modals / panes
------------------------------------------------------- */
-
.header {
border-bottom: 1px solid #ccc;
height: 60px;
}
.field-help-title button.close,
+.sidebar-component .header button.data-editor-close,
+.sidebar-component .header button.note-editor-close,
.entity-editor-pane .header button.preset-close,
.preset-list-pane .header button.preset-choose {
position: absolute;
top: 0;
}
[dir='rtl'] .field-help-title button.close,
+[dir='rtl'] .sidebar-component .header button.data-editor-close,
+[dir='rtl'] .sidebar-component .header button.note-editor-close,
[dir='rtl'] .entity-editor-pane .header button.preset-close,
[dir='rtl'] .preset-list-pane .header button.preset-choose {
left: 0;
.footer {
position: absolute;
bottom: 0;
+ margin: 0;
padding: 5px 20px 5px 20px;
border-top: 1px solid #ccc;
- background-color: #fafafa;
+ background-color: #f6f6f6;
width: 100%;
z-index: 1;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ list-style: none;
+ display: flex;
}
-.sidebar-component .body {
- width: 100%;
- overflow: auto;
- top: 60px;
- bottom: 0;
- position: absolute;
+.footer > a {
+ justify-content: center;
}
-/* Hide-Toggle
+/* Hide/Toggle collapsable sections (aka Disclosure)
------------------------------------------------------- */
-
.hide-toggle .icon.pre-text {
vertical-align: text-top;
width: 16px;
}
-/* Inspector
+/* Sidebar / Inspector
------------------------------------------------------- */
-
#sidebar {
position: relative;
float: left;
height: 100%;
- overflow: hidden;
z-index: 10;
background: #f6f6f6;
-ms-user-select: element;
+ border: 0px solid #ccc;
+ border-right-width: 1px;
}
[dir='rtl'] #sidebar {
float: right;
+ border-right-width: 0px;
+ border-left-width: 1px;
+}
+
+#sidebar-resizer {
+ position: absolute;
+ top: 0;
+ right: -6px;
+ height: 100%;
+ width: 6px;
+ cursor: col-resize;
+}
+[dir='rtl'] #sidebar-resizer {
+ right: auto;
+ left: -6px;
+}
+
+#sidebar.collapsed #sidebar-resizer {
+ /* make target wider to avoid the user accidentally resizing window */
+ width: 10px;
+ right: -10px;
+}
+[dir='rtl'] #sidebar.collapsed #sidebar-resizer {
+ left: -10px;
}
.sidebar-component {
right: 0;
}
+.sidebar-component .body {
+ width: 100%;
+ overflow: auto;
+ top: 60px;
+ bottom: 0;
+ position: absolute;
+}
+
+.panewrap {
+ position: absolute;
+ width: 200%;
+ height: 100%;
+ right: -100%;
+}
+
+.pane {
+ position: absolute;
+ width: 50%;
+ top: 0;
+ bottom: 30px;
+}
+
+.pane:first-child {
+ left: 0;
+}
+
+.pane:last-child {
+ right: 0;
+}
+
.inspector-wrap {
width: 100%;
height: 100%;
+ overflow: hidden;
+ position: relative;
}
.inspector-hidden {
bottom: 0;
}
-.feature-list-pane .inspector-body {
- top: 120px;
+.inspector-border {
+ border-bottom: 1px solid #ccc
}
+.feature-list-pane .inspector-body,
.preset-list-pane .inspector-body {
top: 120px;
}
-
-.entity-editor-pane .inspector-body {
- top: 60px;
-}
-
+.entity-editor-pane .inspector-body,
.selection-list-pane .inspector-body {
top: 60px;
}
font-weight: bold;
}
-/* Feature list */
+/* Feature List / Search Results
+------------------------------------------------------- */
.feature-list {
- width:100%;
+ width: 100%;
}
-
.no-results-item,
.geocode-item,
.feature-list-item {
border-radius: 0;
}
+.geocode-item {
+ width: 50%;
+ background-color: #ccc;
+ left: 25%;
+ margin-top: 30px;
+ border-radius: 2px;
+}
+
+.geocode-item:hover {
+ background-color: #aaa;
+}
+
.feature-list-item {
- background-color: white;
+ background-color: #fff;
font-weight: bold;
height: 40px;
line-height: 20px;
}
-
.feature-list-item:hover {
background-color: #ececec;
}
-
.feature-list-item button {
background: transparent;
}
-
.feature-list-item .label {
text-align: left;
padding: 10px 10px;
.feature-list-item .label .icon {
opacity: .5;
}
-
.feature-list-item .close {
float: right;
padding: 10px;
}
-
.feature-list-item .close .icon {
opacity: 1;
}
-
.feature-list-item .entity-type {
- color:#7092ff;
+ color: #7092ff;
}
-
.feature-list-item:hover .entity-type {
- color:#597be7;
+ color: #597be7;
}
-
.feature-list-item .entity-name {
font-weight: normal;
color: #666;
}
-/* Presets
+/* Preset List and Icons
------------------------------------------------------- */
-
-/* Preset grid */
-
.preset-list {
- width:100%;
+ width: 100%;
padding: 20px 20px 10px 20px;
border-bottom: 1px solid #ccc;
}
}
.preset-list-button .label {
+ display: flex;
+ flex-flow: row wrap;
+ align-items: center;
background-color: #f6f6f6;
text-align: left;
position: absolute;
right: 0;
padding: 5px 10px;
left: 60px;
- line-height: 50px;
- white-space: nowrap;
- text-overflow: ellipsis;
- overflow: hidden;
border-left: 1px solid rgba(0, 0, 0, .1);
border-radius: 0 3px 3px 0;
}
border-radius: 3px 0 0 3px;
}
-.preset-list-button:hover .label {
+.preset-list-button .label-inner {
+ width: 100%;
+}
+.preset-list-button .label-inner .namepart {
+ height: 17px;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ padding-right: 30px;
+}
+[dir='rtl'] .preset-list-button .label-inner .namepart {
+ padding-right: 0;
+ padding-left: 30px;
+}
+
+.preset-list-button:hover .label,
+.preset-list-button:focus .label {
background-color: #ececec;
}
top: 0;
right: 0;
width: 32px;
- background: #fafafa;
+ background: #f6f6f6;
}
[dir='rtl'] .preset-list-item button.tag-reference-button {
left: 0;
.preset-list-item button.tag-reference-button:hover {
background: #f1f1f1;
}
-
.preset-list-item button.tag-reference-button .icon {
opacity: .5;
}
+img.tag-reference-wiki-image {
+ float: right;
+ width: 33.3333%;
+ width: -webkit-calc(33.3333% - 10px);
+ width: calc(33.3333% - 10px);
+ border-radius: 4px;
+ max-height: 200px;
+ margin: 10px 5px 15px 20px;
+}
+
+
.current .preset-list-button,
.current .preset-list-button .label {
- background-color: #E8EBFF;
+ background-color: #e8ebff;
}
.category .preset-list-button:after,
}
-/* preset form basics */
-
+/* Entity/Preset Editor
+------------------------------------------------------- */
.preset-editor {
overflow: hidden;
padding-bottom: 10px;
}
-
.preset-editor a.hide-toggle {
margin: 0 20px 5px 20px;
}
-
.preset-editor .form-fields-container {
padding: 10px;
margin: 0 10px 10px 10px;
border-radius: 8px;
}
-
.preset-editor .form-fields-container:empty {
display: none;
}
-
.entity-editor-pane .preset-list-item .preset-list-button-wrap {
margin-bottom: 0;
}
+/*
+ The parts of a field:
+ - `.form-field` is a `div` wraps the entire thing
+ - `.form-field-label` is a `label` that wraps the top part, it contains;
+ - `span` classed `label-text`
+ - 0..n buttons for "remove", "modified", "tag reference"
+ - `.form-field-input-wrap` is a `label` or `div` that wraps the bottom part, it contains;
+ - usually an `input`
+ - sometimes some buttons (translate, increment, decrement)
+ - or could just be a `div` with anything really
+ - `.tag-reference-body` at the bottom (usually hidden)
+
+ .------------------. -
+ | Name | i | <- .form-field-label |
+ +------------------+ |
+ | Starbucks | + | <- .form-field-input-wrap > .form-field
+ '------------------' |
+ tag reference <- .tag-reference-body |
+ -
+*/
+
.form-field {
+ display: flex;
+ flex-flow: row wrap;
margin-bottom: 10px;
width: 100%;
-webkit-transition: margin-bottom 200ms;
margin-bottom: 0;
}
-.form-label {
+/* A `label` element that wraps the top section */
+.form-field-label {
+ display: flex;
+ flex-flow: row nowrap;
+ flex: 1 1 100%;
+ height: 30px;
position: relative;
font-weight: bold;
- border: 1px solid #cfcfcf;
- padding: 5px 0 5px 10px;
+ color: #333;
background: #f6f6f6;
- display: block;
+ border: 1px solid #ccc;
border-radius: 4px 4px 0 0;
overflow: hidden;
}
-[dir='rtl'] .form-label {
- padding: 5px 10px 5px 0;
-}
-
-.form-label-button-wrap {
- position: absolute;
- top: 0;
- right: 0;
- height: 100%;
- width: 100%;
- background: transparent;
- text-align: right;
-}
-[dir='rtl'] .form-label-button-wrap {
- text-align: left;
-}
-
-.form-label-button-wrap .tag-reference-button {
- border-radius: 0 3px 0 0;
+.form-field-label .label-text {
+ flex: 1 1 auto;
+ padding: 5px 0 5px 10px;
}
-
-.form-label-button-wrap .icon {
- opacity: .5;
+[dir='rtl'] .form-field-label .label-text {
+ padding: 5px 10px 5px 0;
}
-.form-label button {
+.form-field-label button {
+ flex: 0 0 32px;
border-left: 1px solid #ccc;
width: 32px;
height: 100%;
border-radius: 0;
background: #f6f6f6;
}
-[dir='rtl'] .form-label button {
+[dir='rtl'] .form-field-label button {
border-left: none;
border-right: 1px solid #ccc;
- border-radius: 4px 0 0 0;
- width: 31px;
}
-.form-label button:hover {
+.form-field-label button:hover {
background: #f1f1f1;
}
+.form-field-label .icon {
+ opacity: .5;
+}
-.form-label .modified-icon,
-.form-field .remove-icon {
+.form-field-label .modified-icon,
+.form-field-label .remove-icon {
display: none;
}
-
-.modified .form-label .modified-icon,
-.present .form-label .remove-icon {
+.modified .form-field-label .modified-icon,
+.present .form-field-label .remove-icon {
display: inline-block;
}
-.form-field > input,
-.form-field > textarea,
-.form-field .preset-input-wrap {
- border: 1px solid #ccc;
+/* A `div` element that wraps the bottom section */
+.form-field-input-wrap {
+ display: flex;
+ flex-flow: row nowrap;
+ flex: 1 1 100%;
min-height: 30px;
border-top: 0;
border-radius: 0 0 4px 4px;
- overflow: hidden;
- position: relative;
-}
-
-.form-field textarea {
- height: 65px;
}
-
-.inspector-border {
- border-bottom: 1px solid #ccc
+.nowrap .form-field-input-wrap {
+ border-radius: 0;
}
-/* Preset form (hover mode) */
-.inspector-hover .checkselect label:last-of-type,
-.inspector-hover .preset-input-wrap .label,
-.inspector-hover .form-field-multicombo,
-.inspector-hover .structure-extras-wrap,
-.inspector-hover input,
-.inspector-hover textarea,
-.inspector-hover label {
- background: #ececec;
+.form-field-input-wrap > input,
+.form-field-input-wrap > label,
+.form-field-input-wrap > textarea,
+.form-field-input-wrap > ul.chiplist {
+ flex: 1 1 auto;
+ min-height: 30px;
+ border: 1px solid #ccc;
+ border-top: 0;
+ border-radius: 0;
+ overflow: hidden;
+ position: relative;
}
-
-.inspector-hover a,
-.inspector-hover .form-field-multicombo .chips,
-.inspector-hover .checkselect label:last-of-type {
- color: #666;
+.form-field-input-wrap > textarea {
+ height: 65px;
+ border-radius: 0 0 4px 4px;
}
-.inspector-hover .form-field-multicombo .chips {
- background: #eee;
+/* Buttons inside fields */
+.form-field-button {
+ flex: 0 0 32px;
+ height: 30px;
+ width: 32px;
+ position: relative;
+ background-color: #fff;
border: 1px solid #ccc;
+ border-radius: 0;
+ border-top-width: 0;
+ border-left-width: 0;
+ vertical-align: top;
}
-
-/* hide and remove from layout */
-.inspector-hidden,
-.inspector-hover label input[type="checkbox"],
-.inspector-hover label input[type="radio"],
-.inspector-hover .toggle-list label,
-.inspector-hover .toggle-list label span,
-.inspector-hover .inspector-inner .add-tag,
-.inspector-hover .inspector-inner .add-relation,
-.inspector-hover .form-field-multicombo .combobox-input,
-.inspector-hover .toggle-list label.remove .icon {
- height: 0;
- width: 0;
- overflow: hidden;
- opacity: 0 !important;
- border-width: 0;
- margin: 0;
- padding: 0;
+[dir='rtl'] .form-field-button {
+ border-left-width: 1px;
+ border-right-width: 0;
}
-
-/* hide but preserve in layout */
-.inspector-hover .entity-editor-pane button.minor,
-.inspector-hover .combobox-caret,
-.inspector-hover .entity-editor-pane .header button,
-.inspector-hover .spin-control,
-.inspector-hover .form-field-multicombo .chips .remove,
-.inspector-hover .hide-toggle:before,
-.inspector-hover .more-fields,
-.inspector-hover .form-label-button-wrap,
-.inspector-hover .tag-reference-button,
-.inspector-hover .view-on-osm {
- opacity: 0;
+.form-field-button:hover {
+ background-color: #f1f1f1;
}
-
-/* Styles for raw tag inspector on hover */
-.inspector-hover .tag-row .key-wrap,
-.inspector-hover .tag-row .form-field.input-wrap-position {
- width: 50%;
+.form-field-button .icon {
+ fill: #333;
+ opacity: .5;
}
-.inspector-hover .tag-row:first-child input.value {
- border-top-right-radius: 4px;
-}
-[dir='rtl'] .inspector-hover .tag-row:first-child input.value {
- border-top-right-radius: 0;
- border-top-left-radius: 4px;
-}
-.inspector-hover .tag-row:last-child input.value {
+/* round corners of first/last child elements */
+.form-field-input-wrap > button:last-of-type {
border-bottom-right-radius: 4px;
}
-[dir='rtl'] .inspector-hover .tag-row:last-child input.value {
- border-bottom-right-radius: 0;
- border-bottom-left-radius: 4px;
-}
-
-.inspector-hover .tag-row:last-child input.key {
+[dir='rtl'] .form-field-input-wrap > button:last-of-type {
border-bottom-left-radius: 4px;
}
-[dir='rtl'] .inspector-hover .tag-row:last-child input.key {
- border-bottom-left-radius: 0;
- border-bottom-right-radius: 4px;
-}
-
-.inspector-hover .more-fields {
- max-height: 0;
- margin-bottom: -10px;
-}
-
-/* Unstyle button fields */
-.inspector-hover .toggle-list label.active,
-.inspector-hover .entity-editor-pane a.hide-toggle {
- opacity: 1;
- background-color: transparent;
- color: #666;
- padding-left: 0;
- border-width: 0;
-}
-.inspector-hover .toggle-list button.active {
- padding-left: 10px;
-}
-/* Add placeholder only on hover for radio buttons */
-.inspector-hover .toggle-list .placeholder {
- color: #a9a9a9;
- padding: 5px 10px;
- opacity: 1;
- line-height: 20px;
- width: 100%;
+/* Field - Access, Cycleway
+------------------------------------------------------- */
+.form-field-input-access,
+.form-field-input-cycleway {
+ flex: 1 1 auto;
+ display: flex;
+ flex-flow: row wrap;
}
-/* Hide placeholder for radio buttons if another is active, or not in hover state */
-.toggle-list label.active ~ .placeholder,
-.toggle-list .placeholder {
- padding: 0;
- opacity: 0;
- width: 0;
- line-height: 0;
- display: block;
+/* Field - lists with labeled input items
+------------------------------------------------------- */
+.form-field ul.labeled-inputs {
+ flex: 1 1 auto;
+ border: 1px solid #ccc;
+ border-top: 0;
+ border-radius: 0 0 4px 4px;
overflow: hidden;
+ width: 100%;
}
-
-/* adding additional preset fields */
-
-.more-fields {
- padding: 0 20px 20px 20px;
- font-weight: bold;
-}
-.changeset-editor .more-fields {
- padding: 15px 20px 0 20px;
-}
-
-.more-fields label {
+.form-field ul.labeled-inputs li {
+ border-top: 1px solid #ccc;
display: flex;
flex-flow: row nowrap;
- justify-content: space-between;
- align-items: center;
-}
-
-.more-fields input {
- margin-left: 10px;
- flex: 1 1 50%;
-}
-[dir='rtl'] .more-fields input {
- margin-left: auto;
- margin-right: 10px;
-}
-
-.preset-input-wrap .label {
- height: 30px;
- background: #F6F6F6;
- padding: 5px 10px;
-}
-
-[dir='rtl'] .preset-input-wrap .col6 {
- float: right;
}
-
-
-/* preset form access */
-/* preset form cycleway */
-/* preset form structure extras */
-
-.structure-extras-wrap li,
-.form-field-cycleway .preset-input-wrap li,
-.form-field-access .preset-input-wrap li {
- border-bottom: 1px solid #ccc;
+.form-field ul.labeled-inputs li:first-child {
+ border-top: 0;
}
-.structure-extras-wrap li:last-child,
-.form-field-cycleway .preset-input-wrap li:last-child,
-.form-field-access .preset-input-wrap li:last-child {
- border-bottom: 0;
+.form-field ul.labeled-inputs li > span,
+.form-field ul.labeled-inputs li > div {
+ flex: 1 1 auto;
+ width: 100%;
+ border-radius: 0;
}
-.structure-input-type-wrap input,
-.structure-input-layer-wrap input,
-.preset-input-cycleway-wrap input,
-.preset-input-access-wrap input {
+.form-field ul.labeled-inputs li input {
border-radius: 0;
+ width: 100%;
+}
+.form-field ul.labeled-inputs li input,
+.form-field ul.labeled-inputs li button {
border-width: 0;
border-left-width: 1px;
}
-[dir='rtl'] .structure-input-type-wrap input,
-[dir='rtl'] .structure-input-layer-wrap input,
-[dir='rtl'] .preset-input-cycleway-wrap input,
-[dir='rtl'] .preset-input-access-wrap input {
+[dir='rtl'] .form-field ul.labeled-inputs li input,
+[dir='rtl'] .form-field ul.labeled-inputs li button {
border-left-width: 0;
border-right-width: 1px;
}
-.preset-input-wrap li:last-child input {
- border-bottom-right-radius: 4px;
-}
+/* Field - Structure
+------------------------------------------------------- */
.structure-extras-wrap {
+ width: 100%;
padding: 10px 10px;
background: #fff;
+ border: 1px solid #ccc;
+ border-top: 0px;
+ border-radius: 0 0 4px 4px;
}
-.structure-extras-wrap ul {
+.structure-extras-wrap > ul.labeled-inputs {
border: 1px solid #ccc;
border-radius: 4px;
}
-.structure-extras-wrap li:first-child span {
- border-top-left-radius: 4px;
+
+
+/* Field - Combo / Multicombo
+------------------------------------------------------- */
+.form-field-input-combo > input:only-of-type {
+ border-radius: 0 0 4px 4px;
}
-.structure-extras-wrap li:first-child input {
- border-top-right-radius: 4px;
+
+.form-field-input-multicombo ul.chiplist {
+ padding: 5px 0 5px 10px;
+ background: #fff;
+ display: block;
+ border-radius: 0 0 4px 4px;
}
-.structure-extras-wrap li:last-child span {
- border-bottom-left-radius: 4px;
-}
-.structure-extras-wrap li:last-child input {
- border-bottom-right-radius: 4px;
-}
-[dir='rtl'] .structure-extras-wrap li:first-child span {
- border-top-left-radius: 0;
- border-top-right-radius: 4px;
-}
-[dir='rtl'] .structure-extras-wrap li:first-child input {
- border-top-right-radius: 0;
- border-top-left-radius: 4px;
-}
-[dir='rtl'] .structure-extras-wrap li:last-child span {
- border-bottom-left-radius: 0;
- border-bottom-right-radius: 4px;
-}
-[dir='rtl'] .structure-extras-wrap li:last-child input {
- border-bottom-right-radius: 0;
- border-bottom-left-radius: 4px;
-}
-
-/* preset form multicombo */
-
-.form-field-multicombo {
- border: 1px solid #cfcfcf;
- border-top: 0px;
- padding: 5px 0 5px 10px;
- background: #fff;
- display: block;
- border-radius: 0 0 4px 4px;
- overflow: hidden;
-}
-
-.form-field-multicombo:focus {
- border-bottom: 0px;
-}
-
-.form-field-multicombo.active {
- border-bottom-left-radius: 0px;
- border-bottom-right-radius: 0px;
-}
-
-.form-field-multicombo li {
+.form-field-input-multicombo li.chips {
display: inline-flex;
flex-flow: row nowrap;
align-items: center;
margin: 3px;
}
-.form-field-multicombo a {
+.form-field-input-multicombo a {
font-family: Arial, Helvetica, sans-serif !important;
font-size: 16px !important;
line-height: 24px;
color: #a6b4ce;
}
-.form-field-multicombo input {
+.form-field-input-multicombo input {
border: 1px solid #ddd;
width: 100px;
margin: 3px;
height: 31px;
}
-.form-field-multicombo .combobox-caret {
+.form-field-input-multicombo .combobox-caret {
margin: 3px 3px 3px -30px;
}
-.form-field-multicombo input:focus {
+.form-field-input-multicombo input:focus {
border-radius: 4px !important;
}
-/* preset form numbers */
-
-input[type=number] {
- position: relative;
- padding-right: 20%;
-}
-
-.spin-control {
- width: 64px;
- height: 30px;
- display: inline-block;
- margin-left: -64px;
- margin-bottom: -11px;
- position: relative;
-}
-[dir='rtl'] .spin-control{
- margin-left: 0;
- margin-right: -64px;
-}
-
-.spin-control button {
- right: 1px;
- position: relative;
- float: left;
- height: 100%;
- width: 32px;
- border-left: 1px solid #ccc;
- border-radius: 0;
- background: rgba(0, 0, 0, 0);
+/* Field - Text / Numeric
+------------------------------------------------------- */
+.form-field-input-text > input:only-of-type,
+.form-field-input-tel > input:only-of-type,
+.form-field-input-email > input:only-of-type,
+.form-field-input-url > input:only-of-type {
+ border-radius: 0 0 4px 4px;
}
-[dir='rtl'] .spin-control button{
- border-left: 0;
- border-right: 1px solid #ccc;
+.form-field-input-number > input:only-of-type {
+ border-radius: 0 0 0 4px;
}
-
-.spin-control button.decrement {
- border-bottom-right-radius: 3px;
+[dir='rtl'] .form-field-input-number > input:only-of-type {
+ border-radius: 0 0 4px 0;
}
-[dir='rtl'] .spin-control button.decrement {
- border-bottom-right-radius: 0;
+.form-field-input-number > button:last-of-type {
+ border-radius: 0 0 4px 0;
}
-[dir='rtl'] .spin-control button.increment {
- border-bottom-left-radius: 3px;
- right: 0;
+[dir='rtl'] .form-field-input-number > button:last-of-type {
+ border-radius: 0 0 0 4px;
}
-.spin-control button.decrement::after,
-.spin-control button.increment::after {
- content:"";
+/* draw the up/down on the buttons */
+.form-field-input-number button.decrement::after,
+.form-field-input-number button.increment::after {
+ content: "";
height: 0; width: 0;
position: absolute;
left: 0; right: 0; bottom: 0; top: 0;
margin: auto;
}
-
-.spin-control button.decrement::after {
+.form-field-input-number button.decrement::after {
border-top: 5px solid #ccc;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
}
-
-.spin-control button.increment::after {
+.form-field-input-number button.increment::after {
border-bottom: 5px solid #ccc;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
}
-/* preset form checkbox */
-
-.checkselect label:last-of-type {
- display: block;
- background: white;
+/* Field - Checkbox
+------------------------------------------------------- */
+.form-field-input-check {
+ display: flex;
+ align-items: end;
+ background: #fff;
padding: 5px 10px;
color: #7092ff;
+ border: 1px solid #ccc;
+ border-top: 0;
+ cursor: pointer;
}
-
-.checkselect label:hover {
- background: #f1f1f1;
-}
-
-.checkselect .set {
- color: inherit;
+.form-field-input-check > input[type="checkbox"] {
+ flex: 0 1 auto;
+ min-height: 20px;
+ width: 20px;
}
-
-.checkselect label:not(.set) input[type="checkbox"] {
- opacity: .5;
+.form-field-input-check > span {
+ flex: 1 1 auto;
}
-
-.checkselect .reverser.button {
- display: block;
- float: right;
+.form-field-input-check > .reverser.button {
+ flex: 0 1 auto;
background-color: #eff2f7;
border: 1px solid #ccd5e3;
border-radius: 2px;
padding: 0px 8px;
}
-[dir='rtl'] .checkselect .reverser.button {
- float: left;
-}
-.checkselect .reverser.button.hide {
+.form-field-input-check > .reverser.button.hide {
display: none;
}
-/* Preset form radio button */
-
-.toggle-list button.remove {
- border-radius: 0 0 3px 3px;
+.form-field-input-check:hover {
+ background: #f1f1f1;
+}
+.form-field-input-check .set {
+ color: inherit;
+}
+.form-field-input-check label:not(.set) input[type="checkbox"] {
+ opacity: .5;
}
-.toggle-list button.remove .icon {
- position: absolute;
- left: 5px;
+
+/* Field - Radio button
+------------------------------------------------------- */
+.form-field-input-radio {
+ flex: 1 1 auto;
+ display: flex;
+ flex-flow: row wrap;
+}
+.form-field-input-radio > label {
+ flex: 1 1 auto;
+ display: flex;
+ flex-flow: row nowrap;
+ width: 100%;
+ padding: 5px 10px;
+ height: 30px;
+ background-color: #fff;
+ color: #7092ff;
+ cursor: pointer;
+}
+.form-field-input-radio > label:last-child {
+ border-radius: 0 0 4px 4px;
+}
+.form-field-input-radio > label:hover {
+ background-color: #ececec;
+}
+.form-field-input-radio > label.active {
+ background-color: #e8ebff;
+}
+.form-field-input-radio > label:not(:last-of-type) {
+ border-bottom: 1px solid #ccc;
+}
+.form-field-input-radio > label > input[type="radio"] {
+ flex: 0 1 auto;
+ width: 20px;
+}
+.form-field-input-radio > label > span {
+ flex: 1 1 auto;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
}
-.toggle-list button.remove::before {
- content: none;
+/* Hide placeholder for radio buttons if another is active, or not in hover state */
+.form-field-input-radio label.active ~ .placeholder,
+.form-field-input-radio .placeholder {
+ padding: 0;
+ opacity: 0;
+ width: 0;
+ line-height: 0;
+ display: block;
+ overflow: hidden;
}
-#preset-input-maxspeed_advisory,
-#preset-input-maxspeed {
- border-right: none;
+
+/* Field - Maxspeed
+------------------------------------------------------- */
+.form-field-input-maxspeed > input:first-of-type {
border-radius: 0 0 0 4px;
- width: 80%;
}
-[dir='rtl'] #preset-input-maxspeed_advisory,
-[dir='rtl'] #preset-input-maxspeed {
- border-right: 1px solid #ccc;
+[dir='rtl'] .form-field-input-maxspeed > input:first-of-type {
border-radius: 0 0 4px 0;
}
-
-.form-field .maxspeed-unit {
+.form-field-input-maxspeed > input:last-of-type { /* unit field */
+ flex: 0 1 80px;
+ width: 80px;
+ border-left: 0;
border-radius: 0 0 4px 0;
- width: 20%;
}
-[dir='rtl'] .form-field .maxspeed-unit {
+[dir='rtl'] .form-field-input-maxspeed > input:last-of-type {
border-right: 0;
border-radius: 0 0 0 4px;
}
-/* Wikipedia field */
-.form-field .wiki-lang {
- border-radius: 0;
-}
-.form-field .wiki-title {
- padding-right: 20%;
-}
-[dir='rtl'] .form-field .wiki-title {
- padding-left: 20%;
- padding-right: 10px;
-}
-
-.form-field .wiki-title ~ .combobox-caret {
- right: 32px;
-}
-[dir='rtl'] .form-field .wiki-title ~ .combobox-caret {
- right: auto;
- left: 32px;
-}
-/* Localized field */
-.form-field .localized-main {
- padding-right: 12%;
+/* Field - Localized Name
+------------------------------------------------------- */
+.form-field-input-localized > input.localized-main {
+ border-radius: 0 0 0 4px;
}
-[dir='rtl'] .form-field .localized-main {
- padding-left: 12%;
- padding-right: 10px;
+[dir='rtl'] .form-field-input-localized > input.localized-main {
+ border-radius: 0 0 4px 0;
}
-
-.form-field .button-input-action {
- position: relative;
- right: 1px;
- width: 32px;
- margin-left: -32px;
- border: 1px solid #ccc;
- border-top-width: 0;
- border-right-width: 0;
+.form-field-input-localized > button.localized-add {
border-radius: 0 0 4px 0;
- height: 30px;
- vertical-align: top;
}
-[dir='rtl'] .form-field .button-input-action {
- margin-left: 0;
- margin-right: -32px;
- border-right-width: 1px;
+[dir='rtl'] .form-field-input-localized > button.localized-add {
border-radius: 0 0 0 4px;
}
-.form-field .localized-wrap {
- padding: 0 10px;
+.form-field-input-localized button.localized-add.disabled,
+.form-field-input-localized input.localized-main.disabled,
+.form-field-input-localized input.localized-lang.disabled,
+.form-field-input-localized input.localized-value.disabled {
+ color: #777;
+ background-color: #eee;
+ cursor: not-allowed;
}
-.form-field .localized-wrap .entry {
+/* nested subfields for name in different languages */
+.localized-multilingual {
+ padding: 0 10px;
+ flex-basis: 100%;
+}
+.localized-multilingual .entry {
position: relative;
overflow: hidden;
}
-.form-field .localized-wrap .entry::before {
+/* draws a little line connecting the multilingual field up to the name field */
+.localized-multilingual .entry::before {
content: "";
display: block;
position: absolute;
margin: auto;
}
-.form-field .localized-wrap .entry .localized-lang {
+.localized-multilingual .entry .localized-lang {
border-radius: 0;
border-top-width: 0;
+ width: 100%;
}
-
-.form-field .localized-wrap .entry .localized-value {
+.localized-multilingual .entry .localized-value {
border-top-width: 0;
border-radius: 0 0 4px 4px;
+ width: 100%;
}
-.form-field .localized-wrap .form-label button {
- border-top-right-radius: 3px;
+
+/* Field - Address
+------------------------------------------------------- */
+.form-field-input-address {
+ flex: 1 1 auto;
+ display: flex;
+ flex-flow: row wrap;
+ border: 1px solid #ccc;
+ border-top: 0px;
}
-/* Preset form address */
+.addr-row {
+ flex: 1 1 auto;
+ display: flex;
+ width: 100%;
+ min-height: 30px;
+}
-.addr-row input {
+.addr-row > input {
+ flex: 1 1 auto;
+ border-radius: 0;
border-right: 0;
border-bottom: 0;
}
.addr-row:first-of-type input {
border-top: 0;
}
-
.addr-row input:first-of-type {
border-left: 0;
}
[dir='rtl'] .addr-row input:first-of-type {
border-right: 0;
}
-
-.addr-row input {
- border-radius: 0;
-}
-
.addr-row:last-of-type input:first-of-type {
border-radius: 0 0 0 4px;
}
[dir='rtl'] .addr-row:last-of-type input:first-of-type {
border-radius: 0 0 4px 0;
}
-
.addr-row:last-of-type input:last-of-type {
border-radius: 0 0 4px 0;
}
border-radius: 0 0 0 4px;
}
-/* Restrictions editor */
-.form-field-restrictions .restriction-controls-container {
+/* Field - Wikipedia
+------------------------------------------------------- */
+.form-field-input-wikipedia {
+ display: flex;
+ flex-flow: row wrap;
+ flex: 1 1 auto;
+}
+
+.wiki-lang-container,
+.wiki-title-container {
+ display: flex;
+ flex-flow: row nowrap;
+ flex: 1 1 auto;
+ width: 100%;
+}
+
+.wiki-lang-container > input.wiki-lang,
+.wiki-title-container > input.wiki-title {
+ flex: 1 1 auto;
+ border-top: 0;
+ border-radius: 0;
+}
+.wiki-title-container > input.wiki-title {
+ border-radius: 0 0 0 4px;
+}
+[dir='rtl'] .wiki-title-container > input.wiki-title {
+ border-radius: 0 0 4px 0;
+}
+.wiki-title-container > button.wiki-link {
+ border-radius: 0 0 4px 0;
+}
+[dir='rtl'] .wiki-title-container > button.wiki-link {
+ border-radius: 0 0 0 4px;
+}
+
+
+/* Field - Restriction Editor
+------------------------------------------------------- */
+.form-field-input-restrictions {
+ display: block;
+ border: 1px solid #ccc;
+ border-top: 0;
+ border-radius: 0 0 4px 4px;
+}
+
+.form-field-input-restrictions .restriction-controls-container {
background-color: #fff;
- border-top: 1px solid #ccc;
width: 100%;
padding: 5px;
+ border-top: 1px solid #ccc;
+ border-radius: 0 0 4px 4px;
}
.restriction-controls-container .restriction-controls {
vertical-align: middle;
}
-.form-field-restrictions .restriction-container {
+.form-field-input-restrictions .restriction-container {
position: relative;
height: 370px;
}
/* zero width space, so container takes up space */
-.form-field-restrictions .restriction-container:after {
+.form-field-input-restrictions .restriction-container:after {
content: '\200b';
}
-.form-field-restrictions svg.surface {
+.form-field-input-restrictions svg.surface {
width: 100%;
height: 100%;
}
color: #78f;
}
-/* Changeset editor while comment text is empty */
+/* Field - Changeset Comment
+------------------------------------------------------- */
.form-field-comment:not(.present) #preset-input-comment {
border-color: rgb(230, 100, 100);
}
-
-.form-field-comment:not(.present) .form-label {
+.form-field-comment:not(.present) .form-field-label {
border-color: rgb(230, 100, 100);
background: rgba(230, 100, 100, 0.2);
}
-
-.form-field-comment:not(.present) .form-label {
-}
-
-.form-field-comment:not(.present) .form-label-button-wrap {
- border-color: rgb(230, 100, 100);
-}
-
.form-field-comment:not(.present) button {
border-color: rgb(230, 100, 100);
}
-/* combobox dropdown */
+/* Field - Combobox
+------------------------------------------------------- */
div.combobox {
z-index: 9999;
display: none;
box-shadow: 0 4px 10px 1px rgba(0,0,0,.2);
margin-top: -1px;
- background: white;
+ background: #fff;
max-height: 245px;
overflow-y: auto;
overflow-x: hidden;
width: 30px;
margin-left: -30px;
vertical-align: top;
+ cursor: pointer;
}
[dir='rtl'] .combobox-caret {
margin-left: 0;
border-right: 5px solid transparent;
}
-/* Field Help */
+/* Remove the field's bottom border radius when combobox is open */
+/* For some reason this stops the combobox from overlapping the bottom of the field */
+.combobox + * textarea:focus,
+.combobox + * input:focus {
+ border-bottom-left-radius: 0 !important;
+ border-bottom-right-radius: 0 !important;
+}
+
+/* Field Help
+------------------------------------------------------- */
.field-help-body {
display: block;
position: absolute;
}
.field-help-nav-item.active {
color: #7092ff;
+ border-bottom: 2px solid;
}
.field-help-nav-item:hover {
color: #597be7;
}
-/* Raw Tag Editor */
-
-.tag-list {
- padding-top: 10px;
+/* More Fields dropdown
+------------------------------------------------------- */
+.more-fields {
+ padding: 0 20px 20px 20px;
+ font-weight: bold;
}
-
-.tag-row {
- width: 100%;
- position: relative;
- clear: both;
+.changeset-editor .more-fields {
+ padding: 15px 20px 0 20px;
+}
+
+.more-fields label {
+ display: flex;
+ flex-flow: row nowrap;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.more-fields input {
+ margin-left: 10px;
+ flex: 1 1 50%;
+}
+[dir='rtl'] .more-fields input {
+ margin-left: auto;
+ margin-right: 10px;
+}
+
+.form-field-input-wrap .label {
+ height: 30px;
+ background: #f6f6f6;
+ padding: 5px 10px;
+}
+
+
+/* Raw Tag Editor
+------------------------------------------------------- */
+.tag-list {
+ padding-top: 10px;
+}
+.tag-row {
+ width: 100%;
+ position: relative;
+}
+.tag-row .inner-wrap {
+ display: flex;
+ flex-flow: row nowrap;
+ width: 100%;
+ position: relative;
+}
+.tag-row .key-wrap,
+.tag-row .value-wrap {
+ flex: 1 1 auto;
}
.tag-row.readonly,
.tag-row.readonly input.key,
.tag-row.readonly input.value,
.tag-row.readonly button.remove {
- color: #777777;
+ color: #777;
background-color: #eee;
cursor: not-allowed;
}
border-radius: 0;
border-bottom: 1px solid #ccc;
border-left: 1px solid #ccc;
+ width: 100%;
}
[dir='rtl'] .tag-row input {
border-left: none;
border-right: 1px solid #ccc;
}
-.tag-row .key-wrap,
-.tag-row .input-wrap-position {
- width: 40%;
- float: left;
- height: 30px;
-}
-[dir='rtl'] .tag-row .key-wrap,
-[dir='rtl'] .tag-row .input-wrap-position {
- float: right;
-}
.tag-row input.key {
font-weight: bold;
.tag-row:first-child input.value {
border-top: 1px solid #ccc;
}
-
.tag-row button {
- position: absolute;
+ flex: 0 0 32px;
height: 31px;
- right: 10%;
+ width: 32px;
border: 1px solid #ccc;
border-top-width: 0;
border-left-width: 0;
}
[dir='rtl'] .tag-row button {
- left: 10%;
border-left-width: 1px;
border-right-width: 0;
}
.tag-row button:hover {
background: #f1f1f1;
}
-
.tag-row button .icon {
opacity: .5;
}
-
.tag-row:first-child button {
border-top-width: 1px;
}
}
.tag-row .tag-reference-button {
- right: 0;
border-radius: 0;
- width: 10%;
- top: 0;
- background: #fafafa;
}
[dir='rtl'] .tag-row .tag-reference-button {
- left: auto;
- right: auto;
- margin-right: 35px;
border-left-width: 1px;
border-right-width: 0;
}
/* Adding form fields to tag editor */
-
.raw-tag-editor .add-tag {
width: 40%;
height: 30px;
background: rgba(0,0,0,.5);
border-radius: 0 0 4px 4px;
}
-
+.raw-tag-editor .add-tag:focus,
.raw-tag-editor .add-tag:hover {
background: rgba(0,0,0,.8);
}
-
.raw-tag-editor .add-tag .label {
display: none;
}
/* Tag reference */
-
-button.minor.tag-reference-loading {
+.tag-reference-loading {
background-color: #f5f5f5;
}
-
.tag-reference-loading .icon {
background-image: url(<%= asset_path("iD/img/mini-loader.gif") %>);
background-position: 0 0;
}
.tag-reference-body {
+ flex: 1 1 auto;
+ width: 100%;
overflow: hidden;
- clear: both;
}
-
.tag-reference-body .tag-reference-description {
margin: 10px 5px 0 5px;
}
-
.tag-reference-body a {
display: block;
}
-
.tag-reference-body .tag-reference-description:last-child,
.tag-reference-body a:last-child {
margin-bottom: 15px;
position: relative;
width: 100%;
}
-
.raw-tag-editor .tag-reference-body {
- float: left;
width: 100%;
}
-
.raw-tag-editor .tag-row.readonly .tag-reference-body {
background: #f6f6f6;
color: #333;
}
-
-.raw-tag-editor .tag-row:not(:last-child) .tag-reference-body {
+.raw-tag-editor .tag-row:not(:last-child) .tag-reference-body.expanded {
border-bottom: 1px solid #ccc;
}
-
.raw-tag-editor .tag-row.readonly .tag-reference-body.expanded {
border-top: 1px solid #ccc;
}
-img.tag-reference-wiki-image {
- float: right;
- width: 33.3333%;
- width: -webkit-calc(33.3333% - 10px);
- width: calc(33.3333% - 10px);
- border-radius: 4px;
- max-height: 200px;
- margin: 10px 5px 15px 20px;
-}
-
-
-/* Raw relation membership editor */
+/* Raw Member / Membership Editor
+------------------------------------------------------- */
.raw-member-editor .member-list li:first-child,
.raw-membership-editor .member-list li:first-child {
padding-top: 10px;
}
-
-.raw-member-editor .member-row,
-.raw-membership-editor .member-row {
- position: relative;
-}
-
.raw-member-editor .member-row .member-entity-name,
.raw-membership-editor .member-row .member-entity-name {
font-weight: normal;
padding-left: 10px;
}
+.form-field-input-member > input.member-role {
+ border-radius: 0 0 0 4px;
+}
+[dir='rtl'] .form-field-input-member > input.member-role {
+ border-radius: 0 0 4px 0;
+}
+
+.member-incomplete .form-field-input-member > input.member-role,
+[dir='rtl'] .member-incomplete .form-field-input-member > input.member-role {
+ border-radius: 0 0 4px 4px;
+}
+
.member-incomplete .member-delete {
display: none;
}
-.member-row-new .member-entity-input {
- border-radius: 4px 4px 0 0;
- border: 1px solid #cfcfcf;
+.member-row-new .member-entity-input {
+ flex: 1 1 100%;
+ border-radius: 4px 4px 0 0;
+ border: 0;
+}
+
+.add-relation {
+ width: 40%;
+ height: 30px;
+ background: rgba(0,0,0,.5);
+ border-radius: 4px;
+ margin-top: 10px;
+}
+.add-relation:focus,
+.add-relation:hover {
+ background: rgba(0,0,0,.8);
+}
+
+/* preserve extra space at bottom of inspector to allow for dropdown options - #5280 */
+.raw-membership-editor.inspector-inner {
+ margin-bottom: 150px;
+}
+
+/* hidden field to prevent user from tabbing out of the sidebar */
+input.key-trap {
+ height: 0px;
+ width: 0px;
+ padding: 0px;
+ border: 1px solid rgba(0,0,0,0);
+}
+
+
+/* Inspector (hover styles)
+------------------------------------------------------- */
+.inspector-hover .form-field-input-wrap .label,
+.inspector-hover .form-field-input-multicombo .chiplist,
+.inspector-hover .form-field-button,
+.inspector-hover .structure-extras-wrap,
+.inspector-hover .comments-container .comment,
+.inspector-hover button,
+.inspector-hover input,
+.inspector-hover textarea,
+.inspector-hover label {
+ background: #ececec;
+}
+.inspector-hover .preset-list-button,
+.inspector-hover .tag-row input {
+ background: #f6f6f6;
+}
+
+.inspector-hover a,
+.inspector-hover .form-field-input-multicombo .chips,
+.inspector-hover .form-field-input-check span {
+ color: #666;
+}
+
+.inspector-hover .form-field-input-multicombo .chips {
+ background: #eee;
+ border: 1px solid #ccc;
+}
+
+/* no scrollbars */
+.inspector-hover div {
+ overflow-x: hidden;
+ overflow-y: hidden;
+}
+
+/* hide and remove from layout */
+.inspector-hidden,
+.inspector-hover .preset-list-button-wrap .tag-reference-button,
+.inspector-hover label input[type="checkbox"],
+.inspector-hover label input[type="radio"],
+.inspector-hover .form-field-input-multicombo .combobox-input,
+.inspector-hover .form-field-input-radio label,
+.inspector-hover .form-field-input-radio label span,
+.inspector-hover .form-field-input-radio label.remove .icon,
+.inspector-hover .inspector-inner .add-tag,
+.inspector-hover .inspector-inner .add-relation {
+ display: none;
+}
+
+/* hide but preserve in layout */
+.inspector-hover .combobox-caret,
+.inspector-hover .header button,
+.inspector-hover .form-field-input-multicombo .chips .remove,
+.inspector-hover .hide-toggle:before,
+.inspector-hover .more-fields,
+.inspector-hover .form-field-label button,
+.inspector-hover .tag-row button,
+.inspector-hover .footer * {
+ opacity: 0;
+}
+
+/* Styles for raw tag inspector on hover */
+.inspector-hover .tag-row .key-wrap,
+.inspector-hover .tag-row .value-wrap {
+ height: 31px;
+}
+
+.inspector-hover .tag-row:first-child input.value {
+ border-top-right-radius: 4px;
+}
+[dir='rtl'] .inspector-hover .tag-row:first-child input.value {
+ border-top-right-radius: 0;
+ border-top-left-radius: 4px;
+}
+
+.inspector-hover .tag-row:last-child input.value {
+ border-bottom-right-radius: 4px;
+}
+[dir='rtl'] .inspector-hover .tag-row:last-child input.value {
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 4px;
+}
+
+.inspector-hover .tag-row:last-child input.key {
+ border-bottom-left-radius: 4px;
+}
+[dir='rtl'] .inspector-hover .tag-row:last-child input.key {
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 4px;
+}
+
+.inspector-hover .more-fields {
+ max-height: 0;
+ margin-bottom: -10px;
+}
+
+/* Unstyle button fields */
+.inspector-hover .form-field-input-radio label.active,
+.inspector-hover .entity-editor-pane a.hide-toggle {
+ opacity: 1;
+ background-color: transparent;
+ color: #666;
+ padding-left: 0;
+ border-width: 0;
+}
+.inspector-hover .form-field-input-radio button.active {
+ padding-left: 10px;
+}
+
+/* Show placeholder on hover for radio buttons */
+.inspector-hover .form-field-input-radio {
+ border: 1px solid #ccc;
+ border-top: 0;
+ border-radius: 0 0 4px 4px;
+}
+.inspector-hover .form-field-input-radio .placeholder {
+ opacity: 1;
+ color: #666;
+ padding: 5px 10px;
+ line-height: 20px;
+ width: 100%;
+ border: 0;
+}
+.inspector-hover .form-field-input-radio .structure-extras-wrap {
+ border: 0;
+}
+
+
+/* OSM Note Editor
+------------------------------------------------------- */
+.note-header {
+ background-color: #f6f6f6;
+ border-radius: 5px;
+ border: 1px solid #ccc;
+ display: flex;
+ flex-flow: row nowrap;
+ align-items: center;
+}
+
+.note-header-icon {
+ background-color: #fff;
+ padding: 10px;
+ flex: 0 0 62px;
+ position: relative;
+ width: 60px;
+ height: 60px;
+ border-right: 1px solid #ccc;
+ border-radius: 5px 0 0 5px;
+}
+[dir='rtl'] .note-header-icon {
+ border-right: unset;
+ border-left: 1px solid #ccc;
+ border-radius: 0 5px 5px 0;
+}
+
+.note-header-icon .icon-wrap {
+ position: absolute;
+ top: 0px;
+}
+
+.note-header-label {
+ background-color: #f6f6f6;
+ padding: 0 15px;
+ flex: 1 1 100%;
+ font-size: 14px;
+ font-weight: bold;
+ border-radius: 0 5px 5px 0;
+}
+[dir='rtl'] .note-header-label {
+ border-radius: 5px 0 0 5px;
+}
+
+.note-category {
+ margin: 20px 0px;
+}
+
+.comments-container {
+ background: #ececec;
+ padding: 1px 10px;
+ border-radius: 8px;
+ margin-top: 20px;
+}
+
+.comment {
+ background-color: #fff;
+ border-radius: 5px;
+ border: 1px solid #ccc;
+ margin: 10px auto;
+ display: flex;
+ flex-flow: row nowrap;
+}
+.comment-avatar {
+ padding: 10px;
+ flex: 0 0 62px;
+}
+.comment-avatar .icon.comment-avatar-icon {
+ width: 40px;
+ height: 40px;
+ object-fit: cover;
+ border: 1px solid #ccc;
+ border-radius: 20px;
+}
+.comment-main {
+ padding: 10px 10px 10px 0;
+ flex: 1 1 100%;
+ flex-flow: column nowrap;
+ overflow: hidden;
+ overflow-wrap: break-word;
+}
+[dir='rtl'] .comment-main {
+ padding: 10px 0 10px 10px;
+}
+
+.comment-metadata {
+ flex-flow: row nowrap;
+ justify-content: space-between;
+}
+.comment-author {
+ font-weight: bold;
+ color: #333;
+}
+.comment-date {
+ color: #aaa;
+}
+.comment-text {
+ color: #333;
+ margin-top: 10px;
+ overflow-y: auto;
+ max-height: 250px;
+}
+.comment-text::-webkit-scrollbar {
+ border-left: none;
+}
+
+.note-save {
+ padding: 10px;
+}
+
+.note-save #new-comment-input {
+ width: 100%;
+ height: 100px;
+ max-height: 300px;
+ min-height: 100px;
+}
+
+.note-save .detail-section {
+ margin: 10px 0;
}
-.add-relation {
- width: 40%;
- height: 30px;
- background: rgba(0,0,0,.5);
- border-radius: 4px;
- margin-top: 10px;
+.note-report {
+ float: right;
}
-.add-relation:hover {
- background: rgba(0,0,0,.8);
-}
-/* hidden field to prevent user from tabbing out of the sidebar */
-input.key-trap {
- height: 0px;
- width: 0px;
- padding: 0px;
- border: 1px solid rgba(0,0,0,0);
+/* Custom Data Editor
+------------------------------------------------------- */
+.data-header {
+ background-color: #f6f6f6;
+ border-radius: 5px;
+ border: 1px solid #ccc;
+ display: flex;
+ flex-flow: row nowrap;
+ align-items: center;
}
-/* Fullscreen button */
-div.full-screen {
- float: right;
- width: 40px;
- margin-right: 10px;
+.data-header-icon {
+ background-color: #fff;
+ padding: 10px;
+ flex: 0 0 62px;
+ position: relative;
+ width: 60px;
+ height: 60px;
+ border-right: 1px solid #ccc;
+ border-radius: 5px 0 0 5px;
+}
+[dir='rtl'] .data-header-icon {
+ border-right: unset;
+ border-left: 1px solid #ccc;
+ border-radius: 0 5px 5px 0;
}
-div.full-screen .tooltip {
- min-width: 160px;
+.data-header-icon .icon-wrap {
+ position: absolute;
+ top: 0px;
}
-div.full-screen > button, div.full-screen > button.active {
- width: 40px;
- height: 40px;
- background: transparent;
+.data-header-label {
+ background-color: #f6f6f6;
+ padding: 0 15px;
+ flex: 1 1 100%;
+ font-size: 14px;
+ font-weight: bold;
+ border-radius: 0 5px 5px 0;
+}
+[dir='rtl'] .data-header-label {
+ border-radius: 5px 0 0 5px;
}
-div.full-screen > button:hover {
- background-color: rgba(0, 0, 0, .8);
+/* tag editor - no buttons */
+.data-editor.raw-tag-editor button {
+ display: none;
+}
+.data-editor.raw-tag-editor .tag-row .key-wrap,
+.data-editor.raw-tag-editor .tag-row .value-wrap {
+ width: 50%;
}
-/* Map Controls */
+/* Map Controls
+------------------------------------------------------- */
.map-controls {
right: 0;
top: 132px;
background: #7092ff;
}
-/* Zoomer */
+
+/* Fullscreen Button (disabled)
+------------------------------------------------------- */
+div.full-screen {
+ display: inline-block;
+ width: 40px;
+ margin-right: 10px;
+ display: none;
+}
+
+div.full-screen .tooltip {
+ min-width: 160px;
+}
+
+div.full-screen > button, div.full-screen > button.active {
+ width: 40px;
+ height: 40px;
+ background: transparent;
+}
+
+div.full-screen > button:hover {
+ background-color: rgba(0, 0, 0, .8);
+}
+
+
+/* Zoom Buttons
+------------------------------------------------------- */
.zoombuttons > button.zoom-in {
border-radius: 4px 0 0 0;
}
border-radius: 0 4px 0 0;
}
-/* Geolocator */
+
+/* Geolocate Button
+------------------------------------------------------- */
.geolocate-control {
margin-bottom: 10px;
}
border-radius: 0 0 4px 0;
}
-/* Pane Buttons */
+
+/* Background / Map Data / Help Pane buttons
+------------------------------------------------------- */
.help-control > button {
border-radius: 0 0 0 4px;
}
}
-/* Background / Map Data Settings */
-
+/* Background / Map Data Settings
+------------------------------------------------------- */
.map-data-control,
.background-control {
position: relative;
.layer-list li {
position: relative;
height: 30px;
- background-color: white;
+ background-color: #fff;
color: #7092ff;
}
.layer-list > li:first-child {
border-radius: 3px 3px 0 0;
}
-
.layer-list > li:last-child {
border-radius: 0 0 3px 3px;
}
-
.layer-list > li:only-child {
border-radius: 3px;
}
-
.layer-list li:not(:last-child) {
border-bottom: 1px solid #ccc;
}
-
.layer-list li:hover {
background-color: #ececec;
}
+.layer-list li.active button,
+.layer-list li.switch button,
.layer-list li.active,
.layer-list li.switch {
background: #e8ebff;
float: right;
}
-[dir='rtl'] .list-item-gpx-browse svg {
+[dir='rtl'] .list-item-data-browse svg {
transform: rotateY(180deg);
}
text-overflow: ellipsis;
}
+.map-data-control .layer-list button,
+.background-control .layer-list button {
+ float: right;
+ height: 100%;
+ width: 10%;
+ border-left: 1px solid #ccc;
+ border-radius: 0;
+}
+[dir='rtl'] .map-data-control .layer-list button,
+[dir='rtl'] .background-control .layer-list button {
+ float: left;
+ border-left: none;
+ border-right: 1px solid #ccc;
+}
+
+.map-data-control .layer-list button .icon,
+.background-control .layer-list button .icon {
+ opacity: 0.5;
+}
+
+.map-data-control .layer-list button:first-of-type,
+.background-control .layer-list button:first-of-type {
+ border-radius: 0 3px 3px 0;
+}
+[dir='rtl'] .map-data-control .layer-list button:first-of-type,
+[dir='rtl'] .background-control .layer-list button:first-of-type {
+ border-radius: 3px 0 0 3px;
+}
+
+.map-data-control .vectortile-container .vectortile-header {
+ padding-bottom: 5px;
+}
+.map-data-control .vectortile-container .vectortile-footer {
+ padding-bottom: 10px;
+}
-/* Background Display Options */
+/* Background - Display Options Sliders
+------------------------------------------------------- */
.display-options-container {
padding: 10px;
}
}
-/* Adjust Alignment controls */
-
+/* Background - Adjust Alignment
+------------------------------------------------------- */
.background-control .nudge-container {
border: 1px solid #ccc;
border-radius: 4px;
}
-.map-data-control .layer-list button,
-.background-control .layer-list button {
- float: right;
- height: 100%;
- width: 10%;
- border-left: 1px solid #ccc;
- border-radius: 0;
-}
-[dir='rtl'] .map-data-control .layer-list button,
-[dir='rtl'] .background-control .layer-list button {
- float: left;
- border-left: none;
- border-right: 1px solid #ccc;
-}
-
-.map-data-control .layer-list button .icon,
-.background-control .layer-list button .icon {
- opacity: 0.5;
-}
-
-.map-data-control .layer-list button:first-of-type,
-.background-control .layer-list button:first-of-type {
- border-radius: 0 3px 3px 0;
-}
-[dir='rtl'] .map-data-control .layer-list button:first-of-type,
-[dir='rtl'] .background-control .layer-list button:first-of-type {
- border-radius: 3px 0 0 3px;
-}
-
-/* Side panes */
-
-/*.map-data-control .map-pane,
-.background-control .map-pane,
-.help-control .map-pane {
-}
-*/
+/* Side Panes - Background / Map Data / Help
+------------------------------------------------------- */
.map-pane {
position: fixed;
top: 60px;
bottom: 30px;
right: 0;
+ width: 33.3333%;
+ max-width: 400px;
padding-bottom: 50px;
overflow: hidden;
z-index: -1;
right: auto !important;
}
+.map-pane.help-wrap {
+ width: 50.0000%;
+ max-width: 600px;
+}
+
.pane-heading {
display: flex;
flex-flow: row nowrap;
padding-bottom: 15px;
}
-/* Help */
-
+/* Help
+------------------------------------------------------- */
.help-wrap p {
font-size: 15px;
margin-bottom: 20px;
.help-wrap .toc {
width: 40%;
- float:right;
+ float: right;
margin-left: 20px;
margin-bottom: 20px;
padding-left: 5px;
}
-/* Tiles
+/* Raster Background Tiles
------------------------------------------------------- */
-
img.tile {
position: absolute;
transform-origin: 0 0;
/* Map
------------------------------------------------------- */
-
#map {
position: relative;
overflow: hidden;
bottom: 0;
}
+
/* Map-In-Map
------------------------------------------------------- */
.map-in-map {
}
.map-in-map-tiles {
- transform-origin:0 0;
- -ms-transform-origin:0 0;
- -webkit-transform-origin:0 0;
- -moz-transform-origin:0 0;
- -o-transform-origin:0 0;
+ transform-origin: 0 0;
+ -ms-transform-origin: 0 0;
+ -webkit-transform-origin: 0 0;
+ -moz-transform-origin: 0 0;
+ -o-transform-origin: 0 0;
-moz-user-select: none;
-webkit-user-select: none;
}
-/* Debug
+/* Debug Data
------------------------------------------------------- */
.debug {
stroke: currentColor;
padding: 0 5px;
}
-/* Info Box
+
+/* Information Panels
------------------------------------------------------- */
.info-panels {
display: flex;
.panel-title button.close:hover {
color: #fff;
}
-
.panel-title button.close .icon {
height: 20px;
width: 16px;
padding: 0 4px;
margin-top: 10px;
margin-right: 10px;
- color: white;
+ color: #fff;
}
[dir='rtl'] .panel-content .button {
margin-right: auto;
}
-/* About Section
+/* About Section, Attribution, Footer
------------------------------------------------------- */
-
#about {
width: 100%;
position: absolute;
- right:0;
- bottom:0;
+ right: 0;
+ bottom: 0;
border-radius: 0;
pointer-events: none;
display: flex;
height: 30px;
}
-/* footer flash message */
+/* Footer - Flash messages
+------------------------------------------------------- */
#flash-wrap {
display: flex;
flex: 0 0 100%;
}
-/* footer scale */
-
+/* Footer - Scale bar, About, Source Switcher
+------------------------------------------------------- */
#scale-block {
vertical-align: bottom;
width: 250px;
shape-rendering: crispEdges;
}
-
#about-list {
text-align: right;
margin-right: 10px;
padding: 5px 5px 5px 0;
}
-
#about-list li:last-child {
border-left: 0;
margin-left: 0;
}
.source-switch a.live {
background: #d32232;
- color:#fff;
+ color: #fff;
}
.feature-warning a {
color: #ccf;
}
-/* Notification Badges */
-
+/* Notification Badges
+------------------------------------------------------- */
/* For an icon (e.g. new version) */
.badge {
display: inline-block;
vertical-align: baseline;
width: 11px;
height: 11px;
- fill: white;
+ fill: #fff;
}
/* For text (e.g. upcoming events) */
.badge-text {
display: inline-block;
- color: white;
+ color: #fff;
text-align: center;
width: 16px;
height: 16px;
}
-/* Modals
+/* Modals / Prompts
------------------------------------------------------- */
-
.modal {
top: 40px;
display: inline-block;
- position:absolute;
+ position: absolute;
border-radius: 3px;
overflow: hidden;
left: 0;
.modal .loader {
margin-bottom: 10px;
}
-
.modal .description {
text-align: center;
}
right: 0;
overflow: auto;
}
-
.shaded:before {
content:'';
- background:rgba(0,0,0,0.5);
- position:fixed;
- left:0px; right:0px; top:0px; bottom:0px;
+ background: rgba(0,0,0,0.5);
+ position: fixed;
+ left: 0px; right: 0px; top: 0px; bottom: 0px;
}
.modal-section {
padding: 20px;
border-bottom: 1px solid #ccc;
}
-
.modal-section.header h3 {
padding: 0;
}
-
.modal-section.buttons {
text-align: center;
}
+.modal-section.buttons button {
+ min-width: 130px;
+}
+
.modal-section.buttons .action {
display: inline-block;
margin: 0 10px;
vertical-align: middle;
}
+.save-section .buttons {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-around;
+ margin-bottom: 30px;
+}
+
.save-section .buttons .action,
.save-section .buttons .secondary-action {
- display: inline-block;
- margin: 0 20px 0 0;
+ width: 45%;
+ margin: 10px auto;
text-align: center;
vertical-align: middle;
}
color: #e06c5e;
}
-/* Success Modal
+/* Success Screen / Community Index
------------------------------------------------------- */
.save-success.body {
overflow-y: scroll;
}
.modal-shortcuts .tab.active {
color: #7092ff;
+ border-bottom: 2px solid;
}
.modal-shortcuts .tab:hover {
color: #597be7;
}
+/* Settings Modals
+------------------------------------------------------- */
+.settings-modal textarea {
+ height: 70px;
+}
+
+.settings-custom-background .instructions-template {
+ margin-bottom: 20px;
+}
+
+.settings-custom-data .instructions-url {
+ margin-bottom: 10px;
+}
+.settings-custom-data .field-file,
+.settings-custom-data .instructions-template {
+ margin-bottom: 20px;
+}
+
/* Save Mode
------------------------------------------------------- */
color: #fff;
}
+.note-save .field-warning,
.mode-save .field-warning {
background: #ffb;
border: 1px solid #ccc;
padding: 10px;
}
+.note-save .field-warning:empty,
.mode-save .field-warning:empty {
display: none;
}
.changeset-list li:first-child { border-top: 0;}
+
/* Conflict resolution
------------------------------------------------------- */
-
.conflicts-help {
padding: 20px;
background-color: #ffffbb;
height: 30px;
}
-/* Notices
-------------------------------------------------------- */
+/* Notices (Zoom in to Edit)
+------------------------------------------------------- */
.notice {
position: absolute;
top: 45px;
margin-right: 0;
}
+
/* Tooltips
------------------------------------------------------- */
-
.tooltip {
position: absolute;
display: none;
color: #333;
font-size: 12px;
+ white-space: initial;
}
.tooltip.in {
min-width: 80px;
padding: 10px;
font-weight: normal;
- background-color: white;
+ background-color: #fff;
}
.tail {
top: 50%;
right: -5px;
margin-top: -5px;
- border-left-color: white;
+ border-left-color: #fff;
border-width: 5px 0 5px 5px;
}
.tail div {
border-radius: 3px;
padding: 10px;
- background: white;
+ background: #fff;
position: absolute;
top: 180px;
left: 0;
top: 50%;
left: -5px;
margin-top: -5px;
- border-right-color: white;
+ border-right-color: #fff;
border-width: 5px 5px 5px 0;
}
bottom: -5px;
left: 50%;
margin-left: -5px;
- border-top-color: white;
+ border-top-color: #fff;
border-width: 5px 5px 0;
}
top: 50%;
left: -5px;
margin-top: -5px;
- border-right-color: white;
+ border-right-color: #fff;
border-width: 5px 5px 5px 0;
}
top: 50%;
right: -5px;
margin-top: -5px;
- border-left-color: white;
+ border-left-color: #fff;
border-width: 5px 0 5px 5px;
}
top: -5px;
left: 50%;
margin-left: -5px;
- border-bottom-color: white;
+ border-bottom-color: #fff;
border-width: 0 5px 5px;
}
}
/* Move over tooltips that are near the edge of screen */
-.add-point .tooltip {
- left: 33.3333% !important;
-}
-[dir='rtl'] .add-point .tooltip {
- left: inherit !important;
-}
-
-.add-point .tooltip .tooltip-arrow {
- left: 60px;
+button.sidebar-toggle .tooltip .tooltip-arrow {
+ left: 32px;
}
-[dir='rtl'] .add-point .tooltip .tooltip-arrow {
+[dir='rtl'] button.sidebar-toggle .tooltip .tooltip-arrow {
left: auto;
- right: 60px;
+ right: 32px;
}
li:first-of-type .badge .tooltip,
}
-/* radial menu (deprecated) */
-
+/* Contextual Radial Menu (deprecated)
+------------------------------------------------------- */
.radial-menu-tooltip {
opacity: 0.8;
display: none;
color: rgba(40,40,40,.5);
}
-/* edit menu */
+/* Contextual Edit Menu
+------------------------------------------------------- */
.edit-menu-tooltip {
display: none;
position: absolute;
color: #79f;
pointer-events: none;
}
-
.edit-menu-item.disabled use {
fill: rgba(32,32,32,.2);
color: rgba(40,40,40,.2);
}
+/* Lasso
+------------------------------------------------------- */
.lasso-path {
- fill-opacity:0.3;
+ fill-opacity: 0.3;
stroke: #fff;
stroke-width: 1;
stroke-opacity: 1;
stroke-dasharray: 5, 5;
}
-/* Media Queries
-------------------------------------------------------- */
-
-@media only screen and (max-width: 840px) {
- /* override hide for save button */
- #bar .save .label { display: block;}
-}
-
-@media screen and (max-width: 1200px) {
- .user-list { display: none !important; }
-}
-
-@media screen and (max-width: 1000px) {
- #userLink { display: none !important; }
-}
-
-@media screen and (max-width: 900px) {
- #scale-block { display: none !important; }
-}
-
/* Scrollbars
----------------------------------------------------- */
-
::-webkit-scrollbar {
height: 20px;
overflow: visible;
width: 10px;
- background: white;
+ background: #fff;
border-left: 1px solid #DDD;
}
background-color: rgba(0,0,0,.05);
}
+
/* Intro walkthrough
----------------------------------------------------- */
-
.curtain-darkness {
pointer-events: all;
fill-opacity: 0.7;
flex: 0 0 auto;
height: 40px;
width: 40px;
- color: white;
+ color: #fff;
margin: 0px 20px;
vertical-align: middle;
}