Index: /trunk/styles/standard/elemstyles.mapcss
===================================================================
--- /trunk/styles/standard/elemstyles.mapcss	(revision 7453)
+++ /trunk/styles/standard/elemstyles.mapcss	(revision 7454)
@@ -18,24 +18,18 @@
 }
 
-/***************************/
-/* "work in progress" tags */
-/***************************/
-
-node|z16-[fixme]::core_fixme,
-node|z16-[FIXME]::core_fixme {
-    object-z-index: 20;
-    icon-image: "misc/fixme-annotation.png";
-}
-node|z16-[note]::core_note {
-    object-z-index: 10;
-    icon-image: "misc/note-annotation.png";
-}
-
-/* special display of unreviewed tiger data (USA) */
-way["tiger:reviewed"=no]::core_tiger {
-    major-z-index: -10;
-    width: 11;
-    color: tiger_data#808000;
-    opacity: 0.6;
+/*************************/
+/* create style settings */
+/*************************/
+
+setting::hide_icons {
+  type: boolean;
+  label: tr("Hide icons at low zoom");
+  default: true;
+}
+
+setting::shrink_nodes {
+  type: boolean;
+  label: tr("Less obtrusive node symbols at low zoom");
+  default: true;
 }
 
@@ -47,4 +41,5 @@
 node[restriction=no_left_turn] {
     icon-image: "vehicle/restriction/turn_restrictions/no_left_turn.png";
+    set icon_z17;
     text: auto;
 }
@@ -52,4 +47,5 @@
 node[restriction=no_right_turn] {
     icon-image: "vehicle/restriction/turn_restrictions/no_right_turn.png";
+    set icon_z17;
     text: auto;
 }
@@ -57,4 +53,5 @@
 node[restriction=no_straight_on] {
     icon-image: "vehicle/restriction/turn_restrictions/no_straight_on.png";
+    set icon_z17;
     text: auto;
 }
@@ -62,4 +59,5 @@
 node[restriction=no_u_turn] {
     icon-image: "vehicle/restriction/turn_restrictions/no_u_turn.png";
+    set icon_z17;
     text: auto;
 }
@@ -67,4 +65,5 @@
 node[restriction=only_left_turn] {
     icon-image: "vehicle/restriction/turn_restrictions/only_left_turn.png";
+    set icon_z17;
     text: auto;
 }
@@ -72,4 +71,5 @@
 node[restriction=only_right_turn] {
     icon-image: "vehicle/restriction/turn_restrictions/only_right_turn.png";
+    set icon_z17;
     text: auto;
 }
@@ -77,4 +77,5 @@
 node[restriction=only_straight_on] {
     icon-image: "vehicle/restriction/turn_restrictions/only_straight_on.png";
+    set icon_z17;
     text: auto;
 }
@@ -116,4 +117,5 @@
 node[embankment?!] {
     icon-image: "misc/deprecated.png";
+    set icon_z17;
     text: auto;
 }
@@ -126,4 +128,5 @@
 node["addr:postcode"] {
     icon-image: "misc/housenumber.png";
+    set icon_z17;
     text: auto;
 }
@@ -149,36 +152,45 @@
 node[building][!building?!] {
     icon-image: "misc/landmark/building.png";
+    set icon_z17;
     text: auto;
 }
 node[building=garage] {
     icon-image: "misc/landuse/garages.png";
+    set icon_z17;
     text: auto;
 }
 node[building=garages] {
     icon-image: "misc/landuse/garages.png";
+    set icon_z17;
     text: auto;
 }
 node[building=entrance] {
     icon-image: "misc/entrance-yes.png";
+    set icon_z17;
     text: auto;
 }
 node[entrance=yes] {
     icon-image: "misc/entrance-yes.png";
+    set icon_z17;
     text: auto;
 }
 node[entrance=main] {
     icon-image: "misc/entrance-main.png";
+    set icon_z17;
     text: auto;
 }
 node[entrance=service] {
     icon-image: "misc/entrance-service.png";
+    set icon_z17;
     text: auto;
 }
 node[entrance=exit] {
     icon-image: "misc/entrance-exit.png";
+    set icon_z17;
     text: auto;
 }
 node[entrance=emergency] {
     icon-image: "misc/entrance-emergency.png";
+    set icon_z17;
     text: auto;
 }
@@ -214,4 +226,5 @@
 node[access?!] {
     icon-image: "vehicle/restriction/access.png";
+    set icon_z17;
 }
 node[access=permissive],
@@ -219,18 +232,23 @@
 node[access=destination] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
 node[bicycle?!] {
     icon-image: "vehicle/restriction/bicycle.png";
+    set icon_z17;
 }
 node[bicycle=designated] {
     icon-image: "vehicle/restriction/bicycle-designated.png";
+    set icon_z17;
     text: auto;
 }
 node[foot?!] {
     icon-image: "vehicle/restriction/foot.png";
+    set icon_z17;
 }
 node[foot=designated] {
     icon-image: "vehicle/restriction/foot-designated.png";
+    set icon_z17;
     text: auto;
 }
@@ -238,45 +256,59 @@
 node[hgv?!] {
     icon-image: "vehicle/restriction/goods.png";
+    set icon_z17;
 }
 node[horse?!] {
     icon-image: "vehicle/restriction/horse.png";
+    set icon_z17;
 }
 node[horse=designated] {
     icon-image: "vehicle/restriction/horse-designated.png";
+    set icon_z17;
 }
 node[motorcycle?!] {
     icon-image: "vehicle/restriction/motorbike.png";
+    set icon_z17;
 }
 node[motorcar?!] {
     icon-image: "vehicle/restriction/motorcar.png";
+    set icon_z17;
 }
 node[psv?!] {
     icon-image: "vehicle/restriction/psv.png";
+    set icon_z17;
 }
 node[motorboat?!],
 node[boat?!] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
 }
 node[noexit?] {
     icon-image: "vehicle/restriction/dead_end.png";
+    set icon_z17;
 }
 node[maxweight] {
     icon-image: "vehicle/restriction/maxweight.png";
+    set icon_z17;
 }
 node[maxheight] {
     icon-image: "vehicle/restriction/maxheight.png";
+    set icon_z17;
 }
 node[maxwidth] {
     icon-image: "vehicle/restriction/maxwidth.png";
+    set icon_z17;
 }
 node[maxlength] {
     icon-image: "vehicle/restriction/maxlength.png";
+    set icon_z17;
 }
 node[minspeed] {
     icon-image: "vehicle/restriction/minspeed.png";
+    set icon_z17;
 }
 node[maxstay],
 node[toll] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
 }
 
@@ -287,4 +319,5 @@
 node[barrier] {
     icon-image: "vehicle/restriction/barrier.png";
+    set icon_z17;
     text: auto;
 }
@@ -296,8 +329,10 @@
 node[barrier=bollard] {
     icon-image: "vehicle/restriction/bollard.png";
+    set icon_z17;
     text: auto;
 }
 node[barrier=gate] {
     icon-image: "vehicle/gate.png";
+    set icon_z17;
     text: auto;
 }
@@ -319,32 +354,40 @@
 node[barrier=retaining_wall] {
     icon-image: "misc/deprecated.png";
+    set icon_z17;
     text: auto;
 }
 node[barrier=block] {
     icon-image: "vehicle/block.svg";
+    set icon_z17;
     text: auto;
 }
 node[barrier=chain] {
     icon-image: "vehicle/chain.svg";
+    set icon_z17;
     text: auto;
 }
 node[barrier=stile] {
     icon-image: "vehicle/stile.png";
+    set icon_z17;
     text: auto;
 }
 node[barrier=turnstile] {
     icon-image: "vehicle/turnstile.png";
+    set icon_z17;
     text: auto;
 }
 node[barrier=cycle_barrier] {
     icon-image: "vehicle/cycle_barrier.png";
+    set icon_z17;
     text: auto;
 }
 node[barrier=lift_gate] {
     icon-image: "vehicle/lift_gate.png";
+    set icon_z17;
     text: auto;
 }
 node[barrier=swing_gate] {
     icon-image: "vehicle/swing_gate.png";
+    set icon_z17;
     text: auto;
 }
@@ -354,20 +397,25 @@
 node[barrier=toll_booth] {
     icon-image: "vehicle/toll_booth.png";
+    set icon_z17;
     text: auto;
 }
 node[barrier=entrance] {
     icon-image: "vehicle/entrance.png";
+    set icon_z17;
     text: auto;
 }
 node[barrier=cattle_grid] {
     icon-image: "vehicle/cattle_grid.png";
+    set icon_z17;
     text: auto;
 }
 node[barrier=border_control] {
     icon-image: "vehicle/border_control.png";
+    set icon_z17;
     text: auto;
 }
 node[barrier=sally_port] {
     icon-image: "vehicle/sally_port.png";
+    set icon_z17;
     text: auto;
 }
@@ -381,4 +429,5 @@
 node[barrier=hampshire_gate] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
@@ -542,4 +591,5 @@
 node[highway=steps] {
     icon-image: "transport/steps.png";
+    set icon_z17;
     text: auto;
 }
