/* 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, path.shadow { pointer-events: all; -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; } path.casing.tag-bridge-yes { stroke-width: 14; stroke: #333; } 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; } 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; } 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, .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 .point, .mode-select .point { cursor: url(../img/cursor-select-point.png), pointer; } .mode-select .vertex, .mode-browse .vertex { cursor: url(../img/cursor-select-vertex.png), pointer; } .mode-browse .line, .mode-select .line { cursor: url(../img/cursor-select-line.png), pointer; } .mode-select .area, .mode-browse .area { cursor: url(../img/cursor-select-area.png), pointer; } .mode-select .midpoint, .mode-browse .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; } .point:active, .vertex:active, .line:active, .area:active, .midpoint:active, .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; } /* 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; }