Files
iD/css/map.css
2013-03-28 16:34:17 -04:00

959 lines
18 KiB
CSS

/* tiles */
img.tile {
position:absolute;
transform-origin:0 0;
-ms-transform-origin:0 0;
-webkit-transform-origin:0 0;
-moz-transform-origin:0 0;
-o-transform-origin:0 0;
opacity: 0;
-webkit-transition: opacity 200ms linear;
transition: opacity 200ms linear;
-moz-transition: opacity 200ms linear;
}
img.tile-loaded {
opacity: 1;
}
/* base styles */
path {
fill: none;
}
use {
pointer-events: none;
}
g.point .shadow,
g.vertex .shadow,
g.midpoint .shadow {
pointer-events: all;
}
path.shadow {
pointer-events: stroke;
}
.shadow {
-webkit-transition: 200ms;
-moz-transition: 200ms;
transition: 200ms;
}
/* points */
g.point .stroke {
stroke: #444;
stroke-width: 1;
fill: #fff;
}
g.point .shadow {
fill: none;
stroke: #f6634f;
stroke-width: 8;
stroke-opacity: 0;
}
.behavior-hover g.point.hover:not(.selected) .shadow {
stroke-opacity: 0.5;
}
g.point.selected .shadow {
stroke-opacity: 0.7;
}
g.point.active, g.point.active * {
pointer-events: none;
}
/* vertices and midpoints */
g.vertex .fill {
fill: none;
}
g.vertex .stroke {
stroke: #666;
stroke-width: 1;
fill: white;
}
g.vertex.shared .stroke {
fill: #aaa;
}
g.vertex.tagged .fill {
fill: #000;
}
g.midpoint .fill {
fill: #ddd;
stroke: black;
stroke-opacity: .5;
opacity: .5;
}
g.vertex .shadow,
g.midpoint .shadow {
fill: #f6634f;
fill-opacity: 0;
}
.behavior-hover g.vertex.hover:not(.selected) .shadow,
.behavior-hover g.midpoint.hover:not(.selected) .shadow {
fill-opacity: 0.3;
}
g.vertex.selected .shadow {
fill-opacity: 0.5;
}
.mode-draw-area g.midpoint,
.mode-draw-line g.midpoint,
.mode-add-area g.midpoint,
.mode-add-line g.midpoint,
.mode-add-point g.midpoint,
.mode-drag-node g.midpoint {
display: none;
}
/* lines */
path.line {
stroke-linecap: round;
stroke-linejoin: bevel;
}
path.stroke {
stroke: black;
stroke-width: 4;
}
path.shadow {
stroke: #f6634f;
stroke-width: 10;
stroke-opacity: 0;
}
.behavior-hover path.shadow.hover:not(.selected) {
stroke-opacity: 0.3;
}
path.shadow.selected {
stroke-opacity: 0.7;
}
path.area.stroke,
path.line.member-type-multipolygon.stroke {
stroke-width:2;
}
path.area.stroke.selected,
path.line.member-type-multipolygon.stroke.selected {
stroke-width:4 !important;
}
path.area.stroke {
stroke:#fff;
}
path.area.fill {
fill:#fff;
fill-opacity:0.3;
fill-rule: evenodd;
}
path.line.stroke {
stroke: white;
stroke-width: 2;
}
path.stroke.tag-natural {
stroke: #b6e199;
stroke-width:1;
}
path.fill.tag-natural {
fill: #b6e199;
}
path.stroke.tag-natural-water {
stroke: #77d3de;
}
path.fill.tag-natural-water {
fill: #77d3de;
}
path.stroke.tag-building {
stroke: #e06e5f;
stroke-width: 1;
}
path.fill.tag-building {
fill: #e06e5f;
}
/* Landuse */
path.stroke.tag-landuse,
path.stroke.tag-natural-wood,
path.stroke.tag-natural-tree,
path.stroke.tag-natural-grassland,
path.stroke.tag-leisure-park {
stroke: #8cd05f;
stroke-width: 1;
}
path.stroke.tag-landuse-residential {
stroke: #e06e5f;
}
path.stroke.tag-landuse-retail,
path.stroke.tag-landuse-commercial {
stroke: #eab056;
}
path.stroke.tag-landuse-industrial {
stroke: #e4a4f5;
}
path.stroke.tag-landuse-basin,
path.stroke.tag-landuse-reservoir {
stroke: #77d3de;
}
path.stroke.tag-landuse-quarry {
stroke: #a6957b;
}
path.stroke.tag-landuse-residential,
path.stroke.tag-landuse-construction {
stroke: #e06e5f;
}
path.stroke.tag-landuse-meadow,
path.stroke.tag-natural-wetland {
stroke: #b6e199;
}
path.stroke.tag-natural-beach {
stroke: #ffff7e;
}
path.stroke.tag-natural-scrub {
stroke: #dbf08b;
}
path.fill.tag-landuse,
path.fill.tag-natural-wood,
path.fill.tag-natural-tree,
path.fill.tag-natural-grassland,
path.fill.tag-natural-grass,
path.fill.tag-leisure-park {
fill: #8cd05f;
fill-opacity: 0.2;
}
path.fill.tag-landuse-retail,
path.fill.tag-landuse-residential,
path.fill.tag-landuse-commercial,
path.fill.tag-landuse-industrial {
fill-opacity: 0.1;
}
path.fill.tag-natural-wetland,
path.fill.tag-natural-beach,
path.fill.tag-natural-scrub,
path.fill.tag-landuse-cemetery,
path.fill.tag-landuse-meadow,
path.fill.tag-landuse-farm,
path.fill.tag-landuse-farmland,
path.fill.tag-landuse-construction,
path.fill.tag-landuse-orchard {
/* background color is applied a further opacity later */
fill-opacity: 0.8;
}
.pattern-color-beach,
.pattern-color-scrub,
.pattern-color-meadow,
.pattern-color-wetland,
.pattern-color-cemetery,
.pattern-color-farm,
.pattern-color-farmland,
.pattern-color-construction,
.pattern-color-orchard {
fill-opacity: 0.2;
}
path.fill.tag-landuse-basin,
path.fill.tag-landuse-reservoir {
fill: #77d3de;
}
path.fill.tag-landuse-quarry {
fill: #a6957b;
}
path.fill.tag-landuse-residential {
fill: #e06e5f;
}
path.fill.tag-landuse-farm,
path.fill.tag-landuse-farmland {
fill: url(#pattern-farmland) #8cd05f;
}
.pattern-color-farm,
.pattern-color-farmland {
fill: url(#pattern-farmland) #8cd05f;
}
path.fill.tag-landuse-meadow {
fill: url(#pattern-meadow) #b6e199;
}
.pattern-color-meadow {
fill: #b6e199;
}
path.fill.tag-natural-wetland {
fill: url(#pattern-wetland) #b6e199;
}
.pattern-color-wetland {
fill: #B6E199;
}
path.fill.tag-natural-beach {
fill: url(#pattern-beach) #ffff7e;
}
.pattern-color-beach {
fill: #ffff7e;
}
path.fill.tag-natural-scrub {
fill: url(#pattern-scrub) #dbf08b;
}
.pattern-color-scrub {
fill: #dbf08b;
}
path.fill.tag-landuse-cemetery {
fill: url(#pattern-cemetery) #8cd05f;
}
.pattern-color-cemetery {
fill: #8cd05f
}
path.fill.tag-landuse-orchard {
fill: url(#pattern-orchard) #8cd05f;
}
.pattern-color-orchard {
fill: #8cd05f
}
path.fill.tag-landuse-construction {
fill: url(#pattern-construction) #e06e5f;
}
.pattern-color-construction {
fill: #e06e5f;
}
path.fill.tag-landuse-retail,
path.fill.tag-landuse-commercial {
fill: #eab056;
}
path.fill.tag-landuse-industrial {
fill: #e4a4f5;
}
path.stroke.tag-amenity-parking {
stroke: #aaa;
stroke-width: 1;
}
path.fill.tag-amenity-parking {
fill: #aaa;
}
path.fill.tag-place,
path.fill.tag-boundary {
fill: none;
}
/* highways */
path.shadow.tag-highway {
stroke-width:16;
}
path.casing.tag-highway {
stroke:#444;
stroke-width:10;
}
path.stroke.tag-highway {
stroke:#ccc;
stroke-width:8;
}
svg[data-zoom="16"] path.shadow.tag-highway {
stroke-width:12;
}
svg[data-zoom="16"] path.casing.tag-highway {
stroke-width:6;
}
svg[data-zoom="16"] path.stroke.tag-highway {
stroke-width:4;
}
path.stroke.tag-highway-motorway,
path.stroke.tag-highway-motorway_link,
path.stroke.tag-construction-motorway {
stroke:#58a9ed;
}
path.casing.tag-highway-motorway,
path.casing.tag-highway-motorway_link,
path.casing.tag-construction-motorway {
stroke:#2c5476;
}
path.stroke.tag-highway-trunk,
path.stroke.tag-highway-trunk_link,
path.stroke.tag-construction-trunk {
stroke:#8cd05f;
}
path.casing.tag-highway-trunk,
path.casing.tag-highway-trunk_link,
path.casing.tag-construction-trunk {
stroke:#46682f;
}
path.stroke.tag-highway-primary,
path.stroke.tag-highway-primary_link,
path.stroke.tag-construction-primary {
stroke:#e06d5f;
}
path.casing.tag-highway-primary,
path.casing.tag-highway-primary_link,
path.casing.tag-construction-primary {
stroke:#70372f;
}
path.stroke.tag-highway-secondary,
path.stroke.tag-highway-secondary_link,
path.stroke.tag-construction-secondary {
stroke:#eab056;
}
path.casing.tag-highway-secondary,
path.casing.tag-highway-secondary_link,
path.casing.tag-construction-secondary {
stroke:#75582b;
}
path.stroke.tag-highway-tertiary,
path.stroke.tag-highway-tertiary_link,
path.stroke.tag-construction-tertiary {
stroke:#ffff7e;
}
path.casing.tag-highway-tertiary,
path.casing.tag-highway-tertiary_link,
path.casing.tag-construction-tertiary {
stroke:#7f7f3f;
}
path.stroke.tag-highway-unclassified,
path.stroke.tag-construction-unclassified {
stroke:#eaeaea;
}
path.casing.tag-highway-unclassified,
path.casing.tag-construction-unclassified {
stroke:#444;
}
path.stroke.tag-highway-residential,
path.stroke.tag-construction-residential {
stroke:#fff;
}
path.casing.tag-highway-residential,
path.casing.tag-construction-residential {
stroke:#444;
}
path.stroke.tag-highway-living_street {
stroke:#ccc;
stroke-width:4;
}
path.casing.tag-highway-living_street {
stroke:#fff;
stroke-width:6;
}
path.stroke.line.tag-highway-pedestrian {
stroke:#fff;
stroke-dasharray: 2, 8;
stroke-width:4 !important;
shapeRendering: auto;
}
path.casing.line.tag-highway-pedestrian {
stroke:#8cd05f;
stroke-width:6 !important;
}
path.stroke.area.tag-highway-pedestrian {
stroke:#fff;
stroke-width: 2;
}
path.fill.area.tag-highway-pedestrian {
fill:#ccc;
}
path.stroke.tag-highway-service {
stroke:#fff;
stroke-width:4;
}
path.casing.tag-highway-service {
stroke:#666;
stroke-width:6;
}
svg[data-zoom="16"] path.stroke.tag-highway-service {
stroke-width:2;
}
svg[data-zoom="16"] path.casing.tag-highway-service {
stroke-width:4;
}
path.stroke.tag-highway-track {
stroke: #fff;
stroke-width: 4;
}
path.casing.tag-highway-track {
stroke: #996600;
stroke-width: 6;
stroke-linecap: butt;
stroke-dasharray: 6, 6;
}
svg[data-zoom="16"] path.stroke.tag-highway-track {
stroke-width:2;
}
svg[data-zoom="16"] path.casing.tag-highway-track {
stroke-width:4;
}
path.stroke.tag-highway-path {
stroke: #000;
stroke-width: 1 !important;
stroke-linecap: butt;
stroke-dasharray: 8, 4;
}
path.casing.tag-highway-path {
stroke-width: 1 !important;
stroke: #fff;
}
path.stroke.tag-highway-footway,
path.stroke.tag-highway-cycleway,
path.stroke.tag-highway-bridleway {
stroke-width: 4;
stroke-linecap: butt;
stroke-dasharray: 6, 6;
}
path.casing.tag-highway-footway,
path.casing.tag-highway-cycleway,
path.casing.tag-highway-bridleway {
stroke-width: 6;
stroke: #fff;
}
svg[data-zoom="16"] path.stroke.tag-highway-footway,
svg[data-zoom="16"] path.stroke.tag-highway-cycleway,
svg[data-zoom="16"] path.stroke.tag-highway-bridleway {
stroke-width: 2;
}
svg[data-zoom="16"] path.casing.tag-highway-footway,
svg[data-zoom="16"] path.casing.tag-highway-cycleway,
svg[data-zoom="16"] path.casing.tag-highway-bridleway {
stroke-width: 4;
}
path.stroke.tag-highway-footway {
stroke: #ae8681;
}
path.stroke.tag-highway-cycleway {
stroke: #58a9ed;
}
path.stroke.tag-highway-bridleway {
stroke: #e06d5f;
}
path.stroke.tag-highway-steps {
stroke: #81d25c;
stroke-width: 4;
stroke-linecap: butt;
stroke-dasharray: 3, 3;
}
path.casing.tag-highway-steps {
stroke-width: 6;
stroke: #fff;
}
/* bridges */
path.casing.tag-bridge-yes {
stroke-width: 14;
stroke-opacity: 0.5;
stroke: #000;
}
path.casing.tag-highway-living_street.tag-bridge-yes,
path.casing.tag-highway-path.tag-bridge-yes {
stroke-width: 6;
}
path.casing.line.tag-highway-pedestrian,
path.casing.tag-highway-service.tag-bridge-yes,
path.casing.tag-highway-track.tag-bridge-yes,
path.casing.tag-highway-steps.tag-bridge-yes,
path.casing.tag-highway-footway.tag-bridge-yes,
path.casing.tag-highway-cycleway.tag-bridge-yes,
path.casing.tag-highway-bridleway.tag-bridge-yes {
stroke-width: 8;
}
path.shadow.tag-highway-residential.tag-bridge {
stroke-width:22;
}
path.shadow.tag-highway-living_street.tag-bridge-yes,
path.shadow.tag-highway-path.tag-bridge-yes,
path.shadow.line.tag-highway-pedestrian,
path.shadow.tag-highway-service.tag-bridge-yes,
path.shadow.tag-highway-track.tag-bridge-yes,
path.shadow.tag-highway-steps.tag-bridge-yes,
path.shadow.tag-highway-footway.tag-bridge-yes,
path.shadow.tag-highway-cycleway.tag-bridge-yes,
path.shadow.tag-highway-bridleway.tag-bridge-yes {
stroke-width: 16;
}
/* tunnels */
path.stroke.tag-highway.tag-tunnel-yes {
stroke-opacity: 0.3;
}
path.casing.tag-highway.tag-tunnel-yes {
stroke-opacity: 0.5;
}
path.stroke.tag-highway-construction,
path.casing.tag-highway-construction {
stroke-linecap: butt;
stroke-dasharray: 7, 7;
}
/* construction */
svg[data-zoom="16"] path.stroke.tag-highway-construction,
svg[data-zoom="16"] path.casing.tag-highway-construction {
stroke-linecap: butt;
stroke-dasharray: 5, 5;
}
/* railways */
.line.stroke.tag-railway {
stroke: #eee;
stroke-width: 2;
stroke-linecap: butt;
stroke-dasharray: 12,12;
}
.line.casing.tag-railway {
stroke: #555;
stroke-width: 4;
}
.line.stroke.tag-railway-abandoned {
stroke: #eee;
}
.line.casing.tag-railway-abandoned {
stroke: #999;
}
.line.stroke.tag-railway-subway {
stroke: #666;
}
.line.casing.tag-railway-subway {
stroke: #222;
}
.line.stroke.tag-railway-platform {
stroke: #999;
stroke-width: 4;
stroke-dasharray: none;
}
.line.casing.tag-railway-platform {
stroke: none;
}
/* waterways */
path.fill.tag-waterway {
fill: #77d3de;
}
path.stroke.tag-waterway {
stroke: #77d3de;
stroke-width: 2;
}
path.casing.tag-waterway {
stroke: #77d3de;
stroke-width: 4;
}
path.stroke.tag-waterway-river {
stroke-width: 4;
}
path.casing.tag-waterway-river {
stroke-width: 6;
}
svg[data-zoom="16"] path.stroke.tag-waterway-river {
stroke-width: 4;
}
svg[data-zoom="16"] path.casing.tag-waterway-river {
stroke-width: 6;
}
path.stroke.tag-waterway-ditch {
stroke: #6591ff;
stroke-width: 1;
}
path.casing.tag-waterway-ditch {
stroke: #6591ff;
stroke-width: 3;
}
/* power */
path.stroke.tag-power {
stroke: #939393;
stroke-width: 2;
}
path.casing.tag-power {
stroke: none;
}
/* boundary */
path.stroke.tag-boundary {
stroke: #fff;
stroke-width: 2;
stroke-linecap: butt;
stroke-dasharray: 20, 5, 5, 5;
}
path.casing.tag-boundary {
stroke: #82B5FE;
stroke-width: 6;
}
path.casing.tag-boundary-protected_area,
path.casing.tag-boundary-national_park {
stroke: #b0e298;
}
text {
font-size:10px;
pointer-events: none;
color: #222;
opacity: 1;
}
.oneway .textpath.tag-waterway {
fill: #002F35;
}
marker#oneway-marker path {
fill:#000;
opacity: .5;
}
text.tag-oneway {
fill:#91CFFF;
stroke:#2C6B9B;
stroke-width:1;
pointer-events:none;
}
/*
* Labels
*/
text.arealabel-halo,
text.linelabel-halo,
text.pointlabel-halo,
text.arealabel,
text.linelabel,
text.pointlabel {
font-size: 12px;
font-weight: bold;
fill: #333;
text-anchor: middle;
pointer-events: none;
-webkit-transition: opacity 100ms linear;
transition: opacity 100ms linear;
-moz-transition: opacity 100ms linear;
}
.linelabel-halo .textpath,
.linelabel .textpath {
dominant-baseline: middle;
}
/* Opera doesn't support dominant-baseline. See #715 */
.opera .linelabel-halo .textpath,
.opera .linelabel .textpath {
baseline-shift: -33%;
dominant-baseline: auto;
}
.layer-halo text {
opacity: 0.7;
stroke: #fff;
stroke-width: 5px;
stroke-miterlimit: 1;
}
text.point {
font-size: 10px;
}
/* Cursors */
#map:hover {
cursor: url(../img/cursor-grab.png) 9 9, auto;
}
#map:active {
cursor: url(../img/cursor-grabbing.png) 9 9, auto;
}
.mode-browse #surface .point,
.mode-select #surface .point {
cursor: url(../img/cursor-select-point.png), pointer;
}
.mode-select #surface .vertex,
.mode-browse #surface .vertex {
cursor: url(../img/cursor-select-vertex.png), pointer;
}
.mode-browse #surface .line,
.mode-select #surface .line {
cursor: url(../img/cursor-select-line.png), pointer;
}
.mode-select #surface .area,
.mode-browse #surface .area {
cursor: url(../img/cursor-select-area.png), pointer;
}
.mode-select #surface .midpoint,
.mode-browse #surface .midpoint {
cursor: url(../img/cursor-select-split.png), pointer;
}
.mode-select .behavior-multiselect .point,
.mode-select .behavior-multiselect .vertex,
.mode-select .behavior-multiselect .line,
.mode-select .behavior-multiselect .area {
cursor: url(../img/cursor-select-add.png), pointer;
}
.mode-select .behavior-multiselect .selected {
cursor: url(../img/cursor-select-remove.png), pointer;
}
#map .point:active,
#map .vertex:active,
#map .line:active,
#map .area:active,
#map .midpoint:active,
#map .mode-select .selected {
cursor: url(../img/cursor-select-acting.png), pointer;
}
.mode-draw-line #map:hover,
.mode-draw-area #map:hover,
.mode-add-line #map:hover,
.mode-add-area #map:hover,
.mode-drag-node #map:hover {
cursor: crosshair;
cursor: url(../img/cursor-draw.png) 9 9, crosshair;
}
.mode-draw-line .behavior-hover .way,
.mode-draw-area .behavior-hover .way,
.mode-add-line .behavior-hover .way,
.mode-add-area .behavior-hover .way,
.mode-drag-node .behavior-hover .way {
cursor: crosshair;
cursor: url(../img/cursor-draw-connect-line.png) 9 9, crosshair;
}
.mode-draw-line .behavior-hover .vertex,
.mode-draw-area .behavior-hover .vertex,
.mode-add-line .behavior-hover .vertex,
.mode-add-area .behavior-hover .vertex,
.mode-drag-node .behavior-hover .vertex {
cursor: crosshair;
cursor: url(../img/cursor-draw-connect-vertex.png) 9 9, crosshair;
}
.mode-add-point #map:hover {
cursor: crosshair;
cursor: url(../img/cursor-draw.png) 9 9, crosshair;
}
.lasso #map:hover,
.lasso .way,
.lasso .vertex {
cursor: crosshair;
cursor: url(../img/cursor-draw.png) 9 9, crosshair;
}
.lasso #map {
pointer-events: visibleStroke;
}
/* GPX Paths */
path.gpx {
stroke:#6AFF25;
stroke-width:2;
fill:transparent;
pointer-events: none;
}
/* Modes */
.mode-draw-line .vertex.active,
.mode-draw-area .vertex.active,
.mode-drag-node .vertex.active {
display: none;
}
.mode-draw-line .way.active,
.mode-draw-area .way.active,
.mode-drag-node .active {
pointer-events: none;
}
/* Ensure drawing doesn't interact with area fills. */
.mode-add-point .area.fill,
.mode-draw-line .area.fill,
.mode-draw-area .area.fill,
.mode-add-line .area.fill,
.mode-add-area .area.fill,
.mode-drag-node .area.fill {
pointer-events: none;
}