@@ -555,47 +605,59 @@
 node[direction=clockwise] {
     icon-image: "vehicle/restriction/roundabout_left.png";
+    set icon_z17;
     text: auto;
 }
 node[highway=mini_roundabout] {
     icon-image: "vehicle/restriction/roundabout_left.png";
+    set icon_z17;
     text: auto;
 }
 node:righthandtraffic[highway=mini_roundabout] {
     icon-image: "vehicle/restriction/roundabout_right.png";
+    set icon_z17;
 }
 node[highway=stop] {
     icon-image: "vehicle/restriction/stop.png";
+    set icon_z17;
     text: auto;
 }
 node[highway=give_way] {
     icon-image: "vehicle/restriction/right_of_way.png";
+    set icon_z17;
     text: auto;
 }
 node[highway=traffic_signals] {
     icon-image: "vehicle/restriction/traffic-light.png";
+    set icon_z17;
     text: auto;
 }
 node[highway=street_lamp] {
     icon-image: "misc/streetlamp.png";
+    set icon_z17;
     text: auto;
 }
 node[highway=speed_camera] {
     icon-image: "vehicle/restriction/speed_trap.png";
+    set icon_z17;
     text: auto;
 }
 node[traffic_sign=city_limit] {
     icon-image: "vehicle/restriction/citylimit.png";
+    set icon_z17;
     text: auto;
 }
 node[highway=crossing] {
     icon-image: "vehicle/zebra_crossing.png";
+    set icon_z17;
     text: auto;
 }
 node[highway=incline], node[highway=incline_steep] {
     icon-image: "vehicle/restriction/incline.png";
+    set icon_z17;
     text: auto;
 }
 node[highway=motorway_junction] {
     icon-image: "vehicle/exit.png";
+    set icon_z17;
     text: auto;
 }
@@ -605,4 +667,5 @@
 node[highway=services] {
     icon-image: "vehicle/services.png";
+    set icon_z17;
     text: auto;
 }
@@ -612,8 +675,10 @@
 node[highway=rest_area] {
     icon-image: "vehicle/parking.png";
+    set icon_z17;
     text: auto;
 }
 node[highway=ford], node[ford?] {
     icon-image: "vehicle/ford.png";
+    set icon_z17;
     text: auto;
 }
@@ -633,16 +698,20 @@
 node[highway=turning_circle] {
     icon-image: "vehicle/turning_circle.png";
+    set icon_z17;
     text: auto;
 }
 node[highway=turning_loop] {
     icon-image: "vehicle/turning_loop.png";
+    set icon_z17;
     text: auto;
 }
 node[highway=passing_place] {
     icon-image: "vehicle/passing_place.png";
+    set icon_z17;
     text: auto;
 }
 node[highway=elevator] {
     icon-image: "service/elevator.png";
+    set icon_z17;
     text: auto;
 }
@@ -654,4 +723,5 @@
 node[highway=construction] {
     icon-image: "misc/construction.png";
+    set icon_z17;
     text: auto;
 }
@@ -661,4 +731,5 @@
 node[highway=emergency_access_point] {
     icon-image: "service/emergency_access_point.png";
+    set icon_z17;
     text: auto;
 }
@@ -683,4 +754,5 @@
 node[highway=platform] {
     icon-image: "misc/deprecated.png";
+    set icon_z17;
     text: auto;
 }
@@ -692,8 +764,10 @@
 node[traffic_calming] {
     icon-image: "vehicle/traffic_calming.png";
+    set icon_z17;
     text: auto;
 }
 node[traffic_calming=chicane] {
     icon-image: "vehicle/chicane.png";
+    set icon_z17;
     text: auto;
 }
@@ -701,4 +775,5 @@
 node[traffic_calming=cushion] {
     icon-image: "vehicle/passing_place.png";
+    set icon_z17;
     text: auto;
 }
@@ -710,8 +785,10 @@
 node[junction=roundabout] {
     icon-image: "vehicle/restriction/roundabout_left.png";
+    set icon_z17;
     text: auto;
 }
 node:righthandtraffic[junction=roundabout] {
     icon-image: "vehicle/restriction/roundabout_right.png";
+    set icon_z17;
 }
 
@@ -821,4 +898,5 @@
 node[cycleway=opposite] {
     icon-image: "misc/deprecated.png";
+    set icon_z17;
     text: auto;
 }
@@ -910,4 +988,5 @@
 node[piste:difficulty=novice] {
     icon-image: "sport/skiing.png";
+    set icon_z17;
 }
 
@@ -921,8 +1000,10 @@
 node[power=tower] {
     icon-image: "misc/landmark/power/tower_small.png";
+    set icon_z17;
     text: auto;
 }
 node[power=pole] {
     icon-image: "misc/landmark/power/pole.png";
+    set icon_z17;
     text: auto;
 }
@@ -935,4 +1016,5 @@
 node[power=minor_line] {
     icon-image: "misc/deprecated.png";
+    set icon_z17;
     text: auto;
 }
@@ -948,8 +1030,10 @@
 node[power=cable_distribution_cabinet] {
     icon-image: "misc/landmark/power.png";
+    set icon_z17;
     text: auto;
 }
 node[power=transformer] {
     icon-image: "misc/landmark/power/transformer.png";
+    set icon_z17;
     text: auto;
 }
@@ -968,8 +1052,10 @@
 node[power_source=wind], node[generator:source=wind] {
     icon-image: "misc/landmark/power/wind.png";
+    set icon_z17;
     text: auto;
 }
 node[power_source=hydro], node[generator:source=hydro] {
     icon-image: "misc/landmark/power/hydro.png";
+    set icon_z17;
     text: auto;
 }
@@ -978,4 +1064,5 @@
 node[power_source=gas], node[generator:source=gas] {
     icon-image: "misc/landmark/power/fossil.png";
+    set icon_z17;
     text: auto;
 }
@@ -983,12 +1070,15 @@
 /*    FIXME photovoltaic NOT fossil*/
     icon-image: "misc/landmark/power/fossil.png";
+    set icon_z17;
     text: auto;
 }
 node[power_source=nuclear], node[generator:source=nuclear] {
     icon-image: "misc/landmark/power/nuclear.png";
+    set icon_z17;
     text: auto;
 }
 node[power=generator] {
     icon-image: "misc/landmark/power.png";
+    set icon_z17;
     text: auto;
 }
@@ -1012,40 +1102,50 @@
 node[man_made=beacon] {
     icon-image: "misc/landmark/beacon.png";
+    set icon_z17;
     text: auto;
 }
 node[man_made=chimney] {
     icon-image: "misc/landmark/chimney.png";
+    set icon_z17;
     text: auto;
 }
 node[man_made=crane] {
     icon-image: "misc/landmark/crane.png";
+    set icon_z17;
     text: auto;
 }
 node[man_made=flagpole] {
     icon-image: "misc/flag.png";
+    set icon_z17;
     text: auto;
 }
 node[man_made=gasometer] {
     icon-image: "misc/landmark/gasometer.png";
+    set icon_z17;
     text: auto;
 }
 node[man_made=groyne] {
     icon-image: "nautical/groyne.png";
+    set icon_z17;
     text: auto;
 }
 node[man_made=lighthouse] {
     icon-image: "misc/landmark/lighthouse.png";
+    set icon_z17;
     text: auto;
 }
 node[man_made=monitoring_station] {
     icon-image: "misc/landmark/measurement_station.png";
+    set icon_z17;
     text: auto;
 }
 node[man_made=mineshaft] {
     icon-image: "misc/landmark/mine.png";
+    set icon_z17;
     text: auto;
 }
 node[man_made=adit] {
     icon-image: "misc/landmark/adit.png";
+    set icon_z17;
     text: auto;
 }
@@ -1059,4 +1159,5 @@
 node[man_made=pier] {
     icon-image: "nautical/pier.png";
+    set icon_z17;
     text: auto;
 }
@@ -1066,5 +1167,5 @@
     repeat-image-align: top;
     width: 1;
-    color: embankment#c14d00;    
+    color: embankment#c14d00;
 }
 way[embankment?][highway],
@@ -1082,8 +1183,10 @@
 node[man_made=pipeline] {
     icon-image: "misc/deprecated.png";
+    set icon_z17;
     text: auto;
 }
 node[man_made=petroleum_well] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
@@ -1103,44 +1206,55 @@
 node[man_made=reservoir_covered] {
     icon-image: "misc/landmark/reservoir_covered.png";
+    set icon_z17;
     text: auto;
 }
 node[man_made=surveillance] {
     icon-image: "misc/surveillance.png";
+    set icon_z17;
     text: auto;
 }
 node[man_made=survey_point] {
     icon-image: "misc/landmark/survey_point.png";
+    set icon_z17;
     text: auto;
 }
 node[man_made=tower] {
     icon-image: "misc/landmark/tower.png";
+    set icon_z17;
     text: auto;
 }
 node[man_made=wastewater_plant] {
     icon-image: "misc/landmark/wastewater_plant.png";
+    set icon_z17;
     text: auto;
 }
 node[man_made=watermill] {
     icon-image: "misc/landmark/watermill.png";
+    set icon_z17;
     text: auto;
 }
 node[man_made=water_tower] {
     icon-image: "misc/landmark/water_tower.png";
+    set icon_z17;
     text: auto;
 }
 node[man_made=water_well] {
     icon-image: "misc/landmark/water_well.png";
+    set icon_z17;
     text: auto;
 }
 node[man_made=windmill] {
     icon-image: "misc/landmark/windmill.png";
+    set icon_z17;
     text: auto;
 }
 node[man_made=works] {
     icon-image: "misc/landmark/works.png";
+    set icon_z17;
     text: auto;
 }
 node[man_made=water_works] {
     icon-image: "misc/landmark/water_works.png";
+    set icon_z17;
     text: auto;
 }
