]> git.openstreetmap.org Git - potlatch2.git/blob - resources/stylesheets/potlatch.css
cbef4ede6f96aa1bcd7fd89f7df147cd2c4314e9
[potlatch2.git] / resources / stylesheets / potlatch.css
1 /*
2
3         Stylesheet that mimicks, to a certain extent, potlatch 1.x
4         Started by Andy Allan, November 2009
5
6         Based heavily on:
7         MapCSS demonstration stylesheet
8         Richard Fairhurst, October 2009
9
10 */
11
12 /* This rule applies to all areas (closed ways). Note that rules are applied in the order
13   they appear in the file, so later rules may replace this one for some ways.
14   This is used as a debugger for finding unstyled areas; it's obviously oversimplistic since
15   it picks up closed-loop highways. */
16
17 /* way :area { color: red; width: 1; fill-color: red; fill-opacity: 0.5; } */
18
19 /* A set of fairly standard rules.
20   We use z-index to make sure high-priority roads appear above minor ones.
21   The default z-index is 5. If an object matches multiple rules with the same
22   z-index then the rules are "merged" (but individual properties become one or the other)  */
23
24 way[highway=motorway],way[highway=motorway_link],
25 way[highway=trunk],way[highway=trunk_link],
26 way[highway=primary],way[highway=primary_link],
27 way[highway=secondary],way[highway=secondary_link],
28 way[highway=tertiary],way[highway=tertiary_link],
29 way[highway=residential],way[highway=unclassified]  { text: name; text-color: black; font-size: 10; text-position: line; text-halo-color: white; text-halo-radius: 2; }
30 way[highway=motorway],way[highway=motorway_link]    { z-index: 9; color: #809BC0; width: 7; casing-color: black; casing-width: 8; }
31 way[highway=trunk],way[highway=trunk_link]          { z-index: 9; color: #7FC97F; width: 7; casing-color: black; casing-width: 8; }
32 way[highway=primary],way[highway=primary_link]      { z-index: 8; color: #E46D71; width: 7; casing-color: black; casing-width: 8; }
33 way[highway=secondary],way[highway=secondary_link]  { z-index: 7; color: #FDBF6F; width: 7; casing-width: 8; }
34 way[highway=tertiary],way[highway=unclassified]     { z-index: 6; color: #FEFECB; width: 5; casing-width: 7; }
35 way[highway=tertiary_link]                          { z-index: 5; color: #FEFECB; width: 4; casing-width: 5; }
36 way[highway=residential]                            { z-index: 5; color: #E8E8E8; width: 5; casing-color: gray; casing-width: 7; }
37 way[highway=service][service!=parking_aisle]        { color: white; width: 3; casing-color: gray; casing-width: 5; }
38 way[highway=service][service=parking_aisle]         { color: white; width: 1; casing-color: #aaaaaa; casing-width: 2; }
39 way[highway=service][service=alley]                 { color: white; width: 2; dashes: 6,2; casing-color: black; casing-width: 4; }
40 way[highway=road]                                   { color: gray; width: 5; casing-color: white; casing-width: 7; }
41
42 /* Pedestrian precincts need to be treated carefully. Only closed-loops with an explicit
43 area=yes tag should be filled. The below doesn't yet work as intended. */
44 way[highway=pedestrian] !:area { color: #ddddee; width: 5; casing-color: #555555; casing-width: 6; casing-dashes: 2,4;}
45 way[highway=pedestrian] :area  { color: #555555; width: 1; fill-color: #ddddee; fill-opacity: 0.8; }
46
47 way[highway=living_street] { z-index: 5; color: #ddffee; width: 3; casing-color: #555555; casing-width: 4; }
48
49 way[highway=steps]     { color: #FF6644; width: 6; dashes: 2, 2; }
50 way[highway=footway]   { color: #FF6644; width: 2; dashes: 6, 3; set .path;}
51 way[highway=footway][bicycle=yes]   { z-index: 4; color: Blue; width: 1; }
52 way[highway=bridleway] { z-index:9; color: #996644; width: 2; dashes: 4, 2, 2, 2; set .path;}
53 way[highway=track]     { color: #996644; width: 2; dashes: 4, 2; .path;}
54 way[highway=path]      { color: brown; width: 2; dashes: 2, 2; set .path;}
55 way[highway=cycleway]  { color: Blue; width: 2; dashes: 4, 2; set .path;}
56 way[railway=tram]      {z-index: 11; color: #999999; width: 2; casing-color: black; casing-width: 6; }
57 way .path              {text:name; text-color: black; text-position: offset; text-offset: 5;}
58
59 /* Could be improved */
60 way[highway=proposed] { color: #88ffff; width: 6; dashes: 8, 4; }
61 way[highway=construction] { color: #ffffbb; width: 6; dashes: 8, 4; casing-color: #0000aa; casing-width: 8; casing-dashes: 8,4;}
62 way[construction=rail] 
63         { z-index: 6; color: black; width: 5; dashes: 6, 6, 4, 8;}
64         { z-index: 7; color: white; width: 3; dashes: 6,18; }
65
66         
67
68 way[waterway=river], 
69 way[waterway=canal], 
70 way[waterway=stream]   { color: blue; width: 2; text:name; text-color:blue; font-size:9; text-position: offset; text-offset: 7;}
71 way[waterway=drain]                      {color: blue; width: 1; text:name; text-color: blue; text-position: offset; text-offset: 3;}
72 way[waterway][tunnel=yes]                {dashes: 8,4;}
73
74 way[barrier] {color: #000000; width: 1}
75 way[barrier=fence] {color: #000000; width: 1; dashes: 8,4,2,4; }
76
77 /*add node[power=pylon] etc when there's an icon */
78 way[power=line] {color: darkgray; width: 3; dashes: 12,2; casing-color: black; casing-width: 8; casing-dashes: 4, 38;}
79 way[power=minor_line] {color: gray; width: 2; dashes: 2,4; casing-width: 8; casing-color: white; casing-dashes: 2,22;}
80 way[power=station] :area { color: black; width: 2; fill-color: #666666; fill-opacity: 0.6; set .area_small_name;}
81 way[power=generator] :area { color: black; width: 2; fill-color: #444444; fill-opacity: 0.6; set .area_small_name;}
82
83 way[golf=hole] {color: darkgreen; width: 5; casing-color: green; casing-width: 10; }
84
85 /* Fills can be solid colour or bitmap images */
86
87
88 way[natural] :area                          { color: #ADD6A5; width: 1; fill-color: #ADD6A5; fill-opacity: 0.2; }
89 way[natural=beach] :area                    { color: #ffdd44; width: 1; fill-color: yellow; fill-opacity: 0.2; set .area_small_name;}
90 way[natural=coastline]                                          { color: black; width: 3; }
91 way[landuse] :area                          { color: #444444; width: 2; fill-color: #444444; fill-opacity: 0.3; }
92 way[landuse=residential] :area              { color: #666666; width: 2; fill-color: #666666; fill-opacity: 0.15; }
93 way[landuse=retail] :area                   { color: #cc2222; width: 2; fill-color: #aa4422; fill-opacity: 0.15; }
94 way[landuse=commercial] :area               { color: #4444bb; width: 2; fill-color: #444488; fill-opacity: 0.15; }
95 way[landuse=military] :area                 { color: #ff4444; width: 2; fill-color: #ff4444; fill-opacity: 0.2; set .area_small_name; }
96 way[amenity],way[shop] :area                { color: #ADCEB5; width: 1; fill-color: #ADCEB5; fill-opacity: 0.2; }
97 /* way[sport] should not be rendered by itself, according to wiki. Can we make it an "if all else fails"? */
98 way[leisure] :area                         { color: #8CD6B5; width: 1; fill-color: #8CD6B5; fill-opacity: 0.2; }
99 way[tourism] :area                          { color: #F7CECE; width: 1; fill-color: #F7CECE; fill-opacity: 0.2; set .area_small_name;}
100 way[historic],way[ruins] :area              { color: #F7F7DE; width: 1; fill-color: #F7F7DE; fill-opacity: 0.2; set .area_small_name;}
101 way[military] :area                         { color: #D6D6D6; width: 1; fill-color: #D6D6D6; fill-opacity: 0.2; set .area_small_name;}
102 way[building] :area                         { color: #ff6ec7; width: 1; fill-color: #ff6ec7; fill-opacity: 0.2; }
103 way[natural=water],
104 way[waterway][waterway!=dam] :area          { color: blue;    width: 2; fill-color: blue;    fill-opacity: 0.2; set .area_small_name;}
105 way[waterway=dam]                                                       { color: black; width: 1; fill-color: #222222; fill-opacity: 0.1; set .area_small_name;}
106 way[man_made] :area                                                     { color: black; width: 2; fill-color: #222222; fill-opacity: 0.1; set .area_small_name; }
107 way[man_made=reservoir_covered] :area       { color: blue; width: 2; dashes: 4, 2; fill-color: #222222; fill-opacity: 0.1; set .area_small_name; }
108 way[landuse=reservoir] :area                { color: blue;    width: 2; fill-color: blue;    fill-opacity: 0.2; set .area_small_name;}
109 way[landuse=forest],way[natural=wood] :area { color: green;   width: 2; fill-color: green;   fill-opacity: 0.2; set .area_small_name;}
110 way[leisure=park]  :area                    { color: #22aa22; width: 2; fill-color: #44ff44; fill-opacity: 0.15; set .area_small_name;}
111 way[leisure=garden]  :area                  { color: #66ff44; width: 1; fill-color: #66ff44; fill-opacity: 0.2; set .area_small_name;}
112 way[leisure=pitch] :area                                        { z-index: 6; color: #88bb44; width: 2; fill-color: #88ff44; fill-opacity: 0.2; set .area_small_name;}
113 way[landuse=recreation_ground] :area        { color: green; fill-color: green; set .area_small_name;}
114 way[amenity=parking] :area                  { color: #bbaa66;    width: 1; fill-color: #bbaa66;    fill-opacity: 0.2; }
115 way[public_transport=pay_scale_area] :area  { color: gray;    width: 1; fill-color: gray;    fill-opacity: 0.1; }
116
117 way[man_made=pier]                                                      { z-index: 4; color: #777; width: 3; casing-color: black; casing-width: 5;}
118 way[man_made=pier][floating=yes]                        { dashes: 4,2; casing-color: #444;}
119 way[leisure=marina] :area                                       { color: pink; fill-color: pink; fill-opacity: 0.4; set .area_small_name;}
120 way[leisure=slipway]                                            { color: grey; width: 3; casing-color: blue; casing-width: 7; }
121 way[leisure=golf_course] :area { color: #44ee22; width: 2; fill-color: #44ee22; fill-opacity: 0.2; set .area_small_name;}
122
123 way[boundary]                               { color: #000066; width: 2; opacity: 0.6; dashes: 24,4, 4, 4; z-index: 4;}
124 /* Perhaps should be filled, on lower zooms. */
125 way[boundary=national_park]                 { color: #225500; width: 2; opacity: 0.6; dashes: 24,4, 4, 4; z-index: 4;}
126 way[boundary=protected_area]                { color: #447744; width: 2; opacity: 0.6; dashes: 12,4, 4, 4; z-index: 4;}
127 way[boundary=administrative]                { color: purple; width: 2; opacity: 0.2; dashes: 24,4; z-index: 4;}
128 way[boundary=administrative][waterway]      { opacity: 0.8; z-index: 4; dashes: 24,4; width: 6; }
129 way[landuse=cemetery]                                           { color: #664466; width: 2; fill-color: color: #664466; opacity: 0.2; set .area_small_name;}
130 /* Addressing. Nodes with addresses *and* match POIs should have a poi icon, so we put addressing first */
131
132 node[addr:housenumber],
133 node[addr:housename] { icon-image: circle; icon-width: 4; color: #B0E0E6; casing-color:blue; casing-width: 1; }
134 way[addr:interpolation] { color: #B0E0E6; width: 3; dashes: 3,3;}
135
136 /* POIs, too, can have bitmap icons - they can even be transparent */
137 node[place] { icon-image: icons/place.png; text-offset: 17; font-family: DejaVu; text: name; font-size: 9; font-weight: bold; text-decoration: underline; z-index: 20; }
138 node[amenity=telephone] { icon-image: icons/telephone.png; z-index: 20; }
139 node[barrier=cattle_grid] { icon-image: icons/cattle_grid.png; z-index: 20; }
140
141 node[tourism=guesthouse] { icon-image: icons/accommodation_bed_and_breakfast.n.16.png; z-index: 20; }
142 node[tourism=alpine_hut] { icon-image: icons/accommodation_alpinehut.n.16.png; z-index: 20; }
143 node[tourism=camp_site] { icon-image: icons/accommodation_camping.n.16.png; z-index: 20; }
144 node[tourism=caravan_site] { icon-image: icons/accommodation_caravan_park.n.16.png; z-index: 20; }
145 node[tourism=guest_house],node[tourism=bed_and_breakfast] { icon-image: icons/accommodation_bed_and_breakfast.n.16.png; z-index: 20; }
146 node[tourism=hotel] { icon-image: icons/accommodation_hotel.n.16.png; text-offset:15; text: name; z-index: 20; }
147 node[tourism=hostel] { icon-image: icons/accommodation_youth_hostel.n.16.png; z-index: 20; }
148 node[amenity=fire_station] { icon-image: icons/amenity_firestation2.n.16.png; z-index: 20; }
149 node[amenity=police] { icon-image: icons/amenity_police2.n.16.png; z-index: 20; }
150 node[amenity=post_box] { icon-image: icons/amenity_post_box.n.16.png; z-index: 20; }
151 node[amenity=recycling] { icon-image: icons/amenity_recycling.n.16.png; z-index: 20; }
152 node[barrier=bollard] { icon-image: icons/barrier_bollard.n.16.png; z-index: 20; }
153 node[barrier=gate], node[highway=gate] { icon-image: icons/barrier_gate.n.16.png; z-index: 20; }
154 node[barrier=stile], node[highway=stile] { icon-image: icons/barrier_stile.n.16.png; z-index: 20; }
155 node[barrier=toll_booth] { icon-image: icons/barrier_toll_booth.n.16.png; z-index: 20; }
156 node[barrier=lift_gate] { icon-image: icons/barrier_lift_gate.n.16.png; z-index: 20; }
157 node[barrier=kissing_gate] { icon-image: icons/barrier_kissing_gate.16.png; z-index: 20; }
158 node[barrier=cycle_barrier] { icon-image: icons/barrier_cycle_barrier.16.png; z-index: 20; }
159 node[barrier=block] { icon-image: icons/barrier_blocks.16.png; z-index: 20; }
160 node[barrier=cattle_grid] { icon-image: icons/barrier_cattle_grid.16.png; z-index: 20; }
161 node[amenity=school] { icon-image: icons/education_school.n.16.png; text-offset:15; text: name; z-index: 20; }
162 way[amenity=school] :area { color: yellow; fill-color: yellow; fill-opacity: 0.1; set .area_small_name; }
163 node[amenity=bar] { icon-image: icons/food_bar.n.16.png; text-offset:15; text: name; z-index: 20; }
164 node[amenity=cafe] { icon-image: icons/food_cafe.n.16.png; text-offset:15; text: name; z-index: 20; }
165 node[amenity=fast_food] { icon-image: icons/food_fastfood.n.16.png; z-index: 20; }
166 node[amenity=pub] { icon-image: icons/food_pub.n.16.png; text-offset:15; text: name; z-index: 20; }
167 node[amenity=restaurant] { icon-image: icons/food_restaurant.n.16.png; text-offset:15; text: name; z-index: 20; }
168 node[amenity=hospital] { icon-image: icons/health_hospital.n.16.png; z-index: 20; }
169 node[amenity=pharmacy] { icon-image: icons/health_pharmacy.n.16.png; z-index: 20; }
170 node[amenity=atm] { icon-image: icons/money_atm.n.16.png; z-index: 20; }
171 node[amenity=bank] { icon-image: icons/money_bank2.n.16.png; z-index: 20; }
172 node[shop=alcohol] { icon-image: icons/shopping_alcohol.n.16.png; z-index: 20; }
173 node[shop=bakery] { icon-image: icons/shopping_bakery.n.16.png; z-index: 20; }
174 node[shop=bicycle] { icon-image: icons/shopping_bicycle.n.16.png; z-index: 20; }
175 node[shop=book] { icon-image: icons/shopping_book.n.16.png; z-index: 20; }
176 node[shop=butcher] { icon-image: icons/shopping_butcher.n.16.png; z-index: 20; }
177 node[shop=car_repair] { icon-image: icons/shopping_car_repair.n.16.png; z-index: 20; }
178 node[shop=car] { icon-image: icons/shopping_car.n.16.png; z-index: 20; }
179 node[shop=clothes] { icon-image: icons/shopping_clothes.n.16.png; z-index: 20; }
180 node[shop=confectionery] { icon-image: icons/shopping_confectionery.n.16.png; z-index: 20; }
181 node[shop=convenience] { icon-image: icons/shopping_convenience.n.16.png; z-index: 20; }
182 node[shop=doityourself] { icon-image: icons/shopping_diy.n.16.png; z-index: 20; }
183 node[shop=fishmonger] { icon-image: icons/shopping_fish.n.16.png; z-index: 20; }
184 node[shop=garden_centre] { icon-image: icons/shopping_garden_centre.n.16.png; z-index: 20; }
185 node[shop=gift] { icon-image: icons/shopping_gift.n.16.png; z-index: 20; }
186 node[shop=greengrocer] { icon-image: icons/shopping_greengrocer.n.16.png; z-index: 20; }
187 node[shop=hairdresser] { icon-image: icons/shopping_hairdresser.n.16.png; z-index: 20; }
188 node[shop=hifi] { icon-image: icons/shopping_hifi.n.16.png; z-index: 20; }
189 node[shop=jewelry] { icon-image: icons/shopping_jewelry.n.16.png; z-index: 20; }
190 node[shop=laundry] { icon-image: icons/shopping_laundrette.n.16.png; z-index: 20; }
191 node[shop=motorcycle] { icon-image: icons/shopping_motorcycle.n.16.png; z-index: 20; }
192 node[shop=music] { icon-image: icons/shopping_music.n.16.png; z-index: 20; }
193 node[shop=supermarket] { icon-image: icons/shopping_supermarket.n.16.png; z-index: 20; }
194 node[historic=archaeological_site] { icon-image: icons/tourist_archaeological.n.16.png; z-index: 20; }
195 node[historic=battlefield] { icon-image: icons/tourist_battlefield.n.16.png; z-index: 20; }
196 node[historic=castle] { icon-image: icons/tourist_castle.n.16.png; text-offset:15; text: name; z-index: 20; }
197 node[amenity=cinema] { icon-image: icons/tourist_cinema.n.16.png; z-index: 20; }
198 node[historic=memorial] { icon-image: icons/tourist_memorial.n.16.png; text-offset:15; text: name; z-index: 20; }
199 node[historic=monument] { icon-image: icons/tourist_monument.n.16.png; text-offset:15; text: name; z-index: 20; }
200 node[tourism=museum] { icon-image: icons/tourist_museum.n.16.png; text-offset:15; text: name; z-index: 20; }
201 node[tourism=picnic_site] { icon-image: icons/tourist_picnic.n.16.png; z-index: 20; }
202 node[historic=ruin] { icon-image: icons/tourist_ruin.n.16.png; z-index: 20; }
203 node[amenity=theatre] { icon-image: icons/tourist_theatre.n.16.png; z-index: 20; }
204 node[tourism=viewpoint] { icon-image: icons/tourist_view_point.n.16.png; z-index: 20; }
205 node[tourism=zoo] { icon-image: icons/tourist_zoo.n.16.png; z-index: 20; }
206 node[aeroway=aerodrome] { icon-image: icons/transport_aerodrome.n.16.png; z-index: 20; }
207 node[amenity=bus_station] { icon-image: icons/transport_bus_station.n.16.png; z-index: 20; }
208 node[highway=bus_stop] { icon-image: icons/transport_bus_stop2.n.16.png; z-index: 20; }
209 node[amenity=fuel] { icon-image: icons/transport_fuel.n.16.png; z-index: 20; }
210 node[amenity=bicycle_parking] { icon-image: icons/transport_parking_bicycle.n.16.png; text-offset: 15; text: capacity; z-index: 20; }
211 node[amenity=parking] { icon-image: icons/transport_parking_car.n.16.png; z-index: 20; }
212 node[amenity=ferry_terminal] { icon-image: icons/transport_port.n.16.png; z-index: 20; }
213 node[amenity=bicycle_rental] { icon-image: icons/transport_rental_bicycle.n.16.png; z-index: 20; }
214 node[amenity=car_rental] { icon-image: icons/transport_rental_car.n.16.png; z-index: 20; }
215 node[amenity=taxi] { icon-image: icons/transport_taxi_rank.n.16.png; z-index: 20; }
216 node[railway=station] { icon-image: icons/transport_train_station.n.16.png; text-offset:15; text: name; z-index: 20; }
217 node[railway=tram_stop] { icon-image: icons/transport_tram_stop.n.16.png; z-index: 20; }
218 node[leisure=marina] { icon-image: icons/transport_marina.n.16.png; z-index: 20; }
219
220 way[leisure=sports_centre] :area { color: #66ddcc; fill-color: #66ddcc; set .area_small_name; }
221
222
223 /* We can stack styles at different z-index (depth) */
224
225 way[railway=rail]
226         { z-index: 6; color: black; width: 5; }
227         { z-index: 7; color: white; width: 3; dashes: 12,12; }
228 way[railway=platform] { color:black; width: 2; }
229 way[railway=subway]
230         { z-index: 6; color: #444444; width: 5; }
231         { z-index: 7; color: white; width: 3; dashes: 8,8; }
232
233 way[railway=disused],way[railway=abandoned]
234     { z-index: 6; color: #444400; width: 3; dashes: 17, 2, 5, 0; }
235     { z-index: 7; color: #999999; width: 2; dashes: 12,12; }
236
237 way[aeroway=aerodrome] :area
238     { z-index: 3; color: #bb44bb; width: 3; casing-color: #66066;  casing-width: 4;  }
239 way|z-15[aeroway=aerodrome] :area
240     { z-index: 3; fill-color: #bb99bb;  fill-opacity: 0.5;}
241     
242     
243 way[aeroway=taxiway] !:area { z-index: 8; color: #999999; width: 3; casing-color: #aa66aa; casing-width: 6; } 
244 way[aeroway=taxiway]  :area { z-index: 8; color: #bb99bb; width: 3; fill-color: #ccaacc; } 
245 way|z17-[aeroway=runway] !:area 
246     { z-index: 9; color: black; width: 11; casing-color: #aa66aa; casing-width: 12; } 
247     { z-index: 10; color: white; width: 9;  dashes: 0, 20, 4, 76; } 
248     { z-index: 11; color: black; width: 7; } 
249     { z-index: 12; color: white; width: 5;  dashes: 0, 20, 4, 76; } 
250     { z-index: 13; color: black; width: 3; } 
251     { z-index: 14; color: white; width: 1;  dashes: 4, 16; } 
252
253 way|z15-16[aeroway=runway] !:area 
254     { z-index: 9; color: black; width: 5;  } 
255     { z-index: 12; color: white; width: 5;  dashes: 0, 20, 4, 76; } 
256     { z-index: 13; color: black; width: 3; } 
257     { z-index: 14; color: white; width: 1;  dashes: 4, 16; } 
258
259 way|z-14[aeroway=runway] !:area 
260     { z-index: 9; color: #444444; width: 3;  } 
261
262 way[aeroway=runway] :area { z-index: 9; color: black; width: 3; fill-color: #775577; } 
263 way[aeroway=apron] :area { z-index: 4; color: #cc66cc; width: 1; fill-color: #ddaadd; fill-opacity: 0.5;} 
264
265
266 /* Bridge */
267 way[bridge=yes], way[bridge=viaduct], way[bridge=suspension]
268     { z-index: 4; color: white; width: eval('_width+3'); }
269     { z-index: 3; color: black; width: eval('_width+6'); }
270
271 /* Tunnel */
272 way[tunnel=yes][!waterway]
273     { z-index: 4; color: white; width: eval('_width+2'); }
274     { z-index: 3; color: black; width: eval('_width+6'); dashes: 4,4; }
275
276 way[embankment=yes], way[cutting=yes]
277     { z-index: 3; opacity: 0.5; color: grey; width: eval('_width+5'); dashes: 2, 2; }
278
279 /* Oneway */
280 way[oneway=yes], way[junction=roundabout] { z-index: 15; color: #444444; width: 2; dashes: 15,35; line-style: arrows; }
281
282 way[access=private],way[access=no] { z-index: 10; color: red; width: eval('_width+2'); dashes: 2,5;}
283 way[access=permissive] { z-index: 10; color: green; width: eval('_width+2'); dashes: 1,3;}
284
285 way .area_small_name {text-color: black; font-size: 9; text: name; text-halo: #ffffaa; text-halo-radius: 2; text-position: center;}
286 /* Change the road colour based on dynamically set "highlighted" tag (see earlier) */
287
288 way .highlighted { color: pink; }
289
290 /* Interactive editors may choose different behaviour when a user mouses-over or selects
291    an object. Potlatch 2 supports these but the stand-alone Halcyon viewer does not */
292
293 way :hover      { z-index: 2; width: eval('_width+10'); color: #ffff99; }
294 way :selected { z-index: 2; width: eval('_width+10'); color: yellow; opacity: 0.7;}
295 way :restrictfrom { z-index: -1; width: eval('_width+10'); color: red; opacity: 0.7;}
296 way :restrictto { z-index: -1; width: eval('_width+10'); color: blue; opacity: 0.7;}
297 /*way !:drawn !:hasTags{ z-index:10; width: 0.5; color: red; }*/
298 way !:drawn { z-index:10; width: 1; color: #333333; }
299 way :tiger { casing-color: #ff00ff;}
300
301
302 relation[type=restriction] node { z-index:11; icon-image: icons/restriction.png; }
303
304 node :dupe { z-index: 9; icon-image: circle; icon-width:8; color: white; opacity: 0.4; casing-opacity: 0.4; casing-color: red; casing-width: 3; }
305 node :hoverway { z-index: 9; icon-image: square; icon-width: 7; color: blue; layer: 5; }
306 node !:drawn :poi { z-index: 2; icon-image: circle; icon-width: 4; color: green; casing-color: black; casing-width: 1; }
307 node !:drawn :hasTags { z-index: 9; icon-image: circle; icon-width: 4; color: black; }
308 node :hasTags :selectedway { z-index: 9; icon-image: square; icon-width: 8; color: black; layer: 5; }
309 node !:drawn :selectedway { z-index: 9; icon-image: square; icon-width: 8; color: red; casing-color: #cc0000; casing-width: 1; layer: 5; }
310 node :selected { z-index: 1; icon-image: square; icon-width: eval('_width+10'); color: yellow; interactive: no; layer: 5; }
311 node :junction :selectedway { z-index: 8; icon-image: square; icon-width: 12; casing-color: black; casing-width: 1; layer: 5; }
312
313 /* Descendant selectors provide an easy way to style relations: this example means "any way
314    which is part of a relation whose type=route". */
315
316 relation[type=route] way { z-index: 1; width: 13; color: blue; opacity: 0.3; }
317 relation[type=route][route=bicycle][network=ncn] way { z-index: 1; width: 12; color: red; opacity: 0.3; }
318 relation[type=route][route=bicycle][network=rcn] way { z-index: 1; width: 12; color: cyan; opacity: 0.3; }
319 relation[type=route][route=bicycle][network=lcn] way { z-index: 1; width: 12; color: blue; opacity: 0.3; }
320 relation[type=route][route=foot] way { z-index: 1; width: 10; color: #80ff80; opacity: 0.6; }
321
322
323 /* Show directions of highlighted ways */
324 way[highway][!oneway][junction!=roundabout]:selected,
325 way[aerial_way]:selected { z-index: 14; color: #999922; width: 2; dashes: 3,60; line-style: arrows; }
326 way[waterway]:selected { z-index: 14; color: #4444CC; width: 2; dashes: 5,60; line-style: arrows; }
327 way[railway] :selected{ z-index: 14; color: #999999; width: 3; dashes: 4,92; line-style: arrows; }
328 /* ... add other types where direction is important. */