/* base styles */ path { fill: none; } /* points */ g.point circle { fill:#fff; } g.point .shadow { fill: none; pointer-events: all; -webkit-transition: -webkit-transform 100ms linear; transition: transform 100ms linear; -moz-transition: fill 100ms linear; } .behavior-hover g.point.hover .shadow { fill: #E96666; fill-opacity: 0.3; } g.point.selected .shadow { fill: #E96666; fill-opacity: 0.7; } /* vertices */ g.vertex .fill { fill:white; } g.vertex .stroke { stroke:#333; stroke-width:2; fill:white; } svg[data-zoom="16"] g.vertex .shadow { -webkit-transform:scale(0.8, 0.8); -moz-transform:scale(0.8, 0.8); transform:scale(0.8, 0.8); } svg[data-zoom="16"] g.vertex .stroke, svg[data-zoom="16"] g.vertex .fill { -webkit-transform:scale(0.6, 0.6); -moz-transform:scale(0.6, 0.6); transform:scale(0.6, 0.6); } svg[data-zoom="17"] g.vertex .shadow { -webkit-transform:scale(0.9, 0.9); -moz-transform:scale(0.9, 0.9); transform:scale(0.9, 0.9); } svg[data-zoom="17"] g.vertex .stroke, svg[data-zoom="17"] g.vertex .fill { -webkit-transform:scale(0.7, 0.7); -moz-transform:scale(0.7, 0.7); transform:scale(0.7, 0.7); } g.vertex.shared .shadow { -webkit-transform:scale(1.2, 1.2); -moz-transform:scale(1.2, 1.2); transform:scale(1.2, 1.2); } g.vertex.shared .fill, g.vertex.shared .stroke { -webkit-transform:scale(1.1, 1.1); -moz-transform:scale(1.1, 1.1); transform:scale(1.1, 1.1); } svg[data-zoom="16"] g.vertex.shared .shadow { -webkit-transform:scale(0.9, 0.9); -moz-transform:scale(0.9, 0.9); transform:scale(0.9, 0.9); } svg[data-zoom="16"] g.vertex.shared .fill, svg[data-zoom="16"] g.vertex.shared .stroke { -webkit-transform:scale(0.8, 0.8); -moz-transform:scale(0.8, 0.8); transform:scale(0.8, 0.8); } svg[data-zoom="17"] g.vertex.shared .shadow { -webkit-transform:scale(1, 1); -moz-transform:scale(1, 1); transform:scale(1, 1); } svg[data-zoom="17"] g.vertex.shared .fill, svg[data-zoom="17"] g.vertex.shared .stroke { -webkit-transform:scale(0.9, 0.9); -moz-transform:scale(0.9, 0.9); transform:scale(0.9, 0.9); } g.vertex.shared .fill { fill:#aaa; } g.vertex .shadow { fill: none; pointer-events: all; stroke-width: 10; -webkit-transition: -webkit-transform 100ms linear; transition: transform 100ms linear; -moz-transition: fill 100ms linear; } .behavior-hover g.vertex.hover .shadow { fill: #E96666; fill-opacity: 0.3; } g.vertex.selected .shadow { fill: #E96666; fill-opacity: 0.7; } /* midpoints */ g.midpoint .fill { fill:#aaa; } .behavior-hover g.midpoint .fill.hover { fill:#fff; stroke:#000; } g.midpoint .shadow { fill: none; pointer-events: all; stroke-width: 10; -webkit-transition: -webkit-transform 100ms linear; transition: transform 100ms linear; -moz-transition: fill 100ms linear; } .behavior-hover g.midpoint .shadow.hover { fill:#E96666; fill-opacity: 0.3; } /* lines */ path.line { stroke-linecap: round; stroke-linejoin: bevel; } path.stroke { stroke: #222; stroke-width: 2; } path.stroke, path.casing { shape-rendering: optimizeSpeed; } path.shadow { pointer-events: stroke; stroke-width: 10; -webkit-transition: stroke 100ms linear; } .behavior-hover path.shadow.hover { stroke: #E96666; stroke-opacity: 0.3; } path.shadow.selected { stroke: #E96666; stroke-opacity: 0.7; } path.area.stroke, path.multipolygon { stroke-width:2; stroke:#fff; } path.area.fill, path.multipolygon { fill:#fff; fill-opacity:0.3; } path.multipolygon { fill-rule: evenodd; } path.area.fill.member-type-multipolygon { fill: none; } path.area.stroke.selected { stroke-width:4 !important; } path.area.stroke.tag-natural, path.multipolygon.tag-natural { stroke: #ADD6A5; stroke-width:1; } path.area.fill.tag-natural, path.multipolygon.tag-natural { fill: #ADD6A5; } path.area.stroke.tag-natural-water, path.multipolygon.tag-natural-water { stroke: #6382FF; } path.area.fill.tag-natural-water, path.multipolygon.tag-natural-water { fill: #ADBEFF; } path.area.stroke.tag-building, path.multipolygon.tag-building { stroke: #9E176A; stroke-width: 1; } path.area.fill.tag-building, path.multipolygon.tag-building { fill: #ff6ec7; } path.area.stroke.tag-landuse, path.area.stroke.tag-natural-wood, path.area.stroke.tag-natural-tree, path.area.stroke.tag-natural-grassland, path.area.stroke.tag-leisure-park, path.multipolygon.tag-landuse, path.multipolygon.tag-natural-wood, path.multipolygon.tag-natural-tree, path.multipolygon.tag-natural-grassland, path.multipolygon.tag-leisure-park { stroke: #006B34; stroke-width: 1; } path.area.fill.tag-landuse, path.area.fill.tag-natural-wood, path.area.fill.tag-natural-tree, path.area.fill.tag-natural-grassland, path.area.fill.tag-leisure-park, path.multipolygon.tag-landuse, path.multipolygon.tag-natural-wood, path.multipolygon.tag-natural-tree, path.multipolygon.tag-natural-grassland, path.multipolygon.tag-leisure-park { fill: #189E59; fill-opacity: 0.2; } path.area.stroke.tag-amenity-parking, path.multipolygon.tag-amenity-parking { stroke: #beb267; stroke-width: 1; } path.area.fill.tag-amenity-parking, path.multipolygon.tag-amenity-parking { fill: #edecc0; } path.multipolygon.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:#809bc0; } path.casing.tag-highway-motorway, path.casing.tag-highway-motorway_link, path.casing.tag-construction-motorway { stroke:#506077; } path.stroke.tag-highway-trunk, path.stroke.tag-highway-trunk_link, path.stroke.tag-construction-trunk { stroke:#97d397; } path.casing.tag-highway-trunk, path.casing.tag-highway-trunk_link, path.casing.tag-construction-trunk { stroke:#477147; } path.stroke.tag-highway-primary, path.stroke.tag-highway-primary_link, path.stroke.tag-construction-primary { stroke:#ec989a; } path.casing.tag-highway-primary, path.casing.tag-highway-primary_link, path.casing.tag-construction-primary { stroke:#8d4346; } path.stroke.tag-highway-secondary, path.stroke.tag-highway-secondary_link, path.stroke.tag-construction-secondary { stroke:#fecc8b; } path.casing.tag-highway-secondary, path.casing.tag-highway-secondary_link, path.casing.tag-construction-secondary { stroke:#a37b48; } path.stroke.tag-highway-tertiary, path.stroke.tag-highway-tertiary_link, path.stroke.tag-construction-tertiary { stroke:#ffffb3; } path.casing.tag-highway-tertiary, path.casing.tag-highway-tertiary_link, path.casing.tag-construction-tertiary { stroke:#bbb; } 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.tag-highway-pedestrian { stroke:#fff; stroke-dasharray: 2, 8; stroke-width:4 !important; shapeRendering: auto; } path.casing.tag-highway-pedestrian { stroke:#84C382; stroke-width:6 !important; } 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: #996600; } path.stroke.tag-highway-cycleway { stroke: #69f; } path.stroke.tag-highway-bridleway { stroke: green; } path.stroke.tag-highway-steps { stroke: #ff6257; 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: #000; } 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 */ path.stroke.tag-railway { stroke: #eee; stroke-width: 2; stroke-linecap: butt; stroke-dasharray: 12,12; } path.casing.tag-railway { stroke: #555; stroke-width: 4; } path.stroke.tag-railway-abandoned { stroke: #eee; } path.casing.tag-railway-abandoned { stroke: #999; } path.stroke.tag-railway-subway { stroke: #666; } path.casing.tag-railway-subway { stroke: #222; } /* waterways */ path.stroke.tag-waterway { stroke: #10539a; stroke-width: 2; } path.casing.tag-waterway { stroke: #6AA2FF; 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: #10539a; stroke-width: 1; } path.casing.tag-waterway-ditch { stroke: #999692; 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: #4D9849; } text { font-size:10px; pointer-events: none; } .oneway .textpath { pointer-events: none; } text.tag-oneway { fill:#91CFFF; stroke:#2C6B9B; stroke-width:1; pointer-events:none; } /* * Labels */ .layer-halo path { pointer-events: none; stroke-linecap: round; stroke-linejoin: bevel; stroke-width: 20px; opacity: 0.8; stroke: white; } text.arealabel, text.pathlabel, text.pointlabel { font-size: 12px; font-weight: bold; fill: black; text-anchor: middle; pointer-events: none; } .pathlabel .textpath { dominant-baseline: middle; } .pointlabel-halo, .linelabel-halo, .arealabel-halo { opacity: 0.7; pointer-events: none; } text.area.tag-leisure-park { font-size: 16px; } text.point.tag-shop, text.point.tag-amenity { font-size: 9px; } /* 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, .mode-select .multipolygon, .mode-browse .multipolygon { cursor: url(../img/cursor-select-area.png), pointer; } .mode-select .midpoint, .mode-browse .midpoint { cursor: url(../img/cursor-select-split.png), pointer; } .point:active, .vertex:active, .line:active, .area:active, .multipolygon: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 { cursor:url(../img/cursor-draw.png) 9 9, auto; } .mode-draw-line .behavior-hover .way, .mode-draw-area .behavior-hover .way, .mode-add-line .behavior-hover .way, .mode-add-area .behavior-hover .way { cursor:url(../img/cursor-draw-connect-line.png) 9 9, auto; } .mode-draw-line .behavior-hover .vertex, .mode-draw-area .behavior-hover .vertex, .mode-add-line .behavior-hover .vertex, .mode-add-area .behavior-hover .vertex { cursor:url(../img/cursor-draw-connect-vertex.png) 9 9, auto; } .mode-add-point #map:hover { cursor:url(../img/cursor-draw-point.png) 18 18, auto; } /* Modes */ .mode-draw-line .vertex.active, .mode-draw-area .vertex.active { display: none; } .mode-draw-line .way.active, .mode-draw-area .way.active { pointer-events: none; } /* Ensure drawing doesn't interact with area fills. */ .mode-draw-line .area, .mode-draw-area .area, .mode-add-line .area, .mode-add-area .area { pointer-events: visibleStroke; }