@@ -1156,8 +1270,10 @@
 node[office=company] {
     icon-image: "icons/office_blue.png";
+    set icon_z17;
     text: auto;
 }
 node[office=government] {
     icon-image: "icons/office_pink.png";
+    set icon_z17;
     text: auto;
 }
@@ -1177,12 +1293,15 @@
 node[leisure=sports_centre] {
     icon-image: "sport/centre.png";
+    set icon_z17;
     text: auto;
 }
 node[leisure=golf_course] {
     icon-image: "sport/golf.png";
+    set icon_z17;
     text: auto;
 }
 node[leisure=stadium] {
     icon-image: "sport/stadium.png";
+    set icon_z17;
     text: auto;
 }
@@ -1193,12 +1312,15 @@
 node[leisure=track] {
     icon-image: "sport/track.png";
+    set icon_z17;
     text: auto;
 }
 node[leisure=pitch] {
     icon-image: "sport/pitch.png";
+    set icon_z17;
     text: auto;
 }
 node[leisure=water_park] {
     icon-image: "leisure/water_park.png";
+    set icon_z17;
     text: auto;
 }
@@ -1208,4 +1330,5 @@
 node[leisure=marina] {
     icon-image: "nautical/marina.png";
+    set icon_z17;
     text: auto;
 }
@@ -1221,28 +1344,35 @@
 node[leisure=slipway] {
     icon-image: "nautical/slipway.png";
+    set icon_z17;
     text: auto;
 }
 node[leisure=fishing] {
     icon-image: "sport/fishing.png";
+    set icon_z17;
     text: auto;
 }
 node[leisure=nature_reserve] {
     icon-image: "leisure/nature_reserve.png";
+    set icon_z17;
     text: auto;
 }
 node[leisure=park] {
     icon-image: "leisure/park.png";
+    set icon_z17;
     text: auto;
 }
 node[leisure=playground] {
     icon-image: "leisure/playground.png";
+    set icon_z17;
     text: auto;
 }
 node[leisure=garden] {
     icon-image: "leisure/garden.png";
+    set icon_z17;
     text: auto;
 }
 node[leisure=common] {
     icon-image: "leisure/common.png";
+    set icon_z17;
     text: auto;
 }
@@ -1252,4 +1382,5 @@
 node[leisure=swimming_pool] {
     icon-image: "sport/pool.png";
+    set icon_z17;
     text: auto;
 }
@@ -1262,16 +1393,20 @@
 node[leisure=miniature_golf] {
     icon-image: "sport/golf.png";
+    set icon_z17;
     text: auto;
 }
 node[leisure=dog_park] {
     icon-image: "leisure/dog.png";
+    set icon_z17;
     text: auto;
 }
 node[leisure=ice_rink] {
     icon-image: "sport/hockey.png";
+    set icon_z17;
     text: auto;
 }
 node[leisure=sauna] {
     icon-image: "leisure/sauna.png";
+    set icon_z17;
     text: auto;
 }
@@ -1358,24 +1493,30 @@
 node[shop=supermarket] {
     icon-image: "shop/supermarket.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=convenience] {
     icon-image: "shop/convenience.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=bakery] {
     icon-image: "shop/groceries/bakery.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=butcher] {
     icon-image: "shop/groceries/butcher.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=bicycle] {
     icon-image: "sport/bicycle.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=doityourself] {
     icon-image: "shop/diy_store.png";
+    set icon_z17;
     text: auto;
 }
@@ -1383,12 +1524,15 @@
 node[shop=laundry] {
     icon-image: "shop/laundry.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=outdoor] {
     icon-image: "shop/sports/outdoor.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=kiosk] {
     icon-image: "shop/kiosk.png";
+    set icon_z17;
     text: auto;
 }
@@ -1396,12 +1540,15 @@
 node[shop=beverages] {
     icon-image: "shop/beverages.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=books] {
     icon-image: "shop/rental/library.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=boutique] {
     icon-image: "shop/boutique.png";
+    set icon_z17;
     text: auto;
 }
@@ -1409,188 +1556,235 @@
 node[shop=car_dealer] {
     icon-image: "transport/car.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=car_repair] {
     icon-image: "vehicle/repair_shop.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=tyres] {
     icon-image: "vehicle/tyres.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=chemist] {
     icon-image: "shop/chemist.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=clothes] {
     icon-image: "shop/clothes.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=computer] {
     icon-image: "shop/computer.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=confectionery] {
     icon-image: "shop/groceries/confectionery.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=copyshop] {
     icon-image: "shop/copyshop.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=curtain] {
     icon-image: "shop/curtain.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=cycle_repair] {
     icon-image: "sport/bicycle.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=department_store] {
     icon-image: "shop/mall.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=deli] {
     icon-image: "shop/groceries/deli.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=electronics] {
     icon-image: "shop/electronics.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=erotic] {
-    icon-image:"shop/erotic.png";
+    icon-image: "shop/erotic.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=furniture] {
     icon-image: "shop/furniture.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=fabric] {
     icon-image: "shop/fabric.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=florist] {
     icon-image: "shop/florist.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=frame] {
     icon-image: "shop/frame.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=gift] {
     icon-image: "presets/present.svg";
+    set icon_z17;
     text: auto;
 }
 node[shop=greengrocer] {
     icon-image: "shop/groceries/greengrocer.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=garden_centre] {
     icon-image: "shop/garden_centre.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=hairdresser] {
     icon-image: "shop/hairdresser.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=hardware] {
     icon-image: "shop/hardware.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=hearing_aids] {
     icon-image: "shop/hearing_aids.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=hifi] {
     icon-image: "shop/hifi.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=jewelry] {
     icon-image: "shop/jewelry.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=kitchen] {
     icon-image: "shop/kitchen.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=mall] {
     icon-image: "shop/mall.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=mobile_phone] {
     icon-image: "shop/mobile_phone.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=motorcycle] {
     icon-image: "vehicle/motorbike.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=musical_instrument] {
     icon-image: "shop/musical_instrument.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=newsagent] {
     icon-image: "shop/kiosk.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=optician] {
     icon-image: "shop/optician.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=paint] {
     icon-image: "shop/paint.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=pawnbroker] {
     icon-image: "presets/pawnbroker.svg";
+    set icon_z17;
     text: auto;
 }
 node[shop=seafood] {
     icon-image: "shop/groceries/seafood.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=shoes] {
     icon-image: "shop/shoes.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=sports] {
     icon-image: "sport/multi.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=stationery] {
     icon-image: "shop/stationery.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=tailor] {
     icon-image: "shop/tailor.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=travel_agency] {
     icon-image: "place/island.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=toys] {
     icon-image: "shop/toys.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=vacuum_cleaner] {
     icon-image: "shop/vacuum_cleaner.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=variety_store] {
     icon-image: "shop/variety_store.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=video] {
     icon-image: "shop/video.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=bookmaker] {
     icon-image: "presets/lottery.svg";
+    set icon_z17;
     text: auto;
 }
 node[shop=lottery] {
     icon-image: "presets/lottery.svg";
+    set icon_z17;
     text: auto;
 }
@@ -1598,44 +1792,55 @@
 node[shop=shopping_centre] {
     icon-image: "shop/mall.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=pet] {
     icon-image: "shop/pet.svg";
+    set icon_z17;
     text: auto;
 }
 node[shop=ticket] {
     icon-image: "shop/ticket.svg";
+    set icon_z17;
     text: auto;
 }
 node[shop=interior_decoration] {
     icon-image: "shop/interior_decoration.svg";
+    set icon_z17;
     text: auto;
 }
 node[shop=car_parts] {
     icon-image: "vehicle/car_parts.svg";
+    set icon_z17;
     text: auto;
 }
 node[shop=video_games] {
     icon-image: "shop/video_games.png";
+    set icon_z17;
     text: auto;
 }
 node[shop=bed] {
     icon-image: "shop/bed.svg";
+    set icon_z17;
     text: auto;
 }
 node[shop=beauty] {
     icon-image: "shop/beauty.svg";
+    set icon_z17;
     text: auto;
 }
 node[shop=tea] {
     icon-image: "shop/groceries/tea.svg";
+    set icon_z17;
     text: auto;
 }
 node[shop=coffee] {
     icon-image: "shop/groceries/coffee.svg";
+    set icon_z17;
     text: auto;
 }
 node[shop=bag] {
     icon-image: "shop/bag.svg";
+    set icon_z17;
     text: auto;
 }
@@ -1660,24 +1865,30 @@
 node[amenity=pub] {
     icon-image: "food/pub.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=biergarten] {
     icon-image: "food/biergarten.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=nightclub] {
     icon-image: "leisure/nightclub.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=stripclub] {
     icon-image: "leisure/stripclub.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=brothel] {
     icon-image: "leisure/stripclub.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=cafe] {
     icon-image: "food/cafe.png";
+    set icon_z17;
     text: auto;
 }
@@ -1685,16 +1896,20 @@
 node[amenity=food_court] {
     icon-image: "food/restaurant.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=fast_food] {
     icon-image: "food/fastfood.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=bar] {
     icon-image: "food/bar.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=ice_cream] {
     icon-image: "food/icecream.png";
+    set icon_z17;
     text: auto;
 }
@@ -1718,67 +1933,84 @@
 node[amenity=parking_space] {
     icon-image: "vehicle/parking.png";
+    set icon_z17;
     text: auto;
 }node[amenity=parking] {
     icon-image: vehicle/parking.png;
+    set icon_z17;
     text: auto;
 }
 node[parking=multi-storey] {
     icon-image: "vehicle/parking/multi-storey.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=motorcycle_parking] {
     icon-image: "vehicle/parking/motorbike.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=bicycle_parking] {
     icon-image: "vehicle/parking/bicycle.png";
+    set icon_z17;
     text: auto;
 }
 node[parking=park_and_ride] {
     icon-image: "vehicle/parking/park_ride.png";
+    set icon_z17;
     text: auto;
 }
 node[parking=underground] {
     icon-image: "vehicle/parking/underground.png";
+    set icon_z17;
     text: auto;
 }
 node[parking=surface] {
     icon-image: "vehicle/parking.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=parking_space][wheelchair?] {
     icon-image: "vehicle/parking/handicapped.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=bicycle_rental] {
     icon-image: "vehicle/rental/bicycle.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=car_rental] {
     icon-image: "vehicle/rental/car.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=car_sharing] {
     icon-image: "vehicle/car_sharing.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=car_wash] {
     icon-image: "vehicle/car_wash.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=taxi] {
     icon-image: "transport/taxi.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=fuel] {
     icon-image: "vehicle/fuel.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=charging_station] {
     icon-image: "vehicle/fuel/charging_station.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=grit_bin] {
     icon-image: "misc/grit_bin.png";
+    set icon_z17;
     text: auto;
 }
@@ -1788,8 +2020,10 @@
 node[amenity=telephone] {
     icon-image: "service/telephone.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=clock] {
     icon-image: "service/clock.png";
+    set icon_z17;
     text: auto;
 }
@@ -1800,4 +2034,5 @@
 node[amenity=emergency_phone] {
     icon-image: "vehicle/emergency_phone.png";
+    set icon_z17;
     text: auto;
 }
@@ -1811,28 +2046,35 @@
 node[emergency=phone] {
     icon-image: "vehicle/emergency_phone.png";
+    set icon_z17;
     text: auto;
 }
 node[emergency=aed] {
     icon-image: "presets/aed.svg";
+    set icon_z17;
     text: auto;
 }
 node[emergency=defibrillator] {
     icon-image: "presets/aed.svg";
+    set icon_z17;
     text: auto;
 }
 node[amenity=toilets] {
     icon-image: "service/toilets.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=recycling] {
     icon-image: "service/recycling.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=waste_basket] {
     icon-image: "service/recycling/trash-bin.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=waste_disposal] {
     icon-image: "service/recycling/waste_disposal.png";
+    set icon_z17;
     text: auto;
 }
@@ -1846,12 +2088,15 @@
 node[amenity=townhall] {
     icon-image: "service.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=embassy] {
     icon-image: "service/administration/embassy.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=community_centre] {
     icon-image: "service/community_centre.png";
+    set icon_z17;
     text: auto;
 }
@@ -1862,8 +2107,10 @@
 node[amenity=drinking_water] {
     icon-image: "food/drinking_water.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=fountain] {
     icon-image: "misc/landmark/spring.png";
+    set icon_z17;
     text: auto;
 }
@@ -1883,96 +2130,120 @@
 node[amenity=place_of_worship] {
     icon-image: "religion.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=place_of_worship][religion=bahai] {
     icon-image: "religion/bahai.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=place_of_worship][religion=buddhist] {
     icon-image: "religion/buddhism.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=place_of_worship][religion=christian] {
     icon-image: "religion/church.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=place_of_worship][religion=hindu] {
     icon-image: "religion/hinduism.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=place_of_worship][religion=jain] {
     icon-image: "religion/jainism.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=place_of_worship][religion=jewish] {
     icon-image: "religion/jewish.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=place_of_worship][religion=muslim] {
     icon-image: "religion/muslim.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=place_of_worship][religion=sikh] {
     icon-image: "religion/sikhism.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=place_of_worship][religion=shinto] {
     icon-image: "religion/shinto.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=place_of_worship][religion=spiritualist] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=place_of_worship][religion=taoist] {
     icon-image: "religion/taoism.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=place_of_worship][religion=unitarian] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=place_of_worship][religion=zoroastrian] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=grave_yard] {
     icon-image: "rendering/landuse/cemetery.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=crematorium] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=post_office] {
     icon-image: "service/post_office.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=post_box] {
     icon-image: "service/post_box.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=studio] {
     icon-image: "service/studio.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=school] {
     icon-image: "education/school.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=university] {
     icon-image: "education/university.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=college] {
     icon-image: "education/college.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=kindergarten] {
     icon-image: "education/kindergarten.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=driving_school] {
     icon-image: "education/driving_school.png";
+    set icon_z17;
     text: auto;
 }
@@ -1989,4 +2260,5 @@
 node[amenity=pharmacy] {
     icon-image: "health/pharmacy.png";
+    set icon_z17;
     text: auto;
 }
@@ -1994,24 +2266,30 @@
 node[amenity=clinic] {
     icon-image: "health/hospital.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=nursery] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=baby_hatch] {
     icon-image: "health/baby_hatch.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=doctors] {
     icon-image: "health/doctor.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=dentist] {
     icon-image: "health/dentist.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=veterinary] {
     icon-image: "health/veterinary.png";
+    set icon_z17;
     text: auto;
 }
@@ -2034,52 +2312,65 @@
 node[amenity=library] {
     icon-image: "shop/rental/library.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=police] {
     icon-image: "service/police.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=fire_station] {
     icon-image: "service/firebrigade.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=bus_station] {
     icon-image: "transport/bus.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=ferry_terminal] {
     icon-image: "nautical/ferry.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=theatre] {
     icon-image: "leisure/theater.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=cinema] {
     icon-image: "leisure/cinema.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=arts_centre] {
     icon-image: "service/arts_centre.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=courthouse] {
     icon-image: "service/administration/court_of_law.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=prison] {
     icon-image: "service/administration/prison.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=bank] {
     icon-image: "money/bank.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=bureau_de_change] {
     icon-image: "money/exchange.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=atm] {
     icon-image: "money/atm.png";
+    set icon_z17;
     text: auto;
 }
@@ -2090,12 +2381,15 @@
 node[amenity=bench] {
     icon-image: "leisure/bench.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=bbq] {
     icon-image: "leisure/bbq.png";
+    set icon_z17;
     text: auto;
 }
 node[emergency=fire_hydrant] {
     icon-image: "service/fire_hydrant.png";
+    set icon_z17;
     text: auto;
 }
@@ -2109,23 +2403,29 @@
 node[amenity=shelter] {
     icon-image: "accommodation/shelter.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=hunting_stand] {
     icon-image: "hunting_stand.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=marketplace] {
     icon-image: "place/marketplace.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=wlan] {
     icon-image: "wlan.png";
+    set icon_z17;
     text: auto;
 }
 node[amenity=vending_machine] {
     icon-image: "transport/ticket-machine.png";
+    set icon_z17;
 }
 node[vending=excrement_bags] {
     icon-image: "service/excrement_bags.png";
+    set icon_z17;
     text: auto;
 }
@@ -2145,24 +2445,30 @@
 node[craft=painter] {
     icon-image: "craft/painter.png";
+    set icon_z17;
     text: auto;
 }
 node[craft=plumber] {
     icon-image: "craft/plumber.png";
+    set icon_z17;
     text: auto;
 }
 node[craft=pottery] {
     icon-image: "craft/pottery.png";
+    set icon_z17;
     text: auto;
 }
 node[craft=stonemason] {
     icon-image: "craft/stonemason.png";
+    set icon_z17;
     text: auto;
 }
 node[craft=tiler] {
     icon-image: "craft/tiler.png";
+    set icon_z17;
     text: auto;
 }
 node[craft=window_construction] {
     icon-image: "craft/window_construction.png";
+    set icon_z17;
     text: auto;
 }
@@ -2184,32 +2490,40 @@
 node[tourism=hotel] {
     icon-image: "accommodation.png";
+    set icon_z17;
     text: auto;
 }
 node[tourism=motel] {
     icon-image: "accommodation/motel.png";
+    set icon_z17;
     text: auto;
 }
 node[tourism=guest_house] {
     icon-image: "accommodation/guest_house.png";
+    set icon_z17;
     text: auto;
 }
 node[tourism=hostel] {
     icon-image: "accommodation/hostel.png";
+    set icon_z17;
     text: auto;
 }
 node[tourism=chalet] {
     icon-image: "accommodation/chalet.png";
+    set icon_z17;
     text: auto;
 }
 node[tourism=alpine_hut] {
     icon-image: "accommodation/alpine_hut.png";
+    set icon_z17;
     text: auto;
 }
 node[tourism=camp_site] {
     icon-image: "accommodation/camping.png";
+    set icon_z17;
     text: auto;
 }
 node[tourism=caravan_site] {
     icon-image: "accommodation/camping/caravan.png";
+    set icon_z17;
     text: auto;
 }
@@ -2225,20 +2539,25 @@
 node[tourism=picnic_site] {
     icon-image: "leisure/picnic.png";
+    set icon_z17;
     text: auto;
 }
 node[tourism=viewpoint] {
     icon-image: "sightseeing/viewpoint.png";
+    set icon_z17;
     text: auto;
 }
 node[tourism=theme_park] {
     icon-image: "leisure/theme_park.png";
+    set icon_z17;
     text: auto;
 }
 node[tourism=attraction] {
     icon-image: "sightseeing.png";
+    set icon_z17;
     text: auto;
 }
 node[tourism=zoo] {
     icon-image: "leisure/zoo.png";
+    set icon_z17;
     text: auto;
 }
@@ -2249,8 +2568,10 @@
 node[tourism=artwork] {
     icon-image: "service/arts_centre.png";
+    set icon_z17;
     text: auto;
 }
 node[tourism=museum] {
     icon-image: "sightseeing/museum.png";
+    set icon_z17;
     text: auto;
 }
@@ -2265,8 +2586,10 @@
 node[tourism=information] {
     icon-image: "misc/information.png";
+    set icon_z17;
     text: auto;
 }
 node[information=guidepost] {
     icon-image: "misc/information/guidepost.png";
+    set icon_z17;
     text: auto;
 }
@@ -2276,12 +2599,15 @@
 node[information=office] {
     icon-image: "misc/information/informationoffice.png";
+    set icon_z17;
     text: auto;
 }
 node[information=map] {
     icon-image: "misc/information/map.png";
+    set icon_z17;
     text: auto;
 }
 node[information=board] {
     icon-image: "misc/information/board.png";
+    set icon_z17;
     text: auto;
 }
@@ -2305,40 +2631,50 @@
 node[historic=castle] {
     icon-image: "sightseeing/castle.png";
+    set icon_z17;
     text: auto;
 }
 node[historic=monument] {
     icon-image: "sightseeing/monument.png";
+    set icon_z17;
     text: auto;
 }
 node[historic=memorial] {
     icon-image: "sightseeing/memorial.png";
+    set icon_z17;
     text: auto;
 }
 node[historic=archaeological_site] {
     icon-image: "sightseeing/archaeological.png";
+    set icon_z17;
     text: auto;
 }
 node[historic=ruins] {
     icon-image: "sightseeing/ruins.png";
+    set icon_z17;
     text: auto;
 }
 node[historic=battlefield] {
     icon-image: "sightseeing/battlefield.png";
+    set icon_z17;
     text: auto;
 }
 node[historic=palaeontological_site] {
     icon-image: "historic/palaeontological_site.png";
+    set icon_z17;
     text: auto;
 }
 node[historic=wayside_cross] {
     icon-image: "religion/wayside_cross.png";
+    set icon_z17;
     text: auto;
 }
 node[historic=wayside_shrine] {
     icon-image: "religion/wayside_shrine.png";
+    set icon_z17;
     text: auto;
 }
 node[historic=boundary_stone] {
     icon-image: "historic/boundary_stone.png";
+    set icon_z17;
     text: auto;
 }
@@ -2357,16 +2693,20 @@
 node[landuse=farm] {
     icon-image: "misc/landmark/farm.png";
+    set icon_z17;
     text: auto;
 }
 node[landuse=farmland] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
 node[landuse=meadow] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
 node[landuse=vineyard] {
     icon-image: "shop/groceries/fruits.png";
+    set icon_z17;
     text: auto;
 }
@@ -2376,4 +2716,5 @@
 node[landuse=quarry] {
     icon-image: "misc/landmark/mine.png";
+    set icon_z17;
     text: auto;
 }
@@ -2383,4 +2724,5 @@
 node[landuse=landfill] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
@@ -2392,4 +2734,5 @@
 node[landuse=reservoir] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
@@ -2399,4 +2742,5 @@
 node[landuse=forest] {
     icon-image: "misc/landmark/trees.png";
+    set icon_z17;
     text: auto;
 }
@@ -2409,8 +2753,10 @@
 node[landuse=allotments] {
     icon-image: "misc/landmark/plant.png";
+    set icon_z17;
     text: auto;
 }
 node[landuse=greenhouse_horticulture] {
     icon-image: "misc/landuse/greenhouse_horticulture.png";
+    set icon_z17;
     text: auto;
 }
@@ -2418,4 +2764,5 @@
 node[landuse=grass] {
     icon-image: "misc/landmark/plant.png";
+    set icon_z17;
     text: auto;
 }
@@ -2425,4 +2772,5 @@
 node[landuse=residential] {
     icon-image: "misc/landuse/residential.png";
+    set icon_z17;
     text: auto;
 }
@@ -2432,4 +2780,5 @@
 node[landuse=garages] {
     icon-image: "misc/landuse/garages.png";
+    set icon_z17;
     text: auto;
 }
@@ -2439,4 +2788,5 @@
 node[landuse=farmyard] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
@@ -2447,8 +2797,10 @@
 node[landuse=retail] {
     icon-image: "shop/mall.png";
+    set icon_z17;
     text: auto;
 }
 node[landuse=commercial] {
     icon-image: "misc/landuse/commercial.png";
+    set icon_z17;
     text: auto;
 }
@@ -2458,4 +2810,5 @@
 node[landuse=industrial] {
     icon-image: "misc/landmark/works.png";
+    set icon_z17;
     text: auto;
 }
@@ -2465,4 +2818,5 @@
 node[landuse=brownfield] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
@@ -2472,4 +2826,5 @@
 node[landuse=greenfield] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
@@ -2479,4 +2834,5 @@
 node[landuse=railway] {
     icon-image: "transport/railway_station.png";
+    set icon_z17;
     text: auto;
 }
@@ -2491,4 +2847,5 @@
 node[landuse=construction] {
     icon-image: "misc/construction.png";
+    set icon_z17;
     text: auto;
 }
@@ -2498,4 +2855,5 @@
 node[landuse=military] {
     icon-image: "vehicle/tank.png";
+    set icon_z17;
     text: auto;
 }
@@ -2508,4 +2866,5 @@
 node[landuse=cemetery] {
     icon-image: "rendering/landuse/cemetery.png";
+    set icon_z17;
     text: auto;
 }
@@ -2515,4 +2874,5 @@
 node[landuse=village_green] {
     icon-image: "leisure/common.png";
+    set icon_z17;
     text: auto;
 }
@@ -2522,4 +2882,5 @@
 node[landuse=recreation_ground] {
     icon-image: "leisure/common.png";
+    set icon_z17;
     text: auto;
 }
@@ -2538,20 +2899,25 @@
 node[military=airfield] {
     icon-image: "transport/airport/airfield.png";
+    set icon_z17;
     text: auto;
 }
 node[military=bunker] {
     icon-image: "misc/landmark/bunker.png";
+    set icon_z17;
     text: auto;
 }
 node[military=barracks] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
 node[military=danger_area] {
     icon-image: "misc/danger.png";
+    set icon_z17;
     text: auto;
 }
 node[military=range] {
     icon-image: "misc/landmark/range.png";
+    set icon_z17;
     text: auto;
 }
@@ -2563,28 +2929,35 @@
 node[public_transport=stop_position] {
     icon-image: "transport/railway_small.png";
+    set icon_z17;
     text: auto;
 }
 node[highway=bus_stop] {
     icon-image: "transport/bus_small.png";
+    set icon_z17;
     text: auto;
 }
 node[public_transport=stop_position][bus=yes] {
     icon-image: "transport/bus_small.png";
+    set icon_z17;
     text: auto;
 }
 node[public_transport=stop_position][aerial=yes] {
     icon-image: "transport/aerialway.png";
+    set icon_z17;
     text: auto;
 }
 node[public_transport=stop_position][ferry=yes] {
     icon-image: "transport/ferry.png";
+    set icon_z17;
     text: auto;
 }
 node[public_transport=stop_position][tram=yes] {
     icon-image: "transport/tram.png";
+    set icon_z17;
     text: auto;
 }
 node[public_transport=stop_position][train=yes] {
     icon-image: "transport/railway_small.png";
+    set icon_z17;
     text: auto;
 }
@@ -2599,16 +2972,20 @@
 node[public_transport=platform] {
     icon-image: "transport/bus_small.png";
+    set icon_z17;
     text: auto;
 }
 node[public_transport=platform][bus=yes] {
     icon-image: "transport/bus_small.png";
+    set icon_z17;
     text: auto;
 }
 node[public_transport=platform][aerial=yes] {
     icon-image: "transport/aerialway/station.png";
+    set icon_z17;
     text: auto;
 }
 node[public_transport=platform][ferry=yes] {
     icon-image: "transport/ferry.png";
+    set icon_z17;
     text: auto;
 }
@@ -2616,4 +2993,5 @@
 node[public_transport=platform][train=yes] {
     icon-image: "transport/railway_station.png";
+    set icon_z17;
     text: auto;
 }
@@ -2630,24 +3008,30 @@
 node[railway=station], node[railway=tram_station] {
     icon-image: "transport/railway_station.png";
+    set icon_z17;
     text: auto;
 }
 node[railway=halt] {
     icon-image: "transport/railway_small.png";
+    set icon_z17;
     text: auto;
 }
 node[railway=tram_stop] {
     icon-image: "transport/tram.png";
+    set icon_z17;
     text: auto;
 }
 node[railway=subway_entrance] {
     icon-image: "transport/underground.png";
+    set icon_z17;
     text: auto;
 }
 node[railway=crossing] {
     icon-image: "vehicle/crossing_small.png";
+    set icon_z17;
     text: auto;
 }
 node[railway=level_crossing] {
     icon-image: "vehicle/crossing.png";
+    set icon_z17;
     text: auto;
 }
@@ -2718,8 +3102,10 @@
 node[railway=turntable] {
     icon-image: "transport/turntable.png";
+    set icon_z17;
     text: auto;
 }
 node[railway=buffer_stop] {
     icon-image: "transport/buffer_stop.png";
+    set icon_z17;
     text: auto;
 }
@@ -2743,4 +3129,5 @@
 node[service=yard], node[service=siding], node[service=spur] {
     icon-image: "misc/deprecated.png";
+    set icon_z17;
     text: auto;
 }
@@ -2760,4 +3147,5 @@
 node[aeroway=aerodrome] {
     icon-image: "transport/airport.png";
+    set icon_z17;
     text: auto;
 }
@@ -2767,4 +3155,5 @@
 node[aeroway=terminal] {
     icon-image: "transport/airport/terminal.png";
+    set icon_z17;
     text: auto;
 }
@@ -2774,4 +3163,5 @@
 node[aeroway=helipad] {
     icon-image: "transport/airport/helipad.png";
+    set icon_z17;
     text: auto;
 }
@@ -2785,4 +3175,5 @@
 node[aeroway=runway] {
     icon-image: "transport/airport/runway.png";
+    set icon_z17;
     text: auto;
 }
@@ -2796,4 +3187,5 @@
 node[aeroway=taxiway] {
     icon-image: "transport/airport/taxiway.png";
+    set icon_z17;
     text: auto;
 }
@@ -2803,16 +3195,20 @@
 node[aeroway=apron] {
     icon-image: "transport/airport/apron.png";
+    set icon_z17;
     text: auto;
 }
 node[aeroway=hangar] {
     icon-image: "transport/airport/hangar.png";
+    set icon_z17;
     text: auto;
 }
 node[aeroway=gate] {
     icon-image: "transport/airport/gate.png";
+    set icon_z17;
     text: auto;
 }
 node[aeroway=windsock] {
     icon-image: "transport/airport/windsock.png";
+    set icon_z17;
     text: auto;
 }
@@ -2830,8 +3226,10 @@
 node[aerialway=cable_car] {
     icon-image: "transport/aerialway/cable_car.png";
+    set icon_z17;
     text: auto;
 }
 node[aerialway=gondola] {
     icon-image: "transport/aerialway/gondola.png";
+    set icon_z17;
     text: auto;
 }
@@ -2843,4 +3241,5 @@
 node[aerialway=chair_lift] {
     icon-image: "transport/aerialway/chair_lift.png";
+    set icon_z17;
     text: auto;
 }
@@ -2852,4 +3251,5 @@
 node[aerialway=drag_lift] {
     icon-image: "transport/aerialway/drag_lift.png";
+    set icon_z17;
     text: auto;
 }
@@ -2860,8 +3260,10 @@
 node[aerialway=station] {
     icon-image: "transport/aerialway/station.png";
+    set icon_z17;
     text: auto;
 }
 node[aerialway=pylon] {
     icon-image: "misc/landmark/power/tower_small.png";
+    set icon_z17;
     text: auto;
 }
@@ -2873,4 +3275,5 @@
 node[aerialway=goods] {
     icon-image: "transport/aerialway/goods.png";
+    set icon_z17;
     text: auto;
 }
@@ -2885,9 +3288,12 @@
 node[natural=spring] {
     icon-image: "misc/landmark/spring.png";
+    set icon_z17;
     text: auto;
 }
 node[natural=saddle] {
     icon-image: "presets/saddle.svg";
-    text: auto;
+    set icon_z11;
+    text: auto;
+    set text_z11;
 }
 area[natural=peak] {
@@ -2896,5 +3302,7 @@
 node[natural=peak] {
     icon-image: "presets/peak.svg";
-    text: auto;
+    set icon_z11;
+    text: auto;
+    set text_z11;
 }
 area[natural=glacier] {
@@ -2903,5 +3311,7 @@
 node[natural=glacier] {
     icon-image: "misc/landmark/glacier_small.png";
-    text: auto;
+    set icon_z11;
+    text: auto;
+    set text_z11;
 }
 area[natural=volcano] {
@@ -2910,5 +3320,7 @@
 node[natural=volcano] {
     icon-image: "misc/landmark/volcano_small.png";
-    text: auto;
+    set icon_z11;
+    text: auto;
+    set text_z11;
 }
 area[natural=cliff]:closed {
@@ -2919,8 +3331,9 @@
     repeat-image-align: top;
     width: 1;
-    color: #b2b2b2;    
+    color: #b2b2b2;
 }
 node[natural=cliff] {
     icon-image: "misc/cliff.png";
+    set icon_z17;
     text: auto;
 }
@@ -2930,4 +3343,5 @@
 node[natural=scree] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
@@ -2937,4 +3351,5 @@
 node[natural=scrub] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
@@ -2944,4 +3359,5 @@
 node[natural=fell] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
@@ -2951,4 +3367,5 @@
 node[natural=heath] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
@@ -2959,4 +3376,5 @@
 node[natural=tree_row] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
@@ -2966,4 +3384,5 @@
 node[natural=wood] {
     icon-image: "misc/landmark/trees.png";
+    set icon_z17;
     text: auto;
 }
@@ -2973,4 +3392,5 @@
 node[natural=grassland] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
@@ -2980,4 +3400,5 @@
 node[natural=wetland] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
@@ -2987,4 +3408,5 @@
 node[natural=water] {
     icon-image: "nautical/water.png";
+    set icon_z17;
     text: auto;
 }
@@ -2995,4 +3417,5 @@
 node[natural=coastline] {
     icon-image: "misc/coastline.png";
+    set icon_z17;
     text: auto;
 }
@@ -3002,4 +3425,5 @@
 node[natural=mud] {
     icon-image: "misc/mud.png";
+    set icon_z17;
     text: auto;
 }
@@ -3009,4 +3433,5 @@
 node[natural=beach] {
     icon-image: "misc/beach.png";
+    set icon_z17;
     text: auto;
 }
@@ -3016,4 +3441,5 @@
 node[natural=sand] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
@@ -3025,16 +3451,20 @@
 node[natural=bay] {
     icon-image: "misc/bay.png";
+    set icon_z17;
     text: auto;
 }
 node[natural=land] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
 node[natural=cave_entrance] {
     icon-image: "misc/landmark/cave_entrance.png";
+    set icon_z17;
     text: auto;
 }
 node[natural=tree] {
     icon-image: "misc/landmark/trees.png";
+    set icon_z17;
     text: auto;
 }
@@ -3042,4 +3472,5 @@
 node[natural=tree][leaf_type=needleleaved] {
     icon-image: "misc/landmark/trees_conifer.png";
+    set icon_z17;
     text: auto;
 }
@@ -3047,8 +3478,10 @@
 node[natural=tree][leaf_type=broadleaved] {
     icon-image: "misc/landmark/trees_broad_leaved.png";
+    set icon_z17;
     text: auto;
 }
 node[natural=tree][type=palm] {
     icon-image: "misc/landmark/trees_palm.png";
+    set icon_z17;
     text: auto;
 }
@@ -3084,12 +3517,15 @@
 node[waterway=dock] {
     icon-image: "nautical/boatyard.png";
+    set icon_z17;
     text: auto;
 }
 node[waterway=lock_gate] {
     icon-image: "nautical/lock_gate.png";
+    set icon_z17;
     text: auto;
 }
 node[waterway=turning_point] {
     icon-image: "nautical/turning.png";
+    set icon_z17;
     text: auto;
 }
@@ -3099,16 +3535,20 @@
 node[waterway=boatyard] {
     icon-image: "nautical/boatyard.png";
+    set icon_z17;
     text: auto;
 }
 node[waterway=water_point] {
     icon-image: "accommodation/camping/water.png";
+    set icon_z17;
     text: auto;
 }
 node[waterway=waste_disposal] {
     icon-image: "accommodation/camping/wastewater.png";
+    set icon_z17;
     text: auto;
 }
 node[waterway=mooring] {
     icon-image: "nautical/marina.png";
+    set icon_z17;
     text: auto;
 }
@@ -3119,4 +3559,5 @@
 node[waterway=weir] {
     icon-image: "nautical/weir.png";
+    set icon_z17;
     text: auto;
 }
@@ -3127,4 +3568,5 @@
 node[waterway=rapids] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
@@ -3138,4 +3580,5 @@
 node[waterway=dam] {
     icon-image: "nautical/dam.png";
+    set icon_z17;
     text: auto;
 }
@@ -3147,4 +3590,5 @@
 node[waterway=waterfall] {
     icon-image: "nautical/waterfall.png";
+    set icon_z17;
     text: auto;
 }
@@ -3154,4 +3598,5 @@
 node[waterway=ditch], node[waterway=drain] {
     icon-image: "misc/deprecated.png";
+    set icon_z17;
     text: auto;
 }
@@ -3182,4 +3627,5 @@
 node[route=pub_crawl] {
     icon-image: "misc/deprecated.png";
+    set icon_z17;
     text: auto;
 }
@@ -3203,12 +3649,15 @@
 node[sport="9pin"] {
     icon-image: "sport/10pin.png";
+    set icon_z17;
     text: auto;
 }
 node[sport="10pin"] {
     icon-image: "sport/10pin.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=athletics] {
     icon-image: "sport/athletics.png";
+    set icon_z17;
     text: auto;
 }
@@ -3219,4 +3668,5 @@
 node[sport=gaelic_football] {
     icon-image: "sport/soccer.png";
+    set icon_z17;
     text: auto;
 }
@@ -3224,4 +3674,5 @@
 node[sport=rugby_union] {
     icon-image: "sport/football.png";
+    set icon_z17;
     text: auto;
 }
@@ -3240,40 +3691,50 @@
 node[sport=baseball] {
     icon-image: "sport/baseball.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=basketball] {
     icon-image: "sport/basketball.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=boules] {
     icon-image: "sport/boule.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=bowls] {
     icon-image: "sport/boule.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=canoe] {
     icon-image: "sport/canoe.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=chess] {
     icon-image: "sport/chess.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=climbing] {
-    icon-image:"sport/climbing.png" ;
+    icon-image: "sport/climbing.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=cricket] {
     icon-image: "sport/cricket.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=cricket_nets] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=croquet] {
     icon-image: "sport/croquet.png";
+    set icon_z17;
     text: auto;
 }
@@ -3292,40 +3753,50 @@
 node[sport=cycling] {
     icon-image: "sport/cycling.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=dog_racing] {
     icon-image: "leisure/dog.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=equestrian] {
     icon-image: "sport/riding.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=golf] {
     icon-image: "sport/golf.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=gymnastics] {
     icon-image: "sport/multi.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=hockey] {
     icon-image: "sport/hockey.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=horse_racing] {
     icon-image: "sport/riding.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=karting] {
     icon-image: "sport/karting.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=motocross] {
     icon-image: "sport/motocross.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=motor] {
     icon-image: "sport/motor.png";
+    set icon_z17;
     text: auto;
 }
@@ -3339,20 +3810,25 @@
 node[sport=multi] {
     icon-image: "sport/multi.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=pelota] {
     icon-image: "sport/pelota.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=racquet] {
     icon-image: "sport/racquetball.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=skating] {
     icon-image: "sport/skating.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=skateboard] {
     icon-image: "sport/skateboard.png";
+    set icon_z17;
     text: auto;
 }
@@ -3362,4 +3838,5 @@
 node[sport=swimming] {
     icon-image: "sport/pool.png";
+    set icon_z17;
     text: auto;
 }
@@ -3372,16 +3849,20 @@
 node[sport=skiing] {
     icon-image: "sport/skiing.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=table_tennis] {
     icon-image: "sport/table_tennis.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=tennis] {
     icon-image: "sport/tennis.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=paintball] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
@@ -3400,40 +3881,50 @@
 node[sport=squash] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=shooting] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=volleyball] {
     icon-image: "sport/volleyball.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=beachvolleyball] {
     icon-image: "sport/beachvolleyball.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=bowling] {
     icon-image: "sport/10pin.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=handball] {
     icon-image: "sport/handball.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=rowing] {
     icon-image: "sport/rowing.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=sailing] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=diving] {
     icon-image: "sport/diving.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=badminton] {
     icon-image: "misc/no_icon.png";
+    set icon_z17;
     text: auto;
 }
@@ -3447,20 +3938,25 @@
 node[sport=archery] {
     icon-image: "sport/archery.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=fishing] {
     icon-image: "sport/fishing.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=safety_training] {
     icon-image: "sport/safety_training.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=model_aerodrome] {
     icon-image: "transport/airport.png";
+    set icon_z17;
     text: auto;
 }
 node[sport=rc_car] {
     icon-image: "transport/car.png";
+    set icon_z17;
     text: auto;
 }
@@ -3472,5 +3968,7 @@
 node[mountain_pass?] {
     icon-image: "misc/landmark/mountain_pass.png";
-    text: auto;
+    set icon_z11;
+    text: auto;
+    set text_z11;
 }
 
@@ -3546,4 +4044,5 @@
 node[boundary=national_park] {
     icon-image: "misc/deprecated.png";
+    set icon_z17;
     text: auto;
 }
@@ -3554,26 +4053,27 @@
 node[maxspeed=none][!is_prop_set(icon-image)] {
     icon-image: "vehicle/restriction/maxspeed_none.svg";
-}
-node|z17-[maxspeed=~/^[0-9]+$/][!is_prop_set(icon-image)] {
+    set icon_z17;
+}
+node[maxspeed=~/^[0-9]+$/][!is_prop_set(icon-image)] {
     maxspeedprop: tag(maxspeed);
     set maxspeedclass;
 }
-node|z17-[maxspeed=signals][!is_prop_set(icon-image)] {
+node[maxspeed=signals][!is_prop_set(icon-image)] {
     maxspeedprop: " ?";
     set maxspeedclass;
 }
-node|z17-[maxspeed=~/^[0-9]+ mph/][!is_prop_set(icon-image)] {
+node[maxspeed=~/^[0-9]+ mph/][!is_prop_set(icon-image)] {
     maxspeedprop: get(split(" mph",tag(maxspeed)),0);
     set maxspeedclass;
 }
-node|z17-[maxspeed=~/[0-9]+ km\/h/][!is_prop_set(icon-image)] {
+node[maxspeed=~/[0-9]+ km\/h/][!is_prop_set(icon-image)] {
     maxspeedprop: get(split(" km/h",tag(maxspeed)),0);
     set maxspeedclass;
 }
-node|z17-[maxspeed=~/[0-9]+ knots/][!is_prop_set(icon-image)] {
+node[maxspeed=~/[0-9]+ knots/][!is_prop_set(icon-image)] {
     maxspeedprop: get(split(" knots",tag(maxspeed)),0);
     set maxspeedclass;
 }
-node|z17-[prop(maxspeedclass, default)][!is_prop_set(icon-image, default)]::core_maxnodebg {
+node[prop(maxspeedclass, default)][!is_prop_set(icon-image, default)]::core_maxnodebg {
     /* background (white) */
     symbol-shape: circle;
@@ -3582,10 +4082,10 @@
     major-z-index: 4.2;
 }
-node|z17-[maxspeed]["maxspeed:variable"]["maxspeed:variable"!="no"]::core_maxnodebg,
-node|z17-[maxspeed=signals]::core_maxnodebg {
+node[maxspeed]["maxspeed:variable"]["maxspeed:variable"!="no"]::core_maxnodebg,
+node[maxspeed=signals]::core_maxnodebg {
     /* background (black) */
     symbol-fill-color: black;
 }
-node|z17-[prop(maxspeedclass, default)]::core_maxnodefg {
+node[prop(maxspeedclass, default)]::core_maxnodefg {
     /* foreground (black text and red circle) */
     symbol-shape: circle;
@@ -3603,118 +4103,15 @@
     major-z-index: 4.2;
 }
-node|z17-[maxspeed]["maxspeed:variable"]["maxspeed:variable"!="no"]::core_maxnodefg,
-node|z17-[maxspeed=signals]::core_maxnodefg {
+node[maxspeed]["maxspeed:variable"]["maxspeed:variable"!="no"]::core_maxnodefg,
+node[maxspeed=signals]::core_maxnodefg {
     /* foreground (white text) */
     text-color: white;
 }
-
-/***************/
-/* zoom levels */
-/***************/
-
-node {
-    text: auto;
-}
-node|z-16, node|z17-[!is_prop_set("icon-image")]!.maxspeedclass {
-    symbol-size:1;
-    symbol-shape: square;
-    symbol-stroke-color: node_standard#ffff00;
-    major-z-index: 4.95; /* put node squares above line text */
-}
-way > node|z-15!:tagged {
+node|z-16[prop(maxspeedclass, default)][setting("hide_icons")]::core_maxnodebg {
     symbol-shape: none;
 }
-
-node|z16-:connection {
-    symbol-stroke-color: node_connection#ffff00;
-}
-node:tagged {
-    symbol-stroke-color: none;
-    symbol-fill-color: node_tagged#00ffff;
-}
-
-node|z16             { symbol-size: 2; }
-way > node|z16       { symbol-size: 1; }
-node|z16:connection  { symbol-size: 2; }
-
-node|z17             { symbol-size: 4; }
-way > node|z17       { symbol-size: 2; }
-node|z17:connection  { symbol-size: 4; }
-
-node|z18             { symbol-size: 5; }
-way > node|z18       { symbol-size: 3; }
-node|z18:connection  { symbol-size: 5; }
-
-node|z19-            { symbol-size: 6; }
-way > node|z19-      { symbol-size: 4; }
-node|z19-:connection { symbol-size: 6; }
-
-node|z-16,
-relation|z-16[type=restriction] {
-    icon-image: none;
-}
-node|z-17 {
+node|z-16[prop(maxspeedclass, default)][setting("hide_icons")]::core_maxnodefg {
     text: none;
-}
-
-node|z19,area|z19   { font-size: 9; }
-node|z20-,area|z20-   { font-size: 10; }
-
-/*******************/
-/* way text labels */
-/*******************/
-
-
-way|z17-[highway^=motorway],
-way|z17-[highway^=trunk],
-way|z17-[highway^=primary],
-way|z17-[highway^=secondary],
-way|z17-[highway^=tertiary],
-way|z17-[highway=unclassified],
-way|z17-[highway=residential],
-way|z17-[highway=living_street],
-way|z17-[highway=service],
-way|z17-[highway=track] {
-    text: auto;
-    text-color: black;
-    font-size: 9;
-    text-position: line;
-    text-halo-opacity: 1;
-    text-halo-radius: 1.5;
-}
-way|z17-[highway^=motorway] {
-    text-halo-color: motorway#809bc0;
-}
-way|z17-[highway^=trunk] {
-    text-halo-color: trunk#7fc97f;
-}
-way|z17-[highway^=primary] {
-    text-halo-color: primary#fb805f;
-}
-way|z17-[highway^=secondary] {
-    text-halo-color: secondary#fdbf6f;
-}
-way|z17-[highway^=tertiary] {
-    text-halo-color: tertiary#f7f496;
-}
-way|z17-[highway=unclassified],
-way|z17-[highway=residential],
-way|z17-[highway=living_street] {
-    text-halo-color: street#c0c0c0;
-}
-way|z17-[highway=service] {
-    text-halo-color: service#809bc0;
-}
-way|z17-[highway=track] {
-    text-halo-color: highway_track#006600;
-}
-way|z18[highway] {
-    font-size: 10;
-}
-way|z19[highway] {
-    font-size: 11;
-}
-way|z20-[highway] {
-    font-size: 12;
+    symbol-shape: none;
 }
 
@@ -3724,12 +4121,14 @@
 
 /* lot's of "openGeoDB:..." tags can be found in germany */
-node|z11-["openGeoDB:type"=Stadt],
-node|z11-["openGeoDB:type"=Kreis],
-node|z11-["openGeoDB:type"=Gemeinde],
-node|z11-["openGeoDB:type"=Ort],
-node|z11-["openGeoDB:type"=District],
-node|z11-["openGeoDB:location"=locality] {
+node["openGeoDB:type"=Stadt],
+node["openGeoDB:type"=Kreis],
+node["openGeoDB:type"=Gemeinde],
+node["openGeoDB:type"=Ort],
+node["openGeoDB:type"=District],
+node["openGeoDB:location"=locality] {
     icon-image: "place/settlement/town.png";
-    text: auto;
+    set icon_z11;
+    text: auto;
+    set text_z11;
     font-size: 10;
     font-weight: bold;
@@ -3756,11 +4155,13 @@
     fill-color: place#8de3cb;
 }
-node|z11-[place=continent],
-node|z11-[place=country],
-node|z11-[place=state],
-node|z11-[place=region],
-node|z11-[place=county] {
+node[place=continent],
+node[place=country],
+node[place=state],
+node[place=region],
+node[place=county] {
     icon-image: "place/settlement/capital.png";
-    text: auto;
+    set icon_z11;
+    text: auto;
+    set text_z11;
     font-size: 10;
     font-weight: bold;
@@ -3769,7 +4170,9 @@
     text-halo-radius: 1;
 }
-node|z11-[place=city] {
+node[place=city] {
     icon-image: "place/settlement/city.png";
-    text: auto;
+    set icon_z11;
+    text: auto;
+    set text_z11;
     font-size: 10;
     font-weight: bold;
@@ -3778,13 +4181,15 @@
     text-halo-radius: 1;
 }
-node|z11-[place=town],
-node|z11-[place=village],
-node|z11-[place=hamlet],
-node|z11-[place=farm],
-node|z11-[place=isolated_dwelling],
-node|z11-[place=neighbourhood],
-node|z11-[place=suburb] {
+node[place=town],
+node[place=village],
+node[place=hamlet],
+node[place=farm],
+node[place=isolated_dwelling],
+node[place=neighbourhood],
+node[place=suburb] {
     icon-image: "place/settlement/town.png";
-    text: auto;
+    set icon_z11;
+    text: auto;
+    set text_z11;
     font-size: 10;
     font-weight: bold;
@@ -3793,7 +4198,9 @@
     text-halo-radius: 1;
 }
-node|z11-[place=locality] {
+node[place=locality] {
     icon-image: "place/locality.png";
-    text: auto;
+    set icon_z11;
+    text: auto;
+    set text_z11;
     font-size: 10;
     font-weight: bold;
@@ -3802,7 +4209,9 @@
     text-halo-radius: 1;
 }
-node|z11-[place=island] {
+node[place=island] {
     icon-image: "place/island.png";
-    text: auto;
+    set icon_z11;
+    text: auto;
+    set text_z11;
     font-size: 10;
     font-weight: bold;
@@ -3811,7 +4220,9 @@
     text-halo-radius: 1;
 }
-node|z11-[place=islet] {
+node[place=islet] {
     icon-image: "place/islet.png";
-    text: auto;
+    set icon_z11;
+    text: auto;
+    set text_z11;
     font-size: 10;
     font-weight: bold;
@@ -3819,4 +4230,167 @@
     text-halo-color: white;
     text-halo-radius: 1;
+}
+
+/***************************/
+/* "work in progress" tags */
+/***************************/
+
+node|z16-[fixme]::core_fixme,
+node|z-15[fixme][!setting("hide_icons")]::core_fixme,
+node|z16-[FIXME]::core_fixme,
+node|z-15[FIXME][!setting("hide_icons")]::core_fixme {
+    object-z-index: 20;
+    icon-image: "misc/fixme-annotation.png";
+}
+node|z16-[note]::core_note,
+node|z-15[note][!setting("hide_icons")]::core_note {
+    object-z-index: 10;
+    icon-image: "misc/note-annotation.png";
+}
+
+/* special display of unreviewed tiger data (USA) */
+way["tiger:reviewed"=no]::core_tiger {
+    major-z-index: -10;
+    width: 11;
+    color: tiger_data#808000;
+    opacity: 0.6;
+}
+
+/****************************************/
+/* zoom levels and general node display */
+/****************************************/
+
+/*
+Summary of different zoom levels:
+  |z11-   place=* icons and text is shown
+  |z-15   untagged way nodes are hidden completely
+  |z16-   fixme=* and note=* symbols
+  |z17-   normal POI icons (without text),
+          street name along highway=* ways
+  |z18-   text for normal POI icons is shown
+  
+ * text size and node size is adapted according to zoom level (see style source below)
+ * maxspeed icons should not be distinguishable from POIs with "icon-image" property
+
+*/
+
+node {
+    text: auto;
+}
+node|z-16[setting("hide_icons")],
+node|z17-[!is_prop_set("icon-image")][setting("hide_icons")]!.maxspeedclass {
+    symbol-size:1;
+    symbol-shape: square;
+    symbol-stroke-color: node_standard#ffff00;
+    major-z-index: 4.95; /* put node squares above line text */
+}
+node[!is_prop_set("icon-image")][!setting("hide_icons")]!.maxspeedclass {
+    symbol-shape: square;
+    symbol-stroke-color: node_standard#ffff00;
+    major-z-index: 4.95; /* put node squares above line text */
+}
+way > node|z-15[setting("shrink_nodes")]!:tagged {
+    symbol-shape: none;
+}
+node:connection {
+    symbol-stroke-color: node_connection#ffff00;
+}
+node:tagged {
+    symbol-stroke-color: none;
+    symbol-fill-color: node_tagged#00ffff;
+}
+
+node|z16[setting("shrink_nodes")]             { symbol-size: 2; }
+way > node|z16[setting("shrink_nodes")]       { symbol-size: 1; }
+node|z16[setting("shrink_nodes")]:connection  { symbol-size: 2; }
+
+node|z17[setting("shrink_nodes")]             { symbol-size: 4; }
+way > node|z17[setting("shrink_nodes")]       { symbol-size: 2; }
+node|z17[setting("shrink_nodes")]:connection  { symbol-size: 4; }
+
+node|z18[setting("shrink_nodes")]             { symbol-size: 4; }
+way > node|z18[setting("shrink_nodes")]       { symbol-size: 3; }
+node|z18[setting("shrink_nodes")]:connection  { symbol-size: 5; }
+
+node|z19-[setting("shrink_nodes")]            { symbol-size: 4; }
+way > node|z19-[setting("shrink_nodes")]      { symbol-size: 4; }
+node|z19-[setting("shrink_nodes")]:connection { symbol-size: 6; }
+
+node[!setting("shrink_nodes")]            { symbol-size: 4; }
+way > node[!setting("shrink_nodes")]      { symbol-size: 4; }
+node[!setting("shrink_nodes")]:connection { symbol-size: 6; }
+
+node|z-10[setting("hide_icons")] {
+    icon-image: none;
+}
+node|z-16[setting("hide_icons")].icon_z17!.icon_z11,
+relation|z-16[type=restriction][setting("hide_icons")] {
+    icon-image: none;
+}
+node|z-10[setting("hide_icons")] {
+    text: none;
+}
+node|z-17[setting("hide_icons")]!.text_z11 {
+    text: none;
+}
+
+node|z19,area|z19   { font-size: 9; }
+node|z20-,area|z20-   { font-size: 10; }
+
+/*******************/
+/* way text labels */
+/*******************/
+
+way|z17-[highway^=motorway],
+way|z17-[highway^=trunk],
+way|z17-[highway^=primary],
+way|z17-[highway^=secondary],
+way|z17-[highway^=tertiary],
+way|z17-[highway=unclassified],
+way|z17-[highway=residential],
+way|z17-[highway=living_street],
+way|z17-[highway=service],
+way|z17-[highway=track] {
+    text: auto;
+    text-color: black;
+    font-size: 9;
+    text-position: line;
+    text-halo-opacity: 1;
+    text-halo-radius: 1.5;
+}
+way|z17-[highway^=motorway] {
+    text-halo-color: motorway#809bc0;
+}
+way|z17-[highway^=trunk] {
+    text-halo-color: trunk#7fc97f;
+}
+way|z17-[highway^=primary] {
+    text-halo-color: primary#fb805f;
+}
+way|z17-[highway^=secondary] {
+    text-halo-color: secondary#fdbf6f;
+}
+way|z17-[highway^=tertiary] {
+    text-halo-color: tertiary#f7f496;
+}
+way|z17-[highway=unclassified],
+way|z17-[highway=residential],
+way|z17-[highway=living_street] {
+    text-halo-color: street#c0c0c0;
+}
+way|z17-[highway=service] {
+    text-halo-color: service#809bc0;
+}
+way|z17-[highway=track] {
+    text-halo-color: highway_track#006600;
+}
+way|z18[highway] {
+    font-size: 10;
+}
+way|z19[highway] {
+    font-size: 11;
+}
+way|z20-[highway] {
+    font-size: 12;
 }
 
@@ -3842,3 +4416,2 @@
      power=station -> power=plant or power=sub_station 
 */
-
