Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z0.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z0.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z0.xml	(revision 35743)
@@ -0,0 +1,147 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Render just captions for z4 -->
+
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+    minimumMapWidth="1"
+    minimumMapHeight="1"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+    <!-- Don't do anything on z0
+      <rule e="node" k="place" v="continent">
+        <text k="name" class='caption-casing continent-caption-casing' />
+        <text k="name" class='caption-core continent-caption' />
+      </rule>
+    -->
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+
+        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
+            /* DO NOT DELETE .untagged-segments - Used by osmarender.xsl */
+            .untagged-segments {
+                stroke-width: 0.5px;
+                stroke-linejoin: miter;
+                stroke-linecap: butt;
+                stroke: #e0e0e0;
+                stroke-dasharray: 0.5,0.5;
+            }
+
+            .caption-casing {
+				fill: white;
+                stroke: white;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+            .caption-core {
+                stroke: white;
+                stroke-width: 0px;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+           .continent-caption-casing { font-size: 100000px; stroke-width: 25000px; }
+           .continent-caption        { font-size: 100000px; }
+
+
+
+            /* Map decoration */
+            .map-grid-line {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 0.1px;
+                stroke-opacity: 0.5;
+            }
+
+            .map-border-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 3px;
+                stroke-miterlimit: 4;
+                stroke-dasharray: none;
+                stroke-opacity: 1;
+                stroke-linecap: round;
+            }
+
+            .map-border-core {
+                fill: none;
+                fill-opacity: 1;
+                fill-rule: nonzero;
+                stroke: #ffffff;
+                stroke-width: 2px;
+                stroke-miterlimit: 0;
+                stroke-dashoffset: -0.5px;
+                stroke-opacity: 1;
+            }
+
+            .map-scale-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 4px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-core {
+                fill: none;
+                stroke: #ffffff;
+                stroke-width: 3px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-bookend {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 1px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-caption {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                fill: #8080ff;
+            }
+
+            <!-- map background must be the same for all zooms or else empty tile detection will fail -->
+            .map-background {
+                fill: #f8f8f8;
+                stroke: none;
+            }
+
+            .map-title {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 20px;
+                text-anchor: middle;
+                fill: black;
+            }
+
+            .map-title-background {
+                fill: white;
+            }
+
+            .map-marginalia-background {
+                fill: white;
+            }
+        </style>
+
+    </defs>
+
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z1.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z1.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z1.xml	(revision 35743)
@@ -0,0 +1,149 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Render just captions for z1 -->
+
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+    minimumMapWidth="1"
+    minimumMapHeight="1"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+  <rule e="node|way" k="osmarender:render" v="~|yes">
+
+      <rule e="node" k="place" v="continent">
+        <text k="name" class='caption-casing continent-caption-casing' />
+        <text k="name" class='caption-core continent-caption' />
+      </rule>
+
+   </rule> <!-- k="osmarender:render" v="~|yes" -->
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+
+        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
+            /* DO NOT DELETE .untagged-segments - Used by osmarender.xsl */
+            .untagged-segments {
+                stroke-width: 0.5px;
+                stroke-linejoin: miter;
+                stroke-linecap: butt;
+                stroke: #e0e0e0;
+                stroke-dasharray: 0.5,0.5;
+            }
+
+            .caption-casing {
+				fill: white;
+                stroke: white;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+            .caption-core {
+                stroke: white;
+                stroke-width: 0px;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+            .continent-caption-casing { font-size: 100000px; stroke-width: 30000px; }
+            .continent-caption        { font-size: 100000px; }
+
+
+
+            /* Map decoration */
+            .map-grid-line {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 0.1px;
+                stroke-opacity: 0.5;
+            }
+
+            .map-border-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 3px;
+                stroke-miterlimit: 4;
+                stroke-dasharray: none;
+                stroke-opacity: 1;
+                stroke-linecap: round;
+            }
+
+            .map-border-core {
+                fill: none;
+                fill-opacity: 1;
+                fill-rule: nonzero;
+                stroke: #ffffff;
+                stroke-width: 2px;
+                stroke-miterlimit: 0;
+                stroke-dashoffset: -0.5px;
+                stroke-opacity: 1;
+            }
+
+            .map-scale-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 4px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-core {
+                fill: none;
+                stroke: #ffffff;
+                stroke-width: 3px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-bookend {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 1px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-caption {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                fill: #8080ff;
+            }
+
+            <!-- map background must be the same for all zooms or else empty tile detection will fail -->
+            .map-background {
+                fill: #f8f8f8;
+                stroke: none;
+            }
+
+            .map-title {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 20px;
+                text-anchor: middle;
+                fill: black;
+            }
+
+            .map-title-background {
+                fill: white;
+            }
+
+            .map-marginalia-background {
+                fill: white;
+            }
+        </style>
+
+    </defs>
+
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z10.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z10.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z10.xml	(revision 35743)
@@ -0,0 +1,163 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Render just captions for z10 -->
+
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+    minimumMapWidth="1"
+    minimumMapHeight="1"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+  <rule e="node|way" k="osmarender:render" v="~|yes">
+    <rule e="node|way" k="osmarender:renderName" v="~|yes">
+
+    	<rule e="node" k="place" v="town|city" horizontalProximity="0.06" verticalProximity="0.015">
+    	  <rule e="node" k="place" v="town">
+    	    <text k="name" class='caption-casing town-caption-casing'/>
+    	    <text k="name" class='caption-core town-caption' />
+    	  </rule>
+    	</rule>
+
+    	<rule e="node" k="place" v="city">
+    		<text k="name" class='caption-casing city-caption-casing' />
+    		<text k="name" class='caption-core city-caption' />
+    	</rule>
+
+    </rule> <!-- k="osmarender:renderName" v="~|yes" -->
+  </rule> <!-- k="osmarender:render" v="~|yes" -->
+
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+
+        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
+            /* DO NOT DELETE .untagged-segments - Used by osmarender.xsl */
+            .untagged-segments {
+                stroke-width: 0.5px;
+                stroke-linejoin: miter;
+                stroke-linecap: butt;
+                stroke: #e0e0e0;
+                stroke-dasharray: 0.5,0.5;
+            }
+
+            /* Places - generic styles */
+            .caption-casing {
+        				fill: white;
+                stroke: white;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+            .caption-core {
+                stroke: white;
+                stroke-width: 0px;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+			.city-caption-casing    { font-size: 240px; stroke-width: 75px; }
+			.city-caption           { font-size: 240px; }
+
+			.town-caption-casing    { font-size: 160px; stroke-width: 50px; }
+			.town-caption           { font-size: 160px; }
+
+
+
+            /* Map decoration */
+            .map-grid-line {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 0.1px;
+                stroke-opacity: 0.5;
+            }
+
+            .map-border-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 3px;
+                stroke-miterlimit: 4;
+                stroke-dasharray: none;
+                stroke-opacity: 1;
+                stroke-linecap: round;
+            }
+
+            .map-border-core {
+                fill: none;
+                fill-opacity: 1;
+                fill-rule: nonzero;
+                stroke: #ffffff;
+                stroke-width: 2px;
+                stroke-miterlimit: 0;
+                stroke-dashoffset: -0.5px;
+                stroke-opacity: 1;
+            }
+
+            .map-scale-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 4px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-core {
+                fill: none;
+                stroke: #ffffff;
+                stroke-width: 3px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-bookend {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 1px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-caption {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                fill: #8080ff;
+            }
+
+            <!-- map background must be the same for all zooms or else empty tile detection will fail -->
+            .map-background {
+                fill: #f8f8f8;
+                stroke: none;
+            }
+
+            .map-title {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 20px;
+                text-anchor: middle;
+                fill: black;
+            }
+
+            .map-title-background {
+                fill: white;
+            }
+
+            .map-marginalia-background {
+                fill: white;
+            }
+        </style>
+
+    </defs>
+
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z11.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z11.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z11.xml	(revision 35743)
@@ -0,0 +1,165 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Render just captions for z11 -->
+
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+    minimumMapWidth="1"
+    minimumMapHeight="1"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+  <rule e="node|way" k="osmarender:render" v="~|yes">
+    <rule e="node|way" k="osmarender:renderName" v="~|yes">
+
+      <rule e="node" k="place" v="town|city" horizontalProximity="0.032" verticalProximity="0.016">
+        <rule e="node" k="place" v="town">
+          <text k="name" class='caption-casing town-caption-casing' />
+          <text k="name" class='caption-core town-caption' />
+        </rule>
+      </rule>
+
+      <rule e="node" k="place" v="city">
+        <text k="name" class='caption-casing city-caption-casing' />
+        <text k="name" class='caption-core city-caption' />
+      </rule>
+
+    </rule> <!-- k="osmarender:renderName" v="~|yes" -->
+  </rule> <!-- k="osmarender:render" v="~|yes" -->
+
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+
+        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
+            /* DO NOT DELETE .untagged-segments - Used by osmarender.xsl */
+            .untagged-segments {
+                stroke-width: 0.5px;
+                stroke-linejoin: miter;
+                stroke-linecap: butt;
+                stroke: #e0e0e0;
+                stroke-dasharray: 0.5,0.5;
+            }
+
+            
+            /* Places - generic styles */
+            .caption-casing {
+        				fill: white;
+                stroke: white;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+            .caption-core {
+                stroke: white;
+                stroke-width: 0px;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+			      .city-caption-casing    { font-size: 150px; stroke-width: 40px; }
+			      .city-caption           { font-size: 150px; }
+
+			      .town-caption-casing    { font-size: 100px; stroke-width: 30px; }
+			      .town-caption           { font-size: 100px; }
+
+
+
+
+            /* Map decoration */
+            .map-grid-line {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 0.1px;
+                stroke-opacity: 0.5;
+            }
+
+            .map-border-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 3px;
+                stroke-miterlimit: 4;
+                stroke-dasharray: none;
+                stroke-opacity: 1;
+                stroke-linecap: round;
+            }
+
+            .map-border-core {
+                fill: none;
+                fill-opacity: 1;
+                fill-rule: nonzero;
+                stroke: #ffffff;
+                stroke-width: 2px;
+                stroke-miterlimit: 0;
+                stroke-dashoffset: -0.5px;
+                stroke-opacity: 1;
+            }
+
+            .map-scale-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 4px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-core {
+                fill: none;
+                stroke: #ffffff;
+                stroke-width: 3px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-bookend {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 1px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-caption {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                fill: #8080ff;
+            }
+
+            <!-- map background must be the same for all zooms or else empty tile detection will fail -->
+            .map-background {
+                fill: #f8f8f8;
+                stroke: none;
+            }
+
+            .map-title {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 20px;
+                text-anchor: middle;
+                fill: black;
+            }
+
+            .map-title-background {
+                fill: white;
+            }
+
+            .map-marginalia-background {
+                fill: white;
+            }
+        </style>
+
+    </defs>
+
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z2.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z2.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z2.xml	(revision 35743)
@@ -0,0 +1,121 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Render just captions for z2 -->
+
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+    minimumMapWidth="1"
+    minimumMapHeight="1"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+   <rule e="node|way" k="osmarender:render" v="~|yes">
+
+      <rule e="node" k="place" v="continent">
+        <text k="name" class='caption-casing continent-caption-casing' />
+        <text k="name" class='caption-core continent-caption' />
+      </rule>
+
+   </rule> <!-- k="osmarender:render" v="~|yes" -->
+
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+
+        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
+            /* DO NOT DELETE .untagged-segments - Used by osmarender.xsl */
+            .untagged-segments {
+                stroke-width: 0.5px;
+                stroke-linejoin: miter;
+                stroke-linecap: butt;
+                stroke: #e0e0e0;
+                stroke-dasharray: 0.5,0.5;
+            }
+
+            .caption-casing {
+				fill: white;
+                stroke: white;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+            .caption-core {
+                stroke: white;
+                stroke-width: 0px;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+           .continent-caption-casing { font-size: 50000px; stroke-width: 10000px; }
+           .continent-caption        { font-size: 50000px; }
+
+            /* Map decoration */
+            .map-grid-line {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 0.1px;
+                stroke-opacity: 0.5;
+            }
+
+            .map-border-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 3px;
+                stroke-miterlimit: 4;
+                stroke-dasharray: none;
+                stroke-opacity: 1;
+                stroke-linecap: round;
+            }
+
+            .map-border-core {
+                fill: none;
+                fill-opacity: 1;
+                fill-rule: nonzero;
+                stroke: #ffffff;
+                stroke-width: 2px;
+                stroke-miterlimit: 0;
+                stroke-dashoffset: -0.5px;
+                stroke-opacity: 1;
+            }
+
+            <!-- map background must be the same for all zooms or else empty tile detection will fail -->
+            .map-background {
+                fill: #f8f8f8;
+                stroke: none;
+            }
+
+            .map-title {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 20px;
+                text-anchor: middle;
+                fill: black;
+            }
+
+            .map-title-background {
+                fill: white;
+            }
+
+            .map-marginalia-background {
+                fill: white;
+            }
+        </style>
+
+    </defs>
+
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z3.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z3.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z3.xml	(revision 35743)
@@ -0,0 +1,150 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Render just captions for z3 -->
+
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+    minimumMapWidth="1"
+    minimumMapHeight="1"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+  <rule e="node|way" k="osmarender:render" v="~|yes">
+
+      <rule e="node" k="place" v="country" horizontalProximity="2.5" verticalProximity="1.2">
+        <text k="name" class='caption-casing country-caption-casing' />
+        <text k="name" class='caption-core country-caption' />
+      </rule>
+
+  </rule> <!-- k="osmarender:render" v="~|yes" -->
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+
+        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
+            /* DO NOT DELETE .untagged-segments - Used by osmarender.xsl */
+            .untagged-segments {
+                stroke-width: 0.5px;
+                stroke-linejoin: miter;
+                stroke-linecap: butt;
+                stroke: #e0e0e0;
+                stroke-dasharray: 0.5,0.5;
+            }
+
+            .caption-casing {
+				fill: white;
+                stroke: white;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+            .caption-core {
+                stroke: white;
+                stroke-width: 0px;
+                fill: black;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+            .country-caption-casing { font-size: 18000px; stroke-width: 5000px; }
+            .country-caption        { font-size: 18000px; }
+
+
+
+            /* Map decoration */
+            .map-grid-line {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 0.1px;
+                stroke-opacity: 0.5;
+            }
+
+            .map-border-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 3px;
+                stroke-miterlimit: 4;
+                stroke-dasharray: none;
+                stroke-opacity: 1;
+                stroke-linecap: round;
+            }
+
+            .map-border-core {
+                fill: none;
+                fill-opacity: 1;
+                fill-rule: nonzero;
+                stroke: #ffffff;
+                stroke-width: 2px;
+                stroke-miterlimit: 0;
+                stroke-dashoffset: -0.5px;
+                stroke-opacity: 1;
+            }
+
+            .map-scale-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 4px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-core {
+                fill: none;
+                stroke: #ffffff;
+                stroke-width: 3px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-bookend {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 1px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-caption {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                fill: #8080ff;
+            }
+
+            <!-- map background must be the same for all zooms or else empty tile detection will fail -->
+            .map-background {
+                fill: #f8f8f8;
+                stroke: none;
+            }
+
+            .map-title {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 20px;
+                text-anchor: middle;
+                fill: black;
+            }
+
+            .map-title-background {
+                fill: white;
+            }
+
+            .map-marginalia-background {
+                fill: white;
+            }
+        </style>
+
+    </defs>
+
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z4.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z4.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z4.xml	(revision 35743)
@@ -0,0 +1,150 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Render just captions for z4 -->
+
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+    minimumMapWidth="1"
+    minimumMapHeight="1"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+  <rule e="node|way" k="osmarender:render" v="~|yes">
+
+      <rule e="node" k="place" v="country" horizontalProximity="1.6" verticalProximity="1.2">
+        <text k="name" class='caption-casing country-caption-casing' />
+        <text k="name" class='caption-core country-caption' />
+      </rule>
+
+  </rule> <!-- k="osmarender:render" v="~|yes" -->
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+
+        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
+            /* DO NOT DELETE .untagged-segments - Used by osmarender.xsl */
+            .untagged-segments {
+                stroke-width: 0.5px;
+                stroke-linejoin: miter;
+                stroke-linecap: butt;
+                stroke: #e0e0e0;
+                stroke-dasharray: 0.5,0.5;
+            }
+
+            .caption-casing {
+		fill: white;
+                stroke: white;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+            .caption-core {
+                stroke: white;
+                stroke-width: 0px;
+                fill: black;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+           .country-caption-casing { font-size: 10000px; stroke-width: 2000px; }
+           .country-caption        { font-size: 10000px; }
+
+
+
+            /* Map decoration */
+            .map-grid-line {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 0.1px;
+                stroke-opacity: 0.5;
+            }
+
+            .map-border-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 3px;
+                stroke-miterlimit: 4;
+                stroke-dasharray: none;
+                stroke-opacity: 1;
+                stroke-linecap: round;
+            }
+
+            .map-border-core {
+                fill: none;
+                fill-opacity: 1;
+                fill-rule: nonzero;
+                stroke: #ffffff;
+                stroke-width: 2px;
+                stroke-miterlimit: 0;
+                stroke-dashoffset: -0.5px;
+                stroke-opacity: 1;
+            }
+
+            .map-scale-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 4px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-core {
+                fill: none;
+                stroke: #ffffff;
+                stroke-width: 3px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-bookend {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 1px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-caption {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                fill: #8080ff;
+            }
+
+            <!-- map background must be the same for all zooms or else empty tile detection will fail -->
+            .map-background {
+                fill: #f8f8f8;
+                stroke: none;
+            }
+
+            .map-title {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 20px;
+                text-anchor: middle;
+                fill: black;
+            }
+
+            .map-title-background {
+                fill: white;
+            }
+
+            .map-marginalia-background {
+                fill: white;
+            }
+        </style>
+
+    </defs>
+
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z5.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z5.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z5.xml	(revision 35743)
@@ -0,0 +1,170 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Render just captions for z5 -->
+
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+    minimumMapWidth="0"
+    minimumMapHeight="0"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+    <rule e="node|way" k="osmarender:render" v="~|yes">
+
+    <rule e="node" k="place" v="*" layer="5">
+      <rule e="node" k="capital" v="~|no|false|False" layer="5">
+        <rule e="node" k="place" v="city" horizontalProximity="1.0" verticalProximity="0.9" layer="5">
+          <text k="name" class='caption-casing city-caption-casing' />
+          <text k="name" class='caption-core city-caption' />
+        </rule>
+      </rule>
+      <else>
+        <text k="name" class='caption-casing capital-caption-casing' />
+        <text k="name" class='caption-core capital-caption' />
+      </else>
+
+      <rule e="node" k="place" v="country" horizontalProximity="0.8" verticalProximity="0.8">
+        <text k="name" class='caption-casing country-caption-casing' />
+        <text k="name" class='caption-core country-caption' />
+      </rule>
+    </rule> <!-- e="node" k="place" v="*" -->
+
+
+
+    </rule> <!-- k="osmarender:render" v="~|yes" -->
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+
+        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
+            /* DO NOT DELETE .untagged-segments - Used by osmarender.xsl */
+            .untagged-segments {
+                stroke-width: 0.5px;
+                stroke-linejoin: miter;
+                stroke-linecap: butt;
+                stroke: #e0e0e0;
+                stroke-dasharray: 0.5,0.5;
+            }
+
+            .caption-casing {
+                fill: white;
+                stroke: white;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+            .caption-core {
+                stroke: white;
+                stroke-width: 0px;
+                fill: black;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+            .country-caption-casing { font-size: 6000px; stroke-width: 1000px; }
+            .country-caption        { font-size: 6000px; }
+
+            .capital-caption-casing    { font-size: 4300px; stroke-width: 1500px; }
+            .capital-caption           { font-size: 4300px; }
+
+            .city-caption-casing    { font-size: 4000px; stroke-width: 500px; }
+            .city-caption           { font-size: 4000px; }
+
+
+            /* Map decoration */
+            .map-grid-line {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 0.1px;
+                stroke-opacity: 0.5;
+            }
+
+            .map-border-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 3px;
+                stroke-miterlimit: 4;
+                stroke-dasharray: none;
+                stroke-opacity: 1;
+                stroke-linecap: round;
+            }
+
+            .map-border-core {
+                fill: none;
+                fill-opacity: 1;
+                fill-rule: nonzero;
+                stroke: #ffffff;
+                stroke-width: 2px;
+                stroke-miterlimit: 0;
+                stroke-dashoffset: -0.5px;
+                stroke-opacity: 1;
+            }
+
+            .map-scale-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 4px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-core {
+                fill: none;
+                stroke: #ffffff;
+                stroke-width: 3px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-bookend {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 1px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-caption {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                fill: #8080ff;
+            }
+
+            <!-- map background must be the same for all zooms or else empty tile detection will fail -->
+            .map-background {
+                fill: #f8f8f8;
+                stroke: none;
+            }
+
+            .map-title {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 20px;
+                text-anchor: middle;
+                fill: black;
+            }
+
+            .map-title-background {
+                fill: white;
+            }
+
+            .map-marginalia-background {
+                fill: white;
+            }
+        </style>
+
+    </defs>
+
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z6.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z6.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z6.xml	(revision 35743)
@@ -0,0 +1,200 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Render just captions for z6 -->
+
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+    minimumMapWidth="0"
+    minimumMapHeight="0"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+    <!-- Non-physical boundaries -->
+    <rule e="way" k="boundary" v="administrative">
+      <rule e="way" k="admin_level" v="2">
+        <line class="boundary boundary-level-2-casing no-bezier"/>
+        <line class="boundary boundary-level-2-core no-bezier"/>
+      </rule>
+      <rule e="way" k="admin_level" v="1">
+        <line class="boundary boundary-level-1-casing no-bezier"/>
+        <line class="boundary boundary-level-1-core no-bezier"/>
+      </rule>
+    </rule>
+
+    <rule e="node" k="place" v="*">
+      <rule e="node" k="capital" v="~|no|false|False">
+        <rule e="node" k="place" v="city" horizontalProximity="0.8" verticalProximity="0.6">
+          <text k="name" class='caption-casing city-caption-casing' />
+          <text k="name" class='caption-core city-caption' />
+        </rule>
+      </rule>
+      <else>
+          <text k="name" class='caption-casing capital-caption-casing' />
+          <text k="name" class='caption-core capital-caption' />
+      </else>
+    </rule> <!-- e="node" k="place" v="*" -->
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+
+        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
+            /* DO NOT DELETE .untagged-segments - Used by osmarender.xsl */
+            .untagged-segments {
+                stroke-width: 0.5px;
+                stroke-linejoin: miter;
+                stroke-linecap: butt;
+                stroke: #e0e0e0;
+                stroke-dasharray: 0.5,0.5;
+            }
+
+            .caption-casing {
+                fill: white;
+                stroke: white;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+            .caption-core {
+                stroke: white;
+                stroke-width: 0px;
+                fill: black;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+            .city-caption-casing    { font-size: 2800px; stroke-width: 600px; }
+            .city-caption           { font-size: 2800px; }
+
+            .capital-caption-casing { font-size: 3700px; stroke-width: 500px; font-variant: small-caps; }
+            .capital-caption        { font-size: 3700px; font-variant: small-caps; }
+            
+            /* Non-physical boundaries */
+            .boundary {
+            stroke-linecap: round;
+            stroke-linejoin: round;
+            fill: none;
+            }
+            
+            .boundary-level-1-casing {
+            stroke-width: 800px;
+            stroke: #ffff00;
+            opacity: 0.5;
+            }
+            
+            .boundary-level-1-core {
+            stroke-width: 350px;
+            stroke: #f9574b;
+            stroke-dasharray: 900, 300, 300, 300;
+            }
+            
+            .boundary-level-2-casing {
+            stroke-width: 650px;
+            stroke: #ffff00;
+            opacity: 0.5;
+            }
+			
+            .boundary-level-2-core {
+            stroke-width: 300px;
+            stroke: #f9574b;
+            stroke-dasharray: 800, 800;
+            }
+			
+
+
+            /* Map decoration */
+            .map-grid-line {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 0.1px;
+                stroke-opacity: 0.5;
+            }
+
+            .map-border-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 3px;
+                stroke-miterlimit: 4;
+                stroke-dasharray: none;
+                stroke-opacity: 1;
+                stroke-linecap: round;
+            }
+
+            .map-border-core {
+                fill: none;
+                fill-opacity: 1;
+                fill-rule: nonzero;
+                stroke: #ffffff;
+                stroke-width: 2px;
+                stroke-miterlimit: 0;
+                stroke-dashoffset: -0.5px;
+                stroke-opacity: 1;
+            }
+
+            .map-scale-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 4px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-core {
+                fill: none;
+                stroke: #ffffff;
+                stroke-width: 3px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-bookend {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 1px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-caption {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                fill: #8080ff;
+            }
+
+            <!-- map background must be the same for all zooms or else empty tile detection will fail -->
+            .map-background {
+                fill: #f8f8f8;
+                stroke: none;
+            }
+
+            .map-title {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 20px;
+                text-anchor: middle;
+                fill: black;
+            }
+
+            .map-title-background {
+                fill: white;
+            }
+
+            .map-marginalia-background {
+                fill: white;
+            }
+        </style>
+
+    </defs>
+
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z7.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z7.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z7.xml	(revision 35743)
@@ -0,0 +1,199 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Render just captions for z7 -->
+
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+    minimumMapWidth="0"
+    minimumMapHeight="0"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+    <!-- Non-physical boundaries -->
+    <rule e="way" k="boundary" v="administrative">
+      <rule e="way" k="admin_level" v="2">
+        <line class="boundary boundary-level-2-casing no-bezier" />
+        <line class="boundary boundary-level-2-core no-bezier" />
+      </rule>
+      <rule e="way" k="admin_level" v="1">
+        <line class="boundary boundary-level-1-casing no-bezier" />
+        <line class="boundary boundary-level-1-core no-bezier" />
+      </rule>
+    </rule>
+
+    <rule e="node" k="place" v="*">
+      <rule e="node" k="capital" v="~|no|false|False">
+        <rule e="node" k="place" v="city" horizontalProximity="0.1" verticalProximity="0.2" >
+          <text k="name" class='caption-casing city-caption-casing' />
+          <text k="name" class='caption-core city-caption' />
+        </rule>
+      </rule>
+      <else>
+        <text k="name" class='caption-casing capital-caption-casing' />
+        <text k="name" class='caption-core capital-caption' />
+      </else>
+    </rule> <!-- e="node" k="place" v="*" -->
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+
+        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
+            /* DO NOT DELETE .untagged-segments - Used by osmarender.xsl */
+            .untagged-segments {
+                stroke-width: 0.5px;
+                stroke-linejoin: miter;
+                stroke-linecap: butt;
+                stroke: #e0e0e0;
+                stroke-dasharray: 0.5,0.5;
+            }
+
+            .caption-casing {
+		fill: white;
+                stroke: white;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+            .caption-core {
+                stroke: white;
+                stroke-width: 0px;
+                fill: black;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+            .capital-caption-casing { font-size: 2000px; stroke-width: 300px; font-variant: small-caps; }
+            .capital-caption        { font-size: 2000px; font-variant: small-caps; }
+
+            .city-caption-casing    { font-size: 1500px; stroke-width: 300px; }
+            .city-caption           { font-size: 1500px; }
+
+            /* Non-physical boundaries */
+            .boundary {
+            stroke-linecap: round;
+            stroke-linejoin: round;
+            fill: none;
+            }
+            
+            .boundary-level-1-casing {
+            stroke-width: 400px;
+            stroke: #ffff00;
+            opacity: 0.6;
+            }
+            
+            .boundary-level-1-core {
+            stroke-width: 300px;
+            stroke: #f9574b;
+            stroke-dasharray: 900, 300, 300, 300;
+            }
+            
+            .boundary-level-2-casing {
+            stroke-width: 350px;
+            stroke: #ffff00;
+            opacity: 0.6;
+            }
+			
+            .boundary-level-2-core {
+            stroke-width: 250px;
+            stroke: #f9574b;
+            stroke-dasharray: 600, 600;
+            }
+			
+
+            /* Map decoration */
+            .map-grid-line {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 0.1px;
+                stroke-opacity: 0.5;
+            }
+
+            .map-border-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 3px;
+                stroke-miterlimit: 4;
+                stroke-dasharray: none;
+                stroke-opacity: 1;
+                stroke-linecap: round;
+            }
+
+            .map-border-core {
+                fill: none;
+                fill-opacity: 1;
+                fill-rule: nonzero;
+                stroke: #ffffff;
+                stroke-width: 2px;
+                stroke-miterlimit: 0;
+                stroke-dashoffset: -0.5px;
+                stroke-opacity: 1;
+            }
+
+            .map-scale-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 4px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-core {
+                fill: none;
+                stroke: #ffffff;
+                stroke-width: 3px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-bookend {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 1px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-caption {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                fill: #8080ff;
+            }
+
+            <!-- map background must be the same for all zooms or else empty tile detection will fail -->
+            .map-background {
+                fill: #f8f8f8;
+                stroke: none;
+            }
+
+            .map-title {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 20px;
+                text-anchor: middle;
+                fill: black;
+            }
+
+            .map-title-background {
+                fill: white;
+            }
+
+            .map-marginalia-background {
+                fill: white;
+            }
+        </style>
+
+    </defs>
+
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z8.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z8.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z8.xml	(revision 35743)
@@ -0,0 +1,197 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Render just captions for z8 -->
+
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+    minimumMapWidth="1"
+    minimumMapHeight="1"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+    <!-- Non-physical boundaries -->
+    <rule e="way" k="boundary" v="administrative">
+      <rule e="way" k="admin_level" v="2">
+        <line class="boundary boundary-level-2-casing no-bezier" />
+        <line class="boundary boundary-level-2-core no-bezier" />
+      </rule>
+      <rule e="way" k="admin_level" v="1">
+        <line class="boundary boundary-level-1-casing no-bezier" />
+        <line class="boundary boundary-level-1-core no-bezier" />
+      </rule>
+    </rule>
+
+    <rule e="node" k="place" v="*">
+      <rule e="node" k="capital" v="~|no|false|False">
+        <rule e="node" k="place" v="city">
+          <text k="name" class='caption-casing city-caption-casing' />
+          <text k="name" class='caption-core city-caption' />
+        </rule>
+      </rule>
+      <else>
+        <text k="name" class='caption-casing capital-caption-casing' />
+        <text k="name" class='caption-core capital-caption' />
+      </else>
+    </rule> <!-- e="node" k="place" v="*" -->
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+
+        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
+            /* DO NOT DELETE .untagged-segments - Used by osmarender.xsl */
+            .untagged-segments {
+                stroke-width: 0.5px;
+                stroke-linejoin: miter;
+                stroke-linecap: butt;
+                stroke: #e0e0e0;
+                stroke-dasharray: 0.5,0.5;
+            }
+
+            .caption-casing {
+		fill: white;
+                stroke: white;
+                font-family: "DejaVu Sans";
+                font-weight: bold;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+            .caption-core {
+                stroke: white;
+                stroke-width: 0px;
+                font-family: "DejaVu Sans";
+                font-weight: bold;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+            .city-caption-casing    { font-size: 750px; stroke-width: 200px; }
+            .city-caption           { font-size: 750px; }
+
+            .capital-caption-casing { font-size: 800px; stroke-width: 300px; font-variant: small-caps; }
+            .capital-caption        { font-size: 800px; font-variant: small-caps; }
+
+            /* Non-physical boundaries */
+            .boundary {
+            stroke-linecap: round;
+            stroke-linejoin: round;
+            fill: none;
+            }
+            
+            .boundary-level-1-casing {
+            stroke-width: 200px;
+            stroke: #ffff00;
+            opacity: 0.6;
+            }
+            
+            .boundary-level-1-core {
+            stroke-width: 180px;
+            stroke: #f9574b;
+            stroke-dasharray: 300, 100, 100, 100;
+            }
+            
+            .boundary-level-2-casing {
+            stroke-width: 200px;
+            stroke: #ffff00;
+            opacity: 0.6;
+            }
+			
+            .boundary-level-2-core {
+            stroke-width: 150px;
+            stroke: #f9574b;
+            stroke-dasharray: 200, 200;
+            }
+			
+
+            /* Map decoration */
+            .map-grid-line {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 0.1px;
+                stroke-opacity: 0.5;
+            }
+
+            .map-border-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 3px;
+                stroke-miterlimit: 4;
+                stroke-dasharray: none;
+                stroke-opacity: 1;
+                stroke-linecap: round;
+            }
+
+            .map-border-core {
+                fill: none;
+                fill-opacity: 1;
+                fill-rule: nonzero;
+                stroke: #ffffff;
+                stroke-width: 2px;
+                stroke-miterlimit: 0;
+                stroke-dashoffset: -0.5px;
+                stroke-opacity: 1;
+            }
+
+            .map-scale-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 4px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-core {
+                fill: none;
+                stroke: #ffffff;
+                stroke-width: 3px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-bookend {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 1px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-caption {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                fill: #8080ff;
+            }
+
+            <!-- map background must be the same for all zooms or else empty tile detection will fail -->
+            .map-background {
+                fill: #f8f8f8;
+                stroke: none;
+            }
+
+            .map-title {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 20px;
+                text-anchor: middle;
+                fill: black;
+            }
+
+            .map-title-background {
+                fill: white;
+            }
+
+            .map-marginalia-background {
+                fill: white;
+            }
+        </style>
+
+    </defs>
+
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z9.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z9.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/caption-z9.xml	(revision 35743)
@@ -0,0 +1,163 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Render just captions for z9 -->
+
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+    minimumMapWidth="1"
+    minimumMapHeight="1"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+  <rule e="node|way" k="osmarender:render" v="~|yes">
+  	<rule e="node|way" k="osmarender:renderName" v="~|yes">
+  	
+  	  <rule e="node" k="place" v="town|city" horizontalProximity="0.10" verticalProximity="0.05">
+  	  	<rule e="node" k="place" v="town">
+  	  	  <text k="name" class='caption-casing town-caption-casing'/>
+  	  	  <text k="name" class='caption-core town-caption' />
+  	  	</rule>
+  	  </rule>
+
+  	  <rule e="node" k="place" v="city">
+  	  	<text k="name" class='caption-casing city-caption-casing' />
+  	  	<text k="name" class='caption-core city-caption' />
+  	  </rule>
+  	  
+    </rule> <!-- k="osmarender:renderName" v="~|yes" -->
+  </rule> <!-- k="osmarender:render" v="~|yes" -->
+
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+
+        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
+            /* DO NOT DELETE .untagged-segments - Used by osmarender.xsl */
+            .untagged-segments {
+                stroke-width: 0.5px;
+                stroke-linejoin: miter;
+                stroke-linecap: butt;
+                stroke: #e0e0e0;
+                stroke-dasharray: 0.5,0.5;
+            }
+
+            
+            /* Places - generic styles */
+            .caption-casing {
+        				fill: white;
+                stroke: white;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+            .caption-core {
+                stroke: white;
+                stroke-width: 0px;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+			.city-caption-casing    { font-size: 375px; stroke-width: 100px; }
+			.city-caption           { font-size: 375px; }
+
+			.town-caption-casing    { font-size: 300px; stroke-width: 75px; }
+			.town-caption           { font-size: 300px; }
+
+
+            /* Map decoration */
+            .map-grid-line {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 0.1px;
+                stroke-opacity: 0.5;
+            }
+
+            .map-border-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 3px;
+                stroke-miterlimit: 4;
+                stroke-dasharray: none;
+                stroke-opacity: 1;
+                stroke-linecap: round;
+            }
+
+            .map-border-core {
+                fill: none;
+                fill-opacity: 1;
+                fill-rule: nonzero;
+                stroke: #ffffff;
+                stroke-width: 2px;
+                stroke-miterlimit: 0;
+                stroke-dashoffset: -0.5px;
+                stroke-opacity: 1;
+            }
+
+            .map-scale-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 4px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-core {
+                fill: none;
+                stroke: #ffffff;
+                stroke-width: 3px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-bookend {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 1px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-caption {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                fill: #8080ff;
+            }
+
+            <!-- map background must be the same for all zooms or else empty tile detection will fail -->
+            .map-background {
+                fill: #f8f8f8;
+                stroke: none;
+            }
+
+            .map-title {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 20px;
+                text-anchor: middle;
+                fill: black;
+            }
+
+            .map-title-background {
+                fill: white;
+            }
+
+            .map-marginalia-background {
+                fill: white;
+            }
+        </style>
+
+    </defs>
+
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/captionless-lowzoom-z12.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/captionless-lowzoom-z12.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/captionless-lowzoom-z12.xml	(revision 35743)
@@ -0,0 +1,1315 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Tiles@Home Rules File for low zoom level 12 -->
+<!-- This is the same as the normal z12 rules file except:
+     - No captions of any kind
+     - No landuse area fills
+     - No green stuff
+     -->
+
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+    textAttenuation="0.44"
+    minimumMapWidth="0.5"
+    minimumMapHeight="0.5"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+	<!-- Select all nodes and ways (unless they have an osmarender:render=no tag) -->
+	<rule e="node|way" k="osmarender:render" v="~|yes">
+
+		<!-- Draw land areas first -->
+		<rule e="way" k="natural" v="land">
+			<area class='natural-land' />
+		</rule>
+
+		<!-- Natural features -->
+		<rule e="way" k="natural" v="coastline">
+			<area class='natural-coastline'/>
+		</rule>
+		<rule e="way" k="natural" v="glacier">
+			<line class='natural-glacier'/>
+		</rule>
+
+		<!-- Airports and runways -->
+		<rule e="way" k="aeroway" v="aerodrome" closed="yes">
+			<area class='aeroway-aerodrome'/>
+		</rule>
+		<rule e="way" k="aeroway" v="apron">
+			<area class='aeroway-apron'/>
+		</rule>
+		<rule e="way" k="landuse" v="runway">
+			<rule e="way" k="use_status" v="~">
+				<area class='landuse-runway' />
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class='landuse-runway-disused' />
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class='landuse-runway-dismantled' />
+			</rule>
+		</rule>
+
+
+		<!-- Raceways and racetracks (cars and horses etc) -->
+		<rule e="way" k="landuse" v="raceway">
+			<rule e="way" k="use_status" v="~">
+				<area class='landuse-raceway' />
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class='landuse-raceway-disused' />
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class='landuse-raceway-dismantled' />
+			</rule>
+		</rule>
+
+
+        <!-- Airfields and airports -->
+        <rule e="way" k="aeroway" v="runway">
+            <line class='aeroway-runway-casing'/>
+        </rule>
+        <rule e="way" k="aeroway" v="taxiway">
+            <line class='aeroway-taxiway-casing'/>
+        </rule>
+
+
+        <!-- Waterways -->
+        <rule e="way" k="waterway" v="riverbank">
+            <area class='waterway-riverbank'/>
+        </rule>
+        <rule e="way" k="waterway" v="river">
+            <line class='waterway-casing waterway-river-casing'/>
+        </rule>
+        <rule e="way" k="waterway" v="stream">
+            <line class='waterway-casing waterway-stream-casing'/>
+        </rule>
+        <rule e="way" k="waterway" v="canal">
+            <line class='waterway-casing waterway-canal-casing'/>
+        </rule>
+        <rule e="way" k="waterway" v="drain">
+            <line class='waterway-casing waterway-drain-casing'/>
+        </rule>
+        <rule e="way" k="waterway" v="river">
+            <line class='waterway-core waterway-river-core'/>
+        </rule>
+        <rule e="way" k="waterway" v="stream">
+            <line class='waterway-core waterway-stream-core'/>
+        </rule>
+        <rule e="way" k="waterway" v="canal">
+            <line class='waterway-core waterway-canal-core'/>
+        </rule>
+        <rule e="way" k="waterway" v="drain">
+            <line class='waterway-core waterway-drain-core'/>
+        </rule>
+        <rule e="way" k="waterway" v="dock">
+            <area class='natural-water' />
+        </rule>
+        <rule e="way" k="natural" v="water|pond|lake|bay">
+            <area class='natural-water' />
+        </rule>
+        <rule e="way" k="landuse" v="reservoir">
+            <area class='natural-water' />
+        </rule>
+        <rule e="way" k="landuse" v="basin">
+            <area class='natural-water' />
+        </rule>
+
+
+        <!-- Linear casings -->
+        <rule e="way" k="tunnel" v="~|no|false">
+			      <rule e="way" k="highway" v="raceway">
+				        <rule e="way" k="use_status" v="~">
+					          <line class='highway-raceway-casing' />
+				        </rule>
+				        <rule e="way" k="use_status" v="disused">
+					          <line class='highway-raceway-casing-disused' />
+				        </rule>
+				        <rule e="way" k="use_status" v="dismantled">
+					          <line class='highway-raceway-casing-dismantled' />
+				        </rule>
+			      </rule>
+            <rule e="way" k="highway" v="steps">
+                <line class='highway-casing highway-steps-casing' />
+            </rule>
+            <rule e="way" k="highway" v="footway|footpath">
+                <line class='highway-casing highway-footway-casing' smart-linecap='no'/>
+            </rule>
+            <rule e="way" k="highway" v="pedestrian">
+                <line class='highway-casing highway-pedestrian-casing' />
+            </rule>
+            <rule e="way" k="highway" v="cycleway">
+                <line class='highway-casing highway-cycleway-casing' smart-linecap='no'/>
+            </rule>
+            <rule e="way" k="highway" v="bridleway">
+                <line class='highway-casing highway-bridleway-casing' smart-linecap='no'/>
+            </rule>
+            <rule e="way" k="highway" v="byway">
+                <line class='highway-casing highway-byway-1-casing' smart-linecap='no'/>
+                <line class='highway-casing highway-byway-2-casing' smart-linecap='no'/>
+                <line class='highway-casing highway-byway-3-casing' smart-linecap='no'/>
+            </rule>
+            <rule e="way" k="highway" v="track">
+                <line class='highway-casing highway-track-casing'/>
+            </rule>
+            <rule e="way" k="highway" v="unsurfaced">
+                <line class='highway-casing highway-unsurfaced-casing' smart-linecap='no'/>
+            </rule>
+            <rule e="way" k="highway" v="service">
+                <line class='highway-casing highway-service-casing' />
+            </rule>
+            <rule e="way" k="highway" v="unclassified|residential|minor">
+                <line class='highway-casing highway-unclassified-casing' />
+            </rule>
+            <rule e="way" k="highway" v="tertiary_link">
+                <line class='highway-casing highway-tertiary-link-casing' />
+            </rule>
+            <rule e="way" k="highway" v="tertiary">
+                <line class='highway-casing highway-tertiary-casing' />
+            </rule>
+            <rule e="way" k="highway" v="secondary_link">
+                <line class='highway-casing highway-secondary-link-casing' />
+            </rule>
+            <rule e="way" k="highway" v="secondary">
+                <line class='highway-casing highway-secondary-casing' />
+            </rule>
+            <rule e="way" k="highway" v="primary_link">
+                <line class='highway-casing highway-primary-link-casing' />
+            </rule>
+            <rule e="way" k="highway" v="trunk_link">
+                <line class='highway-casing highway-trunk-link-casing' />
+            </rule>
+            <rule e="way" k="highway" v="motorway_link">
+                <line class='highway-casing highway-motorway-link-casing' />
+            </rule>
+            <rule e="way" k="highway" v="primary">
+                <line class='highway-casing highway-primary-casing' />
+            </rule>
+            <rule e="way" k="highway" v="trunk">
+                <line class='highway-casing highway-trunk-casing' />
+            </rule>
+            <rule e="way" k="highway" v="motorway">
+                <line class='highway-casing highway-motorway-casing' />
+            </rule>
+        </rule>
+
+
+        <!-- Linear cores -->
+		<rule e="way" k="tunnel" v="~|false|no">
+			<rule e="way" k="highway" v="raceway">
+				<rule e="way" k="use_status" v="~">
+					<line class='highway-raceway-core' />
+				</rule>
+				<rule e="way" k="use_status" v="disused">
+					<line class='highway-raceway-core-disused' />
+				</rule>
+				<rule e="way" k="use_status" v="dismantled">
+					<line class='highway-raceway-core-dismantled' />
+				</rule>
+			</rule>
+			<rule e="way" k="scramble" v="*">
+				<line class='highway-core highway-scramble-core' />
+			</rule>
+			<rule e="way" k="highway" v="steps">
+				<line class='highway-core highway-steps-core' smart-linecap='no'/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<line class='highway-core highway-footway-core' />
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<line class='highway-core highway-pedestrian-core' />
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<line class='highway-core highway-cycleway-core' />
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<line class='highway-core highway-bridleway-core' />
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<line class='highway-core highway-byway-2-casing' smart-linecap='no'/>
+				<line class='highway-core highway-byway-3-casing' smart-linecap='no'/>
+				<line class='highway-core highway-byway-1-core' />
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<line class='highway-core highway-track-core' />
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<line class='highway-core highway-unsurfaced-core' />
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<line class='highway-core highway-service-core' />
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor">
+				<line class='highway-core highway-unclassified-core' />
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<line class='highway-core highway-tertiary-link-core' />
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<line class='highway-core highway-tertiary-core' />
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<line class='highway-core highway-secondary-link-core' />
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<line class='highway-core highway-secondary-core' />
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<line class='highway-core highway-primary-link-core' />
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<line class='highway-core highway-trunk-link-core' />
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<line class='highway-core highway-motorway-link-core' />
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<line class='highway-core highway-primary-core' />
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<line class='highway-core highway-trunk-core' />
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<line class='highway-core highway-motorway-core' />
+			</rule>
+			<rule e="way" k="railway" v="*">
+				<rule e="way" k="railway" v="rail">
+					<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core" smart-linecap="no" />
+				</rule>
+				<rule e="way" k="railway" v="narrow_gauge">
+					<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core" smart-linecap="no" />
+				</rule>
+				<rule e="way" k="railway" v="preserved">
+					<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core" smart-linecap="no" />
+				</rule>
+				<rule e="way" k="railway" v="light_rail">
+					<line class="railway-light-2-core railway-light-2-core-color railway-2-core" smart-linecap="no" />
+				</rule>
+				<rule e="way" k="railway" v="tram">
+					<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core" smart-linecap="no" />
+				</rule>
+				<rule e="way" k="railway" v="subway">
+					<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core" smart-linecap="no" />
+				</rule>
+				<rule e="way" k="railway" v="monorail">
+					<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core" smart-linecap="no" />
+				</rule>
+			</rule>
+			<rule e="way" k="aeroway" v="runway">
+				<line class='aeroway-runway-core'/>
+			</rule>
+			<rule e="way" k="aeroway" v="taxiway">
+				<line class='aeroway-taxiway-core'/>
+			</rule>
+	</rule>
+
+	<!-- Tunnels -->
+		<rule e="way" k="tunnel" v="true|yes">
+			<rule e="way" k="highway" v="steps">
+				<line class='tunnel-casing highway-steps-casing tunnel' mask-class='tunnel-core highway-steps-core'/>
+				<line class='highway-steps-casing highway-tunnel-ends'/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<line class='tunnel-casing highway-footway-casing tunnel' mask-class='tunnel-core highway-footway-core'/>
+				<line class='highway-footway-casing highway-tunnel-ends'/>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<line class='tunnel-casing highway-pedestrian-casing tunnel' mask-class='tunnel-core highway-pedestrian-core'/>
+				<line class='highway-pedestrian-casing highway-tunnel-ends'/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<line class='tunnel-casing highway-cycleway-casing tunnel' mask-class='tunnel-core highway-cycleway-core'/>
+				<line class='highway-cycleway-casing highway-tunnel-ends'/>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<line class='tunnel-casing highway-bridleway-casing tunnel' mask-class='tunnel-core highway-bridleway-core'/>
+				<line class='highway-bridleway-casing highway-tunnel-ends'/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<line class='tunnel-casing highway-byway-1-casing tunnel' mask-class='tunnel-core highway-byway-1-core'/>
+				<line class='highway-byway-1-casing highway-tunnel-ends'/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<line class='tunnel-casing highway-track-casing tunnel' mask-class='tunnel-core highway-track-core'/>
+				<line class='highway-track-casing highway-tunnel-ends'/>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<line class='tunnel-casing highway-unsurfaced-casing tunnel' mask-class='tunnel-core highway-unsurfaced-core'/>
+				<line class='highway-unsurfaced-casing highway-tunnel-ends'/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<line class='tunnel-casing highway-service-casing tunnel' mask-class='tunnel-core highway-service-core'/>
+				<line class='highway-service-casing highway-tunnel-ends'/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor|tertiary">
+				<line class='tunnel-casing highway-unclassified-casing tunnel' mask-class='tunnel-core highway-unclassified-core'/>
+				<line class='highway-unclassified-casing highway-tunnel-ends'/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<line class='tunnel-casing highway-tertiary-link-casing tunnel' mask-class='tunnel-core highway-tertiary-link-core'/>
+				<line class='highway-tertiary-link-casing highway-tunnel-ends'/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<line class='tunnel-casing highway-tertiary-casing tunnel' mask-class='tunnel-core highway-tertiary-core'/>
+				<line class='highway-tertiary-casing highway-tunnel-ends'/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<line class='tunnel-casing highway-secondary-link-casing tunnel' mask-class='tunnel-core highway-secondary-link-core'/>
+				<line class='highway-secondary-link-casing highway-tunnel-ends'/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<line class='tunnel-casing highway-secondary-casing tunnel' mask-class='tunnel-core highway-secondary-core'/>
+				<line class='highway-secondary-casing highway-tunnel-ends'/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<line class='tunnel-casing highway-primary-link-casing tunnel' mask-class='tunnel-core highway-primary-link-core'/>
+				<line class='highway-primary-link-casing highway-tunnel-ends'/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<line class='tunnel-casing highway-trunk-link-casing tunnel' mask-class='tunnel-core highway-trunk-link-core'/>
+				<line class='highway-trunk-link-casing highway-tunnel-ends'/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<line class='tunnel-casing highway-motorway-link-casing tunnel' mask-class='tunnel-core highway-motorway-link-core'/>
+				<line class='highway-motorway-link-casing highway-tunnel-ends'/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<line class='tunnel-casing highway-primary-casing tunnel' mask-class='tunnel-core highway-primary-core'/>
+				<line class='highway-primary-casing highway-tunnel-ends'/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<line class='tunnel-casing highway-trunk-casing tunnel' mask-class='tunnel-core highway-trunk-core'/>
+				<line class='highway-trunk-casing highway-tunnel-ends'/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<line class='tunnel-casing highway-motorway-casing tunnel' mask-class='tunnel-core highway-motorway-core'/>
+				<line class='highway-motorway-casing highway-tunnel-ends'/>
+			</rule>
+			<rule e="way" k="railway" v="*">
+				<rule e="way" k="railway" v="rail">
+					<line class="railway-rail-casing railway-rail-casing-color railway-casing tunnel-casing railway-tunnel" mask-class="tunnel-core railway-rail-2-core"/>
+					<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core railway-rail-tunnel-core railway-tunnel"  smart-linecap="no" />
+					<line class="railway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</rule>
+				<rule e="way" k="railway" v="narrow_gauge">
+					<line class="railway-narrow-casing railway-narrow-casing-color railway-casing tunnel-casing railway-tunnel" mask-class="tunnel-core railway-narrow-2-core"/>
+					<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core railway-narrow-tunnel-core railway-tunnel"  smart-linecap="no" />
+					<line class="railway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</rule>
+				<rule e="way" k="railway" v="preserved">
+					<line class="railway-preserved-casing railway-preserved-casing-color railway-casing tunnel-casing railway-tunnel" mask-class="tunnel-core railway-preserved-2-core"/>
+					<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core railway-preserved-tunnel-core railway-tunnel"  smart-linecap="no" />
+					<line class="railway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</rule>
+				<rule e="way" k="railway" v="light_rail">
+					<line class="railway-light-casing railway-light-casing-color railway-casing tunnel-casing railway-tunnel" mask-class="tunnel-core railway-light-2-core"/>
+					<line class="railway-light-2-core railway-light-2-core-color railway-2-core railway-light-tunnel-core railway-tunnel"  smart-linecap="no" />
+					<line class="railway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</rule>
+				<rule e="way" k="railway" v="tram">
+					<line class="railway-tram-casing railway-tram-casing-color railway-casing tunnel-casing railway-tunnel" mask-class="tunnel-core railway-tram-2-core"/>
+					<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core railway-tram-tunnel-core railway-tunnel"  smart-linecap="no" />
+					<line class="railway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</rule>
+				<rule e="way" k="railway" v="subway">
+					<line class="railway-subway-casing railway-subway-casing-color railway-casing tunnel-casing railway-tunnel" mask-class="tunnel-core railway-subway-2-core"/>
+					<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core railway-subway-tunnel-core railway-tunnel"  smart-linecap="no" />
+					<line class="railway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</rule>
+				<rule e="way" k="railway" v="monorail">
+					<line class="railway-monorail-casing railway-monorail-casing-color railway-casing tunnel-casing railway-tunnel" mask-class="tunnel-core railway-monorail-2-core"/>
+					<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core railway-monorail-tunnel-core railway-tunnel"  smart-linecap="no" />
+					<line class="railway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</rule>
+			</rule>
+		</rule>
+
+
+        <!-- Non-physical routes -->
+        <rule e="way" k="route" v="ferry">
+            <line class='route-ferry' />
+        </rule>
+
+        <!-- Airfields and airports -->
+        <rule e="node" k="aeroway" v="airport">
+            <symbol xlink:href="#airport" width='160px' height='160px' transform='translate(-80,-80)' />
+        </rule>
+
+	</rule> <!-- k="osmarender:render" v="~|yes" -->
+
+
+
+
+	<!-- ==================================== Layer 5 ======================================== -->
+    <rule e="node|way" k="osmarender:render" v="~|yes" layer="5">
+		<!-- Non-physical boundaries -->
+		<rule e="way" k="boundary" v="administrative" layer="5">
+			<rule e="way" k="admin_level" v="2" layer="5">
+				<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+				<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+			</rule>
+			<rule e="way" k="admin_level" v="1" layer="5">
+				<line class="boundary boundary-level-1-casing no-bezier" layer="5"/>
+				<line class="boundary boundary-level-1-core no-bezier" layer="5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="boundary" v="national_park" layer="5">
+			<line class="boundary boundary-nationalpark-core no-bezier" layer="5"/>
+		</rule>
+	</rule>
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+
+        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
+            /* DO NOT DELETE .untagged-segments - Used by osmarender.xsl */
+            .untagged-segments {
+                stroke-width: 0.5px;
+                stroke-linejoin: miter;
+                stroke-linecap: butt;
+                stroke: #e0e0e0;
+                stroke-dasharray: 0.5,0.5;
+            }
+            
+
+
+            /* Highways - generic styles */
+            .highway-casing {
+				stroke-linecap: square;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+            .highway-core {
+                stroke-linecap: square;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+            .highway-motorway-junction {
+            fill: yellow;
+            stroke: #4D5D73;
+            stroke-width: 3px;
+            }
+            
+            .highway-motorway-junction-caption {
+            fill: black;
+            stroke: blue;
+            stroke-width: 0.2px;
+            font-family: "DejaVu Sans",sans-serif;
+            font-size: 10px;
+            font-weight: bold;
+            display: none;
+            }
+            
+            .highway-ref {
+                fill: #606060;
+                stroke: white;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+				text-anchor: middle;
+            }
+
+            .highway-name {
+                fill: black;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                stroke: white;
+				text-anchor: middle;
+             }
+
+            .bridge-casing {
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #707070;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+			
+			.bridge-core {
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #ffffff;
+                fill: none;
+			}
+
+            .tunnel-casing {
+				stroke-linecap: butt;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+            .tunnel-core {
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+			.tunnel { stroke-dasharray: 1.6, 1.6; }
+
+		/* Railways - generic styles */
+		.railway-tunnel { stroke-dasharray: 6, 6; }
+		.railway-casing { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+		.railway-2-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+
+		.railway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			stroke: #b0b0b0;
+			stroke-width: 8px;
+		}
+
+		.railway-rail-casing                    { stroke-width: 9.5px; }
+		.railway-rail-2-core                    { stroke-width: 7px; }
+		.railway-rail-casing-color              { stroke: #404040; }
+		.railway-rail-2-core-color              { stroke: #404040; }
+		.railway-rail-tunnel-core               { stroke-opacity: 0.1; }
+
+		.railway-narrow-casing                    { stroke-width: 7.5px; }
+		.railway-narrow-2-core                    { stroke-width: 5px; }
+		.railway-narrow-casing-color              { stroke: #404040; }
+		.railway-narrow-2-core-color              { stroke: #404040; }
+		.railway-narrow-tunnel-core               { stroke-opacity: 0.1; }
+
+		.railway-preserved-casing                    { stroke-width: 7.5px; }
+		.railway-preserved-2-core                    { stroke-width: 4px; }
+		.railway-preserved-casing-color              { stroke: #595959; }
+		.railway-preserved-2-core-color              { stroke: #595959; }
+		.railway-preserved-tunnel-core               { stroke-opacity: 0.1; }
+
+		.railway-light-casing                    { stroke-width: 7.5px; }
+		.railway-light-2-core                    { stroke-width: 4px; }
+		.railway-light-casing-color              { stroke: #008000; }
+		.railway-light-2-core-color              { stroke: #008000; }
+		.railway-light-tunnel-core               { stroke-opacity: 0.2; }
+
+		.railway-tram-casing                    { stroke-width: 7.5px; }
+		.railway-tram-2-core                    { stroke-width: 4px; }
+		.railway-tram-casing-color              { stroke: #800080; }
+		.railway-tram-2-core-color              { stroke: #800080; }
+		.railway-tram-tunnel-core               { stroke-opacity: 0.2; }
+
+		.railway-subway-casing                    { stroke-width: 7.5px; }
+		.railway-subway-2-core                    { stroke-width: 4px; }
+		.railway-subway-casing-color              { stroke: #000080; }
+		.railway-subway-2-core-color              { stroke: #000080; }
+		.railway-subway-tunnel-core               { stroke-opacity: 0.2; }
+
+		.railway-monorail-casing                    { stroke-width: 7.5px; }
+		.railway-monorail-2-core                    { stroke-width: 4px; }
+		.railway-monorail-casing-color              { stroke: #b20000; }
+		.railway-monorail-2-core-color              { stroke: #b20000; }
+		.railway-monorail-tunnel-core               { stroke-opacity: 0.2; }
+
+		.highway-motorway-casing                { stroke-width: 33px; stroke: #202020; }
+		.highway-motorway-core                  { stroke-width: 32px; stroke: #809BC0; }
+
+		.highway-motorway-link-casing           { stroke-width: 13.5px; stroke: #202020; }
+		.highway-motorway-link-core             { stroke-width: 12.5px; stroke: #809BC0; }
+
+		.highway-trunk-casing                   { stroke-width: 27px; stroke: #202020; }
+		.highway-trunk-core                     { stroke-width: 26px; stroke: #7fc97f; }
+
+		.highway-trunk-link-casing              { stroke-width: 10px; stroke: #202020; }
+		.highway-trunk-link-core                { stroke-width: 9.5px; stroke: #7FC97F; }
+
+		.highway-primary-casing                 { stroke-width: 21px; stroke: #202020; }
+		.highway-primary-core                   { stroke-width: 20px; stroke: #e46d71; }
+
+		.highway-primary-link-casing            { stroke-width: 7px; stroke: #202020; }
+		.highway-primary-link-core              { stroke-width: 6.75px; stroke: #e46d71; }
+
+		.highway-secondary-casing               { stroke-width: 18px; stroke: #202020; }
+		.highway-secondary-core                 { stroke-width: 17px; stroke: #FDBF6F; }
+
+		.highway-secondary-link-casing          { stroke-width: 7px; stroke: #202020; }
+		.highway-secondary-link-core            { stroke-width: 6.75px; stroke: #FDBF6F; }
+
+		.highway-tertiary-casing                { stroke-width: 5px;  stroke: #202020; }
+		.highway-tertiary-core                  { stroke-width: 4.75px;  stroke: #ffff90; }
+
+		.highway-tertiary-link-casing           { stroke-width: 6.5px;  stroke: #202020; }
+		.highway-tertiary-link-core             { stroke-width: 5.75px;  stroke: #ffff90; }
+
+            .highway-unclassified-casing            { stroke-width: 5px; stroke: #c0c0c0; }
+            .highway-unclassified-core              { stroke-width: 1.2px; stroke: #ffffff; }
+
+            .highway-service-casing                 { stroke-width: 4px; stroke: #202020; }
+            .highway-service-core                   { stroke-width: 3.5px; stroke: #ffffff; }
+
+            .highway-unsurfaced-casing              { stroke-width: 4px; stroke: #202020; stroke-dasharray: 1, .5; }
+            .highway-unsurfaced-core                { stroke-width: 3.5px; stroke: #ffffff; }
+
+            .highway-track-casing                   { stroke-width: 4px; stroke: #d79331; }
+            .highway-track-core                     { stroke-width: 3.5px; stroke: #ffffff; }
+
+            .highway-byway-1-casing                 { stroke-width: 2px;     stroke: #505050;  stroke-dasharray: 1.4, 0.4; stroke-linecap: butt;}
+            .highway-byway-2-casing                 { stroke-width: 1.6px;   stroke: #efadaa; }
+            .highway-byway-3-casing                 { stroke-width: 2.8px;   stroke: #505050;  stroke-dasharray: 0.2, 1.6; stroke-dashoffset: 1.2; stroke-linecap: butt; }
+            .highway-byway-1-core                   { stroke-width: 0.8px;   stroke: #efadaa; }
+
+            .highway-bridleway-casing               { stroke-width: 1.8px;   stroke: #707070;  stroke-dasharray: 1.4, 0.4; stroke-linecap: butt; }
+            .highway-bridleway-core                 { stroke-width: 1.7px;   stroke: #d3cb98; }
+
+            .highway-cycleway-casing                { stroke-width: 0.5px;   stroke: #202020; }
+            .highway-cycleway-core                  { stroke-width: 0.5px;   stroke: #d1ead1; }
+
+            .highway-pedestrian-casing              { stroke-width: 4px; stroke: #b0b0b0; }
+            .highway-pedestrian-core                { stroke-width: 3.5px; stroke: #e4e4e4; }
+
+            .highway-footway-casing                 { stroke-width: 0.5px;   stroke: #202020; }
+            .highway-footway-core                   { stroke-width: 0.5px;   stroke: #e5e0c2; }
+
+            .highway-steps-casing                   { stroke-width: 1.2px;   stroke: #202020; }
+            .highway-steps-core                     { stroke-width: 1.1px;   stroke: #e5e0c2; stroke-dasharray: 0.6, 0.2; stroke-linecap: butt;}
+
+            .highway-scramble-core                  { stroke-width: 0.6px;   stroke: #707070; stroke-linecap: butt;}
+
+
+
+            /* Aeroways */
+            .aeroway-aerodrome {
+                stroke-width: 0.5px;
+                stroke: #000000;
+                fill: #d8dcce;
+            }
+
+            .aeroway-apron {
+                stroke-width: 0.3px;
+                stroke: none;
+                fill: #f0f0f0;
+            }
+
+            .aeroway-taxiway-core {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #d4dcbd;
+                fill: none;
+            }
+
+            .aeroway-taxiway-casing {
+                stroke-width: 3px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .aeroway-runway-core {
+                stroke-width: 5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #d4dcbd;
+                fill: none;
+            }
+
+            .aeroway-runway-casing {
+                stroke-width: 7px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .aeroway-aerodrome-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans";
+                font-size: 6px;
+                font-weight: bold;
+            }
+
+            .aeroway-airport-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans";
+                font-size: 10px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+
+            /* Waterways */
+            .waterway-casing {
+                stroke-linecap: round;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .waterway-core {
+                stroke-linecap: round;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .waterway-riverbank {
+                fill: #b5d6f1;
+                stroke: #b0b0b0;
+                stroke-width: 0px;
+            }
+
+            .waterway-river-casing {
+                stroke-width: 10px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b0b0b0;
+                fill: none;
+            }
+
+            .waterway-river-core {
+                stroke-width: 8px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .waterway-stream-casing {
+                stroke-width: 4px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b0b0b0;
+                fill: none;
+            }
+
+            .waterway-stream-core {
+                stroke-width: 3px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .waterway-canal-casing {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b0b0b0;
+                fill: none;
+            }
+
+            .waterway-canal-core {
+                stroke-width: 1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .waterway-drain-casing {
+                stroke-width: 1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b0b0b0;
+                fill: none;
+            }
+
+            .waterway-drain-core {
+                stroke-width: 0.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+
+            /* Ferry */
+            .route-ferry {
+                stroke-width: 2px;
+                stroke-dasharray: 3,2;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #707070;
+                fill: none;
+            }
+
+
+            /* Place names */
+			/* General style for place names */
+			.place-caption {
+				fill: black;
+				stroke: none;
+                font-family: "DejaVu Sans";
+                font-weight: bold;
+				text-anchor: middle;
+			}
+			
+            .caption-casing {
+				fill: white;
+                stroke: white;
+                font-family: "DejaVu Sans";
+                font-weight: bold;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+            .caption-core {
+                stroke: white;
+                stroke-width: 0px;
+                font-family: "DejaVu Sans";
+                font-weight: bold;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+			.county-caption         { font-size: 150px; }
+			.city-caption           { font-size: 100px; }
+			.town-caption           { font-size: 65px; }
+
+
+            /* Natural */
+            .natural-water {
+                fill: #b5d6f1;
+                stroke: #b0b0b0;
+                stroke-width: 0px;
+            }
+
+            .natural-coastline {
+                fill: #b5d6f1;
+                stroke: #b5d6f1;
+                stroke-width: 1.5px;
+            }
+
+            .natural-glacier {
+                fill: #fafaff;
+                stroke: lightblue;
+                stroke-width: 1.5px;
+            }
+
+            .natural-land {
+                fill: #f8f8f8;
+                stroke: #e0e0e0;
+                stroke-width: 0.1px;
+            }
+
+
+            /* Landuse */
+            .landuse-all {
+                stroke: none;
+                fill: #f0f0f0;
+            }
+
+            .landuse-wood {
+                fill: #6fc18e;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-cemetery {
+                fill: #bde3cb;
+                stroke: #e4e4e4;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-field {
+                fill: #bde3cb;
+                stroke: #6fc13d;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-residential {
+                stroke: none;
+                fill: #e4e4e4;
+            }
+
+            .landuse-retail {
+                stroke: none;
+                fill: #ffebeb;
+            }
+
+            .landuse-industrial {
+                fill: #ecd8ff;
+                stroke: #e4e4e4;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-commercial {
+                fill: #ffffc0;
+                stroke: #e4e4e4;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-retail {
+                fill: #ffebeb;
+                stroke: #e4e4e4;
+                stroke-width: 0.2px;
+            }
+
+			.landuse-runway {
+			  stroke-width: 0.3px;
+			  stroke: #808080;
+			  fill: #d4dcbd;
+			  }
+
+			.landuse-runway-disused {
+			  stroke-width: 0.3px;
+			  stroke: #808080;
+			  fill: #d4dcbd;
+			  stroke-dasharray: 1, 1;
+			  }
+
+			.landuse-runway-dismantled {
+			  stroke-width: 0.3px;
+			  stroke: #808080;
+			  fill: #fcffef;
+			  stroke-dasharray: 0.3, 1.7;
+			  opacity: 0.5;
+			  }
+
+
+            /* Leisure */
+            .leisure-park {
+                fill: #c7f1a3;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .leisure-stadium {
+                fill: #bde3cb;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .sport {
+                fill: #bde3cb;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .amenity-parking {
+                fill: #ffffc0;
+                stroke: #e9dd72;
+                stroke-width: 0.2px;
+            }
+
+
+            /* Non-physical boundaries */
+            .boundary {
+            stroke-linecap: round;
+            stroke-linejoin: round;
+            fill: none;
+            }
+			
+            .boundary-level-1-casing {
+            stroke-width: 64px;
+            stroke: #ffff00;
+            opacity: 0.7;
+            }
+			
+            .boundary-level-1-core {
+            stroke-width: 21px;
+            stroke: #f9574b;
+            stroke-dasharray: 48, 16, 16, 16;
+            }
+
+            .boundary-level-2-casing {
+            stroke-width: 48px;
+            stroke: #ffff00;
+            opacity: 0.7;
+            }
+			
+            .boundary-level-2-core {
+            stroke-width: 21px;
+            stroke: #f9574b;
+            stroke-dasharray: 48, 48;
+            }
+			
+            .boundary-nationalpark-core {
+            stroke-width: 8px;
+            stroke: #4ef94b;
+            stroke-dasharray: 48, 16, 16, 16;
+            }
+
+
+			/* Racetracks */
+			.highway-raceway-casing {
+			  stroke-width: 2px; 
+			  stroke-linecap: butt; 
+			  stroke-linejoin: round; 
+			  fill: none;
+			  stroke: #101010;
+			  }
+
+			.highway-raceway-casing-disused {
+			  stroke-width: 2px; 
+			  stroke-linecap: butt; 
+			  stroke-linejoin: round; 
+			  fill: none;
+			  stroke: #808080;
+			  stroke-dasharray: 1, 1;
+			  }
+
+			.highway-raceway-casing-dismantled {
+			  stroke-width: 2px; 
+			  stroke-linecap: butt; 
+			  stroke-linejoin: round; 
+			  fill: none;
+			  stroke: #808080;
+			  stroke-dasharray: 0.3, 1.7;
+			  opacity: 0.5;
+			  }
+
+			.highway-raceway-core {
+			  stroke-width: 1.5px; 
+			  stroke-linecap: butt; 
+			  stroke-linejoin: round; 
+			  fill: none;
+			  stroke: #f0f0f0;
+			  }
+
+			.highway-raceway-core-disused {
+			  stroke-width: 1.5px; 
+			  stroke-linecap: butt; 
+			  stroke-linejoin: round; 
+			  fill: none;
+			  stroke-dasharray: 1, 1;
+			  stroke: #f0f0f0;
+			  }
+
+			.highway-raceway-core-dismantled {
+			  stroke-width: 1.5px; 
+			  stroke-linecap: butt; 
+			  stroke-linejoin: round; 
+			  fill: none;
+			  stroke: #ffffff;
+			  stroke-dasharray: 0.3, 1.7;
+			  opacity: 0.5;
+			  }
+			  
+			.landuse-raceway {
+			  stroke-width: 0.3px; 
+			  stroke-linecap: butt; 
+			  stroke-linejoin: round; 
+			  fill: #f0f0f0;
+			  stroke: #101010;
+			  }
+
+			.landuse-raceway-disused {
+			  stroke-width: 0.3px; 
+			  stroke-linecap: butt; 
+			  stroke-linejoin: round; 
+			  fill: #f0f0f0;
+			  stroke: #808080;
+			  stroke-dasharray: 1, 1;
+			  }
+
+			.landuse-raceway-dismantled {
+			  stroke-width: 0.3px; 
+			  stroke-linecap: butt; 
+			  stroke-linejoin: round; 
+			  fill: #ffffff;
+			  stroke: #808080;
+			  stroke-dasharray: 0.3, 1.7;
+			  opacity: 0.5;
+			  }
+
+            /* Tourism */
+            .tourism-attraction {
+                fill: #f2caea;
+                stroke: #ff00ff;
+                stroke-width: 0px;
+            }
+
+            /* Building */
+            .building {
+                fill: #e0e0e0;
+                stroke: #d0d0d0;
+                stroke-width: 0.2px;
+            }
+
+            .building-block {
+                fill: #F3D6B6;
+                stroke: #6a5a8e;
+                stroke-width: 0.2px;
+            }
+
+            .building-residential {
+                fill: #c95e2a;
+                stroke: #800000;
+                stroke-width: 0.2px;
+            }
+
+
+            /* Map decoration */
+            .map-grid-line {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 0.1px;
+                stroke-opacity: 0.5;
+            }
+
+            .map-border-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 3px;
+                stroke-miterlimit: 4;
+                stroke-dasharray: none;
+                stroke-opacity: 1;
+                stroke-linecap: round;
+            }
+
+            .map-border-core {
+                fill: none;
+                fill-opacity: 1;
+                fill-rule: nonzero;
+                stroke: #ffffff;
+                stroke-width: 2px;
+                stroke-miterlimit: 0;
+                stroke-dashoffset: -0.5px;
+                stroke-opacity: 1;
+            }
+
+            .map-scale-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 4px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-core {
+                fill: none;
+                stroke: #ffffff;
+                stroke-width: 3px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-bookend {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 1px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-caption {
+                font-family: "DejaVu Sans";
+                font-size: 10px;
+                fill: #8080ff;
+            }
+
+            <!-- map background must be the same for all zooms or else empty tile detection will fail -->
+            .map-background {
+                fill: #f8f8f8;
+                stroke: none;
+            }
+
+            .map-title {
+                font-family: "DejaVu Sans";
+                font-size: 20px;
+                text-anchor: middle;
+                fill: black;
+            }
+
+            .map-title-background {
+                fill: white;
+            }
+
+            .map-marginalia-background {
+                fill: white;
+            }
+
+			.highway-tunnel-ends {
+				stroke-opacity: 0;
+				fill: none;
+				marker-start: url(#marker-tunnel-start);
+				marker-end: url(#marker-tunnel-end);
+			 }
+
+			/* Osmarender built-in styles - do not remove */
+			.osmarender-stroke-linecap-round { stroke-linecap: round; }
+			.osmarender-stroke-linecap-butt { stroke-linecap: butt; }
+			.osmarender-mask-black { stroke: black; }
+			.osmarender-mask-white { stroke: white; }
+			.osmarender-no-marker-start { marker-start: none; }
+			.osmarender-no-marker-end { marker-end: none; }
+        </style>
+
+        <svg:marker
+            id="bridge-casing-start"
+            fill='none'
+            stroke-width='0.1px'
+            stroke='#707070'
+            markerWidth="1px"
+            markerHeight="1px"
+            orient="auto">
+            <svg:path d="M-0.25,0.75 L0.5,0 L-0.25,-0.75" />
+        </svg:marker>
+
+        <svg:marker
+            id="bridge-casing-end"
+            fill='none'
+            stroke-width='0.1px'
+            stroke='#707070'
+            markerWidth="1px"
+            markerHeight="1px"
+            orient="auto">
+            <svg:path d="M0.25,0.75 L-0.5,0 L0.25,-0.75" />
+        </svg:marker>
+
+        <svg:marker
+            id="marker-tunnel-start"
+            viewBox="0 0 10 10"
+            refX="5px" refY="5px"
+            markerUnits="strokeWidth"
+            fill='none'
+            stroke-width='0.5px'
+            stroke='#707070'
+            markerWidth="2px"
+            markerHeight="2px"
+            orient="auto">
+            <svg:path d="M 4,1 A5,4.25 0 0,1 4,9" />
+        </svg:marker>
+
+        <svg:marker
+            id="marker-tunnel-end"
+            viewBox="0 0 10 10"
+            refX="5px" refY="5px"
+            markerUnits="strokeWidth"
+            fill='none'
+            stroke-width='0.5px'
+            stroke='#707070'
+            markerWidth="2px"
+            markerHeight="2px"
+            orient="auto">
+            <svg:path d="M 6,1 A5,4.25 0 0,0 6,9" /> 
+        </svg:marker>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol
+          id="airport"
+          viewBox="0 0 10 10"
+          fill="black"
+          fill-opacity="1"
+          fill-rule="evenodd"
+          stroke="none">
+            <svg:path d="M 9.2,5 C 9.2,4.5 9.8,3.2 10,3 L 9,3 L 8,4 L 5.5,4 L 8,0 L 6,0 L 3,4 C 2,4 1,4.2 0.5,4.5 C 0,5 0,5 0.5,5.5 C 1,5.8 2,6 3,6 L 6,10 L 8,10 L 5.5,6 L 7.8,6 L 9,7 L 10,7 C 9.8,6.8 9.2,5.5 9.2,5 z " />
+        </svg:symbol>
+
+
+		<svg:symbol id="symbol-peak" viewBox="0 0 100 100">
+			<svg:path  fill="#cdabde" stroke="#202020" stroke-width="5" d="M 0,90 L 50,10 L 100,90 Z"/>
+		</svg:symbol>
+
+
+    </defs>
+
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/captionless-z12.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/captionless-z12.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/captionless-z12.xml	(revision 35743)
@@ -0,0 +1,2268 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Tiles@Home Rules File for zoom level 12 -->
+<rules
+	  xmlns:xlink="http://www.w3.org/1999/xlink"
+	  xmlns:svg="http://www.w3.org/2000/svg"
+	  data="data.osm"
+	  svgBaseProfile="full"
+	  scale="1"
+	  symbolScale="3.43"
+	  textAttenuation="0.44"
+	  minimumMapWidth="0.5"
+	  minimumMapHeight="0.5"
+	  withOSMLayers="yes"
+	  withUntaggedSegments="no"
+	  showScale="no"
+	  showGrid="no"
+	  showBorder="no"
+	  showLicense="no"
+	  symbolsDir="../stylesheets/symbols"
+	  interactive="no">
+	
+	
+	<!-- Select all nodes and ways (unless they have an osmarender:render=no tag) -->
+	<rule e="node|way" k="osmarender:render" v="~|yes">
+		
+		<!-- Draw land areas first -->
+		<rule e="way" k="natural" v="land">
+			<area class="natural land"/>
+		</rule>
+		
+		<!-- Natural features -->
+		<rule e="way" k="natural" v="coastline">
+			<area class="natural coastline"/>
+		</rule>
+		<rule e="way" k="natural" v="glacier">
+			<line class="natural glacier"/>
+		</rule>
+		<rule e="way" k="landuse|natural" v="forest|wood|scrub">
+			<area class="landuse wood"/>
+		</rule>
+		<rule e="way" k="natural" v="heath">
+			<area class="natural heath"/>
+		</rule>
+		<rule e="way" k="natural" v="wetland">
+			<rule e="way" k="wetland" v="bog">
+				<area class="wetland bog"/>
+			</rule>
+		</rule>
+		<rule e="way" k="landuse" v="conservation">
+			<area class="landuse conservation"/>
+		</rule>
+		
+		<!-- Artificial landuse -->
+		<rule e="way" k="landuse" v="field|farm|farmland|meadow|grass">
+			<area class="landuse-field"/>
+		</rule>
+		<rule e="way" k="landuse" v="allotments|village_green|recreation_ground">
+			<area class="landuse-allotment-village"/>
+		</rule>
+		<rule e="way" k="leisure" v="park|garden|golf_course|common|green">
+			<area class="leisure-park"/>
+		</rule>
+		<rule e="way" k="leisure" v="playground|playing_fields|pitch|dog_park">
+			<rule e="way" k="sport" v="tennis">
+				<area class="sport-tennis"/>
+			</rule>
+			<else>
+				<!-- Done separately from the above rule to layer these above. Tend to be smaller and inside parks. -->
+				<area class="leisure-park"/>
+			</else>
+		</rule>
+		<rule e="way" k="leisure" v="stadium|sports_centre">
+			<area class="leisure stadium"/>
+		</rule>
+		<rule e="way" k="leisure" v="track">
+			<rule e="way" k="area" v="yes|true">
+				<area class="leisure-track-area"/>
+			</rule>
+			<else>
+				<line class="leisure-track-casing"/>
+				<line class="leisure-track-core"/>
+			</else>
+		</rule>
+		<rule e="way" k="man_made" v="wastewater_plant" layer="-5" closed="yes">
+			<area class="man_made-wastewater" layer="-5"/>
+		</rule>
+		
+		<!-- Airports and runways -->
+		<rule e="way" k="aeroway" v="aerodrome" closed="yes">
+			<area class="aeroway-aerodrome"/>
+		</rule>
+		<rule e="way" k="aeroway" v="apron">
+			<area class="aeroway apron"/>
+		</rule>
+		<rule e="way" k="landuse" v="runway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse runway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse runway disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse runway dismantled"/>
+			</rule>
+		</rule>
+		
+		<!-- Raceways and racetracks (cars and horses etc) -->
+		<rule e="way" k="landuse" v="raceway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse raceway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse raceway disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse raceway dismantled"/>
+			</rule>
+		</rule>
+		
+		<!-- Man-made areas -->
+		<rule e="way" k="sport" v="*" closed="yes">
+			<area class="sport"/>
+		</rule>
+		<rule e="way" k="amenity" v="parking">
+			<area class="amenity parking"/>
+		</rule>
+		<rule e="way" k="tourism" v="zoo|picnic_site|caravan_site|camp_site">
+			<area class="tourism green_area"/>
+		</rule>
+		
+		<!-- Airfields and airports -->
+		<rule e="way" k="aeroway" v="runway">
+			<line class="aeroway runway casing"/>
+		</rule>
+		<rule e="way" k="aeroway" v="taxiway">
+			<line class="aeroway taxiway casing"/>
+		</rule>
+		
+		<!-- Waterways -->
+		<rule e="way" k="waterway" v="river">
+			<line class="waterway-casing waterway-river-casing" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="stream">
+			<line class="waterway-casing waterway-stream-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+		</rule>
+		<rule e="way" k="waterway" v="canal">
+			<line class="waterway-casing waterway-canal-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="drain">
+			<line class="waterway-casing waterway-drain-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+		</rule>
+		<rule e="way" k="waterway" v="ditch">
+			<line class="waterway-casing waterway-ditch-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+		</rule>
+		<rule e="way" k="tunnel" v="yes">
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<line class="waterway-core waterway-stream-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</rule>
+		<else>
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-core" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<line class="waterway-core waterway-stream-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</else>
+		<rule e="way" k="waterway" v="dock">
+			<area class="natural water"/>
+		</rule>
+		<rule e="way" k="natural" v="water|pond|lake|bay">
+			<area class="natural water"/>
+		</rule>
+		<rule e="way" k="landuse" v="reservoir">
+			<area class="natural water"/>
+		</rule>
+		<rule e="way" k="landuse" v="basin">
+			<area class="natural water"/>
+		</rule>
+		<rule e="way" k="waterway" v="riverbank">
+			<area class="waterway-riverbank"/>
+		</rule>
+		
+		<rule e="way" k="boundary" v="national_park">
+			<area class="leisure-national_park"/>
+		</rule>
+		<!--  rule e="way" k="leisure" v="landscape_reserve">
+			<area class="leisure-landscape_reserve"/>
+		</rule  -->
+		<rule e="way" k="leisure" v="nature_reserve">
+			<area class="leisure-nature_reserve"/>
+		</rule>
+
+		<!-- Highway area casings -->
+		<rule e="way" k="area" v="yes|true">
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="steps">
+				<area class="highway-casing highway-steps-area-casing highway-steps-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<area class="highway-casing highway-footway-area-casing highway-footway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<area class="highway-casing highway-cycleway-area-casing highway-cycleway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<area class="highway-casing highway-bridleway-area-casing highway-bridleway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<area class="highway-casing highway-cycleway-area-casing highway-cycleway-area no-bezier"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<area class="highway-casing highway-bridleway-area-casing highway-bridleway-area no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-footway-area-casing highway-footway-area no-bezier"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<area class="highway-casing highway-byway-area-casing highway-byway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<area class="highway-casing highway-track-area-casing highway-track-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<area class="highway-casing highway-unsurfaced-area-casing highway-unsurfaced-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+				</rule>
+				<else>
+					<area class="highway-casing highway-service-area-casing highway-service-area no-bezier"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<area class="highway-casing highway-pedestrian-area-casing highway-pedestrian-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor|living_street|road">
+				<area class="highway-casing highway-unclassified-area-casing highway-unclassified-area no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-casing highway-unclassified-area-casing highway-unclassified-area no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-casing highway-cycleroad-area-casing highway-cycleroad-area no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-casing highway-unclassified-area-casing highway-unclassified-area no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-cycleroad-area-casing highway-cycleroad-area no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-casing highway-unclassified-area-casing highway-unclassified-area no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-casing highway-cycleroad-area-casing highway-cycleroad-area no-bezier"/>
+						</else>
+					</rule>
+				</else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="tertiary_link">
+				<area class="highway-casing highway-tertiary-link-casing highway-tertiary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<area class="highway-casing highway-tertiary-casing highway-tertiary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<area class="highway-casing highway-secondary-link-casing highway-secondary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<area class="highway-casing highway-secondary-casing highway-secondary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<area class="highway-casing highway-primary-link-casing highway-primary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<area class="highway-casing highway-trunk-link-casing highway-trunk-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<area class="highway-casing highway-motorway-link-casing highway-motorway-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<area class="highway-casing highway-primary-casing highway-primary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<area class="highway-casing highway-trunk-casing highway-trunk-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<area class="highway-casing highway-motorway-casing highway-motorway-area-casing no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		</rule>
+		
+		<!-- Linear casings -->
+		<rule e="way" k="tunnel" v="~|no|false">
+			<rule e="way" k="area" v="~|no|false">
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="raceway">
+					<rule e="way" k="use_status" v="~">
+						<line class="highway-raceway-casing"/>
+					</rule>
+					<rule e="way" k="use_status" v="disused">
+						<line class="highway-raceway-casing-disused"/>
+					</rule>
+					<rule e="way" k="use_status" v="dismantled">
+						<line class="highway-raceway-casing-dismantled"/>
+					</rule>
+				</rule>
+				<rule e="way" k="highway" v="steps">
+					<line class="highway-casing highway-steps-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="footway|footpath">
+					<line class="highway-casing highway-footway-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="cycleway">
+					<line class="highway-casing highway-cycleway-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="bridleway">
+					<line class="highway-casing highway-bridleway-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<line class="highway-casing highway-cycleway-casing "/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<line class="highway-casing highway-bridleway-casing "/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-footway-casing "/>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="byway">
+					<line class="highway-casing highway-byway-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="track">
+					<line class="highway-casing highway-track-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="unsurfaced">
+					<line class="highway-casing highway-unsurfaced-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle">
+					</rule>
+					<else>
+						<line class="highway-casing highway-unsurfaced-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="pedestrian">
+					<line class="highway-casing highway-pedestrian-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="unclassified|residential|minor|living_street|road|ford">
+					<line class="highway-casing highway-unclassified-casing "/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-casing highway-unclassified-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-cycleroad-casing"/>
+					</else>
+			  </rule>
+			  <else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-casing highway-unclassified-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-cycleroad-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-casing highway-unclassified-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-cycleroad-casing"/>
+							</else>
+						</rule>
+					</else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="tertiary_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-tertiary-link-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-tertiary-link-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="tertiary">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-tertiary-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-tertiary-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="secondary_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-secondary-link-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-secondary-link-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="secondary">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-secondary-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-secondary-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="primary_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-primary-link-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-primary-link-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="trunk_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-trunk-link-mr2-casing"/>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="no">
+							<line class="highway-casing highway-trunk-link-mr3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-trunk-link-casing"/>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="motorway_link">
+					<line class="highway-casing highway-motorway-link-casing"/>
+				</rule>
+				<rule e="way" k="highway" v="primary">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-primary-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-primary-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="trunk">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-trunk-mr2-casing"/>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="no">
+							<line class="highway-casing highway-trunk-mr3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-trunk-casing"/>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="motorway">
+					<line class="highway-casing highway-motorway-casing"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			</rule>
+		</rule>
+		
+		<!-- Highway area cores -->
+		<rule e="way" k="area" v="yes|true">
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="steps">
+				<area class="highway-core highway-steps-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<area class="highway-core highway-footway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<area class="highway-core highway-cycleway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<area class="highway-core highway-bridleway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<area class="highway-core highway-cycleway-core no-bezier"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<area class="highway-core highway-bridleway-core no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-path-core no-bezier"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<area class="highway-core highway-byway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<rule e="way" k="tracktype" v="grade1">
+					<area class="highway-core highway-track-grade1-core highway-track-core no-bezier"/>
+				</rule>
+				<else>
+					<rule e="way" k="tracktype" v="grade2">
+						<area class="highway-casing highway-track-grade2-core highway-track-core no-bezier"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade3">
+							<area class="highway-core highway-track-grade3-core highway-track-core no-bezier"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade4">
+								<area class="highway-core highway-track-grade4-core highway-track-core no-bezier"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade5">
+									<area class="highway-core highway-track-grade5-core highway-track-core no-bezier"/>
+								</rule>
+								<else>
+									<area class="highway-core highway-track-gradex-core highway-track-core no-bezier"/>
+								</else>
+							</else>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<area class="highway-core highway-unsurfaced-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+				</rule>
+				<else>
+					<area class="highway-core highway-service-core no-bezier"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<area class="highway-core highway-pedestrian-core no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-core highway-unclassified-core no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-core highway-cycleroad-core no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-core highway-unclassified-core no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-cycleroad-core no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-core highway-unclassified-core no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-core highway-cycleroad-core no-bezier"/>
+						</else>
+					</rule>
+				</else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="unclassified|residential|minor|living_street|road">
+				<area class="highway-core highway-unclassified-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<area class="highway-core highway-tertiary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<area class="highway-core highway-tertiary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<area class="highway-core highway-secondary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<area class="highway-core highway-secondary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<area class="highway-core highway-primary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<area class="highway-core highway-trunk-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<area class="highway-core highway-motorway-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<area class="highway-core highway-primary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<area class="highway-core highway-trunk-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<area class="highway-core highway-motorway-area no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		</rule>
+		
+		<!-- Buildings -->
+		<rule e="way" k="aeroway" v="terminal">
+			<area class="building-block"/>
+		</rule>
+		<rule e="way" k="building" v="*">
+			<area class="building-block no-bezier"/>
+		</rule>
+		
+		<!-- Linear cores -->
+		<rule e="way" k="tunnel" v="~|false|no">
+			<rule e="way" k="area" v="~|false|no">
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="ford">
+					<line class="highway-core highway-ford-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="raceway">
+					<rule e="way" k="use_status" v="~">
+						<line class="highway-raceway-core"/>
+					</rule>
+					<rule e="way" k="use_status" v="disused">
+						<line class="highway-raceway-core-disused"/>
+					</rule>
+					<rule e="way" k="use_status" v="dismantled">
+						<line class="highway-raceway-core-dismantled"/>
+					</rule>
+				</rule>
+				<rule e="way" k="scramble" v="*">
+					<line class="highway-core highway-scramble-core"/>
+				</rule>
+				<rule e="way" k="highway" v="steps">
+					<line class="highway-core highway-steps-core"/>
+				</rule>
+				<rule e="way" k="highway" v="footway|footpath">
+					<line class="highway-core highway-footway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="cycleway">
+					<line class="highway-core highway-cycleway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="bridleway">
+					<line class="highway-core highway-bridleway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<line class="highway-core highway-cycleway-core"/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<line class="highway-core highway-bridleway-core"/>
+						</rule>
+						<else>
+							<rule e="way" k="foot" v="yes|designated">
+								<line class="highway-core highway-footway-core"/>
+							</rule>
+							<else>
+								<line class="highway-core highway-path-core"/>
+							</else>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="byway">
+					<line class="highway-core highway-byway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="track">
+					<rule e="way" k="tracktype" v="~">
+						<line class="highway-core highway-track-core highway-track-gradex-core"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade1">
+							<line class="highway-core highway-track-core highway-track-grade1-core"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade2">
+								<line class="highway-core highway-track-core highway-track-grade2-core"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade3">
+									<line class="highway-core highway-track-core highway-track-grade3-core" smart-linecap="no"/>
+								</rule>
+								<else>
+									<rule e="way" k="tracktype" v="grade4">
+										<line class="highway-core highway-track-core highway-track-grade4-core" smart-linecap="no"/>
+									</rule>
+									<else>
+										<rule e="way" k="tracktype" v="grade5">
+											<line class="highway-core highway-track-core highway-track-grade5-core" smart-linecap="no"/>
+										</rule>
+										<else>
+											<line class="highway-core highway-track-core highway-track-gradex-core"/>
+										</else>
+									</else>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="unsurfaced">
+					<line class="highway-core highway-unsurfaced-core"/>
+				</rule>
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle">
+					</rule>
+					<else>
+						<line class="highway-core highway-service-core"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="pedestrian">
+					<line class="highway-core highway-pedestrian-core"/>
+				</rule>
+
+				<rule e="way" k="highway" v="unclassified|residential|minor|living_street|road">
+					<line class="highway-core highway-unclassified-core"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-core highway-unclassified-core"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-cycleroad-core"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-core highway-unclassified-core"/>
+						</rule>
+						<else>
+							<line class="highway-core highway-cycleroad-core"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-core highway-unclassified-core"/>
+							</rule>
+							<else>
+								<line class="highway-core highway-cycleroad-core"/>
+							</else>
+						</rule>
+					</else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="tertiary_link">
+					<line class="highway-core highway-tertiary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="tertiary">
+					<line class="highway-core highway-tertiary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary_link">
+					<line class="highway-core highway-secondary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary">
+					<line class="highway-core highway-secondary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="primary_link">
+					<line class="highway-core highway-primary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk_link">
+					<line class="highway-core highway-trunk-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway_link">
+					<line class="highway-core highway-motorway-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="primary">
+					<line class="highway-core highway-primary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk">
+					<line class="highway-core highway-trunk-core"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway">
+					<line class="highway-core highway-motorway-core"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core"/>
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-2-core railway-light-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="aeroway" v="runway">
+					<line class="aeroway runway core"/>
+				</rule>
+				<rule e="way" k="aeroway" v="taxiway">
+					<line class="aeroway taxiway core"/>
+				</rule>
+			</rule>
+		</rule>
+		
+		<!-- Tunnels -->
+		<rule e="way" k="tunnel" v="true|yes">
+			<rule e="way" k="highway" v="steps">
+				<line class="tunnel-casing highway-steps-casing tunnel" mask-class="tunnel-core highway-steps-core"/>
+				<line class="highway-steps-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+				<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<line class="tunnel-casing highway-pedestrian-casing tunnel" mask-class="tunnel-core highway-pedestrian-core"/>
+				<line class="highway-pedestrian-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+				<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+					<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+						<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</rule>
+					<else>
+						<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+						<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+				<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<line class="tunnel-casing highway-byway-1-casing tunnel" mask-class="tunnel-core highway-byway-1-core"/>
+				<line class="highway-byway-1-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<line class="tunnel-casing highway-track-casing tunnel" mask-class="tunnel-core highway-track-core"/>
+				<line class="highway-track-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<line class="tunnel-casing highway-unsurfaced-casing tunnel" mask-class="tunnel-core highway-unsurfaced-core"/>
+				<line class="highway-unsurfaced-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<line class="tunnel-casing highway-service-casing tunnel" mask-class="tunnel-core highway-service-core"/>
+				<line class="highway-service-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor|tertiary|cycleroad|living_street">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-unclassified-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="road">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-road-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<line class="tunnel-casing highway-tertiary-link-casing tunnel" mask-class="tunnel-core highway-tertiary-link-core"/>
+				<line class="highway-tertiary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<line class="tunnel-casing highway-tertiary-casing tunnel" mask-class="tunnel-core highway-tertiary-core"/>
+				<line class="highway-tertiary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<line class="tunnel-casing highway-secondary-link-casing tunnel" mask-class="tunnel-core highway-secondary-link-core"/>
+				<line class="highway-secondary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<line class="tunnel-casing highway-secondary-casing tunnel" mask-class="tunnel-core highway-secondary-core"/>
+				<line class="highway-secondary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<line class="tunnel-casing highway-primary-link-casing tunnel" mask-class="tunnel-core highway-primary-link-core"/>
+				<line class="highway-primary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<line class="tunnel-casing highway-trunk-link-casing tunnel" mask-class="tunnel-core highway-trunk-link-core"/>
+				<line class="highway-trunk-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<line class="tunnel-casing highway-motorway-link-casing tunnel" mask-class="tunnel-core highway-motorway-link-core"/>
+				<line class="highway-motorway-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<line class="tunnel-casing highway-primary-casing tunnel" mask-class="tunnel-core highway-primary-core"/>
+				<line class="highway-primary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<line class="tunnel-casing highway-trunk-casing tunnel" mask-class="tunnel-core highway-trunk-core"/>
+				<line class="highway-trunk-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<line class="tunnel-casing highway-motorway-casing tunnel" mask-class="tunnel-core highway-motorway-core"/>
+				<line class="highway-motorway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="railway" v="*">
+				<rule e="way" k="construction" v="yes|true">
+					<line class="railway-con-casing railway-con-casing-color tunnel-casing tunnel" mask-class="tunnel-core railway-con-2-core"/>
+					<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="planned|proposed" v="yes|true">
+						<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-2-core"/>
+						<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="disused" v="yes|true">
+							<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-2-core"/>
+							<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="abandoned|dismantled" v="yes|true">
+								<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-2-core"/>
+								<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="railway" v="construction">
+									<line class="railway-con-casing railway-con-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-con-2-core"/>
+									<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="planned|proposed">
+									<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-2-core"/>
+									<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="disused">
+									<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-2-core"/>
+									<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="abandoned|dismantled">
+									<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-2-core"/>
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="rail">
+									<line class="railway-rail-casing railway-rail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-rail-2-core"/>
+									<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core railway-rail-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="narrow_gauge">
+									<line class="railway-narrow-casing railway-narrow-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-narrow-2-core"/>
+									<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core railway-narrow-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="preserved">
+									<line class="railway-preserved-casing railway-preserved-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-preserved-2-core"/>
+									<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core railway-preserved-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="light_rail">
+									<line class="railway-light-casing railway-light-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-light-2-core"/>
+									<line class="railway-light-2-core railway-light-2-core-color railway-2-core railway-light-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="tram">
+									<line class="railway-tram-casing railway-tram-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-tram-2-core"/>
+									<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core railway-tram-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="subway">
+									<line class="railway-subway-casing railway-subway-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-subway-2-core"/>
+									<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core railway-subway-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="incline|funicular">
+									<line class="railway-funicular-casing railway-funicular-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-funicular-2-core"/>
+									<line class="railway-funicular-1-core railway-funicular-1-core-color railway-1-core railway-funicular-tunnel-core tunnel"  smart-linecap="no" />
+									<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core railway-funicular-tunnel-core tunnel-casing tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="monorail">
+									<line class="railway-monorail-casing railway-monorail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-monorail-2-core"/>
+									<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core railway-monorail-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="spur|yard|siding">
+									<line class="railway-yard-casing railway-yard-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-yard-2-core"/>
+									<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core railway-yard-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+							</else>
+						</else>
+					</else>
+				</else>
+				<line class="railway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+		</rule>
+		
+		<!-- Linear cores (under construction) -->
+		<rule e="way" k="highway" v="construction">
+			<rule e="way" k="construction" v="unsurfaced">
+				<line class="highway-core highway-unsurfaced-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="service">
+				<line class="highway-core highway-service-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="unclassified|residential|minor|cycleroad|living_street">
+				<line class="highway-core highway-unclassified-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="~|road|yes">
+				<line class="highway-core highway-road-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary_link">
+				<line class="highway-core highway-tertiary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary">
+				<line class="highway-core highway-tertiary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary_link">
+				<line class="highway-core highway-secondary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary">
+				<line class="highway-core highway-secondary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="primary_link">
+				<line class="highway-core highway-primary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk_link">
+				<line class="highway-core highway-trunk-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway_link">
+				<line class="highway-core highway-motorway-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="primary">
+				<line class="highway-core highway-primary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk">
+				<line class="highway-core highway-trunk-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway">
+				<line class="highway-core highway-motorway-core under-construction"/>
+			</rule>
+		</rule>
+
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="construction|planned|disused|abandoned" v="yes|true">
+				<line class="wrong-under-construction" smart-linecap="no"/>
+			</rule>
+		</rule>
+
+		<!-- Aerialways -->
+		<rule e="way" k="aerialway" v="cable_car|gondola">
+			<line class="aerialway-line no-bezier" smart-linecap="no"/>
+			<line class="aerialway-struts no-bezier" smart-linecap="no"/>
+		</rule>
+		
+		<!-- Natural features -->
+		<rule e="node" k="natural" v="peak">
+			<symbol ref="peak" position="center"/>
+		</rule>
+		<rule e="node" k="natural" v="volcano">
+			<symbol ref="vulcan" position="center"/>
+		</rule>
+		
+		<!-- Non-physical routes -->
+		<rule e="way" k="route" v="ferry">
+			<line class="route-ferry"/>
+		</rule>
+		
+		<!-- Airfields and airports -->
+		<rule e="node|way" k="aeroway" v="airport">
+			<symbol ref="airport" position="center"/>
+		</rule>
+		
+		<!-- ==================================== Layer -5 ======================================== -->
+		
+		<!-- Landuse -->
+		<!-- at zoom 12 render all landuse in the same colour so it doesn't look too psychedelic -->
+		<rule e="way" k="landuse" v="residential|farmyard|retail|industrial|brownfield|commercial|cemetery|quarry|greenfield|construction|railway" layer="-5">
+			<area class="landuse" layer="-5"/>
+		</rule>
+		
+		<!-- Artificial landuse -->
+		<rule e="way" k="amenity" v="kindergarten|school|college|university" layer="-5">
+			<area class="landuse" layer="-5"/>
+		</rule>
+		
+		<!-- Man-made areas -->
+		<rule e="way" k="landuse" v="military" layer="-5">
+			<rule e="way" k="military" v="~" layer="-5">
+				<area class="military-area" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="military" v="*" layer="-5">
+			<area class="military-area" layer="-5"/>
+		</rule>
+		<rule e="way" k="tourism" v="attraction" layer="-5">
+			<rule e="way" k="highway" v="~">
+				<rule e="way" k="area" v="no" />
+				<else>
+					<area class="tourism attraction" layer="-5"/>
+				</else>
+			</rule>
+		</rule>
+		
+		<!-- ==================================== Layer 5 ======================================== -->
+		
+		<!-- Non-physical boundaries -->
+		<rule e="way" k="boundary" v="administrative" layer="5">
+			<rule e="way" k="admin_level" v="1|2|3|4" layer="5">
+				<rule e="way" k="admin_level" v="4" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="3" layer="5">
+					<line class="boundary boundary-level-3-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="2" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="1" layer="5">
+					<line class="boundary boundary-level-1-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-1-core no-bezier" layer="5"/>
+				</rule>
+			</rule>
+			<!-- If we don't have explicit admin_level then guess -->
+			<else>
+				<rule e="way" k="border_type" v="region|state" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="nation|country" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+			</else>
+		</rule>
+		<rule e="way" k="boundary" v="national_park" layer="5">
+			<line class="boundary boundary-nationalpark-core no-bezier" layer="5"/>
+		</rule>
+		
+		<!-- Place names  -->
+		<rule e="node" k="osmarender:renderName" v="~|yes" layer="5">
+			<rule e="node" k="place" v="island" layer="5">
+				<caption k="name" class="place-caption island-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="county" layer="5">
+				<caption k="name" class="place-caption county-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="city" layer="5">
+				<caption k="name" class="place-caption city-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="town" layer="5">
+				<caption k="name" class="place-caption town-caption" layer="5"/>
+			</rule>
+		</rule>
+		
+		<!-- Names for large natural features -->
+		<rule e="way" k="natural" v="*" minSize="0.128" layer="5">
+			<caption k="name" class="caption-casing largefeature-caption-casing" text-anchor='middle' startOffset='50%'/>
+			<caption k="name" class="caption-core largefeature-caption-core" text-anchor='middle' startOffset='50%'/>
+		</rule>
+	</rule>
+	
+	<!-- SVG Definitions - markers, symbols etc go here -->
+	<include ref="markers.xml"/>
+	<defs>
+		<style xmlns="http://www.w3.org/2000/svg" id="styles" type="text/css">
+			/* DO NOT DELETE .untagged-segments - Used by osmarender.xsl */
+			.untagged-segments {
+			stroke-width: 0.5px;
+			stroke-linejoin: miter;
+			stroke-linecap: butt;
+			stroke: #e0e0e0;
+			stroke-dasharray: 0.5,0.5;
+			}
+				
+			
+			
+			/* Highways - generic styles */
+			.highway-casing {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.highway-core {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.highway-motorway-junction {
+			fill: yellow;
+			stroke: #4D5D73;
+			stroke-width: 3px;
+			}
+			
+			.highway-motorway-junction-caption {
+			fill: black;
+			stroke: blue;
+			stroke-width: 0.2px;
+			font-family: "DejaVu Sans";
+			font-size: 10px;
+			font-weight: bold;
+			display: none;
+			}
+			
+			.highway-ref {
+			fill: #606060;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			text-anchor: middle;
+			}
+			
+			.highway-name {
+			fill: black;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			text-anchor: middle;
+			}
+			
+			.bridge-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			marker-start: url(#bridge-casing-start);
+			marker-end: url(#bridge-casing-end);
+			}
+			
+			.bridge-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #ffffff;
+			fill: none;
+			}
+			
+			.tunnel-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.tunnel-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.tunnel { stroke-dasharray: 6, 6; }
+			
+			.railway-casing { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-1-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-2-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-core   { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+
+			.railway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			stroke: #b0b0b0;
+			stroke-width: 14px;
+			}
+
+			.railway-rail-casing                    { stroke-width: 9.5px; }
+			.railway-rail-2-core                    { stroke-width: 7px; }
+			.railway-rail-casing-color              { stroke: #404040; }
+			.railway-rail-2-core-color              { stroke: #404040; }
+			.railway-rail-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-narrow-casing                    { stroke-width: 7.5px; }
+			.railway-narrow-2-core                    { stroke-width: 5px; }
+			.railway-narrow-casing-color              { stroke: #404040; }
+			.railway-narrow-2-core-color              { stroke: #404040; }
+			.railway-narrow-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-preserved-casing                    { stroke-width: 7.5px; }
+			.railway-preserved-2-core                    { stroke-width: 4px; }
+			.railway-preserved-casing-color              { stroke: #595959; }
+			.railway-preserved-2-core-color              { stroke: #595959; }
+			.railway-preserved-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-light-casing                    { stroke-width: 7.5px; }
+			.railway-light-2-core                    { stroke-width: 4px; }
+			.railway-light-casing-color              { stroke: #008000; }
+			.railway-light-2-core-color              { stroke: #008000; }
+			.railway-light-tunnel-core               { stroke-opacity: 0.2; }
+
+			.railway-tram-casing                    { stroke-width: 7.5px; }
+			.railway-tram-2-core                    { stroke-width: 4px; }
+			.railway-tram-casing-color              { stroke: #800080; }
+			.railway-tram-2-core-color              { stroke: #800080; }
+			.railway-tram-tunnel-core               { stroke-opacity: 0.2; }
+
+			.railway-subway-casing                    { stroke-width: 7.5px; }
+			.railway-subway-2-core                    { stroke-width: 4px; }
+			.railway-subway-casing-color              { stroke: #000080; }
+			.railway-subway-2-core-color              { stroke: #000080; }
+			.railway-subway-tunnel-core               { stroke-opacity: 0.2; }
+
+			.railway-funicular-casing                    { stroke-width: 7.5px; }
+			.railway-funicular-2-core                    { stroke-width: 4px; }
+			.railway-funicular-casing-color              { stroke: #800000; }
+			.railway-funicular-2-core-color              { stroke: #800000; }
+			.railway-funicular-tunnel-core               { stroke-opacity: 0.2; }
+
+			.railway-monorail-casing                    { stroke-width: 7.5px; }
+			.railway-monorail-2-core                    { stroke-width: 4px; }
+			.railway-monorail-casing-color              { stroke: #b20000; }
+			.railway-monorail-2-core-color              { stroke: #b20000; }
+			.railway-monorail-tunnel-core               { stroke-opacity: 0.2; }
+
+			.railway-yard-casing                    { stroke-width: 4.5px; }
+			.railway-yard-2-core                    { stroke-width: 2px; }
+			.railway-yard-casing-color              { stroke: #404040; }
+			.railway-yard-2-core-color              { stroke: #404040; }
+			.railway-yard-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-con-casing                { stroke-width: 5.5px; }
+			.railway-con-2-core                { stroke-width: 3px; stroke-dasharray: 4,4; }
+			.railway-con-casing-color          { stroke: #404040; }
+			.railway-con-2-core-color          { stroke: #404040; }
+			.railway-con-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-pla-casing                { stroke-width: 4.5px; }
+			.railway-pla-2-core                { stroke-width: 2px; stroke-dasharray: 2,2; }
+			.railway-pla-casing-color          { stroke: #b2b2b2; }
+			.railway-pla-2-core-color          { stroke: #b2b2b2; }
+			.railway-pla-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-dis-casing                { stroke-width: 4.5px; }
+			.railway-dis-2-core                { stroke-width: 2px; stroke-opacity: 0.5; }
+			.railway-dis-casing-color          { stroke: #808080; }
+			.railway-dis-2-core-color          { stroke: #808080; }
+			.railway-dis-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-aba-casing                { stroke-width: 3px; }
+			.railway-aba-2-core                { stroke-width: 1px; stroke-opacity: 0.3; }
+			.railway-aba-casing-color          { stroke: #b2b2b2; }
+			.railway-aba-2-core-color          { stroke: #b2b2b2; }
+			.railway-aba-tunnel-core               { stroke-opacity: 0.1; }
+			
+			.highway-motorway-casing                { stroke-width: 22px; stroke: #202020; }
+			.highway-motorway-area-casing           { stroke-width: 1px; }
+			.highway-motorway-core                  { stroke-width: 21px; stroke: #809BC0; }
+			.highway-motorway-area                  { fill: #809BC0; }
+			
+			.highway-motorway-link-casing           { stroke-width: 12px; stroke: #202020; }
+			.highway-motorway-link-area-casing      { stroke-width: 0.5px; }
+			.highway-motorway-link-core             { stroke-width: 11.5px; stroke: #809BC0; }
+			.highway-motorway-link-area             { fill: #809BC0; }
+			
+			.highway-trunk-casing                   { stroke-width: 18px; stroke: #202020; }
+			.highway-trunk-mr2-casing               { stroke-width: 25px;     stroke: #809BC0; }
+			.highway-trunk-mr3-casing               { stroke-width: 25px;     stroke: #FDBF6F; }
+			.highway-trunk-area-casing              { stroke-width: 1px; }
+			.highway-trunk-core                     { stroke-width: 17px; stroke: #7fc97f; }
+			.highway-trunk-area                     { fill: #7fc97f; }
+			
+			.highway-trunk-link-casing              { stroke-width: 10px; stroke: #202020; }
+			.highway-trunk-link-mr2-casing          { stroke-width: 13px;     stroke: #809BC0; }
+			.highway-trunk-link-mr3-casing          { stroke-width: 13px;     stroke: #FDBF6F; }
+			.highway-trunk-link-area-casing         { stroke-width: 0.5px; }
+			.highway-trunk-link-core                { stroke-width: 9.5px; stroke: #7FC97F; }
+			.highway-trunk-link-area                { fill: #7FC97F; }
+			
+			.highway-primary-casing                 { stroke-width: 14px; stroke: #202020; }
+			.highway-primary-mr2-casing             { stroke-width: 17px;     stroke: #809BC0; }
+			.highway-primary-area-casing            { stroke-width: 1px; }
+			.highway-primary-core                   { stroke-width: 13px; stroke: #e46d71; }
+			.highway-primary-area                   { fill: #e46d71; }
+			
+			.highway-primary-link-casing            { stroke-width: 7px; stroke: #202020; }
+			.highway-primary-link-mr2-casing        { stroke-width: 8px;     stroke: #809BC0; }
+			.highway-primary-link-area-casing       { stroke-width: 0.25px; }
+			.highway-primary-link-core              { stroke-width: 6.75px; stroke: #e46d71; }
+			.highway-primary-link-area              { fill: #e46d71; }
+			
+			.highway-secondary-casing               { stroke-width: 12px; stroke: #202020; }
+			.highway-secondary-mr2-casing           { stroke-width: 15px;     stroke: #809BC0; }
+			.highway-secondary-area-casing          { stroke-width: 1px; }
+			.highway-secondary-core                 { stroke-width: 11px; stroke: #FDBF6F; }
+			.highway-secondary-area                 { fill: #FDBF6F; }
+			
+			.highway-secondary-link-casing          { stroke-width: 7px; stroke: #202020; }
+			.highway-secondary-link-mr2-casing      { stroke-width: 8px;     stroke: #809BC0; }
+			.highway-secondary-link-area-casing     { stroke-width: 0.25px; }
+			.highway-secondary-link-core            { stroke-width: 6.75px; stroke: #FDBF6F; }
+			.highway-secondary-link-area            { fill: #FDBF6F; }
+			
+			.highway-tertiary-casing                { stroke-width: 6.5px;  stroke: #202020; }
+			.highway-tertiary-mr2-casing            { stroke-width: 7px;     stroke: #809BC0; }
+			.highway-tertiary-area-casing           { stroke-width: 0.75px; }
+			.highway-tertiary-core                  { stroke-width: 5.75px;  stroke: #ffff90; }
+			.highway-tertiary-area                  { fill: #ffff90; }
+			
+			.highway-tertiary-link-casing           { stroke-width: 6.5px;  stroke: #202020; }
+			.highway-tertiary-link-mr2-casing       { stroke-width: 7px;     stroke: #809BC0; }
+			.highway-tertiary-link-area-casing      { stroke-width: 0.75px; }
+			.highway-tertiary-link-core             { stroke-width: 5.75px;  stroke: #ffff90; }
+			.highway-tertiary-link-area             { fill: #ffff90; }
+			
+			.highway-unclassified-casing            { stroke-width: 4.0px;   stroke: #e6e6e6; }
+			.highway-unclassified-area-casing       { stroke-width: 1.2px;   }
+			.highway-unclassified-core              { stroke-width: 2.8px;   stroke: #909090; stroke-linecap: butt; }
+			.highway-unclassified-area              { fill: #e6e6e6; }
+
+			.highway-service-casing                   { stroke-width: 4.0px;   stroke: #e6e6e6; }
+			.highway-service-area-casing              { stroke-width: 1.2px;   }
+			.highway-service-core                     { stroke-width: 2.8px;   stroke: #909090; stroke-dasharray: 18, 9; stroke-linecap: butt; }
+			.highway-service-area                     { fill: #e6e6e6; }
+
+			.highway-unsurfaced-casing                   { stroke-width: 4.0px;   stroke: #e6e6e6; }
+			.highway-unsurfaced-area-casing              { stroke-width: 1.2px;   }
+			.highway-unsurfaced-core                     { stroke-width: 2.8px;   stroke: #909090; stroke-dasharray: 18, 9; stroke-linecap: butt; }
+			.highway-unsurfaced-area                     { fill: #e6e6e6; }
+
+			.highway-track-casing                   { stroke-width: 4.0px;   stroke: #fff2de; stroke-opacity: 0.75; }
+			.highway-track-area-casing              { stroke-width: 1.2px;   }
+			.highway-track-core                     { stroke-width: 2.8px;   stroke: #d79331; }
+			.highway-track-area                     { fill: #fff2de; }
+
+			.highway-track-gradex-core            { stroke-dasharray: 24, 9; stroke-linecap: butt; }
+			.highway-track-grade1-core            { }
+			.highway-track-grade2-core            { stroke-dasharray: 18, 12; stroke-linecap: butt; }
+			.highway-track-grade3-core            { stroke-dasharray: 9, 12; stroke-linecap: butt; }
+			.highway-track-grade4-core            { stroke-dasharray: 9, 9, 3, 9; stroke-linecap: butt; }
+			.highway-track-grade5-core            { stroke-dasharray: 3, 9; stroke-linecap: butt; }
+			
+			.highway-byway-casing                   { stroke-width: 4.0px;   stroke: #efadaa; }
+			.highway-byway-area-casing              { stroke-width: 1.2px;   }
+			.highway-byway-core                     { stroke-width: 2.8px;   stroke: #bf514d; stroke-dasharray: 18, 12; stroke-linecap: butt; }
+			.highway-byway-area                     { fill: #efadaa; }
+			
+			.highway-bridleway-casing                   { stroke-width: 4.0px;   stroke: #e6dda5; }
+			.highway-bridleway-area-casing              { stroke-width: 1.2px;   }
+			.highway-bridleway-core                     { stroke-width: 2.8px;   stroke: #a9d355; stroke-dasharray: 9, 12; stroke-linecap: butt; }
+			.highway-bridleway-area                     { fill: #e6dda5; }
+			
+			.highway-cycleway-casing                   { stroke-width: 4.0px;   stroke: #d1fad1; }
+			.highway-cycleway-area-casing              { stroke-width: 1.2px;   }
+			.highway-cycleway-core                     { stroke-width: 2.8px;   stroke: #4dbf4d; stroke-dasharray: 9, 12; stroke-linecap: butt; }
+			.highway-cycleway-area                     { fill: #d1fad1; }
+			
+			.highway-cycleroad-casing                   { stroke-width: 4.0px;   stroke: #d1fad1; }
+			.highway-cycleroad-area-casing              { stroke-width: 1.2px;   }
+			.highway-cycleroad-core                     { stroke-width: 2.8px;   stroke: #4dbf4d; stroke-dasharray: 18, 12; stroke-linecap: butt; }
+			.highway-cycleroad-area                     { fill: #d1fad1; }
+
+			.highway-pedestrian-casing                   { stroke-width: 4.0px;   stroke: #e5e0c2; }
+			.highway-pedestrian-area-casing              { stroke-width: 1.2px;   }
+			.highway-pedestrian-core                     { stroke-width: 2.8px;   stroke: #bfba4d; stroke-dasharray: 18, 12; stroke-linecap: butt; }
+			.highway-pedestrian-area                     { fill: #e5e0c2; }
+			
+			.highway-footway-casing                   { stroke-width: 4.0px;   stroke: #e5e0c2; }
+			.highway-footway-area-casing              { stroke-width: 1.2px;   }
+			.highway-footway-core                     { stroke-width: 2.8px;   stroke: #bfba4d; stroke-dasharray: 9, 12; stroke-linecap: butt; }
+			.highway-footway-area                     { fill: #e5e0c2; }
+
+			.highway-steps-casing                   { stroke-width: 4.0px;   stroke: #e5e0c2; }
+			.highway-steps-area-casing              { stroke-width: 1.2px;   }
+			.highway-steps-core                     { stroke-width: 2.8px;   stroke: #bfba4d; stroke-dasharray: 3, 9; stroke-linecap: butt; }
+			.highway-steps-area                     { fill: #e5e0c2; }
+			
+			/* render unmarked paths in the same color as highway=road */
+			.highway-path-casing                   { stroke-width: 4.0px;   stroke: #e6e6e6; }
+			.highway-path-area-casing              { stroke-width: 1.2px;   }
+			.highway-path-core                     { stroke-width: 2.8px;   stroke: #909090; stroke-dasharray: 9, 12; stroke-linecap: butt; }
+			.highway-path-area                     { fill: #e6e6e6; }
+			
+			.highway-scramble-core                  { stroke-width: 0.6px;   stroke: #707070; stroke-linecap: butt;}
+			
+			
+			
+			/* Aeroways */
+			.aeroway-aerodrome {
+			stroke-width: 0.5px;
+			stroke: #000000;
+			fill: #d8dcce;
+			}
+
+			.apron {
+			stroke-width: 0.3px;
+			stroke: none;
+			fill: #f0f0f0;
+			}
+
+			.aeroway.core {
+			stroke: #d4dcbd;
+			}
+
+			.aeroway.casing {
+			stroke: #000000;
+			}
+
+			.taxiway, .runway {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+
+			.taxiway.core {
+			stroke-width: 2px;
+			}
+			
+			.taxiway.casing {
+			stroke-width: 3px;
+			}
+			
+			.runway.core {
+			stroke-width: 5px;
+			}
+			
+			.runway.casing {
+			stroke-width: 7px;
+			}
+			
+			/* not in use at this level? */
+			/*
+			.aeroway-aerodrome-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.3px;
+			font-family: "DejaVu Sans";
+			font-size: 6px;
+			font-weight: bold;
+			}
+			
+			.aeroway-airport-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.3px;
+			font-family: "DejaVu Sans";
+			font-size: 10px;
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			*/
+			
+			/* Waterways */
+			.waterway-casing {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b0b0b0;
+			fill: none;
+			}
+			
+			.waterway-core {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b5d6f1;
+			fill: none;
+			}
+			
+			.waterway-riverbank {
+			fill: #b5d6f1;
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+			
+			.waterway-river-casing          { stroke-width: 10px; }
+			.waterway-river-core            { stroke-width: 10px; }
+			.waterway-river-tunnel-core     { stroke-width: 8px; stroke-dasharray: 15, 15; }
+			
+			.waterway-stream-casing         { stroke-width: 3px; }
+			.waterway-stream-core           { stroke-width: 3px; }
+			.waterway-stream-tunnel-core    { stroke-width: 2.25px; stroke-dasharray: 6, 6; }
+			
+			.waterway-canal-casing          { stroke-width: 10px; }
+			.waterway-canal-core            { stroke-width: 10px; }
+			.waterway-canal-tunnel-core     { stroke-width: 8px; stroke-dasharray: 15, 15; }
+			
+			.waterway-drain-casing          { stroke-width: 4px; }
+			.waterway-drain-core            { stroke-width: 4px; }
+			.waterway-drain-tunnel-core     { stroke-width: 3px; stroke-dasharray: 6, 6; }
+			
+			.waterway-ditch-casing          { stroke-width: 1.2px; }
+			.waterway-ditch-core            { stroke-width: 1.2px; }
+			.waterway-ditch-tunnel-core     { stroke-width: 1.1px; stroke-dasharray: 6, 6; }
+			
+			
+			/* Generic under-construction style - makes any way dashed */
+			.under-construction { stroke-dasharray: 16, 26; }
+			.wrong-under-construction { stroke-width: 6px; stroke: #ffffff; stroke-dasharray: 25, 25; fill:none; }
+			
+
+			/* Ferry */
+			.route-ferry {
+			stroke-width: 2px;
+			stroke-dasharray: 3,2;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			}
+			
+			
+			/* Place names */
+			/* General style for place names */
+			.place-caption {
+			fill: black;
+			stroke: none;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			.caption-casing {
+			fill: white;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.caption-core {
+			stroke: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.island-caption         { font-size: 40px; opacity: 0.75; }
+			.county-caption         { font-size: 80px; font-variant: small-caps; opacity: 0.8; }
+			.city-caption           { font-size: 80px; }
+			.town-caption           { font-size: 50px; font-weight: normal;}
+			
+			
+			.largefeature-caption-casing        { stroke-width: 5px; font-size: 30px; }
+			.largefeature-caption-core          { fill: #4040ff;     font-size: 30px; }
+			
+			/* Natural */
+                        .natural.water, .coastline {
+			fill: #b5d6f1;
+                        }
+
+			.natural.water {
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+			
+			.coastline {
+			stroke: #b5d6f1;
+			stroke-width: 1.5px;
+			}
+
+			.glacier {
+			fill: #fafaff;
+			stroke: lightblue;
+			stroke-width: 1.5px;
+			}
+			
+			.natural.land {
+			fill: #f8f8f8;
+			stroke: #e0e0e0;
+			stroke-width: 0.1px;
+			}
+			
+			.heath {
+			fill: #ffffc0;
+			stroke: #ffff90;
+			stroke-width: 0.2px;
+			}
+			
+			.bog {
+			fill: #946e50;
+			stroke: #3f1f06;
+			stroke-width: 0.2px;
+			}
+			
+			/* Landuse */
+			.landuse {
+			stroke: none;
+			fill: #f0f0f0;
+			}
+			
+                        /* selecting with the landuse class is possibly redundant here, .. */
+                        /*  but safer since it's more specific than just .landuse and .. */
+                        /*  won't be dependent on ordering here in the CSS */
+			.landuse.wood {
+			fill: #6fc18e;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse.cemetery {
+			fill: #bde3cb;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-field {
+			fill: #ebfff2;
+			stroke: #9ee673;
+			stroke-width: 0.1px;
+			}
+			.landuse-allotment-village {
+			fill: #bde3cb;
+			stroke: #6fc13d;
+			stroke-width: 0.2px;
+			}
+
+			.landuse.residential {
+			fill: #e4e4e4;
+			}
+			
+			.landuse.industrial {
+			fill: #ecd8ff;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse.commercial {
+			fill: #ffffc0;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse.retail {
+			fill: #ffebeb;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse.runway {
+			stroke-width: 0.3px;
+			stroke: #808080;
+			fill: #d4dcbd;
+			}
+			
+			.landuse.runway.disused {
+			stroke-dasharray: 1, 1;
+			}
+			
+			.landuse.runway.dismantled {
+			fill: #fcffef;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+
+			.landuse.conservation {
+			fill: #cfeca8;
+			stroke: #6fc18e;
+			stroke-width: 0.2px
+			}
+			
+			/* Leisure, sport */
+			.leisure, .sport {
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.leisure-park {
+			fill: #c7f1a3;
+			}
+			.leisure-national_park {
+			fill: url(#national-park-pattern);
+			}
+			.leisure-nature_reserve {
+			fill: url(#nature-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.leisure-landscape_reserve {
+			fill: url(#landscape-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.stadium, .sport {
+			fill: #bde3cb;
+			}
+			
+			.leisure-track-area {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.15px;
+			}
+			
+			.leisure-track-casing {
+			fill: none;
+			stroke: #6fc18e;
+			stroke-width: 2.8px;
+			}
+			
+			.leisure-track-core {
+			fill: none;
+			stroke: #bde3cb;
+			stroke-width: 2.5px;
+			}
+			
+			.parking {
+			fill: #ffffc0;
+			stroke: #e9dd72;
+			stroke-width: 0.2px;
+			}
+			
+			
+			
+			/* Non-physical boundaries */
+			.boundary {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.boundary-level-1-casing {
+			stroke-width: 56px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+			
+			.boundary-level-1-core {
+			stroke-width: 8px;
+			stroke: #f9574b;
+			stroke-dasharray: 48, 16, 16, 16;
+			}
+			
+			.boundary-level-2-casing {
+			stroke-width: 24px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+			
+			.boundary-level-2-core {
+			stroke-width: 8px;
+			stroke: #f9574b;
+			stroke-dasharray: 48, 48;
+			}
+			
+			.boundary-level-3-core {
+			stroke-width: 8px;
+			stroke: #f9574b;
+			}
+			
+			.boundary-level-4-core {
+			stroke-width: 8px;
+			stroke: #f9574b;
+			stroke-dasharray: 48, 16, 16, 16;
+			}
+			
+			.boundary-nationalpark-core {
+			stroke-width: 8px;
+			stroke: #4ef94b;
+			stroke-dasharray: 48, 16, 16, 16;
+			}
+			
+			
+			/* Racetracks */
+			.highway-raceway-casing {
+			stroke-width: 2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #101010;
+			}
+			
+			.highway-raceway-casing-disused {
+			stroke-width: 2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 1, 1;
+			}
+			
+			.highway-raceway-casing-dismantled {
+			stroke-width: 2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+			
+			.highway-raceway-core {
+			stroke-width: 1.5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-raceway-core-disused {
+			stroke-width: 1.5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke-dasharray: 1, 1;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-raceway-core-dismantled {
+			stroke-width: 1.5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ffffff;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+			
+			.landuse.raceway {
+			stroke-width: 0.3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #101010;
+			}
+			
+			.landuse.raceway.disused {
+			stroke-width: 0.3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #808080;
+			stroke-dasharray: 1, 1;
+			}
+			
+			.landuse.raceway.dismantled {
+			stroke-width: 0.3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #ffffff;
+			stroke: #808080;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+			
+			.man_made-wastewater {
+			fill: #e4e4e4;
+			}
+			
+			/* Tourism */
+			.attraction {
+			fill: #f2caea;
+			stroke: #ff00ff;
+			stroke-width: 0px;
+			}
+			.green_area {
+			fill: #c7f1a3;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.military-area {
+			fill: #d0d050;
+			fill-opacity: 0.5;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			/* Building */
+			.building {
+			fill: #e0e0e0;
+			stroke: #d0d0d0;
+			stroke-width: 0.2px;
+			}
+			
+			.building-block {
+			fill: #F3D6B6;
+			stroke: #6a5a8e;
+			stroke-width: 0.2px;
+			}
+			
+			.building-residential {
+			fill: #c95e2a;
+			stroke: #800000;
+			stroke-width: 0.2px;
+			}
+			
+			/* Aerialways */
+			.aerialway-line {
+			fill: none;
+			stroke: #000000;
+			stroke-width: 1px;
+			}
+			
+			.aerialway-struts {
+			fill:none;
+			stroke: #000000;
+			stroke-width: 5px;
+			stroke-dasharray: 0.5, 10;
+			}
+			
+			/* Map decoration */
+			.map-grid-line {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0.5;
+			}
+			
+			.map-border-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 3px;
+			stroke-miterlimit: 4;
+			stroke-dasharray: none;
+			stroke-opacity: 1;
+			stroke-linecap: round;
+			}
+			
+			.map-border-core {
+			fill: none;
+			fill-opacity: 1;
+			fill-rule: nonzero;
+			stroke: #ffffff;
+			stroke-width: 2px;
+			stroke-miterlimit: 0;
+			stroke-dashoffset: -0.5px;
+			stroke-opacity: 1;
+			}
+			
+			.map-scale-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-core {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-bookend {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 1px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-caption {
+			font-family: "DejaVu Sans";
+			font-size: 10px;
+			fill: #8080ff;
+			}
+			
+			<!-- map background must be the same for all zooms or else empty tile detection will fail -->
+			.map-background {
+			fill: #f8f8f8;
+			stroke: none;
+			}
+			
+			.map-title {
+			font-family: "DejaVu Sans";
+			font-size: 20px;
+			text-anchor: middle;
+			fill: black;
+			}
+			
+			.map-title-background {
+			fill: white;
+			}
+			
+			.map-marginalia-background {
+			fill: white;
+			}
+			
+			.highway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			}
+			
+			/* Osmarender built-in styles - do not remove */
+			.osmarender-stroke-linecap-round { stroke-linecap: round; }
+			.osmarender-stroke-linecap-butt { stroke-linecap: butt; }
+			.osmarender-mask-black { stroke: black; }
+			.osmarender-mask-white { stroke: white; }
+			.osmarender-no-marker-start { marker-start: none; }
+			.osmarender-no-marker-end { marker-end: none; }
+		</style>
+		<svg:pattern id="nature-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(36.6216)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.1" d="
+		M0.2,0.1 L1.8,0.9 M2.2,0.9 L3.8,0.1   M4.2,0.1 L5.8,0.9 M6.2,0.9 L7.8,0.1   M8.2,0.1 L9.8,0.9 M10.2,0.9 L11.8,0.1
+		M0.2,1.9 L1.8,1.1 M2.2,1.1 L3.8,1.9   M4.2,1.9 L5.8,1.1 M6.2,1.1 L7.8,1.9   M8.2,1.9 L9.8,1.1 M10.2,1.1 L11.8,1.9
+		M0.2,2.1 L1.8,2.9 M2.2,2.9 L3.8,2.1   M4.2,2.1 L5.8,2.9 M6.2,2.9 L7.8,2.1   M8.2,2.1 L9.8,2.9 M10.2,2.9 L11.8,2.1
+		M0.2,3.9 L1.8,3.1 M2.2,3.1 L3.8,3.9   M4.2,3.9 L5.8,3.1 M6.2,3.1 L7.8,3.9   M8.2,3.9 L9.8,3.1 M10.2,3.1 L11.8,3.9
+		M0.2,4.1 L1.8,4.9 M2.2,4.9 L3.8,4.1   M4.2,4.1 L5.8,4.9 M6.2,4.9 L7.8,4.1   M8.2,4.1 L9.8,4.9 M10.2,4.9 L11.8,4.1
+		M0.2,5.9 L1.8,5.1 M2.2,5.1 L3.8,5.9   M4.2,5.9 L5.8,5.1 M6.2,5.1 L7.8,5.9   M8.2,5.9 L9.8,5.1 M10.2,5.1 L11.8,5.9
+
+		M0.2,6.1 L1.8,6.9 M2.2,6.9 L3.8,6.1   M4.2,6.1 L5.8,6.9 M6.2,6.9 L7.8,6.1   M8.2,6.1 L9.8,6.9 M10.2,6.9 L11.8,6.1
+		M0.2,7.9 L1.8,7.1 M2.2,7.1 L3.8,7.9   M4.2,7.9 L5.8,7.1 M6.2,7.1 L7.8,7.9   M8.2,7.9 L9.8,7.1 M10.2,7.1 L11.8,7.9
+		M0.2,8.1 L1.8,8.9 M2.2,8.9 L3.8,8.1   M4.2,8.1 L5.8,8.9 M6.2,8.9 L7.8,8.1   M8.2,8.1 L9.8,8.9 M10.2,8.9 L11.8,8.1
+		M0.2,9.9 L1.8,9.1 M2.2,9.1 L3.8,9.9   M4.2,9.9 L5.8,9.1 M6.2,9.1 L7.8,9.9   M8.2,9.9 L9.8,9.1 M10.2,9.1 L11.8,9.9
+		M0.2,10.1 L1.8,10.9 M2.2,10.9 L3.8,10.1   M4.2,10.1 L5.8,10.9 M6.2,10.9 L7.8,10.1   M8.2,10.1 L9.8,10.9 M10.2,10.9 L11.8,10.1
+		M0.2,11.9 L1.8,11.1 M2.2,11.1 L3.8,11.9   M4.2,11.9 L5.8,11.1 M6.2,11.1 L7.8,11.9   M8.2,11.9 L9.8,11.1 M10.2,11.1 L11.8,11.9"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.15;stroke-linecap:round;stroke-linejoin:round;" d="
+		M1.2,2.6 L1.2,1.4 L1.8,2.6 L1.8,1.4
+		M2.2,2.1 2.45,2.1 A 0.25 0.25 0 0 0 2.45,1.4 L2.2,1.4 L2.2,2.6  M2.8,2.6 L2.3,2.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="landscape-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(24.0)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.05" d="
+		M0.4,0.2 L1.6,0.8 M2.4,0.8 L3.6,0.2   M4.4,0.2 L5.6,0.8 M6.4,0.8 L7.6,0.2   M8.4,0.2 L9.6,0.8 M10.4,0.8 L11.6,0.2
+		M0.4,1.8 L1.6,1.2 M2.4,1.2 L3.6,1.8   M4.4,1.8 L5.6,1.2 M6.4,1.2 L7.6,1.8   M8.4,1.8 L9.6,1.2 M10.4,1.2 L11.6,1.8
+		M0.4,2.2 L1.6,2.8 M2.4,2.8 L3.6,2.2   M4.4,2.2 L5.6,2.8 M6.4,2.8 L7.6,2.2   M8.4,2.2 L9.6,2.8 M10.4,2.8 L11.6,2.2
+		M0.4,3.8 L1.6,3.2 M2.4,3.2 L3.6,3.8   M4.4,3.8 L5.6,3.2 M6.4,3.2 L7.6,3.8   M8.4,3.8 L9.6,3.2 M10.4,3.2 L11.6,3.8
+		M0.4,4.2 L1.6,4.8 M2.4,4.8 L3.6,4.2   M4.4,4.2 L5.6,4.8 M6.4,4.8 L7.6,4.2   M8.4,4.2 L9.6,4.8 M10.4,4.8 L11.6,4.2
+		M0.4,5.8 L1.6,5.2 M2.4,5.2 L3.6,5.8   M4.4,5.8 L5.6,5.2 M6.4,5.2 L7.6,5.8   M8.4,5.8 L9.6,5.2 M10.4,5.2 L11.6,5.8
+
+		M0.4,6.2 L1.6,6.8 M2.4,6.8 L3.6,6.2   M4.4,6.2 L5.6,6.8 M6.4,6.8 L7.6,6.2   M8.4,6.2 L9.6,6.8 M10.4,6.8 L11.6,6.2
+		M0.4,7.8 L1.6,7.2 M2.4,7.2 L3.6,7.8   M4.4,7.8 L5.6,7.2 M6.4,7.2 L7.6,7.8   M8.4,7.8 L9.6,7.2 M10.4,7.2 L11.6,7.8
+		M0.4,8.2 L1.6,8.8 M2.4,8.8 L3.6,8.2   M4.4,8.2 L5.6,8.8 M6.4,8.8 L7.6,8.2   M8.4,8.2 L9.6,8.8 M10.4,8.8 L11.6,8.2
+		M0.4,9.8 L1.6,9.2 M2.4,9.2 L3.6,9.8   M4.4,9.8 L5.6,9.2 M6.4,9.2 L7.6,9.8   M8.4,9.8 L9.6,9.2 M10.4,9.2 L11.6,9.8
+		M0.4,10.2 L1.6,10.8 M2.4,10.8 L3.6,10.2   M4.4,10.2 L5.6,10.8 M6.4,10.8 L7.6,10.2   M8.4,10.2 L9.6,10.8 M10.4,10.8 L11.6,10.2
+		M0.4,11.8 L1.6,11.2 M2.4,11.2 L3.6,11.8   M4.4,11.8 L5.6,11.2 M6.4,11.2 L7.6,11.8   M8.4,11.8 L9.6,11.2 M10.4,11.2 L11.6,11.8"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:round;" d="
+		M5.2,3.4 L5.2,4.6 L5.8,4.6
+		M6.2,4.1 6.45,4.1 A 0.25 0.25 0 0 0 6.45,3.4 L6.2,3.4 L6.2,4.6  M6.8,4.6 L6.3,4.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="national-park-pattern" x="0" y="0" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(24.0)">
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.5;" d="
+		M9.2,6.6 L9.2,5.4 L9.8,6.6 L9.8,5.4
+		M10.2,6.1 10.45,6.1 A 0.25 0.25 0 0 0 10.45,5.4 L10.2,5.4 L10.2,6.6 "/>
+		</svg:pattern>
+
+	</defs>
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/captionless-z13.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/captionless-z13.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/captionless-z13.xml	(revision 35743)
@@ -0,0 +1,2572 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Tiles@Home Rules File for zoom level 13 -->
+<rules
+	  xmlns:xlink="http://www.w3.org/1999/xlink"
+	  xmlns:svg="http://www.w3.org/2000/svg"
+	  data="data.osm"
+	  svgBaseProfile="full"
+	  scale="1"
+	  symbolScale="1.72"
+	  textAttenuation="0.875"
+	  minimumMapWidth="0.5"
+	  minimumMapHeight="0.5"
+	  withOSMLayers="yes"
+	  withUntaggedSegments="no"
+	  showScale="no"
+	  showGrid="no"
+	  showBorder="no"
+	  showLicense="no"
+	  symbolsDir="../stylesheets/symbols"
+	  interactive="no">
+	
+	
+	<!-- Select all nodes and ways (unless they have an osmarender:render=no tag) -->
+	<rule e="node|way" k="osmarender:render" v="~|yes">
+		
+		<!-- Landuse -->
+		<rule e="way" k="landuse" v="landfill|quarry">
+			<area class="landuse-quarry"/>
+		</rule>
+		<rule e="way" k="landuse" v="cemetery">
+			<area class="landuse-cemetery"/>
+		</rule>
+		<rule e="way" k="amenity" v="grave_yard">
+			<area class="landuse-cemetery"/>
+		</rule>
+		<rule e="way" k="landuse" v="vineyard">
+			<area class="landuse-vineyard"/>
+		</rule>
+		
+		<!-- Natural features -->
+		<rule e="way" k="natural" v="coastline">
+			<area class="natural-coastline"/>
+		</rule>
+		<rule e="way" k="natural" v="glacier">
+			<line class='natural-glacier'/>
+		</rule>
+		<rule e="way" k="natural" v="land">
+			<area class="natural-land"/>
+		</rule>
+		<rule e="way" k="landuse|natural" v="forest|wood|scrub">
+			<area class="landuse-wood"/>
+		</rule>
+		<rule e="way" k="natural" v="heath">
+			<area class="natural-heath"/>
+		</rule>
+		<rule e="way" k="natural" v="wetland">
+			<rule e="way" k="wetland" v="bog">
+				<area class="wetland-bog"/>
+			</rule>
+		</rule>
+		<rule e="way" k="landuse" v="conservation">
+			<area class="landuse-conservation"/>
+		</rule>
+		
+		<!-- Artificial landuse -->
+		<rule e="way" k="landuse" v="field|farm|farmland|meadow|grass">
+			<area class="landuse-field"/>
+		</rule>
+		<rule e="way" k="landuse" v="allotments|village_green|recreation_ground">
+			<area class="landuse-allotment-village"/>
+		</rule>
+		<rule e="way" k="leisure" v="park|garden|golf_course|common|green">
+			<area class="leisure-park"/>
+		</rule>
+		<rule e="way" k="leisure" v="playground|playing_fields|pitch|dog_park">
+			<rule e="way" k="sport" v="tennis">
+				<area class="sport-tennis"/>
+			</rule>
+			<else>
+				<!-- Done separately from the above rule to layer these above. Tend to be smaller and inside parks. -->
+				<area class="leisure-park"/>
+			</else>
+		</rule>
+
+		<rule e="way" k="leisure" v="stadium|sports_centre|water_park">
+			<area class="leisure-stadium"/>
+		</rule>
+		<rule e="way" k="leisure" v="track">
+			<rule e="way" k="area" v="yes|true">
+				<area class="leisure-track-area"/>
+			</rule>
+			<else>
+				<line class="leisure-track-casing"/>
+				<line class="leisure-track-core"/>
+			</else>
+		</rule>
+		<rule e="way" k="leisure" v="swimming_pool">
+			<area class="leisure-swimming-pool"/>
+		</rule>
+		<rule e="way" k="man_made" v="wastewater_plant" layer="-5" closed="yes">
+			<area class="man_made-wastewater" layer="-5"/>
+		</rule>
+		
+		<!-- Airports and runways -->
+		<rule e="way" k="aeroway" v="aerodrome" closed="yes">
+			<area class="aeroway-aerodrome"/>
+		</rule>
+		<rule e="way" k="aeroway" v="apron">
+			<area class="aeroway-apron"/>
+		</rule>
+		<rule e="way" k="landuse" v="runway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse-runway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse-runway-disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse-runway-dismantled"/>
+			</rule>
+		</rule>
+		
+		<!-- Raceways and racetracks (cars and horses etc) -->
+		<rule e="way" k="landuse" v="raceway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse-raceway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse-raceway-disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse-raceway-dismantled"/>
+			</rule>
+		</rule>
+		
+		<!-- Man-made areas -->
+		<rule e="way" k="leisure|landuse|amenity|tourism" v="~">
+			<rule e="way" k="building" v="~|no|false|0">
+				<rule e="way" k="sport" v="swimming|canoe|diving|scuba_diving">
+					<area class="sport-swimming"/>
+				</rule>
+				<else>
+					<rule e="way" k="sport" v="tennis">
+						<area class="sport-tennis"/>
+					</rule>
+					<else>
+						<rule e="way" k="sport" v="*" closed="yes">
+							<area class="sport"/>
+						</rule>
+					</else>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="amenity" v="parking">
+			<area class="amenity-parking"/>
+		</rule>
+		<rule e="way" k="tourism" v="attraction">
+			<rule e="way" k="highway" v="~">
+				<rule e="way" k="area" v="no" />
+				<else>
+					<area class="tourism-attraction"/>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="tourism" v="zoo|picnic_site|caravan_site|camp_site">
+			<area class="tourism-green-area"/>
+		</rule>
+		
+		<!-- Airfields and airports -->
+		<rule e="way" k="aeroway" v="runway">
+			<line class="aeroway-runway-casing"/>
+		</rule>
+		<rule e="way" k="aeroway" v="taxiway">
+			<line class="aeroway-taxiway-casing"/>
+		</rule>
+		
+		<!-- Waterways -->
+		<rule e="way" k="waterway" v="river">
+			<line class="waterway-casing waterway-river-casing" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="stream">
+			<line class="waterway-casing waterway-stream-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+		</rule>
+		<rule e="way" k="waterway" v="canal">
+			<line class="waterway-casing waterway-canal-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="drain">
+			<line class="waterway-casing waterway-drain-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+		</rule>
+		<rule e="way" k="waterway" v="ditch">
+			<line class="waterway-casing waterway-ditch-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+		</rule>
+		<rule e="way" k="tunnel" v="yes">
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<line class="waterway-core waterway-stream-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</rule>
+		<else>
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-core" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<rule e="way" k="stream" v="ephemeral">
+					<line class="waterway-core waterway-stream-core-ephemeral" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+				</rule>
+				<else>
+					<rule e="way" k="stream" v="intermittent">
+						<line class="waterway-core waterway-stream-core-intermittent" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+					</rule>
+					<else>
+						<line class="waterway-core waterway-stream-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</else>
+		<rule e="way" k="waterway" v="dock">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="natural" v="water|pond|lake|bay">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="landuse" v="reservoir">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="landuse" v="basin">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="waterway" v="riverbank">
+			<area class="waterway-riverbank"/>
+		</rule>
+		
+		<rule e="way" k="boundary" v="national_park">
+			<area class="leisure-national_park"/>
+		</rule>
+		<!--  rule e="way" k="leisure" v="landscape_reserve">
+			<area class="leisure-landscape_reserve"/>
+		</rule  -->
+		<rule e="way" k="leisure" v="nature_reserve">
+			<area class="leisure-nature_reserve"/>
+		</rule>
+
+		<!-- Highway area casings -->
+		<rule e="way" k="area" v="yes|true">
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="steps">
+				<area class="highway-casing highway-steps-area-casing highway-steps-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<area class="highway-casing highway-footway-area-casing highway-footway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<area class="highway-casing highway-cycleway-area-casing highway-cycleway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<area class="highway-casing highway-bridleway-area-casing highway-bridleway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<area class="highway-casing highway-cycleway-area-casing highway-cycleway-area no-bezier"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<area class="highway-casing highway-bridleway-area-casing highway-bridleway-area no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-footway-area-casing highway-footway-area no-bezier"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<area class="highway-casing highway-byway-area-casing highway-byway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<area class="highway-casing highway-track-area-casing highway-track-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<area class="highway-casing highway-unsurfaced-area-casing highway-unsurfaced-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+				</rule>
+				<else>
+					<area class="highway-casing highway-service-area-casing highway-service-area no-bezier"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<area class="highway-casing highway-pedestrian-area-casing highway-pedestrian-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor|living_street|road">
+				<area class="highway-casing highway-unclassified-casing highway-unclassified-area-casing no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-casing highway-unclassified-casing highway-unclassified-area-casing no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-casing highway-cycleroad-area-casing highway-cycleroad-area no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-casing highway-unclassified-casing highway-unclassified-area-casing no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-cycleroad-area-casing highway-cycleroad-area no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-casing highway-unclassified-casing highway-unclassified-area-casing no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-casing highway-cycleroad-area-casing highway-cycleroad-area no-bezier"/>
+						</else>
+					</rule>
+				</else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="tertiary_link">
+				<area class="highway-casing highway-tertiary-link-casing highway-tertiary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<area class="highway-casing highway-tertiary-casing highway-tertiary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<area class="highway-casing highway-secondary-link-casing highway-secondary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<area class="highway-casing highway-secondary-casing highway-secondary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<area class="highway-casing highway-primary-link-casing highway-primary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<area class="highway-casing highway-trunk-link-casing highway-trunk-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<area class="highway-casing highway-motorway-link-casing highway-motorway-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<area class="highway-casing highway-primary-casing highway-primary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<area class="highway-casing highway-trunk-casing highway-trunk-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<area class="highway-casing highway-motorway-casing highway-motorway-area-casing no-bezier"/>
+			</rule>
+		    </else>
+		  </else>
+
+		</rule>
+		
+		<!-- Linear casings -->
+		<rule e="way" k="tunnel" v="~|no|false">
+			<rule e="way" k="area" v="~|no|false">
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="raceway">
+					<rule e="way" k="use_status" v="~">
+						<line class="highway-raceway-casing"/>
+					</rule>
+					<rule e="way" k="use_status" v="disused">
+						<line class="highway-raceway-casing-disused"/>
+					</rule>
+					<rule e="way" k="use_status" v="dismantled">
+						<line class="highway-raceway-casing-dismantled"/>
+					</rule>
+				</rule>
+				<rule e="way" k="highway" v="steps">
+					<line class="highway-casing highway-steps-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="footway|footpath">
+					<line class="highway-casing highway-footway-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="cycleway">
+					<line class="highway-casing highway-cycleway-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="bridleway">
+					<line class="highway-casing highway-bridleway-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<line class="highway-casing highway-cycleway-casing "/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<line class="highway-casing highway-bridleway-casing "/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-footway-casing "/>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="byway">
+					<line class="highway-casing highway-byway-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="track">
+					<line class="highway-casing highway-track-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="unsurfaced">
+					<line class="highway-casing highway-unsurfaced-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle">
+					</rule>
+					<else>
+						<line class="highway-casing highway-unsurfaced-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="pedestrian">
+					<line class="highway-casing highway-pedestrian-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="unclassified|residential|minor|living_street|road|ford">
+					<line class="highway-casing highway-unclassified-casing"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-casing highway-unclassified-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-cycleroad-casing"/>
+					</else>
+			  </rule>
+			  <else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-casing highway-unclassified-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-cycleroad-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-casing highway-unclassified-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-cycleroad-casing"/>
+							</else>
+						</rule>
+					</else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="tertiary_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-tertiary-link-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-tertiary-link-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="tertiary">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-tertiary-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-tertiary-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="secondary_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-secondary-link-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-secondary-link-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="secondary">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-secondary-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-secondary-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="primary_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-primary-link-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-primary-link-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="trunk_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-trunk-link-mr2-casing"/>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="no">
+							<line class="highway-casing highway-trunk-link-mr3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-trunk-link-casing"/>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="motorway_link">
+					<line class="highway-casing highway-motorway-link-casing"/>
+				</rule>
+				<rule e="way" k="highway" v="primary">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-primary-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-primary-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="trunk">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-trunk-mr2-casing"/>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="no">
+							<line class="highway-casing highway-trunk-mr3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-trunk-casing"/>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="motorway">
+					<line class="highway-casing highway-motorway-casing"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			</rule>
+		</rule>
+		
+		<!-- Highway area cores -->
+		<rule e="way" k="area" v="yes|true">
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="steps">
+				<area class="highway-core highway-steps-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<area class="highway-core highway-footway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<area class="highway-core highway-cycleway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<area class="highway-core highway-bridleway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<area class="highway-core highway-cycleway-core no-bezier"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<area class="highway-core highway-bridleway-core no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-path-core no-bezier"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<area class="highway-core highway-byway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<rule e="way" k="tracktype" v="grade1">
+					<area class="highway-core highway-track-grade1-core highway-track-core no-bezier"/>
+				</rule>
+				<else>
+					<rule e="way" k="tracktype" v="grade2">
+						<area class="highway-casing highway-track-grade2-core highway-track-core no-bezier"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade3">
+							<area class="highway-core highway-track-grade3-core highway-track-core no-bezier"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade4">
+								<area class="highway-core highway-track-grade4-core highway-track-core no-bezier"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade5">
+									<area class="highway-core highway-track-grade5-core highway-track-core no-bezier"/>
+								</rule>
+								<else>
+									<area class="highway-core highway-track-gradex-core highway-track-core no-bezier"/>
+								</else>
+							</else>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<area class="highway-core highway-unsurfaced-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+				</rule>
+				<else>
+					<area class="highway-core highway-service-core no-bezier"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<area class="highway-core highway-pedestrian-core no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-core highway-unclassified-area no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-core highway-cycleroad-core no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-core highway-unclassified-area no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-cycleroad-core no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-core highway-unclassified-area no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-core highway-cycleroad-core no-bezier"/>
+						</else>
+					</rule>
+				</else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="unclassified|residential|minor|living_street">
+				<area class="highway-core highway-unclassified-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="road">
+				<area class="highway-core highway-road-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<area class="highway-core highway-tertiary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<area class="highway-core highway-tertiary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<area class="highway-core highway-secondary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<area class="highway-core highway-secondary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<area class="highway-core highway-primary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<area class="highway-core highway-trunk-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<area class="highway-core highway-motorway-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<area class="highway-core highway-primary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<area class="highway-core highway-trunk-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<area class="highway-core highway-motorway-area no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		</rule>
+		
+		<!-- Buildings -->
+		<rule e="way" k="aeroway" v="terminal">
+			<area class="building-block"/>
+		</rule>
+		<rule e="way" k="building" v="*">
+			<area class="building-block no-bezier"/>
+		</rule>
+		<rule e="node" k="building" v="*">
+			<symbol ref="building" position="center" transform="scale(0.5)"/>
+		</rule>
+		
+		<!-- Linear cores -->
+		<rule e="way" k="tunnel" v="~|false|no">
+			<rule e="way" k="area" v="~|false|no">
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="ford">
+					<line class="highway-core highway-ford-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="raceway">
+					<rule e="way" k="use_status" v="~">
+						<line class="highway-raceway-core"/>
+					</rule>
+					<rule e="way" k="use_status" v="disused">
+						<line class="highway-raceway-core-disused"/>
+					</rule>
+					<rule e="way" k="use_status" v="dismantled">
+						<line class="highway-raceway-core-dismantled"/>
+					</rule>
+				</rule>
+				<rule e="way" k="scramble" v="*">
+					<line class="highway-core highway-scramble-core"/>
+				</rule>
+				<rule e="way" k="highway" v="steps">
+					<line class="highway-core highway-steps-core"/>
+				</rule>
+				<rule e="way" k="highway" v="footway|footpath">
+					<line class="highway-core highway-footway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="cycleway">
+					<line class="highway-core highway-cycleway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="bridleway">
+					<line class="highway-core highway-bridleway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<line class="highway-core highway-cycleway-core"/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<line class="highway-core highway-bridleway-core"/>
+						</rule>
+						<else>
+							<rule e="way" k="foot" v="yes|designated">
+								<line class="highway-core highway-footway-core"/>
+							</rule>
+							<else>
+								<line class="highway-core highway-path-core"/>
+							</else></else></else>
+				</rule>
+				<rule e="way" k="highway" v="byway">
+					<line class="highway-core highway-byway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="track">
+					<rule e="way" k="tracktype" v="~">
+						<line class="highway-core highway-track-core highway-track-gradex-core"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade1">
+							<line class="highway-core highway-track-core highway-track-grade1-core"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade2">
+								<line class="highway-core highway-track-core highway-track-grade2-core"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade3">
+									<line class="highway-core highway-track-core highway-track-grade3-core" smart-linecap="no"/>
+								</rule>
+								<else>
+									<rule e="way" k="tracktype" v="grade4">
+										<line class="highway-core highway-track-core highway-track-grade4-core" smart-linecap="no"/>
+									</rule>
+									<else>
+										<rule e="way" k="tracktype" v="grade5">
+											<line class="highway-core highway-track-core highway-track-grade5-core" smart-linecap="no"/>
+										</rule>
+										<else>
+											<line class="highway-core highway-track-core highway-track-gradex-core"/>
+										</else>
+									</else>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="unsurfaced">
+					<line class="highway-core highway-unsurfaced-core"/>
+				</rule>
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle">
+					</rule>
+					<else>
+						<line class="highway-core highway-service-core"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="pedestrian">
+					<line class="highway-core highway-pedestrian-core"/>
+				</rule>
+				<rule e="way" k="highway" v="unclassified|residential|minor|living_street">
+					<line class="highway-core highway-unclassified-core"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-core highway-unclassified-core"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-cycleroad-core"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-core highway-unclassified-core"/>
+						</rule>
+						<else>
+							<line class="highway-core highway-cycleroad-core"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-core highway-unclassified-core"/>
+							</rule>
+							<else>
+								<line class="highway-core highway-cycleroad-core"/>
+							</else>
+						</rule>
+					</else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="road">
+					<line class="highway-core highway-road-core"/>
+				</rule>
+				<rule e="way" k="highway" v="tertiary_link">
+					<line class="highway-core highway-tertiary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="tertiary">
+					<line class="highway-core highway-tertiary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary_link">
+					<line class="highway-core highway-secondary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary">
+					<line class="highway-core highway-secondary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="primary_link">
+					<line class="highway-core highway-primary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk_link">
+					<line class="highway-core highway-trunk-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway_link">
+					<line class="highway-core highway-motorway-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="primary">
+					<line class="highway-core highway-primary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk">
+					<line class="highway-core highway-trunk-core"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway">
+					<line class="highway-core highway-motorway-core"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core"/>
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-2-core railway-light-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="aeroway" v="runway">
+					<line class="aeroway-runway-core"/>
+				</rule>
+				<rule e="way" k="aeroway" v="taxiway">
+					<line class="aeroway-taxiway-core"/>
+				</rule>
+			</rule>
+		</rule>
+		
+		<!-- Tunnels -->
+		<rule e="way" k="tunnel" v="true|yes">
+			<rule e="way" k="highway" v="steps">
+				<line class="tunnel-casing highway-steps-casing tunnel" mask-class="tunnel-core highway-steps-core"/>
+				<line class="highway-steps-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+				<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<line class="tunnel-casing highway-pedestrian-casing tunnel" mask-class="tunnel-core highway-pedestrian-core"/>
+				<line class="highway-pedestrian-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+				<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+					<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+						<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</rule>
+					<else>
+						<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+						<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+				<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<line class="tunnel-casing highway-byway-1-casing tunnel" mask-class="tunnel-core highway-byway-1-core"/>
+				<line class="highway-byway-1-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<line class="tunnel-casing highway-track-casing tunnel" mask-class="tunnel-core highway-track-core"/>
+				<line class="highway-track-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<line class="tunnel-casing highway-unsurfaced-casing tunnel" mask-class="tunnel-core highway-unsurfaced-core"/>
+				<line class="highway-unsurfaced-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<line class="tunnel-casing highway-service-casing tunnel" mask-class="tunnel-core highway-service-core"/>
+				<line class="highway-service-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor|tertiary|cycleroad|living_street">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-unclassified-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="road">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-road-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<line class="tunnel-casing highway-tertiary-link-casing tunnel" mask-class="tunnel-core highway-tertiary-link-core"/>
+				<line class="highway-tertiary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<line class="tunnel-casing highway-tertiary-casing tunnel" mask-class="tunnel-core highway-tertiary-core"/>
+				<line class="highway-tertiary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<line class="tunnel-casing highway-secondary-link-casing tunnel" mask-class="tunnel-core highway-secondary-link-core"/>
+				<line class="highway-secondary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<line class="tunnel-casing highway-secondary-casing tunnel" mask-class="tunnel-core highway-secondary-core"/>
+				<line class="highway-secondary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<line class="tunnel-casing highway-primary-link-casing tunnel" mask-class="tunnel-core highway-primary-link-core"/>
+				<line class="highway-primary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<line class="tunnel-casing highway-trunk-link-casing tunnel" mask-class="tunnel-core highway-trunk-link-core"/>
+				<line class="highway-trunk-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<line class="tunnel-casing highway-motorway-link-casing tunnel" mask-class="tunnel-core highway-motorway-link-core"/>
+				<line class="highway-motorway-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<line class="tunnel-casing highway-primary-casing tunnel" mask-class="tunnel-core highway-primary-core"/>
+				<line class="highway-primary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<line class="tunnel-casing highway-trunk-casing tunnel" mask-class="tunnel-core highway-trunk-core"/>
+				<line class="highway-trunk-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<line class="tunnel-casing highway-motorway-casing tunnel" mask-class="tunnel-core highway-motorway-core"/>
+				<line class="highway-motorway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="railway" v="*">
+				<rule e="way" k="construction" v="yes|true">
+					<line class="railway-con-casing railway-con-casing-color tunnel-casing tunnel" mask-class="tunnel-core railway-con-2-core"/>
+					<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="planned|proposed" v="yes|true">
+						<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-2-core"/>
+						<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="disused" v="yes|true">
+							<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-2-core"/>
+							<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="abandoned|dismantled" v="yes|true">
+								<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-2-core"/>
+								<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="railway" v="construction">
+									<line class="railway-con-casing railway-con-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-con-2-core"/>
+									<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="planned|proposed">
+									<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-2-core"/>
+									<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="disused">
+									<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-2-core"/>
+									<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="abandoned|dismantled">
+									<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-2-core"/>
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="rail">
+									<line class="railway-rail-casing railway-rail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-rail-2-core"/>
+									<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core railway-rail-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="narrow_gauge">
+									<line class="railway-narrow-casing railway-narrow-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-narrow-2-core"/>
+									<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core railway-narrow-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="preserved">
+									<line class="railway-preserved-casing railway-preserved-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-preserved-2-core"/>
+									<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core railway-preserved-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="light_rail">
+									<line class="railway-light-casing railway-light-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-light-2-core"/>
+									<line class="railway-light-2-core railway-light-2-core-color railway-2-core railway-light-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="tram">
+									<line class="railway-tram-casing railway-tram-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-tram-2-core"/>
+									<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core railway-tram-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="subway">
+									<line class="railway-subway-casing railway-subway-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-subway-2-core"/>
+									<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core railway-subway-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="incline|funicular">
+									<line class="railway-funicular-casing railway-funicular-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-funicular-2-core"/>
+									<line class="railway-funicular-1-core railway-funicular-1-core-color railway-1-core railway-funicular-tunnel-core tunnel"  smart-linecap="no" />
+									<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core railway-funicular-tunnel-core tunnel-casing tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="monorail">
+									<line class="railway-monorail-casing railway-monorail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-monorail-2-core"/>
+									<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core railway-monorail-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="spur|yard|siding">
+									<line class="railway-yard-casing railway-yard-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-yard-2-core"/>
+									<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core railway-yard-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+							</else>
+						</else>
+					</else>
+				</else>
+				<line class="railway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+		</rule>
+		
+		<!-- Linear cores (under construction) -->
+		<rule e="way" k="highway" v="construction">
+			<rule e="way" k="construction" v="unsurfaced">
+				<line class="highway-core highway-unsurfaced-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="service">
+				<line class="highway-core highway-service-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="unclassified|residential|minor|cycleroad|living_street">
+				<line class="highway-core highway-unclassified-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="~|road|yes">
+				<line class="highway-core highway-road-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary_link">
+				<line class="highway-core highway-tertiary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary">
+				<line class="highway-core highway-tertiary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary_link">
+				<line class="highway-core highway-secondary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary">
+				<line class="highway-core highway-secondary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="primary_link">
+				<line class="highway-core highway-primary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk_link">
+				<line class="highway-core highway-trunk-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway_link">
+				<line class="highway-core highway-motorway-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="primary">
+				<line class="highway-core highway-primary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk">
+				<line class="highway-core highway-trunk-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway">
+				<line class="highway-core highway-motorway-core under-construction"/>
+			</rule>
+		</rule>
+		
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="construction|planned|disused|abandoned" v="yes|true">
+				<line class="wrong-under-construction" smart-linecap="no"/>
+			</rule>
+		</rule>
+
+		<!-- Piste maps: -->
+		<!-- Piste areas -->
+		<rule e="way" k="piste:type" v="downhill" closed="yes">
+			<rule e="way" k="piste:difficulty" v="novice">
+				<line class="piste-area piste-area-difficulty-novice" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="easy">
+				<line class="piste-area piste-area-difficulty-easy" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="intermediate">
+				<line class="piste-area piste-area-difficulty-intermediate" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="advanced">
+				<line class="piste-area piste-area-difficulty-advanced" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="expert">
+				<line class="piste-area piste-area-difficulty-expert" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="freeride">
+				<line class="piste-area piste-area-difficulty-freeride" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="~">
+				<line class="piste-area piste-area-difficulty-other" smart-linecap="no"/>
+			</rule>
+		</rule>
+		<!-- Piste ways -->
+		<rule e="way" k="piste:type" v="downhill" closed="no">
+			<rule e="way" k="piste:difficulty" v="novice">
+				<line class="piste-core piste-difficulty-novice" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="easy">
+				<line class="piste-core piste-difficulty-easy" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="intermediate">
+				<line class="piste-core piste-difficulty-intermediate" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="advanced">
+				<line class="piste-core piste-difficulty-advanced" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="expert">
+				<line class="piste-core piste-difficulty-expert" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="freeride">
+				<line class="piste-core piste-difficulty-freeride" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="~">
+				<line class="piste-core piste-difficulty-other" smart-linecap="no"/>
+			</rule>
+		</rule>
+		<rule e="way" k="piste:type" v="sled">
+			<line class="piste-type-sled"/>
+		</rule>
+		<rule e="way" k="piste:type" v="nordic">
+			<line smart-linecap="no" class="piste-type-nordic"/>
+		</rule>
+		
+		<!-- Aerialways (render over pistes) -->
+		<rule e="node|way" k="aerialway" v="*">
+			<line smart-linecap="no" class="aerialway-line no-bezier"/>
+			<line smart-linecap="no" class="aerialway-struts no-bezier"/>
+			<rule e="node" k="aerialway" v="station">
+				<circle r="4px" class="aerialway-station"/>
+			</rule>
+			<!-- no names are rendered in this level -->
+		</rule>
+		
+		<!-- Natural features -->
+		<rule e="node" k="natural" v="peak">
+			<symbol ref="peak" position="center"/>
+		</rule>
+		<rule e="node" k="natural" v="volcano">
+			<symbol ref="vulcan" position="center"/>
+		</rule>
+		
+		<!-- Non-physical routes -->
+		<rule e="way" k="route" v="ferry">
+			<line class="route-ferry"/>
+		</rule>
+		
+		<!-- Railway stations -->
+		<rule e="node" k="railway" v="station">
+			<rule e="node" s="way" k="railway" v="rail">
+				<circle r="6" class="railway-station"/>
+			</rule>
+			<else>
+				<circle r="4" class="railway-halt"/>
+			</else>
+		</rule>
+
+		<rule e="node" k="railway" v="halt">
+			<rule e="node" s="way" k="railway" v="tram">
+				<!-- railway=halt node on railway=tram way -->
+				<circle r="2" class="railway-halt"/>
+			</rule>
+			<else>
+				<circle r="4" class="railway-halt"/>
+			</else>
+		</rule>
+		<!-- Tram stops -->
+		<rule e="node" k="railway" v="tram_stop">
+			<circle r="2" class="railway-halt"/>
+		</rule>
+		
+		<!-- Airfields and airports -->
+		<rule e="node|way" k="aeroway" v="aerodrome">
+			<symbol ref="airport" position="center"/>
+		</rule>
+		<rule e="node|way" k="aeroway" v="airport">
+			<symbol ref="airport" position="center"/>
+		</rule>
+		
+		<!-- ==================================== Layer -5 ======================================== -->
+		
+		<!-- Landuse -->
+		<rule e="way" k="landuse" v="residential|farmyard" layer="-5">
+			<area class="landuse-residential" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="retail" layer="-5">
+			<area class="landuse-retail" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="industrial|brownfield|railway" layer="-5">
+			<area class="landuse-industrial" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="commercial" layer="-5">
+			<area class="landuse-commercial" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="construction|greenfield" layer="-5">
+			<area class="landuse-construction" layer="-5"/>
+		</rule>
+	
+		<!-- Artificial landuse -->
+		<rule e="way" k="amenity" v="kindergarten|school|college|university" layer="-5">
+			<area class="amenity-school" layer="-5"/>
+		</rule>
+		
+		<!-- Man-made areas -->
+		<rule e="way" k="landuse" v="military" layer="-5">
+			<rule e="way" k="military" v="~" layer="-5">
+				<area class="military-area" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="military" v="*" layer="-5">
+			<area class="military-area" layer="-5"/>
+		</rule>
+		
+		<!-- ==================================== Layer 5 ======================================== -->
+		
+		<!-- Non-physical boundaries -->
+		<rule e="way" k="boundary" v="administrative" layer="5">
+			<rule e="way" k="admin_level" v="1|2|3|4" layer="5">
+				<rule e="way" k="admin_level" v="4" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="3" layer="5">
+					<line class="boundary boundary-level-3-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="2" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="1" layer="5">
+					<line class="boundary boundary-level-1-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-1-core no-bezier" layer="5"/>
+				</rule>
+			</rule>
+			<!-- If we don't have explicit admin_level then guess -->
+			<else>
+				<rule e="way" k="border_type" v="region|state" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="nation|country" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+			</else>
+		</rule>
+		<rule e="way" k="boundary" v="national_park" layer="5">
+			<line class="boundary boundary-nationalpark-core no-bezier" layer="5"/>
+		</rule>
+		
+		<!-- Place names  -->
+		<rule e="node|way" k="osmarender:renderName" v="~|yes" layer="5">
+			<rule e="node" k="place" v="island" layer="5">
+				<caption k="name" class="place-caption island-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="islet" layer="5">
+				<caption k="name" class="place-caption islet-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="city" layer="5">
+				<caption k="name" class="place-caption city-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="town" layer="5">
+				<caption k="name" class="place-caption town-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="village" layer="5">
+				<caption k="name" class="place-caption village-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="suburb" layer="5">
+				<caption k="name" class="place-caption suburb-caption" layer="5"/>
+			</rule>
+			<rule e="node|way" k="aeroway" v="airport" layer="5">
+				<caption k="name" class="aeroway-airport-caption" dy="-15px" layer="5"/>
+			</rule>
+		</rule>
+		
+		<!-- Names for large natural features -->
+		<rule e="way" k="natural" v="*" minSize="0.032" layer="5">
+			<caption k="name" class="caption-casing largefeature-caption-casing" text-anchor='middle' startOffset='50%'/>
+			<caption k="name" class="caption-core largefeature-caption-core" text-anchor='middle' startOffset='50%'/>
+		</rule>
+	</rule>
+	
+	<!-- SVG Definitions - markers, symbols etc go here -->
+	<include ref="markers.xml"/>
+	<defs>
+		<style xmlns="http://www.w3.org/2000/svg" id="styles" type="text/css">
+			/* DO NOT DELETE .untagged-segments - Used by osmarender.xsl */
+			.untagged-segments {
+			stroke-width: 0.5px;
+			stroke-linejoin: miter;
+			stroke-linecap: butt;
+			stroke: #e0e0e0;
+			stroke-dasharray: 0.5,0.5;
+			}			
+			
+			/* Highways - generic styles */
+			.highway-casing {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.highway-core {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.highway-motorway-junction {
+			fill: yellow;
+			stroke: #4D5D73;
+			stroke-width: 2px;
+			}
+			
+			.highway-motorway-junction-caption {
+			fill: black;
+			stroke: blue;
+			stroke-width: 0.2px;
+			font-family: "DejaVu Sans";
+			font-size: 10px;
+			font-weight: bold;
+			display: none;
+			}
+			
+			.highway-ref {
+			fill: #606060;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			text-anchor: middle;
+			}
+			
+			.highway-name {
+			fill: black;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			text-anchor: middle;
+			}
+			
+			.bridge-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			marker-start: url(#bridge-casing-start);
+			marker-end: url(#bridge-casing-end);
+			}
+			
+			.bridge-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #ffffff;
+			fill: none;
+			}
+			
+			.tunnel-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.tunnel-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.tunnel { stroke-dasharray: 3.7, 3.7; }
+			
+			.railway-casing { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-1-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-2-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-core   { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+
+			.railway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			stroke: #b0b0b0;
+			stroke-width: 8px;
+			}
+
+			.railway-rail-casing                    { stroke-width: 4.9px; }
+			.railway-rail-2-core                    { stroke-width: 3.7px; }
+			.railway-rail-casing-color              { stroke: #404040; }
+			.railway-rail-2-core-color              { stroke: #404040; }
+			.railway-rail-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-narrow-casing                    { stroke-width: 3.9px; }
+			.railway-narrow-2-core                    { stroke-width: 2.7px; }
+			.railway-narrow-casing-color              { stroke: #404040; }
+			.railway-narrow-2-core-color              { stroke: #404040; }
+			.railway-narrow-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-preserved-casing                    { stroke-width: 3.9px; }
+			.railway-preserved-2-core                    { stroke-width: 2.7px; }
+			.railway-preserved-casing-color              { stroke: #595959; }
+			.railway-preserved-2-core-color              { stroke: #595959; }
+			.railway-preserved-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-light-casing                    { stroke-width: 3.9px; }
+			.railway-light-2-core                    { stroke-width: 2.7px; }
+			.railway-light-casing-color              { stroke: #008000; }
+			.railway-light-2-core-color              { stroke: #008000; }
+			.railway-light-tunnel-core               { stroke-opacity: 0.2; }
+
+			.railway-tram-casing                    { stroke-width: 3.9px; }
+			.railway-tram-2-core                    { stroke-width: 2.7px; }
+			.railway-tram-casing-color              { stroke: #800080; }
+			.railway-tram-2-core-color              { stroke: #800080; }
+			.railway-tram-tunnel-core               { stroke-opacity: 0.2; }
+
+			.railway-subway-casing                    { stroke-width: 3.9px; }
+			.railway-subway-2-core                    { stroke-width: 2.7px; }
+			.railway-subway-casing-color              { stroke: #000080; }
+			.railway-subway-2-core-color              { stroke: #000080; }
+			.railway-subway-tunnel-core               { stroke-opacity: 0.2; }
+
+			.railway-funicular-casing                    { stroke-width: 3.9px; }
+			.railway-funicular-2-core                    { stroke-width: 2.7px; }
+			.railway-funicular-casing-color              { stroke: #800000; }
+			.railway-funicular-2-core-color              { stroke: #800000; }
+			.railway-funicular-tunnel-core               { stroke-opacity: 0.2; }
+
+			.railway-monorail-casing                    { stroke-width: 3.9px; }
+			.railway-monorail-2-core                    { stroke-width: 2.7px; }
+			.railway-monorail-casing-color              { stroke: #b20000; }
+			.railway-monorail-2-core-color              { stroke: #b20000; }
+			.railway-monorail-tunnel-core               { stroke-opacity: 0.2; }
+
+			.railway-yard-casing                    { stroke-width: 2.9px; }
+			.railway-yard-2-core                    { stroke-width: 1.7px; }
+			.railway-yard-casing-color              { stroke: #404040; }
+			.railway-yard-2-core-color              { stroke: #404040; }
+			.railway-yard-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-con-casing                { stroke-width: 3.9px; }
+			.railway-con-2-core                { stroke-width: 2.7px; stroke-dasharray: 3,3; }
+			.railway-con-casing-color          { stroke: #404040; }
+			.railway-con-2-core-color          { stroke: #404040; }
+			.railway-con-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-pla-casing                { stroke-width: 2.9px; }
+			.railway-pla-2-core                { stroke-width: 1.7px; stroke-dasharray: 1.5,1.5; }
+			.railway-pla-casing-color          { stroke: #b2b2b2; }
+			.railway-pla-2-core-color          { stroke: #b2b2b2; }
+			.railway-pla-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-dis-casing                { stroke-width: 2.9px; }
+			.railway-dis-2-core                { stroke-width: 1.7px; stroke-opacity: 0.5; }
+			.railway-dis-casing-color          { stroke: #808080; }
+			.railway-dis-2-core-color          { stroke: #808080; }
+			.railway-dis-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-aba-casing                { stroke-width: 2.3px; }
+			.railway-aba-2-core                { stroke-width: 1.1px; stroke-opacity: 0.3; }
+			.railway-aba-casing-color          { stroke: #b2b2b2; }
+			.railway-aba-2-core-color          { stroke: #b2b2b2; }
+			.railway-aba-tunnel-core               { stroke-opacity: 0.1; }
+						
+			.highway-motorway-casing                { stroke-width: 16px; stroke: #202020; }
+			.highway-motorway-area-casing           { stroke-width: 1px; }
+			.highway-motorway-core                  { stroke-width: 15px; stroke: #809BC0; }
+			.highway-motorway-area                  { fill: #809BC0; }
+			
+			.highway-motorway-link-casing           { stroke-width: 8px; stroke: #202020; }
+			.highway-motorway-link-area-casing      { stroke-width: 0.5px; }
+			.highway-motorway-link-core             { stroke-width: 7.5px; stroke: #809BC0; }
+			.highway-motorway-link-area             { fill: #809BC0; }
+			
+			.highway-trunk-casing                   { stroke-width: 14px; stroke: #202020; }
+			.highway-trunk-mr2-casing               { stroke-width: 19px;     stroke: #809BC0; }
+			.highway-trunk-mr3-casing               { stroke-width: 19px;     stroke: #FDBF6F; }
+			.highway-trunk-area-casing              { stroke-width: 1px; }
+			.highway-trunk-core                     { stroke-width: 13px; stroke: #7FC97F; }
+			.highway-trunk-area                     { fill: #7FC97F; }
+			
+			.highway-trunk-link-casing              { stroke-width: 7px; stroke: #202020; }
+			.highway-trunk-link-mr2-casing          { stroke-width: 9px;     stroke: #809BC0; }
+			.highway-trunk-link-mr3-casing          { stroke-width: 9px;     stroke: #FDBF6F; }
+			.highway-trunk-link-area-casing         { stroke-width: 0.5px; }
+			.highway-trunk-link-core                { stroke-width: 6.5px; stroke: #7FC97F; }
+			.highway-trunk-link-area                { fill: #7FC97F; }
+			
+			.highway-primary-casing                 { stroke-width: 11px; stroke: #202020; }
+			.highway-primary-mr2-casing             { stroke-width: 16px;     stroke: #809BC0; }
+			.highway-primary-area-casing            { stroke-width: 1px; }
+			.highway-primary-core                   { stroke-width: 10px; stroke: #e46d71; }
+			.highway-primary-area                   { fill: #e46d71; }
+			
+			.highway-primary-link-casing            { stroke-width: 6px; stroke: #202020; }
+			.highway-primary-link-mr2-casing        { stroke-width: 7px;     stroke: #809BC0; }
+			.highway-primary-link-area-casing       { stroke-width: 0.5px; }
+			.highway-primary-link-core              { stroke-width: 5.5px; stroke: #e46d71; }
+			.highway-primary-link-area              { fill: #e46d71; }
+			
+			.highway-secondary-casing               { stroke-width: 10px; stroke: #202020; }
+			.highway-secondary-mr2-casing           { stroke-width: 14px;     stroke: #809BC0; }
+			.highway-secondary-area-casing          { stroke-width: 1px; }
+			.highway-secondary-core                 { stroke-width: 9px; stroke: #FDBF6F; }
+			.highway-secondary-area                 { fill: #FDBF6F; }
+			
+			.highway-secondary-link-casing          { stroke-width: 6px; stroke: #202020; }
+			.highway-secondary-link-mr2-casing      { stroke-width: 7px;     stroke: #809BC0; }
+			.highway-secondary-link-area-casing     { stroke-width: 0.5px; }
+			.highway-secondary-link-core            { stroke-width: 5.5px; stroke: #FDBF6F; }
+			.highway-secondary-link-area            { fill: #FDBF6F; }
+			
+			.highway-tertiary-casing                { stroke-width: 6.25px;  stroke: #202020; }
+			.highway-tertiary-mr2-casing            { stroke-width: 7px;     stroke: #809BC0; }
+			.highway-tertiary-area-casing           { stroke-width: 0.75px; }
+			.highway-tertiary-core                  { stroke-width: 5.5px;  stroke: #ffff90; }
+			.highway-tertiary-area                  { fill: #ffff90; }
+			
+			.highway-tertiary-link-casing           { stroke-width: 6.25px;  stroke: #202020; }
+			.highway-tertiary-link-mr2-casing       { stroke-width: 7px;     stroke: #809BC0; }
+			.highway-tertiary-link-area-casing      { stroke-width: 0.75px; }
+			.highway-tertiary-link-core             { stroke-width: 5.5px;  stroke: #ffff90; }
+			.highway-tertiary-link-area             { fill: #ffff90; }
+			
+			.highway-unclassified-casing            { stroke-width: 6px; stroke: #202020; }
+			.highway-unclassified-area-casing       { stroke-width: 0.5px; }
+			.highway-unclassified-core              { stroke-width: 5.5px; stroke: #ffffff; }
+			.highway-ford-core                      { stroke-width: 5.5px; stroke: #b5d6f1; stroke-linecap: butt; }
+			.highway-unclassified-area              { fill: #ffffff; }
+			.highway-road-core                      { stroke-width: 5.5px; stroke: #d0d0d0; }
+			.highway-road-area                      { fill: #d0d0d0; }
+			
+			.highway-service-casing                   { stroke-width: 2.4px;   stroke: #e6e6e6; }
+			.highway-service-area-casing              { stroke-width: 0.6px;   }
+			.highway-service-core                     { stroke-width: 1.8px;   stroke: #909090; stroke-dasharray: 9, 4.5; stroke-linecap: butt; }
+			.highway-service-area                     { fill: #e6e6e6; }
+
+			.highway-unsurfaced-casing                   { stroke-width: 2.4px;   stroke: #e6e6e6; }
+			.highway-unsurfaced-area-casing              { stroke-width: 0.6px;   }
+			.highway-unsurfaced-core                     { stroke-width: 1.8px;   stroke: #909090; stroke-dasharray: 9, 4.5; stroke-linecap: butt; }
+			.highway-unsurfaced-area                     { fill: #e6e6e6; }
+			
+			.highway-track-casing                   { stroke-width: 2.4px;   stroke: #fff2de; stroke-opacity: 0.75; }
+			.highway-track-area-casing              { stroke-width: 0.6px;   }
+			.highway-track-core                     { stroke-width: 1.8px;   stroke: #d79331; }
+			.highway-track-area                     { fill: #fff2de; }
+
+			.highway-track-gradex-core            { stroke-dasharray: 12, 4.5; stroke-linecap: butt; }
+			.highway-track-grade1-core            { }
+			.highway-track-grade2-core            { stroke-dasharray: 9, 6; stroke-linecap: butt; }
+			.highway-track-grade3-core            { stroke-dasharray: 4.5, 6; stroke-linecap: butt; }
+			.highway-track-grade4-core            { stroke-dasharray: 4.5, 4.5, 1.5, 4.5; stroke-linecap: butt; }
+			.highway-track-grade5-core            { stroke-dasharray: 1.5, 4.5; stroke-linecap: butt; }
+
+			.highway-byway-casing                   { stroke-width: 2.4px;   stroke: #efadaa; }
+			.highway-byway-area-casing              { stroke-width: 0.6px;   }
+			.highway-byway-core                     { stroke-width: 1.8px;   stroke: #bf514d; stroke-dasharray: 9, 6; stroke-linecap: butt; }
+			.highway-byway-area                     { fill: #efadaa; }
+			.highway-byway-name                     { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-byway-ref                      { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-bridleway-casing                   { stroke-width: 2.4px;   stroke: #e6dda5; }
+			.highway-bridleway-area-casing              { stroke-width: 0.6px;   }
+			.highway-bridleway-core                     { stroke-width: 1.8px;   stroke: #a9d355; stroke-dasharray: 4.5, 6; stroke-linecap: butt; }
+			.highway-bridleway-area                     { fill: #e6dda5; }
+			
+			.highway-cycleway-casing                   { stroke-width: 2.4px;   stroke: #d1fad1; }
+			.highway-cycleway-area-casing              { stroke-width: 0.6px;   }
+			.highway-cycleway-core                     { stroke-width: 1.8px;   stroke: #4dbf4d; stroke-dasharray: 4.5, 6; stroke-linecap: butt; }
+			.highway-cycleway-area                     { fill: #d1fad1; }
+			
+			.highway-cycleroad-casing                   { stroke-width: 2.4px;   stroke: #d1fad1; }
+			.highway-cycleroad-area-casing              { stroke-width: 0.6px;   }
+			.highway-cycleroad-core                     { stroke-width: 1.8px;   stroke: #4dbf4d; stroke-dasharray: 9, 6; stroke-linecap: butt; }
+			.highway-cycleroad-area                     { fill: #d1fad1; }
+			
+			.highway-pedestrian-casing                   { stroke-width: 2.4px;   stroke: #e5e0c2; }
+			.highway-pedestrian-area-casing              { stroke-width: 0.6px;   }
+			.highway-pedestrian-core                     { stroke-width: 1.8px;   stroke: #bfba4d; stroke-dasharray: 9, 6; stroke-linecap: butt; }
+			.highway-pedestrian-area                     { fill: #e5e0c2; }
+
+			.highway-footway-casing                   { stroke-width: 2.4px;   stroke: #e5e0c2; }
+			.highway-footway-area-casing              { stroke-width: 0.6px;   }
+			.highway-footway-core                     { stroke-width: 1.8px;   stroke: #bfba4d; stroke-dasharray: 4.5, 6; stroke-linecap: butt; }
+			.highway-footway-area                     { fill: #e5e0c2; }
+			
+			.highway-steps-casing                   { stroke-width: 2.4px;   stroke: #e5e0c2; }
+			.highway-steps-area-casing              { stroke-width: 0.6px;   }
+			.highway-steps-core                     { stroke-width: 1.8px;   stroke: #bfba4d; stroke-dasharray: 1.5, 4.5; stroke-linecap: butt; }
+			.highway-steps-area                     { fill: #e5e0c2; }
+
+			.highway-path-casing                   { stroke-width: 2.4px;   stroke: #e6e6e6; }
+			.highway-path-area-casing              { stroke-width: 0.6px;   }
+			.highway-path-core                     { stroke-width: 1.8px;   stroke: #909090; stroke-dasharray: 4.5, 6; stroke-linecap: butt; }
+			.highway-path-area                     { fill: #e6e6e6; }
+
+			.highway-scramble-core                  { stroke-width: 0.6px;   stroke: #707070; stroke-linecap: butt;}
+			
+			
+			/* Aeroways */
+			.aeroway-aerodrome {
+			stroke-width: 0.5px;
+			stroke: #000000;
+			fill: #d8dcce;
+			}
+			
+			.aeroway-apron {
+			stroke-width: 0.3px;
+			stroke: none;
+			fill: #f0f0f0;
+			}
+			
+			.aeroway-taxiway-core {
+			stroke-width: 2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #d4dcbd;
+			fill: none;
+			}
+			
+			.aeroway-taxiway-casing {
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #000000;
+			fill: none;
+			}
+			
+			.aeroway-runway-core {
+			stroke-width: 5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #d4dcbd;
+			fill: none;
+			}
+			
+			.aeroway-runway-casing {
+			stroke-width: 7px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #000000;
+			fill: none;
+			}
+			
+			.aeroway-aerodrome-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.3px;
+			font-family: "DejaVu Sans";
+			font-size: 6px;
+			font-weight: bold;
+			}
+			
+			.aeroway-airport-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.3px;
+			font-family: "DejaVu Sans";
+			font-size: 20px;
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			
+			/* Waterways */
+			.waterway-casing {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b0b0b0;
+			fill: none;
+			}
+			
+			.waterway-core {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b5d6f1;
+			fill: none;
+			}
+			
+			.waterway-riverbank {
+			fill: #b5d6f1;
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+			
+			.waterway-river-casing          { stroke-width: 6px; }
+			.waterway-river-core            { stroke-width: 6px; }
+			.waterway-river-tunnel-core     { stroke-width: 4px; stroke-dasharray: 9, 9; }
+			
+			.waterway-stream-casing         { stroke-width: 2px; }
+			.waterway-stream-core           { stroke-width: 2px; }
+			.waterway-stream-tunnel-core    { stroke-width: 1.5px; stroke-dasharray: 6, 6; }
+			
+			.waterway-canal-casing          { stroke-width: 6px; }
+			.waterway-canal-core            { stroke-width: 6px; }
+			.waterway-canal-tunnel-core     { stroke-width: 4px; stroke-dasharray: 9, 9; }
+			
+			.waterway-drain-casing          { stroke-width: 3px; }
+			.waterway-drain-core            { stroke-width: 3px; }
+			.waterway-drain-tunnel-core     { stroke-width: 2px; stroke-dasharray: 4.5, 4.5; }
+			
+			.waterway-ditch-casing          { stroke-width: 0.8px; }
+			.waterway-ditch-core            { stroke-width: 0.8px; }
+			.waterway-ditch-tunnel-core     { stroke-width: 0.6px; stroke-dasharray: 6, 6; }
+			
+			
+			/* Generic under-construction style - makes any way dashed */
+			.under-construction { stroke-dasharray: 12, 18; }
+			.wrong-under-construction { stroke-width:5px; stroke: #ffffff; stroke-dasharray: 20, 20; fill:none; }
+
+
+			.railway-station {
+			fill: red;
+			stroke: #606060;
+			stroke-width: 1px;
+			}
+			
+			.railway-halt {
+			fill: black;
+			stroke: black;
+			}
+			
+			/* Ferry */
+			.route-ferry {
+			stroke-width: 1.0px;
+			stroke-dasharray: 3,2;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			}
+			
+			
+			/* Points of interest */
+			.point-of-interest {
+			fill: red;
+			stroke: black;
+			stroke-width: 0.5px;
+			}
+			
+			
+			/* Place names */
+			/* General style for place names */
+			.place-caption {
+			fill: black;
+			stroke: none;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			.caption-casing {
+			fill: white;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.caption-core {
+			stroke: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.city-caption           { font-size: 40px; }
+			.town-caption           { font-size: 30px; }
+			.island-caption         { font-size: 20px; opacity: 0.75; }
+			.islet-caption          { font-size: 16px; }
+			.village-caption        { font-size: 20px; }
+			.suburb-caption         { font-size: 20px; }
+			
+			.largefeature-caption-casing        { stroke-width: 5px; font-size: 15px; }
+			.largefeature-caption-core          { fill: #4040ff;      font-size: 15px; }
+			
+			/* Natural */
+			.natural-water {
+			fill: #b5d6f1;
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+			
+			.natural-coastline {
+			fill: #b5d6f1;
+			stroke: #b5d6f1;
+			stroke-width: 1.5px;
+			}
+
+			.natural-glacier {
+			fill: #fafaff;
+			stroke: lightblue;
+			stroke-width: 1.5px;
+			}
+			
+			.natural-land {
+			fill: #f8f8f8;
+			stroke: #e0e0e0;
+			stroke-width: 0.1px;
+			}
+			
+			.natural-heath {
+			fill: #ffffc0;
+			stroke: #ffff90;
+			stroke-width: 0.2px;
+			}
+			
+			.wetland-bog {
+			fill: #946e50;
+			stroke: #3f1f06;
+			stroke-width: 0.2px;
+			}
+			
+			/* Landuse */
+			.landuse-wood {
+			fill: #6fc18e;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-cemetery {
+			fill: #bde3cb;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-vineyard {
+			fill: #d1ead1;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-field {
+			fill: #ebfff2;
+			stroke: #9ee673;
+			stroke-width: 0.1px;
+			}
+			.landuse-allotment-village {
+			fill: #bde3cb;
+			stroke: #6fc13d;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-residential {
+			stroke: none;
+			fill: #e4e4e4;
+			}
+			
+			.landuse-industrial {
+			fill: #ecd8ff;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-construction {
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			fill: #a47c41;
+			}
+			
+			.landuse-commercial {
+			fill: #ffffc0;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-quarry {
+			fill: #e9dd72;
+			stroke: #556b2f;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-retail {
+			fill: #ffebeb;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-runway {
+			stroke-width: 0.3px;
+			stroke: #808080;
+			fill: #d4dcbd;
+			}
+			
+			.landuse-runway-disused {
+			stroke-width: 0.3px;
+			stroke: #808080;
+			fill: #d4dcbd;
+			stroke-dasharray: 1, 1;
+			}
+			
+			.landuse-runway-dismantled {
+			stroke-width: 0.3px;
+			stroke: #808080;
+			fill: #fcffef;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+			
+			.landuse-conservation {
+			fill: #cfeca8;
+			stroke: #6fc18e;
+			stroke-width: 0.2px
+			}
+			
+			.man_made-wastewater {
+			fill: #e4e4e4;
+			}
+			
+			/* Leisure */
+			.leisure-park {
+			fill: #c7f1a3;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.leisure-stadium {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.leisure-track-area {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.1px;
+			}
+			
+			.leisure-track-casing {
+			fill: none;
+			stroke: #6fc18e;
+			stroke-width: 1.8px;
+			}
+			
+			.leisure-track-core {
+			fill: none;
+			stroke: #bde3cb;
+			stroke-width: 1.6px;
+			}
+			
+			.leisure-swimming-pool {
+			fill: #b5d6f1;
+			stroke: #6060ff;
+			stroke-width: 0.2px;
+			}
+			
+			.leisure-national_park {
+			fill: url(#national-park-pattern);
+			}
+			.leisure-nature_reserve {
+			fill: url(#nature-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.leisure-landscape_reserve {
+			fill: url(#landscape-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.sport {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.sport-swimming {
+			fill: #b5d6f1;
+			stroke: #6060ff;
+			stroke-width: 0.2px;
+			}
+			
+			.sport-tennis {
+			fill: #d18a6a;
+			stroke: #B36C4C;
+			stroke-width: 0.2px;
+			}
+			
+			.amenity-parking {
+			fill: #ffffc0;
+			stroke: #e9dd72;
+			stroke-width: 0.2px;
+			}
+			
+			.amenity-school {
+			fill: #cdabde;
+			stroke: #e9dd72;
+			stroke-width: 0.2px;
+			}
+			
+			.military-area {
+			fill: #d0d050;
+			fill-opacity: 0.5;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			
+			/* Non-physical boundaries */
+			.boundary {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.boundary-level-1-casing {
+			stroke-width: 28px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+			
+			.boundary-level-1-core {
+			stroke-width: 4px;
+			stroke: #f9574b;
+			stroke-dasharray: 24, 8, 8, 8;
+			}
+			
+			.boundary-level-2-casing {
+			stroke-width: 12px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+			
+			.boundary-level-2-core {
+			stroke-width: 4px;
+			stroke: #f9574b;
+			stroke-dasharray: 24, 24;
+			}
+			
+			.boundary-level-3-core {
+			stroke-width: 4px;
+			stroke: #f9574b;
+			}
+			
+			.boundary-level-4-core {
+			stroke-width: 4px;
+			stroke: #f9574b;
+			stroke-dasharray: 24, 8, 8, 8;
+			}
+			
+			.boundary-nationalpark-core {
+			stroke-width: 4px;
+			stroke: #4ef94b;
+			stroke-dasharray: 24, 8, 8, 8;
+			}
+			
+			
+			/* Racetracks */
+			.highway-raceway-casing {
+			stroke-width: 2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #101010;
+			}
+			
+			.highway-raceway-casing-disused {
+			stroke-width: 2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 1, 1;
+			}
+			
+			.highway-raceway-casing-dismantled {
+			stroke-width: 2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+			
+			.highway-raceway-core {
+			stroke-width: 1.5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-raceway-core-disused {
+			stroke-width: 1.5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke-dasharray: 1, 1;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-raceway-core-dismantled {
+			stroke-width: 1.5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ffffff;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+			
+			.landuse-raceway {
+			stroke-width: 0.3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #101010;
+			}
+			
+			.landuse-raceway-disused {
+			stroke-width: 0.3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #808080;
+			stroke-dasharray: 1, 1;
+			}
+			
+			.landuse-raceway-dismantled {
+			stroke-width: 0.3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #ffffff;
+			stroke: #808080;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+			
+			
+			/* Tourism */
+			.tourism-attraction {
+			fill: #f2caea;
+			stroke: #ff00ff;
+			stroke-width: 0px;
+			}
+			.tourism-green-area {
+			fill: #c7f1a3;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.tourism-attraction-caption {
+			fill: #ff00ff;
+			stroke: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-size: 3px;
+			font-weight: bold;
+			}
+			
+			
+			/* Building */
+			.building {
+			fill: #e0e0e0;
+			stroke: #d0d0d0;
+			stroke-width: 0.2px;
+			}
+			
+			.building-block {
+			fill: #F3D6B6;
+			stroke: #6a5a8e;
+			stroke-width: 0.2px;
+			}
+			
+			.building-residential {
+			fill: #c95e2a;
+			stroke: #800000;
+			stroke-width: 0.2px;
+			}
+			
+			
+			/* Aerialway */
+			
+			.aerialway-line {
+			fill: none;
+			stroke: #202020;
+			stroke-width: 0.2px;
+			}
+			
+			.aerialway-struts {
+			fill: none;
+			stroke: #202020;
+			stroke-width: 4px;
+			stroke-dasharray: 0.2,10;
+			stroke-linecap: butt;
+			}
+			
+			.aerialway-station {
+			fill: black;
+			stroke: black;
+			}
+			
+			.aerialway-name {
+			fill: black;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 5px;
+			stroke: none;
+			text-anchor: middle;
+			}
+			
+			/* Piste maps */
+			.piste-core {
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke-width: 5px;
+			opacity: 0.66;
+			}
+			
+			.piste-area {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke-width: 5px;
+			opacity: 0.66;
+			}
+			
+			.piste-difficulty-novice       { stroke: #40ff40; }
+			.piste-difficulty-easy         { stroke: #4040ff; }
+			.piste-difficulty-intermediate { stroke: #ff4040; }
+			.piste-difficulty-advanced     { stroke: #000000; }
+			.piste-difficulty-expert       { stroke: #f6800a; }
+			.piste-difficulty-freeride     { stroke: #f6dd0a; }
+			.piste-difficulty-other        { stroke: #505050; }
+			.piste-area-difficulty-novice       { stroke: #40ff40; fill: #40ff40; }
+			.piste-area-difficulty-easy         { stroke: #4040ff; fill: #4040ff; }
+			.piste-area-difficulty-intermediate { stroke: #ff4040; fill: #ff4040; }
+			.piste-area-difficulty-advanced     { stroke: #000000; fill: #000000; }
+			.piste-area-difficulty-expert       { stroke: #f6800a; fill: #f6800a; }
+			.piste-area-difficulty-freeride     { stroke: #f6dd0a; fill: #f6dd0a; }
+			.piste-area-difficulty-other        { stroke: #505050; fill: #505050; }
+			
+			.piste-type-sled {
+			fill: none;
+			stroke: #cdabde;
+			stroke-width: 2.5px;
+			marker-start:url(#marker-piste-type-sled);
+			}
+			
+			.piste-type-nordic {
+			fill: none;
+			stroke: #c00000;
+			stroke-width: 1px;
+			stroke-dasharray: 3,0.5;
+			stroke-linejoin: bevel;
+			stroke-linecap: butt;
+			marker-start:url(#marker-piste-type-nordic);
+			}
+			
+			/* Power line */
+			.power-line {
+			stroke-width: 0.1px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #d0d0d0;
+			stroke-dasharray: 1 ,1;
+			fill: none;
+			}
+			
+			/* Map decoration */
+			.map-grid-line {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0.5;
+			}
+			
+			.map-border-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 3px;
+			stroke-miterlimit: 4;
+			stroke-dasharray: none;
+			stroke-opacity: 1;
+			stroke-linecap: round;
+			}
+			
+			.map-border-core {
+			fill: none;
+			fill-opacity: 1;
+			fill-rule: nonzero;
+			stroke: #ffffff;
+			stroke-width: 2px;
+			stroke-miterlimit: 0;
+			stroke-dashoffset: -0.5px;
+			stroke-opacity: 1;
+			}
+			
+			.map-scale-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-core {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-bookend {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 1px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-caption {
+			font-family: "DejaVu Sans";
+			font-size: 10px;
+			fill: #8080ff;
+			}
+			
+			<!-- map background must be the same for all zooms or else empty tile detection will fail -->
+			.map-background {
+			fill: #f8f8f8;
+			stroke: none;
+			}
+			
+			.map-title {
+			font-family: "DejaVu Sans";
+			font-size: 20px;
+			text-anchor: middle;
+			fill: black;
+			}
+			
+			.map-title-background {
+			fill: white;
+			}
+			
+			.map-marginalia-background {
+			fill: white;
+			}
+			
+			.highway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			}
+			
+			/* Osmarender built-in styles - do not remove */
+			.osmarender-stroke-linecap-round { stroke-linecap: round; }
+			.osmarender-stroke-linecap-butt { stroke-linecap: butt; }
+			.osmarender-mask-black { stroke: black; }
+			.osmarender-mask-white { stroke: white; }
+			.osmarender-no-marker-start { marker-start: none; }
+			.osmarender-no-marker-end { marker-end: none; }
+			
+			
+		</style>
+		<svg:pattern id="nature-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(18.3108)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.1" d="
+		M0.2,0.1 L1.8,0.9 M2.2,0.9 L3.8,0.1   M4.2,0.1 L5.8,0.9 M6.2,0.9 L7.8,0.1   M8.2,0.1 L9.8,0.9 M10.2,0.9 L11.8,0.1
+		M0.2,1.9 L1.8,1.1 M2.2,1.1 L3.8,1.9   M4.2,1.9 L5.8,1.1 M6.2,1.1 L7.8,1.9   M8.2,1.9 L9.8,1.1 M10.2,1.1 L11.8,1.9
+		M0.2,2.1 L1.8,2.9 M2.2,2.9 L3.8,2.1   M4.2,2.1 L5.8,2.9 M6.2,2.9 L7.8,2.1   M8.2,2.1 L9.8,2.9 M10.2,2.9 L11.8,2.1
+		M0.2,3.9 L1.8,3.1 M2.2,3.1 L3.8,3.9   M4.2,3.9 L5.8,3.1 M6.2,3.1 L7.8,3.9   M8.2,3.9 L9.8,3.1 M10.2,3.1 L11.8,3.9
+		M0.2,4.1 L1.8,4.9 M2.2,4.9 L3.8,4.1   M4.2,4.1 L5.8,4.9 M6.2,4.9 L7.8,4.1   M8.2,4.1 L9.8,4.9 M10.2,4.9 L11.8,4.1
+		M0.2,5.9 L1.8,5.1 M2.2,5.1 L3.8,5.9   M4.2,5.9 L5.8,5.1 M6.2,5.1 L7.8,5.9   M8.2,5.9 L9.8,5.1 M10.2,5.1 L11.8,5.9
+
+		M0.2,6.1 L1.8,6.9 M2.2,6.9 L3.8,6.1   M4.2,6.1 L5.8,6.9 M6.2,6.9 L7.8,6.1   M8.2,6.1 L9.8,6.9 M10.2,6.9 L11.8,6.1
+		M0.2,7.9 L1.8,7.1 M2.2,7.1 L3.8,7.9   M4.2,7.9 L5.8,7.1 M6.2,7.1 L7.8,7.9   M8.2,7.9 L9.8,7.1 M10.2,7.1 L11.8,7.9
+		M0.2,8.1 L1.8,8.9 M2.2,8.9 L3.8,8.1   M4.2,8.1 L5.8,8.9 M6.2,8.9 L7.8,8.1   M8.2,8.1 L9.8,8.9 M10.2,8.9 L11.8,8.1
+		M0.2,9.9 L1.8,9.1 M2.2,9.1 L3.8,9.9   M4.2,9.9 L5.8,9.1 M6.2,9.1 L7.8,9.9   M8.2,9.9 L9.8,9.1 M10.2,9.1 L11.8,9.9
+		M0.2,10.1 L1.8,10.9 M2.2,10.9 L3.8,10.1   M4.2,10.1 L5.8,10.9 M6.2,10.9 L7.8,10.1   M8.2,10.1 L9.8,10.9 M10.2,10.9 L11.8,10.1
+		M0.2,11.9 L1.8,11.1 M2.2,11.1 L3.8,11.9   M4.2,11.9 L5.8,11.1 M6.2,11.1 L7.8,11.9   M8.2,11.9 L9.8,11.1 M10.2,11.1 L11.8,11.9"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.15;stroke-linecap:round;stroke-linejoin:round;" d="
+		M1.2,2.6 L1.2,1.4 L1.8,2.6 L1.8,1.4
+		M2.2,2.1 2.45,2.1 A 0.25 0.25 0 0 0 2.45,1.4 L2.2,1.4 L2.2,2.6  M2.8,2.6 L2.3,2.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="landscape-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(14.0)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.05" d="
+		M0.4,0.2 L1.6,0.8 M2.4,0.8 L3.6,0.2   M4.4,0.2 L5.6,0.8 M6.4,0.8 L7.6,0.2   M8.4,0.2 L9.6,0.8 M10.4,0.8 L11.6,0.2
+		M0.4,1.8 L1.6,1.2 M2.4,1.2 L3.6,1.8   M4.4,1.8 L5.6,1.2 M6.4,1.2 L7.6,1.8   M8.4,1.8 L9.6,1.2 M10.4,1.2 L11.6,1.8
+		M0.4,2.2 L1.6,2.8 M2.4,2.8 L3.6,2.2   M4.4,2.2 L5.6,2.8 M6.4,2.8 L7.6,2.2   M8.4,2.2 L9.6,2.8 M10.4,2.8 L11.6,2.2
+		M0.4,3.8 L1.6,3.2 M2.4,3.2 L3.6,3.8   M4.4,3.8 L5.6,3.2 M6.4,3.2 L7.6,3.8   M8.4,3.8 L9.6,3.2 M10.4,3.2 L11.6,3.8
+		M0.4,4.2 L1.6,4.8 M2.4,4.8 L3.6,4.2   M4.4,4.2 L5.6,4.8 M6.4,4.8 L7.6,4.2   M8.4,4.2 L9.6,4.8 M10.4,4.8 L11.6,4.2
+		M0.4,5.8 L1.6,5.2 M2.4,5.2 L3.6,5.8   M4.4,5.8 L5.6,5.2 M6.4,5.2 L7.6,5.8   M8.4,5.8 L9.6,5.2 M10.4,5.2 L11.6,5.8
+
+		M0.4,6.2 L1.6,6.8 M2.4,6.8 L3.6,6.2   M4.4,6.2 L5.6,6.8 M6.4,6.8 L7.6,6.2   M8.4,6.2 L9.6,6.8 M10.4,6.8 L11.6,6.2
+		M0.4,7.8 L1.6,7.2 M2.4,7.2 L3.6,7.8   M4.4,7.8 L5.6,7.2 M6.4,7.2 L7.6,7.8   M8.4,7.8 L9.6,7.2 M10.4,7.2 L11.6,7.8
+		M0.4,8.2 L1.6,8.8 M2.4,8.8 L3.6,8.2   M4.4,8.2 L5.6,8.8 M6.4,8.8 L7.6,8.2   M8.4,8.2 L9.6,8.8 M10.4,8.8 L11.6,8.2
+		M0.4,9.8 L1.6,9.2 M2.4,9.2 L3.6,9.8   M4.4,9.8 L5.6,9.2 M6.4,9.2 L7.6,9.8   M8.4,9.8 L9.6,9.2 M10.4,9.2 L11.6,9.8
+		M0.4,10.2 L1.6,10.8 M2.4,10.8 L3.6,10.2   M4.4,10.2 L5.6,10.8 M6.4,10.8 L7.6,10.2   M8.4,10.2 L9.6,10.8 M10.4,10.8 L11.6,10.2
+		M0.4,11.8 L1.6,11.2 M2.4,11.2 L3.6,11.8   M4.4,11.8 L5.6,11.2 M6.4,11.2 L7.6,11.8   M8.4,11.8 L9.6,11.2 M10.4,11.2 L11.6,11.8"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:round;" d="
+		M5.2,3.4 L5.2,4.6 L5.8,4.6
+		M6.2,4.1 6.45,4.1 A 0.25 0.25 0 0 0 6.45,3.4 L6.2,3.4 L6.2,4.6  M6.8,4.6 L6.3,4.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="national-park-pattern" x="0" y="0" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(14.0)">
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.5;" d="
+		M9.2,6.6 L9.2,5.4 L9.8,6.6 L9.8,5.4
+		M10.2,6.1 10.45,6.1 A 0.25 0.25 0 0 0 10.45,5.4 L10.2,5.4 L10.2,6.6 "/>
+		</svg:pattern>
+
+	</defs>
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/captionless-z14.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/captionless-z14.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/captionless-z14.xml	(revision 35743)
@@ -0,0 +1,3668 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Tiles@Home Rules File for zoom level 14 -->
+<rules
+	  xmlns:xlink="http://www.w3.org/1999/xlink"
+	  xmlns:svg="http://www.w3.org/2000/svg"
+	  data="data.osm"
+	  svgBaseProfile="full"
+	  scale="1"
+	  symbolScale="0.86"
+	  textAttenuation="1.0"
+	  minimumMapWidth="0.5"
+	  minimumMapHeight="0.5"
+	  withOSMLayers="yes"
+	  withUntaggedSegments="no"
+	  showScale="no"
+	  showGrid="no"
+	  showBorder="no"
+	  showLicense="no"
+	  symbolsDir="../stylesheets/symbols"
+	  interactive="no">
+	
+	
+	<!-- Select all nodes and ways (unless they have an osmarender:render=no tag) -->
+	<rule e="node|way" k="osmarender:render" v="~|yes">
+		
+		<!-- Landuse -->
+		<rule e="way" k="landuse" v="landfill|quarry">
+			<area class="landuse-quarry"/>
+		</rule>
+		<rule e="way" k="landuse" v="cemetery">
+			<rule e="way" k="religion" v="christian">
+				<area class="landuse-cemetery-christian"/>
+			</rule>
+			<else>
+				<area class="landuse-cemetery"/>
+			</else>
+		</rule>
+		<rule e="way" k="amenity" v="grave_yard">
+			<rule e="way" k="religion" v="christian">
+				<area class="landuse-cemetery-christian"/>
+			</rule>
+			<else>
+				<area class="landuse-cemetery"/>
+			</else>
+		</rule>
+		<rule e="way" k="landuse" v="vineyard">
+			<area class="landuse-vineyard"/>
+		</rule>
+		
+		<!-- Natural features -->
+		<rule e="way" k="natural" v="coastline">
+			<area class="natural-coastline"/>
+		</rule>
+		<rule e="way" k="natural" v="glacier">
+			<line class='natural-glacier'/>
+		</rule>
+		<rule e="way" k="natural" v="land">
+			<area class="natural-land"/>
+		</rule>
+		<rule e="way" k="natural" v="beach">
+			<area class="natural-beach"/>
+		</rule>
+		<rule e="way" k="natural|landuse" v="forest|wood|scrub">
+			<rule e="way" k="wood" v="coniferous">
+				<area class="landuse-wood-coniferous"/>
+			</rule>
+			<else>
+				<rule e="way" k="wood" v="deciduous">
+					<area class="landuse-wood-deciduous"/>
+				</rule>
+				<else>
+					<rule e="way" k="wood" v="mixed">
+						<area class="landuse-wood-mixed"/>
+					</rule>
+					<else>
+						<area class="landuse-wood"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="natural" v="heath">
+			<area class="natural-heath"/>
+		</rule>
+		<rule e="way" k="natural" v="wetland">
+			<rule e="way" k="wetland" v="bog">
+				<area class="wetland-bog"/>
+			</rule>
+		</rule>
+		<rule e="way" k="landuse" v="conservation">
+			<area class="landuse-conservation"/>
+</rule>
+		
+		<!-- Artificial landuse -->
+		<rule e="way" k="landuse" v="field|farm|farmland|meadow|grass">
+			<area class="landuse-field"/>
+		</rule>
+		<rule e="way" k="landuse" v="allotments|village_green|recreation_ground">
+			<area class="landuse-allotment-village"/>
+		</rule>
+		<rule e="way" k="leisure" v="park|garden|golf_course|common|green">
+			<area class="leisure-park"/>
+		</rule>
+		<rule e="way" k="leisure" v="playground|playing_fields|pitch|dog_park">
+			<rule e="way" k="sport" v="tennis">
+				<area class="sport-tennis"/>
+			</rule>
+			<else>
+				<!-- Done separately from the above rule to layer these above. Tend to be smaller and inside parks. -->
+				<area class="leisure-park"/>
+			</else>
+		</rule>
+
+		<rule e="way" k="leisure" v="stadium|sports_centre|water_park">
+			<area class="leisure-stadium"/>
+		</rule>
+		<rule e="way" k="leisure" v="track">
+			<rule e="way" k="area" v="yes|true">
+				<area class="leisure-track-area"/>
+			</rule>
+			<else>
+				<line class="leisure-track-casing"/>
+				<line class="leisure-track-core"/>
+			</else>
+		</rule>
+		<rule e="way" k="leisure" v="swimming_pool">
+			<area class="leisure-swimming-pool"/>
+		</rule>
+		<rule e="way" k="man_made" v="wastewater_plant" layer="-5" closed="yes">
+			<area class="man_made-wastewater" layer="-5"/>
+		</rule>
+		<rule e="way" k="man_made" v="wastewater_plant">
+			<symbol ref="wastewater" position="center"/>
+		</rule>
+		<rule e="node" k="man_made" v="wastewater_plant">
+			<symbol ref="wastewater" position="center"/>
+		</rule>
+		
+		<!-- Airports and runways -->
+		<rule e="way" k="aeroway" v="aerodrome" closed="yes">
+			<area class="aeroway-aerodrome"/>
+		</rule>
+		<rule e="way" k="aeroway" v="apron">
+			<area class="aeroway-apron"/>
+		</rule>
+		<rule e="way" k="landuse" v="runway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse-runway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse-runway-disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse-runway-dismantled"/>
+			</rule>
+		</rule>
+		
+		<!-- Raceways and racetracks (cars and horses etc) -->
+		<rule e="way" k="landuse" v="raceway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse-raceway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse-raceway-disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse-raceway-dismantled"/>
+			</rule>
+		</rule>
+		
+		<!-- Man-made areas -->
+		<rule e="way" k="leisure|landuse|amenity|tourism" v="~">
+			<rule e="way" k="building" v="~|no|false|0">
+				<rule e="way" k="sport" v="swimming|canoe|diving|scuba_diving">
+					<area class="sport-swimming"/>
+				</rule>
+				<else>
+					<rule e="way" k="sport" v="tennis">
+						<area class="sport-tennis"/>
+					</rule>
+					<else>
+						<rule e="way" k="sport" v="*" closed="yes">
+							<area class="sport"/>
+						</rule>
+					</else>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="amenity" v="parking">
+			<area class="amenity-parking"/>
+		</rule>
+		<rule e="way" k="tourism" v="attraction">
+			<rule e="way" k="highway" v="~">
+				<rule e="way" k="area" v="no" />
+				<else>
+					<area class="tourism-attraction"/>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="tourism" v="zoo|picnic_site|caravan_site|camp_site">
+			<area class="tourism-green-area"/>
+		</rule>
+		<rule e="node|way" k="tourism" v="camp_site">
+			<rule e="node|way" k="refugee" v="yes">
+				<symbol ref="earthquakeCamp" position="center"/>
+			</rule>
+		</rule>
+		<rule e="node|way" k="earthquake:damage" v="spontaneous_camp">
+			<symbol ref="earthquakeCamp" position="center"/>
+		</rule>
+		
+		<!-- Airfields and airports -->
+		<rule e="way" k="aeroway" v="runway">
+			<line class="aeroway-runway-casing"/>
+		</rule>
+		<rule e="way" k="aeroway" v="taxiway">
+			<line class="aeroway-taxiway-casing"/>
+		</rule>
+		
+		<!-- Waterways -->
+		<rule e="way" k="lock" v="yes|true">
+			<line class="waterway-lock-casing" smart-linecap="no" />
+			<line class="waterway-lock-core" smart-linecap="no" />
+		</rule>
+		<rule e="way" k="waterway" v="lock">
+			<line class="waterway-lock-casing" smart-linecap="no" />
+			<line class="waterway-lock-core" smart-linecap="no" />
+		</rule>
+		<rule e="way" k="waterway" v="river">
+			<line class="waterway-casing waterway-river-casing" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="stream">
+			<line class="waterway-casing waterway-stream-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+		</rule>
+		<rule e="way" k="waterway" v="canal">
+			<line class="waterway-casing waterway-canal-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="drain">
+			<line class="waterway-casing waterway-drain-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+		</rule>
+		<rule e="way" k="waterway" v="ditch">
+			<line class="waterway-casing waterway-ditch-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+		</rule>
+		<rule e="way" k="tunnel" v="yes">
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<line class="waterway-core waterway-stream-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</rule>
+		<else>
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-core" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<rule e="way" k="stream" v="ephemeral">
+					<line class="waterway-core waterway-stream-core-ephemeral" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+				</rule>
+				<else>
+					<rule e="way" k="stream" v="intermittent">
+						<line class="waterway-core waterway-stream-core-intermittent" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+					</rule>
+					<else>
+						<line class="waterway-core waterway-stream-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</else>
+		<rule e="way" k="waterway" v="dock">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="natural" v="water|pond|lake|bay">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="natural" v="marsh|wetland">
+			<area class="natural-water-marsh"/>
+		</rule>
+		<rule e="way" k="landuse" v="reservoir">
+			<rule e="way" k="reservoir_type" v="evaporator">
+			<area class="reservoir-evaporator"/>
+			</rule>
+			<else>
+				<rule e="way" k="reservoir_type" v="cooling">
+					<area class="reservoir-cooling"/>
+				</rule>
+				<else>
+					<rule e="way" k="reservoir_type" v="sewage">
+						<area class="reservoir-sewage"/>
+					</rule>
+					<else>
+						<rule e="way" k="reservoir_type" v="tailings">
+							<area class="reservoir-tailings"/>
+						</rule>
+						<else>
+							<rule e="way" k="reservoir_type" v="water_storage">
+								<area class="natural-water"/>
+							</rule>
+							<else>
+								<area class="natural-water"/>
+							</else>
+						</else>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="landuse" v="basin">
+			<rule e="way" k="basin" v="infiltration">
+				<area class="basin-infiltration"/>
+			</rule>
+			<else>
+				<rule e="way" k="basin" v="detention">
+					<area class="basin-detention"/>
+				</rule>
+				<else>
+					<rule e="way" k="basin" v="retention">
+						<area class="natural-water"/>
+						<area class="basin-retention"/>
+					</rule>
+					<else>
+						<area class="natural-water"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="waterway" v="riverbank">
+			<area class="waterway-riverbank"/>
+		</rule>
+		<rule e="way" k="waterway" v="weir">
+			<line class="waterway-weir"/>
+		</rule>
+		<rule e="way" k="waterway" v="dam">
+			<line class="waterway-dam"/>
+		</rule>
+		<rule e="node" k="waterway" v="lock_gate">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" k="lock" v="yes|true">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" s="way" k="lock" v="yes|true">
+			<wayMarker k="waterway" v="artificial|canal|ditch|drain|river|stream" class="canal-lock"/>
+		</rule>
+		<rule e="node" k="waterway" v="lock">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" s="way" k="waterway" v="lock">
+			<wayMarker k="waterway" v="artificial|canal|ditch|drain|river|stream" class="canal-lock"/>
+		</rule>
+
+		<rule e="way" k="boundary" v="national_park">
+			<area class="leisure-national_park"/>
+		</rule>
+		<rule e="way" k="leisure" v="landscape_reserve">
+			<area class="leisure-landscape_reserve"/>
+		</rule>
+		<rule e="way" k="leisure" v="nature_reserve">
+			<area class="leisure-nature_reserve"/>
+		</rule>
+
+		<!-- Highway area casings -->
+		<rule e="way" k="area" v="yes|true">
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="steps">
+				<area class="highway-casing highway-steps-area-casing highway-steps-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<area class="highway-casing highway-footway-area-casing highway-footway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<area class="highway-casing highway-cycleway-area-casing highway-cycleway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<area class="highway-casing highway-bridleway-area-casing highway-bridleway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<area class="highway-casing highway-cycleway-area-casing highway-cycleway-area no-bezier"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<area class="highway-casing highway-bridleway-area-casing highway-bridleway-area no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-footway-area-casing highway-footway-area no-bezier"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<area class="highway-casing highway-byway-area-casing highway-byway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<area class="highway-casing highway-track-area-casing highway-track-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<area class="highway-casing highway-unsurfaced-casing highway-unsurfaced-area-casing no-bezier" smart-area="no"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+				</rule>
+				<else>
+					<area class="highway-casing highway-service-casing highway-service-area-casing no-bezier"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<area class="highway-casing highway-pedestrian-casing highway-pedestrian-area-casing no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-casing highway-residential-casing highway-residential-area-casing no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-casing highway-residential-casing highway-residential-area-casing no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-casing highway-residential-casing highway-residential-area-casing no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+						</else>
+					</rule>
+				</else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="residential|living_street">
+				<area class="highway-casing highway-residential-casing highway-residential-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|minor|road">
+				<area class="highway-casing highway-unclassified-casing highway-unclassified-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<area class="highway-casing highway-tertiary-link-casing highway-tertiary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<area class="highway-casing highway-tertiary-casing highway-tertiary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<area class="highway-casing highway-secondary-link-casing highway-secondary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<area class="highway-casing highway-secondary-casing highway-secondary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<area class="highway-casing highway-primary-link-casing highway-primary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<area class="highway-casing highway-trunk-link-casing highway-trunk-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<area class="highway-casing highway-motorway-link-casing highway-motorway-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<area class="highway-casing highway-primary-casing highway-primary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<area class="highway-casing highway-trunk-casing highway-trunk-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<area class="highway-casing highway-motorway-casing highway-motorway-area-casing no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+		</rule>
+		
+		<!-- Linear casings -->
+		<rule e="way" k="tunnel" v="~|no|false">
+			<rule e="way" k="area" v="~|no|false">
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="raceway">
+					<rule e="way" k="use_status" v="~">
+						<line class="highway-raceway-casing"/>
+					</rule>
+					<rule e="way" k="use_status" v="disused">
+						<line class="highway-raceway-casing-disused"/>
+					</rule>
+					<rule e="way" k="use_status" v="dismantled">
+						<line class="highway-raceway-casing-dismantled"/>
+					</rule>
+				</rule>
+				<rule e="way" k="highway" v="steps">
+					<line class="highway-casing highway-steps-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="footway|footpath">
+					<line class="highway-casing highway-footway-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="cycleway">
+					<line class="highway-casing highway-cycleway-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="bridleway">
+					<line class="highway-casing highway-bridleway-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<line class="highway-casing highway-footway-casing "/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<line class="highway-casing highway-bridleway-casing "/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-footway-casing "/>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="byway">
+					<line class="highway-casing highway-byway-casing "/>
+
+				</rule>
+				<rule e="way" k="highway" v="track">
+					<line class="highway-casing highway-track-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="unsurfaced">
+					<line class="highway-casing highway-unsurfaced-casing"/>
+				</rule>
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle">
+					</rule>
+					<else>
+						<line class="highway-casing highway-service-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="pedestrian">
+					<line class="highway-casing highway-pedestrian-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="residential|living_street">
+					<line class="highway-casing highway-residential-casing"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-casing highway-residential-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-cycleroad-casing"/>
+					</else>
+			  </rule>
+			  <else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-casing highway-residential-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-cycleroad-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-casing highway-residential-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-cycleroad-casing"/>
+							</else>
+						</rule>
+					</else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="unclassified|minor|road|ford">
+					<line class="highway-casing highway-unclassified-casing"/>
+				</rule>
+				<rule e="way" k="highway" v="tertiary_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-tertiary-link-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-tertiary-link-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="tertiary">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-tertiary-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-tertiary-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="secondary_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-secondary-link-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-secondary-link-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="secondary">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-secondary-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-secondary-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="primary_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-primary-link-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-primary-link-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="trunk_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-trunk-link-mr2-casing"/>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="no">
+							<line class="highway-casing highway-trunk-link-mr3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-trunk-link-casing"/>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="motorway_link">
+					<line class="highway-casing highway-motorway-link-casing"/>
+				</rule>
+				<rule e="way" k="highway" v="primary">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-primary-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-primary-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="trunk">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-trunk-mr2-casing"/>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="no">
+							<line class="highway-casing highway-trunk-mr3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-trunk-casing"/>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="motorway">
+					<line class="highway-casing highway-motorway-casing"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-casing railway-con-casing-color railway-casing" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-casing railway-pla-casing-color railway-casing" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-casing railway-dis-casing-color railway-casing" smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-casing railway-aba-casing-color railway-casing" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-casing railway-con-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-casing railway-pla-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-casing railway-dis-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-casing railway-aba-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<line class="railway-rail-casing railway-rail-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-casing railway-narrow-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-casing railway-preserved-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-casing railway-light-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-casing railway-tram-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-casing railway-subway-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-casing railway-funicular-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-casing railway-monorail-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-casing railway-yard-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>	
+			</rule>
+		</rule>
+		
+		<!-- Highway area cores -->
+		<rule e="way" k="area" v="yes|true">
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="steps">
+				<area class="highway-core highway-steps-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<area class="highway-core highway-footway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<area class="highway-core highway-cycleway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<area class="highway-core highway-bridleway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<area class="highway-core highway-cycleway-core no-bezier"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<area class="highway-core highway-bridleway-core no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-path-core no-bezier"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<area class="highway-core highway-byway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<rule e="way" k="tracktype" v="grade1">
+					<area class="highway-core highway-track-grade1-core highway-track-core no-bezier"/>
+				</rule>
+				<else>
+					<rule e="way" k="tracktype" v="grade2">
+						<area class="highway-casing highway-track-grade2-core highway-track-core no-bezier"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade3">
+							<area class="highway-core highway-track-grade3-core highway-track-core no-bezier"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade4">
+								<area class="highway-core highway-track-grade4-core highway-track-core no-bezier"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade5">
+									<area class="highway-core highway-track-grade5-core highway-track-core no-bezier"/>
+								</rule>
+								<else>
+									<area class="highway-core highway-track-gradex-core highway-track-core no-bezier"/>
+								</else>
+							</else>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<area class="highway-core highway-unsurfaced-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+				</rule>
+				<else>
+					<area class="highway-core highway-service-area no-bezier"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<area class="highway-core highway-pedestrian-area no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-core highway-unclassified-area no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-core highway-unclassified-area no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-core highway-unclassified-area no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+						</else>
+					</rule>
+				</else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="road">
+				<area class="highway-core highway-road-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor|living_street">
+				<area class="highway-core highway-unclassified-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<area class="highway-core highway-tertiary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<area class="highway-core highway-tertiary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<area class="highway-core highway-secondary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<area class="highway-core highway-secondary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<area class="highway-core highway-primary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<area class="highway-core highway-trunk-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<area class="highway-core highway-motorway-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<area class="highway-core highway-primary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<area class="highway-core highway-trunk-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<area class="highway-core highway-motorway-area no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		</rule>
+		
+		<!-- Buildings -->
+		<rule e="way" k="aeroway" v="terminal">
+			<area class="building-block"/>
+		</rule>
+		<rule e="way" k="building" v="*">
+			<area class="building-block no-bezier"/>
+		</rule>
+		<rule e="node" k="building" v="*">
+			<symbol ref="building" position="center" transform="scale(0.75)"/>
+		</rule>
+		
+		<!-- Linear cores -->
+		<rule e="way" k="tunnel" v="~|false|no">
+			<rule e="way" k="area" v="~|false|no">
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="ford">
+					<line class="highway-core highway-ford-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="raceway">
+					<rule e="way" k="use_status" v="~">
+						<line class="highway-raceway-core"/>
+					</rule>
+					<rule e="way" k="use_status" v="disused">
+						<line class="highway-raceway-core-disused"/>
+					</rule>
+					<rule e="way" k="use_status" v="dismantled">
+						<line class="highway-raceway-core-dismantled"/>
+					</rule>
+				</rule>
+				<rule e="way" k="scramble" v="*">
+					<line class="highway-core highway-scramble-core"/>
+				</rule>
+				<rule e="way" k="highway" v="steps">
+					<line class="highway-core highway-steps-core"/>
+				</rule>
+				<rule e="way" k="highway" v="footway|footpath">
+					<line class="highway-core highway-footway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="cycleway">
+					<line class="highway-core highway-cycleway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="bridleway">
+					<line class="highway-core highway-bridleway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<line class="highway-core highway-cycleway-core"/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<line class="highway-core highway-bridleway-core"/>
+						</rule>
+						<else>
+							<rule e="way" k="foot" v="yes|designated">
+								<line class="highway-core highway-footway-core"/>
+							</rule>
+							<else>
+								<line class="highway-core highway-path-core"/>
+							</else></else></else>
+				</rule>
+				<rule e="way" k="highway" v="byway">
+					<line class="highway-core highway-byway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="track">
+					<rule e="way" k="tracktype" v="~">
+						<line class="highway-core highway-track-core highway-track-gradex-core"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade1">
+							<line class="highway-core highway-track-core highway-track-grade1-core"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade2">
+								<line class="highway-core highway-track-core highway-track-grade2-core"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade3">
+									<line class="highway-core highway-track-core highway-track-grade3-core" smart-linecap="no"/>
+								</rule>
+								<else>
+									<rule e="way" k="tracktype" v="grade4">
+										<line class="highway-core highway-track-core highway-track-grade4-core" smart-linecap="no"/>
+									</rule>
+									<else>
+										<rule e="way" k="tracktype" v="grade5">
+											<line class="highway-core highway-track-core highway-track-grade5-core" smart-linecap="no"/>
+										</rule>
+										<else>
+											<line class="highway-core highway-track-core highway-track-gradex-core"/>
+										</else>
+									</else>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="unsurfaced">
+					<line class="highway-core highway-unsurfaced-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle">
+					</rule>
+					<else>
+						<line class="highway-core highway-service-core"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="pedestrian">
+					<line class="highway-core highway-pedestrian-core"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-core highway-unclassified-core"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-cycleroad-core-3"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-core highway-unclassified-core"/>
+						</rule>
+						<else>
+							<line class="highway-core highway-cycleroad-core-3"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-core highway-unclassified-core"/>
+							</rule>
+							<else>
+								<line class="highway-core highway-cycleroad-core-3"/>
+							</else>
+						</rule>
+					</else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="road">
+					<line class="highway-core highway-road-core"/>
+				</rule>
+				<rule e="way" k="highway" v="unclassified|residential|minor|living_street">
+					<line class="highway-core highway-unclassified-core"/>
+				</rule>
+				<rule e="way" k="highway" v="tertiary_link">
+					<line class="highway-core highway-tertiary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="tertiary">
+					<line class="highway-core highway-tertiary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary_link">
+					<line class="highway-core highway-secondary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary">
+					<line class="highway-core highway-secondary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="primary_link">
+					<line class="highway-core highway-primary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk_link">
+					<line class="highway-core highway-trunk-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway_link">
+					<line class="highway-core highway-motorway-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="primary">
+					<line class="highway-core highway-primary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk">
+					<line class="highway-core highway-trunk-core"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway">
+					<line class="highway-core highway-motorway-core"/>
+				</rule>
+			    </else>
+			  </else>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-1-core railway-con-1-core-color railway-1-core" smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-1-core railway-pla-1-core-color railway-1-core" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-1-core railway-dis-1-core-color railway-1-core" smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-1-core railway-aba-1-core-color railway-1-core" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-1-core railway-con-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-1-core railway-pla-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-1-core railway-dis-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-1-core railway-aba-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<line class="railway-rail-1-core railway-rail-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-1-core railway-narrow-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-1-core railway-preserved-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-1-core railway-light-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-1-core railway-tram-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-1-core railway-subway-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-1-core railway-funicular-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-1-core railway-monorail-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-1-core railway-yard-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core"/>
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-2-core railway-light-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="aeroway" v="runway">
+					<line class="aeroway-runway-core"/>
+				</rule>
+				<rule e="way" k="aeroway" v="taxiway">
+					<line class="aeroway-taxiway-core"/>
+				</rule>
+			</rule>
+		</rule>
+		
+		<!-- Tunnels -->
+		<rule e="way" k="tunnel" v="true|yes">
+			<rule e="way" k="highway" v="steps">
+				<line class="tunnel-casing highway-steps-casing tunnel" mask-class="tunnel-core highway-steps-core"/>
+				<line class="highway-steps-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+				<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<line class="tunnel-casing highway-pedestrian-casing tunnel" mask-class="tunnel-core highway-pedestrian-core"/>
+				<line class="highway-pedestrian-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+				<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+					<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+						<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</rule>
+					<else>
+						<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+						<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+				<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<line class="tunnel-casing highway-byway-1-casing tunnel" mask-class="tunnel-core highway-byway-1-core"/>
+				<line class="highway-byway-1-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<line class="tunnel-casing highway-track-casing tunnel" mask-class="tunnel-core highway-track-core"/>
+				<line class="highway-track-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<line class="tunnel-casing highway-unsurfaced-casing tunnel" mask-class="tunnel-core highway-unsurfaced-core"/>
+				<line class="highway-unsurfaced-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<line class="tunnel-casing highway-service-casing tunnel" mask-class="tunnel-core highway-service-core"/>
+				<line class="highway-service-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor|cycleroad|living_street">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-unclassified-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="road">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-road-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<line class="tunnel-casing highway-tertiary-link-casing tunnel" mask-class="tunnel-core highway-tertiary-link-core"/>
+				<line class="highway-tertiary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<line class="tunnel-casing highway-tertiary-casing tunnel" mask-class="tunnel-core highway-tertiary-core"/>
+				<line class="highway-tertiary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<line class="tunnel-casing highway-secondary-link-casing tunnel" mask-class="tunnel-core highway-secondary-link-core"/>
+				<line class="highway-secondary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<line class="tunnel-casing highway-secondary-casing tunnel" mask-class="tunnel-core highway-secondary-core"/>
+				<line class="highway-secondary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<line class="tunnel-casing highway-primary-link-casing tunnel" mask-class="tunnel-core highway-primary-link-core"/>
+				<line class="highway-primary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<line class="tunnel-casing highway-trunk-link-casing tunnel" mask-class="tunnel-core highway-trunk-link-core"/>
+				<line class="highway-trunk-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<line class="tunnel-casing highway-motorway-link-casing tunnel" mask-class="tunnel-core highway-motorway-link-core"/>
+				<line class="highway-motorway-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<line class="tunnel-casing highway-primary-casing tunnel" mask-class="tunnel-core highway-primary-core"/>
+				<line class="highway-primary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<line class="tunnel-casing highway-trunk-casing tunnel" mask-class="tunnel-core highway-trunk-core"/>
+				<line class="highway-trunk-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<line class="tunnel-casing highway-motorway-casing tunnel" mask-class="tunnel-core highway-motorway-core"/>
+				<line class="highway-motorway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="railway" v="*">
+				<rule e="way" k="construction" v="yes|true">
+					<line class="railway-con-casing railway-con-casing-color tunnel-casing tunnel" mask-class="tunnel-core railway-con-1-core"/>
+					<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="planned|proposed" v="yes|true">
+						<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-1-core"/>
+						<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="disused" v="yes|true">
+							<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-1-core"/>
+							<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="abandoned|dismantled" v="yes|true">
+								<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-1-core"/>
+								<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="railway" v="construction">
+									<line class="railway-con-casing railway-con-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-con-1-core"/>
+									<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="planned|proposed">
+									<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-1-core"/>
+									<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="disused">
+									<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-1-core"/>
+									<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="abandoned|dismantled">
+									<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-1-core"/>
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="rail">
+									<line class="railway-rail-casing railway-rail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-rail-1-core"/>
+									<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core railway-rail-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="narrow_gauge">
+									<line class="railway-narrow-casing railway-narrow-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-narrow-1-core"/>
+									<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core railway-narrow-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="preserved">
+									<line class="railway-preserved-casing railway-preserved-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-preserved-1-core"/>
+									<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core railway-preserved-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="light_rail">
+									<line class="railway-light-casing railway-light-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-light-1-core"/>
+									<line class="railway-light-2-core railway-light-2-core-color railway-2-core railway-light-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="tram">
+									<line class="railway-tram-casing railway-tram-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-tram-1-core"/>
+									<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core railway-tram-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="subway">
+									<line class="railway-subway-casing railway-subway-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-subway-1-core"/>
+									<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core railway-subway-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="incline|funicular">
+									<line class="railway-funicular-casing railway-funicular-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-funicular-t-core"/>
+									<line class="railway-funicular-1-core railway-funicular-1-core-color railway-1-core railway-funicular-tunnel-core tunnel"  smart-linecap="no" />
+									<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core railway-funicular-tunnel-core tunnel-casing tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="monorail">
+									<line class="railway-monorail-casing railway-monorail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-monorail-1-core"/>
+									<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core railway-monorail-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="spur|yard|siding">
+									<line class="railway-yard-casing railway-yard-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-yard-1-core"/>
+									<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core railway-yard-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+							</else>
+						</else>
+					</else>
+				</else>
+				<line class="railway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+		</rule>
+		
+		<!-- Linear cores (under construction) -->
+		<rule e="way" k="highway" v="construction">
+			<rule e="way" k="construction" v="steps">
+				<line class="highway-core highway-steps-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="footway|footpath">
+				<line class="highway-core highway-footway-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="pedestrian">
+				<line class="highway-core highway-pedestrian-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="cycleway">
+				<line class="highway-core highway-cycleway-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="highway-core highway-cycleway-core under-construction"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="highway-core highway-bridleway-core under-construction"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-footway-core under-construction"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="construction" v="bridleway">
+				<line class="highway-core highway-bridleway-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="byway">
+				<line class="highway-core highway-byway-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="track">
+				<line class="highway-core highway-track-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="unsurfaced">
+				<line class="highway-core highway-unsurfaced-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="service">
+				<line class="highway-core highway-service-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="unclassified|residential|minor|cycleroad|living_street">
+				<line class="highway-core highway-unclassified-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="~|road|yes">
+				<line class="highway-core highway-road-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary_link">
+				<line class="highway-core highway-tertiary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary">
+				<line class="highway-core highway-tertiary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary_link">
+				<line class="highway-core highway-secondary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary">
+				<line class="highway-core highway-secondary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="primary_link">
+				<line class="highway-core highway-primary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk_link">
+				<line class="highway-core highway-trunk-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway_link">
+				<line class="highway-core highway-motorway-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="primary">
+				<line class="highway-core highway-primary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk">
+				<line class="highway-core highway-trunk-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway">
+				<line class="highway-core highway-motorway-core under-construction"/>
+			</rule>
+		</rule>
+				
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="construction|planned|disused|abandoned" v="yes|true">
+				<line class="wrong-under-construction" smart-linecap="no"/>
+			</rule>
+		</rule>
+
+		<!-- Piste maps: -->
+		<!-- piste areas -->
+		<rule e="way" k="piste:type" v="downhill" closed="yes">
+			<rule e="way" k="piste:difficulty" v="novice">
+				<line class="piste-area piste-area-difficulty-novice" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="easy">
+				<line class="piste-area piste-area-difficulty-easy" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="intermediate">
+				<line class="piste-area piste-area-difficulty-intermediate" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="advanced">
+				<line class="piste-area piste-area-difficulty-advanced" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="expert">
+				<line class="piste-area piste-area-difficulty-expert" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="freeride">
+				<line class="piste-area piste-area-difficulty-freeride" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="~">
+				<line class="piste-area piste-area-difficulty-other" smart-linecap="no"/>
+			</rule>
+		</rule>
+		<!-- piste ways -->
+		<rule e="way" k="piste:type" v="downhill" closed="no">
+			<rule e="way" k="piste:difficulty" v="novice">
+				<line class="piste-core piste-difficulty-novice" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="easy">
+				<line class="piste-core piste-difficulty-easy" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="intermediate">
+				<line class="piste-core piste-difficulty-intermediate" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="advanced">
+				<line class="piste-core piste-difficulty-advanced" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="expert">
+				<line class="piste-core piste-difficulty-expert" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="freeride">
+				<line class="piste-core piste-difficulty-freeride" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="~">
+				<line class="piste-core piste-difficulty-other" smart-linecap="no"/>
+			</rule>
+		</rule>
+		<rule e="way" k="piste:type" v="sled">
+			<line class="piste-type-sled"/>
+		</rule>
+		<rule e="way" k="piste:type" v="nordic">
+			<line smart-linecap="no" class="piste-type-nordic"/>
+		</rule>
+		<rule e="way" k="man_made" v="piste:halfpipe">
+			<area class="man-made-piste-halfpipe"/>
+		</rule>
+		
+		<!-- Surface lifts (render over pistes) -->
+		<rule e="way" k="piste:lift" v="*">
+			<rule e="way" k="piste:lift" v="t-bar|j-bar|platter">
+				<line smart-linecap="no" class="aerialway-line piste-lift-t-bar-marker no-bezier"/>
+				<line smart-linecap="no" class="aerialway-struts no-bezier"/>
+				<rule e="way" k="name" v="*">
+					<pathText k="name" dx="0px" dy="-3px" class="aerialway-name" text-anchor="middle" startOffset="50%"/>
+				</rule>
+			</rule>
+			<rule e="way" k="piste:lift" v="rope_tow">
+				<line smart-linecap="no" class="piste-lift-rope-tow no-bezier"/>
+			</rule>
+			<rule e="way" k="piste:lift" v="magic_carpet">
+				<line smart-linecap="no" class="piste-lift-magic-carpet no-bezier"/>
+			</rule>
+		</rule>
+		
+		<!-- Aerialways (render over pistes) -->
+		<rule e="node|way" k="aerialway" v="*">
+			<line smart-linecap="no" class="aerialway-line no-bezier"/>
+			<line smart-linecap="no" class="aerialway-struts no-bezier"/>
+			<rule e="node" k="aerialway" v="station">
+				<circle r="2px" class="aerialway-station"/>
+			</rule>
+			<rule e="way" k="name" v="*">
+				<pathText k="name" dx="0px" dy="-2px" class="aerialway-name" text-anchor="middle" startOffset="50%"/>
+			</rule>
+		</rule>
+		
+		<!-- Natural features -->
+		<rule e="node" k="natural" v="peak">
+			<symbol ref="peak" position="center"/>
+		</rule>
+		<rule e="node" k="natural" v="volcano">
+			<symbol ref="vulcan" position="center"/>
+		</rule>
+		<rule e="node" k="natural" v="cave_entrance">
+			<symbol ref="cave_entrance" position="center"/>
+		</rule>
+		
+		<!-- Draw marine features -->
+		<rule e="way" k="man_made" v="pier" closed="yes">
+			<line class="artificial-pier-area"/>
+		</rule>
+		<rule e="way" k="man_made" v="pier" closed="no">
+			<line class="artificial-pier-casing"/>
+		</rule>
+		<rule e="way" k="man_made" v="pier" closed="no">
+			<line class="artificial-pier-core"/>
+		</rule>
+		
+		<!-- Power lines and pylons -->
+		<rule e="way" k="power" v="line">
+			<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+			<line class="power-line no-bezier" smart-linecap="no"/>
+		</rule>
+		<rule e="node|way" k="power" v="tower">
+			<symbol ref="power-tower" position="center"/>
+		</rule>
+
+		<!-- Power generators -->
+		<rule e="node" k="power" v="generator">
+			<rule e="node" k="power_source" v="wind">
+				<symbol ref="power_wind" position="center"/>
+			</rule>
+			<else>
+				<rule e="node" k="power_source" v="hydro">
+					<symbol ref="power_hydro" position="center"/>
+				</rule>
+				<else>
+					<rule e="node" k="power_source" v="photovoltaic">
+						<symbol ref="power_photovoltaic" position="center"/>
+					</rule>
+					<else>
+						<symbol ref="power_generic" position="center"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="power" v="generator">
+			<rule e="way" k="power_source" v="wind">
+				<area class="power-wind"/>
+			</rule>
+			<else>
+				<rule e="way" k="power_source" v="hydro">
+					<area class="power-hydro"/>
+				</rule>
+				<else>
+					<rule e="way" k="power_source" v="photovoltaic">
+						<area class="power-photovoltaic"/>
+					</rule>
+					<else>
+						<area class="power-generic"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+
+		<!-- Electrical substations -->
+		<rule e="way" k="power" v="station|sub_station">
+			<area class="power-generic"/>
+		</rule>
+
+		<!-- Non-physical routes -->
+		<rule e="way" k="route" v="ferry">
+			<line class="route-ferry"/>
+		</rule>
+		
+		<!-- Railway stations -->
+		<rule e="node" k="railway" v="station">
+			<rule e="node" s="way" k="railway" v="rail">
+				<circle r="3" class="railway-station"/>
+			</rule>
+			<else>
+				<circle r="2" class="railway-halt"/>
+			</else>
+		</rule>
+		<rule e="node" k="railway" v="halt">
+			<circle r="2" class="railway-halt"/>
+		</rule>
+		<!-- Tram stops -->
+		<rule e="node" k="railway" v="tram_stop">
+			<circle r="2" class="railway-halt"/>
+		</rule>
+		
+		<!-- Amenities -->
+		<rule e="node|way" k="amenity" v="hospital"  horizontalProximity="0.0004" verticalProximity="0.0004">
+			<symbol ref="hospital" position="center" transform="scale(0.7)"/>
+		</rule>
+		<rule e="node|way" k="tourism" v="alpine_hut">
+			<symbol ref="alpine_hut" position="center" transform="scale(0.5)"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="shelter">
+			<rule e="node|way" k="fireplace" v="yes">
+				<symbol ref="shelter-fireplace" position="center" transform="scale(0.5)"/>
+			</rule>
+			<else>
+				<symbol ref="shelter" position="center" transform="scale(0.5)"/>
+			</else>
+		</rule>
+		
+		<!-- ==================================== Layer -5 ======================================== -->
+		
+		<!-- Landuse -->
+		<rule e="way" k="landuse" v="residential|farmyard" layer="-5">
+			<area class="landuse-residential" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="retail" layer="-5">
+			<area class="landuse-retail" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="industrial|brownfield|railway" layer="-5">
+			<area class="landuse-industrial" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="commercial" layer="-5">
+			<area class="landuse-commercial" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="construction|greenfield" layer="-5">
+			<area class="landuse-construction" layer="-5"/>
+		</rule>
+		
+		<!-- Artificial landuse -->
+		<rule e="way" k="amenity" v="kindergarten|school|college|university" layer="-5">
+			<area class="amenity-school" layer="-5"/>
+		</rule>
+		
+		<!-- Man-made areas -->
+		<rule e="way" k="landuse" v="military" layer="-5">
+			<rule e="way" k="military" v="~" layer="-5">
+				<area class="military-area" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="military" v="*" layer="-5">
+			<area class="military-area" layer="-5"/>
+		</rule>
+		
+		
+		<!-- ==================================== Layer 5 ======================================== -->
+		
+		<!-- Non-physical boundaries -->
+		<rule e="way" k="boundary" v="administrative" layer="5">
+			<rule e="way" k="admin_level" v="1|2|3|4|5|6" layer="5">
+				<rule e="way" k="admin_level" v="6" layer="5">
+					<line class="boundary boundary-level-6-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="5" layer="5">
+					<line class="boundary boundary-level-5-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="4" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="3" layer="5">
+					<line class="boundary boundary-level-3-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="2" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="1" layer="5">
+					<line class="boundary boundary-level-1-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-1-core no-bezier" layer="5"/>
+				</rule>
+			</rule>
+			<!-- If we don't have explicit admin_level then guess -->
+			<else>
+				<rule e="way" k="border_type" v="county|district" layer="5">
+					<line class="boundary boundary-level-6-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="region|state" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="nation|country" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+			</else>
+		</rule>
+		<rule e="way" k="boundary" v="national_park" layer="5">
+			<line class="boundary boundary-nationalpark-core no-bezier" layer="5"/>
+		</rule>
+		
+		<!-- Waterway and Street names -->
+		<rule e="way" k="osmarender:renderName" v="~|yes" layer="5">
+			<rule e="way" k="tunnel" v="~|no|false" layer="5"> <!-- no names in tunnels -->
+				<rule e="way" k="area" v="~|no|false" layer="5"> <!-- no linear names on areas -->
+					<rule e="way" k="junction" v="~" layer="5"> <!-- no names on or along junctions -->
+						<rule e="way" k="waterway" v="canal" layer="5">
+							<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-canal-name-casing" dy="2px" layer="5"/>
+							<pathText k="name" startOffset="50%" class="waterway-name-core waterway-canal-name-core" dy="2px" layer="5"/>
+						</rule>
+						<rule e="way" k="waterway" v="river" layer="5">
+							<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-river-name-casing" dy="2px" layer="5"/>
+							<pathText k="name" startOffset="50%" class="waterway-name-core waterway-river-name-core" dy="2px" layer="5"/>
+						</rule>
+						<rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad|road" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-unclassified-name" dy="1.6px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="tertiary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-tertiary-link-name" dy="1.8px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="tertiary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-tertiary-name" dy="1.8px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="secondary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-secondary-link-name" dy="2.0px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="secondary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-secondary-name" dy="2.0px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="primary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-primary-link-name" dy="2.1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="trunk_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-trunk-link-name" dy="2.1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="motorway_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-motorway-link-name" dy="2.1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="primary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-primary-name" dy="2.5px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="trunk" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-trunk-name" dy="2.5px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="motorway" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-motorway-name" dy="2.5px" layer="5" avoid-duplicates="true" />
+						</rule>
+					</rule>
+				</rule>
+			</rule>
+			<rule e="way" k="natural" v="*" minSize="0.032" layer="5">
+				<caption k="name" class="caption-casing largefeature-caption-casing" text-anchor='middle' startOffset='50%'/>
+				<caption k="name" class="caption-core largefeature-caption-core" text-anchor='middle' startOffset='50%'/>
+			</rule>
+		</rule>
+		
+		<!-- Road numbers for all highways -->
+		<rule e="way" k="osmarender:renderRef" v="~|yes" layer="5">
+			<rule e="way" k="tunnel" v="~|no|false" layer="5"> <!-- no road numbers in tunnels -->
+				<rule e="way" k="junction" v="~" layer="5"> <!-- no ref on junctions / roundabouts -->
+					<!-- Use startOffset to prevent captions from colliding on dual carriageways -->
+					<rule e="way" k="highway" v="tertiary" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-tertiary-ref" dy="-5.0px" textAttenuation="1.5" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="secondary" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-secondary-ref" dy="-5.0px" textAttenuation="1.5" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="primary" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-primary-ref" dy="-5.0px" textAttenuation="1.5" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="trunk" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-trunk-ref" dy="-5.0px" textAttenuation="1.5" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="motorway" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-motorway-ref" dy="-6.0px" textAttenuation="1.5" layer="5" avoid-duplicates="true" />
+					</rule>
+				</rule>
+			</rule>
+		</rule>
+		
+		<!-- Place names  -->
+		<rule e="node|way" k="osmarender:renderName" v="~|yes" layer="5">
+			<rule e="node" k="place" v="city" layer="5">
+				<caption k="name" class="place-caption city-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="town" layer="5">
+				<caption k="name" class="place-caption town-caption" layer="5"/>
+			</rule>
+			<rule k="natural" v="cave_entrance" layer="5">
+				<caption k="name" class="place-caption cave-caption" dy="-5px" layer="5"/>
+			</rule>
+			<rule k="natural" v="peak|volcano" layer="5">
+				<caption k="name" class="place-caption peak-caption" dy="-5px" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="island" layer="5">
+				<caption k="name" class="place-caption island-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="islet" layer="5">
+				<caption k="name" class="place-caption islet-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="village" layer="5">
+				<caption k="name" class="place-caption village-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="suburb" layer="5">
+				<caption k="name" class="place-caption suburb-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="hamlet" layer="5">
+				<caption k="name" class="place-caption hamlet-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="locality" layer="5">
+				<caption k="name" class="place-caption locality-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="farm" layer="5">
+				<caption k="name" class="place-caption farm-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="railway" v="station" layer="5">
+				<rule e="node" s="way" k="railway" v="rail" layer="5">
+					<caption k="name" class="caption-casing railway-station-caption-casing" dy="-7px" layer="5"/>
+					<caption k="name" class="caption-core railway-station-caption-core" dy="-7px" layer="5"/>
+				</rule>
+			</rule>
+			<rule e="node|way" k="aeroway" v="aerodrome" layer="5">
+				<caption k="name" class="aeroway-aerodrome-caption" dy="-7.5px" layer="5"/>
+			</rule>
+			<rule e="node|way" k="aeroway" v="airport" layer="5">
+				<caption k="name" class="aeroway-airport-caption" dy="-12.5px" layer="5"/>
+			</rule>
+		</rule>
+	</rule>
+	
+	<!-- SVG Definitions - markers, symbols etc go here -->
+	<include ref="markers.xml"/>
+	<defs>
+		<style xmlns="http://www.w3.org/2000/svg" id="styles" type="text/css">
+			/* DO NOT DELETE - Used by osmarender.xsl */
+			.untagged-segments {
+			stroke-width: 0.5px;
+			stroke-linejoin: round;
+			stroke-linecap: butt;
+			stroke: #e0e0e0;
+			stroke-dasharray: 0.5,0.5;
+			}
+			
+			.canal-lock {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#canal-lock);
+			}
+			
+			/* Highways - generic styles */
+			.highway-casing {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.highway-core {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.highway-motorway-junction {
+			fill: yellow;
+			stroke: #4D5D73;
+			stroke-width: 1.5px;
+			}
+			
+			.highway-motorway-junction-caption {
+			fill: black;
+			stroke: black;
+			stroke-width: 0.2px;
+			font-family: "DejaVu Sans";
+			font-size: 10px;
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			.highway-ref {
+			fill: #606060;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			text-anchor: middle;
+			}
+			
+			.highway-name {
+			fill: black;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			text-anchor: middle;
+			}
+			
+			.bridge-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			marker-start: url(#bridge-casing-start);
+			marker-end: url(#bridge-casing-end);
+			}
+			
+			.bridge-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #ffffff;
+			fill: none;
+			}
+			
+			.tunnel-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.tunnel-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.tunnel { stroke-dasharray: 2.2, 2.2; }
+			
+			.railway-casing { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-1-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-2-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-core   { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+
+			.railway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			stroke: #b0b0b0;
+			stroke-width: 5px;
+			}
+
+			.railway-rail-casing                    { stroke-width: 3.0px; }
+			.railway-rail-1-core                    { stroke-width: 1.8px; }
+			.railway-rail-2-core                    { stroke-width: 1.8px; stroke-dasharray: 4.5,4.5; }
+			.railway-rail-casing-color              { stroke: #404040; }
+			.railway-rail-1-core-color              { stroke: #e6e6e6; }
+			.railway-rail-2-core-color              { stroke: #404040; }
+			.railway-rail-tunnel-core               { stroke-opacity: 0.15; }
+
+			.railway-narrow-casing                    { stroke-width: 2.4px; }
+			.railway-narrow-1-core                    { stroke-width: 1.7px; }
+			.railway-narrow-2-core                    { stroke-width: 1.7px; stroke-dasharray: 5.5,5.5; }
+			.railway-narrow-casing-color              { stroke: #404040; }
+			.railway-narrow-1-core-color              { stroke: #e6e6e6; }
+			.railway-narrow-2-core-color              { stroke: #404040; }
+			.railway-narrow-tunnel-core               { stroke-opacity: 0.15; }
+
+			.railway-preserved-casing                    { stroke-width: 2.4px; }
+			.railway-preserved-1-core                    { stroke-width: 1.7px; }
+			.railway-preserved-2-core                    { stroke-width: 1.7px; stroke-dasharray: 4.5,4.5; }
+			.railway-preserved-casing-color              { stroke: #909090; }
+			.railway-preserved-1-core-color              { stroke: #e6e6e6; }
+			.railway-preserved-2-core-color              { stroke: #505050; }
+			.railway-preserved-tunnel-core               { stroke-opacity: 0.15; }
+
+			.railway-light-casing                    { stroke-width: 2.4px; }
+			.railway-light-1-core                    { stroke-width: 1.7px; }
+			.railway-light-2-core                    { stroke-width: 1.7px; stroke-dasharray: 3.8,5.4; }
+			.railway-light-casing-color              { stroke: #095909; }
+			.railway-light-1-core-color              { stroke: #b7e6e6; }
+			.railway-light-2-core-color              { stroke: #095909; }
+			.railway-light-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-tram-casing                    { stroke-width: 2.4px; }
+			.railway-tram-1-core                    { stroke-width: 1.7px; }
+			.railway-tram-2-core                    { stroke-width: 1.7px; stroke-dasharray: 3.6,5.4; }
+			.railway-tram-casing-color              { stroke: #590959; }
+			.railway-tram-1-core-color              { stroke: #e6b7e6; }
+			.railway-tram-2-core-color              { stroke: #590959; }
+			.railway-tram-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-subway-casing                    { stroke-width: 2.4px; }
+			.railway-subway-1-core                    { stroke-width: 1.7px; }
+			.railway-subway-2-core                    { stroke-width: 1.7px; stroke-dasharray: 3.6,5.4; }
+			.railway-subway-casing-color              { stroke: #090959; }
+			.railway-subway-1-core-color              { stroke: #b7b7e6; }
+			.railway-subway-2-core-color              { stroke: #090959; }
+			.railway-subway-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-funicular-casing                    { stroke-width: 2.4px; }
+			.railway-funicular-1-core                    { stroke-width: 1.7px; stroke-dasharray: 3.6,5.4; }
+			.railway-funicular-t-core                    { stroke-width: 1.7px; }
+			.railway-funicular-2-core                    { stroke-width: 0.4px; }
+			.railway-funicular-casing-color              { stroke: #590909; }
+			.railway-funicular-1-core-color              { stroke: #e6b7b7; }
+			.railway-funicular-2-core-color              { stroke: #590909; }
+			.railway-funicular-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-monorail-casing                    { stroke-width: 2.4px; }
+			.railway-monorail-1-core                    { stroke-width: 1.7px; }
+			.railway-monorail-2-core                    { stroke-width: 0.4px; }
+			.railway-monorail-casing-color              { stroke: #590909; }
+			.railway-monorail-1-core-color              { stroke: #e6b7b7; }
+			.railway-monorail-2-core-color              { stroke: #ffffff; }
+			.railway-monorail-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-yard-casing                    { stroke-width: 1.6px; }
+			.railway-yard-1-core                    { stroke-width: 1.0px; }
+			.railway-yard-2-core                    { stroke-width: 1.0px; stroke-dasharray: 3,6; }
+			.railway-yard-casing-color              { stroke: #404040; }
+			.railway-yard-1-core-color              { stroke: #e6e6e6; }
+			.railway-yard-2-core-color              { stroke: #404040; }
+			.railway-yard-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-con-casing                { stroke-width: 2.4px; stroke-dasharray: 1.5,1.5; }
+			.railway-con-1-core                { stroke-width: 1.7px; }
+			.railway-con-2-core                { stroke-width: 1.7px; stroke-dasharray: 1.5,1.5,1.5,4.5; }
+			.railway-con-casing-color          { stroke: #606060; }
+			.railway-con-1-core-color          { stroke: #f2f2f2; }
+			.railway-con-2-core-color          { stroke: #606060; }
+			.railway-con-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-pla-casing                { stroke-width: 2.4px; stroke-dasharray: 1.5,1.5; }
+			.railway-pla-1-core                { stroke-width: 1.7px; }
+			.railway-pla-2-core                { stroke-width: 1.7px; stroke-dasharray: 1.5,1.5,1.5,4.5; }
+			.railway-pla-casing-color          { stroke: #b2b2b2; }
+			.railway-pla-1-core-color          { stroke: #ffffff; }
+			.railway-pla-2-core-color          { stroke: #b2b2b2; }
+			.railway-pla-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-dis-casing                { stroke-width: 1.6px; stroke-opacity: 0.7; }
+			.railway-dis-1-core                { stroke-width: 1.0px; stroke-opacity: 0.7; }
+			.railway-dis-2-core                { stroke-width: 1.0px; stroke-opacity: 0.7; stroke-dasharray: 4.5,4.5; }
+			.railway-dis-casing-color          { stroke: #808080; }
+			.railway-dis-1-core-color          { stroke: #f2f2f2; }
+			.railway-dis-2-core-color          { stroke: #808080; }
+			.railway-dis-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-aba-casing                { stroke-width: 1.6px; stroke-opacity: 0.4; }
+			.railway-aba-1-core                { stroke-width: 1.0px; stroke-opacity: 0.4; }
+			.railway-aba-2-core                { stroke-width: 1.0px; stroke-opacity: 0.4; stroke-dasharray: 4.5,4.5; }
+			.railway-aba-casing-color          { stroke: #b2b2b2; }
+			.railway-aba-1-core-color          { stroke: #ffffff; }
+			.railway-aba-2-core-color          { stroke: #b2b2b2; }
+			.railway-aba-tunnel-core               { stroke-opacity: 0.1; }
+			
+			.highway-motorway-casing                { stroke-width: 9.0px;   stroke: #202020; }
+			.highway-motorway-area-casing           { stroke-width: 1.0px; }
+			.highway-motorway-core                  { stroke-width: 8.0px;   stroke: #809BC0; }
+			.highway-motorway-area                  { fill: #809BC0; }
+			.highway-motorway-name                  { stroke-width: 0px;     font-size: 9px; }
+			.highway-motorway-ref                   { stroke-width: 0px;     font-size: 12px; }
+			
+			.highway-motorway-link-casing           { stroke-width: 6.5px;   stroke: #202020; }
+			.highway-motorway-link-area-casing      { stroke-width: 1.0px; }
+			.highway-motorway-link-core             { stroke-width: 5.5px;   stroke: #809BC0; }
+			.highway-motorway-link-area             { fill: #809BC0; }
+			.highway-motorway-link-name             { stroke-width: 0px;     font-size: 8px; }
+			.highway-motorway-link-ref              { stroke-width: 0px;     font-size: 12px; }
+
+			.highway-trunk-casing                   { stroke-width: 9.0px;   stroke: #202020; }
+			.highway-trunk-mr2-casing               { stroke-width: 12.0px;     stroke: #809BC0; }
+			.highway-trunk-mr3-casing               { stroke-width: 12.0px;     stroke: #FDBF6F; }
+			.highway-trunk-area-casing              { stroke-width: 1.0px; }
+			.highway-trunk-core                     { stroke-width: 8.0px;   stroke: #7FC97F; }
+			.highway-trunk-area                     { fill: #7FC97F; }
+			.highway-trunk-name                     { stroke-width: 0px;     font-size: 9px; }
+			.highway-trunk-ref                      { stroke-width: 0px;     font-size: 12px; }
+			
+			.highway-trunk-link-casing              { stroke-width: 5.5px;   stroke: #202020; }
+			.highway-trunk-link-mr2-casing          { stroke-width: 6.5px;     stroke: #809BC0; }
+			.highway-trunk-link-mr3-casing          { stroke-width: 6.5px;     stroke: #FDBF6F; }
+			.highway-trunk-link-area-casing         { stroke-width: 1.0px; }
+			.highway-trunk-link-core                { stroke-width: 4.5px;   stroke: #7FC97F; }
+			.highway-trunk-link-area                { fill: #7FC97F; }
+			.highway-trunk-link-name                { stroke-width: 0px;     font-size: 8px; }
+			.highway-trunk-link-ref                 { stroke-width: 0px;     font-size: 12px; }
+
+			.highway-primary-casing                 { stroke-width: 7.0px;   stroke: #202020; }
+			.highway-primary-mr2-casing               { stroke-width: 8.0px;     stroke: #809BC0; }
+			.highway-primary-area-casing            { stroke-width: 1.0px; }
+			.highway-primary-core                   { stroke-width: 6.0px;   stroke: #e46d71; }
+			.highway-primary-area                   { fill: #e46d71; }
+			.highway-primary-name                   { stroke-width: 0px;     font-size: 8px; }
+			.highway-primary-ref                    { stroke-width: 0px;     font-size: 12px; }
+
+			.highway-primary-link-casing            { stroke-width: 5.5px;   stroke: #202020; }
+			.highway-primary-link-mr2-casing        { stroke-width: 6.5px;     stroke: #809BC0; }
+			.highway-primary-link-area-casing       { stroke-width: 1.0px; }
+			.highway-primary-link-core              { stroke-width: 4.5px;   stroke: #e46d71; }
+			.highway-primary-link-area              { fill: #e46d71; }
+			.highway-primary-link-name              { stroke-width: 0px;     font-size: 8px; }
+			.highway-primary-link-ref               { stroke-width: 0px;     font-size: 12px; }
+
+			.highway-secondary-casing               { stroke-width: 7.0px;   stroke: #202020; }
+			.highway-secondary-mr2-casing           { stroke-width: 8.0px;     stroke: #809BC0; }
+			.highway-secondary-area-casing          { stroke-width: 1.0px; }
+			.highway-secondary-core                 { stroke-width: 6.0px;   stroke: #FDBF6F; }
+			.highway-secondary-area                 { fill: #FDBF6F; }
+			.highway-secondary-name                 { stroke-width: 0px;     font-size: 8px; }
+			.highway-secondary-ref                  { stroke-width: 0px;     font-size: 12px; }
+
+			.highway-secondary-link-casing          { stroke-width: 5.5px;   stroke: #202020; }
+			.highway-secondary-link-mr2-casing      { stroke-width: 6.5px;     stroke: #809BC0; }
+			.highway-secondary-link-area-casing     { stroke-width: 1.0px; }
+			.highway-secondary-link-core            { stroke-width: 4.5px;   stroke: #FDBF6F; }
+			.highway-secondary-link-area            { fill: #FDBF6F; }
+			.highway-secondary-link-name            { stroke-width: 0px;     font-size: 8px; }
+			.highway-secondary-link-ref             { stroke-width: 0px;     font-size: 12px; }
+
+			.highway-tertiary-casing                { stroke-width: 5.5px;   stroke: #202020; }
+			.highway-tertiary-mr2-casing            { stroke-width: 6.5px;     stroke: #809BC0; }
+			.highway-tertiary-area-casing           { stroke-width: 1.0px; }
+			.highway-tertiary-core                  { stroke-width: 4.5px;   stroke: #ffff90; }
+			.highway-tertiary-area                  { fill: #ffff90; }
+			.highway-tertiary-name                  { stroke-width: 0px;     font-size: 8px; }
+			.highway-tertiary-ref                   { stroke-width: 0px;     font-size: 10px; }
+
+			.highway-tertiary-link-casing           { stroke-width: 5.5px;   stroke: #202020; }
+			.highway-tertiary-link-mr2-casing       { stroke-width: 6.5px;     stroke: #809BC0; }
+			.highway-tertiary-link-area-casing      { stroke-width: 1.0px; }
+			.highway-tertiary-link-core             { stroke-width: 4.5px;   stroke: #ffff90; }
+			.highway-tertiary-link-area             { fill: #ffff90; }
+			.highway-tertiary-link-name             { stroke-width: 0px;     font-size: 8px; }
+			.highway-tertiary-link-ref              { stroke-width: 0px;     font-size: 10px; }
+			
+			.highway-unclassified-casing            { stroke-width: 4.5px;   stroke: #101010; }
+			.highway-unclassified-area-casing       { stroke-width: 1.0px; }
+			.highway-residential-casing             { stroke-width: 4.2px;   stroke: #101010; }
+			.highway-residential-area-casing        { stroke-width: 0.7px; }
+			.highway-unclassified-core              { stroke-width: 3.5px;   stroke: #ffffff; }
+			.highway-ford-core                      { stroke-width: 3.5px;   stroke: #b5d6f1; stroke-linecap: butt; }
+			.highway-unclassified-area              { fill: #ffffff; }
+			.highway-unclassified-name              { stroke-width: 0px;     font-size: 9px; }
+			.highway-unclassified-ref               { stroke-width: 0px;     font-size: 8px; }
+			.highway-road-core                      { stroke-width: 3.5px;   stroke: #d0d0d0; }
+			.highway-road-area                      { fill: #d0d0d0; }
+			
+			.highway-service-casing                 { stroke-width: 2.0px;   stroke: #202020; }
+			.highway-service-area-casing            { stroke-width: 0.2px; }
+			.highway-service-core                   { stroke-width: 1.8px;   stroke: #ffffff; }
+			.highway-service-area                   { fill: #ffffff; }
+			.highway-service-name                   { stroke-width: 0px;     font-size: 8px; }
+			.highway-service-ref                    { stroke-width: 0px;     font-size: 8px; }
+			
+			.highway-unsurfaced-casing              { stroke-width: 3.2px;   stroke: #202020; stroke-dasharray: 2, 1; stroke-linecap: butt; }
+			.highway-unsurfaced-area-casing         { stroke-width: 0.2px; stroke-dasharray: 2, 1; stroke-linecap: butt; }
+			.highway-unsurfaced-core                { stroke-width: 3.0px;   stroke: #ffffff; }
+			.highway-unsurfaced-area                { fill: #ffffff; }
+			.highway-unsurfaced-name                { stroke-width: 0px;     font-size: 4.5px; }
+			.highway-unsurfaced-ref                 { stroke-width: 0px;     font-size: 4.5px; }
+			
+			.highway-track-casing                   { stroke-width: 2.0px;   stroke: #fff2de; stroke-opacity: 0.75; }
+			.highway-track-area-casing              { stroke-width: 0.4px;   }
+			.highway-track-core                     { stroke-width: 1.6px;   stroke: #d79331; }
+			.highway-track-area                     { fill: #fff2de; }
+			.highway-track-name                     { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-track-ref                      { stroke-width: 0px;     font-size: 2.5px; }
+
+			.highway-track-gradex-core            { stroke-dasharray: 8, 3; stroke-linecap: butt; }
+			.highway-track-grade1-core            { }
+			.highway-track-grade2-core            { stroke-dasharray: 6, 4; stroke-linecap: butt; }
+			.highway-track-grade3-core            { stroke-dasharray: 3, 4; stroke-linecap: butt; }
+			.highway-track-grade4-core            { stroke-dasharray: 3, 3, 1, 3; stroke-linecap: butt; }
+			.highway-track-grade5-core            { stroke-dasharray: 1, 3; stroke-linecap: butt; }
+
+			.highway-byway-casing                   { stroke-width: 2.0px;   stroke: #efadaa; }
+			.highway-byway-area-casing              { stroke-width: 0.4px;   }
+			.highway-byway-core                     { stroke-width: 1.6px;   stroke: #bf514d; stroke-dasharray: 6, 4; stroke-linecap: butt; }
+			.highway-byway-area                     { fill: #efadaa; }
+			.highway-byway-name                     { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-byway-ref                      { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-bridleway-casing               { stroke-width: 2.0px;   stroke: #e6dda5; }
+			.highway-bridleway-area-casing          { stroke-width: 0.4px;   }
+			.highway-bridleway-core                 { stroke-width: 1.6px;   stroke: #8fbf4d; stroke-dasharray: 3, 4; stroke-linecap: butt; }
+			.highway-bridleway-area                 { fill: #e6dda5; }
+			.highway-bridleway-name                 { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-bridleway-ref                  { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-cycleway-casing                { stroke-width: 2.0px;   stroke: #d1fad1; }
+			.highway-cycleway-area-casing           { stroke-width: 0.4px;   }
+			.highway-cycleway-core                  { stroke-width: 1.6px;   stroke: #4dbf4d; stroke-dasharray: 3, 4; stroke-linecap: butt; }
+			.highway-cycleway-area                  { fill: #d1fad1; }
+			.highway-cycleway-name                  { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-cycleway-ref                   { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-cycleroad-casing               { stroke-width: 4.2px;  stroke: #707070; }
+			.highway-cycleroad-area-casing          { stroke-width: 0.7px; }
+			.highway-cycleroad-core-3               { stroke-width: 3.5px;   stroke: #d1fad1; }
+			.highway-cycleroad-area-3               { fill: #d1fad1; }
+
+			.highway-pedestrian-casing              { stroke-width: 4.2px;   stroke: #707070; }
+			.highway-pedestrian-area-casing         { stroke-width: 0.7px; }
+			.highway-pedestrian-core                { stroke-width: 3.5px;   stroke: #e5e0c2; }
+			.highway-pedestrian-area                { fill: #e5e0c2; }
+			.highway-pedestrian-name                { stroke-width: 0px;     font-size: 2px; }
+			.highway-pedestrian-ref                 { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-footway-casing                 { stroke-width: 2.0px;   stroke: #e5e0c2; }
+			.highway-footway-area-casing            { stroke-width: 0.4px;   }
+			.highway-footway-core                   { stroke-width: 1.6px;   stroke: #bfba4d; stroke-dasharray: 3, 4; stroke-linecap: butt; }
+			.highway-footway-area                   { fill: #e5e0c2; }
+			.highway-footway-name                   { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-footway-ref                    { stroke-width: 0px;     font-size: 2.5px; }
+			
+			/* render unmarked paths in the same color as highway=road */
+			.highway-path-casing                 { stroke-width: 2.0px;   stroke: #e6e6e6; }
+			.highway-path-area-casing            { stroke-width: 0.4px;   }
+			.highway-path-core                   { stroke-width: 1.6px;   stroke: #909090; stroke-dasharray: 3, 4; stroke-linecap: butt; }
+			.highway-path-area                   { fill: #e6e6e6; }
+			
+			.highway-steps-casing                   { stroke-width: 2.0px;   stroke: #e5e0c2; }
+			.highway-steps-area-casing              { stroke-width: 0.4px;   }
+			.highway-steps-core                     { stroke-width: 1.6px;   stroke: #bfba4d; stroke-dasharray: 1, 3; stroke-linecap: butt; }
+			.highway-steps-area                     { fill: #e5e0c2; }
+			.highway-steps-name                     { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-steps-ref                      { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-scramble-core                  { stroke-width: 0.6px;   stroke: #707070; stroke-dasharray: 6.4, 1.6; stroke-linecap: butt;}
+			
+			/* Aeroways */
+			.aeroway-aerodrome {
+			stroke-width: 1px;
+			stroke: #000000;
+			fill: #d8dcce;
+			}
+
+			.aeroway-apron {
+			stroke-width: 0.6px;
+			stroke: none;
+			fill: #f0f0f0;
+			}
+			
+			.aeroway-taxiway-casing {
+			stroke-width: 6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #000000;
+			fill: none;
+			}
+			
+			.aeroway-taxiway-core {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #d4dcbd;
+			fill: none;
+			}
+			
+			.aeroway-runway-core {
+			stroke-width: 10px;
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			stroke: #d4dcbd;
+			fill: none;
+			}
+			
+			.aeroway-runway-casing {
+			stroke-width: 14px;
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			stroke: #000000;
+			fill: none;
+			}
+			
+			.aeroway-aerodrome-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.6px;
+			font-family: "DejaVu Sans";
+			font-size: 12px;
+			font-weight: bold;
+			}
+			
+			.aeroway-airport-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.6px;
+			font-family: "DejaVu Sans";
+			font-size: 20px;
+			font-weight: bold;
+			}
+			
+			
+			/* Waterways */
+			.waterway-name-casing {
+			stroke: #303030;
+			fill: white;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.waterway-name-core {
+			stroke: green;
+			fill: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.waterway-casing {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b0b0b0;
+			fill: none;
+			}
+			
+			.waterway-core {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b5d6f1;
+			fill: none;
+			}
+			
+			.waterway-riverbank {
+			fill: #b5d6f1;
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+			
+			.waterway-lock-casing                   { stroke: #000000; stroke-width: 6.0px; stroke-linecap: butt; }
+			.waterway-lock-core                     { stroke: #f8f8f8; stroke-width: 5.0px; stroke-linecap: butt; }
+
+			.waterway-river-casing                  { stroke-width: 4px; }
+			.waterway-river-core                    { stroke-width: 4px; }
+			.waterway-river-tunnel-core             { stroke-width: 3px; stroke-dasharray: 6, 6; }
+			.waterway-river-name-casing             { font-size: 6px; stroke-width: 0.4px;}
+			.waterway-river-name-core               { font-size: 6px; }
+			
+			.waterway-stream-casing                 { stroke-width: 1px; }
+			.waterway-stream-core-ephemeral         { stroke-width: 1px; stroke-dasharray: 1.6, 1.6; stroke-linecap: butt; }
+			.waterway-stream-core-intermittent      { stroke-width: 1px; stroke-dasharray: 2.4, 0.8; stroke-linecap: butt; }
+			.waterway-stream-core                   { stroke-width: 1px; }
+			.waterway-stream-tunnel-core            { stroke-width: 0.75px; stroke-dasharray: 3, 3; }
+			.waterway-stream-name-casing            { font-size: 3px; stroke-width: 0.2px;}
+			.waterway-stream-name-core              { font-size: 3px; }
+			
+			.waterway-canal-casing                  { stroke-width: 4px; }
+			.waterway-canal-core                    { stroke-width: 4px; }
+			.waterway-canal-tunnel-core             { stroke-width: 3px; stroke-dasharray: 6, 6; }
+			.waterway-canal-name-casing             { font-size: 6px; stroke-width: 0.4px;}
+			.waterway-canal-name-core               { font-size: 6px; }
+			
+			.waterway-drain-casing                  { stroke-width: 2.3px; }
+			.waterway-drain-core                    { stroke-width: 2.3px; }
+			.waterway-drain-tunnel-core             { stroke-width: 1.8px; stroke-dasharray: 3.5, 3.5; }
+			.waterway-drain-name-casing             { font-size: 3px; stroke-width: 0.2px;}
+			.waterway-drain-name-core               { font-size: 3px; }
+			
+			.waterway-ditch-casing                  { stroke-width: 0.3px; }
+			.waterway-ditch-core                    { stroke-width: 0.3px; }
+			.waterway-ditch-tunnel-core             { stroke-width: 0.275px; stroke-dasharray: 3, 3; }
+			.waterway-ditch-name-casing             { font-size: 3px; stroke-width: 0.2px;}
+			.waterway-ditch-name-core               { font-size: 3px; }
+
+			.waterway-dam {
+			stroke: #000000;
+			stroke-width: 0.375px;
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			}
+			.waterway-weir {
+			stroke: #000044;
+			stroke-width: 0.25px;
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			}
+			
+			
+			/* Generic under-construction style - makes any way dashed */
+			.under-construction { stroke-dasharray: 8, 10; }
+			.wrong-under-construction { stroke-width: 4px; stroke: #ffffff; stroke-dasharray: 10, 10; fill:none; }
+
+			
+			/* Ferry */
+			.route-ferry {
+			stroke-width: 1px;
+			stroke-dasharray: 6,4;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			}
+			
+			
+			/* Place names */
+			/* General style for captions */
+			.place-caption {
+			fill: black;
+			stroke: none;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			.caption-casing {
+			fill: white;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.caption-core {
+			stroke: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.city-caption           { font-size: 14px; opacity: 0.5; }
+			.town-caption           { font-size: 12px; }
+			.peak-caption           { font-size: 8px; }
+			.cave-caption           { font-size: 8px; }
+			.island-caption         { font-size: 10px; opacity: 0.5; }
+			.islet-caption          { font-size: 8px; }
+			.village-caption        { font-size: 10px; }
+			.suburb-caption         { font-size: 10px; }
+			.hamlet-caption         { font-size: 8px;  }
+			.locality-caption       { font-size: 8px; }
+			.farm-caption           { font-size: 6px;  }
+			
+			.largefeature-caption-casing        { stroke-width: 2.5px; font-size: 5px; }
+			.largefeature-caption-core          { fill: #4040ff;       font-size: 5px; }
+			
+			/* Natural */
+			.natural-water {
+			fill: #b5d6f1;
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+			
+			.natural-water-marsh {
+			fill: url(#marsh-pattern);
+			stroke: #007fff;
+			stroke-width: 0px;
+			}
+			
+			.natural-coastline {
+			fill: #b5d6f1;
+			stroke: #b5d6f1;
+			stroke-width: 0.8px;
+			}
+
+			.natural-glacier {
+			fill: #fafaff;
+			stroke: lightblue;
+			stroke-width: 0.8px;
+			}
+			
+			.natural-land {
+			fill: #f8f8f8;
+			stroke: #e0e0e0;
+			stroke-width: 0.2px;
+			}
+			
+			.natural-heath {
+			fill: #ffffc0;
+			stroke: #ffff90;
+			stroke-width: 0.2px;
+			}
+			
+			.wetland-bog {
+			fill: #946e50;
+			stroke: #3f1f06;
+			stroke-width: 0.2px;
+			}
+			
+			.natural-beach {
+			fill: #eecc55;
+			stroke: none;
+			}
+			
+			/* Landuse */
+			.landuse-wood {
+			fill: #6fc18e;
+			stroke: #6fc18e;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-wood-coniferous {
+			fill: url(#wood-coniferous-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-wood-deciduous {
+			fill: url(#wood-deciduous-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-wood-mixed {
+			fill: url(#wood-mixed-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-cemetery {
+			fill: url(#cemetery-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-cemetery-christian {
+			fill: url(#cemetery-christian-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-vineyard {
+			fill: url(#vineyard-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-field {
+			fill: #ebfff2;
+			stroke: #9ee673;
+			stroke-width: 0.2px;
+			}
+			.landuse-allotment-village {
+			fill: #bde3cb;
+			stroke: #6fc13d;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-residential {
+			stroke: none;
+			fill: #e4e4e4;
+			}
+			
+			.landuse-industrial {
+			fill: #ecd8ff;
+			stroke: #e4e4e4;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-construction {
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			fill: #a47c41;
+			}
+			
+			.landuse-commercial {
+			fill: #ffffc0;
+			stroke: #e4e4e4;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-quarry {
+			fill: #e9dd72;
+			stroke: #556b2f;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-retail {
+			fill: #ffebeb;
+			stroke: #e4e4e4;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-runway {
+			stroke-width: 0.6px;
+			stroke: #808080;
+			fill: #d4dcbd;
+			}
+			
+			.landuse-runway-disused {
+			stroke-width: 0.6px;
+			stroke: #808080;
+			fill: #d4dcbd;
+			stroke-dasharray: 2, 2;
+			}
+			
+			.landuse-runway-dismantled {
+			stroke-width: 0.6px;
+			stroke: #808080;
+			fill: #fcffef;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			.artificial-pier-area {
+			stroke: #d0d0d0;
+			stroke-width: 0.1px;
+			fill: #e4e4e4;
+			}
+
+			.artificial-pier-core {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #e4e4e4;
+			fill: none;
+			}
+			
+			.artificial-pier-casing {
+			stroke-width: 0.8px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #d0d0d0;
+			fill: none;
+			}
+			
+			.landuse-conservation {
+			fill: #cfeca8;
+			stroke: #6fc18e;
+			stroke-width: 0.4px
+			}
+			
+			/* Leisure */
+			.leisure-park {
+			fill: #c7f1a3;
+			stroke: #6fc18e;
+			stroke-width: 0.4px;
+			}
+			
+			.leisure-stadium {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.4px;
+			}
+			
+			.leisure-track-area {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.05px;
+			}
+			
+			.leisure-track-casing {
+			fill: none;
+			stroke: #6fc18e;
+			stroke-width: 1.6px;
+			}
+			
+			.leisure-track-core {
+			fill: none;
+			stroke: #bde3cb;
+			stroke-width: 1.5px;
+			}
+			
+			.leisure-swimming-pool {
+			fill: #b5d6f1;
+			stroke: #6060ff;
+			stroke-width: 0.2px;
+			}
+			
+			.leisure-national_park {
+			fill: url(#national-park-pattern);
+			}
+			.leisure-nature_reserve {
+			fill: url(#nature-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.leisure-landscape_reserve {
+			fill: url(#landscape-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.sport {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.4px;
+			}
+			
+			.sport-swimming {
+			fill: #b5d6f1;
+			stroke: #6060ff;
+			stroke-width: 0.2px;
+			}
+			
+			.sport-tennis {
+			fill: #d18a6a;
+			stroke: #B36C4C;
+			stroke-width: 0.2px;
+			}
+			
+			.amenity-parking {
+			fill: #ffffc0;
+			stroke: #e9dd72;
+			stroke-width: 0.4px;
+			}
+			
+			.amenity-school {
+			fill: #cdabde;
+			stroke: #e9dd72;
+			stroke-width: 0.4px;
+			}
+			
+			
+			/* Non-physical boundaries */
+			.boundary {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.boundary-level-1-casing {
+			stroke-width: 14px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+			
+			.boundary-level-1-core {
+			stroke-width: 2px;
+			stroke: #f9574b;
+			stroke-dasharray: 12, 4, 4, 4;
+			}
+			
+			.boundary-level-2-casing {
+			stroke-width: 6px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+			
+			.boundary-level-2-core {
+			stroke-width: 2px;
+			stroke: #f9574b;
+			stroke-dasharray: 12, 12;
+			}
+			
+			.boundary-level-3-core {
+			stroke-width: 2px;
+			stroke: #f9574b;
+			}
+			
+			.boundary-level-4-core {
+			stroke-width: 2px;
+			stroke: #f9574b;
+			stroke-dasharray: 12, 4, 4, 4;
+			}
+			
+			.boundary-level-5-core {
+			stroke-width: 2px;
+			stroke: #f9574b;
+			stroke-dasharray: 12, 12;
+			}
+			
+			.boundary-level-6-core {
+			stroke-width: 2px;
+			stroke: #f9574b;
+			stroke-dasharray: 4, 20;
+			}
+			
+			.boundary-nationalpark-core {
+			stroke-width: 2px;
+			stroke: #4ef94b;
+			stroke-dasharray: 12, 4, 4, 4;
+			}
+			
+			
+			/* Racetracks */
+			.highway-raceway-casing {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #101010;
+			}
+			
+			.highway-raceway-casing-disused {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 2, 2;
+			}
+			
+			.highway-raceway-casing-dismantled {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			.highway-raceway-core {
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-raceway-core-disused {
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke-dasharray: 2, 2;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-raceway-core-dismantled {
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ffffff;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			.landuse-raceway {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #101010;
+			}
+			
+			.landuse-raceway-disused {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #808080;
+			stroke-dasharray: 2, 2;
+			}
+			
+			.landuse-raceway-dismantled {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #ffffff;
+			stroke: #808080;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			
+			.railway-station                        { fill: #ec2d2d;        stroke: #606060; stroke-width: 1px; }
+			.railway-station-caption-casing         { stroke-width: 1px;    font-size: 10px; }
+			.railway-station-caption-core           { fill: #ec2d2d;        font-size: 10px; }
+			
+			.railway-halt                           { fill: #ec2d2d;        stroke: #606060; stroke-width: 0.4px; }
+			.railway-halt-caption-casing            { stroke-width: 0.8px;  font-size: 8px; }
+			.railway-halt-caption-core              { fill: #ec2d2d;        font-size: 8px; }
+			
+			
+			/* Tourism */
+			.tourism-attraction {
+			fill: #f2caea;
+			stroke: #ff00ff;
+			stroke-width: 0px;
+			}
+			.tourism-green-area {
+			fill: #c7f1a3;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.tourism-attraction-caption {
+			fill: #ff00ff;
+			stroke: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-size: 3px;
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			
+			.generic-caption-casing              { stroke-width: 1px;   font-size: 2px; }
+			.generic-caption-core                { fill: #4040ff;        font-size: 2px; }
+			
+			.generic-poi {
+			fill: #4040ff;
+			stroke: #606060;
+			stroke-width: 0.2px;
+			}
+			
+			/* Building */
+			.building {
+			fill: #e0e0e0;
+			stroke: #d0d0d0;
+			stroke-width: 0.1px;
+			}
+			
+			.building-block {
+			fill: #F3D6B6;
+			stroke: #6a5a8e;
+			stroke-width: 0.1px;
+			}
+			
+			.building-residential {
+			fill: #c95e2a;
+			stroke: #800000;
+			stroke-width: 0.1px;
+			}
+			
+			
+			/* Aerialway */
+			
+			.aerialway-line {
+			fill: none;
+			stroke: #202020;
+			stroke-width: 0.4px;
+			}
+			
+			.aerialway-struts {
+			fill: none;
+			stroke: #202020;
+			stroke-width: 4px;
+			stroke-dasharray: 0.4,20;
+			stroke-linecap: butt;
+			}
+			
+			.aerialway-station {
+			fill: #ec2d2d;  
+			stroke: #606060;
+			stroke-width: 0.4px; 
+			}
+			
+			.aerialway-name {
+			fill: black;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 7px;
+			stroke: none;
+			text-anchor: middle;
+			}
+			
+			.military-area {
+			fill: url(#military-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			/* Piste maps */
+			.piste-core {
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke-width: 5px;
+			opacity: 0.66;
+			}
+			
+			.piste-area {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke-width: 5px;
+			opacity: 0.66;
+			}
+			
+			.piste-difficulty-novice       { stroke: #40ff40; }
+			.piste-difficulty-easy         { stroke: #4040ff; }
+			.piste-difficulty-intermediate { stroke: #ff4040; }
+			.piste-difficulty-advanced     { stroke: #000000; }
+			.piste-difficulty-expert       { stroke: #f6800a; }
+			.piste-difficulty-freeride     { stroke: #f6dd0a; }
+			.piste-difficulty-other        { stroke: #505050; }
+			.piste-area-difficulty-novice       { stroke: #40ff40; fill: #40ff40; }
+			.piste-area-difficulty-easy         { stroke: #4040ff; fill: #4040ff; }
+			.piste-area-difficulty-intermediate { stroke: #ff4040; fill: #ff4040; }
+			.piste-area-difficulty-advanced     { stroke: #000000; fill: #000000; }
+			.piste-area-difficulty-expert       { stroke: #f6800a; fill: #f6800a; }
+			.piste-area-difficulty-freeride     { stroke: #f6dd0a; fill: #f6dd0a; }
+			.piste-area-difficulty-other        { stroke: #505050; fill: #505050; }
+			
+			.piste-type-sled {
+			fill: none;
+			stroke: #cdabde;
+			stroke-width: 2.5px;
+			marker-start:url(#marker-piste-type-sled);
+			}
+			
+			.piste-type-nordic {
+			fill: none;
+			stroke: #c00000;
+			stroke-width: 1px;
+			stroke-dasharray: 3,0.5;
+			stroke-linejoin: bevel;
+			stroke-linecap: butt;
+			marker-start:url(#marker-piste-type-nordic);
+			}
+			
+			.man-made-piste-halfpipe {
+			fill: #a0f0ff;
+			stroke: #00bcdf;
+			stroke-width: 0.4px;
+			}
+			
+			.man_made-wastewater {
+			fill: #e4e4e4;
+			}
+			
+			/* Power line */
+			.powerline-pipeline-casing {
+			stroke-width: 0.4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #ffffff;
+			stroke-opacity: 0.5;
+			fill: none;
+			}
+			.power-line {
+			stroke-width: 0.8px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #808080;
+			stroke-dasharray: 16, 8;
+			fill: none;
+			}
+			/* Power Generator */
+			.power-wind {
+			fill: url(#power-wind-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-hydro {
+			fill: url(#power-hydro-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-photovoltaic {
+			fill: url(#power-photovoltaic-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-generic {
+			fill: url(#power-generic-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+
+			.reservoir-evaporator {
+			fill: url(#reservoir-evaporator-pattern);
+			stroke: none;
+			}
+
+			.reservoir-cooling {
+			fill: url(#reservoir-cooling-pattern);
+			stroke: none;
+			}
+
+			.reservoir-sewage {
+			fill: url(#reservoir-sewage-pattern);
+			stroke: none;
+			}
+
+			.reservoir-tailings {
+			fill: url(#reservoir-tailings-pattern);
+			stroke: none;
+			}
+
+			.basin-infiltration {
+			fill: url(#basin-infiltration-pattern);
+			stroke: none;
+			}
+			.basin-detention {
+			fill: url(#basin-detention-pattern);
+			stroke: none;
+			}
+			.basin-retention {
+			fill: url(#basin-retention-pattern);
+			stroke: none;
+			}
+
+			/* Area captions */
+			.park-name {
+			fill: #404040;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			font-size: 4.5px;
+			stroke-width: 0.0px;
+			}
+			
+			.landuse-reservoir-name {
+			fill: #404040;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			font-size: 4.5px;
+			stroke-width: 0.0px;
+			}
+			
+			
+			/* Oneway */
+			.oneway-casing {
+			fill: none;
+			stroke-linecap: butt;
+			stroke: #707070;
+			}
+			
+			.oneway-core {
+			fill: none;
+			stroke-linecap: butt;
+			stroke: #ffffff;
+			}
+			
+			.oneway-casing-1 {
+			stroke-width: 0.4px;
+			stroke-dasharray: 4.2,55.8;
+			stroke-dashoffset: 46.2;
+			}
+			
+			.oneway-casing-2 {
+			stroke-width: 0.95px;
+			stroke-dasharray: 0.6,59.4;
+			stroke-dashoffset: 43.4;
+			}
+			
+			.oneway-casing-3 {
+			stroke-width: 0.8px;
+			stroke-dasharray: 0.6,59.4;
+			stroke-dashoffset: 43.2;
+			}
+			
+			.oneway-casing-4 {
+			stroke-width: 0.65px;
+			stroke-dasharray: 0.8,59.2;
+			stroke-dashoffset: 43.2;
+			
+			}
+			
+			.oneway-casing-5 {
+			stroke-width: 0.5px;
+			stroke-dasharray: 1.0,59;
+			stroke-dashoffset: 43.2;
+			}
+			
+			.oneway-casing-6 {
+			stroke-width: 0.35px;
+			stroke-dasharray: 1.2,58.8;
+			stroke-dashoffset: 43.2;
+			}
+			
+			.oneway-casing-7 {
+			stroke-width: 0.2px;
+			stroke-dasharray: 1.4,58.6;
+			stroke-dashoffset: 43.2;
+			}
+			
+			.oneway-casing-8 {
+			stroke-width: 0.1px;
+			stroke-dasharray: 1.6,58.4;
+			stroke-dashoffset: 43.2;
+			}
+			
+			.oneway-core-1 {
+			stroke-width: 0.2px;
+			stroke-dasharray: 4,56;
+			stroke-dashoffset: 46;
+			}
+			
+			.oneway-core-2 {
+			stroke-width: 0.85px;
+			stroke-dasharray: 0.4,59.6;
+			stroke-dashoffset: 43.2;
+			}
+			
+			.oneway-core-3 {
+			stroke-width: 0.7px;
+			stroke-dasharray: 0.6,59.4;
+			stroke-dashoffset: 43.2;
+			}
+			
+			.oneway-core-4 {
+			stroke-width: 0.55px;
+			stroke-dasharray: 0.8,59.2;
+			stroke-dashoffset: 43.2;
+			}
+			
+			.oneway-core-5 {
+			stroke-width: 0.4px;
+			stroke-dasharray: 1.0,59;
+			stroke-dashoffset: 43.2;
+			}
+			
+			.oneway-core-6 {
+			stroke-width: 0.25px;
+			stroke-dasharray: 1.2,58.8;
+			stroke-dashoffset: 43.2;
+			}
+			
+			.oneway-core-7 {
+			stroke-width: 0.1px;
+			stroke-dasharray: 1.4,58.6;
+			stroke-dashoffset: 43.2;
+			}
+			
+			.otherway {
+			fill: none;
+			stroke: red;
+			stroke-width: 2px;
+			stroke-opacity: 0;
+			/* marker-start: url(#marker-otherway-start); */
+			marker-end: url(#marker-otherway-end);
+			}
+			
+			
+			/* Map decoration */
+			.map-grid-line {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0.5;
+			}
+			
+			.map-border-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 3px;
+			stroke-miterlimit: 4;
+			stroke-dasharray: none;
+			stroke-opacity: 1;
+			stroke-linecap: round;
+			}
+			
+			.map-border-core {
+			fill: none;
+			fill-opacity: 1;
+			fill-rule: nonzero;
+			stroke: #ffffff;
+			stroke-width: 2px;
+			stroke-miterlimit: 0;
+			stroke-dashoffset: -0.5px;
+			stroke-opacity: 1;
+			}
+			
+			.map-scale-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-core {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-bookend {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 1px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-caption {
+			font-family: "DejaVu Sans";
+			font-size: 10px;
+			fill: #8080ff;
+			}
+			
+			<!-- map background must be the same for all zooms or else empty tile detection will fail -->
+			.map-background {
+			fill: #f8f8f8;
+			stroke: none;
+			}
+			
+			.map-title {
+			font-family: "DejaVu Sans";
+			font-size: 20px;
+			text-anchor: middle;
+			fill: black;
+			}
+			
+			.map-title-background {
+			fill: white;
+			}
+			
+			.map-marginalia-background {
+			fill: white;
+			}
+			
+			.highway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			}
+			
+			/* Osmarender built-in styles - do not remove */
+			.osmarender-stroke-linecap-round { stroke-linecap: round; }
+			.osmarender-stroke-linecap-butt { stroke-linecap: butt; }
+			.osmarender-mask-black { stroke: black; }
+			.osmarender-mask-white { stroke: white; }
+			.osmarender-no-marker-start { marker-start: none; }
+			.osmarender-no-marker-end { marker-end: none; }
+			
+		</style>
+		
+		<svg:pattern x="0" y="0" width="200" height="200" id="wood-deciduous-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.10)">
+			<svg:rect fill="#6fc18e" width="205" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 27,1 C 20,1 13,7 13,14 C 13,16 13,18 15,20 C 11,22 8,26 8,29 C 8,36 16,43 28,43 L 28,63 L 37,63 L 37,43 C 48,43 57,36 57,29 C 57,26 55,23 52,21 C 55,14 45,4 37,6 C 36,3 33,1 27,1"/>
+			<svg:path fill="#2b743f" d="M 77,101 C 70,101 63,107 63,114 C 63,116 63,118 65,120 C 61,122 58,126 58,129 C 58,136 66,143 78,143 L 78,163 L 87,163 L 87,143 C 98,143 107,136 107,129 C 107,126 105,123 102,121 C 105,114 95,104 87,106 C 86,103 83,101 77,101"/>
+		</svg:pattern>
+		<svg:pattern x="0" y="0" width="200" height="200" id="wood-coniferous-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.10)">
+			<svg:rect fill="#6fc18e" width="205" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 15,24 L 25,24 L 10,39 L 25,39 L 5,54 L 25,54 L 25,64 L 35,64 L 35,54 L 55,54 L 35,39 L 50,39 L 35,24 L 45,24 L 30,4 L 15,24"/>
+			<svg:path fill="#2b743f" d="M 65,124 L 75,124 L 60,139 L 75,139 L 55,154 L 75,154 L 75,164 L 85,164 L 85,154 L 105,154 L 85,139 L 100,139 L 85,124 L 95,124 L 80,104 L 65,124"/>
+		</svg:pattern>
+		<svg:pattern x="0" y="0" width="300" height="200" id="wood-mixed-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.10)">
+			<svg:rect fill="#6fc18e" width="305" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 27,1 C 20,1 13,7 13,14 C 13,16 13,18 15,20 C 11,22 8,26 8,29 C 8,36 16,43 28,43 L 28,63 L 37,63 L 37,43 C 48,43 57,36 57,29 C 57,26 55,23 52,21 C 55,14 45,4 37,6 C 36,3 33,1 27,1"/>
+			<svg:path fill="#2b743f" d="M 65,54 L 75,54 L 60,69 L 75,69 L 55,84 L 75,84 L 75,94 L 85,94 L 85,84 L 105,84 L 85,69 L 100,69 L 85,54 L 95,54 L 80,34 L 65,54"/>
+			<svg:path fill="#2b743f" d="M 165,104 L 175,104 L 160,119 L 175,119 L 155,134 L 175,134 L175,144 L 185,144 L 185,134 L 205,134 L 185,119 L 200,119 L 185,104 L 195,104 L 180,84 L 165,104"/>
+			<svg:path fill="#2b743f" d="M 227,101 C 220,101 213,107 213,114 C 213,116 213,118 215,120 C 211,122 208,126 208,129 C 208,136 216,143 228,143 L 228,163 L 237,163 L 237,143 C 248,143 257,136 257,129 C 257,126 255,123 252,121 C 255,114 245,104 237,106 C 236,103 233,101 227,101"/>
+		</svg:pattern>
+		
+		<svg:pattern id="marsh-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.3)">
+			<svg:path stroke="#007fff" stroke-width="0.2" stroke-linecap="round" d="M 0,4 C 1.33,4 2.67,4 4,4 M 2,4 C 2,3 2,2 2,1 M 3,3 L 2,4 M 3,2 L 2,4 M 1,3 L 2,4 M 1,2 L 2,4 M 7,9 L 10,9 M 2,9 C 3,9 4,9 5,9 M 6,4 C 6.71,4 7.35,4 8,4 M 2,6 C 2.67,6 3.33,6 4,6 M 7,1 C 7.70,1 8.33,1 9,1 M 0,9 L 1,9 M 9,6 L 9,9 M 10,7 L 9,9 M 10,8 L 9,9 M 8,8 L 9,9 M 8,7 L 9,9"/>
+		</svg:pattern>
+		
+		<svg:pattern id="military-pattern" x="0" y="0" width="500" height="500" patternUnits="userSpaceOnUse" patternTransform="scale(0.01)">
+			<svg:rect width="510" height="510" x="0" y="0" fill-opacity="0.5" fill="#d0d050"/>
+			<svg:path fill="#808000" d="M 311.4875,112.4725 L 240.86574,112.4725 L 219.18975,100.81875 L 219.18975,67.95515 L 358.10253,55.13602 L 358.10253,98.02185 L 311.4875,107.11177 L 311.4875,112.4725 z "/>
+			<svg:path fill="#808000" d="M 86.10386,157.81856 L 404.48447,158.3883 L 404.43115,99.18722 L 313.11903,119.23168 L 180.26621,119.23168 L 86.10386,144.40379 C 80.55682,146.64725 78.71816,157.81856 86.10386,157.81856 z "/>
+			<svg:path fill="#808000" d="M 176.69134,184.53979 C 176.69131,195.84684 167.54017,205.02094 156.23316,205.04931 C 144.92615,205.07768 135.72909,195.94962 135.67232,184.64271 C 135.61555,173.33581 144.72048,164.11585 156.02721,164.03068 C 167.33393,163.94551 176.57673,173.02726 176.6903,184.33373"/>
+			<svg:path fill="#808000" d="M 222.85374,184.53979 C 222.85371,195.84684 213.70257,205.02094 202.39556,205.04931 C 191.08855,205.07768 181.89149,195.94962 181.83472,184.64271 C 181.77795,173.33581 190.88288,164.11585 202.18961,164.03068 C 213.49633,163.94551 222.73913,173.02726 222.8527,184.33373"/>
+			<svg:path fill="#808000" d="M 268.20674,184.53979 C 268.20671,195.84684 259.05557,205.02094 247.74856,205.04931 C 236.44155,205.07768 227.24449,195.94962 227.18772,184.64271 C 227.13095,173.33581 236.23588,164.11585 247.54261,164.03068 C 258.84933,163.94551 268.09213,173.02726 268.2057,184.33373"/>
+			<svg:path fill="#808000" d="M 314.63974,184.53979 C 314.63971,195.84684 305.48857,205.02094 294.18156,205.04931 C 282.87455,205.07768 273.67749,195.94962 273.62072,184.64271 C 273.56395,173.33581 282.66888,164.11585 293.97561,164.03068 C 305.28233,163.94551 314.52513,173.02726 314.6387,184.33373"/>
+			<svg:path fill="#808000" d="M 104.62906,164.30601 L 95.06656,164.74351 C 89.7409,177.99161 94.17664,190.11388 108.81656,199.08726 C 125.31404,209.1992 145.13754,218.93662 150.87906,219.08726 L 345.94156,219.14976 C 351.68308,218.99912 371.50659,209.26172 388.00406,199.14976 C 402.64398,190.17638 407.07972,178.02286 401.75406,164.77476 L 392.19156,164.36851 C 395.0692,176.76396 397.55281,185.1301 379.62906,193.61851 C 364.95912,200.56595 349.45269,208.83667 347.03531,209.33726 L 149.78531,209.30601 C 147.36794,208.8054 131.89275,200.50345 117.22281,193.55601 C 99.29906,185.06761 101.75142,176.70146 104.62906,164.30601 z M 81.325,74.26296 L 81.325,87.85048 L 214.52384,92.37965 L 214.52384,74.05709 L 81.325,74.26296 z "/>
+			<svg:path fill="#808000" d="M 360.71264,185.61239 C 360.71261,196.91944 351.56147,206.09354 340.25446,206.12191 C 328.94745,206.15028 319.75039,197.02222 319.69362,185.71531 C 319.63685,174.40841 328.74178,165.18845 340.04851,165.10328 C 351.35523,165.01811 360.59803,174.09986 360.7116,185.40633"/>
+			<svg:path fill="#808000" d="M 389.14837,176.08104 C 389.14835,182.52632 383.93199,187.75578 377.48672,187.77195 C 371.04145,187.78813 365.79891,182.58491 365.76655,176.1397 C 365.73419,169.6945 370.92422,164.4389 377.36932,164.39035 C 383.81443,164.3418 389.08304,169.51862 389.14778,175.96358"/>
+			<svg:path fill="#808000" d="M 130.88767,176.08104 C 130.88765,182.52632 125.67129,187.75578 119.22602,187.77195 C 112.78075,187.78813 107.53821,182.58491 107.50585,176.1397 C 107.47349,169.6945 112.66352,164.4389 119.10862,164.39035 C 125.55373,164.3418 130.82234,169.51862 130.88708,175.96358"/>
+		</svg:pattern>
+		
+		<svg:pattern id="cemetery-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(2)">
+			<svg:rect fill="#bde3cb" width="10" height="10" x="0" y="0"/>
+			<svg:path fill="#b0b0b0" stroke-width="0.1" d="M 1.48,0.13 C 2.12,0.13 2.63,0.64 2.63,1.28 L 2.63,4.27 L 0.33,4.27 L 0.33,1.28 C 0.33,0.64 0.85,0.13 1.48,0.13 z "/>
+			<svg:path fill="#b0b0b0" stroke-width="0.1" d="M 6.64,5.78 C 7.27,5.78 7.79,6.29 7.79,6.92 L 7.79,9.91 L 5.49,9.91 L 5.49,6.92 C 5.49,6.29 6.00,5.78 6.64,5.78 z "/>
+		</svg:pattern>
+		<svg:pattern id="cemetery-christian-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(2)">
+			<svg:rect fill="#bde3cb" width="11" height="11" x="0" y="0"/>
+			<svg:path stroke="black" stroke-width="0.2" d="M1,1 L3,1 M2,0 L2,3 M6,6 L8,6 M7,5 L7,8"/>
+		</svg:pattern>
+		
+		<svg:pattern patternUnits="userSpaceOnUse" width="104.8886" height="112.38862" patternTransform="scale(0.05,0.05)" id="vineyard-pattern">
+			<svg:rect fill="#d1ead1" width="104.8886" height="112.38862" x="0" y="0"/>
+			<svg:g transform="translate(-35,-59.111382)">
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="105" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="104.54168" y="95.686478"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="91.572838" y="95.066086"/>
+				<svg:path style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#bf5bc3;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 102.72166,94.632518 C 102.72166,94.632518 102.51202,95.733107 102.51202,86.247077 C 102.51202,84.082553 104.39875,79.905587 96.851849,75.974911"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-1.4674523,16.770883)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-4.6119891,6.2890801)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(10.27217,-2.7252699)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-6.7083494,-4.4023583)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(4.1927244,9.8528923)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(2.096364,0.6289069)"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="90" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="95" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="115" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="60" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="59.541687" y="133.18648"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="46.572845" y="132.56609"/>
+				<svg:path style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#bf5bc3;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 57.72166,132.13252 C 57.72166,132.13252 57.51202,133.23311 57.51202,123.74708 C 57.51202,121.58255 59.39875,117.40559 51.85185,113.47491"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-46.467452,54.270883)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-49.611989,43.78908)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-34.72783,34.77473)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-51.708349,33.097642)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-40.807276,47.352892)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-42.903636,38.128907)"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="45" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="50" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="90" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="95" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="70" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="55" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="105" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="115" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="60" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="45" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="50" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="55" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="70" y="94"/>
+				<svg:rect style="fill:none;fill-opacity:0.92941176;stroke:none;stroke-width:0.22276554;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="104.87722" height="112.37724" x="35.011383" y="59.111382"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="144"/>
+			</svg:g>
+		</svg:pattern>
+		<svg:pattern id="power-wind-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.6)">
+		<!-- power_wind.svg -->
+			<svg:g style="fill:#000000">
+				<rect width="0.77532399" height="8.1394444" x="8.3448029" y="7.860559" style="fill:#000000" />
+				<path d="M 9.4685289,7.5398227 C 9.5951548,7.3769778 10.64679,8.1902804 11.817421,9.3563852 C 12.988052,10.52249 13.834385,11.599816 13.707759,11.762661 C 13.581133,11.925506 12.529499,11.112204 11.358868,9.9460989 C 10.188236,8.7799942 9.341903,7.7026676 9.4685289,7.5398227 z" />
+				<path d="M 9.0179241,5.7934416 C 8.8242005,5.7429518 9.0001786,4.4242539 9.4109824,2.8480475 C 9.8217862,1.2718412 10.311853,0.03500359 10.505576,0.085493431 C 10.6993,0.13598327 10.523322,1.4546811 10.112518,3.0308874 C 9.7017142,4.6070939 9.2116477,5.8439315 9.0179241,5.7934416 z" />
+				<path d="M 7.7057548,7.0801563 C 7.7567258,7.273754 6.5211097,7.7668916 4.9459289,8.1816099 C 3.3707482,8.5963282 2.0524917,8.7755817 2.0015207,8.5819841 C 1.9505497,8.3883865 3.1861658,7.8952488 4.7613465,7.4805306 C 6.3365273,7.0658123 7.6547838,6.8865587 7.7057548,7.0801563 z" />
+				<path d="M 9.7448924,6.787931 C 9.7450023,7.3521951 9.2876067,7.8096797 8.7233428,7.8096797 C 8.1590787,7.8096797 7.7016831,7.3521951 7.701793,6.787931 C 7.7016831,6.2236669 8.1590787,5.7661823 8.7233428,5.7661823 C 9.2876067,5.7661823 9.7450023,6.2236669 9.7448924,6.787931 L 9.7448924,6.787931 z" />
+			</svg:g>
+		</svg:pattern>
+		<svg:pattern id="power-hydro-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.6)">
+		<!-- power_hydro.svg -->
+			<path d="M 8.5,12.8 L 11.9,6.5 L 7.1,7.6 L 10.8,1.5 L 8.2,0.17 L 4.1,10.1 L 9,8.6 L 7.4,12.3 L 7.1,11.6 L 6.65,15.7 L 9.3,12.5 L 8.5,12.8 z" style="fill:#00ccff;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;" />
+		</svg:pattern>
+		<svg:pattern id="power-photovoltaic-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.6)">
+		<!-- power_photovoltaic.svg -->
+		<svg:g transform="matrix(1,0,-0.26,1,0.15,0)">
+				<svg:rect x="3.4" y="3.4" width="13" height="8.9" style="fill:#ffffff;stroke:#000000;stroke-width:0.4"/>
+				<svg:g style="stroke-width:0;fill:#000084" >
+					<svg:rect x="3.9" y="8" width="3.8" height="3.8" />
+					<svg:rect x="8" y="8" width="3.8" height="3.8" />
+					<svg:rect x="12.1" y="8" width="3.8" height="3.8" />
+					<svg:rect x="3.9" y="3.9" width="3.8" height="3.8" />
+					<svg:rect x="8" y="3.9" width="3.8" height="3.8" />
+					<svg:rect x="12.1" y="3.9" width="3.8" height="3.8" />
+				</svg:g>
+			</svg:g>
+			<svg:path d="M 2.72 0.34 L 2.97 2.59 L 1.38 2.13 L 2.44 3.25 L 0.38 3.98 L 2.59 4.38 L 1.59 5.72 L 3.13 5.03 L 3.16 7.22 L 4.25 5.34 L 5.22 6.6 3 L 5.03 5 L 7.22 5.66 L 5.72 4.06 L 7.25 3.59 L 5.59 3.28 L 6.97 1.41 L 4.88 2.34 L 4.88 0.78 L 4.09 2.13 L 2.72 0.34 z" style="fill:#ffff00;stroke:#000000;stroke-width:0.1" />
+		</svg:pattern>
+		<svg:pattern id="power-generic-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.6)">
+		<!-- power_generic.svg -->
+			<svg:path d="M 8.5,12.8 L 11.9,6.5 L 7.1,7.6 L 10.8,1.5 L 8.2,0.17 L 4.1,10.1 L 9,8.6 L 7.4,12.3 L 7.1,11.6 L 6.65,15.7 L 9.3,12.5 L 8.5,12.8 z" style="fill:#ffff00;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;" />
+		</svg:pattern>
+		<!-- reservoir patterns -->
+		<svg:pattern id="reservoir-evaporator-pattern" patternUnits="userSpaceOnUse" width="2" height="2" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;stroke-linecap:round;" d="M 0.1,1.9 L 1.9,1.9" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.96,1.8 C 1.25,1.4 0.75,1.4 1.04,1" />
+			<svg:path style="stroke:#007fff;stroke-width:.035px;fill:none" d="M 0.61,1.8 C 0.8,1.55 0.5,1.55 .69,1.3" />
+			<svg:path style="stroke:#007fff;stroke-width:.035px;fill:none" d="M 1.31,1.8 C 1.5,1.55 1.2,1.55 1.39,1.3" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-cooling-pattern" patternUnits="userSpaceOnUse" width="2" height="2" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;stroke-linecap:round;" d="M 0.1,1.9 L 1.9,1.9" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1,1.25 L 0.784,1.125 L 0.784,0.875 L 1,0.75 L 1.217,0.875 L 1.217,1.125 z" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1,1.25 L 1,1.75" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 0.784,1.125 L 0.35,1.375" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 0.784,0.875 L 0.35,0.625" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1,0.75 L 1,0.25" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1.217,0.875 L 1.65,0.625" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1.217,1.125 L 1.65,1.375" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.257,1.705 L 1.000,1.550 L 0.743,1.705" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.518,1.575 L 0.524,1.275 L 0.261,1.130" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.261,0.870 L 0.524,0.725 L 0.518,0.425" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.743,0.295 L 1.000,0.450 L 1.257,0.295" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.482,0.425 L 1.476,0.725 L 1.739,0.870" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.739,1.139 L 1.476,1.275 L 1.482,1.575" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-sewage-pattern" patternUnits="userSpaceOnUse" width="0.5" height="0.5" >
+			<svg:path style="stroke:#997700;stroke-width:.1px;" d="M -0.01,-0.01 L 0.51,0.51" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-tailings-pattern" patternUnits="userSpaceOnUse" width="0.5" height="0.5" >
+			<svg:path style="stroke:black;stroke-width:.1px;" d="M -0.01,-0.01 L 0.51,0.51" />
+		</svg:pattern>
+
+		<svg:pattern id="basin-infiltration-pattern" patternUnits="userSpaceOnUse" width="2" height="2" patternTransform="scale(5.5)" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.1,0.2 L 1.9,0.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.4,0.6 L 1.6,0.6" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.1,1.2 L 0.9,1.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.4,1.6 L 0.6,1.6" />
+		</svg:pattern>
+
+		<svg:pattern id="basin-detention-pattern" patternUnits="userSpaceOnUse" width="2" height="2" patternTransform="scale(5.5)" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.4,0.2 L 1.6,0.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.1,0.6 L 1.9,0.6" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.4,1.2 L 0.6,1.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.1,1.6 L 0.9,1.6" />
+		</svg:pattern>
+
+		<svg:pattern id="basin-retention-pattern" patternUnits="userSpaceOnUse" width="2" height="2" patternTransform="scale(5.5)" >
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.4,0.2 L 1.6,0.2" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.1,0.6 L 1.9,0.6" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.4,1.2 L 0.6,1.2" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.1,1.6 L 0.9,1.6" />
+		</svg:pattern>
+
+		<svg:pattern id="nature-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(9.1554)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.1" d="
+		M0.2,0.1 L1.8,0.9 M2.2,0.9 L3.8,0.1   M4.2,0.1 L5.8,0.9 M6.2,0.9 L7.8,0.1   M8.2,0.1 L9.8,0.9 M10.2,0.9 L11.8,0.1
+		M0.2,1.9 L1.8,1.1 M2.2,1.1 L3.8,1.9   M4.2,1.9 L5.8,1.1 M6.2,1.1 L7.8,1.9   M8.2,1.9 L9.8,1.1 M10.2,1.1 L11.8,1.9
+		M0.2,2.1 L1.8,2.9 M2.2,2.9 L3.8,2.1   M4.2,2.1 L5.8,2.9 M6.2,2.9 L7.8,2.1   M8.2,2.1 L9.8,2.9 M10.2,2.9 L11.8,2.1
+		M0.2,3.9 L1.8,3.1 M2.2,3.1 L3.8,3.9   M4.2,3.9 L5.8,3.1 M6.2,3.1 L7.8,3.9   M8.2,3.9 L9.8,3.1 M10.2,3.1 L11.8,3.9
+		M0.2,4.1 L1.8,4.9 M2.2,4.9 L3.8,4.1   M4.2,4.1 L5.8,4.9 M6.2,4.9 L7.8,4.1   M8.2,4.1 L9.8,4.9 M10.2,4.9 L11.8,4.1
+		M0.2,5.9 L1.8,5.1 M2.2,5.1 L3.8,5.9   M4.2,5.9 L5.8,5.1 M6.2,5.1 L7.8,5.9   M8.2,5.9 L9.8,5.1 M10.2,5.1 L11.8,5.9
+
+		M0.2,6.1 L1.8,6.9 M2.2,6.9 L3.8,6.1   M4.2,6.1 L5.8,6.9 M6.2,6.9 L7.8,6.1   M8.2,6.1 L9.8,6.9 M10.2,6.9 L11.8,6.1
+		M0.2,7.9 L1.8,7.1 M2.2,7.1 L3.8,7.9   M4.2,7.9 L5.8,7.1 M6.2,7.1 L7.8,7.9   M8.2,7.9 L9.8,7.1 M10.2,7.1 L11.8,7.9
+		M0.2,8.1 L1.8,8.9 M2.2,8.9 L3.8,8.1   M4.2,8.1 L5.8,8.9 M6.2,8.9 L7.8,8.1   M8.2,8.1 L9.8,8.9 M10.2,8.9 L11.8,8.1
+		M0.2,9.9 L1.8,9.1 M2.2,9.1 L3.8,9.9   M4.2,9.9 L5.8,9.1 M6.2,9.1 L7.8,9.9   M8.2,9.9 L9.8,9.1 M10.2,9.1 L11.8,9.9
+		M0.2,10.1 L1.8,10.9 M2.2,10.9 L3.8,10.1   M4.2,10.1 L5.8,10.9 M6.2,10.9 L7.8,10.1   M8.2,10.1 L9.8,10.9 M10.2,10.9 L11.8,10.1
+		M0.2,11.9 L1.8,11.1 M2.2,11.1 L3.8,11.9   M4.2,11.9 L5.8,11.1 M6.2,11.1 L7.8,11.9   M8.2,11.9 L9.8,11.1 M10.2,11.1 L11.8,11.9"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.15;stroke-linecap:round;stroke-linejoin:round;" d="
+		M1.2,2.6 L1.2,1.4 L1.8,2.6 L1.8,1.4
+		M2.2,2.1 2.45,2.1 A 0.25 0.25 0 0 0 2.45,1.4 L2.2,1.4 L2.2,2.6  M2.8,2.6 L2.3,2.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="landscape-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(8.0)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.05" d="
+		M0.4,0.2 L1.6,0.8 M2.4,0.8 L3.6,0.2   M4.4,0.2 L5.6,0.8 M6.4,0.8 L7.6,0.2   M8.4,0.2 L9.6,0.8 M10.4,0.8 L11.6,0.2
+		M0.4,1.8 L1.6,1.2 M2.4,1.2 L3.6,1.8   M4.4,1.8 L5.6,1.2 M6.4,1.2 L7.6,1.8   M8.4,1.8 L9.6,1.2 M10.4,1.2 L11.6,1.8
+		M0.4,2.2 L1.6,2.8 M2.4,2.8 L3.6,2.2   M4.4,2.2 L5.6,2.8 M6.4,2.8 L7.6,2.2   M8.4,2.2 L9.6,2.8 M10.4,2.8 L11.6,2.2
+		M0.4,3.8 L1.6,3.2 M2.4,3.2 L3.6,3.8   M4.4,3.8 L5.6,3.2 M6.4,3.2 L7.6,3.8   M8.4,3.8 L9.6,3.2 M10.4,3.2 L11.6,3.8
+		M0.4,4.2 L1.6,4.8 M2.4,4.8 L3.6,4.2   M4.4,4.2 L5.6,4.8 M6.4,4.8 L7.6,4.2   M8.4,4.2 L9.6,4.8 M10.4,4.8 L11.6,4.2
+		M0.4,5.8 L1.6,5.2 M2.4,5.2 L3.6,5.8   M4.4,5.8 L5.6,5.2 M6.4,5.2 L7.6,5.8   M8.4,5.8 L9.6,5.2 M10.4,5.2 L11.6,5.8
+
+		M0.4,6.2 L1.6,6.8 M2.4,6.8 L3.6,6.2   M4.4,6.2 L5.6,6.8 M6.4,6.8 L7.6,6.2   M8.4,6.2 L9.6,6.8 M10.4,6.8 L11.6,6.2
+		M0.4,7.8 L1.6,7.2 M2.4,7.2 L3.6,7.8   M4.4,7.8 L5.6,7.2 M6.4,7.2 L7.6,7.8   M8.4,7.8 L9.6,7.2 M10.4,7.2 L11.6,7.8
+		M0.4,8.2 L1.6,8.8 M2.4,8.8 L3.6,8.2   M4.4,8.2 L5.6,8.8 M6.4,8.8 L7.6,8.2   M8.4,8.2 L9.6,8.8 M10.4,8.8 L11.6,8.2
+		M0.4,9.8 L1.6,9.2 M2.4,9.2 L3.6,9.8   M4.4,9.8 L5.6,9.2 M6.4,9.2 L7.6,9.8   M8.4,9.8 L9.6,9.2 M10.4,9.2 L11.6,9.8
+		M0.4,10.2 L1.6,10.8 M2.4,10.8 L3.6,10.2   M4.4,10.2 L5.6,10.8 M6.4,10.8 L7.6,10.2   M8.4,10.2 L9.6,10.8 M10.4,10.8 L11.6,10.2
+		M0.4,11.8 L1.6,11.2 M2.4,11.2 L3.6,11.8   M4.4,11.8 L5.6,11.2 M6.4,11.2 L7.6,11.8   M8.4,11.8 L9.6,11.2 M10.4,11.2 L11.6,11.8"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:round;" d="
+		M5.2,3.4 L5.2,4.6 L5.8,4.6
+		M6.2,4.1 6.45,4.1 A 0.25 0.25 0 0 0 6.45,3.4 L6.2,3.4 L6.2,4.6  M6.8,4.6 L6.3,4.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="national-park-pattern" x="0" y="0" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(8.0)">
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.5;" d="
+		M9.2,6.6 L9.2,5.4 L9.8,6.6 L9.8,5.4
+		M10.2,6.1 10.45,6.1 A 0.25 0.25 0 0 0 10.45,5.4 L10.2,5.4 L10.2,6.6 "/>
+		</svg:pattern>
+
+		<svg:marker fill="none" id="canal-lock" markerHeight="5.9px" markerUnits="userSpaceOnUse" markerWidth="5.9px" orient="auto" refX="1px" refY="5px" stroke="#000000" stroke-width="0.75px" stroke-opacity="1" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L -2,5 L 1,10"/>
+		</svg:marker>
+	</defs>
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/captionless-z15.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/captionless-z15.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/captionless-z15.xml	(revision 35743)
@@ -0,0 +1,4492 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Tiles@Home Rules File for zoom level 15 -->
+<rules
+	  xmlns:xlink="http://www.w3.org/1999/xlink"
+	  xmlns:svg="http://www.w3.org/2000/svg"
+	  data="data.osm"
+	  svgBaseProfile="full"
+	  scale="1"
+	  symbolScale="0.42"
+	  textAttenuation="3.5"
+	  minimumMapWidth="0.5"
+	  minimumMapHeight="0.5"
+	  withOSMLayers="yes"
+	  withUntaggedSegments="no"
+	  showScale="no"
+	  showGrid="no"
+	  showBorder="no"
+	  showLicense="no"
+	  interactive="no"
+	  symbolsDir="../stylesheets/symbols"
+	  meter2pixel="0.1375">
+	
+	
+	<!-- Select all nodes and ways (unless they have an osmarender:render=no tag) -->
+	<rule e="node|way" k="osmarender:render" v="~|yes">
+		
+		<!-- Landuse -->
+		<rule e="way" k="landuse" v="landfill|quarry">
+			<area class="landuse-quarry"/>
+		</rule>
+		<rule e="way" k="landuse" v="cemetery">
+			<rule e="way" k="religion" v="christian">
+				<area class="landuse-cemetery-christian"/>
+			</rule>
+			<else>
+				<area class="landuse-cemetery"/>
+			</else>
+		</rule>
+		<rule e="way" k="amenity" v="grave_yard">
+			<rule e="way" k="religion" v="christian">
+				<area class="landuse-cemetery-christian"/>
+			</rule>
+			<else>
+				<area class="landuse-cemetery"/>
+			</else>
+		</rule>
+		<rule e="way" k="landuse" v="vineyard">
+			<area class="landuse-vineyard"/>
+		</rule>
+		
+		<!-- Natural features -->
+		<rule e="way" k="natural" v="coastline">
+			<area class="natural-coastline"/>
+		</rule>
+		<rule e="way" k="natural" v="glacier">
+			<line class='natural-glacier'/>
+		</rule>
+		<rule e="way" k="natural" v="land">
+			<area class="natural-land"/>
+		</rule>
+		<rule e="way" k="natural" v="beach">
+			<area class="natural-beach"/>
+		</rule>
+		<rule e="way" k="natural|landuse" v="forest|wood|scrub">
+			<rule e="way" k="wood" v="coniferous">
+				<area class="landuse-wood-coniferous"/>
+			</rule>
+			<else>
+				<rule e="way" k="wood" v="deciduous">
+					<area class="landuse-wood-deciduous"/>
+				</rule>
+				<else>
+					<rule e="way" k="wood" v="mixed">
+						<area class="landuse-wood-mixed"/>
+					</rule>
+					<else>
+						<area class="landuse-wood"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="natural" v="heath">
+			<area class="natural-heath"/>
+		</rule>
+		<rule e="way" k="natural" v="wetland">
+			<rule e="way" k="wetland" v="bog">
+				<area class="wetland-bog"/>
+			</rule>
+		</rule>
+		<rule e="way" k="landuse" v="conservation">
+			<area class="landuse-conservation"/>
+		</rule>
+		
+		<!-- Artificial landuse -->
+		<rule e="way" k="landuse" v="field|farm|farmland|meadow|grass">
+			<area class="landuse-field"/>
+		</rule>
+		<rule e="way" k="landuse" v="allotments|village_green|recreation_ground">
+			<area class="landuse-allotment-village"/>
+		</rule>
+		<rule e="way" k="leisure" v="park|garden|golf_course|common|green">
+			<area class="leisure-park"/>
+		</rule>
+		<rule e="way" k="leisure" v="playground|playing_fields|pitch|dog_park">
+			<rule e="way" k="sport" v="tennis">
+				<area class="sport-tennis"/>
+			</rule>
+			<else>
+				<!-- Done separately from the above rule to layer these above. Tend to be smaller and inside parks. -->
+				<area class="leisure-park"/>
+			</else>
+		</rule>
+
+		<rule e="way" k="leisure" v="stadium|sports_centre|water_park">
+			<area class="leisure-stadium"/>
+		</rule>
+		<rule e="way" k="leisure" v="track">
+			<rule e="way" k="area" v="yes|true">
+				<area class="leisure-track-area"/>
+			</rule>
+			<else>
+				<line class="leisure-track-casing"/>
+				<line class="leisure-track-core"/>
+			</else>
+		</rule>
+		<rule e="way" k="leisure" v="swimming_pool">
+			<area class="leisure-swimming-pool"/>
+		</rule>
+		<rule e="way" k="man_made" v="wastewater_plant" layer="-5" closed="yes">
+			<area class="man_made-wastewater" layer="-5"/>
+		</rule>
+		<rule e="way" k="man_made" v="wastewater_plant">
+			<symbol ref="wastewater" position="center"/>
+		</rule>
+		<rule e="node" k="man_made" v="wastewater_plant">
+			<symbol ref="wastewater" position="center"/>
+		</rule>
+		
+		<!-- Airports and runways -->
+		<rule e="way" k="aeroway" v="aerodrome" closed="yes">
+			<area class="aeroway-aerodrome"/>
+		</rule>
+		<rule e="way" k="aeroway" v="apron">
+			<area class="aeroway-apron"/>
+		</rule>
+		<rule e="way" k="landuse" v="runway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse-runway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse-runway-disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse-runway-dismantled"/>
+			</rule>
+		</rule>
+		
+		<!-- Raceways and racetracks (cars and horses etc) -->
+		<rule e="way" k="landuse" v="raceway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse-raceway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse-raceway-disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse-raceway-dismantled"/>
+			</rule>
+		</rule>
+		
+		<!-- Man-made areas -->
+		<rule e="way" k="leisure|landuse|amenity|tourism" v="~">
+			<rule e="way" k="building" v="~|no|false|0">
+				<rule e="way" k="sport" v="swimming|canoe|diving|scuba_diving">
+					<area class="sport-swimming"/>
+				</rule>
+				<else>
+					<rule e="way" k="sport" v="tennis">
+						<area class="sport-tennis"/>
+					</rule>
+					<else>
+						<rule e="way" k="sport" v="*" closed="yes">
+							<area class="sport"/>
+						</rule>
+					</else>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="amenity" v="parking">
+			<area class="amenity-parking"/>
+		</rule>
+		<rule e="way" k="tourism" v="attraction">
+			<rule e="way" k="highway" v="~">
+				<rule e="way" k="area" v="no" />
+				<else>
+					<area class="tourism-attraction"/>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="tourism" v="zoo|picnic_site|caravan_site|camp_site">
+			<area class="tourism-green-area"/>
+		</rule>
+		<rule e="node|way" k="tourism" v="camp_site">
+			<rule e="node|way" k="refugee" v="yes">
+				<symbol ref="earthquakeCamp" position="center"/>
+			</rule>
+		</rule>
+		<rule e="node|way" k="earthquake:damage" v="spontaneous_camp">
+			<symbol ref="earthquakeCamp" position="center"/>
+		</rule>
+		
+		<!-- access rules for parking -->
+		<rule e="way" k="amenity" v="parking">
+			<rule e="way" k="access" v="private">
+				<area class="access-private-small-area"/>
+			</rule>
+			<rule e="way" k="access" v="permissive|public">
+				<area class="access-permissive-small-area"/>
+			</rule>
+			<rule e="way" k="access" v="destination">
+				<area class="access-destination-small-area"/>
+			</rule>
+			<rule e="way" k="access" v="no">
+				<area class="access-no-small-area"/>
+			</rule>
+		</rule>
+		
+		<!-- Airfields and airports -->
+		<rule e="way" k="aeroway" v="runway">
+			<line class="aeroway-runway-casing"/>
+		</rule>
+		<rule e="way" k="aeroway" v="taxiway">
+			<line class="aeroway-taxiway-casing"/>
+		</rule>
+		
+		<!-- Waterways -->
+		<rule e="way" k="lock" v="yes|true">
+			<line class="waterway-lock-casing" smart-linecap="no" />
+			<line class="waterway-lock-core" smart-linecap="no" />
+		</rule>
+		<rule e="way" k="waterway" v="lock">
+			<line class="waterway-lock-casing" smart-linecap="no" />
+			<line class="waterway-lock-core" smart-linecap="no" />
+		</rule>
+		<rule e="way" k="waterway" v="river">
+			<line class="waterway-casing waterway-river-casing" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="stream">
+			<line class="waterway-casing waterway-stream-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+		</rule>
+		<rule e="way" k="waterway" v="canal">
+			<line class="waterway-casing waterway-canal-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="drain">
+			<line class="waterway-casing waterway-drain-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+		</rule>
+		<rule e="way" k="waterway" v="ditch">
+			<line class="waterway-casing waterway-ditch-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+		</rule>
+		<rule e="way" k="tunnel" v="yes">
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<line class="waterway-core waterway-stream-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</rule>
+		<else>
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-core" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<rule e="way" k="stream" v="ephemeral">
+					<line class="waterway-core waterway-stream-core-ephemeral" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+				</rule>
+				<else>
+					<rule e="way" k="stream" v="intermittent">
+						<line class="waterway-core waterway-stream-core-intermittent" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+					</rule>
+					<else>
+						<line class="waterway-core waterway-stream-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</else>
+		<rule e="way" k="waterway" v="dock">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="natural" v="water|pond|lake|bay">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="natural" v="marsh|wetland">
+			<area class="natural-water-marsh"/>
+		</rule>
+		<rule e="way" k="landuse" v="reservoir">
+			<rule e="way" k="reservoir_type" v="evaporator">
+			<area class="reservoir-evaporator"/>
+			</rule>
+			<else>
+				<rule e="way" k="reservoir_type" v="cooling">
+					<area class="reservoir-cooling"/>
+				</rule>
+				<else>
+					<rule e="way" k="reservoir_type" v="sewage">
+						<area class="reservoir-sewage"/>
+					</rule>
+					<else>
+						<rule e="way" k="reservoir_type" v="tailings">
+							<area class="reservoir-tailings"/>
+						</rule>
+						<else>
+							<rule e="way" k="reservoir_type" v="water_storage">
+								<area class="natural-water"/>
+							</rule>
+							<else>
+								<area class="natural-water"/>
+							</else>
+						</else>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="landuse" v="basin">
+			<rule e="way" k="basin" v="infiltration">
+				<area class="basin-infiltration"/>
+			</rule>
+			<else>
+				<rule e="way" k="basin" v="detention">
+					<area class="basin-detention"/>
+				</rule>
+				<else>
+					<rule e="way" k="basin" v="retention">
+						<area class="natural-water"/>
+						<area class="basin-retention"/>
+					</rule>
+					<else>
+						<area class="natural-water"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="waterway" v="riverbank">
+			<area class="waterway-riverbank"/>
+		</rule>
+		<rule e="way" k="waterway" v="weir">
+			<line class="waterway-weir"/>
+		</rule>
+		<rule e="way" k="waterway" v="dam">
+			<line class="waterway-dam"/>
+		</rule>
+		<rule e="node" k="waterway" v="lock_gate">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" k="lock" v="yes|true">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" s="way" k="lock" v="yes|true">
+			<wayMarker k="waterway" v="artificial|canal|ditch|drain|river|stream" class="canal-lock"/>
+		</rule>
+		<rule e="node" k="waterway" v="lock">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" s="way" k="waterway" v="lock">
+			<wayMarker k="waterway" v="artificial|canal|ditch|drain|river|stream" class="canal-lock"/>
+		</rule>
+
+		<rule e="way" k="boundary" v="national_park">
+			<area class="leisure-national_park"/>
+		</rule>
+		<rule e="way" k="leisure" v="landscape_reserve">
+			<area class="leisure-landscape_reserve"/>
+		</rule>
+		<rule e="way" k="leisure" v="nature_reserve">
+			<area class="leisure-nature_reserve"/>
+			<symbol ref="bird" position="center"/>
+		</rule>
+
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="highway" v="motorway|motorway_link|footway|steps|pedestrian|cycleway|bridleway|track|byway|path|cycleroad|living_street|construction|planned|proposed|disused|abandoned|dismantled">
+			</rule>
+			<else>
+				<rule e="way" k="motorroad" v="yes">
+				</rule>
+				<else>
+					<rule e="way" k="bicycle" v="no">
+						<line class="highway-nobicycle-1" smart-linecap="no" />
+						<line class="highway-nobicycle-2" smart-linecap="no" />
+					</rule>
+				</else>
+			</else>
+		</rule>
+
+		<!-- platforms casings -->
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="yes">
+			<line class="highway-platform-area-casing" />
+		</rule>
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="no">
+			<line class="highway-platform-way-casing" />
+		</rule>
+
+		<!-- Highway area casings -->
+		<rule e="way" k="area" v="yes|true">
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+
+			<rule e="way" k="highway" v="track">
+				<area class="highway-casing highway-track-area-back-casing" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<area class="highway-casing highway-footway-casing highway-footway-area-casing no-bezier" smart-area="no"/>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<area class="highway-casing highway-pedestrian-casing highway-pedestrian-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<area class="highway-casing highway-cycleway-casing highway-cycleway-area-casing no-bezier" smart-area="no"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<area class="highway-casing highway-cycleway-casing highway-cycleway-area-casing no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<area class="highway-casing highway-bridleway-casing highway-bridleway-area-casing no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-footway-casing highway-footway-area-casing no-bezier" smart-linecap="no"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<area class="highway-casing highway-bridleway-casing highway-bridleway-area-casing no-bezier" smart-area="no"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<area class="highway-casing highway-byway-1-casing highway-byway-1-area-casing no-bezier" smart-area="no"/>
+				<area class="highway-casing highway-byway-2-casing highway-byway-2-area-casing no-bezier" smart-area="no"/>
+				<area class="highway-casing highway-byway-3-casing highway-byway-3-area-casing no-bezier" smart-area="no"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<rule e="way" k="tracktype" v="grade1">
+					<area class="highway-casing highway-track-casing highway-track-grade1-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="tracktype" v="grade2">
+						<area class="highway-casing highway-track-casing highway-track-grade2-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade3">
+							<area class="highway-casing highway-track-casing highway-track-grade3-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade4">
+								<area class="highway-casing highway-track-casing highway-track-grade4-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade5">
+									<area class="highway-casing highway-track-casing highway-track-grade5-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+								</rule>
+								<else>
+									<area class="highway-casing highway-track-casing highway-track-gradex-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+								</else>
+							</else>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<area class="highway-casing highway-unsurfaced-casing highway-unsurfaced-area-casing no-bezier" smart-area="no"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+					<area class="highway-casing highway-aisle-casing highway-aisle-area-casing no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-casing highway-service-casing highway-service-area-casing no-bezier"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor|road">
+				<area class="highway-casing highway-unclassified-casing highway-unclassified-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="living_street">
+				<area class="highway-casing highway-livingstreet-casing highway-livingstreet-area-casing no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+						</else>
+					</rule>
+				</else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="tertiary_link">
+				<area class="highway-casing highway-tertiary-link-casing highway-tertiary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<area class="highway-casing highway-tertiary-casing highway-tertiary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<area class="highway-casing highway-secondary-link-casing highway-secondary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<area class="highway-casing highway-secondary-casing highway-secondary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<area class="highway-casing highway-primary-link-casing highway-primary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<area class="highway-casing highway-trunk-link-casing highway-trunk-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<area class="highway-casing highway-motorway-link-casing highway-motorway-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<area class="highway-casing highway-primary-casing highway-primary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<area class="highway-casing highway-trunk-casing highway-trunk-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<area class="highway-casing highway-motorway-casing highway-motorway-area-casing no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		</rule>
+		
+		<!-- Linear casings -->
+		<rule e="way" k="tunnel" v="~|no|false">
+			<rule e="way" k="area" v="~|no|false">
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="track">
+					<line class="highway-casing highway-track-back-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="raceway">
+					<rule e="way" k="use_status" v="~">
+						<line class="highway-raceway-casing"/>
+					</rule>
+					<rule e="way" k="use_status" v="disused">
+						<line class="highway-raceway-casing-disused"/>
+					</rule>
+					<rule e="way" k="use_status" v="dismantled">
+						<line class="highway-raceway-casing-dismantled"/>
+					</rule>
+				</rule>
+				<rule e="way" k="highway" v="steps">
+					<line class="highway-casing highway-steps-casing"/>
+				</rule>
+				<rule e="way" k="highway" v="footway|footpath">
+					<line class="highway-casing highway-footway-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="pedestrian">
+					<line class="highway-casing highway-pedestrian-casing"/>
+				</rule>
+				<rule e="way" k="highway" v="cycleway">
+					<line class="highway-casing highway-cycleway-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<line class="highway-casing highway-cycleway-casing" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<line class="highway-casing highway-bridleway-casing" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-footway-casing" smart-linecap="no"/>
+						</else></else>
+				</rule>
+				<rule e="way" k="highway" v="bridleway">
+					<line class="highway-casing highway-bridleway-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="byway">
+					<line class="highway-casing highway-byway-1-casing" smart-linecap="no"/>
+					<line class="highway-casing highway-byway-2-casing" smart-linecap="no"/>
+					<line class="highway-casing highway-byway-3-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="track">
+					<rule e="way" k="tracktype" v="grade1">
+						<line class="highway-casing highway-track-casing highway-track-grade1-casing" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade2">
+							<line class="highway-casing highway-track-casing highway-track-grade2-casing" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade3">
+								<line class="highway-casing highway-track-casing highway-track-grade3-casing" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade4">
+									<line class="highway-casing highway-track-casing highway-track-grade4-casing" smart-linecap="no"/>
+								</rule>
+								<else>
+									<rule e="way" k="tracktype" v="grade5">
+										<line class="highway-casing highway-track-casing highway-track-grade5-casing" smart-linecap="no"/>
+									</rule>
+									<else>
+										<rule e="way" k="track" v="racetrack">
+											<line class="highway-racetrack-casing-white" smart-linecap="no"/>
+											<line class="highway-racetrack-casing-red" smart-linecap="no"/>
+										</rule>
+										<else>
+											<line class="highway-casing highway-track-casing highway-track-gradex-casing" smart-linecap="no"/>
+										</else>
+									</else>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="unsurfaced">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<line class="highway-casing highway-unsurfaced-cy1-casing" smart-linecap="no"/>
+						<line class="highway-casing highway-unsurfaced-cy2-casing" smart-linecap="no"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-unsurfaced-casing" smart-linecap="no"/>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle">
+						<line class="highway-casing highway-aisle-casing"/>
+					</rule>
+					<else>
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<line class="highway-casing highway-service-cy1-casing"/>
+							<line class="highway-casing highway-service-cy2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-service-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="unclassified|minor|road|ford">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<line class="highway-casing highway-unclassified-cy1-casing"/>
+						<line class="highway-casing highway-unclassified-cy2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-unclassified-casing"/>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="residential">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<line class="highway-casing highway-residential-cy1-casing"/>
+						<line class="highway-casing highway-residential-cy2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-residential-casing"/>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="living_street">
+					<line class="highway-casing highway-livingstreet-casing"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-casing highway-cycleroad-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-cycleroad-casing"/>
+					</else>
+			  </rule>
+			  <else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-casing highway-cycleroad-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-cycleroad-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-casing highway-cycleroad-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-cycleroad-casing"/>
+							</else>
+						</rule>
+					</else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="tertiary_link">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-tertiary-link-mrcy1-casing"/>
+							<line class="highway-casing highway-tertiary-link-mrcy2-casing"/>
+							<line class="highway-casing highway-tertiary-link-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-tertiary-link-cy1-casing"/>
+							<line class="highway-casing highway-tertiary-link-cy2-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-tertiary-link-mr1-casing"/>
+							<line class="highway-casing highway-tertiary-link-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-tertiary-link-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="tertiary">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-tertiary-mrcy1-casing"/>
+							<line class="highway-casing highway-tertiary-mrcy2-casing"/>
+							<line class="highway-casing highway-tertiary-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-tertiary-cy1-casing"/>
+							<line class="highway-casing highway-tertiary-cy2-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-tertiary-mr1-casing"/>
+							<line class="highway-casing highway-tertiary-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-tertiary-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="secondary_link">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-secondary-link-mrcy1-casing"/>
+							<line class="highway-casing highway-secondary-link-mrcy2-casing"/>
+							<line class="highway-casing highway-secondary-link-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-secondary-link-cy1-casing"/>
+							<line class="highway-casing highway-secondary-link-cy2-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-secondary-link-mr1-casing"/>
+							<line class="highway-casing highway-secondary-link-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-secondary-link-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="secondary">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-secondary-mrcy1-casing"/>
+							<line class="highway-casing highway-secondary-mrcy2-casing"/>
+							<line class="highway-casing highway-secondary-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-secondary-cy1-casing"/>
+							<line class="highway-casing highway-secondary-cy2-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-secondary-mr1-casing"/>
+							<line class="highway-casing highway-secondary-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-secondary-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="primary_link">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-primary-link-mrcy1-casing"/>
+							<line class="highway-casing highway-primary-link-mrcy2-casing"/>
+							<line class="highway-casing highway-primary-link-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-primary-link-cy1-casing"/>
+							<line class="highway-casing highway-primary-link-cy2-casing"/>
+						</else>
+					</rule>
+
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-primary-link-mr1-casing"/>
+							<line class="highway-casing highway-primary-link-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-primary-link-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="primary">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-primary-mrcy1-casing"/>
+							<line class="highway-casing highway-primary-mrcy2-casing"/>
+							<line class="highway-casing highway-primary-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-primary-cy1-casing"/>
+							<line class="highway-casing highway-primary-cy2-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-primary-mr1-casing"/>
+							<line class="highway-casing highway-primary-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-primary-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="trunk_link">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-trunk-link-mrcy1-casing"/>
+							<line class="highway-casing highway-trunk-link-mrcy2-casing"/>
+							<line class="highway-casing highway-trunk-link-mrcy3-casing"/>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="no">
+								<line class="highway-casing highway-trunk-link-mrcy1-casing"/>
+								<line class="highway-casing highway-trunk-link-mrcy2-casing"/>
+								<line class="highway-casing highway-trunk-link-mrcy4-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-trunk-link-cy1-casing"/>
+								<line class="highway-casing highway-trunk-link-cy2-casing"/>
+							</else>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-trunk-link-mr1-casing"/>
+							<line class="highway-casing highway-trunk-link-mr2-casing"/>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="no">
+								<line class="highway-casing highway-trunk-link-mr1-casing"/>
+								<line class="highway-casing highway-trunk-link-mr3-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-trunk-link-casing"/>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="trunk">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-trunk-mrcy1-casing"/>
+							<line class="highway-casing highway-trunk-mrcy2-casing"/>
+							<line class="highway-casing highway-trunk-mrcy3-casing"/>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="no">
+								<line class="highway-casing highway-trunk-mrcy1-casing"/>
+								<line class="highway-casing highway-trunk-mrcy2-casing"/>
+								<line class="highway-casing highway-trunk-mrcy4-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-trunk-cy1-casing"/>
+								<line class="highway-casing highway-trunk-cy2-casing"/>
+							</else>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-trunk-mr1-casing"/>
+							<line class="highway-casing highway-trunk-mr2-casing"/>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="no">
+								<line class="highway-casing highway-trunk-mr1-casing"/>
+								<line class="highway-casing highway-trunk-mr3-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-trunk-casing"/>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="motorway_link">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<line class="highway-casing highway-motorway-link-cy1-casing"/>
+						<line class="highway-casing highway-motorway-link-cy2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-motorway-link-casing"/>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="motorway">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<line class="highway-casing highway-motorway-cy1-casing"/>
+						<line class="highway-casing highway-motorway-cy2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-motorway-casing"/>
+					</else>
+				</rule>
+
+			    </else>
+			  </else>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-casing railway-con-casing-color railway-casing" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-casing railway-pla-casing-color railway-casing" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-casing railway-dis-casing-color railway-casing" smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-casing railway-aba-casing-color railway-casing" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-casing railway-con-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-casing railway-pla-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-casing railway-dis-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-casing railway-aba-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<line class="railway-rail-casing railway-rail-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-casing railway-narrow-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-casing railway-preserved-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-casing railway-light-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-casing railway-tram-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-casing railway-subway-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-casing railway-funicular-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-casing railway-monorail-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-casing railway-yard-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+			</rule>
+		</rule>
+		
+		<!-- Turning circles -->
+		<rule e="node" k="highway" v="turning_circle">
+			<rule e="node" s="way" k="highway" v="unclassified|residential|minor|road">
+				<circle r="2.5" class="highway-unclassified-turningcircle"/>
+			</rule>
+		</rule>
+		
+		<!-- platforms cores -->
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="yes">
+			<line class="highway-platform-area" />
+		</rule>
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="no">
+			<line class="highway-platform-way-core" />
+		</rule>
+
+		<!-- Highway area cores -->
+		<rule e="way" k="area" v="yes|true">
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="footway|footpath">
+				<area class="highway-core highway-footway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<area class="highway-core highway-pedestrian-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<area class="highway-core highway-cycleway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<area class="highway-core highway-cycleway-area no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<area class="highway-core highway-bridleway-area no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-path-area no-bezier" smart-linecap="no"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<area class="highway-core highway-bridleway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<area class="highway-core highway-byway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<rule e="way" k="tracktype" v="grade1">
+					<area class="highway-core highway-track-grade1-area no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="tracktype" v="grade2">
+						<area class="highway-core highway-track-grade2-area no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade3">
+							<area class="highway-core highway-track-grade3-area no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade4">
+								<area class="highway-core highway-track-grade4-area no-bezier" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade5">
+									<area class="highway-core highway-track-grade5-area no-bezier" smart-linecap="no"/>
+								</rule>
+								<else>
+									<area class="highway-core highway-track-gradex-area no-bezier" smart-linecap="no"/>
+								</else>
+							</else>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<area class="highway-core highway-unsurfaced-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+					<area class="highway-core highway-aisle-area no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-core highway-service-area no-bezier"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor">
+				<area class="highway-core highway-unclassified-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="living_street">
+				<area class="highway-core highway-livingstreet-area-1 no-bezier"/>
+				<area class="highway-core highway-livingstreet-area-2 no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-core highway-cycleroad-area-1 no-bezier"/>
+					<area class="highway-core highway-cycleroad-area-2 no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-core highway-cycleroad-area-1 no-bezier"/>
+						<area class="highway-core highway-cycleroad-area-2 no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-core highway-cycleroad-area-1 no-bezier"/>
+							<area class="highway-core highway-cycleroad-area-2 no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+						</else>
+					</rule>
+				</else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="road">
+				<area class="highway-core highway-road-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<area class="highway-core highway-tertiary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<area class="highway-core highway-tertiary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<area class="highway-core highway-secondary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<area class="highway-core highway-secondary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<area class="highway-core highway-primary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<area class="highway-core highway-trunk-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<area class="highway-core highway-motorway-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<area class="highway-core highway-primary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<area class="highway-core highway-trunk-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<area class="highway-core highway-motorway-area no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+		</rule>
+		
+		<!-- Buildings -->
+		<rule e="way" k="aeroway" v="terminal">
+			<area class="building-block"/>
+		</rule>
+		<rule e="way" k="building" v="*">
+			<area class="building-block no-bezier"/>
+		</rule>
+		<rule e="node" k="building" v="*">
+			<symbol ref="building" position="center"/>
+		</rule>
+		
+		<!-- Linear cores -->
+		<rule e="way" k="tunnel" v="~|false|no">
+			<rule e="way" k="area" v="~|false|no">
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="ford">
+					<line class="highway-core highway-ford-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="raceway">
+					<rule e="way" k="use_status" v="~">
+						<line class="highway-raceway-core"/>
+					</rule>
+					<rule e="way" k="use_status" v="disused">
+						<line class="highway-raceway-core-disused"/>
+					</rule>
+					<rule e="way" k="use_status" v="dismantled">
+						<line class="highway-raceway-core-dismantled"/>
+					</rule>
+				</rule>
+				<rule e="way" k="scramble" v="*">
+					<line class="highway-core highway-scramble-core"/>
+				</rule>
+				<rule e="way" k="highway" v="steps">
+					<line class="highway-core highway-steps-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="footway|footpath">
+					<line class="highway-core highway-footway-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="pedestrian">
+					<line class="highway-core highway-pedestrian-core"/>
+				</rule>
+				<rule e="way" k="highway" v="cycleway">
+					<line class="highway-core highway-cycleway-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<line class="highway-core highway-cycleway-core" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<line class="highway-core highway-bridleway-core" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="foot" v="yes|designated">
+								<line class="highway-core highway-footway-core" smart-linecap="no"/>
+							</rule>
+							<else>
+								<line class="highway-core highway-path-core" smart-linecap="no"/>
+							</else></else></else>
+				</rule>
+				<rule e="way" k="highway" v="bridleway">
+					<line class="highway-core highway-bridleway-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="byway">
+					<line class="highway-core highway-byway-2-casing" smart-linecap="no"/>
+					<line class="highway-core highway-byway-3-casing" smart-linecap="no"/>
+					<line class="highway-core highway-byway-1-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="track">
+					<rule e="way" k="tracktype" v="race">
+						<line class="highway-racetrack-core"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade1">
+							<line class="highway-core highway-track-core2 highway-track-grade1-core" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade2">
+								<line class="highway-core highway-track-core2 highway-track-grade2-core" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade3">
+									<line class="highway-core highway-track-core highway-track-grade3-core" smart-linecap="no"/>
+								</rule>
+								<else>
+									<rule e="way" k="tracktype" v="grade4">
+										<line class="highway-core highway-track-core highway-track-grade4-core" smart-linecap="no"/>
+									</rule>
+									<else>
+										<rule e="way" k="tracktype" v="grade5">
+											<line class="highway-core highway-track-core  highway-track-grade5-core" smart-linecap="no"/>
+										</rule>
+										<else>
+											<line class="highway-core highway-track-core2 highway-track-gradex-core" smart-linecap="no"/>
+										</else>
+									</else>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="unsurfaced">
+					<line class="highway-core highway-unsurfaced-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle">
+						<line class="highway-core highway-aisle-core"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-service-core"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="unclassified|residential|minor">
+					<line class="highway-core highway-unclassified-core"/>
+				</rule>
+				<rule e="way" k="highway" v="living_street">
+					<line class="highway-core highway-livingstreet-core-1" smart-linecap="no"/>
+					<line class="highway-core highway-livingstreet-core-2" smart-linecap="no"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-core highway-cycleroad-core-1" smart-linecap="no"/>
+						<line class="highway-core highway-cycleroad-core-2" smart-linecap="no"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-cycleroad-core-3"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-core highway-cycleroad-core-1" smart-linecap="no"/>
+							<line class="highway-core highway-cycleroad-core-2" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="highway-core highway-cycleroad-core-3"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-core highway-cycleroad-core-1" smart-linecap="no"/>
+								<line class="highway-core highway-cycleroad-core-2" smart-linecap="no"/>
+							</rule>
+							<else>
+								<line class="highway-core highway-cycleroad-core-3"/>
+							</else>
+						</rule>
+					</else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="road">
+					<line class="highway-core highway-road-core"/>
+				</rule>
+				<rule e="way" k="highway" v="tertiary_link">
+					<line class="highway-core highway-tertiary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="tertiary">
+					<line class="highway-core highway-tertiary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary_link">
+					<line class="highway-core highway-secondary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary">
+					<line class="highway-core highway-secondary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="primary_link">
+					<line class="highway-core highway-primary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk_link">
+					<line class="highway-core highway-trunk-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway_link">
+					<line class="highway-core highway-motorway-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="primary">
+					<line class="highway-core highway-primary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk">
+					<line class="highway-core highway-trunk-core"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway">
+					<line class="highway-core highway-motorway-core"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-1-core railway-con-1-core-color railway-1-core" smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-1-core railway-pla-1-core-color railway-1-core" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-1-core railway-dis-1-core-color railway-1-core" smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-1-core railway-aba-1-core-color railway-1-core" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-1-core railway-con-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-1-core railway-pla-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-1-core railway-dis-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-1-core railway-aba-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<line class="railway-rail-1-core railway-rail-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-1-core railway-narrow-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-1-core railway-preserved-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-1-core railway-light-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-1-core railway-tram-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-1-core railway-subway-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-1-core railway-funicular-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-1-core railway-monorail-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-1-core railway-yard-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core"/>
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-2-core railway-light-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="aeroway" v="runway">
+					<line class="aeroway-runway-core"/>
+				</rule>
+				<rule e="way" k="aeroway" v="taxiway">
+					<line class="aeroway-taxiway-core"/>
+				</rule>
+			</rule>
+		</rule>
+		
+		<!-- Tunnels -->
+		<rule e="way" k="tunnel" v="true|yes">
+			<rule e="way" k="highway" v="steps">
+				<line class="tunnel-casing highway-steps-casing tunnel" mask-class="tunnel-core highway-steps-core"/>
+				<line class="highway-steps-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+				<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<line class="tunnel-casing highway-pedestrian-casing tunnel" mask-class="tunnel-core highway-pedestrian-core"/>
+				<line class="highway-pedestrian-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+				<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+					<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+						<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</rule>
+					<else>
+						<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+						<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+				<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<line class="tunnel-casing highway-byway-1-casing tunnel" mask-class="tunnel-core highway-byway-1-core"/>
+				<line class="highway-byway-1-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<line class="tunnel-casing highway-track-casing tunnel" mask-class="tunnel-core highway-track-core"/>
+				<line class="highway-track-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<line class="tunnel-casing highway-unsurfaced-casing tunnel" mask-class="tunnel-core highway-unsurfaced-core"/>
+				<line class="highway-unsurfaced-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<line class="tunnel-casing highway-service-casing tunnel" mask-class="tunnel-core highway-service-core"/>
+				<line class="highway-service-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-unclassified-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="road">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-road-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<line class="tunnel-casing highway-tertiary-link-casing tunnel" mask-class="tunnel-core highway-tertiary-link-core"/>
+				<line class="highway-tertiary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<line class="tunnel-casing highway-tertiary-casing tunnel" mask-class="tunnel-core highway-tertiary-core"/>
+				<line class="highway-tertiary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<line class="tunnel-casing highway-secondary-link-casing tunnel" mask-class="tunnel-core highway-secondary-link-core"/>
+				<line class="highway-secondary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<line class="tunnel-casing highway-secondary-casing tunnel" mask-class="tunnel-core highway-secondary-core"/>
+				<line class="highway-secondary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<line class="tunnel-casing highway-primary-link-casing tunnel" mask-class="tunnel-core highway-primary-link-core"/>
+				<line class="highway-primary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<line class="tunnel-casing highway-trunk-link-casing tunnel" mask-class="tunnel-core highway-trunk-link-core"/>
+				<line class="highway-trunk-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<line class="tunnel-casing highway-motorway-link-casing tunnel" mask-class="tunnel-core highway-motorway-link-core"/>
+				<line class="highway-motorway-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<line class="tunnel-casing highway-primary-casing tunnel" mask-class="tunnel-core highway-primary-core"/>
+				<line class="highway-primary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<line class="tunnel-casing highway-trunk-casing tunnel" mask-class="tunnel-core highway-trunk-core"/>
+				<line class="highway-trunk-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<line class="tunnel-casing highway-motorway-casing tunnel" mask-class="tunnel-core highway-motorway-core"/>
+				<line class="highway-motorway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="railway" v="*">
+				<rule e="way" k="construction" v="yes|true">
+					<line class="railway-con-casing railway-con-casing-color tunnel-casing tunnel" mask-class="tunnel-core railway-con-1-core"/>
+					<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="planned|proposed" v="yes|true">
+						<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-1-core"/>
+						<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="disused" v="yes|true">
+							<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-1-core"/>
+							<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="abandoned|dismantled" v="yes|true">
+								<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-1-core"/>
+								<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="railway" v="construction">
+									<line class="railway-con-casing railway-con-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-con-1-core"/>
+									<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="planned|proposed">
+									<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-1-core"/>
+									<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="disused">
+									<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-1-core"/>
+									<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="abandoned|dismantled">
+									<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-1-core"/>
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="rail">
+									<line class="railway-rail-casing railway-rail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-rail-1-core"/>
+									<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core railway-rail-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="narrow_gauge">
+									<line class="railway-narrow-casing railway-narrow-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-narrow-1-core"/>
+									<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core railway-narrow-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="preserved">
+									<line class="railway-preserved-casing railway-preserved-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-preserved-1-core"/>
+									<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core railway-preserved-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="light_rail">
+									<line class="railway-light-casing railway-light-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-light-1-core"/>
+									<line class="railway-light-2-core railway-light-2-core-color railway-2-core railway-light-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="tram">
+									<line class="railway-tram-casing railway-tram-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-tram-1-core"/>
+									<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core railway-tram-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="subway">
+									<line class="railway-subway-casing railway-subway-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-subway-1-core"/>
+									<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core railway-subway-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="incline|funicular">
+									<line class="railway-funicular-casing railway-funicular-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-funicular-t-core"/>
+									<line class="railway-funicular-1-core railway-funicular-1-core-color railway-1-core railway-funicular-tunnel-core tunnel"  smart-linecap="no" />
+									<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core railway-funicular-tunnel-core tunnel-casing tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="monorail">
+									<line class="railway-monorail-casing railway-monorail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-monorail-1-core"/>
+									<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core railway-monorail-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="spur|yard|siding">
+									<line class="railway-yard-casing railway-yard-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-yard-1-core"/>
+									<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core railway-yard-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+							</else>
+						</else>
+					</else>
+				</else>
+				<line class="railway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+
+		</rule>
+		
+		<!-- highway motorway-junctions -->
+		<rule e="node" k="highway" v="motorway_junction">
+			<circle r="2" class="highway-motorway-junction"/>
+			<caption k="name" class="highway-motorway-junction-caption" dy="-2px"/>
+			<caption k="ref" class="highway-motorway-junction-caption" dy="+6px"/>
+		</rule>
+		
+		<!-- Linear cores (under construction) -->
+		<rule e="way" k="highway" v="construction">
+			<rule e="way" k="construction" v="steps">
+				<line class="highway-core highway-steps-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="footway|footpath">
+				<line class="highway-core highway-footway-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="pedestrian">
+				<line class="highway-core highway-pedestrian-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="cycleway">
+				<line class="highway-core highway-cycleway-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="highway-core highway-cycleway-core under-construction"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="highway-core highway-bridleway-core under-construction"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-footway-core under-construction"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="construction" v="bridleway">
+				<line class="highway-core highway-bridleway-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="byway">
+				<line class="highway-core highway-byway-1-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="track">
+				<line class="highway-core highway-track-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="unsurfaced">
+				<line class="highway-core highway-unsurfaced-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="service">
+				<line class="highway-core highway-service-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="unclassified|residential|minor|living_street|cycleroad">
+				<line class="highway-core highway-unclassified-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="~|road|yes">
+				<line class="highway-core highway-road-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary_link">
+				<line class="highway-core highway-tertiary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary">
+				<line class="highway-core highway-tertiary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary_link">
+				<line class="highway-core highway-secondary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary">
+				<line class="highway-core highway-secondary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="primary_link">
+				<line class="highway-core highway-primary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk_link">
+				<line class="highway-core highway-trunk-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway_link">
+				<line class="highway-core highway-motorway-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="primary">
+				<line class="highway-core highway-primary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk">
+				<line class="highway-core highway-trunk-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway">
+				<line class="highway-core highway-motorway-core under-construction"/>
+			</rule>
+		</rule>
+				
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="highway" v="motorway|motorway_link|footway|steps|pedestrian|living_street|construction|planned|proposed|disused|abandoned|dismantled">
+			</rule>
+			<else>
+				<rule e="way" k="bicycle" v="no">
+					<rule e="way" k="motorroad" v="yes">
+					</rule>
+					<else>
+						<line class="highway-nobicycle-3" smart-linecap="no" />
+					</else>
+				</rule>
+			</else>
+		</rule>
+
+		<!-- access restrictions -->
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="construction|planned|proposed|disused|abandoned|dismantled" v="yes|true">
+				<line class="wrong-under-construction" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="area" v="yes|true">
+				<rule e="way" k="access" v="private">
+					<area class="access-private-area"/>
+				</rule>
+				<rule e="way" k="access" v="permissive">
+					<area class="access-permissive-area"/>
+				</rule>
+				<rule e="way" k="access" v="destination">
+					<area class="access-destination-area"/>
+				</rule>
+				<rule e="way" k="access" v="no">
+					<area class="access-no-area"/>
+				</rule>
+			</rule>
+			<else>
+				<rule e="way" k="highway" v="footway|footpath|cycleway|path|bridleway|byway|unsurfaced">
+					<rule e="way" k="access" v="private">
+						<line class="access-private-line" smart-linecap="no"/>
+					</rule>
+					<rule e="way" k="access" v="permissive">
+						<line class="access-permissive-line" smart-linecap="no"/>
+					</rule>
+					<rule e="way" k="access" v="destination">
+						<line class="access-destination-line" smart-linecap="no"/>
+					</rule>
+					<rule e="way" k="access" v="no">
+						<line class="access-no-line" smart-linecap="no"/>
+					</rule>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="track">
+						<rule e="way" k="tracktype" v="grade3|grade4|grade5">
+							<rule e="way" k="access" v="private">
+								<line class="access-private-line" smart-linecap="no"/>
+							</rule>
+							<rule e="way" k="access" v="permissive">
+								<line class="access-permissive-line" smart-linecap="no"/>
+							</rule>
+							<rule e="way" k="access" v="destination">
+								<line class="access-destination-line" smart-linecap="no"/>
+							</rule>
+							<rule e="way" k="access" v="no">
+								<line class="access-no-line" smart-linecap="no"/>
+							</rule>
+						</rule>
+						<else>
+							<rule e="way" k="access" v="private">
+								<line class="access-private-line"/>
+							</rule>
+							<rule e="way" k="access" v="permissive">
+								<line class="access-permissive-line"/>
+							</rule>
+							<rule e="way" k="access" v="destination">
+								<line class="access-destination-line"/>
+							</rule>
+							<rule e="way" k="access" v="no">
+								<line class="access-no-line"/>
+							</rule>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="access" v="private">
+							<line class="access-private-line"/>
+						</rule>
+						<rule e="way" k="access" v="permissive">
+							<line class="access-permissive-line"/>
+						</rule>
+						<rule e="way" k="access" v="destination">
+							<line class="access-destination-line"/>
+						</rule>
+						<rule e="way" k="access" v="no">
+							<line class="access-no-line"/>
+						</rule>
+					</else>
+				</else>
+			</else>
+		</rule>
+		
+		<!-- Mini-roundabouts -->
+		<rule e="node" k="highway" v="mini_roundabout">
+			<rule e="node" k="direction" v="clockwise">
+				<symbol ref="roundabout_left" position="center" transform="scale(0.6)"/>
+			</rule>
+			<else>
+				<!-- Default is anti-clockwise -->
+				<symbol ref="roundabout_right" position="center" transform="scale(0.6)"/>
+			</else>
+		</rule>
+		
+		<!-- Piste maps: -->
+		<!-- piste areas -->
+		<rule e="way" k="piste:type" v="downhill" closed="yes">
+			<rule e="way" k="piste:difficulty" v="novice">
+				<line class="piste-area piste-area-difficulty-novice" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="easy">
+				<line class="piste-area piste-area-difficulty-easy" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="intermediate">
+				<line class="piste-area piste-area-difficulty-intermediate" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="advanced">
+				<line class="piste-area piste-area-difficulty-advanced" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="expert">
+				<line class="piste-area piste-area-difficulty-expert" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="freeride">
+				<line class="piste-area piste-area-difficulty-freeride" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="~">
+				<line class="piste-area piste-area-difficulty-other" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="name|ref" v="*">
+				<!-- prefer to render name, otherwise render ref -->
+				<rule e="way" k="name" v="~">
+					<rule e="way" k="ref" v="*">
+						<areaText k="ref" dy="0px" class="piste-downhill-ref" text-anchor="middle"/>
+					</rule>
+				</rule>
+				<else>
+					<rule e="way" k="ref" v="*">
+						<areaText k="ref" dy="-3px" class="piste-downhill-ref" text-anchor="middle"/>
+					</rule>
+					<rule e="way" k="name" v="*">
+						<areaText k="name" dy="3px" class="piste-downhill-name-casing" text-anchor="middle"/>
+						<areaText k="name" dy="3px" class="piste-downhill-name" text-anchor="middle"/>
+					</rule>
+				</else>
+			</rule>
+		</rule>
+		<!-- piste ways -->
+		<rule e="way" k="piste:type" v="downhill" closed="no">
+			<rule e="way" k="piste:difficulty" v="novice">
+				<line class="piste-core piste-difficulty-novice" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="easy">
+				<line class="piste-core piste-difficulty-easy" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="intermediate">
+				<line class="piste-core piste-difficulty-intermediate" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="advanced">
+				<line class="piste-core piste-difficulty-advanced" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="expert">
+				<line class="piste-core piste-difficulty-expert" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="freeride">
+				<line class="piste-core piste-difficulty-freeride" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="~">
+				<line class="piste-core piste-difficulty-other" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="name|ref" v="*">
+				<!-- prefer to render name, otherwise render ref -->
+				<rule e="way" k="name" v="~">
+					<rule e="way" k="ref" v="*">
+						<pathText k="ref" dy="2px" class="piste-downhill-ref" text-anchor="middle" startOffset="75%"/>
+					</rule>
+				</rule>
+				<else>
+					<rule e="way" k="ref" v="*">
+						<pathText k="ref" dy="2px" class="piste-downhill-ref" text-anchor="middle" startOffset="25%"/>
+					</rule>
+					<rule e="way" k="name" v="*">
+						<pathText k="name" dy="2px" class="piste-downhill-name" text-anchor="middle" startOffset="75%"/>
+					</rule>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="piste:type" v="sled">
+			<line class="piste-type-sled"/>
+		</rule>
+		<rule e="way" k="piste:type" v="nordic">
+			<line smart-linecap="no" class="piste-type-nordic"/>
+		</rule>
+		<rule e="way" k="man_made" v="piste:halfpipe">
+			<area class="man-made-piste-halfpipe"/>
+			<symbol ref="man-made-halfpipe" position="center"/>
+		</rule>
+		
+		<!-- Surface lifts (render over pistes) -->
+		<rule e="way" k="piste:lift" v="*">
+			<rule e="way" k="piste:lift" v="t-bar|j-bar|platter">
+				<line smart-linecap="no" class="aerialway-line piste-lift-t-bar-marker no-bezier"/>
+				<line smart-linecap="no" class="aerialway-struts no-bezier"/>
+			</rule>
+			<rule e="way" k="piste:lift" v="rope_tow">
+				<line smart-linecap="no" class="piste-lift-rope-tow no-bezier"/>
+			</rule>
+			<rule e="way" k="piste:lift" v="magic_carpet">
+				<line smart-linecap="no" class="piste-lift-magic-carpet no-bezier"/>
+			</rule>
+			<rule e="way" k="name" v="*">
+				<pathText k="name" dx="0px" dy="-3px" class="aerialway-name" text-anchor="middle" startOffset="50%"/>
+			</rule>
+		</rule>
+		
+		<!-- Aerialways (render over pistes) -->
+		<rule e="node|way" k="aerialway" v="*">
+			<rule e="way" k="aerialway" v="cable_car">
+				<line class="aerialway-line aerialway-cablecar-marker no-bezier" smart-linecap="no"/>
+			</rule>
+			<else>
+				<rule e="way" k="aerialway" v="gondola">
+					<line class="aerialway-line aerialway-gondola-marker no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="aerialway" v="chair_lift">
+						<rule e="way" k="piste:lift:occupancy" v="4|5|6">
+							<line class="aerialway-line aerialway-chairlift4-marker no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="aerialway-line aerialway-chairlift2-marker no-bezier" smart-linecap="no"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="aerialway" v="mixed_lift">
+							<line class="aerialway-line aerialway-mixedlift-marker no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="aerialway" v="*">
+								<line class="aerialway-line no-bezier" smart-linecap="no"/>
+							</rule>
+						</else>
+					</else>
+				</else>
+			</else>
+			<line smart-linecap="no" class="aerialway-struts no-bezier"/>
+			<rule e="node" k="aerialway" v="station">
+				<circle r="1.5px" class="aerialway-station"/>
+			</rule>
+			<rule e="way" k="name" v="*">
+				<pathText k="name" dx="0px" dy="-3px" class="aerialway-name" text-anchor="middle" startOffset="50%"/>
+			</rule>
+		</rule>
+		
+		<!-- Natural features -->
+		<rule e="node" k="natural" v="peak">
+			<symbol ref="peak" position="center"/>
+		</rule>
+		<rule e="node" k="natural" v="volcano">
+			<symbol ref="vulcan" position="center"/>
+		</rule>
+		<rule e="node" k="tourism" v="viewpoint">
+			<symbol ref="viewpoint" position="center"/>
+		</rule>
+		<rule e="node" k="natural" v="cave_entrance">
+			<symbol ref="cave_entrance" position="center"/>
+		</rule>
+		<rule e="node" k="mountain_pass" v="yes" layer="-5">
+			<rule e="node" s="way" k="highway|track" v="path|secondary|track|unclassified|tertiary|primary|footway|unclassified|trunk|service|motorway|residential|bridleway|road|cycleway">
+				<wayMarker k="highway" class="mountain_pass" layer="-5"/>
+			</rule>
+			<else>
+				<symbol ref="mountain_pass" position="center" layer="-5"/>
+			</else>
+		</rule>
+		
+		<!-- Draw marine features -->
+		<rule e="way" k="man_made" v="breakwater">
+			<line class="breakwater"/>
+		</rule>
+		<rule e="way" k="man_made" v="pier" closed="yes">
+			<line class="artificial-pier-area"/>
+		</rule>
+		<rule e="way" k="man_made" v="pier" closed="no">
+			<line class="artificial-pier-casing"/>
+		</rule>
+		<rule e="way" k="man_made" v="pier" closed="no">
+			<line class="artificial-pier-core"/>
+		</rule>
+
+		<!-- Power lines and pylons -->
+		<rule e="way" k="power" v="line">
+			<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+			<line class="power-line no-bezier" smart-linecap="no"/>
+		</rule>
+		<rule e="node|way" k="power" v="tower">
+			<symbol ref="power-tower" position="center"/>
+		</rule>
+
+		<!-- Power generators -->
+		<rule e="node" k="power" v="generator">
+			<rule e="node" k="power_source" v="wind">
+				<symbol ref="power_wind" position="center"/>
+			</rule>
+			<else>
+				<rule e="node" k="power_source" v="hydro">
+					<symbol ref="power_hydro" position="center"/>
+				</rule>
+				<else>
+					<rule e="node" k="power_source" v="photovoltaic">
+						<symbol ref="power_photovoltaic" position="center"/>
+					</rule>
+					<else>
+						<symbol ref="power_generic" position="center"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="power" v="generator">
+			<rule e="way" k="power_source" v="wind">
+				<area class="power-wind"/>
+			</rule>
+			<else>
+				<rule e="way" k="power_source" v="hydro">
+					<area class="power-hydro"/>
+				</rule>
+				<else>
+					<rule e="way" k="power_source" v="photovoltaic">
+						<area class="power-photovoltaic"/>
+					</rule>
+					<else>
+						<area class="power-generic"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+
+		<!-- Electrical substations -->
+		<rule e="way" k="power" v="station|sub_station">
+			<area class="power-generic"/>
+		</rule>
+		
+		<!-- Non-physical routes -->
+		<rule e="way" k="route" v="ferry">
+			<line class="route-ferry"/>
+		</rule>
+		
+		<!-- platforms nodes -->
+		<rule e="node" k="highway|railway|public_transport" v="platform">
+			<circle r="0.6px" class="highway-platform-node" />
+		</rule>
+
+		<!-- Railway stations -->
+		<rule e="node" k="railway" v="station">
+			<rule e="node" s="way" k="railway" v="rail">
+				<circle r="2" class="railway-station"/>
+			</rule>
+			<else>
+				<circle r="1.5" class="railway-halt"/>
+			</else>
+		</rule>
+		<rule e="node" k="railway" v="halt">
+			<circle r="1.5" class="railway-halt"/>
+		</rule>
+		<!-- tram stops -->
+		<rule e="node" k="railway" v="tram_stop">
+			<circle r="1.5" class="railway-halt"/>
+		</rule>
+		
+		<!-- Amenities -->
+		<rule e="node|way" k="amenity" v="hospital">
+			<symbol ref="hospital" position="center"/>
+		</rule>
+		<rule e="node|way" k="tourism" v="alpine_hut">
+			<symbol ref="alpine_hut" position="center" transform="scale(0.7)"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="shelter">
+			<rule e="node|way" k="fireplace" v="yes">
+				<symbol ref="shelter-fireplace" position="center" transform="scale(0.7)"/>
+			</rule>
+			<else>
+				<symbol ref="shelter" position="center" transform="scale(0.7)"/>
+			</else>
+		</rule>
+		
+		<!-- ==================================== Layer -5 ======================================== -->
+		
+		<!-- Access restrictions for areas -->
+		<rule e="way" k="landuse" v="conservation" layer="-5">
+			<rule e="way" k="access" v="private" layer="-5">
+				<area class="access-private-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="permissive" layer="-5">
+				<area class="access-permissive-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="destination" layer="-5">
+				<area class="access-destination-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="no" layer="-5">
+				<area class="access-no-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="leisure" v="park" layer="-5">
+			<rule e="way" k="access" v="private" layer="-5">
+				<area class="access-private-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="permissive" layer="-5">
+				<area class="access-permissive-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="destination" layer="-5">
+				<area class="access-destination-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="no" layer="-5">
+				<area class="access-no-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="leisure" v="recreation_ground" layer="-5">
+			<rule e="way" k="access" v="private" layer="-5">
+				<area class="access-private-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="permissive" layer="-5">
+				<area class="access-permissive-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="destination" layer="-5">
+				<area class="access-destination-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="no" layer="-5">
+				<area class="access-no-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+		</rule>
+
+		<!-- Landuse -->
+		<rule e="way" k="landuse" v="residential|farmyard" layer="-5">
+			<area class="landuse-residential" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="retail" layer="-5">
+			<area class="landuse-retail" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="industrial|brownfield|railway" layer="-5">
+			<area class="landuse-industrial" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="commercial" layer="-5">
+			<area class="landuse-commercial" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="construction|greenfield" layer="-5">
+			<area class="landuse-construction" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="garages" layer="-5">
+			<area class="landuse-garages" layer="-5"/>
+		</rule>
+		
+		<!-- Artificial landuse -->
+		<rule e="way" k="amenity" v="kindergarten|school|college|university" layer="-5">
+			<area class="amenity-school" layer="-5"/>
+		</rule>
+		
+		<!-- Man-made areas -->
+		<rule e="way" k="landuse" v="military" layer="-5">
+			<rule e="way" k="military" v="~" layer="-5">
+				<area class="military-area" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="military" v="*" layer="-5">
+			<area class="military-area" layer="-5"/>
+		</rule>
+		
+		
+		<!-- ==================================== Layer 5 ======================================== -->
+		
+		<!-- Non-physical boundaries -->
+		<rule e="way" k="boundary" v="administrative" layer="5">
+			<rule e="way" k="admin_level" v="1|2|3|4|5|6|7|8|9|10" layer="5">
+				<rule e="way" k="admin_level" v="10" layer="5">
+					<line class="boundary boundary-level-10-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="9" layer="5">
+					<line class="boundary boundary-level-9-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="8" layer="5">
+					<line class="boundary boundary-level-8-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="7" layer="5">
+					<line class="boundary boundary-level-7-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="6" layer="5">
+					<line class="boundary boundary-level-6-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="5" layer="5">
+					<line class="boundary boundary-level-5-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="4" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="3" layer="5">
+					<line class="boundary boundary-level-3-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="2" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="1" layer="5">
+					<line class="boundary boundary-level-1-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-1-core no-bezier" layer="5"/>
+				</rule>
+			</rule>
+			<!-- If we don't have explicit admin_level then guess -->
+			<else>
+				<rule e="way" k="border_type" v="suburb" layer="5">
+					<line class="boundary boundary-level-10-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="municipality|city" layer="5">
+					<line class="boundary boundary-level-8-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="county|district" layer="5">
+					<line class="boundary boundary-level-6-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="region|state" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="nation|country" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+			</else>
+		</rule>
+		<rule e="way" k="boundary" v="national_park" layer="5">
+			<line class="boundary boundary-nationalpark-core no-bezier" layer="5"/>
+		</rule>
+		
+		<!-- Waterway and Street names -->
+		<rule e="way" k="osmarender:renderName" v="~|yes" layer="5">
+			<rule e="way" k="tunnel" v="~|no|false" layer="5"> <!-- no names in tunnels -->
+				<rule e="way" k="area" v="~|no|false" layer="5"> <!-- don't draw linear names around areas -->
+					<rule e="way" k="junction" v="~" layer="5"> <!-- no names on or along junctions -->
+						<rule e="way" k="junction" v="~" layer="5"> <!-- no names on or along junctions -->
+							<rule e="way" k="waterway" v="canal" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-canal-name-casing" dy="2px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-canal-name-core" dy="2px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="river" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-river-name-casing" dy="2px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-river-name-core" dy="2px" layer="5"/>
+							</rule>
+						</rule>
+						<else>
+							<rule e="way" k="waterway" v="canal" layer="5">
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-casing waterway-canal-name-casing" dy="2px" layer="5"/>
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-core waterway-canal-name-core" dy="2px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="river" layer="5">
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-casing waterway-river-name-casing" dy="2px" layer="5"/>
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-core waterway-river-name-core" dy="2px" layer="5"/>
+							</rule>
+						</else>
+						<rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad|road" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-unclassified-name" dy="1.6px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="tertiary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-tertiary-link-name" dy="1.8px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="tertiary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-tertiary-name" dy="1.8px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="secondary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-secondary-link-name" dy="1.8px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="secondary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-secondary-name" dy="1.8px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="primary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-primary-link-name" dy="2.1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="trunk_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-trunk-link-name" dy="2.1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="motorway_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-motorway-link-name" dy="2.1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="primary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-primary-name" dy="2.1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="trunk" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-trunk-name" dy="2.1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="motorway" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-motorway-name" dy="2.1px" layer="5" avoid-duplicates="true" />
+						</rule>
+					</rule>
+				</rule>
+				<rule e="way" k="natural" v="allotments|basin|brownfield|cemetery|commercial|construction|farm|farmyard|farmland|forest|garages|grass|greenfield|greenhouse_horticulture|industrial|landfill|meadow|military|orchard|quarry|railway|recreation_ground|reservoir|retail|salt_pond|street|village_green|vineyard" minSize="0.008" layer="5">
+					<caption k="name" class="caption-casing largefeature-caption-casing" text-anchor='middle' startOffset='50%' layer="1"/>
+					<caption k="name" class="caption-core largefeature-caption-core" text-anchor='middle' startOffset='50%' layer="1"/>
+				</rule>
+				<!-- Add landuse names, e.g. to display names of forest parcels teinted by a large wooden area -->
+				<rule e="way" k="landuse" v="*" minSize="0.008" layer="5">
+					<caption k="name" class="caption-casing largefeature-caption-casing" text-anchor='middle' startOffset='50%' layer="1"/>
+					<caption k="name" class="caption-core largefeature-caption-core" text-anchor='middle' startOffset='50%' layer="1"/>
+				</rule>
+			</rule>
+
+
+			<!-- Road numbers for all highways -->
+			<rule e="way" k="osmarender:renderRef" v="~|yes" layer="5">
+				<rule e="way" k="tunnel" v="~|no|false" layer="5"> <!-- no road numbers in tunnels -->
+					<rule e="way" k="junction" v="~" layer="5"> <!-- no ref on junctions / roundabouts -->
+						<!-- Use startOffset to prevent captions from colliding on dual carriageways -->
+						<rule e="way" k="highway" v="tertiary" layer="5">
+							<pathText k="ref" startOffset="30%" class="highway-ref highway-tertiary-ref" dy="-3.5px" textAttenuation="1.5" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="secondary" layer="5">
+							<pathText k="ref" startOffset="30%" class="highway-ref highway-secondary-ref" dy="-3.5px" textAttenuation="1.5" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="primary" layer="5">
+							<pathText k="ref" startOffset="30%" class="highway-ref highway-primary-ref" dy="-3.5px" textAttenuation="1.5" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="trunk" layer="5">
+							<pathText k="ref" startOffset="30%" class="highway-ref highway-trunk-ref" dy="-3.5px" textAttenuation="1.5" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="motorway" layer="5">
+							<pathText k="ref" startOffset="30%" class="highway-ref highway-motorway-ref" dy="-4px" textAttenuation="1.5" layer="5" avoid-duplicates="true" />
+						</rule>
+					</rule>
+				</rule>
+			</rule>
+		</rule>
+		
+		<!-- Place names  -->
+		<rule e="node|way" k="osmarender:renderName" v="~|yes" layer="5">
+			<rule e="node" k="natural" v="peak|volcano" layer="5">
+				<caption k="name" class="place-caption peak-caption" dy="-5px" layer="5"/>
+			</rule>
+			<rule e="node" k="natural" v="cave_entrance" layer="5">
+				<caption k="name" class="place-caption cave-caption" dy="-5px" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="island" layer="5">
+				<caption k="name" class="place-caption island-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="islet" layer="5">
+				<caption k="name" class="place-caption islet-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="village" layer="5">
+				<caption k="name" class="place-caption village-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="suburb" layer="5">
+				<caption k="name" class="place-caption suburb-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="hamlet" layer="5">
+				<caption k="name" class="place-caption hamlet-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="locality" layer="5">
+				<caption k="name" class="place-caption locality-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="farm" layer="5">
+				<caption k="name" class="place-caption farm-caption" layer="5"/>
+			</rule>
+			<rule e="node|way" k="tourism" v="attraction" layer="5">
+				<rule e="way" k="highway" v="~">
+					<caption k="name" class="tourism-attraction-caption" layer="5"/>
+				</rule>
+			</rule>
+
+			<rule e="node" k="railway" v="station" layer="5">
+				<rule e="node" s="way" k="railway" v="rail" layer="5">
+					<caption k="name" class="caption-casing railway-station-caption-casing" dy="-5px" layer="5"/>
+					<caption k="name" class="caption-core railway-station-caption-core" dy="-5px" layer="5"/>
+				</rule>
+			</rule>
+		</rule>
+	</rule>
+	
+	<!-- SVG Definitions - markers, symbols etc go here -->
+	<include ref="markers.xml"/>
+	<defs>
+		<style xmlns="http://www.w3.org/2000/svg" id="styles" type="text/css">
+			/* DO NOT DELETE - Used by osmarender.xsl */
+			.untagged-segments {
+			stroke-width: 0.5px;
+			stroke-linejoin: round;
+			stroke-linecap: butt;
+			stroke: #e0e0e0;
+			stroke-dasharray: 0.5,0.5;
+			}
+			
+			.canal-lock {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#canal-lock);
+			}
+			
+			/* Highways - generic styles */
+			.highway-casing {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.highway-core {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.highway-motorway-junction {
+			fill: yellow;
+			stroke: #4D5D73;
+			stroke-width: 1px;
+			}
+			
+			.highway-motorway-junction-caption {
+			fill: black;
+			stroke: black;
+			stroke-width: 0.2px;
+			font-family: "DejaVu Sans";
+			font-size: 5px;
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			.highway-ref {
+			fill: #606060;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			text-anchor: middle;
+			}
+			
+			.highway-name {
+			fill: black;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			text-anchor: middle;
+			}
+			
+			.highway-nobicycle-1 { stroke-width: 6.6px; stroke: #000080; stroke-dasharray: 0.3,4.7; stroke-linecap: butt; fill: none; stroke-miterlimit: 0.1; }
+			.highway-nobicycle-2 { stroke-width: 4.6px; stroke: #d1fad1; stroke-dasharray: 0.3,4.7; stroke-linecap: butt; fill: none; stroke-miterlimit: 0.1; }
+			.highway-nobicycle-3 { stroke-width: 1.0px; stroke: #000080; stroke-dasharray: 0.3,4.7; stroke-linecap: butt; fill: none; stroke-miterlimit: 0.1; }
+
+			.bridge-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			marker-start: url(#bridge-casing-start);
+			marker-end: url(#bridge-casing-end);
+			}
+			
+			.bridge-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #ffffff;
+			fill: none;
+			}
+			
+			.tunnel-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.tunnel-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.tunnel { stroke-dasharray: 1.4, 1.4; }
+			
+			.railway-casing { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-1-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-2-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-core   { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+
+			.railway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			stroke: #b0b0b0;
+			stroke-width: 4px;
+			}
+
+			.railway-rail-casing                    { stroke-width: 2.0px; }
+			.railway-rail-1-core                    { stroke-width: 1.2px; }
+			.railway-rail-2-core                    { stroke-width: 1.2px; stroke-dasharray: 4.5,4.5; }
+			.railway-rail-casing-color              { stroke: #333333; }
+			.railway-rail-1-core-color              { stroke: #e6e6e6; }
+			.railway-rail-2-core-color              { stroke: #333333; }
+			.railway-rail-tunnel-core               { stroke-opacity: 0.15; }
+
+			.railway-narrow-casing                    { stroke-width: 1.6px; }
+			.railway-narrow-1-core                    { stroke-width: 1.0px; }
+			.railway-narrow-2-core                    { stroke-width: 1.0px; stroke-dasharray: 5.5,5.5; }
+			.railway-narrow-casing-color              { stroke: #333333; }
+			.railway-narrow-1-core-color              { stroke: #e6e6e6; }
+			.railway-narrow-2-core-color              { stroke: #333333; }
+			.railway-narrow-tunnel-core               { stroke-opacity: 0.15; }
+
+			.railway-preserved-casing                    { stroke-width: 1.6px; }
+			.railway-preserved-1-core                    { stroke-width: 1.0px; }
+			.railway-preserved-2-core                    { stroke-width: 1.0px; stroke-dasharray: 4.5,4.5; }
+			.railway-preserved-casing-color              { stroke: #909090; }
+			.railway-preserved-1-core-color              { stroke: #e6e6e6; }
+			.railway-preserved-2-core-color              { stroke: #333333; }
+			.railway-preserved-tunnel-core               { stroke-opacity: 0.15; }
+
+			.railway-light-casing                    { stroke-width: 1.6px; }
+			.railway-light-1-core                    { stroke-width: 1.0px; }
+			.railway-light-2-core                    { stroke-width: 1.0px; stroke-dasharray: 3.8,5.4; }
+			.railway-light-casing-color              { stroke: #0f4c0f; }
+			.railway-light-1-core-color              { stroke: #b7e6e6; }
+			.railway-light-2-core-color              { stroke: #0f4c0f; }
+			.railway-light-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-tram-casing                    { stroke-width: 1.6px; }
+			.railway-tram-1-core                    { stroke-width: 1.0px; }
+			.railway-tram-2-core                    { stroke-width: 1.0px; stroke-dasharray: 3.6,5.4; }
+			.railway-tram-casing-color              { stroke: #4c0f4c; }
+			.railway-tram-1-core-color              { stroke: #e6b7e6; }
+			.railway-tram-2-core-color              { stroke: #4c0f4c; }
+			.railway-tram-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-subway-casing                    { stroke-width: 1.6px; }
+			.railway-subway-1-core                    { stroke-width: 1.0px; }
+			.railway-subway-2-core                    { stroke-width: 1.0px; stroke-dasharray: 3.6,5.4; }
+			.railway-subway-casing-color              { stroke: #0f0f4c; }
+			.railway-subway-1-core-color              { stroke: #b7b7e6; }
+			.railway-subway-2-core-color              { stroke: #0f0f4c; }
+			.railway-subway-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-funicular-casing                    { stroke-width: 1.6px; }
+			.railway-funicular-1-core                    { stroke-width: 1.0px; stroke-dasharray: 3.6,5.4; }
+			.railway-funicular-t-core                    { stroke-width: 1.0px; }
+			.railway-funicular-2-core                    { stroke-width: 0.25px; }
+			.railway-funicular-casing-color              { stroke: #4c0f0f; }
+			.railway-funicular-1-core-color              { stroke: #e6b7b7; }
+			.railway-funicular-2-core-color              { stroke: #4c0f0f; }
+			.railway-funicular-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-monorail-casing                    { stroke-width: 1.6px; }
+			.railway-monorail-1-core                    { stroke-width: 1.0px; }
+			.railway-monorail-2-core                    { stroke-width: 0.25px; }
+			.railway-monorail-casing-color              { stroke: #4c0f0f; }
+			.railway-monorail-1-core-color              { stroke: #e6b7b7; }
+			.railway-monorail-2-core-color              { stroke: #ffffff; }
+			.railway-monorail-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-yard-casing                    { stroke-width: 1.2px; }
+			.railway-yard-1-core                    { stroke-width: 0.7px; }
+			.railway-yard-2-core                    { stroke-width: 0.7px; stroke-dasharray: 3,6; }
+			.railway-yard-casing-color              { stroke: #333333; }
+			.railway-yard-1-core-color              { stroke: #e6e6e6; }
+			.railway-yard-2-core-color              { stroke: #333333; }
+			.railway-yard-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-con-casing                { stroke-width: 1.6px; stroke-dasharray: 1.5,1.5; }
+			.railway-con-1-core                { stroke-width: 1.0px; }
+			.railway-con-2-core                { stroke-width: 1.0px; stroke-dasharray: 1.5,1.5,1.5,4.5; }
+			.railway-con-casing-color          { stroke: #606060; }
+			.railway-con-1-core-color          { stroke: #f2f2f2; }
+			.railway-con-2-core-color          { stroke: #606060; }
+			.railway-con-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-pla-casing                { stroke-width: 1.6px; stroke-dasharray: 1.5,1.5; }
+			.railway-pla-1-core                { stroke-width: 1.0px; }
+			.railway-pla-2-core                { stroke-width: 1.0px; stroke-dasharray: 1.5,1.5,1.5,4.5; }
+			.railway-pla-casing-color          { stroke: #b2b2b2; }
+			.railway-pla-1-core-color          { stroke: #ffffff; }
+			.railway-pla-2-core-color          { stroke: #b2b2b2; }
+			.railway-pla-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-dis-casing                { stroke-width: 1.6px; stroke-opacity: 0.7; }
+			.railway-dis-1-core                { stroke-width: 1.0px; stroke-opacity: 0.7; }
+			.railway-dis-2-core                { stroke-width: 1.0px; stroke-opacity: 0.7; stroke-dasharray: 4.5,4.5; }
+			.railway-dis-casing-color          { stroke: #808080; }
+			.railway-dis-1-core-color          { stroke: #f2f2f2; }
+			.railway-dis-2-core-color          { stroke: #808080; }
+			.railway-dis-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-aba-casing                { stroke-width: 1.6px; stroke-opacity: 0.4; }
+			.railway-aba-1-core                { stroke-width: 1.0px; stroke-opacity: 0.4; }
+			.railway-aba-2-core                { stroke-width: 1.0px; stroke-opacity: 0.4; stroke-dasharray: 4.5,4.5; }
+			.railway-aba-casing-color          { stroke: #b2b2b2; }
+			.railway-aba-1-core-color          { stroke: #ffffff; }
+			.railway-aba-2-core-color          { stroke: #b2b2b2; }
+			.railway-aba-tunnel-core               { stroke-opacity: 0.1; }
+
+			.highway-motorway-casing                { stroke-width: 5.2px;  stroke: #707070; }
+			.highway-motorway-cy1-casing            { stroke-width: 6.9px;     stroke: #707070; }
+			.highway-motorway-cy2-casing            { stroke-width: 6.3px;     stroke: #d1fad1; }
+			.highway-motorway-area-casing           { stroke-width: 0.7px; }
+			.highway-motorway-core                  { stroke-width: 4.5px;  stroke: #809BC0; }
+			.highway-motorway-area                  { fill: #809BC0; }
+			.highway-motorway-name                  { stroke-width: 0px;     font-size: 6px; }
+			.highway-motorway-ref                   { stroke-width: 0px;     font-size: 6px; }
+						
+			.highway-motorway-link-casing           { stroke-width: 5.2px;     stroke: #707070; }
+			.highway-motorway-link-cy1-casing       { stroke-width: 6.9px;     stroke: #707070; }
+			.highway-motorway-link-cy2-casing       { stroke-width: 6.3px;     stroke: #d1fad1; }
+			.highway-motorway-link-area-casing      { stroke-width: 0.7px; }
+			.highway-motorway-link-core             { stroke-width: 4.5px;  stroke: #809BC0; }
+			.highway-motorway-link-area             { fill: #809BC0; }
+			.highway-motorway-link-name             { stroke-width: 0px;     font-size: 6px; }
+			.highway-motorway-link-ref              { stroke-width: 0px;     font-size: 6px; }
+
+			.highway-trunk-casing                   { stroke-width: 5.2px;     stroke: #707070; }
+			.highway-trunk-cy1-casing               { stroke-width: 6.9px;     stroke: #707070; }
+			.highway-trunk-cy2-casing               { stroke-width: 6.3px;     stroke: #d1fad1; }
+			.highway-trunk-mr1-casing               { stroke-width: 6.5px;     stroke: #707070; }
+			.highway-trunk-mr2-casing               { stroke-width: 6.0px;     stroke: #809BC0; }
+			.highway-trunk-mr3-casing               { stroke-width: 6.0px;     stroke: #FDBF6F; }
+			.highway-trunk-mrcy1-casing             { stroke-width: 7.7px;     stroke: #707070; }
+			.highway-trunk-mrcy2-casing             { stroke-width: 7.3px;     stroke: #d1fad1; }
+			.highway-trunk-mrcy3-casing             { stroke-width: 5.8px;     stroke: #809BC0; }
+			.highway-trunk-mrcy4-casing             { stroke-width: 5.8px;     stroke: #FDBF6F; }
+			.highway-trunk-area-casing              { stroke-width: 0.7px; }
+			.highway-trunk-core                     { stroke-width: 4.5px;  stroke: #7FC97F; }
+			.highway-trunk-area                     { fill: #7FC97F; }
+			.highway-trunk-name                     { stroke-width: 0px;     font-size: 6px; }
+			.highway-trunk-ref                      { stroke-width: 0px;     font-size: 6px; }
+			
+			.highway-trunk-link-casing              { stroke-width: 5.2px;     stroke: #707070; }
+			.highway-trunk-link-area-casing         { stroke-width: 0.7px; }
+			.highway-trunk-link-cy1-casing               { stroke-width: 6.9px;     stroke: #707070; }
+			.highway-trunk-link-cy2-casing               { stroke-width: 6.3px;     stroke: #d1fad1; }
+			.highway-trunk-link-mr1-casing               { stroke-width: 6.5px;     stroke: #707070; }
+			.highway-trunk-link-mr2-casing               { stroke-width: 6.0px;     stroke: #809BC0; }
+			.highway-trunk-link-mr3-casing               { stroke-width: 6.0px;     stroke: #FDBF6F; }
+			.highway-trunk-link-mrcy1-casing             { stroke-width: 7.7px;     stroke: #707070; }
+			.highway-trunk-link-mrcy2-casing             { stroke-width: 7.3px;     stroke: #d1fad1; }
+			.highway-trunk-link-mrcy3-casing             { stroke-width: 5.8px;     stroke: #809BC0; }
+			.highway-trunk-link-mrcy4-casing             { stroke-width: 5.8px;     stroke: #FDBF6F; }
+			.highway-trunk-link-core                { stroke-width: 4.5px;  stroke: #7FC97F; }
+			.highway-trunk-link-area                { fill: #7FC97F; }
+			.highway-trunk-link-name                { stroke-width: 0px;     font-size: 6px; }
+			.highway-trunk-link-ref                 { stroke-width: 0px;     font-size: 6px; }
+			
+			.highway-primary-casing                 { stroke-width: 5.2px;     stroke: #707070; }
+			.highway-primary-area-casing            { stroke-width: 0.7px; }
+			.highway-primary-cy1-casing               { stroke-width: 6.9px;     stroke: #707070; }
+			.highway-primary-cy2-casing               { stroke-width: 6.3px;     stroke: #d1fad1; }
+			.highway-primary-mr1-casing               { stroke-width: 6.5px;     stroke: #707070; }
+			.highway-primary-mr2-casing               { stroke-width: 6.0px;     stroke: #809BC0; }
+			.highway-primary-mrcy1-casing             { stroke-width: 7.7px;     stroke: #707070; }
+			.highway-primary-mrcy2-casing             { stroke-width: 7.3px;     stroke: #d1fad1; }
+			.highway-primary-mrcy3-casing             { stroke-width: 5.8px;     stroke: #809BC0; }
+			.highway-primary-core                   { stroke-width: 4.5px;  stroke: #e46d71; }
+			.highway-primary-area                   { fill: #e46d71; }
+			.highway-primary-name                   { stroke-width: 0px;     font-size: 6px; }
+			.highway-primary-ref                    { stroke-width: 0px;     font-size: 6px; }
+			
+			.highway-primary-link-casing            { stroke-width: 5.2px;  stroke: #707070; }
+			.highway-primary-link-area-casing       { stroke-width: 0.7px; }
+			.highway-primary-link-cy1-casing               { stroke-width: 6.9px;     stroke: #707070; }
+			.highway-primary-link-cy2-casing               { stroke-width: 6.3px;     stroke: #d1fad1; }
+			.highway-primary-link-mr1-casing               { stroke-width: 6.5px;     stroke: #707070; }
+			.highway-primary-link-mr2-casing               { stroke-width: 6.0px;     stroke: #809BC0; }
+			.highway-primary-link-mrcy1-casing             { stroke-width: 7.7px;     stroke: #707070; }
+			.highway-primary-link-mrcy2-casing             { stroke-width: 7.3px;     stroke: #d1fad1; }
+			.highway-primary-link-mrcy3-casing             { stroke-width: 5.8px;     stroke: #809BC0; }
+			.highway-primary-link-core              { stroke-width: 4.5px;   stroke: #e46d71; }
+			.highway-primary-link-area              { fill: #e46d71; }
+			.highway-primary-link-name              { stroke-width: 0px;     font-size: 6px; }
+			.highway-primary-link-ref               { stroke-width: 0px;     font-size: 6px; }
+			
+			.highway-secondary-casing               { stroke-width: 5.2px;   stroke: #707070; }
+			.highway-secondary-area-casing          { stroke-width: 0.7px; }
+			.highway-secondary-cy1-casing               { stroke-width: 6.9px;     stroke: #707070; }
+			.highway-secondary-cy2-casing               { stroke-width: 6.3px;     stroke: #d1fad1; }
+			.highway-secondary-mr1-casing               { stroke-width: 6.5px;     stroke: #707070; }
+			.highway-secondary-mr2-casing               { stroke-width: 6.0px;     stroke: #809BC0; }
+			.highway-secondary-mrcy1-casing             { stroke-width: 7.7px;     stroke: #707070; }
+			.highway-secondary-mrcy2-casing             { stroke-width: 7.3px;     stroke: #d1fad1; }
+			.highway-secondary-mrcy3-casing             { stroke-width: 5.8px;     stroke: #809BC0; }
+			.highway-secondary-core                 { stroke-width: 4.5px;  stroke: #FDBF6F; }
+			.highway-secondary-area                 { fill: #FDBF6F; }
+			.highway-secondary-name                 { stroke-width: 0px;     font-size: 5px;}
+			.highway-secondary-ref                  { stroke-width: 0px;     font-size: 5px; }
+
+			.highway-secondary-link-casing          { stroke-width: 5.2px;   stroke: #707070; }
+			.highway-secondary-link-area-casing     { stroke-width: 0.7px; }
+			.highway-secondary-link-cy1-casing               { stroke-width: 6.9px;     stroke: #707070; }
+			.highway-secondary-link-cy2-casing               { stroke-width: 6.3px;     stroke: #d1fad1; }
+			.highway-secondary-link-mr1-casing               { stroke-width: 6.5px;     stroke: #707070; }
+			.highway-secondary-link-mr2-casing               { stroke-width: 6.0px;     stroke: #809BC0; }
+			.highway-secondary-link-mrcy1-casing             { stroke-width: 7.7px;     stroke: #707070; }
+			.highway-secondary-link-mrcy2-casing             { stroke-width: 7.3px;     stroke: #d1fad1; }
+			.highway-secondary-link-mrcy3-casing             { stroke-width: 5.8px;     stroke: #809BC0; }
+			.highway-secondary-link-core            { stroke-width: 4.5px;  stroke: #FDBF6F; }
+			.highway-secondary-link-area            { fill: #FDBF6F; }
+			.highway-secondary-link-name            { stroke-width: 0px;     font-size: 5px;}
+			.highway-secondary-link-ref             { stroke-width: 0px;     font-size: 5px; }
+			
+			.highway-tertiary-casing                { stroke-width: 5.2px;  stroke: #707070; }
+			.highway-tertiary-area-casing           { stroke-width: 0.7px; }
+			.highway-tertiary-cy1-casing               { stroke-width: 6.9px;     stroke: #707070; }
+			.highway-tertiary-cy2-casing               { stroke-width: 6.3px;     stroke: #d1fad1; }
+			.highway-tertiary-mr1-casing               { stroke-width: 6.5px;     stroke: #707070; }
+			.highway-tertiary-mr2-casing               { stroke-width: 6.0px;     stroke: #809BC0; }
+			.highway-tertiary-mrcy1-casing             { stroke-width: 7.7px;     stroke: #707070; }
+			.highway-tertiary-mrcy2-casing             { stroke-width: 7.3px;     stroke: #d1fad1; }
+			.highway-tertiary-mrcy3-casing             { stroke-width: 5.8px;     stroke: #809BC0; }
+			.highway-tertiary-core                  { stroke-width: 4.5px;   stroke: #ffff90; }
+			.highway-tertiary-area                  { fill: #ffff90; }
+			.highway-tertiary-name                  { stroke-width: 0px;     font-size: 5px; }
+			.highway-tertiary-ref                   { stroke-width: 0px;     font-size: 5px; }
+
+			.highway-tertiary-link-casing           { stroke-width: 5.2px;  stroke: #707070; }
+			.highway-tertiary-link-area-casing     { stroke-width: 0.7px; }
+			.highway-tertiary-link-cy1-casing               { stroke-width: 6.9px;     stroke: #707070; }
+			.highway-tertiary-link-cy2-casing               { stroke-width: 6.3px;     stroke: #d1fad1; }
+			.highway-tertiary-link-mr1-casing               { stroke-width: 6.5px;     stroke: #707070; }
+			.highway-tertiary-link-mr2-casing               { stroke-width: 6.0px;     stroke: #809BC0; }
+			.highway-tertiary-link-mrcy1-casing             { stroke-width: 7.7px;     stroke: #707070; }
+			.highway-tertiary-link-mrcy2-casing             { stroke-width: 7.3px;     stroke: #d1fad1; }
+			.highway-tertiary-link-mrcy3-casing             { stroke-width: 5.8px;     stroke: #809BC0; }
+			.highway-tertiary-link-core             { stroke-width: 4.5px;   stroke: #ffff90; }
+			.highway-tertiary-link-area             { fill: #ffff90; }
+			.highway-tertiary-link-name             { stroke-width: 0px;     font-size: 5px; }
+			.highway-tertiary-link-ref              { stroke-width: 0px;     font-size: 5px; }
+
+			.highway-unclassified-casing            { stroke-width: 4.2px;  stroke: #707070; }
+			.highway-unclassified-cy1-casing        { stroke-width: 5.9px;     stroke: #707070; }
+			.highway-unclassified-cy2-casing        { stroke-width: 5.3px;     stroke: #d1fad1; }
+			.highway-unclassified-area-casing       { stroke-width: 0.7px; }
+			.highway-unclassified-core              { stroke-width: 3.5px;   stroke: #ffffff; }
+			.highway-residential-casing             { stroke-width: 3.9px;  stroke: #707070; }
+			.highway-residential-cy1-casing         { stroke-width: 5.6px;  stroke: #707070; }
+			.highway-residential-cy2-casing         { stroke-width: 5.2px;  stroke: #d1fad1; }
+			.highway-residential-area-casing        { stroke-width: 0.4px; }
+			.highway-residential-core               { stroke-width: 3.5px; stroke: #ffffff; }
+			.highway-ford-core                      { stroke-width: 3.5px;   stroke: #b5d6f1; stroke-linecap: butt; }
+			.highway-unclassified-area              { fill: #ffffff; }
+			.highway-unclassified-name              { stroke-width: 0px;     font-size: 4.5px; }
+			.highway-unclassified-ref               { stroke-width: 0px;     font-size: 4.5px; }
+			.highway-unclassified-turningcircle     { fill: #ffffff; stroke-width: 0.1px; stroke: #707070; }
+			.highway-road-core                      { stroke-width: 3.5px;   stroke: #d0d0d0; }
+			.highway-road-area                      { fill: #d0d0d0; }
+
+			.highway-livingstreet-casing            { stroke-width: 3.9px;  stroke: #707070; }
+			.highway-livingstreet-area-casing       { stroke-width: 0.4px; }
+			.highway-livingstreet-core-1            { stroke-width: 3.5px; stroke: #ffffff; }
+			.highway-livingstreet-core-2            { stroke-width: 3.5px; stroke: #e5e0c2; stroke-dasharray: 0.85,1.2; stroke-linecap: butt; }
+			.highway-livingstreet-area-1            { fill: #ffffff; }
+			.highway-livingstreet-area-2            { fill: url(#livingstreet-pattern); stroke: #e5e0c2; stroke-width: 0px; }
+			
+			.highway-cycleroad-casing               { stroke-width: 3.9px;  stroke: #707070; }
+			.highway-cycleroad-area-casing          { stroke-width: 0.4px; }
+			.highway-cycleroad-core-1               { stroke-width: 3.5px; stroke: #ffffff; }
+			.highway-cycleroad-core-2               { stroke-width: 3.5px; stroke: #d1fad1; stroke-dasharray: 0.85,1.2; stroke-linecap: butt; }
+			.highway-cycleroad-area-1               { fill: #ffffff; }
+			.highway-cycleroad-area-2               { fill: url(#cycleroad-pattern); stroke: #d1fad1; stroke-width: 0px; }
+			.highway-cycleroad-core-3               { stroke-width: 3.5px;   stroke: #d1fad1; }
+			.highway-cycleroad-area-3               { fill: #d1fad1; }
+			
+			.highway-service-casing                 { stroke-width: 2px;   stroke: #707070; }
+			.highway-service-cy1-casing               { stroke-width: 3.7px;     stroke: #707070; }
+			.highway-service-cy2-casing               { stroke-width: 3.3px;     stroke: #d1fad1; }
+			.highway-service-area-casing            { stroke-width: 0.4px; }
+			.highway-service-core                   { stroke-width: 1.6px;   stroke: #ffffff; }
+			.highway-service-area                   { fill: #ffffff; }
+			.highway-service-name                   { stroke-width: 0px;     font-size: 4px; }
+			.highway-service-ref                    { stroke-width: 0px;     font-size: 4px; }
+
+			.highway-aisle-casing                   { stroke-width: 0.8px;   stroke: #707070; }
+			.highway-aisle-area-casing              { stroke-width: 0.3px; }
+			.highway-aisle-core                     { stroke-width: 0.5px;   stroke: #ffffff; }
+			.highway-aisle-area                     { fill: #ffffff; }
+
+			.highway-unsurfaced-casing              { stroke-width: 2.4px;   stroke: #707070; stroke-dasharray: 2, 1; stroke-linecap: butt; }
+			.highway-unsurfaced-cy1-casing               { stroke-width: 4.2px;     stroke: #707070; }
+			.highway-unsurfaced-cy2-casing               { stroke-width: 3.7px;     stroke: #d1fad1; }
+			.highway-unsurfaced-area-casing         { stroke-width: 0.4px; stroke-dasharray: 2, 1; stroke-linecap: butt; }
+			.highway-unsurfaced-core                { stroke-width: 2px;   stroke: #ffffff; }
+			.highway-unsurfaced-area                { fill: #ffffff; }
+			.highway-unsurfaced-name                { stroke-width: 0px;     font-size: 4.5px; }
+			.highway-unsurfaced-ref                 { stroke-width: 0px;     font-size: 4.5px; }
+
+			.highway-track-name                     { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-track-ref                      { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-track-back-casing              { stroke-width: 2.6px;   stroke: #ffffff; stroke-linecap: round; stroke-opacity: 0.8; }
+			.highway-track-casing                   { stroke-width: 2.0px;   stroke: #d79331; }
+			.highway-track-area-back-casing         { stroke-width: 0.9px;   stroke: #ffffff; }
+			.highway-track-area-casing              { stroke-width: 0.6px;   stroke: #d79331; }
+			.highway-track-core                     { stroke-width: 1.4px;   }
+			.highway-track-core2                    { stroke-width: 1.4px;   }
+			.highway-track-area                     { fill: #ffffff; }
+			.highway-track-name                     { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-track-ref                      { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-track-gradex-casing            { stroke-dasharray: 3.6, 0.4; stroke-linecap: butt; }
+			.highway-track-grade1-casing            { }
+			.highway-track-grade2-casing            { stroke-dasharray: 3.6, 1.8; stroke-linecap: butt; }
+			.highway-track-grade3-casing            { stroke-dasharray: 2.0, 2.6; stroke-linecap: butt; }
+			.highway-track-grade4-casing            { stroke-dasharray: 1.0, 2.0, 0.6, 2.0; stroke-linecap: butt; }
+			.highway-track-grade5-casing            { stroke-dasharray: 0.6, 2.0; stroke-linecap: butt; }
+			
+			.highway-track-gradex-core                     { stroke: #fff2de; }
+			.highway-track-grade1-core                     { stroke: #fffaf2; }
+			.highway-track-grade2-core                     { stroke: #fff2de; }
+			.highway-track-grade3-core                     { stroke: #fff2de; }
+			.highway-track-grade4-core                     { stroke: #fff2de; }
+			.highway-track-grade5-core                     { stroke: #fff2de; }
+			.highway-track-gradex-area                     { fill: #fff2de; }
+			.highway-track-grade1-area                     { fill: #fffaf2; }
+			.highway-track-grade2-area                     { fill: #fff2de; }
+			.highway-track-grade3-area                     { fill: #fff2de; }
+			.highway-track-grade4-area                     { fill: #fff2de; }
+			.highway-track-grade5-area                     { fill: #fff2de; }
+
+			.highway-byway-1-casing                 { stroke-width: 2px;     stroke: #505050;  stroke-dasharray: 1.4, 0.4; stroke-linecap: butt;}
+			.highway-byway-1-area-casing            { stroke-width: 0.4px; }
+			.highway-byway-2-casing                 { stroke-width: 1.6px;   stroke: #efadaa; }
+			.highway-byway-2-area-casing            { stroke-width: 0.0px; }
+			.highway-byway-3-casing                 { stroke-width: 2.8px;   stroke: #505050;  stroke-dasharray: 0.2, 1.6; stroke-dashoffset: 1.2; stroke-linecap: butt; }
+			.highway-byway-3-area-casing            { stroke-width: 1.4px; }
+			.highway-byway-1-core                   { stroke-width: 0.8px;   stroke: #efadaa; }
+			.highway-byway-area                     { fill: #efadaa; }
+			.highway-byway-name                     { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-byway-ref                      { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-bridleway-casing               { stroke-width: 2px;     stroke: #707070;  stroke-dasharray: 1.4, 0.4; stroke-linecap: butt; }
+			.highway-bridleway-area-casing          { stroke-width: 0.4px; }
+			.highway-bridleway-core                 { stroke-width: 1.6px;   stroke: #d3cb98; }
+			.highway-bridleway-area                 { fill: #d3cb98; }
+			.highway-bridleway-name                 { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-bridleway-ref                  { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-cycleway-casing                { stroke-width: 2px;   stroke: #707070; stroke-dasharray: 0.4, 0.4; stroke-linecap: butt;}
+			.highway-cycleway-area-casing           { stroke-width: 0.4px; }
+			.highway-cycleway-core                  { stroke-width: 1.6px;   stroke: #d1fad1; }
+			.highway-cycleway-area                  { fill: #d1fad1; }
+			.highway-cycleway-name                  { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-cycleway-ref                   { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-pedestrian-casing              { stroke-width: 3.9px;   stroke: #707070; }
+			.highway-pedestrian-area-casing         { stroke-width: 0.4px; }
+			.highway-pedestrian-core                { stroke-width: 3.5px;   stroke: #e5e0c2; }
+			.highway-pedestrian-area                { fill: #e5e0c2; }
+			.highway-pedestrian-name                { stroke-width: 0px;     font-size: 2px; }
+			.highway-pedestrian-ref                 { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-footway-casing                 { stroke-width: 1.4px;   stroke: #707070; stroke-dasharray: 0.4, 0.4; stroke-linecap: butt;}
+			.highway-footway-area-casing            { stroke-width: 0.4px; }
+			.highway-footway-core                   { stroke-width: 1.0px;   stroke: #e5e0c2; }
+			.highway-footway-area                   { fill: #e5e0c2; }
+			.highway-footway-name                   { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-footway-ref                    { stroke-width: 0px;     font-size: 2.5px; }
+			
+			/* render unmarked paths in the same color as highway=road */
+			.highway-path-core                      { stroke-width: 1px;   stroke: #d0d0d0; }
+			.highway-path-area                      { fill: #d0d0d0; }
+			
+			.highway-steps-casing                   { stroke-width: 1.4px;   stroke: #707070; }
+			.highway-steps-area-casing              { stroke-width: 0.4px; }
+			.highway-steps-core                     { stroke-width: 1px;   stroke: #e5e0c2; stroke-dasharray: 0.6, 0.2; stroke-linecap: butt;}
+			.highway-steps-name                     { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-steps-ref                      { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-scramble-core                  { stroke-width: 0.6px;   stroke: #707070; stroke-dasharray: 3.2, 0.8; stroke-linecap: butt;}
+			
+			/* Aeroways */
+			.aeroway-aerodrome {
+			stroke-width: 1px;
+			stroke: #000000;
+			fill: #d8dcce;
+			}
+
+			.aeroway-apron {
+			stroke-width: 0.6px;
+			stroke: none;
+			fill: #f0f0f0;
+			}
+			
+			.aeroway-taxiway-casing {
+			stroke-width: 6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #000000;
+			fill: none;
+			}
+			
+			.aeroway-taxiway-core {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #d4dcbd;
+			fill: none;
+			}
+			
+			.aeroway-runway-core {
+			stroke-width: 10px;
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			stroke: #d4dcbd;
+			fill: none;
+			}
+			
+			.aeroway-runway-casing {
+			stroke-width: 14px;
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			stroke: #000000;
+			fill: none;
+			}
+			
+			.aeroway-aerodrome-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.6px;
+			font-family: "DejaVu Sans";
+			font-size: 12px;
+			font-weight: bold;
+			}
+			
+			.aeroway-airport-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.6px;
+			font-family: "DejaVu Sans";
+			font-size: 20px;
+			font-weight: bold;
+			}
+			
+			
+			/* Waterways */
+			.waterway-name-casing {
+			stroke: #303030;
+			fill: white;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.waterway-name-core {
+			stroke: green;
+			fill: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.waterway-casing {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b0b0b0;
+			fill: none;
+			}
+			
+			.waterway-core {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b5d6f1;
+			fill: none;
+			}
+			
+			.waterway-riverbank {
+			fill: #b5d6f1;
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+			
+			.waterway-lock-casing                   { stroke: #000000; stroke-width: 5.0px; stroke-linecap: butt; }
+			.waterway-lock-core                     { stroke: #f8f8f8; stroke-width: 4.5px; stroke-linecap: butt; }
+
+			.waterway-river-casing                  { stroke-width: 2.5px; }
+			.waterway-river-core                    { stroke-width: 2.5px; }
+			.waterway-river-tunnel-core             { stroke-width: 2.0px; stroke-dasharray: 3.7, 3.7; }
+			.waterway-river-name-casing             { font-size: 3px; stroke-width: 0.3px;}
+			.waterway-river-name-core               { font-size: 3px; }
+			
+			.waterway-stream-casing                 { stroke-width: 1px; }
+			.waterway-stream-core-ephemeral         { stroke-width: 1px; stroke-dasharray: 0.8, 0.8; stroke-linecap: butt; }
+			.waterway-stream-core-intermittent      { stroke-width: 1px; stroke-dasharray: 1.2, 0.4; stroke-linecap: butt; }
+			.waterway-stream-core                   { stroke-width: 1px; }
+			.waterway-stream-tunnel-core            { stroke-width: 0.8px; stroke-dasharray: 1.5, 1.5; }
+			.waterway-stream-name-casing            { font-size: 3px; stroke-width: 0.2px;}
+			.waterway-stream-name-core              { font-size: 3px; }
+			
+			.waterway-canal-casing                  { stroke-width: 2.5px; }
+			.waterway-canal-core                    { stroke-width: 2px; }
+			.waterway-canal-tunnel-core             { stroke-width: 2px; stroke-dasharray: 3.7, 3.7; }
+			.waterway-canal-name-casing             { font-size: 6px; stroke-width: 0.4px;}
+			.waterway-canal-name-core               { font-size: 6px; }
+			
+			.waterway-drain-casing                  { stroke-width: 1.75px; }
+			.waterway-drain-core                    { stroke-width: 1.4px; }
+			.waterway-drain-tunnel-core             { stroke-width: 1.4px; stroke-dasharray: 2.6, 2.6; }
+			.waterway-drain-name-casing             { font-size: 3px; stroke-width: 0.2px;}
+			.waterway-drain-name-core               { font-size: 3px; }
+			
+			.waterway-ditch-casing                  { stroke-width: 0.3px; }
+			.waterway-ditch-core                    { stroke-width: 0.3px; }
+			.waterway-ditch-tunnel-core             { stroke-width: 0.2px; stroke-dasharray: 1.5, 1.5; }
+			.waterway-ditch-name-casing             { font-size: 3px; stroke-width: 0.2px;}
+			.waterway-ditch-name-core               { font-size: 3px; }
+
+			.waterway-dam {
+			stroke: #000000;
+			stroke-width: 0.75px;
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			}
+			.waterway-weir {
+			stroke: #000044;
+			stroke-width: 0.5px;
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			}
+			
+			
+			/* Generic under-construction style - makes any way dashed */
+			.under-construction { stroke-dasharray: 8, 10; }
+			.wrong-under-construction { stroke-width: 3px; stroke: #ffffff; stroke-dasharray: 6, 6; fill:none; }
+			
+			/* Ferry */
+			.route-ferry {
+			stroke-width: 1px;
+			stroke-dasharray: 4,3;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			}
+			
+			
+			/* Place names */
+			/* General style for captions */
+			.place-caption {
+			fill: black;
+			stroke: none;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			.caption-casing {
+			fill: white;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.caption-core {
+			stroke: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.peak-caption           { font-size: 6px; }
+			.cave-caption           { font-size: 6px; }
+			.island-caption         { font-size: 8px; }
+			.islet-caption          { font-size: 6px; }
+			.village-caption        { font-size: 8px; }
+			.suburb-caption         { font-size: 8px; }
+			.hamlet-caption         { font-size: 6px; }
+			.locality-caption       { font-size: 6px; }
+			.farm-caption           { font-size: 4px; }
+			
+			
+			
+			/* Natural */
+			.natural-water {
+			fill: #b5d6f1;
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+			
+			.natural-water-marsh {
+			fill: url(#marsh-pattern);
+			stroke: #007fff;
+			stroke-width: 0px;
+			}
+			
+			.natural-coastline {
+			fill: #b5d6f1;
+			stroke: #b5d6f1;
+			stroke-width: 0.8px;
+			}
+
+			.natural-glacier {
+			fill: #fafaff;
+			stroke: lightblue;
+			stroke-width: 0.8px;
+			}
+			
+			.natural-land {
+			fill: #f8f8f8;
+			stroke: #e0e0e0;
+			stroke-width: 0.2px;
+			}
+			
+			.natural-heath {
+			fill: #ffffc0;
+			stroke: #ffff90;
+			stroke-width: 0.2px;
+			}
+			
+			.wetland-bog {
+			fill: #946e50;
+			stroke: #3f1f06;
+			stroke-width: 0.2px;
+			}
+			
+			.natural-beach {
+			fill: #eecc55;
+			stroke: none;
+			}
+			
+			.mountain_pass {
+			fill: none;
+			<!-- don't remove. otherwise the waymarker will get clipped -->
+			stroke: red;
+			stroke-opacity: 0;
+			marker-mid: url(#mountain-pass);
+			}
+			
+			/* Landuse */
+			.landuse-wood {
+			fill: #6fc18e;
+			stroke: #6fc18e;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-wood-coniferous {
+			fill: url(#wood-coniferous-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-wood-deciduous {
+			fill: url(#wood-deciduous-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-wood-mixed {
+			fill: url(#wood-mixed-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-cemetery {
+			fill: url(#cemetery-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-cemetery-christian {
+			fill: url(#cemetery-christian-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-vineyard {
+			fill: url(#vineyard-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-field {
+			fill: #ebfff2;
+			stroke: #9ee673;
+			stroke-width: 0.2px;
+			}
+			.landuse-allotment-village {
+			fill: #bde3cb;
+			stroke: #6fc13d;
+			stroke-width: 0.4px;
+			}
+
+			.access-area-border-width-landuse-field {
+			stroke-width: 1.6px;
+			}
+			
+			.landuse-residential {
+			stroke: none;
+			fill: #e4e4e4;
+			}
+			
+			.landuse-industrial {
+			fill: #ecd8ff;
+			stroke: #e4e4e4;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-construction {
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			fill: #a47c41;
+			}
+			
+			.landuse-commercial {
+			fill: #ffffc0;
+			stroke: #e4e4e4;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-garages {
+			stroke: none;
+			fill: #d6d6e4;
+			}
+
+			.landuse-quarry {
+			fill: #e9dd72;
+			stroke: #556b2f;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-retail {
+			fill: #ffebeb;
+			stroke: #e4e4e4;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-runway {
+			stroke-width: 0.6px;
+			stroke: #808080;
+			fill: #d4dcbd;
+			}
+			
+			.landuse-runway-disused {
+			stroke-width: 0.6px;
+			stroke: #808080;
+			fill: #d4dcbd;
+			stroke-dasharray: 2, 2;
+			}
+			
+			.landuse-runway-dismantled {
+			stroke-width: 0.6px;
+			stroke: #808080;
+			fill: #fcffef;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			.breakwater {
+			fill: none;
+			stroke-width: 1.0px;
+			stroke: #707070;
+			}
+
+			.artificial-pier-area {
+			stroke: #d0d0d0;
+			stroke-width: 0.1px;
+			fill: #e4e4e4;
+			}
+
+			.artificial-pier-core {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #e4e4e4;
+			fill: none;
+			}
+			
+			.artificial-pier-casing {
+			stroke-width: 0.8px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #d0d0d0;
+			fill: none;
+			}
+			
+			.landuse-conservation {
+			fill: #cfeca8;
+			stroke: #6fc18e;
+			stroke-width: 0.4px
+			}
+			.access-area-border-width-landuse-conservation {
+			stroke-width: 1.6px;
+			}
+			
+			/* Leisure */
+			.leisure-park {
+			fill: #c7f1a3;
+			stroke: #6fc18e;
+			stroke-width: 0.4px;
+			}
+			.access-area-border-width-leisure-park {
+			stroke-width: 1.6px;
+			}
+			
+			.leisure-stadium {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.4px;
+			}
+			
+			.leisure-track-area {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.025px;
+			}
+			
+			.leisure-track-casing {
+			fill: none;
+			stroke: #6fc18e;
+			stroke-width: 1.45px;
+			}
+			
+			.leisure-track-core {
+			fill: none;
+			stroke: #bde3cb;
+			stroke-width: 1.4px;
+			}
+			
+			.leisure-swimming-pool {
+			fill: #b5d6f1;
+			stroke: #6060ff;
+			stroke-width: 0.2px;
+			}
+			
+			.leisure-national_park {
+			fill: url(#national-park-pattern);
+			}
+			.leisure-nature_reserve {
+			fill: url(#nature-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.leisure-landscape_reserve {
+			fill: url(#landscape-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.sport {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.4px;
+			}
+			
+			.sport-swimming {
+			fill: #b5d6f1;
+			stroke: #6060ff;
+			stroke-width: 0.2px;
+			}
+			
+			.sport-tennis {
+			fill: #d18a6a;
+			stroke: #B36C4C;
+			stroke-width: 0.2px;
+			}
+			
+			.amenity-parking {
+			fill: #ffffc0;
+			stroke: #e9dd72;
+			stroke-width: 0.4px;
+			}
+			
+			.amenity-school {
+			fill: #cdabde;
+			stroke: #e9dd72;
+			stroke-width: 0.4px;
+			}
+			
+			
+			/* Non-physical boundaries */
+			.boundary {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.boundary-level-1-casing {
+			stroke-width: 7px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+			
+			.boundary-level-1-core {
+			stroke-width: 1px;
+			stroke: #f9574b;
+			stroke-dasharray: 6, 2, 2, 2;
+			}
+			
+			.boundary-level-2-casing {
+			stroke-width: 3px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+			
+			.boundary-level-2-core {
+			stroke-width: 1px;
+			stroke: #f9574b;
+			stroke-dasharray: 6, 6;
+			}
+			
+			.boundary-level-3-core {
+			stroke-width: 1px;
+			stroke: #f9574b;
+			}
+			
+			.boundary-level-4-core {
+			stroke-width: 1px;
+			stroke: #f9574b;
+			stroke-dasharray: 6, 2, 2, 2;
+			}
+			
+			.boundary-level-5-core {
+			stroke-width: 1px;
+			stroke: #f9574b;
+			stroke-dasharray: 6, 6;
+			}
+			
+			.boundary-level-6-core {
+			stroke-width: 1px;
+			stroke: #f9574b;
+			stroke-dasharray: 2, 10;
+			}
+			
+			.boundary-level-7-core {
+			stroke-width: 0.4px;
+			stroke: #f9574b;
+			}
+			
+			.boundary-level-8-core {
+			stroke-width: 0.4px;
+			stroke: #f9574b;
+			stroke-dasharray: 6, 2, 2, 2;
+			}
+			
+			.boundary-level-9-core {
+			stroke-width: 0.4px;
+			stroke: #f9574b;
+			stroke-dasharray: 6, 6;
+			}
+			
+			.boundary-level-10-core {
+			stroke-width: 0.4px;
+			stroke: #f9574b;
+			stroke-dasharray: 2, 10;
+			}
+			
+			.boundary-nationalpark-core {
+			stroke-width: 1px;
+			stroke: #4ef94b;
+			stroke-dasharray: 6, 2, 2, 2;
+			}
+			
+			
+			/* Racetracks */
+			.highway-racetrack-core {
+			stroke-width: 1.5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-racetrack-casing-red {
+			stroke-width: 1.7px;
+			stroke-dasharray: 0.2, 0.2;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ff0000;
+			}
+			
+			.highway-racetrack-casing-white {
+			stroke-width: 1.7px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ffffff;
+			}
+			
+			.highway-raceway-casing {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #101010;
+			}
+			
+			.highway-raceway-casing-disused {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 2, 2;
+			}
+			
+			.highway-raceway-casing-dismantled {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			.highway-raceway-core {
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-raceway-core-disused {
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke-dasharray: 2, 2;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-raceway-core-dismantled {
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ffffff;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			.landuse-raceway {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #101010;
+			}
+			
+			.landuse-raceway-disused {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #808080;
+			stroke-dasharray: 2, 2;
+			}
+			
+			.landuse-raceway-dismantled {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #ffffff;
+			stroke: #808080;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			
+			.railway-station                        { fill: #ec2d2d;        stroke: #606060; stroke-width: 1px; }
+			.railway-station-caption-casing         { stroke-width: 1px;  font-size: 6px; }
+			.railway-station-caption-core           { fill: #ec2d2d;        font-size: 6px; }
+			
+			.railway-halt                           { fill: #ec2d2d;        stroke: #606060; stroke-width: 0.4px; }
+			.railway-halt-caption-casing            { stroke-width: 0.8px;  font-size: 5px; }
+			.railway-halt-caption-core              { fill: #ec2d2d;        font-size: 5px; }
+			
+			.highway-platform-area                  { stroke: none; fill: #9b9b79; }
+			.highway-platform-area-casing           { stroke: #707070; stroke-width: 0.4px; fill: none; }
+			.highway-platform-way-casing            { stroke: #707070; stroke-width: 1.0px; fill: none; stroke-linecap: square; }
+			.highway-platform-way-core              { stroke: #9b9b79; stroke-width: 0.6px; fill: none; }
+			.highway-platform-node                  { stroke: #707070; stroke-width: 0.2px; fill: #9b9b79; }
+			
+			/* Tourism */
+			.tourism-attraction {
+			fill: #f2caea;
+			stroke: #ff00ff;
+			stroke-width: 0px;
+			}
+			.tourism-green-area {
+			fill: #c7f1a3;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.tourism-attraction-caption {
+			fill: #ff00ff;
+			stroke: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-size: 4px;
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			.largefeature-caption-casing         { stroke-width: 2px;   font-size: 4px; }
+			.largefeature-caption-core           { fill: #4040ff;       font-size: 4px; }
+			
+			.generic-caption-casing              { stroke-width: 1px;   font-size: 2px; }
+			.generic-caption-core                { fill: #4040ff;        font-size: 2px; }
+			
+			.generic-poi {
+			fill: #4040ff;
+			stroke: #606060;
+			stroke-width: 0.2px;
+			}
+			
+			/* Building */
+			.building {
+			fill: #e0e0e0;
+			stroke: #d0d0d0;
+			stroke-width: 0.1px;
+			}
+			
+			.building-block {
+			fill: #F3D6B6;
+			stroke: #6a5a8e;
+			stroke-width: 0.1px;
+			}
+			
+			.building-residential {
+			fill: #c95e2a;
+			stroke: #800000;
+			stroke-width: 0.1px;
+			}
+			
+			
+			/* Aerialway */
+			.aerialway-line {
+			fill: none;
+			stroke: #202020;
+			stroke-width: 0.4px;
+			}
+			
+			.aerialway-cablecar-marker {
+			marker-start:url(#marker-cablecar);
+			}
+			
+			.aerialway-gondola-marker {
+			marker-start:url(#marker-gondola);
+			}
+			
+			.aerialway-chairlift2-marker {
+			marker-start:url(#marker-chair-lift-2);
+			}
+			
+			.aerialway-chairlift4-marker {
+			marker-start:url(#marker-chair-lift-4);
+			}
+			
+			.aerialway-mixedlift-marker {
+			marker-start:url(#marker-mixed-lift);
+			}
+			
+			.aerialway-struts {
+			fill: none;
+			stroke: #202020;
+			stroke-width: 4px;
+			stroke-dasharray: 0.4,20;
+			}
+			
+			.aerialway-station {
+			fill: #ec2d2d;  
+			stroke: #606060;
+			stroke-width: 0.4px; 
+			}
+			
+			.aerialway-name {
+			fill: #606060;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 5px;
+			stroke: none;
+			text-anchor: middle;
+			}
+			
+			.military-area {
+			fill: url(#military-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			/* surface lifts */
+			
+			.piste-lift-t-bar-marker {
+			marker-start:url(#marker-piste-lift-t-bar);
+			}
+			
+			.piste-lift-rope-tow {
+			fill: none;
+			stroke: #a47c41;
+			stroke-width: 0.5px;
+			stroke-dasharray: 1,1;
+			stroke-linecap: square;
+			}
+			
+			.piste-lift-magic-carpet {
+			fill: none;
+			stroke: #101010;
+			stroke-width: 0.8px;
+			}
+			
+			/* Piste maps */
+			.piste-core {
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke-width: 5px;
+			opacity: 0.66;
+			}
+			
+			.piste-area {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke-width: 5px;
+			opacity: 0.66;
+			}
+			
+			.piste-difficulty-novice       { stroke: #40ff40; }
+			.piste-difficulty-easy         { stroke: #4040ff; }
+			.piste-difficulty-intermediate { stroke: #ff4040; }
+			.piste-difficulty-advanced     { stroke: #000000; }
+			.piste-difficulty-expert       { stroke: #f6800a; }
+			.piste-difficulty-freeride     { stroke: #f6dd0a; }
+			.piste-difficulty-other        { stroke: #505050; }
+			.piste-area-difficulty-novice       { stroke: #40ff40; fill: #40ff40; }
+			.piste-area-difficulty-easy         { stroke: #4040ff; fill: #4040ff; }
+			.piste-area-difficulty-intermediate { stroke: #ff4040; fill: #ff4040; }
+			.piste-area-difficulty-advanced     { stroke: #000000; fill: #000000; }
+			.piste-area-difficulty-expert       { stroke: #f6800a; fill: #f6800a; }
+			.piste-area-difficulty-freeride     { stroke: #f6dd0a; fill: #f6dd0a; }
+			.piste-area-difficulty-other        { stroke: #505050; fill: #505050; }
+			
+			.piste-type-sled {
+			fill: none;
+			stroke: #cdabde;
+			stroke-width: 2.5px;
+			marker-start:url(#marker-piste-type-sled);
+			}
+			
+			.piste-type-nordic {
+			fill: none;
+			stroke: #c00000;
+			stroke-width: 1px;
+			stroke-dasharray: 3,0.5;
+			stroke-linejoin: bevel;
+			stroke-linecap: butt;
+			marker-start:url(#marker-piste-type-nordic);
+			}
+			
+			.piste-downhill-name-casing {
+			fill: #555555;
+			stroke: #555555;
+			stroke-width: 0.25px;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 5px;
+			text-anchor: middle;
+			}
+
+			.piste-downhill-name {
+			fill: #ffffff;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 5px;
+			text-anchor: middle;
+			}
+			
+			.piste-downhill-ref {
+			fill: #000000;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 5px;
+			text-anchor: middle;
+			}
+			
+			.man-made-piste-halfpipe {
+			fill: #a0f0ff;
+			stroke: #00bcdf;
+			stroke-width: 0.4px;
+			}
+			
+			.man_made-wastewater {
+			fill: #e4e4e4;
+			}
+			
+			/* Power line */
+			.powerline-pipeline-casing {
+			stroke-width: 0.4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #ffffff;
+			stroke-opacity: 0.5;
+			fill: none;
+			}
+			.power-line {
+			stroke-width: 0.4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #808080;
+			stroke-dasharray: 8, 4;
+			fill: none;
+			}
+
+			/* Power Generator */
+			.power-wind {
+			fill: url(#power-wind-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-hydro {
+			fill: url(#power-hydro-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-photovoltaic {
+			fill: url(#power-photovoltaic-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-generic {
+			fill: url(#power-generic-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+
+			.reservoir-evaporator {
+			fill: url(#reservoir-evaporator-pattern);
+			stroke: none;
+			}
+
+			.reservoir-cooling {
+			fill: url(#reservoir-cooling-pattern);
+			stroke: none;
+			}
+
+			.reservoir-sewage {
+			fill: url(#reservoir-sewage-pattern);
+			stroke: none;
+			}
+
+			.reservoir-tailings {
+			fill: url(#reservoir-tailings-pattern);
+			stroke: none;
+			}
+
+			.basin-infiltration {
+			fill: url(#basin-infiltration-pattern);
+			stroke: none;
+			}
+			.basin-detention {
+			fill: url(#basin-detention-pattern);
+			stroke: none;
+			}
+			.basin-retention {
+			fill: url(#basin-retention-pattern);
+			stroke: none;
+			}
+
+			/* Area captions */
+			.park-name {
+			fill: #404040;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			font-size: 4.5px;
+			stroke-width: 0.0px;
+			}
+			
+			.landuse-reservoir-name {
+			fill: #404040;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			font-size: 4.5px;
+			stroke-width: 0.0px;
+			}
+			
+			
+			/* Access restrictions */
+			.access-private-line {
+			fill: none;
+			stroke: url(#access-private-pattern);
+			stroke-width: 4px;
+			}
+			.access-private-area {
+			fill: url(#access-private-pattern);
+			stroke: url(#access-private-pattern);
+			stroke-width: 4px;
+			}
+			.access-private-small-area {
+			fill: url(#access-private-pattern);
+			stroke: url(#access-private-pattern);
+			stroke-width: 2px;
+			}
+			.access-private-area-border {
+			stroke: #ff4040;
+			}
+			
+			.access-permissive-line {
+			fill: none;
+			stroke: url(#access-permissive-pattern);
+			stroke-width: 4px;
+			}
+			.access-permissive-area {
+			fill: url(#access-permissive-pattern);
+			stroke: url(#access-permissive-pattern);
+			stroke-width: 4px;
+			}
+			.access-permissive-small-area {
+			fill: url(#access-permissive-pattern);
+			stroke: url(#access-permissive-pattern);
+			stroke-width: 2px;
+			}
+			.access-permissive-area-border {
+			stroke: #40ff40;
+			}
+			
+			.access-destination-line {
+			fill: none;
+			stroke: url(#access-destination-pattern);
+			stroke-width: 4px;
+			}
+			.access-destination-area {
+			fill: url(#access-destination-pattern);
+			stroke: url(#access-destination-pattern);
+			stroke-width: 4px;
+			}
+			.access-destination-small-area {
+			fill: url(#access-destination-pattern);
+			stroke: url(#access-destination-pattern);
+			stroke-width: 2px;
+			}
+			.access-destination-area-border {
+			stroke: #40ff40;
+			}
+			
+			.access-no-line {
+			fill: none;
+			stroke: url(#access-no-pattern);
+			stroke-width: 4px;
+			}
+			.access-no-area {
+			fill: url(#access-no-pattern);
+			stroke: url(#access-no-pattern);
+			stroke-width: 4px;
+			}
+			.access-no-small-area {
+			fill: url(#access-no-pattern);
+			stroke: url(#access-no-pattern);
+			stroke-width: 2px;
+			}
+			.access-no-area-border {
+			stroke: #40ff40;
+			}
+			
+			/* Map decoration */
+			.map-grid-line {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0.5;
+			}
+			
+			.map-border-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 3px;
+			stroke-miterlimit: 4;
+			stroke-dasharray: none;
+			stroke-opacity: 1;
+			stroke-linecap: round;
+			}
+			
+			.map-border-core {
+			fill: none;
+			fill-opacity: 1;
+			fill-rule: nonzero;
+			stroke: #ffffff;
+			stroke-width: 2px;
+			stroke-miterlimit: 0;
+			stroke-dashoffset: -0.5px;
+			stroke-opacity: 1;
+			}
+			
+			.map-scale-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-core {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-bookend {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 1px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-caption {
+			font-family: "DejaVu Sans";
+			font-size: 10px;
+			fill: #8080ff;
+			}
+			
+			<!-- map background must be the same for all zooms or else empty tile detection will fail -->
+			.map-background {
+			fill: #f8f8f8;
+			stroke: none;
+			}
+			
+			.map-title {
+			font-family: "DejaVu Sans";
+			font-size: 20px;
+			text-anchor: middle;
+			fill: black;
+			}
+			
+			.map-title-background {
+			fill: white;
+			}
+			
+			.map-marginalia-background {
+			fill: white;
+			}
+			
+			.highway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			}
+			
+			/* Osmarender built-in styles - do not remove */
+			.osmarender-stroke-linecap-round { stroke-linecap: round; }
+			.osmarender-stroke-linecap-butt { stroke-linecap: butt; }
+			.osmarender-mask-black { stroke: black; }
+			.osmarender-mask-white { stroke: white; }
+			.osmarender-no-marker-start { marker-start: none; }
+			.osmarender-no-marker-end { marker-end: none; }
+			
+		</style>
+		
+		<svg:pattern x="0" y="0" width="200" height="200" id="wood-deciduous-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.08)">
+			<svg:rect fill="#6fc18e" width="205" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 27,1 C 20,1 13,7 13,14 C 13,16 13,18 15,20 C 11,22 8,26 8,29 C 8,36 16,43 28,43 L 28,63 L 37,63 L 37,43 C 48,43 57,36 57,29 C 57,26 55,23 52,21 C 55,14 45,4 37,6 C 36,3 33,1 27,1"/>
+			<svg:path fill="#2b743f" d="M 77,101 C 70,101 63,107 63,114 C 63,116 63,118 65,120 C 61,122 58,126 58,129 C 58,136 66,143 78,143 L 78,163 L 87,163 L 87,143 C 98,143 107,136 107,129 C 107,126 105,123 102,121 C 105,114 95,104 87,106 C 86,103 83,101 77,101"/>
+		</svg:pattern>
+		<svg:pattern x="0" y="0" width="200" height="200" id="wood-coniferous-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.08)">
+			<svg:rect fill="#6fc18e" width="205" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 15,24 L 25,24 L 10,39 L 25,39 L 5,54 L 25,54 L 25,64 L 35,64 L 35,54 L 55,54 L 35,39 L 50,39 L 35,24 L 45,24 L 30,4 L 15,24"/>
+			<svg:path fill="#2b743f" d="M 65,124 L 75,124 L 60,139 L 75,139 L 55,154 L 75,154 L 75,164 L 85,164 L 85,154 L 105,154 L 85,139 L 100,139 L 85,124 L 95,124 L 80,104 L 65,124"/>
+		</svg:pattern>
+		<svg:pattern x="0" y="0" width="300" height="200" id="wood-mixed-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.08)">
+			<svg:rect fill="#6fc18e" width="305" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 27,1 C 20,1 13,7 13,14 C 13,16 13,18 15,20 C 11,22 8,26 8,29 C 8,36 16,43 28,43 L 28,63 L 37,63 L 37,43 C 48,43 57,36 57,29 C 57,26 55,23 52,21 C 55,14 45,4 37,6 C 36,3 33,1 27,1"/>
+			<svg:path fill="#2b743f" d="M 65,54 L 75,54 L 60,69 L 75,69 L 55,84 L 75,84 L 75,94 L 85,94 L 85,84 L 105,84 L 85,69 L 100,69 L 85,54 L 95,54 L 80,34 L 65,54"/>
+			<svg:path fill="#2b743f" d="M 165,104 L 175,104 L 160,119 L 175,119 L 155,134 L 175,134 L175,144 L 185,144 L 185,134 L 205,134 L 185,119 L 200,119 L 185,104 L 195,104 L 180,84 L 165,104"/>
+			<svg:path fill="#2b743f" d="M 227,101 C 220,101 213,107 213,114 C 213,116 213,118 215,120 C 211,122 208,126 208,129 C 208,136 216,143 228,143 L 228,163 L 237,163 L 237,143 C 248,143 257,136 257,129 C 257,126 255,123 252,121 C 255,114 245,104 237,106 C 236,103 233,101 227,101"/>
+		</svg:pattern>
+		
+		<svg:pattern id="marsh-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.3)">
+			<svg:path stroke="#007fff" stroke-width="0.2" stroke-linecap="round" d="M 0,4 C 1.33,4 2.67,4 4,4 M 2,4 C 2,3 2,2 2,1 M 3,3 L 2,4 M 3,2 L 2,4 M 1,3 L 2,4 M 1,2 L 2,4 M 7,9 L 10,9 M 2,9 C 3,9 4,9 5,9 M 6,4 C 6.71,4 7.35,4 8,4 M 2,6 C 2.67,6 3.33,6 4,6 M 7,1 C 7.70,1 8.33,1 9,1 M 0,9 L 1,9 M 9,6 L 9,9 M 10,7 L 9,9 M 10,8 L 9,9 M 8,8 L 9,9 M 8,7 L 9,9"/>
+		</svg:pattern>
+		
+		<svg:pattern id="military-pattern" x="0" y="0" width="500" height="500" patternUnits="userSpaceOnUse" patternTransform="scale(0.01)">
+			<svg:rect width="510" height="510" x="0" y="0" fill-opacity="0.5" fill="#d0d050"/>
+			<svg:path fill="#808000" d="M 311.4875,112.4725 L 240.86574,112.4725 L 219.18975,100.81875 L 219.18975,67.95515 L 358.10253,55.13602 L 358.10253,98.02185 L 311.4875,107.11177 L 311.4875,112.4725 z "/>
+			<svg:path fill="#808000" d="M 86.10386,157.81856 L 404.48447,158.3883 L 404.43115,99.18722 L 313.11903,119.23168 L 180.26621,119.23168 L 86.10386,144.40379 C 80.55682,146.64725 78.71816,157.81856 86.10386,157.81856 z "/>
+			<svg:path fill="#808000" d="M 176.69134,184.53979 C 176.69131,195.84684 167.54017,205.02094 156.23316,205.04931 C 144.92615,205.07768 135.72909,195.94962 135.67232,184.64271 C 135.61555,173.33581 144.72048,164.11585 156.02721,164.03068 C 167.33393,163.94551 176.57673,173.02726 176.6903,184.33373"/>
+			<svg:path fill="#808000" d="M 222.85374,184.53979 C 222.85371,195.84684 213.70257,205.02094 202.39556,205.04931 C 191.08855,205.07768 181.89149,195.94962 181.83472,184.64271 C 181.77795,173.33581 190.88288,164.11585 202.18961,164.03068 C 213.49633,163.94551 222.73913,173.02726 222.8527,184.33373"/>
+			<svg:path fill="#808000" d="M 268.20674,184.53979 C 268.20671,195.84684 259.05557,205.02094 247.74856,205.04931 C 236.44155,205.07768 227.24449,195.94962 227.18772,184.64271 C 227.13095,173.33581 236.23588,164.11585 247.54261,164.03068 C 258.84933,163.94551 268.09213,173.02726 268.2057,184.33373"/>
+			<svg:path fill="#808000" d="M 314.63974,184.53979 C 314.63971,195.84684 305.48857,205.02094 294.18156,205.04931 C 282.87455,205.07768 273.67749,195.94962 273.62072,184.64271 C 273.56395,173.33581 282.66888,164.11585 293.97561,164.03068 C 305.28233,163.94551 314.52513,173.02726 314.6387,184.33373"/>
+			<svg:path fill="#808000" d="M 104.62906,164.30601 L 95.06656,164.74351 C 89.7409,177.99161 94.17664,190.11388 108.81656,199.08726 C 125.31404,209.1992 145.13754,218.93662 150.87906,219.08726 L 345.94156,219.14976 C 351.68308,218.99912 371.50659,209.26172 388.00406,199.14976 C 402.64398,190.17638 407.07972,178.02286 401.75406,164.77476 L 392.19156,164.36851 C 395.0692,176.76396 397.55281,185.1301 379.62906,193.61851 C 364.95912,200.56595 349.45269,208.83667 347.03531,209.33726 L 149.78531,209.30601 C 147.36794,208.8054 131.89275,200.50345 117.22281,193.55601 C 99.29906,185.06761 101.75142,176.70146 104.62906,164.30601 z M 81.325,74.26296 L 81.325,87.85048 L 214.52384,92.37965 L 214.52384,74.05709 L 81.325,74.26296 z "/>
+			<svg:path fill="#808000" d="M 360.71264,185.61239 C 360.71261,196.91944 351.56147,206.09354 340.25446,206.12191 C 328.94745,206.15028 319.75039,197.02222 319.69362,185.71531 C 319.63685,174.40841 328.74178,165.18845 340.04851,165.10328 C 351.35523,165.01811 360.59803,174.09986 360.7116,185.40633"/>
+			<svg:path fill="#808000" d="M 389.14837,176.08104 C 389.14835,182.52632 383.93199,187.75578 377.48672,187.77195 C 371.04145,187.78813 365.79891,182.58491 365.76655,176.1397 C 365.73419,169.6945 370.92422,164.4389 377.36932,164.39035 C 383.81443,164.3418 389.08304,169.51862 389.14778,175.96358"/>
+			<svg:path fill="#808000" d="M 130.88767,176.08104 C 130.88765,182.52632 125.67129,187.75578 119.22602,187.77195 C 112.78075,187.78813 107.53821,182.58491 107.50585,176.1397 C 107.47349,169.6945 112.66352,164.4389 119.10862,164.39035 C 125.55373,164.3418 130.82234,169.51862 130.88708,175.96358"/>
+		</svg:pattern>
+		
+		<svg:pattern id="cemetery-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(1)">
+			<svg:rect fill="#bde3cb" width="10" height="10" x="0" y="0"/>
+			<svg:path fill="#b0b0b0" stroke-width="0.1" d="M 1.48,0.13 C 2.12,0.13 2.63,0.64 2.63,1.28 L 2.63,4.27 L 0.33,4.27 L 0.33,1.28 C 0.33,0.64 0.85,0.13 1.48,0.13 z "/>
+			<svg:path fill="#b0b0b0" stroke-width="0.1" d="M 6.64,5.78 C 7.27,5.78 7.79,6.29 7.79,6.92 L 7.79,9.91 L 5.49,9.91 L 5.49,6.92 C 5.49,6.29 6.00,5.78 6.64,5.78 z "/>
+		</svg:pattern>
+		<svg:pattern id="cemetery-christian-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(1)">
+			<svg:rect fill="#bde3cb" width="11" height="11" x="0" y="0"/>
+			<svg:path stroke="black" stroke-width="0.2" d="M1,1 L3,1 M2,0 L2,3 M6,6 L8,6 M7,5 L7,8"/>
+		</svg:pattern>
+		
+		<svg:pattern id="livingstreet-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#e5e0c2" stroke-width="2" d="M10,0 L0,10 M0,0 L10,10"/>
+		</svg:pattern>
+		<svg:pattern id="cycleroad-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#d1fad1" stroke-width="2" d="M10,0 L0,10 M0,0 L10,10"/>
+		</svg:pattern>
+		<svg:pattern id="access-private-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#ff4040" stroke-width="0.2" d="M10,0 L0,10 M0,0 L10,10"/>
+		</svg:pattern>
+		<svg:pattern id="access-permissive-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#40ff40" stroke-width="0.2" d="M10,0 L0,10 M0,0 L10,10"/>
+		</svg:pattern>
+		<svg:pattern id="access-destination-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#4040ff" stroke-width="0.2" d="M10,0 L0,10 M0,0 L10,10"/>
+		</svg:pattern>
+		<svg:pattern id="access-no-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#ff4040" stroke-width="0.2" d="M10,0 L0,10 M0,0 L10,10"/>
+		</svg:pattern>
+		
+		<svg:pattern patternUnits="userSpaceOnUse" width="104.8886" height="112.38862" patternTransform="scale(0.05,0.05)" id="vineyard-pattern">
+			<svg:rect fill="#d1ead1" width="104.8886" height="112.38862" x="0" y="0"/>
+			<svg:g transform="translate(-35,-59.111382)">
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="105" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="104.54168" y="95.686478"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="91.572838" y="95.066086"/>
+				<svg:path style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#bf5bc3;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 102.72166,94.632518 C 102.72166,94.632518 102.51202,95.733107 102.51202,86.247077 C 102.51202,84.082553 104.39875,79.905587 96.851849,75.974911"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-1.4674523,16.770883)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-4.6119891,6.2890801)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(10.27217,-2.7252699)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-6.7083494,-4.4023583)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(4.1927244,9.8528923)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(2.096364,0.6289069)"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="90" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="95" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="115" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="60" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="59.541687" y="133.18648"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="46.572845" y="132.56609"/>
+				<svg:path style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#bf5bc3;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 57.72166,132.13252 C 57.72166,132.13252 57.51202,133.23311 57.51202,123.74708 C 57.51202,121.58255 59.39875,117.40559 51.85185,113.47491"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-46.467452,54.270883)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-49.611989,43.78908)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-34.72783,34.77473)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-51.708349,33.097642)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-40.807276,47.352892)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-42.903636,38.128907)"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="45" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="50" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="90" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="95" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="70" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="55" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="105" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="115" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="60" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="45" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="50" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="55" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="70" y="94"/>
+				<svg:rect style="fill:none;fill-opacity:0.92941176;stroke:none;stroke-width:0.22276554;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="104.87722" height="112.37724" x="35.011383" y="59.111382"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="144"/>
+			</svg:g>
+		</svg:pattern>
+		<svg:pattern id="power-wind-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.4)">
+		<!-- power_wind.svg -->
+			<svg:g style="fill:#000000">
+				<rect width="0.77532399" height="8.1394444" x="8.3448029" y="7.860559" style="fill:#000000" />
+				<path d="M 9.4685289,7.5398227 C 9.5951548,7.3769778 10.64679,8.1902804 11.817421,9.3563852 C 12.988052,10.52249 13.834385,11.599816 13.707759,11.762661 C 13.581133,11.925506 12.529499,11.112204 11.358868,9.9460989 C 10.188236,8.7799942 9.341903,7.7026676 9.4685289,7.5398227 z" />
+				<path d="M 9.0179241,5.7934416 C 8.8242005,5.7429518 9.0001786,4.4242539 9.4109824,2.8480475 C 9.8217862,1.2718412 10.311853,0.03500359 10.505576,0.085493431 C 10.6993,0.13598327 10.523322,1.4546811 10.112518,3.0308874 C 9.7017142,4.6070939 9.2116477,5.8439315 9.0179241,5.7934416 z" />
+				<path d="M 7.7057548,7.0801563 C 7.7567258,7.273754 6.5211097,7.7668916 4.9459289,8.1816099 C 3.3707482,8.5963282 2.0524917,8.7755817 2.0015207,8.5819841 C 1.9505497,8.3883865 3.1861658,7.8952488 4.7613465,7.4805306 C 6.3365273,7.0658123 7.6547838,6.8865587 7.7057548,7.0801563 z" />
+				<path d="M 9.7448924,6.787931 C 9.7450023,7.3521951 9.2876067,7.8096797 8.7233428,7.8096797 C 8.1590787,7.8096797 7.7016831,7.3521951 7.701793,6.787931 C 7.7016831,6.2236669 8.1590787,5.7661823 8.7233428,5.7661823 C 9.2876067,5.7661823 9.7450023,6.2236669 9.7448924,6.787931 L 9.7448924,6.787931 z" />
+			</svg:g>
+		</svg:pattern>
+		<svg:pattern id="power-hydro-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.4)">
+		<!-- power_hydro.svg -->
+			<path d="M 8.5,12.8 L 11.9,6.5 L 7.1,7.6 L 10.8,1.5 L 8.2,0.17 L 4.1,10.1 L 9,8.6 L 7.4,12.3 L 7.1,11.6 L 6.65,15.7 L 9.3,12.5 L 8.5,12.8 z" style="fill:#00ccff;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;" />
+		</svg:pattern>
+		<svg:pattern id="power-photovoltaic-pattern" x="0" y="0" width="16" height="16" patternUnits="userSpaceOnUse" patternTransform="scale(0.42)">
+		<!-- power_photovoltaic.svg -->
+		<svg:g transform="matrix(1,0,-0.26,1,0.15,0)">
+				<svg:rect x="3.4" y="3.4" width="13" height="8.9" style="fill:#ffffff;stroke:#000000;stroke-width:0.4"/>
+				<svg:g style="stroke-width:0;fill:#000084" >
+					<svg:rect x="3.9" y="8" width="3.8" height="3.8" />
+					<svg:rect x="8" y="8" width="3.8" height="3.8" />
+					<svg:rect x="12.1" y="8" width="3.8" height="3.8" />
+					<svg:rect x="3.9" y="3.9" width="3.8" height="3.8" />
+					<svg:rect x="8" y="3.9" width="3.8" height="3.8" />
+					<svg:rect x="12.1" y="3.9" width="3.8" height="3.8" />
+				</svg:g>
+			</svg:g>
+			<svg:path d="M 2.72 0.34 L 2.97 2.59 L 1.38 2.13 L 2.44 3.25 L 0.38 3.98 L 2.59 4.38 L 1.59 5.72 L 3.13 5.03 L 3.16 7.22 L 4.25 5.34 L 5.22 6.63 L 5.03 5 L 7.22 5.66 L 5.72 4.06 L 7.25 3.59 L 5.59 3.28 L 6.97 1.41 L 4.88 2.34 L 4.88 0.78 L 4.09 2.13 L 2.72 0.34 z" style="fill:#ffff00;stroke:#000000;stroke-width:0.1" />
+		</svg:pattern>
+		<svg:pattern id="power-generic-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.4)">
+		<!-- power_generic.svg -->
+			<svg:path d="M 8.5,12.8 L 11.9,6.5 L 7.1,7.6 L 10.8,1.5 L 8.2,0.17 L 4.1,10.1 L 9,8.6 L 7.4,12.3 L 7.1,11.6 L 6.65,15.7 L 9.3,12.5 L 8.5,12.8 z" style="fill:#ffff00;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;" />
+		</svg:pattern>
+		<!-- reservoir patterns -->
+		<svg:pattern id="reservoir-evaporator-pattern" patternUnits="userSpaceOnUse" width="2" height="2" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;stroke-linecap:round;" d="M 0.1,1.9 L 1.9,1.9" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.96,1.8 C 1.25,1.4 0.75,1.4 1.04,1" />
+			<svg:path style="stroke:#007fff;stroke-width:.035px;fill:none" d="M 0.61,1.8 C 0.8,1.55 0.5,1.55 .69,1.3" />
+			<svg:path style="stroke:#007fff;stroke-width:.035px;fill:none" d="M 1.31,1.8 C 1.5,1.55 1.2,1.55 1.39,1.3" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-cooling-pattern" patternUnits="userSpaceOnUse" width="2" height="2" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;stroke-linecap:round;" d="M 0.1,1.9 L 1.9,1.9" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1,1.25 L 0.784,1.125 L 0.784,0.875 L 1,0.75 L 1.217,0.875 L 1.217,1.125 z" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1,1.25 L 1,1.75" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 0.784,1.125 L 0.35,1.375" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 0.784,0.875 L 0.35,0.625" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1,0.75 L 1,0.25" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1.217,0.875 L 1.65,0.625" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1.217,1.125 L 1.65,1.375" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.257,1.705 L 1.000,1.550 L 0.743,1.705" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.518,1.575 L 0.524,1.275 L 0.261,1.130" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.261,0.870 L 0.524,0.725 L 0.518,0.425" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.743,0.295 L 1.000,0.450 L 1.257,0.295" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.482,0.425 L 1.476,0.725 L 1.739,0.870" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.739,1.139 L 1.476,1.275 L 1.482,1.575" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-sewage-pattern" patternUnits="userSpaceOnUse" width="0.5" height="0.5" >
+			<svg:path style="stroke:#997700;stroke-width:.1px;" d="M -0.01,-0.01 L 0.51,0.51" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-tailings-pattern" patternUnits="userSpaceOnUse" width="0.5" height="0.5" >
+		<svg:path style="stroke:black;stroke-width:.1px;" d="M -0.01,-0.01 L 0.51,0.51" />
+		</svg:pattern>
+
+		<svg:pattern id="basin-infiltration-pattern" patternUnits="userSpaceOnUse" width="2" height="2" patternTransform="scale(3.)" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.1,0.2 L 1.9,0.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.4,0.6 L 1.6,0.6" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.1,1.2 L 0.9,1.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.4,1.6 L 0.6,1.6" />
+		</svg:pattern>
+
+		<svg:pattern id="basin-detention-pattern" patternUnits="userSpaceOnUse" width="2" height="2" patternTransform="scale(3.)" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.4,0.2 L 1.6,0.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.1,0.6 L 1.9,0.6" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.4,1.2 L 0.6,1.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.1,1.6 L 0.9,1.6" />
+		</svg:pattern>
+
+		<svg:pattern id="basin-retention-pattern" patternUnits="userSpaceOnUse" width="2" height="2" patternTransform="scale(3.)" >
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.4,0.2 L 1.6,0.2" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.1,0.6 L 1.9,0.6" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.4,1.2 L 0.6,1.2" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.1,1.6 L 0.9,1.6" />
+		</svg:pattern>
+
+		<svg:pattern id="nature-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(4.5777)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.1" d="
+		M0.2,0.1 L1.8,0.9 M2.2,0.9 L3.8,0.1   M4.2,0.1 L5.8,0.9 M6.2,0.9 L7.8,0.1   M8.2,0.1 L9.8,0.9 M10.2,0.9 L11.8,0.1
+		M0.2,1.9 L1.8,1.1 M2.2,1.1 L3.8,1.9   M4.2,1.9 L5.8,1.1 M6.2,1.1 L7.8,1.9   M8.2,1.9 L9.8,1.1 M10.2,1.1 L11.8,1.9
+		M0.2,2.1 L1.8,2.9 M2.2,2.9 L3.8,2.1   M4.2,2.1 L5.8,2.9 M6.2,2.9 L7.8,2.1   M8.2,2.1 L9.8,2.9 M10.2,2.9 L11.8,2.1
+		M0.2,3.9 L1.8,3.1 M2.2,3.1 L3.8,3.9   M4.2,3.9 L5.8,3.1 M6.2,3.1 L7.8,3.9   M8.2,3.9 L9.8,3.1 M10.2,3.1 L11.8,3.9
+		M0.2,4.1 L1.8,4.9 M2.2,4.9 L3.8,4.1   M4.2,4.1 L5.8,4.9 M6.2,4.9 L7.8,4.1   M8.2,4.1 L9.8,4.9 M10.2,4.9 L11.8,4.1
+		M0.2,5.9 L1.8,5.1 M2.2,5.1 L3.8,5.9   M4.2,5.9 L5.8,5.1 M6.2,5.1 L7.8,5.9   M8.2,5.9 L9.8,5.1 M10.2,5.1 L11.8,5.9
+
+		M0.2,6.1 L1.8,6.9 M2.2,6.9 L3.8,6.1   M4.2,6.1 L5.8,6.9 M6.2,6.9 L7.8,6.1   M8.2,6.1 L9.8,6.9 M10.2,6.9 L11.8,6.1
+		M0.2,7.9 L1.8,7.1 M2.2,7.1 L3.8,7.9   M4.2,7.9 L5.8,7.1 M6.2,7.1 L7.8,7.9   M8.2,7.9 L9.8,7.1 M10.2,7.1 L11.8,7.9
+		M0.2,8.1 L1.8,8.9 M2.2,8.9 L3.8,8.1   M4.2,8.1 L5.8,8.9 M6.2,8.9 L7.8,8.1   M8.2,8.1 L9.8,8.9 M10.2,8.9 L11.8,8.1
+		M0.2,9.9 L1.8,9.1 M2.2,9.1 L3.8,9.9   M4.2,9.9 L5.8,9.1 M6.2,9.1 L7.8,9.9   M8.2,9.9 L9.8,9.1 M10.2,9.1 L11.8,9.9
+		M0.2,10.1 L1.8,10.9 M2.2,10.9 L3.8,10.1   M4.2,10.1 L5.8,10.9 M6.2,10.9 L7.8,10.1   M8.2,10.1 L9.8,10.9 M10.2,10.9 L11.8,10.1
+		M0.2,11.9 L1.8,11.1 M2.2,11.1 L3.8,11.9   M4.2,11.9 L5.8,11.1 M6.2,11.1 L7.8,11.9   M8.2,11.9 L9.8,11.1 M10.2,11.1 L11.8,11.9"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.15;stroke-linecap:round;stroke-linejoin:round;" d="
+		M1.2,2.6 L1.2,1.4 L1.8,2.6 L1.8,1.4
+		M2.2,2.1 2.45,2.1 A 0.25 0.25 0 0 0 2.45,1.4 L2.2,1.4 L2.2,2.6  M2.8,2.6 L2.3,2.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="landscape-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(4.6)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.05" d="
+		M0.4,0.2 L1.6,0.8 M2.4,0.8 L3.6,0.2   M4.4,0.2 L5.6,0.8 M6.4,0.8 L7.6,0.2   M8.4,0.2 L9.6,0.8 M10.4,0.8 L11.6,0.2
+		M0.4,1.8 L1.6,1.2 M2.4,1.2 L3.6,1.8   M4.4,1.8 L5.6,1.2 M6.4,1.2 L7.6,1.8   M8.4,1.8 L9.6,1.2 M10.4,1.2 L11.6,1.8
+		M0.4,2.2 L1.6,2.8 M2.4,2.8 L3.6,2.2   M4.4,2.2 L5.6,2.8 M6.4,2.8 L7.6,2.2   M8.4,2.2 L9.6,2.8 M10.4,2.8 L11.6,2.2
+		M0.4,3.8 L1.6,3.2 M2.4,3.2 L3.6,3.8   M4.4,3.8 L5.6,3.2 M6.4,3.2 L7.6,3.8   M8.4,3.8 L9.6,3.2 M10.4,3.2 L11.6,3.8
+		M0.4,4.2 L1.6,4.8 M2.4,4.8 L3.6,4.2   M4.4,4.2 L5.6,4.8 M6.4,4.8 L7.6,4.2   M8.4,4.2 L9.6,4.8 M10.4,4.8 L11.6,4.2
+		M0.4,5.8 L1.6,5.2 M2.4,5.2 L3.6,5.8   M4.4,5.8 L5.6,5.2 M6.4,5.2 L7.6,5.8   M8.4,5.8 L9.6,5.2 M10.4,5.2 L11.6,5.8
+
+		M0.4,6.2 L1.6,6.8 M2.4,6.8 L3.6,6.2   M4.4,6.2 L5.6,6.8 M6.4,6.8 L7.6,6.2   M8.4,6.2 L9.6,6.8 M10.4,6.8 L11.6,6.2
+		M0.4,7.8 L1.6,7.2 M2.4,7.2 L3.6,7.8   M4.4,7.8 L5.6,7.2 M6.4,7.2 L7.6,7.8   M8.4,7.8 L9.6,7.2 M10.4,7.2 L11.6,7.8
+		M0.4,8.2 L1.6,8.8 M2.4,8.8 L3.6,8.2   M4.4,8.2 L5.6,8.8 M6.4,8.8 L7.6,8.2   M8.4,8.2 L9.6,8.8 M10.4,8.8 L11.6,8.2
+		M0.4,9.8 L1.6,9.2 M2.4,9.2 L3.6,9.8   M4.4,9.8 L5.6,9.2 M6.4,9.2 L7.6,9.8   M8.4,9.8 L9.6,9.2 M10.4,9.2 L11.6,9.8
+		M0.4,10.2 L1.6,10.8 M2.4,10.8 L3.6,10.2   M4.4,10.2 L5.6,10.8 M6.4,10.8 L7.6,10.2   M8.4,10.2 L9.6,10.8 M10.4,10.8 L11.6,10.2
+		M0.4,11.8 L1.6,11.2 M2.4,11.2 L3.6,11.8   M4.4,11.8 L5.6,11.2 M6.4,11.2 L7.6,11.8   M8.4,11.8 L9.6,11.2 M10.4,11.2 L11.6,11.8"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:round;" d="
+		M5.2,3.4 L5.2,4.6 L5.8,4.6
+		M6.2,4.1 6.45,4.1 A 0.25 0.25 0 0 0 6.45,3.4 L6.2,3.4 L6.2,4.6  M6.8,4.6 L6.3,4.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="national-park-pattern" x="0" y="0" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(4.6)">
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.5;" d="
+		M9.2,6.6 L9.2,5.4 L9.8,6.6 L9.8,5.4
+		M10.2,6.1 10.45,6.1 A 0.25 0.25 0 0 0 10.45,5.4 L10.2,5.4 L10.2,6.6 "/>
+		</svg:pattern>
+
+		<svg:marker fill="none" id="bridge-casing-start" markerHeight="1px" markerWidth="1px" orient="auto" stroke="#707070" stroke-width="0.1px">
+		<svg:path d="M-0.25,0.75 L0.5,0 L-0.25,-0.75"/>
+		</svg:marker>
+		<svg:marker fill="none" id="bridge-casing-end" markerHeight="1px" markerWidth="1px" orient="auto" stroke="#707070" stroke-width="0.1px">
+		<svg:path d="M0.25,0.75 L-0.5,0 L0.25,-0.75"/>
+		</svg:marker>
+		<svg:marker fill="none" id="canal-lock" markerHeight="5px" markerUnits="userSpaceOnUse" markerWidth="5px" orient="auto" refX="1px" refY="5px" stroke="#000000" stroke-width="0.5px" stroke-opacity="1" viewBox="0 0 10 10">
+		<svg:path d="M 1,0 L -2,5 L 1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="mountain-pass" markerHeight="48px" markerUnits="userSpaceOnUse" markerWidth="24px" orient="auto" refX="64px" refY="32px" stroke="#000000" stroke-width="0.66px" viewBox="0 0 64 128">
+		<svg:path d="M 1,1 L 16,21 L 112,21 L 127,1"/>
+		<svg:path d="M 1,63 L 16,43 L 112,43 L 127,63"/>
+		</svg:marker>
+		</defs>
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/captionless-z16.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/captionless-z16.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/captionless-z16.xml	(revision 35743)
@@ -0,0 +1,5714 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Tiles@Home Rules File for zoom level 16 -->
+<rules
+	  xmlns:xlink="http://www.w3.org/1999/xlink"
+	  xmlns:svg="http://www.w3.org/2000/svg"
+	  data="data.osm"
+	  svgBaseProfile="full"
+	  scale="1"
+	  symbolScale="0.21"
+	  textAttenuation="7"
+	  minimumMapWidth="0.5"
+	  minimumMapHeight="0.5"
+	  withOSMLayers="yes"
+	  withUntaggedSegments="no"
+	  showScale="no"
+	  showGrid="no"
+	  showBorder="no"
+	  showLicense="no"
+	  interactive="no"
+	  symbolsDir="../stylesheets/symbols"
+	  meter2pixel="0.1375">
+	
+	
+	<!-- Select all nodes and ways (unless they have an osmarender:render=no tag) -->
+	<rule e="node|way" k="osmarender:render" v="~|yes">
+		
+		<!-- Landuse -->
+		<rule e="way" k="landuse" v="landfill|quarry">
+			<area class="landuse-quarry"/>
+		</rule>
+		<rule e="way" k="landuse" v="cemetery">
+			<rule e="way" k="religion" v="christian">
+				<area class="landuse-cemetery-christian"/>
+			</rule>
+			<else>
+				<area class="landuse-cemetery"/>
+			</else>
+		</rule>
+		<rule e="way" k="amenity" v="grave_yard">
+			<rule e="way" k="religion" v="christian">
+				<area class="landuse-cemetery-christian"/>
+			</rule>
+			<else>
+				<area class="landuse-cemetery"/>
+			</else>
+		</rule>
+		<rule e="way" k="landuse" v="vineyard">
+			<area class="landuse-vineyard"/>
+		</rule>
+		
+		<!-- Natural features -->
+		<rule e="way" k="natural" v="coastline">
+			<area class="natural-coastline"/>
+		</rule>
+		<rule e="way" k="natural" v="glacier">
+			<line class='natural-glacier'/>
+		</rule>
+		<rule e="way" k="natural" v="land">
+			<area class="natural-land"/>
+		</rule>
+		<rule e="way" k="natural" v="beach">
+			<area class="natural-beach"/>
+		</rule>
+		<rule e="way" k="natural|landuse" v="forest|wood|scrub">
+			<rule e="way" k="wood" v="coniferous">
+				<area class="landuse-wood-coniferous"/>
+			</rule>
+			<else>
+				<rule e="way" k="wood" v="deciduous">
+					<area class="landuse-wood-deciduous"/>
+				</rule>
+				<else>
+					<rule e="way" k="wood" v="mixed">
+						<area class="landuse-wood-mixed"/>
+					</rule>
+					<else>
+						<area class="landuse-wood"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="natural" v="heath">
+			<area class="natural-heath"/>
+		</rule>
+		<rule e="way" k="natural" v="wetland">
+			<rule e="way" k="wetland" v="bog">
+				<area class="wetland-bog"/>
+			</rule>
+		</rule>
+		<rule e="way" k="landuse" v="conservation">
+			<area class="landuse-conservation"/>
+		</rule>
+		
+		<!-- Artificial landuse -->
+		<rule e="way" k="landuse" v="field|farm|farmland|meadow|grass">
+			<area class="landuse-field"/>
+		</rule>
+		<rule e="way" k="landuse" v="allotments|village_green|recreation_ground">
+			<area class="landuse-allotment-village"/>
+		</rule>
+		<rule e="way" k="leisure" v="park|garden|golf_course|common|green">
+			<area class="leisure-park"/>
+		</rule>
+		<rule e="way" k="leisure" v="playground|playing_fields|pitch|dog_park">
+			<rule e="way" k="sport" v="tennis">
+				<area class="sport-tennis"/>
+			</rule>
+			<else>
+				<!-- Done separately from the above rule to layer these above. Tend to be smaller and inside parks. -->
+				<area class="leisure-park"/>
+			</else>
+		</rule>
+
+		<rule e="node" k="natural" v="tree">
+			<symbol ref="tree" position="center" transform="scale(0.5)"/>
+		</rule>
+		<rule e="way" k="leisure" v="stadium|sports_centre|water_park">
+			<area class="leisure-stadium"/>
+		</rule>
+		<rule e="way" k="leisure" v="track">
+			<rule e="way" k="area" v="yes|true">
+				<area class="leisure-track-area"/>
+			</rule>
+			<else>
+				<line class="leisure-track-casing"/>
+				<line class="leisure-track-core"/>
+			</else>
+		</rule>
+		<rule e="way" k="leisure" v="swimming_pool">
+			<area class="leisure-swimming-pool"/>
+		</rule>
+		<rule e="way" k="amenity" v="fountain" closed="yes">
+			<area class="fountain" />
+		</rule>
+		<rule e="way" k="man_made" v="wastewater_plant" layer="-5" closed="yes">
+			<area class="man_made-wastewater" layer="-5"/>
+		</rule>
+		<rule e="way" k="man_made" v="wastewater_plant">
+			<symbol ref="wastewater" position="center"/>
+		</rule>
+		<rule e="node" k="man_made" v="wastewater_plant">
+			<symbol ref="wastewater" position="center"/>
+		</rule>
+		
+		<!-- Airports and runways -->
+		<rule e="way" k="aeroway" v="aerodrome" closed="yes">
+			<area class="aeroway-aerodrome"/>
+		</rule>
+		<rule e="way" k="aeroway" v="apron">
+			<area class="aeroway-apron"/>
+		</rule>
+		<rule e="way" k="landuse" v="runway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse-runway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse-runway-disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse-runway-dismantled"/>
+			</rule>
+		</rule>
+		
+		<!-- Raceways and racetracks (cars and horses etc) -->
+		<rule e="way" k="landuse" v="raceway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse-raceway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse-raceway-disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse-raceway-dismantled"/>
+			</rule>
+		</rule>
+		
+		<!-- Man-made areas -->
+		<rule e="way" k="leisure|landuse|amenity|tourism" v="~">
+			<rule e="way" k="building" v="~|no|false|0">
+				<rule e="way" k="sport" v="swimming|canoe|diving|scuba_diving">
+					<area class="sport-swimming"/>
+				</rule>
+				<else>
+					<rule e="way" k="sport" v="tennis">
+						<area class="sport-tennis"/>
+					</rule>
+					<else>
+						<rule e="way" k="sport" v="*" closed="yes">
+							<area class="sport"/>
+						</rule>
+					</else>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="amenity" v="parking">
+			<area class="amenity-parking"/>
+		</rule>
+		<rule e="way" k="tourism" v="attraction">
+			<rule e="way" k="highway" v="~">
+				<rule e="way" k="area" v="no" />
+				<else>
+					<area class="tourism-attraction"/>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="tourism" v="zoo|picnic_site|caravan_site|camp_site">
+			<area class="tourism-green-area"/>
+		</rule>
+		<rule e="node|way" k="tourism" v="camp_site">
+			<rule e="node|way" k="refugee" v="yes">
+				<symbol ref="earthquakeCamp" position="center"/>
+			</rule>
+		</rule>
+		<rule e="node|way" k="earthquake:damage" v="spontaneous_camp">
+			<symbol ref="earthquakeCamp" position="center"/>
+		</rule>
+		
+		<!-- access rules for parking -->
+		<rule e="way" k="amenity" v="parking">
+			<rule e="way" k="access" v="private">
+				<area class="access-private-small-area"/>
+			</rule>
+			<rule e="way" k="access" v="permissive|public">
+				<area class="access-permissive-small-area"/>
+			</rule>
+			<rule e="way" k="access" v="destination">
+				<area class="access-destination-small-area"/>
+			</rule>
+			<rule e="way" k="access" v="no">
+				<area class="access-no-small-area"/>
+			</rule>
+		</rule>
+		
+		<!-- Airfields and airports -->
+		<rule e="way" k="aeroway" v="runway">
+			<line class="aeroway-runway-casing"/>
+		</rule>
+		<rule e="way" k="aeroway" v="taxiway">
+			<line class="aeroway-taxiway-casing"/>
+		</rule>
+		
+		<!-- Waterways -->
+		<rule e="way" k="lock" v="yes|true">
+			<line class="waterway-lock-casing" smart-linecap="no" />
+			<line class="waterway-lock-core" smart-linecap="no" />
+		</rule>
+		<rule e="way" k="waterway" v="lock">
+			<line class="waterway-lock-casing" smart-linecap="no" />
+			<line class="waterway-lock-core" smart-linecap="no" />
+		</rule>
+		<rule e="way" k="waterway" v="river">
+			<line class="waterway-casing waterway-river-casing" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="stream">
+			<line class="waterway-casing waterway-stream-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+		</rule>
+		<rule e="way" k="waterway" v="canal">
+			<line class="waterway-casing waterway-canal-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="drain">
+			<line class="waterway-casing waterway-drain-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+		</rule>
+		<rule e="way" k="waterway" v="ditch">
+			<line class="waterway-casing waterway-ditch-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+		</rule>
+		<rule e="way" k="tunnel" v="yes">
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<line class="waterway-core waterway-stream-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</rule>
+		<else>
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-core" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<rule e="way" k="stream" v="ephemeral">
+					<line class="waterway-core waterway-stream-core-ephemeral" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+				</rule>
+				<else>
+					<rule e="way" k="stream" v="intermittent">
+						<line class="waterway-core waterway-stream-core-intermittent" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+					</rule>
+					<else>
+						<line class="waterway-core waterway-stream-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</else>
+		<rule e="way" k="waterway" v="dock">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="natural" v="water|pond|lake|bay">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="natural" v="marsh|wetland">
+			<area class="natural-water-marsh"/>
+		</rule>
+		<rule e="way" k="landuse" v="reservoir">
+			<rule e="way" k="reservoir_type" v="evaporator">
+				<area class="reservoir-evaporator"/>
+			</rule>
+			<else>
+				<rule e="way" k="reservoir_type" v="cooling">
+					<area class="reservoir-cooling"/>
+				</rule>
+				<else>
+					<rule e="way" k="reservoir_type" v="sewage">
+						<area class="reservoir-sewage"/>
+					</rule>
+					<else>
+						<rule e="way" k="reservoir_type" v="tailings">
+							<area class="reservoir-tailings"/>
+						</rule>
+						<else>
+							<rule e="way" k="reservoir_type" v="water_storage">
+								<area class="natural-water"/>
+							</rule>
+							<else>
+								<area class="natural-water"/>
+							</else>
+						</else>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="landuse" v="basin">
+			<rule e="way" k="basin" v="infiltration">
+				<area class="basin-infiltration"/>
+			</rule>
+			<else>
+				<rule e="way" k="basin" v="detention">
+					<area class="basin-detention"/>
+				</rule>
+				<else>
+					<rule e="way" k="basin" v="retention">
+						<area class="natural-water"/>
+						<area class="basin-retention"/>
+					</rule>
+					<else>
+						<area class="natural-water"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="waterway" v="riverbank">
+			<area class="waterway-riverbank"/>
+		</rule>
+		<rule e="way" k="waterway" v="weir">
+			<line class="waterway-weir"/>
+		</rule>
+		<rule e="way" k="waterway" v="dam">
+			<line class="waterway-dam"/>
+		</rule>
+		<rule e="node" k="waterway" v="lock_gate">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" k="lock" v="yes|lock">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" s="way" k="lock" v="yes|lock">
+			<wayMarker k="waterway" v="artificial|canal|ditch|drain|river|stream" class="canal-lock"/>
+		</rule>
+		<rule e="node" k="waterway" v="lock">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" s="way" k="waterway" v="lock">
+			<wayMarker k="waterway" v="artificial|canal|ditch|drain|river|stream" class="canal-lock"/>
+		</rule>
+		
+		<rule e="way" k="boundary" v="national_park">
+			<area class="leisure-national_park"/>
+		</rule>
+		<rule e="way" k="leisure" v="landscape_reserve">
+			<area class="leisure-landscape_reserve"/>
+		</rule>
+		<rule e="way" k="leisure" v="nature_reserve">
+			<area class="leisure-nature_reserve"/>
+			<symbol ref="bird" position="center"/>
+		</rule>
+
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="highway" v="motorway|motorway_link|footway|steps|pedestrian|cycleway|bridleway|track|byway|path|cycleroad|living_street|construction|planned|proposed|disused|abandoned|dismantled">
+			</rule>
+			<else>
+				<rule e="way" k="motorroad" v="yes">
+				</rule>
+				<else>
+					<rule e="way" k="bicycle" v="no">
+						<line class="highway-nobicycle-1" smart-linecap="no" />
+						<line class="highway-nobicycle-2" smart-linecap="no" />
+					</rule>
+				</else>
+			</else>
+		</rule>
+
+		<!-- embankments & cutings -->
+		<rule e="way" k="man_made" v="dyke|dike|levee|embankment">
+			<rule e="way" k="highway" v="*">
+				<rule e="way" k="cycleway" v="yes|track|lane">
+					<line class="dyke embankment-wide-long-casing"   smart-linecap="no" />
+					<line class="dyke embankment-wide-short-casing"  smart-linecap="no" />
+					<line class="dyke embankment-wide-middle-casing" smart-linecap="no" />
+					<line class="dyke embankment-wide-core"          smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="motorroad" v="yes">
+						<line class="dyke embankment-wide-long-casing"   smart-linecap="no" />
+						<line class="dyke embankment-wide-short-casing"  smart-linecap="no" />
+						<line class="dyke embankment-wide-middle-casing" smart-linecap="no" />
+						<line class="dyke embankment-wide-core"          smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="motorway|trunk">
+							<line class="dyke embankment-wide-long-casing"   smart-linecap="no" />
+							<line class="dyke embankment-wide-short-casing"  smart-linecap="no" />
+							<line class="dyke embankment-wide-middle-casing" smart-linecap="no" />
+							<line class="dyke embankment-wide-core"          smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="highway" v="path|footway|cycleway|bridleway|service|track|steps">
+								<line class="dyke embankment-small-long-casing"   smart-linecap="no" />
+								<line class="dyke embankment-small-short-casing"  smart-linecap="no" />
+								<line class="dyke embankment-small-middle-casing" smart-linecap="no" />
+								<line class="dyke embankment-small-core"          smart-linecap="no" />
+							</rule>
+							<else>
+								<line class="dyke embankment-long-casing"   smart-linecap="no" />
+								<line class="dyke embankment-short-casing"  smart-linecap="no" />
+								<line class="dyke embankment-middle-casing" smart-linecap="no" />
+								<line class="dyke embankment-core"          smart-linecap="no" />
+							</else>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<else>
+				<line class="dyke embankment-small-long-casing"   smart-linecap="no" />
+				<line class="dyke embankment-small-short-casing"  smart-linecap="no" />
+				<line class="dyke embankment-small-middle-casing" smart-linecap="no" />
+				<line class="dyke embankment-small-core"          smart-linecap="no" />
+			</else>
+		</rule>
+		<else>
+			<rule e="way" k="embankment" v="yes|true">
+				<rule e="way" k="highway" v="*">
+					<rule e="way" k="cycleway" v="yes|track|lane">
+						<line class="embankment-cutting embankment-wide-long-casing"   smart-linecap="no" />
+						<line class="embankment-cutting embankment-wide-short-casing"  smart-linecap="no" />
+						<line class="embankment-cutting embankment-wide-middle-casing" smart-linecap="no" />
+						<line class="embankment-cutting embankment-wide-core"          smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="embankment-cutting embankment-wide-long-casing"   smart-linecap="no" />
+							<line class="embankment-cutting embankment-wide-short-casing"  smart-linecap="no" />
+							<line class="embankment-cutting embankment-wide-middle-casing" smart-linecap="no" />
+							<line class="embankment-cutting embankment-wide-core"          smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="highway" v="motorway|trunk">
+								<line class="embankment-cutting embankment-wide-long-casing"   smart-linecap="no" />
+								<line class="embankment-cutting embankment-wide-short-casing"  smart-linecap="no" />
+								<line class="embankment-cutting embankment-wide-middle-casing" smart-linecap="no" />
+								<line class="embankment-cutting embankment-wide-core"          smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="highway" v="path|footway|cycleway|bridleway|service|track|steps">
+									<line class="embankment-cutting embankment-small-long-casing"   smart-linecap="no" />
+									<line class="embankment-cutting embankment-small-short-casing"  smart-linecap="no" />
+									<line class="embankment-cutting embankment-small-middle-casing" smart-linecap="no" />
+									<line class="embankment-cutting embankment-small-core"          smart-linecap="no" />
+								</rule>
+								<else>
+									<line class="embankment-cutting embankment-long-casing"   smart-linecap="no" />
+									<line class="embankment-cutting embankment-short-casing"  smart-linecap="no" />
+									<line class="embankment-cutting embankment-middle-casing" smart-linecap="no" />
+									<line class="embankment-cutting embankment-core"          smart-linecap="no" />
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+				<else>
+					<line class="embankment-cutting embankment-small-long-casing"   smart-linecap="no" />
+					<line class="embankment-cutting embankment-small-short-casing"  smart-linecap="no" />
+					<line class="embankment-cutting embankment-small-middle-casing" smart-linecap="no" />
+					<line class="embankment-cutting embankment-small-core"          smart-linecap="no" />
+				</else>
+			</rule>
+		</else>
+
+		<rule e="way" k="cutting" v="yes|true">
+			<rule e="way" k="highway" v="*">
+				<rule e="way" k="cycleway" v="yes|track|lane">
+					<line class="embankment-cutting cutting-wide-casing"           smart-linecap="no" />
+					<line class="embankment-cutting cutting-wide-long-core"        smart-linecap="no" />
+					<line class="embankment-cutting cutting-wide-short-core"       smart-linecap="no" />
+					<line class="embankment-cutting cutting-wide-middle-core"      smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="motorroad" v="yes">
+						<line class="embankment-cutting cutting-wide-casing"           smart-linecap="no" />
+						<line class="embankment-cutting cutting-wide-long-core"        smart-linecap="no" />
+						<line class="embankment-cutting cutting-wide-short-core"       smart-linecap="no" />
+						<line class="embankment-cutting cutting-wide-middle-core"      smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="motorway|trunk">
+							<line class="embankment-cutting cutting-wide-casing"           smart-linecap="no" />
+							<line class="embankment-cutting cutting-wide-long-core"        smart-linecap="no" />
+							<line class="embankment-cutting cutting-wide-short-core"       smart-linecap="no" />
+							<line class="embankment-cutting cutting-wide-middle-core"      smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="highway" v="path|footway|cycleway|bridleway|service|track|steps">
+								<line class="embankment-cutting cutting-small-casing"           smart-linecap="no" />
+								<line class="embankment-cutting cutting-small-long-core"        smart-linecap="no" />
+								<line class="embankment-cutting cutting-small-short-core"       smart-linecap="no" />
+								<line class="embankment-cutting cutting-small-middle-core"      smart-linecap="no" />
+							</rule>
+							<else>
+								<line class="embankment-cutting cutting-casing"           smart-linecap="no" />
+								<line class="embankment-cutting cutting-long-core"        smart-linecap="no" />
+								<line class="embankment-cutting cutting-short-core"       smart-linecap="no" />
+								<line class="embankment-cutting cutting-middle-core"      smart-linecap="no" />
+							</else>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<else>
+				<line class="embankment-cutting cutting-small-casing"           smart-linecap="no" />
+				<line class="embankment-cutting cutting-small-long-core"        smart-linecap="no" />
+				<line class="embankment-cutting cutting-small-short-core"       smart-linecap="no" />
+				<line class="embankment-cutting cutting-small-middle-core"      smart-linecap="no" />
+			</else>
+		</rule>
+
+		<!-- Bridge casings -->
+		<rule e="way" k="bridge" v="yes|true">
+			<rule e="way" k="railway" v="rail|narrow_gauge|preserved|light_rail|tram|subway|incline|funicular|monorail|spur|yard|siding">
+				<rule e="way" k="disused|abandoned|dismantled|construction|planned|proposed" v="yes|true">
+					<line class="bridge-casing railway-bridge-casing railway-pla-casing-color" smart-linecap="no" suppress-markers-tag="bridge"/>
+				</rule>
+				<else>
+					<line class="bridge-casing railway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+				</else>
+			</rule>
+			<rule e="way" k="railway" v="disused|abandoned|dismantled|construction|planned|proposed">
+				<line class="bridge-casing railway-bridge-casing railway-pla-casing-color" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+
+			<rule e="way" k="highway" v="motorway">
+				<line class="bridge-casing highway-motorway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<line class="bridge-casing highway-trunk-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<line class="bridge-casing highway-primary-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<line class="bridge-casing highway-motorway-link-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<line class="bridge-casing highway-trunk-link-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<line class="bridge-casing highway-primary-link-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<line class="bridge-casing highway-secondary-link-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<line class="bridge-casing highway-secondary-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<line class="bridge-casing highway-tertiary-link-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<line class="bridge-casing highway-tertiary-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|minor|road">
+				<line class="bridge-casing highway-unclassified-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="residential|living_street|cycleroad">
+				<line class="bridge-casing highway-residential-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+					<line class="bridge-casing highway-aisle-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+				</rule>
+				<else>
+					<line class="bridge-casing highway-service-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<line class="bridge-casing highway-unsurfaced-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<line class="bridge-casing highway-track-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<line class="bridge-casing highway-byway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<line class="bridge-casing highway-bridleway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<line class="bridge-casing highway-cycleway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="bridge-casing highway-cycleway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="bridge-casing highway-bridleway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+					</rule>
+					<else>
+						<line class="bridge-casing highway-footway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<line class="bridge-casing highway-pedestrian-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<line class="bridge-casing highway-footway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="steps">
+				<line class="bridge-casing highway-steps-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+		</rule>
+		
+		<!-- Bridge cores -->
+		<rule e="way" k="bridge" v="yes|true">
+			<rule e="way" k="railway" v="rail|narrow_gauge|preserved|light_rail|tram|subway|incline|funicular|monorail|spur|yard|siding|disused|abandoned|dismantled|construction|planned|proposed">
+				<line class="bridge-core railway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<line class="bridge-core highway-motorway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<line class="bridge-core highway-trunk-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<line class="bridge-core highway-primary-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<line class="bridge-core highway-motorway-link-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<line class="bridge-core highway-trunk-link-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<line class="bridge-core highway-primary-link-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<line class="bridge-core highway-secondary-link-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<line class="bridge-core highway-secondary-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<line class="bridge-core highway-tertiary-link-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<line class="bridge-core highway-tertiary-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|minor|road">
+				<line class="bridge-core highway-unclassified-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="residential|living_street|cycleroad">
+				<line class="bridge-core highway-residential-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+					<line class="bridge-core highway-aisle-bridge-core" smart-linecap="no"/>
+				</rule>
+				<else>
+					<line class="bridge-core highway-service-bridge-core" smart-linecap="no"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<line class="bridge-core highway-unsurfaced-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<line class="bridge-core highway-track-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<line class="bridge-core highway-byway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<line class="bridge-core highway-bridleway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<line class="bridge-core highway-cycleway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="bridge-core highway-cycleway-bridge-core" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="bridge-core highway-bridleway-bridge-core" smart-linecap="no"/>
+					</rule>
+					<else>
+						<line class="bridge-core highway-footway-bridge-core" smart-linecap="no"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<line class="bridge-core highway-pedestrian-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<line class="bridge-core highway-footway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="steps">
+				<line class="bridge-core highway-steps-bridge-core" smart-linecap="no"/>
+			</rule>
+		</rule>
+		
+		<!-- platforms casings -->
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="yes">
+			<line class="highway-platform-area-casing" />
+		</rule>
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="no">
+			<line class="highway-platform-way-casing" />
+		</rule>
+
+		<!-- Highway area casings -->
+		<rule e="way" k="area" v="yes|true">
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="track">
+				<area class="highway-casing highway-track-area-back-casing" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<area class="highway-casing highway-footway-casing highway-footway-area-casing no-bezier" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<area class="highway-casing highway-pedestrian-casing highway-pedestrian-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<area class="highway-casing highway-cycleway-casing highway-cycleway-area-casing no-bezier" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<area class="highway-casing highway-cycleway-casing highway-cycleway-area-casing no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<area class="highway-casing highway-bridleway-casing highway-bridleway-area-casing no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-footway-casing highway-footway-area-casing no-bezier" smart-linecap="no"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<area class="highway-casing highway-bridleway-casing highway-bridleway-area-casing no-bezier" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<area class="highway-casing highway-byway-1-casing highway-byway-1-area-casing no-bezier" smart-linecap="no"/>
+				<area class="highway-casing highway-byway-2-casing highway-byway-2-area-casing no-bezier" smart-linecap="no"/>
+				<area class="highway-casing highway-byway-3-casing highway-byway-3-area-casing no-bezier" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<rule e="way" k="tracktype" v="grade1">
+					<area class="highway-casing highway-track-casing highway-track-grade1-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="tracktype" v="grade2">
+						<area class="highway-casing highway-track-casing highway-track-grade2-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade3">
+							<area class="highway-casing highway-track-casing highway-track-grade3-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade4">
+								<area class="highway-casing highway-track-casing highway-track-grade4-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade5">
+									<area class="highway-casing highway-track-casing highway-track-grade5-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+								</rule>
+								<else>
+									<area class="highway-casing highway-track-casing highway-track-gradex-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+								</else>
+							</else>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<area class="highway-casing highway-unsurfaced-casing highway-unsurfaced-area-casing no-bezier" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+					<area class="highway-casing highway-aisle-casing highway-aisle-area-casing no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-casing highway-service-casing highway-service-area-casing no-bezier"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor|road">
+				<area class="highway-casing highway-unclassified-casing highway-unclassified-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="living_street">
+				<area class="highway-casing highway-livingstreet-casing highway-livingstreet-area-casing no-bezier"/>
+			</rule>
+		    </else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+						</else>
+					</rule>
+				</else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="tertiary_link">
+				<area class="highway-casing highway-tertiary-link-casing highway-tertiary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<area class="highway-casing highway-tertiary-casing highway-tertiary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<area class="highway-casing highway-secondary-link-casing highway-secondary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<area class="highway-casing highway-secondary-casing highway-secondary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<area class="highway-casing highway-primary-link-casing highway-primary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<area class="highway-casing highway-trunk-link-casing highway-trunk-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<area class="highway-casing highway-motorway-link-casing highway-motorway-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<area class="highway-casing highway-primary-casing highway-primary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<area class="highway-casing highway-trunk-casing highway-trunk-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<area class="highway-casing highway-motorway-casing highway-motorway-area-casing no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+		</rule>
+
+		<!-- Linear casings -->
+		<rule e="way" k="tunnel" v="~|no|false">
+			<rule e="way" k="area" v="~|no|false">
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="track">
+					<line class="highway-casing highway-track-back-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="raceway">
+					<rule e="way" k="use_status" v="~">
+						<line class="highway-raceway-casing"/>
+					</rule>
+					<rule e="way" k="use_status" v="disused">
+						<line class="highway-raceway-casing-disused"/>
+					</rule>
+					<rule e="way" k="use_status" v="dismantled">
+						<line class="highway-raceway-casing-dismantled"/>
+					</rule>
+				</rule>
+				<rule e="way" k="highway" v="steps">
+					<line class="highway-casing highway-steps-casing"/>
+				</rule>
+				<rule e="way" k="highway" v="footway|footpath">
+					<line class="highway-casing highway-footway-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="pedestrian">
+					<line class="highway-casing highway-pedestrian-casing"/>
+				</rule>
+				<rule e="way" k="highway" v="cycleway">
+					<line class="highway-casing highway-cycleway-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<line class="highway-casing highway-cycleway-casing" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<line class="highway-casing highway-bridleway-casing" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-footway-casing" smart-linecap="no"/>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="bridleway">
+					<line class="highway-casing highway-bridleway-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="byway">
+					<line class="highway-casing highway-byway-1-casing" smart-linecap="no"/>
+					<line class="highway-casing highway-byway-2-casing" smart-linecap="no"/>
+					<line class="highway-casing highway-byway-3-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="track">
+					<rule e="way" k="tracktype" v="grade1">
+						<line class="highway-casing highway-track-casing highway-track-grade1-casing" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade2">
+							<line class="highway-casing highway-track-casing highway-track-grade2-casing" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade3">
+								<line class="highway-casing highway-track-casing highway-track-grade3-casing" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade4">
+									<line class="highway-casing highway-track-casing highway-track-grade4-casing" smart-linecap="no"/>
+								</rule>
+								<else>
+									<rule e="way" k="tracktype" v="grade5">
+										<line class="highway-casing highway-track-casing highway-track-grade5-casing" smart-linecap="no"/>
+									</rule>
+									<else>
+										<rule e="way" k="track" v="racetrack">
+											<line class="highway-racetrack-casing-white" smart-linecap="no"/>
+											<line class="highway-racetrack-casing-red" smart-linecap="no"/>
+										</rule>
+										<else>
+											<line class="highway-casing highway-track-casing highway-track-gradex-casing" smart-linecap="no"/>
+										</else>
+									</else>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="unsurfaced">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<line class="highway-casing highway-unsurfaced-cy1-casing" smart-linecap="no"/>
+						<line class="highway-casing highway-unsurfaced-cy2-casing" smart-linecap="no"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-unsurfaced-casing" smart-linecap="no"/>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle">
+						<line class="highway-casing highway-aisle-casing"/>
+					</rule>
+					<else>
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<line class="highway-casing highway-service-cy1-casing"/>
+							<line class="highway-casing highway-service-cy2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-service-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="unclassified|minor|road|ford">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<line class="highway-casing highway-unclassified-cy1-casing"/>
+						<line class="highway-casing highway-unclassified-cy2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-unclassified-casing"/>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="residential">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<line class="highway-casing highway-residential-cy1-casing"/>
+						<line class="highway-casing highway-residential-cy2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-residential-casing"/>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="living_street">
+					<line class="highway-casing highway-livingstreet-casing"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-casing highway-cycleroad-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-cycleroad-casing"/>
+					</else>
+			  </rule>
+			  <else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-casing highway-cycleroad-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-cycleroad-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-casing highway-cycleroad-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-cycleroad-casing"/>
+							</else>
+						</rule>
+					</else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="tertiary_link">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-tertiary-link-mrcy1-casing"/>
+							<line class="highway-casing highway-tertiary-link-mrcy2-casing"/>
+							<line class="highway-casing highway-tertiary-link-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-tertiary-link-cy1-casing"/>
+							<line class="highway-casing highway-tertiary-link-cy2-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-tertiary-link-mr1-casing"/>
+							<line class="highway-casing highway-tertiary-link-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-tertiary-link-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="tertiary">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-tertiary-mrcy1-casing"/>
+							<line class="highway-casing highway-tertiary-mrcy2-casing"/>
+							<line class="highway-casing highway-tertiary-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-tertiary-cy1-casing"/>
+							<line class="highway-casing highway-tertiary-cy2-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-tertiary-mr1-casing"/>
+							<line class="highway-casing highway-tertiary-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-tertiary-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="secondary_link">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-secondary-link-mrcy1-casing"/>
+							<line class="highway-casing highway-secondary-link-mrcy2-casing"/>
+							<line class="highway-casing highway-secondary-link-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-secondary-link-cy1-casing"/>
+							<line class="highway-casing highway-secondary-link-cy2-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-secondary-link-mr1-casing"/>
+							<line class="highway-casing highway-secondary-link-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-secondary-link-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="secondary">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-secondary-mrcy1-casing"/>
+							<line class="highway-casing highway-secondary-mrcy2-casing"/>
+							<line class="highway-casing highway-secondary-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-secondary-cy1-casing"/>
+							<line class="highway-casing highway-secondary-cy2-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-secondary-mr1-casing"/>
+							<line class="highway-casing highway-secondary-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-secondary-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="primary_link">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-primary-link-mrcy1-casing"/>
+							<line class="highway-casing highway-primary-link-mrcy2-casing"/>
+							<line class="highway-casing highway-primary-link-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-primary-link-cy1-casing"/>
+							<line class="highway-casing highway-primary-link-cy2-casing"/>
+						</else>
+					</rule>
+
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-primary-link-mr1-casing"/>
+							<line class="highway-casing highway-primary-link-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-primary-link-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="primary">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-primary-mrcy1-casing"/>
+							<line class="highway-casing highway-primary-mrcy2-casing"/>
+							<line class="highway-casing highway-primary-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-primary-cy1-casing"/>
+							<line class="highway-casing highway-primary-cy2-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-primary-mr1-casing"/>
+							<line class="highway-casing highway-primary-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-primary-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="trunk_link">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-trunk-link-mrcy1-casing"/>
+							<line class="highway-casing highway-trunk-link-mrcy2-casing"/>
+							<line class="highway-casing highway-trunk-link-mrcy3-casing"/>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="no">
+								<line class="highway-casing highway-trunk-link-mrcy1-casing"/>
+								<line class="highway-casing highway-trunk-link-mrcy2-casing"/>
+								<line class="highway-casing highway-trunk-link-mrcy4-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-trunk-link-cy1-casing"/>
+								<line class="highway-casing highway-trunk-link-cy2-casing"/>
+							</else>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-trunk-link-mr1-casing"/>
+							<line class="highway-casing highway-trunk-link-mr2-casing"/>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="no">
+								<line class="highway-casing highway-trunk-link-mr1-casing"/>
+								<line class="highway-casing highway-trunk-link-mr3-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-trunk-link-casing"/>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="trunk">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-trunk-mrcy1-casing"/>
+							<line class="highway-casing highway-trunk-mrcy2-casing"/>
+							<line class="highway-casing highway-trunk-mrcy3-casing"/>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="no">
+								<line class="highway-casing highway-trunk-mrcy1-casing"/>
+								<line class="highway-casing highway-trunk-mrcy2-casing"/>
+								<line class="highway-casing highway-trunk-mrcy4-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-trunk-cy1-casing"/>
+								<line class="highway-casing highway-trunk-cy2-casing"/>
+							</else>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-trunk-mr1-casing"/>
+							<line class="highway-casing highway-trunk-mr2-casing"/>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="no">
+								<line class="highway-casing highway-trunk-mr1-casing"/>
+								<line class="highway-casing highway-trunk-mr3-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-trunk-casing"/>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="motorway_link">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<line class="highway-casing highway-motorway-link-cy1-casing"/>
+						<line class="highway-casing highway-motorway-link-cy2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-motorway-link-casing"/>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="motorway">
+					<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+						<line class="highway-casing highway-motorway-cy1-casing"/>
+						<line class="highway-casing highway-motorway-cy2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-motorway-casing"/>
+					</else>
+				</rule>
+
+			    </else>
+			  </else>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-casing railway-con-casing-color railway-casing" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-casing railway-pla-casing-color railway-casing" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-casing railway-dis-casing-color railway-casing" smart-linecap="no" />
+							</rule>
+							<else>
+							   <rule e="way" k="razed" v="*">
+									<line class="railway-raz-casing railway-raz-casing-color railway-casing" smart-linecap="no" />
+							   </rule>
+							   <else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-casing railway-aba-casing-color railway-casing" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-casing railway-con-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-casing railway-pla-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-casing railway-dis-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="razed">
+										<line class="railway-raz-casing railway-raz-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-casing railway-aba-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<line class="railway-rail-casing railway-rail-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-casing railway-narrow-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-casing railway-preserved-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-casing railway-light-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-casing railway-tram-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-casing railway-subway-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-casing railway-funicular-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-casing railway-monorail-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-casing railway-yard-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+								</else>
+							   </else>
+							</else>
+						</else>
+					</else>
+				</rule>
+			</rule>
+		</rule>
+		
+		<!-- Turning circles -->
+		<rule e="node" k="highway" v="turning_circle">
+			<rule e="node" s="way" k="highway" v="unclassified|residential|minor|road">
+				<circle r="1.75" class="highway-unclassified-turningcircle"/>
+			</rule>
+		</rule>
+		
+		<!-- platforms cores -->
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="yes">
+			<line class="highway-platform-area" />
+		</rule>
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="no">
+			<line class="highway-platform-way-core" />
+		</rule>
+
+		<!-- Highway area cores -->
+		<rule e="way" k="area" v="yes|true">
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="footway|footpath">
+				<area class="highway-core highway-footway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<area class="highway-core highway-pedestrian-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<area class="highway-core highway-cycleway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<area class="highway-core highway-cycleway-area no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<area class="highway-core highway-bridleway-area no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-path-area no-bezier" smart-linecap="no"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<area class="highway-core highway-bridleway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<area class="highway-core highway-byway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<rule e="way" k="tracktype" v="grade1">
+					<area class="highway-core highway-track-grade1-area no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="tracktype" v="grade2">
+						<area class="highway-core highway-track-grade2-area no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade3">
+							<area class="highway-core highway-track-grade3-area no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade4">
+								<area class="highway-core highway-track-grade4-area no-bezier" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade5">
+									<area class="highway-core highway-track-grade5-area no-bezier" smart-linecap="no"/>
+								</rule>
+								<else>
+									<area class="highway-core highway-track-gradex-area no-bezier" smart-linecap="no"/>
+								</else>
+							</else>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<area class="highway-core highway-unsurfaced-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+					<area class="highway-core highway-aisle-area no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-core highway-service-area no-bezier"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor">
+				<area class="highway-core highway-unclassified-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="road">
+				<area class="highway-core highway-road-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="living_street">
+				<area class="highway-core highway-livingstreet-area-1 no-bezier"/>
+				<area class="highway-core highway-livingstreet-area-2 no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-core highway-cycleroad-area-1 no-bezier"/>
+					<area class="highway-core highway-cycleroad-area-2 no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-core highway-cycleroad-area-1 no-bezier"/>
+						<area class="highway-core highway-cycleroad-area-2 no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-core highway-cycleroad-area-1 no-bezier"/>
+							<area class="highway-core highway-cycleroad-area-2 no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+						</else>
+					</rule>
+				</else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="tertiary_link">
+				<area class="highway-core highway-tertiary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<area class="highway-core highway-tertiary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<area class="highway-core highway-secondary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<area class="highway-core highway-secondary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<area class="highway-core highway-primary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<area class="highway-core highway-trunk-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<area class="highway-core highway-motorway-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<area class="highway-core highway-primary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<area class="highway-core highway-trunk-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<area class="highway-core highway-motorway-area no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+		</rule>
+		
+		<!-- Buildings -->
+		<rule e="way" k="aeroway" v="terminal">
+			<area class="building-block"/>
+		</rule>
+		<rule e="way" k="building" v="*">
+			<area class="building-block no-bezier"/>
+		</rule>
+		<rule e="node" k="building" v="*">
+			<symbol ref="building" position="center"/>
+		</rule>
+		
+		<!-- Linear cores -->
+		<rule e="way" k="tunnel" v="~|false|no">
+			<rule e="way" k="area" v="~|false|no">
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="ford">
+					<line class="highway-core highway-ford-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="raceway">
+					<rule e="way" k="use_status" v="~">
+						<line class="highway-raceway-core"/>
+					</rule>
+					<rule e="way" k="use_status" v="disused">
+						<line class="highway-raceway-core-disused"/>
+					</rule>
+					<rule e="way" k="use_status" v="dismantled">
+						<line class="highway-raceway-core-dismantled"/>
+					</rule>
+				</rule>
+				<rule e="way" k="scramble" v="*">
+					<line class="highway-core highway-scramble-core"/>
+				</rule>
+				<rule e="way" k="highway" v="steps">
+					<line class="highway-core highway-steps-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="footway|footpath">
+					<line class="highway-core highway-footway-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="pedestrian">
+					<line class="highway-core highway-pedestrian-core"/>
+				</rule>
+				<rule e="way" k="highway" v="cycleway">
+					<line class="highway-core highway-cycleway-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<line class="highway-core highway-cycleway-core" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<line class="highway-core highway-bridleway-core" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="foot" v="yes|designated">
+								<line class="highway-core highway-footway-core" smart-linecap="no"/>
+							</rule>
+							<else>
+								<line class="highway-core highway-path-core" smart-linecap="no"/>
+							</else></else></else>
+				</rule>
+				<rule e="way" k="highway" v="bridleway">
+					<line class="highway-core highway-bridleway-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="byway">
+					<line class="highway-core highway-byway-2-casing" smart-linecap="no"/>
+					<line class="highway-core highway-byway-3-casing" smart-linecap="no"/>
+					<line class="highway-core highway-byway-1-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="track">
+					<rule e="way" k="track" v="racetrack">
+						<line class="highway-racetrack-core" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade1">
+							<line class="highway-core highway-track-core2 highway-track-grade1-core" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade2">
+								<line class="highway-core highway-track-core2 highway-track-grade2-core" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade3">
+									<line class="highway-core highway-track-core highway-track-grade3-core" smart-linecap="no"/>
+								</rule>
+								<else>
+									<rule e="way" k="tracktype" v="grade4">
+										<line class="highway-core highway-track-core highway-track-grade4-core" smart-linecap="no"/>
+									</rule>
+									<else>
+										<rule e="way" k="tracktype" v="grade5">
+											<line class="highway-core highway-track-core  highway-track-grade5-core" smart-linecap="no"/>
+										</rule>
+										<else>
+											<line class="highway-core highway-track-core2 highway-track-gradex-core" smart-linecap="no"/>
+										</else>
+									</else>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="unsurfaced">
+					<line class="highway-core highway-unsurfaced-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle">
+						<line class="highway-core highway-aisle-core"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-service-core"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="unclassified|minor">
+					<line class="highway-core highway-unclassified-core"/>
+				</rule>
+				<rule e="way" k="highway" v="residential">
+					<line class="highway-core highway-residential-core"/>
+				</rule>
+				<rule e="way" k="highway" v="road">
+					<line class="highway-core highway-road-core"/>
+				</rule>
+				<rule e="way" k="highway" v="living_street">
+					<line class="highway-core highway-livingstreet-core-1" smart-linecap="no"/>
+					<line class="highway-core highway-livingstreet-core-2" smart-linecap="no"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-core highway-cycleroad-core-1" smart-linecap="no"/>
+						<line class="highway-core highway-cycleroad-core-2" smart-linecap="no"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-cycleroad-core-3"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-core highway-cycleroad-core-1" smart-linecap="no"/>
+							<line class="highway-core highway-cycleroad-core-2" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="highway-core highway-cycleroad-core-3"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-core highway-cycleroad-core-1" smart-linecap="no"/>
+								<line class="highway-core highway-cycleroad-core-2" smart-linecap="no"/>
+							</rule>
+							<else>
+								<line class="highway-core highway-cycleroad-core-3"/>
+							</else>
+						</rule>
+					</else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="tertiary_link">
+					<line class="highway-core highway-tertiary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="tertiary">
+					<line class="highway-core highway-tertiary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary_link">
+					<line class="highway-core highway-secondary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary">
+					<line class="highway-core highway-secondary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="primary_link">
+					<line class="highway-core highway-primary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk_link">
+					<line class="highway-core highway-trunk-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway_link">
+					<line class="highway-core highway-motorway-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="primary">
+					<line class="highway-core highway-primary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk">
+					<line class="highway-core highway-trunk-core"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway">
+					<line class="highway-core highway-motorway-core"/>
+				</rule>
+			    </else>
+			  </else>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-1-core railway-con-1-core-color railway-1-core" smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-1-core railway-pla-1-core-color railway-1-core" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-1-core railway-dis-1-core-color railway-1-core" smart-linecap="no" />
+							</rule>
+							<else>
+							   <rule e="way" k="razed" v="*">
+								<line class="railway-raz-1-core railway-raz-1-core-color railway-1-core" smart-linecap="no" />
+							   </rule>
+							   <else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-1-core railway-aba-1-core-color railway-1-core" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-1-core railway-con-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-1-core railway-pla-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-1-core railway-dis-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="razed">
+										<line class="railway-raz-1-core railway-raz-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-1-core railway-aba-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<line class="railway-rail-1-core railway-rail-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-1-core railway-narrow-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-1-core railway-preserved-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-1-core railway-light-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-1-core railway-tram-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-1-core railway-subway-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-1-core railway-funicular-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-1-core railway-monorail-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-1-core railway-yard-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+								</else>
+							   </else>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+							</rule>
+							<else>
+							   <rule e="way" k="razed" v="*">
+									<line class="railway-raz-2-core railway-raz-2-core-color railway-2-core" smart-linecap="no" />
+							   </rule>
+							   <else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core"/>
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="razed">
+										<line class="railway-raz-2-core railway-raz-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-2-core railway-light-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+								</else>
+							   </else>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="aeroway" v="runway">
+					<line class="aeroway-runway-core"/>
+				</rule>
+				<rule e="way" k="aeroway" v="taxiway">
+					<line class="aeroway-taxiway-core"/>
+				</rule>
+			</rule>
+		</rule>
+		
+		<!-- Tunnels -->
+		<rule e="way" k="tunnel" v="true|yes">
+			<rule e="way" k="highway" v="steps">
+				<line class="tunnel-casing highway-steps-casing tunnel" mask-class="tunnel-core highway-steps-core"/>
+				<line class="highway-steps-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+				<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<line class="tunnel-casing highway-pedestrian-casing tunnel" mask-class="tunnel-core highway-pedestrian-core"/>
+				<line class="highway-pedestrian-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+				<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+					<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+						<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</rule>
+					<else>
+						<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+						<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+				<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<line class="tunnel-casing highway-byway-1-casing tunnel" mask-class="tunnel-core highway-byway-1-core"/>
+				<line class="highway-byway-1-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<line class="tunnel-casing highway-track-casing tunnel" mask-class="tunnel-core highway-track-core"/>
+				<line class="highway-track-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<line class="tunnel-casing highway-unsurfaced-casing tunnel" mask-class="tunnel-core highway-unsurfaced-core"/>
+				<line class="highway-unsurfaced-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+					<line class="tunnel-casing highway-aisle-casing tunnel" mask-class="tunnel-core highway-aisle-core"/>
+					<line class="highway-aisle-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</rule>
+				<else>
+					<line class="tunnel-casing highway-service-casing tunnel" mask-class="tunnel-core highway-service-core"/>
+					<line class="highway-service-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-unclassified-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="road">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-road-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<line class="tunnel-casing highway-tertiary-link-casing tunnel" mask-class="tunnel-core highway-tertiary-link-core"/>
+				<line class="highway-tertiary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<line class="tunnel-casing highway-tertiary-casing tunnel" mask-class="tunnel-core highway-tertiary-core"/>
+				<line class="highway-tertiary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<line class="tunnel-casing highway-secondary-link-casing tunnel" mask-class="tunnel-core highway-secondary-link-core"/>
+				<line class="highway-secondary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<line class="tunnel-casing highway-secondary-casing tunnel" mask-class="tunnel-core highway-secondary-core"/>
+				<line class="highway-secondary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<line class="tunnel-casing highway-primary-link-casing tunnel" mask-class="tunnel-core highway-primary-link-core"/>
+				<line class="highway-primary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<line class="tunnel-casing highway-trunk-link-casing tunnel" mask-class="tunnel-core highway-trunk-link-core"/>
+				<line class="highway-trunk-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<line class="tunnel-casing highway-motorway-link-casing tunnel" mask-class="tunnel-core highway-motorway-link-core"/>
+				<line class="highway-motorway-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<line class="tunnel-casing highway-primary-casing tunnel" mask-class="tunnel-core highway-primary-core"/>
+				<line class="highway-primary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<line class="tunnel-casing highway-trunk-casing tunnel" mask-class="tunnel-core highway-trunk-core"/>
+				<line class="highway-trunk-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<line class="tunnel-casing highway-motorway-casing tunnel" mask-class="tunnel-core highway-motorway-core"/>
+				<line class="highway-motorway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="railway" v="*">
+				<rule e="way" k="construction" v="yes|true">
+					<line class="railway-con-casing railway-con-casing-color tunnel-casing tunnel" mask-class="tunnel-core railway-con-1-core"/>
+					<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="planned|proposed" v="yes|true">
+						<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-1-core"/>
+						<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="disused" v="yes|true">
+							<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-1-core"/>
+							<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="abandoned|dismantled" v="yes|true">
+								<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-1-core"/>
+								<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="railway" v="construction">
+									<line class="railway-con-casing railway-con-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-con-1-core"/>
+									<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="planned|proposed">
+									<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-1-core"/>
+									<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="disused">
+									<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-1-core"/>
+									<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="abandoned|dismantled">
+									<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-1-core"/>
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="rail">
+									<line class="railway-rail-casing railway-rail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-rail-1-core"/>
+									<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core railway-rail-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="narrow_gauge">
+									<line class="railway-narrow-casing railway-narrow-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-narrow-1-core"/>
+									<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core railway-narrow-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="preserved">
+									<line class="railway-preserved-casing railway-preserved-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-preserved-1-core"/>
+									<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core railway-preserved-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="light_rail">
+									<line class="railway-light-casing railway-light-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-light-1-core"/>
+									<line class="railway-light-2-core railway-light-2-core-color railway-2-core railway-light-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="tram">
+									<line class="railway-tram-casing railway-tram-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-tram-1-core"/>
+									<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core railway-tram-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="subway">
+									<line class="railway-subway-casing railway-subway-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-subway-1-core"/>
+									<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core railway-subway-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="incline|funicular">
+									<line class="railway-funicular-casing railway-funicular-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-funicular-t-core"/>
+									<line class="railway-funicular-1-core railway-funicular-1-core-color railway-1-core railway-funicular-tunnel-core tunnel"  smart-linecap="no" />
+									<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core railway-funicular-tunnel-core tunnel-casing tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="monorail">
+									<line class="railway-monorail-casing railway-monorail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-monorail-1-core"/>
+									<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core railway-monorail-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="spur|yard|siding">
+									<line class="railway-yard-casing railway-yard-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-yard-1-core"/>
+									<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core railway-yard-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+							</else>
+						</else>
+					</else>
+				</else>
+				<line class="railway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+		</rule>
+		
+		<!-- highway motorway-junctions -->
+		<rule e="node" k="highway" v="motorway_junction">
+			<circle r="2.25" class="highway-motorway-junction"/>
+			<caption k="name" class="highway-motorway-junction-caption" dy="-2px"/>
+			<caption k="ref" class="highway-motorway-junction-caption" dy="+6px"/>
+		</rule>
+		
+		<!-- Linear cores (under construction) -->
+		<rule e="way" k="highway" v="construction">
+			<rule e="way" k="construction" v="steps">
+				<line class="highway-core highway-steps-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="footway|footpath">
+				<line class="highway-core highway-footway-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="pedestrian">
+				<line class="highway-core highway-pedestrian-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="cycleway">
+				<line class="highway-core highway-cycleway-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="highway-core highway-cycleway-core under-construction"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="highway-core highway-bridleway-core under-construction"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-footway-core under-construction"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="construction" v="bridleway">
+				<line class="highway-core highway-bridleway-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="byway">
+				<line class="highway-core highway-byway-1-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="track">
+				<line class="highway-core highway-track-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="unsurfaced">
+				<line class="highway-core highway-unsurfaced-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="service">
+				<line class="highway-core highway-service-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="unclassified|residential|minor|living_street|cycleroad">
+				<line class="highway-core highway-unclassified-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="~|road|yes">
+				<line class="highway-core highway-road-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary_link">
+				<line class="highway-core highway-tertiary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary">
+				<line class="highway-core highway-tertiary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary_link">
+				<line class="highway-core highway-secondary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary">
+				<line class="highway-core highway-secondary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="primary_link">
+				<line class="highway-core highway-primary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk_link">
+				<line class="highway-core highway-trunk-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway_link">
+				<line class="highway-core highway-motorway-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="primary">
+				<line class="highway-core highway-primary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk">
+				<line class="highway-core highway-trunk-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway">
+				<line class="highway-core highway-motorway-core under-construction"/>
+			</rule>
+		</rule>
+		
+		
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="highway" v="motorway|motorway_link|footway|steps|pedestrian|living_street|construction|planned|proposed|disused|abandoned|dismantled">
+			</rule>
+			<else>
+				<rule e="way" k="bicycle" v="no">
+					<rule e="way" k="motorroad" v="yes">
+					</rule>
+					<else>
+						<line class="highway-nobicycle-3" smart-linecap="no" />
+					</else>
+				</rule>
+			</else>
+		</rule>
+
+		<!-- access restrictions -->
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="construction|planned|disused|abandoned|proposed" v="yes|true">
+				<line class="wrong-under-construction" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="area" v="yes|true">
+				<rule e="way" k="access" v="private">
+					<area class="access-private-area"/>
+				</rule>
+				<rule e="way" k="access" v="permissive">
+					<area class="access-permissive-area"/>
+				</rule>
+				<rule e="way" k="access" v="destination">
+					<area class="access-destination-area"/>
+				</rule>
+				<rule e="way" k="access" v="no">
+					<area class="access-no-area"/>
+				</rule>
+			</rule>
+			<else>
+				<rule e="way" k="highway" v="footway|footpath|cycleway|path|bridleway|byway|unsurfaced">
+					<rule e="way" k="access" v="private">
+						<line class="access-private-line" smart-linecap="no"/>
+					</rule>
+					<rule e="way" k="access" v="permissive">
+						<line class="access-permissive-line" smart-linecap="no"/>
+					</rule>
+					<rule e="way" k="access" v="destination">
+						<line class="access-destination-line" smart-linecap="no"/>
+					</rule>
+					<rule e="way" k="access" v="no">
+						<line class="access-no-line" smart-linecap="no"/>
+					</rule>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="track">
+						<rule e="way" k="tracktype" v="grade3|grade4|grade5">
+							<rule e="way" k="access" v="private">
+								<line class="access-private-line" smart-linecap="no"/>
+							</rule>
+							<rule e="way" k="access" v="permissive">
+								<line class="access-permissive-line" smart-linecap="no"/>
+							</rule>
+							<rule e="way" k="access" v="destination">
+								<line class="access-destination-line" smart-linecap="no"/>
+							</rule>
+							<rule e="way" k="access" v="no">
+								<line class="access-no-line" smart-linecap="no"/>
+							</rule>
+						</rule>
+						<else>
+							<rule e="way" k="access" v="private">
+								<line class="access-private-line"/>
+							</rule>
+							<rule e="way" k="access" v="permissive">
+								<line class="access-permissive-line"/>
+							</rule>
+							<rule e="way" k="access" v="destination">
+								<line class="access-destination-line"/>
+							</rule>
+							<rule e="way" k="access" v="no">
+								<line class="access-no-line"/>
+							</rule>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="access" v="private">
+							<line class="access-private-line"/>
+						</rule>
+						<rule e="way" k="access" v="permissive">
+							<line class="access-permissive-line"/>
+						</rule>
+						<rule e="way" k="access" v="destination">
+							<line class="access-destination-line"/>
+						</rule>
+						<rule e="way" k="access" v="no">
+							<line class="access-no-line"/>
+						</rule>
+					</else>
+				</else>
+			</else>
+		</rule>
+		
+		<!-- Mini-roundabouts -->
+		<rule e="node" k="highway" v="mini_roundabout">
+			<rule e="node" k="direction" v="clockwise">
+				<symbol ref="roundabout_left" position="center" transform="scale(0.83)"/>
+			</rule>
+			<else>
+				<!-- Default is anti-clockwise -->
+				<symbol ref="roundabout_right" position="center" transform="scale(0.83)"/>
+			</else>
+		</rule>
+		
+		<!-- Oneway markers -->
+		<rule e="way" k="tunnel" v="~|false|no">
+			<rule e="way" k="area" v="~|false|no">
+				<rule e="way" k="highway" v="*">
+					<rule e="way" k="oneway" v="1|yes|true">
+						<rule e="way" k="cycleway" v="opposite|opposite_track|opposite_lane">
+							<line class="oneway-exclcycle-casing oneway-casing-1" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-2" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-3" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-4" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-5" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-6" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-7" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-8" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-1" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-2" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-3" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-4" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-5" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-6" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-7" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="oneway-casing oneway-casing-1" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-2" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-3" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-4" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-5" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-6" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-7" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-8" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-1" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-2" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-3" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-4" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-5" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-6" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-7" smart-linecap="no"/>
+						</else>
+					</rule>
+					<rule e="way" k="oneway" v="-1">
+						<rule e="way" k="cycleway" v="opposite|opposite_track|opposite_lane">
+							<line class="oneway-exclcycle-casing oneway-casing-r1" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r2" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r3" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r4" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r5" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r6" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r7" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r8" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r1" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r2" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r3" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r4" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r5" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r6" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r7" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="oneway-casing oneway-casing-r1" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r2" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r3" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r4" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r5" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r6" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r7" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r8" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r1" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r2" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r3" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r4" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r5" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r6" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r7" smart-linecap="no"/>
+						</else>
+					</rule>
+				</rule>				<!-- Motorway implies oneway-ness -->
+				<rule e="way" k="highway" v="motorway|motorway_link">
+					<rule e="way" k="oneway" v="~|yes|true|1">
+						<line class="oneway-casing oneway-casing-1" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-2" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-3" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-4" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-5" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-6" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-7" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-8" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-1" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-2" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-3" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-4" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-5" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-6" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-7" smart-linecap="no"/>
+					</rule>
+				</rule>
+				<!-- Roundabouts are oneway in the direction of the segments -->
+				<rule e="way" k="junction" v="roundabout">
+					<line class="oneway-casing oneway-casing-1" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-2" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-3" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-4" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-5" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-6" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-7" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-8" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-1" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-2" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-3" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-4" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-5" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-6" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-7" smart-linecap="no"/>
+				</rule>
+			</rule>
+		</rule>
+		
+		<!-- SAC scale for paths and footways -->
+		<rule e="way" k="highway" v="path|footway">
+			<rule e="way" k="sac_scale" v="hiking|t1|T1">
+				<line class="sac-scale-t1" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="sac_scale" v="mountain_hiking|t2|T2">
+				<line class="sac-scale-t2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="sac_scale" v="demanding_mountain_hiking|t3|T3">
+				<line class="sac-scale-t3" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="sac_scale" v="alpine_hiking|t4|T4">
+				<line class="sac-scale-t4" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="sac_scale" v="demanding_alpine_hiking|t5|T5">
+				<line class="sac-scale-t5" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="sac_scale" v="difficult_alpine_hiking|t6|T6">
+				<line class="sac-scale-t6" smart-linecap="no"/>
+			</rule>
+		</rule>
+		
+		<!-- Piste maps: -->
+		<!-- Piste areas -->
+		<rule e="way" k="piste:type" v="downhill" closed="yes">
+			<rule e="way" k="piste:difficulty" v="novice">
+				<line class="piste-area piste-area-difficulty-novice" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="easy">
+				<line class="piste-area piste-area-difficulty-easy" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="intermediate">
+				<line class="piste-area piste-area-difficulty-intermediate" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="advanced">
+				<line class="piste-area piste-area-difficulty-advanced" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="expert">
+				<line class="piste-area piste-area-difficulty-expert" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="freeride">
+				<line class="piste-area piste-area-difficulty-freeride" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="~">
+				<line class="piste-area piste-area-difficulty-other" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="name|ref" v="*">
+				<!-- prefer to render name, otherwise render ref -->
+				<rule e="way" k="name" v="~">
+					<rule e="way" k="ref" v="*">
+						<areaText k="ref" dy="0px" class="piste-downhill-ref" text-anchor="middle"/>
+					</rule>
+				</rule>
+				<else>
+					<rule e="way" k="ref" v="*">
+						<areaText k="ref" dy="-3px" class="piste-downhill-ref" text-anchor="middle"/>
+					</rule>
+					<rule e="way" k="name" v="*">
+						<areaText k="name" dy="3px" class="piste-downhill-name-casing" text-anchor="middle"/>
+						<areaText k="name" dy="3px" class="piste-downhill-name" text-anchor="middle"/>
+					</rule>
+				</else>
+			</rule>
+		</rule>
+		<!-- piste ways -->
+		<rule e="way" k="piste:type" v="downhill" closed="no">
+			<rule e="way" k="piste:difficulty" v="novice">
+				<line class="piste-core piste-difficulty-novice" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="easy">
+				<line class="piste-core piste-difficulty-easy" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="intermediate">
+				<line class="piste-core piste-difficulty-intermediate" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="advanced">
+				<line class="piste-core piste-difficulty-advanced" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="expert">
+				<line class="piste-core piste-difficulty-expert" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="freeride">
+				<line class="piste-core piste-difficulty-freeride" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="~">
+				<line class="piste-core piste-difficulty-other" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="name|ref" v="*">
+				<!-- prefer to render name, otherwise render ref -->
+				<!-- text is rendered at 75%, refs at 25%, aerialway name at 50% -->
+				<rule e="way" k="name" v="~">
+					<rule e="way" k="ref" v="*">
+						<pathText k="ref" dy="2px" class="piste-downhill-ref" text-anchor="middle" startOffset="75%"/>
+					</rule>
+				</rule>
+				<else>
+					<rule e="way" k="ref" v="*">
+						<pathText k="ref" dy="2px" class="piste-downhill-ref" text-anchor="middle" startOffset="25%"/>
+					</rule>
+					<rule e="way" k="name" v="*">
+						<pathText k="name" dy="2px" class="piste-downhill-name" text-anchor="middle" startOffset="75%"/>
+					</rule>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="piste:type" v="sled">
+			<line class="piste-type-sled"/>
+		</rule>
+		<rule e="way" k="piste:type" v="nordic">
+			<line smart-linecap="no" class="piste-type-nordic"/>
+		</rule>
+		<rule e="way" k="man_made" v="piste:halfpipe">
+			<area class="man-made-piste-halfpipe"/>
+			<symbol ref="man-made-halfpipe" position="center"/>
+		</rule>
+		
+		<!-- Surface lifts (render over pistes) -->
+		<rule e="way" k="piste:lift" v="*">
+			<rule e="way" k="piste:lift" v="t-bar|j-bar|platter">
+				<line smart-linecap="no" class="aerialway-line piste-lift-t-bar-marker no-bezier"/>
+				<line smart-linecap="no" class="aerialway-struts"/>
+			</rule>
+			<rule e="way" k="piste:lift" v="rope_tow">
+				<line smart-linecap="no" class="piste-lift-rope-tow no-bezier"/>
+			</rule>
+			<rule e="way" k="piste:lift" v="magic_carpet">
+				<line smart-linecap="no" class="piste-lift-magic-carpet no-bezier"/>
+			</rule>
+			<rule e="way" k="name" v="*">
+				<pathText k="name" dx="0px" dy="-3px" class="aerialway-name" text-anchor="middle" startOffset="50%"/>
+			</rule>
+		</rule>
+		
+		<!-- Aerialways (render over pistes) -->
+		<rule e="node|way" k="aerialway" v="*">
+			<rule e="way" k="aerialway" v="cable_car">
+				<line class="aerialway-line aerialway-cablecar-marker no-bezier" smart-linecap="no"/>
+			</rule>
+			<else>
+				<rule e="way" k="aerialway" v="gondola">
+					<line class="aerialway-line aerialway-gondola-marker no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="aerialway" v="chair_lift">
+						<rule e="way" k="piste:lift:occupancy" v="4|5|6">
+							<line class="aerialway-line aerialway-chairlift4-marker no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="aerialway-line aerialway-chairlift2-marker no-bezier" smart-linecap="no"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="aerialway" v="mixed_lift">
+							<line class="aerialway-line aerialway-mixedlift-marker no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="aerialway" v="*">
+								<line class="aerialway-line no-bezier" smart-linecap="no"/>
+							</rule>
+						</else>
+					</else>
+				</else>
+			</else>
+			<line smart-linecap="no" class="aerialway-struts no-bezier"/>
+			<rule e="node" k="aerialway" v="station">
+				<circle r="1px" class="aerialway-station"/>
+			</rule>
+			<rule e="node" s="way" k="aerialway" v="*">
+				<rule e="node" k="ele" v="*">
+					<caption k="ele" dx="0px" dy="-2px" class="aerialway-elevation-text"/>
+				</rule>
+			</rule>
+			<rule e="way" k="name" v="*">
+				<pathText k="name" dx="0px" dy="-3px" class="aerialway-name" text-anchor="middle" startOffset="50%"/>
+			</rule>
+		</rule>
+		
+		<!-- Natural features -->
+		<rule e="node" k="natural" v="peak">
+			<symbol ref="peak" position="center"/>
+		</rule>
+		<rule e="node" k="natural" v="volcano">
+			<symbol ref="vulcan" position="center"/>
+		</rule>
+		<rule e="node" k="tourism" v="viewpoint">
+			<symbol ref="viewpoint" position="center"/>
+		</rule>
+		<rule e="node" k="natural" v="cave_entrance">
+			<symbol ref="cave_entrance" position="center"/>
+		</rule>
+		<rule e="node" k="mountain_pass" v="yes" layer="-5">
+			<rule e="node" s="way" k="highway|track" v="path|secondary|track|unclassified|tertiary|primary|footway|unclassified|trunk|service|motorway|residential|bridleway|road|cycleway">
+				<wayMarker k="highway" class="mountain_pass" layer="-5"/>
+			</rule>
+			<else>
+				<symbol ref="mountain_pass" position="center" layer="-5"/>
+			</else>
+		</rule>
+		
+		<!-- Draw marine features -->
+		<rule e="way" k="man_made" v="breakwater">
+			<line class="breakwater"/>
+		</rule>
+		<rule e="way" k="man_made" v="pier" closed="yes">
+			<line class="artificial-pier-area"/>
+		</rule>
+		<rule e="way" k="man_made" v="pier" closed="no">
+			<line class="artificial-pier-casing"/>
+		</rule>
+		<rule e="way" k="man_made" v="pier" closed="no">
+			<line class="artificial-pier-core"/>
+		</rule>
+		
+		<!-- Power lines and pylons -->
+		<rule e="way" k="power" v="line">
+			<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+			<line class="power-line no-bezier" smart-linecap="no"/>
+		</rule>
+		<rule e="way" k="power" v="minor_line">
+			<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+			<line class="power-minor-line no-bezier" smart-linecap="no"/>
+		</rule>
+		<rule e="node|way" k="power" v="tower">
+			<symbol ref="power-tower" position="center"/>
+		</rule>
+		<rule e="node|way" k="power" v="pole">
+			<symbol ref="power-pole" position="center"/>
+		</rule>
+
+		<!-- Power generators -->
+		<rule e="node" k="power" v="generator">
+			<rule e="node" k="power_source" v="wind">
+				<symbol ref="power_wind" position="center"/>
+			</rule>
+			<else>
+				<rule e="node" k="power_source" v="hydro">
+					<symbol ref="power_hydro" position="center"/>
+				</rule>
+				<else>
+					<rule e="node" k="power_source" v="photovoltaic">
+						<symbol ref="power_photovoltaic" position="center"/>
+					</rule>
+					<else>
+						<symbol ref="power_generic" position="center"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="power" v="generator">
+			<rule e="way" k="power_source" v="wind">
+				<area class="power-wind"/>
+			</rule>
+			<else>
+				<rule e="way" k="power_source" v="hydro">
+					<area class="power-hydro"/>
+				</rule>
+				<else>
+					<rule e="way" k="power_source" v="photovoltaic">
+						<area class="power-photovoltaic"/>
+					</rule>
+					<else>
+						<area class="power-generic"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+
+		<!-- Electrical substations -->
+		<rule e="way" k="power" v="station|sub_station">
+			<area class="power-generic"/>
+		</rule>
+
+		<!-- Pipelines -->
+		<rule e="way" k="man_made" v="pipeline">
+			<rule e="way" k="type" v="water">
+				<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+				<line class="pipeline-water no-bezier" smart-linecap="no"/>
+			</rule>
+			<else>
+				<rule e="way" k="type" v="oil">
+					<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+					<line class="pipeline-oil no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="type" v="gas|natural_gas">
+						<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+						<line class="pipeline-gas no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="type" v="sewage">
+							<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+							<line class="pipeline-sewage no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="type" v="hot_water|heat">
+								<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+								<line class="pipeline-heat no-bezier" smart-linecap="no"/>
+							</rule>
+							<else>
+								<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+								<line class="pipeline-unknown no-bezier" smart-linecap="no"/>
+							</else>
+						</else>
+					</else>
+				</else>
+			</else>
+		</rule>
+		
+		<!-- Non-physical routes -->
+		<rule e="way" k="route" v="ferry">
+			<line class="route-ferry"/>
+		</rule>
+		
+		<!-- platforms nodes -->
+		<rule e="node" k="highway|railway|public_transport" v="platform">
+			<circle r="0.6px" class="highway-platform-node" />
+		</rule>
+
+		<!-- Railway stations -->
+		<rule e="node" k="railway" v="station">
+			<rule e="node" s="way" k="railway" v="rail">
+				<circle r="1.5" class="railway-station"/>
+			</rule>
+			<else>
+				<circle r="1" class="railway-halt"/>
+			</else>
+		</rule>
+		<rule e="node" k="railway" v="halt">
+			<circle r="1" class="railway-halt"/>
+		</rule>
+		
+		<!-- tram stops -->
+		<rule e="node" k="railway" v="tram_stop">
+			<circle r="1" class="railway-halt"/>
+		</rule>
+		
+		<!-- Level crossings -->
+		<!-- If tagged explicitly -->
+		<rule e="node" k="railway" v="level_crossing">
+			<symbol ref="railway-crossing" position="center"/>
+		</rule>
+		<rule e="node" k="railway" v="crossing">
+			<symbol ref="railway-crossing-small" position="center"/>
+		</rule>
+
+		<!-- For everything, except trams, if it shares a node with a road then render a railroad crossing symbol. 
+			not feasible
+			beware for historic reasons and as example fpr s="..."
+		else
+			rule e="node" s="way" k="railway" v="rail|light_rail|subway|narrow_gauge|preserved|monorail|incline|funicular"
+				rule e="node" s="way" k="railway" v="rail"
+					rule e="node" s="way" k="highway" v="motorway|trunk|primary|secondary|tertiary|minor|unclassified|residential|service|unsurfaced|track|living_street|cycleroad|road|cycleway|path|footway"
+						symbol ref="railway-crossing-small" position="center"
+					/rule
+				/rule
+			/rule
+		/else
+		-->
+
+		<!-- Barriers -->
+		<rule e="way" k="barrier" v="bollard|hedge|fence|wall|retaining_wall|city_wall">
+			<rule e="way" k="barrier" v="bollard">
+				<line class="barrier barrier-bollard"/>
+			</rule>
+			<rule e="way" k="barrier" v="hedge">
+				<line class="barrier barrier-hedge-1"/>
+				<line class="barrier barrier-hedge-2"/>
+			</rule>
+			<rule e="way" k="barrier" v="fence">
+				<line class="barrier barrier-fence-1"/>
+				<line class="barrier barrier-fence-2"/>
+			</rule>
+			<rule e="way" k="barrier" v="wall">
+				<line class="barrier barrier-wall"/>
+			</rule>
+			<rule e="way" k="barrier" v="retaining_wall">
+				<line class="barrier barrier-retaining-wall-1"/>
+				<line class="barrier barrier-retaining-wall-2"/>
+			</rule>
+			<rule e="way" k="barrier" v="city_wall">
+				<rule e="way" k="two_sided" v="yes">
+					<line class="barrier barrier-city-wall-ts-1"/>
+					<line class="barrier barrier-city-wall-ts-2"/>
+				</rule>
+				<else>
+					<!-- We can't move the dot of to one side yet -->
+					<line class="barrier barrier-city-wall-1"/>
+					<line class="barrier barrier-city-wall-2"/>
+				</else>
+			</rule>
+		</rule>
+		<else>
+			<rule e="way" k="barrier">
+				<line class="barrier"/>
+			</rule>
+		</else>
+
+		<rule e="node" k="noexit:foot" v="yes|true">
+			<wayMarker k="highway" class="noexit-all"/>
+		</rule>
+		<else>
+			<rule e="node" k="noexit:bicycle|noexit:vehicle" v="yes|true">
+				<wayMarker k="highway" class="noexit-veh"/>
+			</rule>
+			<else>
+				<rule e="node" k="noexit:motor_bicycle|noexit:motorcar|noexit:hgv|noexit:goods" v="yes|true">
+					<wayMarker k="highway" class="noexit-mot"/>
+				</rule>
+				<else>
+
+
+					<rule e="node" k="noexit" v="yes|true">
+						<wayMarker k="highway" class="noexit-all"/>
+					</rule>
+					<rule e="node" k="noexit" v="vehicle">
+						<wayMarker k="highway" class="noexit-veh"/>
+					</rule>
+					<rule e="node" k="noexit" v="motor_vehicle|motorcar">
+						<wayMarker k="highway" class="noexit-mot"/>
+					</rule>
+					<rule e="node" k="noexit" v="no|false">
+						<wayMarker k="highway" class="noexit-no"/>
+					</rule>
+
+				</else>
+			</else>
+		</else>
+		<rule e="node" k="FIXME|fixme" v="continue|continuation">
+			<wayMarker k="highway" class="noexit-no"/>
+		</rule>
+
+		<rule e="node" k="barrier|highway" v="gate|lift_gate">
+			<rule e="node" k="status" v="open">
+				<wayMarker k="highway" class="gate-open"/>
+			</rule>
+			<else>
+				<rule e="node" k="status" v="locked">
+					<wayMarker k="highway" class="gate-locked"/>
+				</rule>
+				<else>
+					<wayMarker k="highway" class="gate-closed"/>
+				</else>
+			</else>
+		</rule>
+		<rule e="node" k="highway|barrier" v="bollard">
+			<circle r='0.3px' class='bollard' />
+		</rule>
+		<rule e="node" k="barrier" v="cycle_barrier|chicane">
+			<wayMarker k="highway" class="chicane"/>
+		</rule>
+
+		<!-- Traffic calming -->
+		<rule e="node" k="traffic_calming" v="*">
+			<wayMarker k="highway" class="traffic-calming"/>
+		</rule>
+		
+		<!-- Bus stops -->
+		<rule e="node|way" k="highway" v="bus_stop">
+			<symbol ref="bus" position="center"/>
+		</rule>
+		<!-- bus stations -->
+		<rule e="node|way" k="amenity" v="bus_station">
+			<symbol ref="bus_sta" position="center"/>
+		</rule>
+		<!-- subway entrance -->
+		<rule e="node|way" k="railway" v="subway_entrance">
+			<symbol ref="subway" position="center"/>
+		</rule>
+		<!-- Amenities -->
+		<rule e="node|way" k="amenity" v="hospital">
+			<symbol ref="hospital" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="speed_trap">
+			<symbol ref="speed_trap" position="center"/>
+		</rule>
+		<rule e="node|way" k="tourism" v="alpine_hut">
+			<symbol ref="alpine_hut" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="shelter">
+			<rule e="node|way" k="fireplace" v="yes">
+				<symbol ref="shelter-fireplace" position="center"/>
+			</rule>
+			<else>
+				<symbol ref="shelter" position="center"/>
+			</else>
+		</rule>
+		<rule e="node|way" k="amenity" v="fountain">
+			<symbol ref="fountain" position="center"/>
+		</rule>
+		
+		<!-- ==================================== Layer -5 ======================================== -->
+		
+		<!-- Access restrictions for areas -->
+		<rule e="way" k="landuse" v="conservation" layer="-5">
+			<rule e="way" k="access" v="private" layer="-5">
+				<area class="access-private-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="permissive" layer="-5">
+				<area class="access-permissive-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="destination" layer="-5">
+				<area class="access-destination-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="no" layer="-5">
+				<area class="access-no-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="leisure" v="park" layer="-5">
+			<rule e="way" k="access" v="private" layer="-5">
+				<area class="access-private-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="permissive" layer="-5">
+				<area class="access-permissive-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="destination" layer="-5">
+				<area class="access-destination-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="no" layer="-5">
+				<area class="access-no-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="leisure" v="recreation_ground" layer="-5">
+			<rule e="way" k="access" v="private" layer="-5">
+				<area class="access-private-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="permissive" layer="-5">
+				<area class="access-permissive-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="destination" layer="-5">
+				<area class="access-destination-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="no" layer="-5">
+				<area class="access-no-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+		</rule>
+
+		<!-- Landuse -->
+		<rule e="way" k="landuse" v="residential|farmyard" layer="-5">
+			<area class="landuse-residential" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="retail" layer="-5">
+			<area class="landuse-retail" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="industrial|brownfield|railway" layer="-5">
+			<area class="landuse-industrial" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="commercial" layer="-5">
+			<area class="landuse-commercial" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="construction|greenfield" layer="-5">
+			<area class="landuse-construction" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="garages" layer="-5">
+			<area class="landuse-garages" layer="-5"/>
+		</rule>
+		
+		<!-- Artificial landuse -->
+		<rule e="way" k="amenity" v="kindergarten|school|college|university" layer="-5">
+			<area class="amenity-school" layer="-5"/>
+		</rule>
+		
+		<!-- Man-made areas -->
+		<rule e="way" k="landuse" v="military" layer="-5">
+			<rule e="way" k="military" v="~" layer="-5">
+				<area class="military-area" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="military" v="*" layer="-5">
+			<area class="military-area" layer="-5"/>
+		</rule>
+		
+		<!-- ==================================== Layer 5 ======================================== -->
+		
+		<!-- Non-physical boundaries -->
+		<rule e="way" k="boundary" v="administrative" layer="5">
+			<rule e="way" k="admin_level" v="1|2|3|4|5|6|7|8|9|10" layer="5">
+				<rule e="way" k="admin_level" v="10" layer="5">
+					<line class="boundary boundary-level-10-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="9" layer="5">
+					<line class="boundary boundary-level-9-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="8" layer="5">
+					<line class="boundary boundary-level-8-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="7" layer="5">
+					<line class="boundary boundary-level-7-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="6" layer="5">
+					<line class="boundary boundary-level-6-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="5" layer="5">
+					<line class="boundary boundary-level-5-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="4" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="3" layer="5">
+					<line class="boundary boundary-level-3-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="2" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="1" layer="5">
+					<line class="boundary boundary-level-1-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-1-core no-bezier" layer="5"/>
+				</rule>
+			</rule>
+			<!-- If we don't have explicit admin_level then guess -->
+			<else>
+				<rule e="way" k="border_type" v="suburb" layer="5">
+					<line class="boundary boundary-level-10-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="municipality|city" layer="5">
+					<line class="boundary boundary-level-8-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="county|district" layer="5">
+					<line class="boundary boundary-level-6-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="region|state" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="nation|country" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+			</else>
+		</rule>
+		<rule e="way" k="boundary" v="national_park" layer="5">
+			<line class="boundary boundary-nationalpark-core no-bezier" layer="5"/>
+		</rule>
+		
+		<!-- Waterway and Street names -->
+		<rule e="way" k="osmarender:renderName" v="~|yes" layer="5">
+			<rule e="way" k="tunnel" v="~|no|false" layer="5"> <!-- no names in tunnels -->
+				<rule e="way" k="area" v="~|no|false" layer="5"> <!-- area names are done elsewhere -->
+					<rule e="way" k="junction" v="~" layer="5"> <!-- no names on or along junctions -->
+						<!-- Waterway names -->
+						<rule e="way" k="lock_name" v="~" layer="5"> <!-- locks get their name below -->
+							<rule e="way" k="waterway" v="ditch" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-ditch-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-ditch-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="drain" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-drain-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-drain-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="canal" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-canal-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-canal-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="stream" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-stream-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-stream-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="river" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-river-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-river-name-core" dy="0.5px" layer="5"/>
+							</rule>
+						</rule>
+						<else> <!-- names on locks -->
+							<rule e="way" k="waterway" v="canal" layer="5">
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-casing waterway-canal-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-core waterway-canal-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="stream" layer="5">
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-casing waterway-stream-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-core waterway-stream-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="river" layer="5">
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-casing waterway-river-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-core waterway-river-name-core" dy="0.5px" layer="5"/>
+							</rule>
+						</else>
+						
+						<!-- Scramble names -->
+						<rule e="way" k="scramble" v="*" layer="5">
+							<pathText k="name" startOffset="50%" class="caption-casing highway-scramble-name" dy="0.7px" layer="5"/>
+							<pathText k="name" startOffset="50%" class="caption-core highway-scramble-name" dy="0.7px" layer="5"/>
+						</rule>
+						
+						<!-- Highway names -->
+						<rule e="way" k="highway" v="steps" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-steps-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="footway|footpath" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-footway-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="pedestrian" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-pedestrian-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="cycleway" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-cycleway-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="path" layer="5">
+							<rule e="way" k="bicycle" v="yes|designated" layer="5">
+								<pathText k="name" startOffset="50%" class="highway-name highway-cycleway-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+							</rule>
+							<else>
+								<rule e="way" k="horse" v="yes|designated" layer="5">
+									<pathText k="name" startOffset="50%" class="highway-name highway-bridleway-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+								</rule>
+								<else>
+									<pathText k="name" startOffset="50%" class="highway-name highway-footway-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+								</else></else>
+						</rule>
+						<rule e="way" k="highway" v="bridleway" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-bridleway-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="byway" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-byway-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="track" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-track-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="unsurfaced" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-unsurfaced-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="service" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-service-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad|road" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-unclassified-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="tertiary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-tertiary-link-name" dy="1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="tertiary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-tertiary-name" dy="1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="secondary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-secondary-link-name" dy="1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="secondary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-secondary-name" dy="1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="primary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-primary-link-name" dy="1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="trunk_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-trunk-link-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="motorway_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-motorway-link-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="primary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-primary-name" dy="1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="trunk" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-trunk-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="motorway" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-motorway-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+					</rule>
+					
+					<rule e="way" k="junction" v="*" notConnectedSameTag="name" layer="5"> <!-- Roundabouts, motorway exits etc -->
+						<rule e="way" k="highway" v="secondary|secondary_link" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-secondary-name" dy="2px" layer="5"/>
+						</rule>
+						<rule e="way" k="highway" v="primary|primary_link" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-primary-name" dy="2px" layer="5"/>
+						</rule>
+						<rule e="way" k="highway" v="trunk|trunk_link" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-trunk-name" dy="3px" layer="5"/>
+						</rule>
+						<rule e="way" k="highway" v="motorway|motorway_link" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-motorway-name" dy="3px" layer="5"/>
+						</rule>
+					</rule>
+				</rule>
+				<else> <!-- area!=yes -->
+					<rule e="way" k="highway" v="*" notConnectedSameTag="name" layer="5">
+						<caption k="name" class="caption-casing generic-caption-casing" text-anchor="middle" startOffset="50%" layer="5"/>
+						<caption k="name" class="caption-core generic-caption-core" text-anchor="middle" startOffset="50%" layer="5"/>
+					</rule>
+				</else>
+			</rule>
+			<rule e="way" k="natural" v="*" minSize="0.008" layer="5">
+				<caption k="name" class="caption-casing largefeature-caption-casing" text-anchor='middle' startOffset='50%' layer="1"/>
+				<caption k="name" class="caption-core largefeature-caption-core" text-anchor='middle' startOffset='50%' layer="1"/>
+			</rule>
+			<!-- Add landuse names, e.g. to display names of forest parcels teinted by a large wooden area -->
+			<rule e="way" k="landuse" v="allotments|basin|brownfield|cemetery|commercial|construction|farm|farmyard|farmland|forest|garages|grass|greenfield|greenhouse_horticulture|industrial|landfill|meadow|military|orchard|quarry|railway|recreation_ground|reservoir|retail|salt_pond|street|village_green|vineyard" minSize="0.008" layer="5">
+				<caption k="name" class="caption-casing largefeature-caption-casing" text-anchor='middle' startOffset='50%' dx="0px" dy="0px" layer="1"/>
+				<caption k="name" class="caption-core largefeature-caption-core" text-anchor='middle' startOffset='50%' dx="0px" dy="0px" layer="1"/>
+			</rule>
+		</rule>
+
+		<!-- Road numbers for all highways -->
+		<rule e="way" k="osmarender:renderRef" v="~|yes" layer="5">
+			<rule e="way" k="tunnel" v="~|no|false" layer="5"> <!-- no road numbers in tunnels -->
+				<rule e="way" k="junction" v="~" layer="5"> <!-- no ref on junctions / roundabouts -->
+					<!-- Use startOffset to prevent captions from colliding on dual carriageways -->
+					<rule e="way" k="highway" v="steps" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-steps-ref" dy="-1px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="footway|footpath" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-footway-ref" dy="-1px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="pedestrian" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-pedestrian-ref" dy="-2px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="cycleway" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-cycleway-ref" dy="-1.6px" layer="5" avoid-duplicates="true" />
+						<pathText k="ncn_ref" startOffset="60%" class="highway-ref highway-cycleway-ref" dy="-1.6px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="path" layer="5">
+						<rule e="way" k="bicycle" v="yes|designated" layer="5">
+							<pathText k="ref" startOffset="30%" class="highway-ref highway-cycleway-ref" dy="-0.8px" layer="5" avoid-duplicates="true" />
+							<pathText k="ncn_ref" startOffset="60%" class="highway-ref highway-cycleway-ref" dy="-0.8px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<else>
+							<rule e="way" k="horse" v="yes|designated" layer="5">
+								<pathText k="ref" startOffset="30%" class="highway-ref highway-bridleway-ref" dy="-0.8px" layer="5" avoid-duplicates="true" />
+							</rule>
+							<else>
+								<pathText k="ref" startOffset="30%" class="highway-ref highway-footway-ref" dy="-0.5px" layer="5" avoid-duplicates="true" />
+							</else></else>
+					</rule>
+					<rule e="way" k="highway" v="bridleway" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-bridleway-ref" dy="-1.6px" layer="5"/>
+					</rule>
+					<rule e="way" k="highway" v="byway" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-byway-ref" dy="-2px" layer="5"/>
+					</rule>
+					<rule e="way" k="highway" v="track" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-track-ref" dy="-2px" layer="5"/>
+					</rule>
+					<rule e="way" k="highway" v="unsurfaced" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-unsurfaced-ref" dy="-2px" layer="5"/>
+					</rule>
+					<rule e="way" k="highway" v="service" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-service-ref" dy="-2px" layer="5"/>
+					</rule>
+					<rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad|road" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-unclassified-ref" dy="-2.4px" layer="5"/>
+					</rule>
+					<rule e="way" k="highway" v="tertiary" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-tertiary-ref" dy="-2.5px" textAttenuation="1.5" layer="5"/>
+					</rule>
+					<rule e="way" k="highway" v="secondary" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-secondary-ref" dy="-2.5px" textAttenuation="1.5" layer="5"/>
+					</rule>
+					<rule e="way" k="highway" v="primary" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-primary-ref" dy="-2.5px" textAttenuation="1.5" layer="5"/>
+					</rule>
+					<rule e="way" k="highway" v="trunk" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-trunk-ref" dy="-2.5px" textAttenuation="1.5" layer="5"/>
+					</rule>
+					<rule e="way" k="highway" v="motorway" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-motorway-ref" dy="-3px" textAttenuation="1.5" layer="5"/>
+					</rule>
+				</rule>
+			</rule>
+		</rule>
+		
+		<!-- Place names  -->
+		<rule e="node|way" k="osmarender:renderName" v="~|yes" layer="5">
+			<rule e="node|way" k="natural" v="peak|volcano" layer="5">
+				<caption k="name" class="place-caption peak-caption" dy="-3px" layer="5"/>
+			</rule>
+			<rule e="node" k="mountain_pass" v="yes" layer="5">
+				<caption k="name" class="place-caption pass-caption" dy="-3px" layer="5"/>
+			</rule>
+			<rule e="node|way" k="natural" v="cave_entrance" layer="5">
+				<caption k="name" class="place-caption cave-caption" dy="-3px" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="island" layer="5">
+				<caption k="name" class="place-caption island-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="islet" layer="5">
+				<caption k="name" class="place-caption islet-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="village" layer="5">
+				<caption k="name" class="place-caption village-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="suburb" layer="5">
+				<caption k="name" class="place-caption suburb-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="hamlet" layer="5">
+				<caption k="name" class="place-caption hamlet-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="locality" layer="5">
+				<caption k="name" class="place-caption locality-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="farm" layer="5">
+				<caption k="name" class="place-caption farm-caption" layer="5"/>
+			</rule>
+			<rule e="node|way" k="tourism" v="attraction" layer="5">
+				<rule e="way" k="highway" v="~">
+					<caption k="name" class="tourism-attraction-caption" layer="5"/>
+				</rule>
+			</rule>
+
+			<!-- platforms text -->
+			<rule e="way" k="highway|railway|public_transport" v="platform" closed="yes">
+				<caption k="ref" startOffset="50%" class="highway-platform-ref" dy="0.3px" layer="5" />
+			</rule>
+			<rule e="way" k="highway|railway|public_transport" v="platform" closed="no">
+				<caption k="ref" startOffset="50%" class="highway-platform-ref" dy="0.3px" layer="5" />
+			</rule>
+			<rule e="node" k="highway|railway|public_transport" v="platform">
+				<caption k="ref" startOffset="50%" class="highway-platform-ref" dy="0.3px" layer="5" />
+			</rule>
+
+			<rule e="node" k="railway" v="station" layer="5">
+				<rule e="node" s="way" k="railway" v="rail" layer="5">
+					<caption k="name" class="caption-casing railway-station-caption-casing" dy="-3px" layer="5"/>
+					<caption k="name" class="caption-core railway-station-caption-core" dy="-3px" layer="5"/>
+				</rule>
+				<else>
+					<caption k="name" class="caption-casing railway-halt-caption-casing" dy="-2px" layer="5"/>
+					<caption k="name" class="caption-core railway-halt-caption-core" dy="-2px" layer="5"/>
+				</else>
+			</rule>
+			<rule e="node|way" k="railway" v="halt" layer="5">
+				<caption k="name" class="caption-casing railway-halt-caption-casing" dy="-2px" layer="5"/>
+				<caption k="name" class="caption-core railway-halt-caption-core" dy="-2px" layer="5"/>
+			</rule>
+			<rule e="node|way" k="railway" v="tram_stop" layer="5">
+				<caption k="name" class="caption-casing railway-halt-caption-casing" dy="-2px" layer="5"/>
+				<caption k="name" class="caption-core railway-halt-caption-core" dy="-2px" layer="5"/>
+			</rule>
+			<rule e="node|way" k="aerialway" v="station" layer="5">
+				<caption k="name" class="caption-casing railway-halt-caption-casing" dy="-2px" layer="5"/>
+				<caption k="name" class="caption-core railway-halt-caption-core" dy="-2px" layer="5"/>
+			</rule>
+		</rule>
+	</rule>
+	
+	<!-- SVG Definitions - markers, symbols etc go here -->
+	<include ref="markers.xml"/>
+	<defs>
+		<style xmlns="http://www.w3.org/2000/svg" id="styles" type="text/css">
+			/* DO NOT DELETE - Used by osmarender.xsl */
+			.untagged-segments {
+			stroke-width: 0.5px;
+			stroke-linejoin: round;
+			stroke-linecap: butt;
+			stroke: #e0e0e0;
+			stroke-dasharray: 0.5,0.5;
+			}
+			
+			.canal-lock {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#canal-lock);
+			}
+			
+			.noexit-all {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#noexit-all);
+			}
+			.noexit-veh {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#noexit-veh);
+			}
+			.noexit-mot {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#noexit-mot);
+			}
+			.noexit-no {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#noexit-no);
+			}
+
+			.gate-locked {
+			fill: none;
+			stroke: red;
+			stroke-width: 2px;
+			stroke-opacity: 0;
+			marker-mid: url(#marker-gate-locked);
+			}
+			
+			.gate-closed {
+			fill: none;
+			stroke: red;
+			stroke-width: 2px;
+			stroke-opacity: 0;
+			marker-mid: url(#marker-gate-closed);
+			}
+			
+			.gate-open {
+			fill: none;
+			stroke: red;
+			stroke-width: 2px;
+			stroke-opacity: 0;
+			marker-mid: url(#marker-gate-open);
+			}
+			
+			.bollard {
+			fill: #707070;
+			stroke: none;
+			}
+			
+			.chicane {
+			fill: none;
+			stroke: red;
+			stroke-width: 2px;
+			stroke-opacity: 0;
+			marker-mid: url(#marker-chicane);
+			}
+
+			.traffic-calming {
+			fill: none;
+			stroke: red;
+			stroke-width: 2px;
+			stroke-opacity: 0;
+			marker-mid: url(#marker-traffic-calming);
+			}
+					
+			
+			/* Highways - generic styles */
+			.highway-casing {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.highway-core {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.highway-ref {
+			fill: #606060;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			text-anchor: middle;
+			}
+			
+			.highway-name {
+			fill: black;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			text-anchor: middle;
+			}
+			
+			
+			.highway-motorway-junction {
+			fill: yellow;
+			stroke: #4D5D73;
+			stroke-width: 1.5px;
+			}
+			
+			.highway-motorway-junction-caption {
+			fill: black;
+			stroke: black;
+			stroke-width: 0.2px;
+			font-family: "DejaVu Sans";
+			font-size: 4px;
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			.highway-nobicycle-1 { stroke-width: 5.2px; stroke: #000080; stroke-dasharray: 0.2,3.8; stroke-linecap: butt; fill: none; stroke-miterlimit: 0.1; }
+			.highway-nobicycle-2 { stroke-width: 3.6px; stroke: #d1fad1; stroke-dasharray: 0.2,3.8; stroke-linecap: butt; fill: none; stroke-miterlimit: 0.1; }
+			.highway-nobicycle-3 { stroke-width: 0.4px; stroke: #000080; stroke-dasharray: 0.2,3.8; stroke-linecap: butt; fill: none; stroke-miterlimit: 0.1; }
+
+			.bridge-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			marker-start: url(#bridge-casing-start);
+			marker-end: url(#bridge-casing-end);
+			}
+			
+			.bridge-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #ffffff;
+			fill: none;
+			}
+			
+			.tunnel-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.tunnel-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.tunnel { stroke-dasharray: 0.8, 0.8; }
+			
+			.embankment-cutting              { fill: none; stroke-linejoin: bevel; stroke-linecap: butt; stroke: #6f4a18; }
+			.dyke                            { fill: none; stroke-linejoin: bevel; stroke-linecap: butt; stroke: #3a7019; }
+
+			.embankment-long-casing          { stroke-width: 7.2px; stroke-dasharray: 0.1, 2.1; }
+			.embankment-short-casing         { stroke-width: 6.0px; stroke-dasharray: 0.1, 1.0, 0.1, 1.0;  }
+			.embankment-middle-casing        { stroke-width: 3.8px; stroke-dasharray: none; }
+			.embankment-core                 { stroke-width: 3.6px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.embankment-small-long-casing    { stroke-width: 6.2px; stroke-dasharray: 0.1, 2.1; }
+			.embankment-small-short-casing   { stroke-width: 5.0px; stroke-dasharray: 0.1, 1.0, 0.1, 1.0;  }
+			.embankment-small-middle-casing  { stroke-width: 2.8px; stroke-dasharray: none; }
+			.embankment-small-core           { stroke-width: 2.6px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.embankment-wide-long-casing     { stroke-width: 8.6px; stroke-dasharray: 0.1, 2.1; }
+			.embankment-wide-short-casing    { stroke-width: 7.2px; stroke-dasharray: 0.1, 1.0, 0.1, 1.0;  }
+			.embankment-wide-middle-casing   { stroke-width: 4.8px; stroke-dasharray: none; }
+			.embankment-wide-core            { stroke-width: 4.6px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.cutting-casing                  { stroke-width: 7.0px; stroke-dasharray: none; }
+			.cutting-long-core               { stroke-width: 6.8px; stroke: #f8f8f8; stroke-dasharray: 1.0, 0.1, 1.0, 0.1; }
+			.cutting-short-core              { stroke-width: 5.8px; stroke: #f8f8f8; stroke-dasharray: 2.1, 0.1; }
+			.cutting-middle-core             { stroke-width: 4.2px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.cutting-small-casing            { stroke-width: 6.0px; stroke-dasharray: none; }
+			.cutting-small-long-core         { stroke-width: 5.8px; stroke: #f8f8f8; stroke-dasharray: 1.0, 0.1, 1.0, 0.1; }
+			.cutting-small-short-core        { stroke-width: 4.8px; stroke: #f8f8f8; stroke-dasharray: 2.1, 0.1; }
+			.cutting-small-middle-core       { stroke-width: 3.2px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.cutting-wide-casing             { stroke-width: 8.4px; stroke-dasharray: none; }
+			.cutting-wide-long-core          { stroke-width: 8.2px; stroke: #f8f8f8; stroke-dasharray: 1.0, 0.1, 1.0, 0.1; }
+			.cutting-wide-short-core         { stroke-width: 6.8px; stroke: #f8f8f8; stroke-dasharray: 2.1, 0.1; }
+			.cutting-wide-middle-core        { stroke-width: 5.2px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.railway-casing { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-1-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-2-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-core   { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+
+			.railway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			stroke: #b0b0b0;
+			stroke-width: 2.5px;
+			}
+
+			.railway-bridge-casing             { stroke-width: 2.4px; }
+			.railway-bridge-core               { stroke-width: 1.6px; }
+
+			.railway-rail-casing                    { stroke-width: 1.0px; }
+			.railway-rail-1-core                    { stroke-width: 0.6px; }
+			.railway-rail-2-core                    { stroke-width: 0.6px; stroke-dasharray: 3,3; }
+			.railway-rail-casing-color              { stroke: #333333; }
+			.railway-rail-1-core-color              { stroke: #e6e6e6; }
+			.railway-rail-2-core-color              { stroke: #333333; }
+			.railway-rail-tunnel-core               { stroke-opacity: 0.15; }
+
+			.railway-narrow-casing                    { stroke-width: 0.8px; }
+			.railway-narrow-1-core                    { stroke-width: 0.5px; }
+			.railway-narrow-2-core                    { stroke-width: 0.5px; stroke-dasharray: 3.5,3.5; }
+			.railway-narrow-casing-color              { stroke: #333333; }
+			.railway-narrow-1-core-color              { stroke: #e6e6e6; }
+			.railway-narrow-2-core-color              { stroke: #333333; }
+			.railway-narrow-tunnel-core               { stroke-opacity: 0.15; }
+
+			.railway-preserved-casing                    { stroke-width: 0.8px; }
+			.railway-preserved-1-core                    { stroke-width: 0.5px; }
+			.railway-preserved-2-core                    { stroke-width: 0.5px; stroke-dasharray: 3,3; }
+			.railway-preserved-casing-color              { stroke: #909090; }
+			.railway-preserved-1-core-color              { stroke: #e6e6e6; }
+			.railway-preserved-2-core-color              { stroke: #333333; }
+			.railway-preserved-tunnel-core               { stroke-opacity: 0.15; }
+
+			.railway-light-casing                    { stroke-width: 0.8px; }
+			.railway-light-1-core                    { stroke-width: 0.5px; }
+			.railway-light-2-core                    { stroke-width: 0.5px; stroke-dasharray: 2.4,3.6; }
+			.railway-light-casing-color              { stroke: #0f4c0f; }
+			.railway-light-1-core-color              { stroke: #b7e6e6; }
+			.railway-light-2-core-color              { stroke: #0f4c0f; }
+			.railway-light-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-tram-casing                    { stroke-width: 0.8px; }
+			.railway-tram-1-core                    { stroke-width: 0.5px; }
+			.railway-tram-2-core                    { stroke-width: 0.5px; stroke-dasharray: 2.4,3.6; }
+			.railway-tram-casing-color              { stroke: #4c0f4c; }
+			.railway-tram-1-core-color              { stroke: #e6b7e6; }
+			.railway-tram-2-core-color              { stroke: #4c0f4c; }
+			.railway-tram-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-subway-casing                    { stroke-width: 0.8px; }
+			.railway-subway-1-core                    { stroke-width: 0.5px; }
+			.railway-subway-2-core                    { stroke-width: 0.5px; stroke-dasharray: 2.4,3.6; }
+			.railway-subway-casing-color              { stroke: #0f0f4c; }
+			.railway-subway-1-core-color              { stroke: #b7b7e6; }
+			.railway-subway-2-core-color              { stroke: #0f0f4c; }
+			.railway-subway-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-funicular-casing                    { stroke-width: 0.8px; }
+			.railway-funicular-1-core                    { stroke-width: 0.5px; stroke-dasharray: 2.4,3.6; }
+			.railway-funicular-t-core                    { stroke-width: 0.5px; }
+			.railway-funicular-2-core                    { stroke-width: 0.15px; }
+			.railway-funicular-casing-color              { stroke: #4c0f0f; }
+			.railway-funicular-1-core-color              { stroke: #e6b7b7; }
+			.railway-funicular-2-core-color              { stroke: #4c0f0f; }
+			.railway-funicular-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-monorail-casing                    { stroke-width: 0.8px; }
+			.railway-monorail-1-core                    { stroke-width: 0.5px; }
+			.railway-monorail-2-core                    { stroke-width: 0.15px; }
+			.railway-monorail-casing-color              { stroke: #4c0f0f; }
+			.railway-monorail-1-core-color              { stroke: #e6b7b7; }
+			.railway-monorail-2-core-color              { stroke: #ffffff; }
+			.railway-monorail-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-yard-casing                    { stroke-width: 0.6px; }
+			.railway-yard-1-core                    { stroke-width: 0.3px; }
+			.railway-yard-2-core                    { stroke-width: 0.3px; stroke-dasharray: 2,4; }
+			.railway-yard-casing-color              { stroke: #333333; }
+			.railway-yard-1-core-color              { stroke: #e6e6e6; }
+			.railway-yard-2-core-color              { stroke: #333333; }
+			.railway-yard-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-con-casing                { stroke-width: 0.8px; stroke-dasharray: 1,1; }
+			.railway-con-1-core                { stroke-width: 0.6px; }
+			.railway-con-2-core                { stroke-width: 0.6px; stroke-dasharray: 1,1,1,3; }
+			.railway-con-casing-color          { stroke: #606060; }
+			.railway-con-1-core-color          { stroke: #f2f2f2; }
+			.railway-con-2-core-color          { stroke: #606060; }
+			.railway-con-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-pla-casing                { stroke-width: 0.8px; stroke-dasharray: 1,1; }
+			.railway-pla-1-core                { stroke-width: 0.6px; }
+			.railway-pla-2-core                { stroke-width: 0.6px; stroke-dasharray: 1,1,1,3; }
+			.railway-pla-casing-color          { stroke: #b2b2b2; }
+			.railway-pla-1-core-color          { stroke: #ffffff; }
+			.railway-pla-2-core-color          { stroke: #b2b2b2; }
+			.railway-pla-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-dis-casing                { stroke-width: 0.8px; stroke-opacity: 0.7; }
+			.railway-dis-1-core                { stroke-width: 0.6px; stroke-opacity: 0.7; }
+			.railway-dis-2-core                { stroke-width: 0.6px; stroke-opacity: 0.7; stroke-dasharray: 3,3; }
+			.railway-dis-casing-color          { stroke: #808080; }
+			.railway-dis-1-core-color          { stroke: #f2f2f2; }
+			.railway-dis-2-core-color          { stroke: #808080; }
+			.railway-dis-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-aba-casing                { stroke-width: 0.8px; stroke-opacity: 0.4; }
+			.railway-aba-1-core                { stroke-width: 0.6px; stroke-opacity: 0.4; }
+			.railway-aba-2-core                { stroke-width: 0.6px; stroke-opacity: 0.4; stroke-dasharray: 3,3; }
+			.railway-aba-casing-color          { stroke: #b2b2b2; }
+			.railway-aba-1-core-color          { stroke: #ffffff; }
+			.railway-aba-2-core-color          { stroke: #b2b2b2; }
+			.railway-aba-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-raz-casing                { stroke-width: 0.8px; stroke-opacity: 0.3; stroke-dasharray: 0.6,0.6; }
+			.railway-raz-1-core                { stroke-width: 0.6px; stroke-opacity: 0.3; }
+			.railway-raz-2-core                { stroke-width: 0.6px; stroke-opacity: 0.3; stroke-dasharray: 0.6,0.6,0.6,0.6,0.6,3; }
+			.railway-raz-casing-color          { stroke: #c2c2c2; }
+			.railway-raz-1-core-color          { stroke: #ffffff; }
+			.railway-raz-2-core-color          { stroke: #c2c2c2; }
+
+			.highway-motorway-bridge-casing         { stroke-width: 5.0px; }
+			.highway-motorway-bridge-core           { stroke-width: 4.6px; }
+			.highway-motorway-casing                { stroke-width: 3.8px;  stroke: #707070; }
+			.highway-motorway-cy1-casing            { stroke-width: 4.9px;     stroke: #707070; }
+			.highway-motorway-cy2-casing            { stroke-width: 4.6px;     stroke: #d1fad1; }
+			.highway-motorway-area-casing               { stroke-width: 0.4px; }
+			.highway-motorway-core                  { stroke-width: 3.4px;  stroke: #809BC0; }
+			.highway-motorway-area                  { fill: #809BC0; }
+			.highway-motorway-name                  { stroke-width: 0px;     font-size: 3px; }
+			.highway-motorway-ref                   { stroke-width: 0px;     font-size: 4px; }
+			
+			.highway-motorway-link-bridge-casing    { stroke-width: 4.6px; }
+			.highway-motorway-link-bridge-core      { stroke-width: 4.2px; }
+			.highway-motorway-link-casing           { stroke-width: 3.4px;     stroke: #707070; }
+			.highway-motorway-link-cy1-casing            { stroke-width: 4.5px;     stroke: #707070; }
+			.highway-motorway-link-cy2-casing            { stroke-width: 4.2px;     stroke: #d1fad1; }
+			.highway-motorway-link-area-casing      { stroke-width: 0.4px; }
+			.highway-motorway-link-core             { stroke-width: 3px;  stroke: #809BC0; }
+			.highway-motorway-link-area             { fill: #809BC0; }
+			.highway-motorway-link-name             { stroke-width: 0px;     font-size: 3px; }
+			.highway-motorway-link-ref              { stroke-width: 0px;     font-size: 4px; }
+
+			.highway-trunk-bridge-casing            { stroke-width: 4.6px; }
+			.highway-trunk-bridge-core              { stroke-width: 4.2px; }
+			.highway-trunk-casing                   { stroke-width: 3.4px;     stroke: #707070; }
+			.highway-trunk-cy1-casing               { stroke-width: 4.5px;     stroke: #707070; }
+			.highway-trunk-cy2-casing               { stroke-width: 4.2px;     stroke: #d1fad1; }
+			.highway-trunk-mr1-casing               { stroke-width: 4.2px;     stroke: #707070; }
+			.highway-trunk-mr2-casing               { stroke-width: 3.9px;     stroke: #809BC0; }
+			.highway-trunk-mr3-casing               { stroke-width: 3.9px;     stroke: #FDBF6F; }
+			.highway-trunk-mrcy1-casing               { stroke-width: 4.9px;     stroke: #707070; }
+			.highway-trunk-mrcy2-casing               { stroke-width: 4.7px;     stroke: #d1fad1; }
+			.highway-trunk-mrcy3-casing               { stroke-width: 3.7px;     stroke: #809BC0; }
+			.highway-trunk-mrcy4-casing               { stroke-width: 3.7px;     stroke: #FDBF6F; }
+			.highway-trunk-area-casing              { stroke-width: 0.4px; }
+			.highway-trunk-core                     { stroke-width: 3px;  stroke: #7FC97F; }
+			.highway-trunk-area                     { fill: #7FC97F; }
+			.highway-trunk-name                     { stroke-width: 0px;     font-size: 3px; }
+			.highway-trunk-ref                      { stroke-width: 0px;     font-size: 4px; }
+			
+			.highway-trunk-link-bridge-casing       { stroke-width: 4.6px; }
+			.highway-trunk-link-bridge-core         { stroke-width: 4.2px; }
+			.highway-trunk-link-casing              { stroke-width: 3.4px;     stroke: #707070; }
+			.highway-trunk-link-cy1-casing               { stroke-width: 4.5px;     stroke: #707070; }
+			.highway-trunk-link-cy2-casing               { stroke-width: 4.2px;     stroke: #d1fad1; }
+			.highway-trunk-link-mr1-casing               { stroke-width: 4.2px;     stroke: #707070; }
+			.highway-trunk-link-mr2-casing               { stroke-width: 3.9px;     stroke: #809BC0; }
+			.highway-trunk-link-mr3-casing               { stroke-width: 3.9px;     stroke: #FDBF6F; }
+			.highway-trunk-link-mrcy1-casing               { stroke-width: 4.9px;     stroke: #707070; }
+			.highway-trunk-link-mrcy2-casing               { stroke-width: 4.7px;     stroke: #d1fad1; }
+			.highway-trunk-link-mrcy3-casing               { stroke-width: 3.7px;     stroke: #809BC0; }
+			.highway-trunk-link-mrcy4-casing               { stroke-width: 3.7px;     stroke: #FDBF6F; }
+			.highway-trunk-link-area-casing         { stroke-width: 0.4px; }
+			.highway-trunk-link-core                { stroke-width: 3px;  stroke: #7FC97F; }
+			.highway-trunk-link-area                { fill: #7FC97F; }
+			.highway-trunk-link-name                { stroke-width: 0px;     font-size: 3px; }
+			.highway-trunk-link-ref                 { stroke-width: 0px;     font-size: 4px; }
+			
+			.highway-primary-bridge-casing          { stroke-width: 4.6px; }
+			.highway-primary-bridge-core            { stroke-width: 4.2px; }
+			.highway-primary-casing                 { stroke-width: 3.4px;     stroke: #707070; }
+			.highway-primary-cy1-casing               { stroke-width: 4.5px;     stroke: #707070; }
+			.highway-primary-cy2-casing               { stroke-width: 4.2px;     stroke: #d1fad1; }
+			.highway-primary-mr1-casing               { stroke-width: 4.2px;     stroke: #707070; }
+			.highway-primary-mr2-casing               { stroke-width: 3.9px;     stroke: #809BC0; }
+			.highway-primary-mrcy1-casing               { stroke-width: 4.9px;     stroke: #707070; }
+			.highway-primary-mrcy2-casing               { stroke-width: 4.7px;     stroke: #d1fad1; }
+			.highway-primary-mrcy3-casing               { stroke-width: 3.7px;     stroke: #809BC0; }
+			.highway-primary-mrcy4-casing               { stroke-width: 3.7px;     stroke: #FDBF6F; }
+			.highway-primary-area-casing            { stroke-width: 0.4px; }
+			.highway-primary-core                   { stroke-width: 3px;  stroke: #e46d71; }
+			.highway-primary-area                   { fill: #e46d71; }
+			.highway-primary-name                   { stroke-width: 0px;     font-size: 3px; }
+			.highway-primary-ref                    { stroke-width: 0px;     font-size: 4px; }
+			
+			.highway-primary-link-bridge-casing     { stroke-width: 4.6px; }
+			.highway-primary-link-bridge-core       { stroke-width: 4.2px; }
+			.highway-primary-link-casing            { stroke-width: 3.4px;  stroke: #707070; }
+			.highway-primary-link-cy1-casing               { stroke-width: 4.5px;     stroke: #707070; }
+			.highway-primary-link-cy2-casing               { stroke-width: 4.2px;     stroke: #d1fad1; }
+			.highway-primary-link-mr1-casing               { stroke-width: 4.2px;     stroke: #707070; }
+			.highway-primary-link-mr2-casing               { stroke-width: 3.9px;     stroke: #809BC0; }
+			.highway-primary-link-mrcy1-casing               { stroke-width: 4.9px;     stroke: #707070; }
+			.highway-primary-link-mrcy2-casing               { stroke-width: 4.7px;     stroke: #d1fad1; }
+			.highway-primary-link-mrcy3-casing               { stroke-width: 3.7px;     stroke: #809BC0; }
+			.highway-primary-link-mrcy4-casing               { stroke-width: 3.7px;     stroke: #FDBF6F; }
+			.highway-primary-link-area-casing       { stroke-width: 0.4px; }
+			.highway-primary-link-core              { stroke-width: 3px;   stroke: #e46d71; }
+			.highway-primary-link-area              { fill: #e46d71; }
+			.highway-primary-link-name              { stroke-width: 0px;     font-size: 3px; }
+			.highway-primary-link-ref               { stroke-width: 0px;     font-size: 4px; }
+			
+			.highway-secondary-bridge-casing        { stroke-width: 4.6px; }
+			.highway-secondary-bridge-core          { stroke-width: 4.2px; }
+			.highway-secondary-casing               { stroke-width: 3.4px;   stroke: #707070; }
+			.highway-secondary-cy1-casing               { stroke-width: 4.5px;     stroke: #707070; }
+			.highway-secondary-cy2-casing               { stroke-width: 4.2px;     stroke: #d1fad1; }
+			.highway-secondary-mr1-casing               { stroke-width: 4.2px;     stroke: #707070; }
+			.highway-secondary-mr2-casing               { stroke-width: 3.9px;     stroke: #809BC0; }
+			.highway-secondary-mrcy1-casing               { stroke-width: 4.9px;     stroke: #707070; }
+			.highway-secondary-mrcy2-casing               { stroke-width: 4.7px;     stroke: #d1fad1; }
+			.highway-secondary-mrcy3-casing               { stroke-width: 3.7px;     stroke: #809BC0; }
+			.highway-secondary-mrcy4-casing               { stroke-width: 3.7px;     stroke: #FDBF6F; }
+			.highway-secondary-area-casing          { stroke-width: 0.4px; }
+			.highway-secondary-core                 { stroke-width: 3px;  stroke: #FDBF6F; }
+			.highway-secondary-area                 { fill: #FDBF6F; }
+			.highway-secondary-name                 { stroke-width: 0px;     font-size: 3px;}
+			.highway-secondary-ref                  { stroke-width: 0px;     font-size: 4px; }
+			
+			.highway-secondary-link-bridge-casing   { stroke-width: 4.6px; }
+			.highway-secondary-link-bridge-core     { stroke-width: 4.2px; }
+			.highway-secondary-link-casing          { stroke-width: 3.4px;   stroke: #707070; }
+			.highway-secondary-link-cy1-casing               { stroke-width: 4.5px;     stroke: #707070; }
+			.highway-secondary-link-cy2-casing               { stroke-width: 4.2px;     stroke: #d1fad1; }
+			.highway-secondary-link-mr1-casing               { stroke-width: 4.2px;     stroke: #707070; }
+			.highway-secondary-link-mr2-casing               { stroke-width: 3.9px;     stroke: #809BC0; }
+			.highway-secondary-link-mrcy1-casing               { stroke-width: 4.9px;     stroke: #707070; }
+			.highway-secondary-link-mrcy2-casing               { stroke-width: 4.7px;     stroke: #d1fad1; }
+			.highway-secondary-link-mrcy3-casing               { stroke-width: 3.7px;     stroke: #809BC0; }
+			.highway-secondary-link-mrcy4-casing               { stroke-width: 3.7px;     stroke: #FDBF6F; }
+			.highway-secondary-area-casing          { stroke-width: 0.4px; }
+			.highway-secondary-link-area-casing     { stroke-width: 0.4px; }
+			.highway-secondary-link-core            { stroke-width: 3px;  stroke: #FDBF6F; }
+			.highway-secondary-link-area            { fill: #FDBF6F; }
+			.highway-secondary-link-name            { stroke-width: 0px;     font-size: 3px;}
+			.highway-secondary-link-ref             { stroke-width: 0px;     font-size: 4px; }
+			
+			.highway-tertiary-bridge-casing         { stroke-width: 4.6px; }
+			.highway-tertiary-bridge-core           { stroke-width: 4.2px; }
+			.highway-tertiary-casing                { stroke-width: 3.4px;  stroke: #707070; }
+			.highway-tertiary-cy1-casing               { stroke-width: 4.5px;     stroke: #707070; }
+			.highway-tertiary-cy2-casing               { stroke-width: 4.2px;     stroke: #d1fad1; }
+			.highway-tertiary-mr1-casing               { stroke-width: 4.2px;     stroke: #707070; }
+			.highway-tertiary-mr2-casing               { stroke-width: 3.9px;     stroke: #809BC0; }
+			.highway-tertiary-mrcy1-casing               { stroke-width: 4.9px;     stroke: #707070; }
+			.highway-tertiary-mrcy2-casing               { stroke-width: 4.7px;     stroke: #d1fad1; }
+			.highway-tertiary-mrcy3-casing               { stroke-width: 3.7px;     stroke: #809BC0; }
+			.highway-tertiary-mrcy4-casing               { stroke-width: 3.7px;     stroke: #FDBF6F; }
+			.highway-tertiary-area-casing           { stroke-width: 0.4px; }
+			.highway-tertiary-core                  { stroke-width: 3px;   stroke: #ffff90; }
+			.highway-tertiary-area                  { fill: #ffff90; }
+			.highway-tertiary-name                  { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-tertiary-ref                   { stroke-width: 0px;     font-size: 3px; }
+			
+			.highway-tertiary-link-bridge-casing    { stroke-width: 4.6px; }
+			.highway-tertiary-link-bridge-core      { stroke-width: 4.2px; }
+			.highway-tertiary-link-casing           { stroke-width: 3.4px;  stroke: #707070; }
+			.highway-tertiary-link-cy1-casing               { stroke-width: 4.5px;     stroke: #707070; }
+			.highway-tertiary-link-cy2-casing               { stroke-width: 4.2px;     stroke: #d1fad1; }
+			.highway-tertiary-link-mr1-casing               { stroke-width: 4.2px;     stroke: #707070; }
+			.highway-tertiary-link-mr2-casing               { stroke-width: 3.9px;     stroke: #809BC0; }
+			.highway-tertiary-link-mrcy1-casing               { stroke-width: 4.9px;     stroke: #707070; }
+			.highway-tertiary-link-mrcy2-casing               { stroke-width: 4.7px;     stroke: #d1fad1; }
+			.highway-tertiary-link-mrcy3-casing               { stroke-width: 3.7px;     stroke: #809BC0; }
+			.highway-tertiary-link-mrcy4-casing               { stroke-width: 3.7px;     stroke: #FDBF6F; }
+			.highway-tertiary-link-area-casing      { stroke-width: 0.4px; }
+			.highway-tertiary-link-core             { stroke-width: 3px;   stroke: #ffff90; }
+			.highway-tertiary-link-area             { fill: #ffff90; }
+			.highway-tertiary-link-name             { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-tertiary-link-ref              { stroke-width: 0px;     font-size: 3px; }
+			
+			.highway-unclassified-bridge-casing     { stroke-width: 3.8px; }
+			.highway-unclassified-bridge-core       { stroke-width: 3.4px; }
+			.highway-unclassified-casing            { stroke-width: 2.6px;  stroke: #707070; }
+			.highway-unclassified-cy1-casing        { stroke-width: 3.75px;     stroke: #707070; }
+			.highway-unclassified-cy2-casing        { stroke-width: 3.45px;     stroke: #d1fad1; }
+			.highway-unclassified-area-casing       { stroke-width: 0.4px; }
+			.highway-unclassified-core              { stroke-width: 2.2px;   stroke: #ffffff; }
+			.highway-residential-bridge-casing      { stroke-width: 3.5px; }
+			.highway-residential-bridge-core        { stroke-width: 3.3px; }
+			.highway-residential-casing             { stroke-width: 2.5px;  stroke: #707070; }
+			.highway-residential-cy1-casing         { stroke-width: 3.65px;  stroke: #707070; }
+			.highway-residential-cy2-casing         { stroke-width: 3.45px;  stroke: #d1fad1; }
+			.highway-residential-area-casing        { stroke-width: 0.25px; }
+			.highway-residential-core               { stroke-width: 2.25px; stroke: #ffffff; }
+			.highway-ford-core                      { stroke-width: 2.25px;   stroke: #b5d6f1; stroke-linecap: butt; }
+			.highway-unclassified-area              { fill: #ffffff; }
+			.highway-unclassified-name              { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-unclassified-ref               { stroke-width: 0px;     font-size: 3px; }
+			.highway-unclassified-turningcircle     { fill: #ffffff; stroke-width: 0.125px; stroke: #707070; }
+			.highway-road-core                      { stroke-width: 2.25px;   stroke: #d0d0d0; }
+			.highway-road-area                      { fill: #d0d0d0; }
+			
+			.highway-livingstreet-casing            { stroke-width: 2.5px;  stroke: #707070; }
+			.highway-livingstreet-area-casing       { stroke-width: 0.25px; }
+			.highway-livingstreet-core-1            { stroke-width: 2.25px; stroke: #ffffff; }
+			.highway-livingstreet-core-2            { stroke-width: 2.25px; stroke: #e5e0c2; stroke-dasharray: 0.55,0.8; stroke-linecap: butt; }
+			.highway-livingstreet-area-1            { fill: #ffffff; }
+			.highway-livingstreet-area-2            { fill: url(#livingstreet-pattern); stroke: #e5e0c2; stroke-width: 0px; }
+			
+			.highway-cycleroad-casing               { stroke-width: 2.5px;  stroke: #707070; }
+			.highway-cycleroad-area-casing          { stroke-width: 0.25px; }
+			.highway-cycleroad-core-1               { stroke-width: 2.25px; stroke: #ffffff; }
+			.highway-cycleroad-core-2               { stroke-width: 2.25px; stroke: #d1fad1; stroke-dasharray: 0.55,0.8; stroke-linecap: butt; }
+			.highway-cycleroad-area-1               { fill: #ffffff; }
+			.highway-cycleroad-area-2               { fill: url(#cycleroad-pattern); stroke: #d1fad1; stroke-width: 0px; }
+			.highway-cycleroad-core-3               { stroke-width: 2.25px;   stroke: #d1fad1; }
+			.highway-cycleroad-area-3               { fill: #d1fad1; }
+
+			.highway-service-bridge-casing          { stroke-width: 2.8px; }
+			.highway-service-bridge-core            { stroke-width: 2.6px; }
+			.highway-service-casing                 { stroke-width: 1.8px;   stroke: #707070; }
+			.highway-service-cy1-casing               { stroke-width: 3.0px;     stroke: #707070; }
+			.highway-service-cy2-casing               { stroke-width: 2.8px;     stroke: #d1fad1; }
+			.highway-service-area-casing            { stroke-width: 0.2px; }
+			.highway-service-core                   { stroke-width: 1.6px;   stroke: #ffffff; }
+			.highway-service-area                   { fill: #ffffff; }
+			.highway-service-name                   { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-service-ref                    { stroke-width: 0px;     font-size: 2.5px; }
+
+			.highway-aisle-bridge-casing            { stroke-width: 1.6px; }
+			.highway-aisle-bridge-core              { stroke-width: 1.4px; }
+			.highway-aisle-casing                   { stroke-width: 0.6px;   stroke: #707070; }
+			.highway-aisle-area-casing              { stroke-width: 0.1px; }
+			.highway-aisle-core                     { stroke-width: 0.5px;   stroke: #ffffff; }
+			.highway-aisle-area                     { fill: #ffffff; }
+
+			.highway-unsurfaced-bridge-casing       { stroke-width: 3.25px; }
+			.highway-unsurfaced-bridge-core         { stroke-width: 3.05px; }
+			.highway-unsurfaced-casing              { stroke-width: 2.25px;   stroke: #707070; stroke-dasharray: 2, 1; stroke-linecap: butt; }
+			.highway-unsurfaced-cy1-casing               { stroke-width: 3.5px;     stroke: #707070; }
+			.highway-unsurfaced-cy2-casing               { stroke-width: 3.2px;     stroke: #d1fad1; }
+			.highway-unsurfaced-area-casing         { stroke-width: 0.25px; }
+			.highway-unsurfaced-core                { stroke-width: 2.0px;   stroke: #ffffff; }
+			.highway-unsurfaced-area                { fill: #ffffff; }
+			.highway-unsurfaced-name                { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-unsurfaced-ref                 { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-track-bridge-casing            { stroke-width: 2.8px; }
+			.highway-track-bridge-core              { stroke-width: 2.6px; }
+			.highway-track-back-casing              { stroke-width: 2.1px;   stroke: #ffffff; stroke-linecap: round; stroke-opacity: 0.7; }
+			.highway-track-casing                   { stroke-width: 1.8px;   stroke: #d79331; }
+			.highway-track-area-back-casing         { stroke-width: 0.55px;  stroke: #ffffff; }
+			.highway-track-area-casing              { stroke-width: 0.375px; stroke: #d79331; }
+			.highway-track-core                     { stroke-width: 1.4px;   }
+			.highway-track-core2                    { stroke-width: 1.45px;  }
+			.highway-track-area                     { fill: #ffffff; }
+			.highway-track-name                     { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-track-ref                      { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-track-gradex-casing            { stroke-dasharray: 3.6, 0.4; stroke-linecap: butt; }
+			.highway-track-grade1-casing            { }
+			.highway-track-grade2-casing            { stroke-dasharray: 3.6, 1.8; stroke-linecap: butt; }
+			.highway-track-grade3-casing            { stroke-dasharray: 2.0, 2.6; stroke-linecap: butt; }
+			.highway-track-grade4-casing            { stroke-dasharray: 1.0, 2.0, 0.6, 2.0; stroke-linecap: butt; }
+			.highway-track-grade5-casing            { stroke-dasharray: 0.6, 2.0; stroke-linecap: butt; }
+			
+			.highway-track-gradex-core                     { stroke: #fff2de; }
+			.highway-track-grade1-core                     { stroke: #fffaf2; }
+			.highway-track-grade2-core                     { stroke: #fff2de; }
+			.highway-track-grade3-core                     { stroke: #fff2de; }
+			.highway-track-grade4-core                     { stroke: #fff2de; }
+			.highway-track-grade5-core                     { stroke: #fff2de; } 
+			.highway-track-gradex-area                     { fill: #fff2de; }
+			.highway-track-grade1-area                     { fill: #fffaf2; }
+			.highway-track-grade2-area                     { fill: #fff2de; }
+			.highway-track-grade3-area                     { fill: #fff2de; }
+			.highway-track-grade4-area                     { fill: #fff2de; }
+			.highway-track-grade5-area                     { fill: #fff2de; }
+
+			.highway-byway-bridge-casing            { stroke-width: 2.8px; }
+			.highway-byway-bridge-core              { stroke-width: 2.6px; }
+			.highway-byway-1-casing                 { stroke-width: 2px;     stroke: #505050;  stroke-dasharray: 1.4, 0.4; stroke-linecap: butt;}
+			.highway-byway-1-area-casing            { stroke-width: 0.4px; }
+			.highway-byway-2-casing                 { stroke-width: 1.6px;   stroke: #efadaa; }
+			.highway-byway-2-area-casing            { stroke-width: 0.0px; }
+			.highway-byway-3-casing                 { stroke-width: 2.8px;   stroke: #505050;  stroke-dasharray: 0.2, 1.6; stroke-dashoffset: 1.2; stroke-linecap: butt; }
+			.highway-byway-3-area-casing            { stroke-width: 1.4px; }
+			.highway-byway-1-core                   { stroke-width: 0.8px;   stroke: #efadaa; }
+			.highway-byway-area                     { fill: #efadaa; }
+			.highway-byway-name                     { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-byway-ref                      { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-bridleway-bridge-casing        { stroke-width: 2.8px; }
+			.highway-bridleway-bridge-core          { stroke-width: 2.6px; }
+			.highway-bridleway-casing               { stroke-width: 1.8px;     stroke: #707070;  stroke-dasharray: 1.4, 0.4; stroke-linecap: butt; }
+			.highway-bridleway-area-casing          { stroke-width: 0.2px; }
+			.highway-bridleway-core                 { stroke-width: 1.6px;   stroke: #d3cb98; }
+			.highway-bridleway-area                 { fill: #d3cb98; }
+			.highway-bridleway-name                 { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-bridleway-ref                  { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-cycleway-bridge-casing         { stroke-width: 2.8px; }
+			.highway-cycleway-bridge-core           { stroke-width: 2.6px; }
+			.highway-cycleway-casing                { stroke-width: 1.8px;     stroke: #707070; stroke-dasharray: 0.4, 0.4; stroke-linecap: butt;}
+			.highway-cycleway-area-casing           { stroke-width: 0.2px; }
+			.highway-cycleway-core                  { stroke-width: 1.6px;   stroke: #d1fad1; }
+			.highway-cycleway-area                  { fill: #d1fad1; }
+			.highway-cycleway-name                  { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-cycleway-ref                   { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-pedestrian-bridge-casing       { stroke-width: 3.5px; }
+			.highway-pedestrian-bridge-core         { stroke-width: 3.3px; }
+			.highway-pedestrian-casing              { stroke-width: 2.5px;   stroke: #707070; }
+			.highway-pedestrian-area-casing         { stroke-width: 0.25px; }
+			.highway-pedestrian-core                { stroke-width: 2.25px;     stroke: #e5e0c2; }
+			.highway-pedestrian-area                { fill: #e5e0c2; }
+			.highway-pedestrian-name                { stroke-width: 0px;     font-size: 2px; }
+			.highway-pedestrian-ref                 { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-footway-bridge-casing          { stroke-width: 2.2px; }
+			.highway-footway-bridge-core            { stroke-width: 2px; }
+			.highway-footway-casing                 { stroke-width: 1.2px;   stroke: #707070; stroke-dasharray: 0.4, 0.4; stroke-linecap: butt;}
+			.highway-footway-area-casing            { stroke-width: 0.2px; }
+			.highway-footway-core                   { stroke-width: 1px;     stroke: #e5e0c2; }
+			.highway-footway-area                   { fill: #e5e0c2; }
+			.highway-footway-name                   { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-footway-ref                    { stroke-width: 0px;     font-size: 2.5px; }
+			
+			/* render unmarked paths in the same color as highway=road */
+			.highway-path-core                      { stroke-width: 1px;   stroke: #d0d0d0; }
+			.highway-path-area                      { fill: #d0d0d0; }
+
+			.highway-steps-bridge-casing            { stroke-width: 2.2px; }
+			.highway-steps-bridge-core              { stroke-width: 2px; }
+			.highway-steps-casing                   { stroke-width: 1.2px;   stroke: #707070; }
+			.highway-steps-area-casing              { stroke-width: 0.2px; }
+			.highway-steps-core                     { stroke-width: 1px;     stroke: #e5e0c2; stroke-dasharray: 0.6, 0.2; stroke-linecap: butt;}
+			.highway-steps-name                     { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-steps-ref                      { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-scramble-core                  { stroke-width: 0.3px;   stroke: #707070; stroke-dasharray: 1.6, 0.4; stroke-linecap: butt;}
+			.highway-scramble-name                  { stroke-width: 1.0px;   fill: black;  font-size: 2.5px; }
+			
+			/* Aeroways */
+			.aeroway-aerodrome {
+			stroke-width: 1px;
+			stroke: #000000;
+			fill: #d8dcce;
+			}
+
+			.aeroway-apron {
+			stroke-width: 0.6px;
+			stroke: none;
+			fill: #f0f0f0;
+			}
+			
+			.aeroway-taxiway-casing {
+			stroke-width: 6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #000000;
+			fill: none;
+			}
+			
+			.aeroway-taxiway-core {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #d4dcbd;
+			fill: none;
+			}
+			
+			.aeroway-runway-core {
+			stroke-width: 10px;
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			stroke: #d4dcbd;
+			fill: none;
+			}
+			
+			.aeroway-runway-casing {
+			stroke-width: 14px;
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			stroke: #000000;
+			fill: none;
+			}
+			
+			.aeroway-aerodrome-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.6px;
+			font-family: "DejaVu Sans";
+			font-size: 12px;
+			font-weight: bold;
+			}
+			
+			.aeroway-airport-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.6px;
+			font-family: "DejaVu Sans";
+			font-size: 20px;
+			font-weight: bold;
+			}
+			
+			
+			/* Waterways */
+
+			.waterway-name-casing {
+			stroke: #303030;
+			fill: white;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.waterway-name-core {
+			stroke: green;
+			fill: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.waterway-casing {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b0b0b0;
+			fill: none;
+			}
+			
+			.waterway-core {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b5d6f1;
+			fill: none;
+			}
+			
+			.waterway-riverbank {
+			fill: #b5d6f1;
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+			
+			.waterway-lock-casing                   { stroke: #000000; stroke-width: 3.0px; stroke-linecap: butt; }
+			.waterway-lock-core                     { stroke: #f8f8f8; stroke-width: 2.5px; stroke-linecap: butt; }
+
+			.waterway-river-casing                  { stroke-width: 1.5px; }
+			.waterway-river-core                    { stroke-width: 1.5px; }
+			.waterway-river-tunnel-core             { stroke-width: 1.2px; stroke-dasharray: 2.2, 2.2; }
+			.waterway-river-name-casing             { font-size: 2px; stroke-width: 0.1px;}
+			.waterway-river-name-core               { font-size: 2px; }
+			
+			.waterway-stream-casing                 { stroke-width: 0.5px; }
+			.waterway-stream-core-ephemeral         { stroke-width: 0.5px; stroke-dasharray: 0.4, 0.4; stroke-linecap: butt; }
+			.waterway-stream-core-intermittent      { stroke-width: 0.5px; stroke-dasharray: 0.6, 0.2; stroke-linecap: butt; }
+			.waterway-stream-core                   { stroke-width: 0.5px; }
+			.waterway-stream-tunnel-core            { stroke-width: 0.3px; stroke-dasharray: 0.75, 0.75; }
+			.waterway-stream-name-casing            { font-size: 3px; stroke-width: 0.2px;}
+			.waterway-stream-name-core              { font-size: 3px; }
+			
+			.waterway-canal-casing                  { stroke-width: 1.5px; }
+			.waterway-canal-core                    { stroke-width: 1.2px; }
+			.waterway-canal-tunnel-core             { stroke-width: 1.2px; stroke-dasharray: 2.2, 2.2; }
+			.waterway-canal-name-casing             { font-size: 3px; stroke-width: 0.2px;}
+			.waterway-canal-name-core               { font-size: 3px; }
+			
+			.waterway-drain-casing                  { stroke-width: 1.3px; }
+			.waterway-drain-core                    { stroke-width: 1px; }
+			.waterway-drain-tunnel-core             { stroke-width: 1px; stroke-dasharray: 2,2; }
+			.waterway-drain-name-casing             { font-size: 3px; stroke-width: 0.2px;}
+			.waterway-drain-name-core               { font-size: 3px; }
+			
+			.waterway-ditch-casing                  { stroke-width: 0.15px; }
+			.waterway-ditch-core                    { stroke-width: 0.15px; }
+			.waterway-ditch-tunnel-core             { stroke-width: 0.1px; stroke-dasharray: 0.75, 0.75; }
+			.waterway-ditch-name-casing             { font-size: 3px; stroke-width: 0.2px;}
+			.waterway-ditch-name-core               { font-size: 3px; }
+
+			.waterway-dam {
+			stroke: #000000;
+			stroke-width: 0.75px;
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			}
+			.waterway-weir {
+			stroke: #000044;
+			stroke-width: 0.5px;
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			}
+			
+			
+			/* Generic under-construction style - makes any way dashed */
+			.under-construction { stroke-dasharray: 8, 10; }
+			.wrong-under-construction { stroke-width: 3px; stroke: #ffffff; stroke-dasharray: 4, 4; fill:none; }
+
+			
+			/* Ferry */
+			.route-ferry {
+			stroke-width: 0.6px;
+			stroke-dasharray: 3,2;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			}
+			
+			
+			/* Place names */
+			/* General style for captions */
+			.place-caption {
+			fill: black;
+			stroke: none;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			.caption-casing {
+			fill: white;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.caption-core {
+			stroke: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.peak-caption           { font-size: 4px; }
+			.pass-caption           { font-size: 4px; }
+			.cave-caption           { font-size: 4px; }
+			.island-caption         { font-size: 6px; }
+			.islet-caption          { font-size: 4px; }
+			.village-caption        { font-size: 6px; }
+			.suburb-caption         { font-size: 6px; }
+			.hamlet-caption         { font-size: 4px; }
+			.locality-caption       { font-size: 4px; }
+			.farm-caption           { font-size: 3px; }
+			
+			
+			/* Natural */
+			.natural-water {
+			fill: #b5d6f1;
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+			
+			.natural-water-marsh {
+			fill: url(#marsh-pattern);
+			stroke: #007fff;
+			stroke-width: 0px;
+			}
+			
+			.natural-coastline {
+			fill: #b5d6f1;
+			stroke: #b5d6f1;
+			stroke-width: 0.8px;
+			}
+
+			.natural-glacier {
+			fill: #fafaff;
+			stroke: lightblue;
+			stroke-width: 0.8px;
+			}
+			
+			.natural-land {
+			fill: #f8f8f8;
+			stroke: #e0e0e0;
+			stroke-width: 0.2px;
+			}
+			
+			.natural-heath {
+			fill: #ffffc0;
+			stroke: #ffff90;
+			stroke-width: 0.2px;
+			}
+			
+			.wetland-bog {
+			fill: #946e50;
+			stroke: #3f1f06;
+			stroke-width: 0.2px;
+			}
+			
+			.natural-beach {
+			fill: #eecc55;
+			stroke: none;
+			}
+			
+			.mountain_pass {
+			fill: none;
+			<!-- don't remove. otherwise the waymarker will get clipped -->
+			stroke: red;
+			stroke-opacity: 0;
+			marker-mid: url(#mountain-pass);
+			}
+			
+			/* Landuse */
+			.landuse-wood {
+			fill: #6fc18e;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-wood-coniferous {
+			fill: url(#wood-coniferous-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-wood-deciduous {
+			fill: url(#wood-deciduous-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-wood-mixed {
+			fill: url(#wood-mixed-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-cemetery {
+			fill: url(#cemetery-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-cemetery-christian {
+			fill: url(#cemetery-christian-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-vineyard {
+			fill: url(#vineyard-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-field {
+			fill: #ebfff2;
+			stroke: #9ee673;
+			stroke-width: 0.1px;
+			}
+			.landuse-allotment-village {
+			fill: #bde3cb;
+			stroke: #6fc13d;
+			stroke-width: 0.2px;
+			}
+			.access-area-border-width-landuse-field {
+			stroke-width: 0.8px;
+			}
+			
+			.landuse-residential {
+			stroke: none;
+			fill: #e4e4e4;
+			}
+			
+			.landuse-industrial {
+			fill: #ecd8ff;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-construction {
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			fill: #a47c41;
+			}
+			.access-area-border-width-landuse-conservation {
+			stroke-width: 0.8px;
+			}
+			
+			.landuse-commercial {
+			fill: #ffffc0;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-garages {
+			stroke: none;
+			fill: #d6d6e4;
+			}
+
+			.landuse-quarry {
+			fill: #e9dd72;
+			stroke: #556b2f;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-retail {
+			fill: #ffebeb;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-runway {
+			stroke-width: 0.6px;
+			stroke: #808080;
+			fill: #d4dcbd;
+			}
+			
+			.landuse-runway-disused {
+			stroke-width: 0.6px;
+			stroke: #808080;
+			fill: #d4dcbd;
+			stroke-dasharray: 2, 2;
+			}
+			
+			.landuse-runway-dismantled {
+			stroke-width: 0.6px;
+			stroke: #808080;
+			fill: #fcffef;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			.breakwater {
+			fill: none;
+			stroke-width: 1.0px;
+			stroke: #707070;
+			}
+
+			.artificial-pier-area {
+			stroke: #d0d0d0;
+			stroke-width: 0.1px;
+			fill: #e4e4e4;
+			}
+
+			.artificial-pier-core {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #e4e4e4;
+			fill: none;
+			}
+			
+			.artificial-pier-casing {
+			stroke-width: 0.8px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #d0d0d0;
+			fill: none;
+			}
+			
+			.landuse-conservation {
+			fill: #cfeca8;
+			stroke: #6fc18e;
+			stroke-width: 0.2px
+			}
+			
+			/* Leisure */
+			.leisure-park {
+			fill: #c7f1a3;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.access-area-border-width-leisure-park {
+			stroke-width: 0.8px;
+			}
+			
+			.leisure-stadium {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.leisure-track-area {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.025px;
+			}
+			
+			.leisure-track-casing {
+			fill: none;
+			stroke: #6fc18e;
+			stroke-width: 1.45px;
+			}
+			
+			.leisure-track-core {
+			fill: none;
+			stroke: #bde3cb;
+			stroke-width: 1.4px;
+			}
+			
+			.leisure-swimming-pool {
+			fill: #b5d6f1;
+			stroke: #6060ff;
+			stroke-width: 0.2px;
+			}
+			
+			.leisure-national_park {
+			fill: url(#national-park-pattern);
+			}
+			.leisure-nature_reserve {
+			fill: url(#nature-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.leisure-landscape_reserve {
+			fill: url(#landscape-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.sport {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.sport-swimming {
+			fill: #b5d6f1;
+			stroke: #6060ff;
+			stroke-width: 0.2px;
+			}
+			
+			.sport-tennis {
+			fill: #d18a6a;
+			stroke: #B36C4C;
+			stroke-width: 0.2px;
+			}
+			
+			.amenity-parking {
+			fill: #ffffc0;
+			stroke: #e9dd72;
+			stroke-width: 0.2px;
+			}
+			
+			.amenity-school {
+			fill: #cdabde;
+			stroke: #e9dd72;
+			stroke-width: 0.2px;
+			}
+			
+			
+			/* Non-physical boundaries */
+			.boundary {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.boundary-level-1-casing {
+			stroke-width: 3.5px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+			
+			.boundary-level-1-core {
+			stroke-width: 0.5px;
+			stroke: #f9574b;
+			stroke-dasharray: 3, 1, 1, 1;
+			}
+			
+			.boundary-level-2-casing {
+			stroke-width: 1.5px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+			
+			.boundary-level-2-core {
+			stroke-width: 0.5px;
+			stroke: #f9574b;
+			stroke-dasharray: 3, 3;
+			}
+			
+			.boundary-level-3-core {
+			stroke-width: 0.5px;
+			stroke: #f9574b;
+			}
+			
+			.boundary-level-4-core {
+			stroke-width: 0.5px;
+			stroke: #f9574b;
+			stroke-dasharray: 3, 1, 1, 1;
+			}
+			
+			.boundary-level-5-core {
+			stroke-width: 0.5px;
+			stroke: #f9574b;
+			stroke-dasharray: 3, 3;
+			}
+			
+			.boundary-level-6-core {
+			stroke-width: 0.5px;
+			stroke: #f9574b;
+			stroke-dasharray: 1, 5;
+			}
+			
+			.boundary-level-7-core {
+			stroke-width: 0.2px;
+			stroke: #f9574b;
+			}
+			
+			.boundary-level-8-core {
+			stroke-width: 0.2px;
+			stroke: #f9574b;
+			stroke-dasharray: 3, 1, 1, 1;
+			}
+			
+			.boundary-level-9-core {
+			stroke-width: 0.2px;
+			stroke: #f9574b;
+			stroke-dasharray: 3, 3;
+			}
+			
+			.boundary-level-10-core {
+			stroke-width: 0.2px;
+			stroke: #f9574b;
+			stroke-dasharray: 1, 5;
+			}
+			
+			.boundary-nationalpark-core {
+			stroke-width: 0.5px;
+			stroke: #4ef94b;
+			stroke-dasharray: 3, 1, 1, 1;
+			}
+			
+			
+			/* Racetracks */
+			.highway-racetrack-core {
+			stroke-width: 1.5 px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-racetrack-casing-red {
+			stroke-width: 1.7 px;
+			stroke-dasharray: 0.2, 0.2;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ff0000;
+			}
+			
+			.highway-racetrack-casing-white {
+			stroke-width: 1.7 px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ffffff;
+			}
+			
+			.highway-raceway-casing {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #101010;
+			}
+			
+			.highway-raceway-casing-disused {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 2, 2;
+			}
+			
+			.highway-raceway-casing-dismantled {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			.highway-raceway-core {
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-raceway-core-disused {
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke-dasharray: 2, 2;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-raceway-core-dismantled {
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ffffff;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			.landuse-raceway {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #101010;
+			}
+			
+			.landuse-raceway-disused {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #808080;
+			stroke-dasharray: 2, 2;
+			}
+			
+			.landuse-raceway-dismantled {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #ffffff;
+			stroke: #808080;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			
+			.railway-station                        { fill: #ec2d2d;        stroke: #606060; stroke-width: 0.5px; }
+			.railway-station-caption-casing         { stroke-width: 0.5px;  font-size: 3px; }
+			.railway-station-caption-core           { fill: #ec2d2d;        font-size: 3px; }
+			
+			.railway-halt                           { fill: #ec2d2d;        stroke: #606060; stroke-width: 0.2px; }
+			.railway-halt-caption-casing            { stroke-width: 0.4px;  font-size: 2.5px; }
+			.railway-halt-caption-core              { fill: #ec2d2d;        font-size: 2.5px; }
+
+			.highway-platform-area                  { stroke: none; fill: #9b9b79; }
+			.highway-platform-area-casing           { stroke: #707070; stroke-width: 0.4px; fill: none; }
+			.highway-platform-way-casing            { stroke: #707070; stroke-width: 1.0px; fill: none; stroke-linecap: square; }
+			.highway-platform-way-core              { stroke: #9b9b79; stroke-width: 0.6px; fill: none; }
+			.highway-platform-node                  { stroke: #707070; stroke-width: 0.2px; fill: #9b9b79; }
+			.highway-platform-ref                   { font-family: "DejaVu Sans"; font-size: 1.6px; stroke: #707070; stroke-width: 0.01px; text-anchor: middle;}
+
+			/* Tourism */
+			.tourism-attraction {
+			fill: #f2caea;
+			stroke: #ff00ff;
+			stroke-width: 0px;
+			}
+			.tourism-green-area {
+			fill: #c7f1a3;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.tourism-attraction-caption {
+			fill: #ff00ff;
+			stroke: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-size: 2.5px;
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			.largefeature-caption-casing         { stroke-width: 1px;   font-size: 2px; }
+			.largefeature-caption-core           { fill: #4040ff;       font-size: 2px; }
+			
+			.generic-caption-casing              { stroke-width: 1px;   font-size: 2px; }
+			.generic-caption-core                { fill: #4040ff;        font-size: 2px; }
+			
+			.generic-poi {
+			fill: #4040ff;
+			stroke: #606060;
+			stroke-width: 0.2px;
+			}
+			
+			/* Building */
+			.building {
+			fill: #e0e0e0;
+			stroke: #d0d0d0;
+			stroke-width: 0.2px;
+			}
+			
+			.building-block {
+			fill: #F3D6B6;
+			stroke: #6a5a8e;
+			stroke-width: 0.2px;
+			}
+			
+			.building-residential {
+			fill: #c95e2a;
+			stroke: #800000;
+			stroke-width: 0.2px;
+			}
+
+			.fountain {
+				stroke: #000080;
+				stroke-width: 0.15px;
+				fill: #b5d6f1;
+			}
+			
+			/* Aerialway */
+			.aerialway-line {
+			fill: none;
+			stroke: #202020;
+			stroke-width: 0.4px;
+			}
+			
+			.aerialway-cablecar-marker {
+			marker-start:url(#marker-cablecar);
+			}
+			
+			.aerialway-gondola-marker {
+			marker-start:url(#marker-gondola);
+			}
+			
+			.aerialway-chairlift2-marker {
+			marker-start:url(#marker-chair-lift-2);
+			}
+			
+			.aerialway-chairlift4-marker {
+			marker-start:url(#marker-chair-lift-4);
+			}
+			
+			.aerialway-mixedlift-marker {
+			marker-start:url(#marker-mixed-lift);
+			}
+			
+			.aerialway-struts {
+			fill: none;
+			stroke: #202020;
+			stroke-width: 4px;
+			stroke-dasharray: 0.4,20;
+			}
+			
+			.aerialway-station {
+			fill: #ec2d2d;  
+			stroke: #606060;
+			stroke-width: 0.2px; 
+			}
+			
+			.aerialway-name {
+			fill: #606060;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 4px;
+			stroke: none;
+			text-anchor: middle;
+			}
+			
+			.aerialway-elevation-text {
+			fill: #606060;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 3px;
+			text-anchor: middle;
+			}
+			
+			.military-area {
+			fill: url(#military-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			/* surface lifts */
+			
+			.piste-lift-t-bar-marker {
+			marker-start:url(#marker-piste-lift-t-bar);
+			}
+			
+			.piste-lift-rope-tow {
+			fill: none;
+			stroke: #a47c41;
+			stroke-width: 0.5px;
+			stroke-dasharray: 1,1;
+			stroke-linecap: square;
+			}
+			
+			.piste-lift-magic-carpet {
+			fill: none;
+			stroke: #101010;
+			stroke-width: 0.8px;
+			}
+			
+			/* Piste maps */
+			.piste-core {
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke-width: 5px;
+			opacity: 0.66;
+			}
+
+			.piste-area {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke-width: 5px;
+			opacity: 0.66;
+			}
+			
+			.piste-difficulty-novice       { stroke: #40ff40; }
+			.piste-difficulty-easy         { stroke: #4040ff; }
+			.piste-difficulty-intermediate { stroke: #ff4040; }
+			.piste-difficulty-advanced     { stroke: #000000; }
+			.piste-difficulty-expert       { stroke: #f6800a; }
+			.piste-difficulty-freeride     { stroke: #f6dd0a; }
+			.piste-difficulty-other        { stroke: #505050; }
+			.piste-area-difficulty-novice       { stroke: #40ff40; fill: #40ff40; }
+			.piste-area-difficulty-easy         { stroke: #4040ff; fill: #4040ff; }
+			.piste-area-difficulty-intermediate { stroke: #ff4040; fill: #ff4040; }
+			.piste-area-difficulty-advanced     { stroke: #000000; fill: #000000; }
+			.piste-area-difficulty-expert       { stroke: #f6800a; fill: #f6800a; }
+			.piste-area-difficulty-freeride     { stroke: #f6dd0a; fill: #f6dd0a; }
+			.piste-area-difficulty-other        { stroke: #505050; fill: #505050; }
+			
+			.piste-type-sled {
+			fill: none;
+			stroke: #cdabde;
+			stroke-width: 2.5px;
+			marker-start:url(#marker-piste-type-sled);
+			}
+			
+			.piste-type-nordic {
+			fill: none;
+			stroke: #c00000;
+			stroke-width: 1px;
+			stroke-dasharray: 3,0.5;
+			stroke-linejoin: bevel;
+			stroke-linecap: butt;
+			marker-start:url(#marker-piste-type-nordic);
+			}
+			
+			.piste-downhill-name-casing {
+			fill: #555555;
+			stroke: #555555;
+			stroke-width: 0.25px;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 5px;
+			text-anchor: middle;
+			}
+			
+			.piste-downhill-name {
+			fill: #ffffff;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 5px;
+			text-anchor: middle;
+			}
+			
+			.piste-downhill-ref {
+			fill: #000000;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 5px;
+			text-anchor: middle;
+			}
+			
+			.man-made-piste-halfpipe {
+			fill: #a0f0ff;
+			stroke: #00bcdf;
+			stroke-width: 0.4px;
+			}
+			
+			.man_made-wastewater {
+			fill: #e4e4e4;
+			}
+			
+			/* Power line and pipeline casing */
+			.powerline-pipeline-casing {
+			stroke-width: 0.4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #ffffff;
+			stroke-opacity: 0.5;
+			fill: none;
+			}
+			/* Power line */
+			.power-line {
+			stroke-width: 0.2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #808080;
+			stroke-dasharray: 4, 2;
+			fill: none;
+			}
+			.power-minor-line {
+			stroke-width: 0.2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #808080;
+			stroke-dasharray: 2, 1;
+			fill: none;
+			}
+
+
+			/* Power Generator */
+			.power-wind {
+			fill: url(#power-wind-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-hydro {
+			fill: url(#power-hydro-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-photovoltaic {
+			fill: url(#power-photovoltaic-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-generic {
+			fill: url(#power-generic-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+
+			/* Pipelines */
+			.pipeline-unknown {
+			stroke-width: 0.2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #a0a0a0;
+			stroke-dasharray: 1 ,1;
+			fill: none;
+			}
+			.pipeline-water {
+			stroke-width: 0.2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #4080f0;
+			stroke-dasharray: 1 ,1;
+			fill: none;
+			}
+			.pipeline-gas {
+			stroke-width: 0.2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #e0f000;
+			stroke-dasharray: 1 ,1;
+			fill: none;
+			}
+			.pipeline-oil {
+			stroke-width: 0.2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #40f040;
+			stroke-dasharray: 1 ,1;
+			fill: none;
+			}
+			.pipeline-sewage {
+			stroke-width: 0.2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #908030;
+			stroke-dasharray: 1 ,1;
+			fill: none;
+			}
+			.pipeline-heat {
+			stroke-width: 0.2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #f03060;
+			stroke-dasharray: 1 ,1;
+			fill: none;
+			}
+
+			.reservoir-evaporator {
+			fill: url(#reservoir-evaporator-pattern);
+			stroke: none;
+			}
+
+			.reservoir-cooling {
+			fill: url(#reservoir-cooling-pattern);
+			stroke: none;
+			}
+
+			.reservoir-sewage {
+			fill: url(#reservoir-sewage-pattern);
+			stroke: none;
+			}
+
+			.reservoir-tailings {
+			fill: url(#reservoir-tailings-pattern);
+			stroke: none;
+			}
+
+			.basin-infiltration {
+			fill: url(#basin-infiltration-pattern);
+			stroke: none;
+			}
+			.basin-detention {
+			fill: url(#basin-detention-pattern);
+			stroke: none;
+			}
+			.basin-retention {
+			fill: url(#basin-retention-pattern);
+			stroke: none;
+			}
+
+			/* Area captions */
+			.park-name {
+			fill: #404040;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			font-size: 4.5px;
+			stroke-width: 0.0px;
+			}
+			
+			.landuse-reservoir-name {
+			fill: #404040;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			font-size: 4.5px;
+			stroke-width: 0.0px;
+			}
+			
+			
+			/* Oneway */
+			.oneway-casing { fill: none; stroke-linecap: butt; stroke: #0000a0; }
+			/*    stroke: #a2aee9; */
+			.oneway-core { fill: none; stroke-linecap: butt; stroke: #ffffff; }
+			.oneway-exclcycle-casing { fill: none; stroke-linecap: butt; stroke: #7070a0; }
+			.oneway-exclcycle-core { fill: none; stroke-linecap: butt; stroke: #90ff70; }
+			
+			.oneway-casing-1 { stroke-width: 0.6px; stroke-dasharray: 4.2,55.8; stroke-dashoffset: 46.2; }
+			.oneway-casing-2 { stroke-width: 1.15px; stroke-dasharray: 0.6,59.4; stroke-dashoffset: 43.4; }
+			.oneway-casing-3 { stroke-width: 1.0px; stroke-dasharray: 0.6,59.4; stroke-dashoffset: 43.2; }
+			.oneway-casing-4 { stroke-width: 0.85px; stroke-dasharray: 0.8,59.2; stroke-dashoffset: 43.2; }
+			.oneway-casing-5 { stroke-width: 0.7px; stroke-dasharray: 1.0,59; stroke-dashoffset: 43.2; }
+			.oneway-casing-6 { stroke-width: 0.55px; stroke-dasharray: 1.2,58.8; stroke-dashoffset: 43.2; }
+			.oneway-casing-7 { stroke-width: 0.4px; stroke-dasharray: 1.4,58.6; stroke-dashoffset: 43.2; }
+			.oneway-casing-8 { stroke-width: 0.2px; stroke-dasharray: 1.6,58.4; stroke-dashoffset: 43.2; }
+			
+			.oneway-core-1 { stroke-width: 0.2px; stroke-dasharray: 4,56; stroke-dashoffset: 46.1; }
+			.oneway-core-2 { stroke-width: 0.85px; stroke-dasharray: 0.4,59.6; stroke-dashoffset: 43.3; }
+			.oneway-core-3 { stroke-width: 0.7px; stroke-dasharray: 0.6,59.4; stroke-dashoffset: 43.3; }
+			.oneway-core-4 { stroke-width: 0.55px; stroke-dasharray: 0.8,59.2; stroke-dashoffset: 43.3; }
+			.oneway-core-5 { stroke-width: 0.4px; stroke-dasharray: 1.0,59; stroke-dashoffset: 43.3; }
+			.oneway-core-6 { stroke-width: 0.25px; stroke-dasharray: 1.2,58.8; stroke-dashoffset: 43.3; }
+			.oneway-core-7 { stroke-width: 0.1px; stroke-dasharray: 1.4,58.6; stroke-dashoffset: 43.3; }
+			
+			.oneway-casing-r1 { stroke-width: 0.6px; stroke-dasharray: 4.2,55.8; stroke-dashoffset: 45.2; }
+			.oneway-casing-r2 { stroke-width: 1.15px; stroke-dasharray: 0.6,59.4; stroke-dashoffset: 45.6; }
+			.oneway-casing-r3 { stroke-width: 1.0px; stroke-dasharray: 0.6,59.4; stroke-dashoffset: 45.8; }
+			.oneway-casing-r4 { stroke-width: 0.85px; stroke-dasharray: 0.8,59.2; stroke-dashoffset: 46; }
+			.oneway-casing-r5 { stroke-width: 0.7px; stroke-dasharray: 1.0,59; stroke-dashoffset: 46.2; }
+			.oneway-casing-r6 { stroke-width: 0.55px; stroke-dasharray: 1.2,58.8; stroke-dashoffset: 46.4; }
+			.oneway-casing-r7 { stroke-width: 0.4px; stroke-dasharray: 1.4,58.6; stroke-dashoffset: 46.6; }
+			.oneway-casing-r8 { stroke-width: 0.2px; stroke-dasharray: 1.6,58.4; stroke-dashoffset: 46.8; }
+			
+			.oneway-core-r1 { stroke-width: 0.2px; stroke-dasharray: 4,56; stroke-dashoffset: 45.1; }
+			.oneway-core-r2 { stroke-width: 0.85px; stroke-dasharray: 0.4,59.6; stroke-dashoffset: 45.5; }
+			.oneway-core-r3 { stroke-width: 0.7px; stroke-dasharray: 0.6,59.4; stroke-dashoffset: 45.7; }
+			.oneway-core-r4 { stroke-width: 0.55px; stroke-dasharray: 0.8,59.2; stroke-dashoffset: 45.9; }
+			.oneway-core-r5 { stroke-width: 0.4px; stroke-dasharray: 1.0,59; stroke-dashoffset: 46.1; }
+			.oneway-core-r6 { stroke-width: 0.25px; stroke-dasharray: 1.2,58.8; stroke-dashoffset: 46.3; }
+			.oneway-core-r7 { stroke-width: 0.1px; stroke-dasharray: 1.4,58.6; stroke-dashoffset: 46.5; }
+
+			.otherway {
+			fill: none;
+			stroke: red;
+			stroke-width: 2px;
+			stroke-opacity: 0;
+			/* marker-start: url(#marker-otherway-start); */
+			marker-end: url(#marker-otherway-end);
+			}
+			
+			/* SAC scales for paths and footways
+			colors taken from:
+			http://www.sac-cas.ch/uploads/media/SAC_Wanderskala_Vergleich_01.pdf
+			*/
+			.sac-scale-t1 {
+			stroke: red;
+			stroke-width: 0.3px;
+			fill: none;
+			}
+			
+			.sac-scale-t2 {
+			stroke-dasharray: 0.5, 0.5;
+			stroke: red;
+			stroke-width: 0.3px;
+			fill: none;
+			}
+			
+			.sac-scale-t3 {
+			stroke-dasharray: 0.04, 0.6;
+			stroke-linecap: round;
+			stroke: red;
+			stroke-width: 0.3px;
+			fill: none;
+			}
+			
+			.sac-scale-t4 {
+			stroke: blue;
+			stroke-width: 0.3px;
+			fill: none;
+			}
+			
+			.sac-scale-t5 {
+			stroke-dasharray: 0.5, 0.5;
+			stroke: blue;
+			stroke-width: 0.3px;
+			fill: none;
+			}
+			
+			.sac-scale-t6 {
+			stroke-dasharray: 0.04, 0.6;
+			stroke-linecap: round;
+			stroke: blue;
+			stroke-width: 0.3px;
+			fill: none;
+			}
+			
+			/* Access restrictions */
+			.access-private-line {
+			fill: none;
+			stroke: url(#access-private-pattern);
+			stroke-width: 2px;
+			}
+			.access-private-area {
+			fill: url(#access-private-pattern);
+			stroke: url(#access-private-pattern);
+			stroke-width: 2px;
+			}
+			.access-private-small-area {
+			fill: url(#access-private-pattern);
+			stroke: url(#access-private-pattern);
+			stroke-width: 1px;
+			}
+			.access-private-area-border {
+			stroke: #ff4040;
+			}
+			
+			.access-permissive-line {
+			fill: none;
+			stroke: url(#access-permissive-pattern);
+			stroke-width: 2px;
+			}
+			.access-permissive-area {
+			fill: url(#access-permissive-pattern);
+			stroke: url(#access-permissive-pattern);
+			stroke-width: 2px;
+			}
+			.access-permissive-small-area {
+			fill: url(#access-permissive-pattern);
+			stroke: url(#access-permissive-pattern);
+			stroke-width: 1px;
+			}
+			.access-permissive-area-border {
+			stroke: #40ff40;
+			}
+			
+			.access-destination-line {
+			fill: none;
+			stroke: url(#access-destination-pattern);
+			stroke-width: 2px;
+			}
+			.access-destination-area {
+			fill: url(#access-destination-pattern);
+			stroke: url(#access-destination-pattern);
+			stroke-width: 2px;
+			}
+			.access-destination-small-area {
+			fill: url(#access-destination-pattern);
+			stroke: url(#access-destination-pattern);
+			stroke-width: 1px;
+			}
+			.access-destination-area-border {
+			stroke: #4040ff;
+			}
+			
+			.access-no-line {
+			fill: none;
+			stroke: url(#access-no-pattern);
+			stroke-width: 2px;
+			}
+			.access-no-area {
+			fill: url(#access-no-pattern);
+			stroke: url(#access-no-pattern);
+			stroke-width: 2px;
+			}
+			.access-no-small-area {
+			fill: url(#access-no-pattern);
+			stroke: url(#access-no-pattern);
+			stroke-width: 1px;
+			}
+			.access-no-area-border {
+			stroke: #4040ff;
+			}
+
+			/* Barriers */
+			.barrier { stroke: #000000; stroke-linecap: butt; stroke-width: 0.05px; fill: none; }
+			.barrier-bollard { stroke: #ff0000; stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.1px; }
+			.barrier-hedge-1 { stroke: #00ff00; stroke-width: 0.1px; }
+			.barrier-hedge-2 { stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.1px; }
+			.barrier-fence-1 { stroke-width: 0.1px; }
+			.barrier-fence-2 { stroke: #888888; stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.1px; }
+			.barrier-wall { stroke-width: 0.1px; }
+			.barrier-retaining-wall-1 { stroke: #888888; stroke-width: 0.1px; }
+			.barrier-retaining-wall-2 { stroke: #888888; stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.2px; }
+			.barrier-city-wall-ts-1 { stroke-width: 0.1px; }
+			.barrier-city-wall-ts-2 { stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.2px; }
+			.barrier-city-wall-1 { stroke-width: 0.1px; }
+			.barrier-city-wall-2 { stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.2px; }
+
+			/* Map decoration */
+			.map-grid-line {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0.5;
+			}
+			
+			.map-border-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 3px;
+			stroke-miterlimit: 4;
+			stroke-dasharray: none;
+			stroke-opacity: 1;
+			stroke-linecap: round;
+			}
+			
+			.map-border-core {
+			fill: none;
+			fill-opacity: 1;
+			fill-rule: nonzero;
+			stroke: #ffffff;
+			stroke-width: 2px;
+			stroke-miterlimit: 0;
+			stroke-dashoffset: -0.5px;
+			stroke-opacity: 1;
+			}
+			
+			.map-scale-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-core {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-bookend {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 1px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-caption {
+			font-family: "DejaVu Sans";
+			font-size: 10px;
+			fill: #8080ff;
+			}
+			
+			<!-- map background must be the same for all zooms or else empty tile detection will fail -->
+			.map-background {
+			fill: #f8f8f8;
+			stroke: none;
+			}
+			
+			.map-title {
+			font-family: "DejaVu Sans";
+			font-size: 20px;
+			text-anchor: middle;
+			fill: black;
+			}
+			
+			.map-title-background {
+			fill: white;
+			}
+			
+			.map-marginalia-background {
+			fill: white;
+			}
+			
+			.highway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			}
+			
+			/* Osmarender built-in styles - do not remove */
+			.osmarender-stroke-linecap-round { stroke-linecap: round; }
+			.osmarender-stroke-linecap-butt { stroke-linecap: butt; }
+			.osmarender-mask-black { stroke: black; }
+			.osmarender-mask-white { stroke: white; }
+			.osmarender-no-marker-start { marker-start: none; }
+			.osmarender-no-marker-end { marker-end: none; }
+			
+		</style>
+		
+		<svg:pattern x="0" y="0" width="200" height="200" id="wood-deciduous-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.06)">
+			<svg:rect fill="#6fc18e" width="205" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 27,1 C 20,1 13,7 13,14 C 13,16 13,18 15,20 C 11,22 8,26 8,29 C 8,36 16,43 28,43 L 28,63 L 37,63 L 37,43 C 48,43 57,36 57,29 C 57,26 55,23 52,21 C 55,14 45,4 37,6 C 36,3 33,1 27,1"/>
+			<svg:path fill="#2b743f" d="M 77,101 C 70,101 63,107 63,114 C 63,116 63,118 65,120 C 61,122 58,126 58,129 C 58,136 66,143 78,143 L 78,163 L 87,163 L 87,143 C 98,143 107,136 107,129 C 107,126 105,123 102,121 C 105,114 95,104 87,106 C 86,103 83,101 77,101"/>
+		</svg:pattern>
+		<svg:pattern x="0" y="0" width="200" height="200" id="wood-coniferous-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.06)">
+			<svg:rect fill="#6fc18e" width="205" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 15,24 L 25,24 L 10,39 L 25,39 L 5,54 L 25,54 L 25,64 L 35,64 L 35,54 L 55,54 L 35,39 L 50,39 L 35,24 L 45,24 L 30,4 L 15,24"/>
+			<svg:path fill="#2b743f" d="M 65,124 L 75,124 L 60,139 L 75,139 L 55,154 L 75,154 L 75,164 L 85,164 L 85,154 L 105,154 L 85,139 L 100,139 L 85,124 L 95,124 L 80,104 L 65,124"/>
+		</svg:pattern>
+		<svg:pattern x="0" y="0" width="300" height="200" id="wood-mixed-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.06)">
+			<svg:rect fill="#6fc18e" width="305" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 27,1 C 20,1 13,7 13,14 C 13,16 13,18 15,20 C 11,22 8,26 8,29 C 8,36 16,43 28,43 L 28,63 L 37,63 L 37,43 C 48,43 57,36 57,29 C 57,26 55,23 52,21 C 55,14 45,4 37,6 C 36,3 33,1 27,1"/>
+			<svg:path fill="#2b743f" d="M 65,54 L 75,54 L 60,69 L 75,69 L 55,84 L 75,84 L 75,94 L 85,94 L 85,84 L 105,84 L 85,69 L 100,69 L 85,54 L 95,54 L 80,34 L 65,54"/>
+			<svg:path fill="#2b743f" d="M 165,104 L 175,104 L 160,119 L 175,119 L 155,134 L 175,134 L175,144 L 185,144 L 185,134 L 205,134 L 185,119 L 200,119 L 185,104 L 195,104 L 180,84 L 165,104"/>
+			<svg:path fill="#2b743f" d="M 227,101 C 220,101 213,107 213,114 C 213,116 213,118 215,120 C 211,122 208,126 208,129 C 208,136 216,143 228,143 L 228,163 L 237,163 L 237,143 C 248,143 257,136 257,129 C 257,126 255,123 252,121 C 255,114 245,104 237,106 C 236,103 233,101 227,101"/>
+		</svg:pattern>
+		
+		<svg:pattern id="marsh-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.3)">
+			<svg:path stroke="#007fff" stroke-width="0.2" stroke-linecap="round" d="M 0,4 C 1.33,4 2.67,4 4,4 M 2,4 C 2,3 2,2 2,1 M 3,3 L 2,4 M 3,2 L 2,4 M 1,3 L 2,4 M 1,2 L 2,4 M 7,9 L 10,9 M 2,9 C 3,9 4,9 5,9 M 6,4 C 6.71,4 7.35,4 8,4 M 2,6 C 2.67,6 3.33,6 4,6 M 7,1 C 7.70,1 8.33,1 9,1 M 0,9 L 1,9 M 9,6 L 9,9 M 10,7 L 9,9 M 10,8 L 9,9 M 8,8 L 9,9 M 8,7 L 9,9"/>
+		</svg:pattern>
+		
+		<svg:pattern id="military-pattern" x="0" y="0" width="500" height="500" patternUnits="userSpaceOnUse" patternTransform="scale(0.01)">
+			<svg:rect width="510" height="510" x="0" y="0" fill-opacity="0.5" fill="#d0d050"/>
+			<svg:path fill="#808000" d="M 311.4875,112.4725 L 240.86574,112.4725 L 219.18975,100.81875 L 219.18975,67.95515 L 358.10253,55.13602 L 358.10253,98.02185 L 311.4875,107.11177 L 311.4875,112.4725 z "/>
+			<svg:path fill="#808000" d="M 86.10386,157.81856 L 404.48447,158.3883 L 404.43115,99.18722 L 313.11903,119.23168 L 180.26621,119.23168 L 86.10386,144.40379 C 80.55682,146.64725 78.71816,157.81856 86.10386,157.81856 z "/>
+			<svg:path fill="#808000" d="M 176.69134,184.53979 C 176.69131,195.84684 167.54017,205.02094 156.23316,205.04931 C 144.92615,205.07768 135.72909,195.94962 135.67232,184.64271 C 135.61555,173.33581 144.72048,164.11585 156.02721,164.03068 C 167.33393,163.94551 176.57673,173.02726 176.6903,184.33373"/>
+			<svg:path fill="#808000" d="M 222.85374,184.53979 C 222.85371,195.84684 213.70257,205.02094 202.39556,205.04931 C 191.08855,205.07768 181.89149,195.94962 181.83472,184.64271 C 181.77795,173.33581 190.88288,164.11585 202.18961,164.03068 C 213.49633,163.94551 222.73913,173.02726 222.8527,184.33373"/>
+			<svg:path fill="#808000" d="M 268.20674,184.53979 C 268.20671,195.84684 259.05557,205.02094 247.74856,205.04931 C 236.44155,205.07768 227.24449,195.94962 227.18772,184.64271 C 227.13095,173.33581 236.23588,164.11585 247.54261,164.03068 C 258.84933,163.94551 268.09213,173.02726 268.2057,184.33373"/>
+			<svg:path fill="#808000" d="M 314.63974,184.53979 C 314.63971,195.84684 305.48857,205.02094 294.18156,205.04931 C 282.87455,205.07768 273.67749,195.94962 273.62072,184.64271 C 273.56395,173.33581 282.66888,164.11585 293.97561,164.03068 C 305.28233,163.94551 314.52513,173.02726 314.6387,184.33373"/>
+			<svg:path fill="#808000" d="M 104.62906,164.30601 L 95.06656,164.74351 C 89.7409,177.99161 94.17664,190.11388 108.81656,199.08726 C 125.31404,209.1992 145.13754,218.93662 150.87906,219.08726 L 345.94156,219.14976 C 351.68308,218.99912 371.50659,209.26172 388.00406,199.14976 C 402.64398,190.17638 407.07972,178.02286 401.75406,164.77476 L 392.19156,164.36851 C 395.0692,176.76396 397.55281,185.1301 379.62906,193.61851 C 364.95912,200.56595 349.45269,208.83667 347.03531,209.33726 L 149.78531,209.30601 C 147.36794,208.8054 131.89275,200.50345 117.22281,193.55601 C 99.29906,185.06761 101.75142,176.70146 104.62906,164.30601 z M 81.325,74.26296 L 81.325,87.85048 L 214.52384,92.37965 L 214.52384,74.05709 L 81.325,74.26296 z "/>
+			<svg:path fill="#808000" d="M 360.71264,185.61239 C 360.71261,196.91944 351.56147,206.09354 340.25446,206.12191 C 328.94745,206.15028 319.75039,197.02222 319.69362,185.71531 C 319.63685,174.40841 328.74178,165.18845 340.04851,165.10328 C 351.35523,165.01811 360.59803,174.09986 360.7116,185.40633"/>
+			<svg:path fill="#808000" d="M 389.14837,176.08104 C 389.14835,182.52632 383.93199,187.75578 377.48672,187.77195 C 371.04145,187.78813 365.79891,182.58491 365.76655,176.1397 C 365.73419,169.6945 370.92422,164.4389 377.36932,164.39035 C 383.81443,164.3418 389.08304,169.51862 389.14778,175.96358"/>
+			<svg:path fill="#808000" d="M 130.88767,176.08104 C 130.88765,182.52632 125.67129,187.75578 119.22602,187.77195 C 112.78075,187.78813 107.53821,182.58491 107.50585,176.1397 C 107.47349,169.6945 112.66352,164.4389 119.10862,164.39035 C 125.55373,164.3418 130.82234,169.51862 130.88708,175.96358"/>
+		</svg:pattern>
+		
+		<svg:pattern id="cemetery-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.5)">
+			<svg:rect fill="#bde3cb" width="10" height="10" x="0" y="0"/>
+			<svg:path fill="#b0b0b0" stroke-width="0.1" d="M 1.48,0.13 C 2.12,0.13 2.63,0.64 2.63,1.28 L 2.63,4.27 L 0.33,4.27 L 0.33,1.28 C 0.33,0.64 0.85,0.13 1.48,0.13 z "/>
+			<svg:path fill="#b0b0b0" stroke-width="0.1" d="M 6.64,5.78 C 7.27,5.78 7.79,6.29 7.79,6.92 L 7.79,9.91 L 5.49,9.91 L 5.49,6.92 C 5.49,6.29 6.00,5.78 6.64,5.78 z "/>
+		</svg:pattern>
+		<svg:pattern id="cemetery-christian-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.5)">
+			<svg:rect fill="#bde3cb" width="11" height="11" x="0" y="0"/>
+			<svg:path stroke="black" stroke-width="0.2" d="M1,1 L3,1 M2,0 L2,3 M6,6 L8,6 M7,5 L7,8"/>
+		</svg:pattern>
+		
+		<svg:pattern id="livingstreet-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#e5e0c2" stroke-width="2" d="M10,0 L0,10 M0,0 L10,10"/>
+		</svg:pattern>
+		<svg:pattern id="cycleroad-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#d1fad1" stroke-width="2" d="M10,0 L0,10 M0,0 L10,10"/>
+		</svg:pattern>
+		<svg:pattern id="access-private-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#ff4040" stroke-width="0.2" d="M5,0 L0,5 M0,0 L5,5"/>
+		</svg:pattern>
+		<svg:pattern id="access-permissive-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#40ff40" stroke-width="0.2" d="M5,0 L0,5 M0,0 L5,5"/>
+		</svg:pattern>
+		<svg:pattern id="access-destination-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#4040ff" stroke-width="0.2" d="M5,0 L0,5 M0,0 L5,5"/>
+		</svg:pattern>
+		<svg:pattern id="access-no-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#ff4040" stroke-width="0.2" d="M5,0 L0,5 M0,0 L5,5"/>
+		</svg:pattern>
+		
+		<svg:pattern patternUnits="userSpaceOnUse" width="104.8886" height="112.38862" patternTransform="scale(0.05,0.05)" id="vineyard-pattern">
+			<svg:rect fill="#d1ead1" width="104.8886" height="112.38862" x="0" y="0"/>
+			<svg:g transform="translate(-35,-59.111382)">
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="105" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="104.54168" y="95.686478"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="91.572838" y="95.066086"/>
+				<svg:path style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#bf5bc3;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 102.72166,94.632518 C 102.72166,94.632518 102.51202,95.733107 102.51202,86.247077 C 102.51202,84.082553 104.39875,79.905587 96.851849,75.974911"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-1.4674523,16.770883)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-4.6119891,6.2890801)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(10.27217,-2.7252699)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-6.7083494,-4.4023583)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(4.1927244,9.8528923)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(2.096364,0.6289069)"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="90" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="95" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="115" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="60" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="59.541687" y="133.18648"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="46.572845" y="132.56609"/>
+				<svg:path style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#bf5bc3;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 57.72166,132.13252 C 57.72166,132.13252 57.51202,133.23311 57.51202,123.74708 C 57.51202,121.58255 59.39875,117.40559 51.85185,113.47491"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-46.467452,54.270883)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-49.611989,43.78908)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-34.72783,34.77473)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-51.708349,33.097642)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-40.807276,47.352892)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-42.903636,38.128907)"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="45" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="50" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="90" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="95" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="70" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="55" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="105" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="115" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="60" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="45" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="50" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="55" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="70" y="94"/>
+				<svg:rect style="fill:none;fill-opacity:0.92941176;stroke:none;stroke-width:0.22276554;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="104.87722" height="112.37724" x="35.011383" y="59.111382"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="144"/>
+			</svg:g>
+		</svg:pattern>
+		<svg:pattern id="power-wind-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.21)">
+		<!-- power_wind.svg -->
+			<svg:g style="fill:#000000">
+				<rect width="0.77532399" height="8.1394444" x="8.3448029" y="7.860559" style="fill:#000000" />
+				<path d="M 9.4685289,7.5398227 C 9.5951548,7.3769778 10.64679,8.1902804 11.817421,9.3563852 C 12.988052,10.52249 13.834385,11.599816 13.707759,11.762661 C 13.581133,11.925506 12.529499,11.112204 11.358868,9.9460989 C 10.188236,8.7799942 9.341903,7.7026676 9.4685289,7.5398227 z" />
+				<path d="M 9.0179241,5.7934416 C 8.8242005,5.7429518 9.0001786,4.4242539 9.4109824,2.8480475 C 9.8217862,1.2718412 10.311853,0.03500359 10.505576,0.085493431 C 10.6993,0.13598327 10.523322,1.4546811 10.112518,3.0308874 C 9.7017142,4.6070939 9.2116477,5.8439315 9.0179241,5.7934416 z" />
+				<path d="M 7.7057548,7.0801563 C 7.7567258,7.273754 6.5211097,7.7668916 4.9459289,8.1816099 C 3.3707482,8.5963282 2.0524917,8.7755817 2.0015207,8.5819841 C 1.9505497,8.3883865 3.1861658,7.8952488 4.7613465,7.4805306 C 6.3365273,7.0658123 7.6547838,6.8865587 7.7057548,7.0801563 z" />
+				<path d="M 9.7448924,6.787931 C 9.7450023,7.3521951 9.2876067,7.8096797 8.7233428,7.8096797 C 8.1590787,7.8096797 7.7016831,7.3521951 7.701793,6.787931 C 7.7016831,6.2236669 8.1590787,5.7661823 8.7233428,5.7661823 C 9.2876067,5.7661823 9.7450023,6.2236669 9.7448924,6.787931 L 9.7448924,6.787931 z" />
+			</svg:g>
+		</svg:pattern>
+		<svg:pattern id="power-hydro-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.21)">
+		<!-- power_hydro.svg -->
+			<path d="M 8.5,12.8 L 11.9,6.5 L 7.1,7.6 L 10.8,1.5 L 8.2,0.17 L 4.1,10.1 L 9,8.6 L 7.4,12.3 L 7.1,11.6 L 6.65,15.7 L 9.3,12.5 L 8.5,12.8 z" style="fill:#00ccff;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;" />
+		</svg:pattern>
+		<svg:pattern id="power-photovoltaic-pattern" x="0" y="0" width="16" height="16" patternUnits="userSpaceOnUse" patternTransform="scale(0.21)">
+		<!-- power_photovoltaic.svg -->
+		<svg:g transform="matrix(1,0,-0.26,1,0.15,0)">
+				<svg:rect x="3.4" y="3.4" width="13" height="8.9" style="fill:#ffffff;stroke:#000000;stroke-width:0.4"/>
+				<svg:g style="stroke-width:0;fill:#000084" >
+					<svg:rect x="3.9" y="8" width="3.8" height="3.8" />
+					<svg:rect x="8" y="8" width="3.8" height="3.8" />
+					<svg:rect x="12.1" y="8" width="3.8" height="3.8" />
+					<svg:rect x="3.9" y="3.9" width="3.8" height="3.8" />
+					<svg:rect x="8" y="3.9" width="3.8" height="3.8" />
+					<svg:rect x="12.1" y="3.9" width="3.8" height="3.8" />
+				</svg:g>
+			</svg:g>
+			<svg:path d="M 2.72 0.34 L 2.97 2.59 L 1.38 2.13 L 2.44 3.25 L 0.38 3.98 L 2.59 4.38 L 1.59 5.72 L 3.13 5.03 L 3.16 7.22 L 4.25 5.34 L 5.22 6.63 L 5.03 5 L 7.22 5.66 L 5.72 4.06 L 7.25 3.59 L 5.59 3.28 L 6.97 1.41 L 4.88 2.34 L 4.88 0.78 L 4.09 2.13 L 2.72 0.34 z" style="fill:#ffff00;stroke:#000000;stroke-width:0.1" />
+		</svg:pattern>
+		<svg:pattern id="power-generic-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.21)">
+		<!-- power_generic.svg -->
+			<svg:path d="M 8.5,12.8 L 11.9,6.5 L 7.1,7.6 L 10.8,1.5 L 8.2,0.17 L 4.1,10.1 L 9,8.6 L 7.4,12.3 L 7.1,11.6 L 6.65,15.7 L 9.3,12.5 L 8.5,12.8 z" style="fill:#ffff00;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;" />
+		</svg:pattern>
+		<!-- reservoir patterns -->
+		<svg:pattern id="reservoir-evaporator-pattern" patternUnits="userSpaceOnUse" width="2" height="2" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;stroke-linecap:round;" d="M 0.1,1.9 L 1.9,1.9" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.96,1.8 C 1.25,1.4 0.75,1.4 1.04,1" />
+			<svg:path style="stroke:#007fff;stroke-width:.035px;fill:none" d="M 0.61,1.8 C 0.8,1.55 0.5,1.55 .69,1.3" />
+			<svg:path style="stroke:#007fff;stroke-width:.035px;fill:none" d="M 1.31,1.8 C 1.5,1.55 1.2,1.55 1.39,1.3" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-cooling-pattern" patternUnits="userSpaceOnUse" width="2" height="2" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;stroke-linecap:round;" d="M 0.1,1.9 L 1.9,1.9" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1,1.25 L 0.784,1.125 L 0.784,0.875 L 1,0.75 L 1.217,0.875 L 1.217,1.125 z" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1,1.25 L 1,1.75" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 0.784,1.125 L 0.35,1.375" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 0.784,0.875 L 0.35,0.625" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1,0.75 L 1,0.25" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1.217,0.875 L 1.65,0.625" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1.217,1.125 L 1.65,1.375" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.257,1.705 L 1.000,1.550 L 0.743,1.705" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.518,1.575 L 0.524,1.275 L 0.261,1.130" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.261,0.870 L 0.524,0.725 L 0.518,0.425" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.743,0.295 L 1.000,0.450 L 1.257,0.295" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.482,0.425 L 1.476,0.725 L 1.739,0.870" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.739,1.139 L 1.476,1.275 L 1.482,1.575" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-sewage-pattern" patternUnits="userSpaceOnUse" width="0.5" height="0.5" >
+			<svg:path style="stroke:#997700;stroke-width:.1px;" d="M -0.01,-0.01 L 0.51,0.51" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-tailings-pattern" patternUnits="userSpaceOnUse" width="0.5" height="0.5" >
+			<svg:path style="stroke:black;stroke-width:.1px;" d="M -0.01,-0.01 L 0.51,0.51" />
+		</svg:pattern>
+
+		<svg:pattern id="basin-infiltration-pattern" patternUnits="userSpaceOnUse" width="2" height="2" patternTransform="scale(1.75)" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.1,0.2 L 1.9,0.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.4,0.6 L 1.6,0.6" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.1,1.2 L 0.9,1.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.4,1.6 L 0.6,1.6" />
+		</svg:pattern>
+
+		<svg:pattern id="basin-detention-pattern" patternUnits="userSpaceOnUse" width="2" height="2" patternTransform="scale(1.75)" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.4,0.2 L 1.6,0.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.1,0.6 L 1.9,0.6" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.4,1.2 L 0.6,1.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.1,1.6 L 0.9,1.6" />
+		</svg:pattern>
+
+		<svg:pattern id="basin-retention-pattern" patternUnits="userSpaceOnUse" width="2" height="2" patternTransform="scale(1.75)" >
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.4,0.2 L 1.6,0.2" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.1,0.6 L 1.9,0.6" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.4,1.2 L 0.6,1.2" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.1,1.6 L 0.9,1.6" />
+		</svg:pattern>
+
+		<svg:pattern id="nature-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(2.28885)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.1" d="
+		M0.2,0.1 L1.8,0.9 M2.2,0.9 L3.8,0.1   M4.2,0.1 L5.8,0.9 M6.2,0.9 L7.8,0.1   M8.2,0.1 L9.8,0.9 M10.2,0.9 L11.8,0.1
+		M0.2,1.9 L1.8,1.1 M2.2,1.1 L3.8,1.9   M4.2,1.9 L5.8,1.1 M6.2,1.1 L7.8,1.9   M8.2,1.9 L9.8,1.1 M10.2,1.1 L11.8,1.9
+		M0.2,2.1 L1.8,2.9 M2.2,2.9 L3.8,2.1   M4.2,2.1 L5.8,2.9 M6.2,2.9 L7.8,2.1   M8.2,2.1 L9.8,2.9 M10.2,2.9 L11.8,2.1
+		M0.2,3.9 L1.8,3.1 M2.2,3.1 L3.8,3.9   M4.2,3.9 L5.8,3.1 M6.2,3.1 L7.8,3.9   M8.2,3.9 L9.8,3.1 M10.2,3.1 L11.8,3.9
+		M0.2,4.1 L1.8,4.9 M2.2,4.9 L3.8,4.1   M4.2,4.1 L5.8,4.9 M6.2,4.9 L7.8,4.1   M8.2,4.1 L9.8,4.9 M10.2,4.9 L11.8,4.1
+		M0.2,5.9 L1.8,5.1 M2.2,5.1 L3.8,5.9   M4.2,5.9 L5.8,5.1 M6.2,5.1 L7.8,5.9   M8.2,5.9 L9.8,5.1 M10.2,5.1 L11.8,5.9
+
+		M0.2,6.1 L1.8,6.9 M2.2,6.9 L3.8,6.1   M4.2,6.1 L5.8,6.9 M6.2,6.9 L7.8,6.1   M8.2,6.1 L9.8,6.9 M10.2,6.9 L11.8,6.1
+		M0.2,7.9 L1.8,7.1 M2.2,7.1 L3.8,7.9   M4.2,7.9 L5.8,7.1 M6.2,7.1 L7.8,7.9   M8.2,7.9 L9.8,7.1 M10.2,7.1 L11.8,7.9
+		M0.2,8.1 L1.8,8.9 M2.2,8.9 L3.8,8.1   M4.2,8.1 L5.8,8.9 M6.2,8.9 L7.8,8.1   M8.2,8.1 L9.8,8.9 M10.2,8.9 L11.8,8.1
+		M0.2,9.9 L1.8,9.1 M2.2,9.1 L3.8,9.9   M4.2,9.9 L5.8,9.1 M6.2,9.1 L7.8,9.9   M8.2,9.9 L9.8,9.1 M10.2,9.1 L11.8,9.9
+		M0.2,10.1 L1.8,10.9 M2.2,10.9 L3.8,10.1   M4.2,10.1 L5.8,10.9 M6.2,10.9 L7.8,10.1   M8.2,10.1 L9.8,10.9 M10.2,10.9 L11.8,10.1
+		M0.2,11.9 L1.8,11.1 M2.2,11.1 L3.8,11.9   M4.2,11.9 L5.8,11.1 M6.2,11.1 L7.8,11.9   M8.2,11.9 L9.8,11.1 M10.2,11.1 L11.8,11.9"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.15;stroke-linecap:round;stroke-linejoin:round;" d="
+		M1.2,2.6 L1.2,1.4 L1.8,2.6 L1.8,1.4
+		M2.2,2.1 2.45,2.1 A 0.25 0.25 0 0 0 2.45,1.4 L2.2,1.4 L2.2,2.6  M2.8,2.6 L2.3,2.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="landscape-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(2.6)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.05" d="
+		M0.4,0.2 L1.6,0.8 M2.4,0.8 L3.6,0.2   M4.4,0.2 L5.6,0.8 M6.4,0.8 L7.6,0.2   M8.4,0.2 L9.6,0.8 M10.4,0.8 L11.6,0.2
+		M0.4,1.8 L1.6,1.2 M2.4,1.2 L3.6,1.8   M4.4,1.8 L5.6,1.2 M6.4,1.2 L7.6,1.8   M8.4,1.8 L9.6,1.2 M10.4,1.2 L11.6,1.8
+		M0.4,2.2 L1.6,2.8 M2.4,2.8 L3.6,2.2   M4.4,2.2 L5.6,2.8 M6.4,2.8 L7.6,2.2   M8.4,2.2 L9.6,2.8 M10.4,2.8 L11.6,2.2
+		M0.4,3.8 L1.6,3.2 M2.4,3.2 L3.6,3.8   M4.4,3.8 L5.6,3.2 M6.4,3.2 L7.6,3.8   M8.4,3.8 L9.6,3.2 M10.4,3.2 L11.6,3.8
+		M0.4,4.2 L1.6,4.8 M2.4,4.8 L3.6,4.2   M4.4,4.2 L5.6,4.8 M6.4,4.8 L7.6,4.2   M8.4,4.2 L9.6,4.8 M10.4,4.8 L11.6,4.2
+		M0.4,5.8 L1.6,5.2 M2.4,5.2 L3.6,5.8   M4.4,5.8 L5.6,5.2 M6.4,5.2 L7.6,5.8   M8.4,5.8 L9.6,5.2 M10.4,5.2 L11.6,5.8
+
+		M0.4,6.2 L1.6,6.8 M2.4,6.8 L3.6,6.2   M4.4,6.2 L5.6,6.8 M6.4,6.8 L7.6,6.2   M8.4,6.2 L9.6,6.8 M10.4,6.8 L11.6,6.2
+		M0.4,7.8 L1.6,7.2 M2.4,7.2 L3.6,7.8   M4.4,7.8 L5.6,7.2 M6.4,7.2 L7.6,7.8   M8.4,7.8 L9.6,7.2 M10.4,7.2 L11.6,7.8
+		M0.4,8.2 L1.6,8.8 M2.4,8.8 L3.6,8.2   M4.4,8.2 L5.6,8.8 M6.4,8.8 L7.6,8.2   M8.4,8.2 L9.6,8.8 M10.4,8.8 L11.6,8.2
+		M0.4,9.8 L1.6,9.2 M2.4,9.2 L3.6,9.8   M4.4,9.8 L5.6,9.2 M6.4,9.2 L7.6,9.8   M8.4,9.8 L9.6,9.2 M10.4,9.2 L11.6,9.8
+		M0.4,10.2 L1.6,10.8 M2.4,10.8 L3.6,10.2   M4.4,10.2 L5.6,10.8 M6.4,10.8 L7.6,10.2   M8.4,10.2 L9.6,10.8 M10.4,10.8 L11.6,10.2
+		M0.4,11.8 L1.6,11.2 M2.4,11.2 L3.6,11.8   M4.4,11.8 L5.6,11.2 M6.4,11.2 L7.6,11.8   M8.4,11.8 L9.6,11.2 M10.4,11.2 L11.6,11.8"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:round;" d="
+		M5.2,3.4 L5.2,4.6 L5.8,4.6
+		M6.2,4.1 6.45,4.1 A 0.25 0.25 0 0 0 6.45,3.4 L6.2,3.4 L6.2,4.6  M6.8,4.6 L6.3,4.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="national-park-pattern" x="0" y="0" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(2.6)">
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.5;" d="
+		M9.2,6.6 L9.2,5.4 L9.8,6.6 L9.8,5.4
+		M10.2,6.1 10.45,6.1 A 0.25 0.25 0 0 0 10.45,5.4 L10.2,5.4 L10.2,6.6 "/>
+		</svg:pattern>
+
+
+		<svg:marker fill="none" id="bridge-casing-start" markerHeight="2" markerUnits="strokeWidth" markerWidth="2" orient="auto" refX="1" refY="1" stroke="#707070" stroke-width="0.045px" viewBox="0 0 2 2">
+			<svg:path d="M 1.05,1.45 L 0.7,1.8 M 1.05,0.55 L 0.7,0.2"/>
+		</svg:marker>
+		<svg:marker fill="none" id="bridge-casing-end" markerHeight="2" markerUnits="strokeWidth" markerWidth="2" orient="auto" refX="1" refY="1" stroke="#707070" stroke-width="0.045px" viewBox="0 0 2 2">
+			<svg:path d="M 0.95,1.45 L 1.3,1.8 M 0.95,0.55 L 1.3, 0.2"/>
+		</svg:marker>
+		<svg:marker fill="none" id="marker-gate-locked" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="2px" refY="5px" stroke="#707070" stroke-width="0.5px" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L 1,10 M 3,0 L 3,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="marker-gate-closed" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#707070" stroke-width="0.5px" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L 1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="marker-gate-open" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#707070" stroke-width="0.5px" viewBox="0 0 10 10">
+			<svg:path d="M1,0 L1,2 M1,4 L1,6 M1,8 L1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="noexit-all" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#ff5555" stroke-width="2px" stroke-opacity="0.5" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L 1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="noexit-veh" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#eeaa55" stroke-width="1.75px" stroke-opacity="0.6" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L 1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="noexit-mot" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#dddd55" stroke-width="1.5px" stroke-opacity="0.7" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L 1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="noexit-no" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#55dd55" stroke-width="1.5px" stroke-opacity="0.7" viewBox="0 0 10 10">
+			<svg:path d="M 1,2 L 1,8"/>
+		</svg:marker>
+		<svg:marker fill="none" id="canal-lock" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#000000" stroke-width="1px" stroke-opacity="1" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L -2,5 L 1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="mountain-pass" markerHeight="24px" markerUnits="userSpaceOnUse" markerWidth="12px" orient="auto" refX="64px" refY="32px" stroke="#000000" stroke-width="0.66px" viewBox="0 0 64 128">
+			<svg:path d="M 1,1 L 16,21 L 112,21 L 127,1"/>
+			<svg:path d="M 1,63 L 16,43 L 112,43 L 127,63"/>
+		</svg:marker>
+	</defs>
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/captionless-z17.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/captionless-z17.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/captionless-z17.xml	(revision 35743)
@@ -0,0 +1,7039 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+
+<!-- Tiles@Home Rules File for zoom level 17 -->
+
+<rules
+	xmlns:xlink="http://www.w3.org/1999/xlink"
+	xmlns:svg="http://www.w3.org/2000/svg"
+	data="data.osm"
+	svgBaseProfile="full"
+	scale="1"
+	symbolScale="0.107"
+	textAttenuation="14"
+	minimumMapWidth="0.5"
+	minimumMapHeight="0.5"
+	withOSMLayers="yes"
+	withUntaggedSegments="no"
+	showScale="no"
+	showGrid="no"
+	showBorder="no"
+	showLicense="no"
+	interactive="no"
+	showRelationRoute="no"
+	symbolsDir="../stylesheets/symbols"
+	meter2pixel="0.1375">
+
+
+	<!-- Select all nodes and ways (unless they have an osmarender:render=no tag) -->
+	<rule e="node|way" k="osmarender:render" v="~|yes">
+
+		<!-- Landuse -->
+		<rule e="way" k="landuse" v="landfill|quarry">
+			<area class="landuse-quarry"/>
+		</rule>
+		<rule e="way" k="landuse" v="cemetery">
+			<rule e="way" k="religion" v="christian">
+				<area class="landuse-cemetery-christian"/>
+			</rule>
+			<else>
+				<area class="landuse-cemetery"/>
+			</else>
+		</rule>
+		<rule e="way" k="amenity" v="grave_yard">
+			<rule e="way" k="religion" v="christian">
+				<area class="landuse-cemetery-christian"/>
+			</rule>
+			<else>
+				<area class="landuse-cemetery"/>
+			</else>
+		</rule>
+		<rule e="way" k="landuse" v="vineyard">
+			<area class="landuse-vineyard"/>
+		</rule>
+
+		<!-- Natural features -->
+		<rule e="way" k="natural" v="coastline">
+			<area class="natural-coastline"/>
+		</rule>
+		<rule e="way" k="natural" v="glacier">
+			<line class='natural-glacier'/>
+		</rule>
+		<rule e="way" k="natural" v="land">
+			<area class="natural-land"/>
+		</rule>
+		<rule e="way" k="natural" v="beach">
+			<area class="natural-beach"/>
+		</rule>
+		<rule e="way" k="natural|landuse" v="forest|wood|scrub">
+			<rule e="way" k="wood" v="coniferous">
+				<area class="landuse-wood-coniferous"/>
+			</rule>
+			<else>
+				<rule e="way" k="wood" v="deciduous">
+					<area class="landuse-wood-deciduous"/>
+				</rule>
+				<else>
+					<rule e="way" k="wood" v="mixed">
+						<area class="landuse-wood-mixed"/>
+					</rule>
+					<else>
+						<area class="landuse-wood"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="natural" v="heath">
+			<area class="natural-heath"/>
+		</rule>
+		<rule e="way" k="natural" v="wetland">
+			<rule e="way" k="wetland" v="bog">
+				<area class="wetland-bog"/>
+			</rule>
+		</rule>
+		<rule e="way" k="landuse" v="conservation">
+			<area class="landuse-conservation"/>
+		</rule>
+
+		<!-- Artificial landuse -->
+		<rule e="way" k="landuse" v="field|farm|farmland|meadow|grass">
+			<area class="landuse-field"/>
+		</rule>
+		<rule e="way" k="landuse" v="allotments|village_green|recreation_ground">
+			<area class="landuse-allotment-village"/>
+		</rule>
+		<rule e="way" k="leisure" v="park|garden|golf_course|common|green">
+			<area class="leisure-park"/>
+		</rule>
+		<!-- Done separately from the above rule to layer these above. Tend to be smaller and inside parks. -->
+		<rule e="way" k="leisure" v="playground|playing_fields|pitch|dog_park">
+			<rule e="way" k="sport" v="tennis">
+				<area class="sport-tennis"/>
+			</rule>
+			<else>
+				<rule e="way" k="leisure" v="dog_park">
+					<area class="leisure-dog_park"/>
+				</rule>
+				<else>
+					<area class="leisure-park"/>
+				</else>
+			</else>
+		</rule>
+		<rule e="node" k="natural" v="tree">
+			<symbol ref="tree" position="center"/>
+		</rule>
+		<rule e="way" k="leisure" v="stadium|sports_centre|water_park">
+			<area class="leisure-stadium"/>
+		</rule>
+		<rule e="way" k="leisure" v="track">
+			<rule e="way" k="area" v="yes|true">
+				<area class="leisure-track-area"/>
+			</rule>
+			<else>
+				<line class="leisure-track-casing"/>
+				<line class="leisure-track-core"/>
+			</else>
+		</rule>
+		<rule e="way" k="leisure" v="swimming_pool">
+			<area class="leisure-swimming-pool"/>
+		</rule>
+		<rule e="way" k="amenity" v="fountain" closed="yes">
+			<area class="fountain" />
+		</rule>
+
+		<!-- Airports and runways -->
+		<rule e="way" k="aeroway" v="aerodrome" closed="yes">
+			<area class="aeroway-aerodrome"/>
+		</rule>
+		<rule e="way" k="aeroway" v="apron">
+			<area class="aeroway-apron"/>
+		</rule>
+		<rule e="way" k="landuse" v="runway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse-runway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse-runway-disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse-runway-dismantled"/>
+			</rule>
+		</rule>
+
+		<!-- Raceways and racetracks (cars and horses etc) -->
+		<rule e="way" k="landuse" v="raceway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse-raceway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse-raceway-disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse-raceway-dismantled"/>
+			</rule>
+		</rule>
+
+		<!-- Man-made areas -->
+		<rule e="way" k="leisure|landuse|amenity|tourism" v="~">
+			<rule e="way" k="building" v="~|no|false|0">
+				<rule e="way" k="sport" v="swimming|canoe|diving|scuba_diving">
+					<area class="sport-swimming"/>
+				</rule>
+				<else>
+					<rule e="way" k="sport" v="tennis">
+						<area class="sport-tennis"/>
+					</rule>
+					<else>
+						<rule e="way" k="sport" v="*" closed="yes">
+							<area class="sport"/>
+						</rule>
+					</else>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="amenity" v="parking">
+			<area class="amenity-parking"/>
+		</rule>
+		<rule e="way" k="tourism" v="attraction">
+			<rule e="way" k="highway" v="~">
+				<rule e="way" k="area" v="no" />
+				<else>
+					<area class="tourism-attraction"/>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="tourism" v="zoo|picnic_site|caravan_site|camp_site">
+			<area class="tourism-green-area"/>
+		</rule>
+
+		<!-- access rules for parking -->
+		<rule e="way" k="amenity" v="parking">
+			<rule e="way" k="access" v="private">
+				<area class="access-private-small-area"/>
+			</rule>
+			<rule e="way" k="access" v="permissive|public">
+				<area class="access-permissive-small-area"/>
+			</rule>
+			<rule e="way" k="access" v="destination">
+				<area class="access-destination-small-area"/>
+			</rule>
+			<rule e="way" k="access" v="no">
+				<area class="access-no-small-area"/>
+			</rule>
+		</rule>
+
+		<!-- house number interpolation lines -->
+		<rule e="way" k="addr:interpolation" v="odd">
+			<line class="housenumber-interpolation housenumber-interpolation-odd"/>
+		</rule>
+		<rule e="way" k="addr:interpolation" v="even">
+			<line class="housenumber-interpolation housenumber-interpolation-even"/>
+		</rule>
+		<rule e="way" k="addr:interpolation" v="all">
+			<line class="housenumber-interpolation housenumber-interpolation-all"/>
+		</rule>
+
+		<!-- Airfields and airports -->
+		<rule e="way" k="aeroway" v="runway">
+			<line class="aeroway-runway-casing"/>
+		</rule>
+		<rule e="way" k="aeroway" v="taxiway">
+			<line class="aeroway-taxiway-casing"/>
+		</rule>
+
+		<!-- Waterways -->
+		<rule e="way" k="lock" v="yes|true">
+			<line class="waterway-lock-casing" smart-linecap="no" />
+			<line class="waterway-lock-core" smart-linecap="no" />
+		</rule>
+		<rule e="way" k="waterway" v="lock">
+			<line class="waterway-lock-casing" smart-linecap="no" />
+			<line class="waterway-lock-core" smart-linecap="no" />
+		</rule>
+		<rule e="way" k="waterway" v="river">
+			<line class="waterway-casing waterway-river-casing" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="stream">
+			<line class="waterway-casing waterway-stream-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+		</rule>
+		<rule e="way" k="waterway" v="canal">
+			<line class="waterway-casing waterway-canal-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="drain">
+			<line class="waterway-casing waterway-drain-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+		</rule>
+		<rule e="way" k="waterway" v="ditch">
+			<line class="waterway-casing waterway-ditch-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+		</rule>
+		<rule e="way" k="tunnel" v="yes">
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-tunnel-core" width-scale-factor="1" honor-width="yes"	minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<line class="waterway-core waterway-stream-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-tunnel-core" width-scale-factor="1" honor-width="yes"	minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-tunnel-core" width-scale-factor="1" honor-width="yes"	minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-tunnel-core" width-scale-factor="1" honor-width="yes"	minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</rule>
+		<else>
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-core" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<rule e="way" k="stream" v="intermittent">
+					<line class="waterway-core waterway-stream-core-intermittent" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+				</rule>
+				<else>
+					<rule e="way" k="stream" v="ephemeral">
+						<line class="waterway-core waterway-stream-core-ephemeral" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+					</rule>
+					<else>
+						<line class="waterway-core waterway-stream-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</else>
+		<rule e="way" k="waterway" v="dock">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="natural" v="water|pond|lake|bay">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="natural" v="marsh|wetland">
+			<area class="natural-water-marsh"/>
+		</rule>
+		<rule e="way" k="landuse" v="reservoir">
+			<rule e="way" k="reservoir_type" v="evaporator">
+				<area class="reservoir-evaporator"/>
+			</rule>
+			<else>
+				<rule e="way" k="reservoir_type" v="cooling">
+					<area class="reservoir-cooling"/>
+				</rule>
+				<else>
+					<rule e="way" k="reservoir_type" v="sewage">
+						<area class="reservoir-sewage"/>
+					</rule>
+					<else>
+						<rule e="way" k="reservoir_type" v="tailings">
+							<area class="reservoir-tailings"/>
+						</rule>
+						<else>
+							<rule e="way" k="reservoir_type" v="water_storage">
+								<area class="natural-water"/>
+							</rule>
+							<else>
+								<area class="natural-water"/>
+							</else>
+						</else>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="landuse" v="basin">
+			<rule e="way" k="basin" v="infiltration">
+				<area class="basin-infiltration"/>
+			</rule>
+			<else>
+				<rule e="way" k="basin" v="detention">
+					<area class="basin-detention"/>
+				</rule>
+				<else>
+					<rule e="way" k="basin" v="retention">
+						<area class="natural-water"/>
+						<area class="basin-retention"/>
+					</rule>
+					<else>
+						<area class="natural-water"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="waterway" v="riverbank">
+			<area class="waterway-riverbank"/>
+		</rule>
+		<rule e="way" k="waterway" v="weir">
+			<line class="waterway-weir"/>
+		</rule>
+		<rule e="way" k="waterway" v="dam">
+			<line class="waterway-dam"/>
+		</rule>
+		<rule e="node" k="waterway" v="lock_gate">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" k="lock" v="yes|true">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" s="way" k="lock" v="yes|true">
+			<wayMarker k="waterway" v="artificial|canal|ditch|drain|river|stream" class="canal-lock"/>
+		</rule>
+		<rule e="node" k="waterway" v="lock">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" s="way" k="waterway" v="lock">
+			<wayMarker k="waterway" v="artificial|canal|ditch|drain|river|stream" class="canal-lock"/>
+		</rule>
+
+		<rule e="way" k="boundary" v="national_park">
+			<area class="leisure-national_park"/>
+		</rule>
+		<rule e="way" k="leisure" v="landscape_reserve">
+			<area class="leisure-landscape_reserve"/>
+		</rule>
+		<rule e="way" k="leisure" v="nature_reserve">
+			<area class="leisure-nature_reserve"/>
+			<symbol ref="bird" position="center"/>
+		</rule>
+
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="highway" v="motorway|motorway_link|footway|steps|pedestrian|cycleway|bridleway|track|byway|path|cycleroad|living_street|construction|planned|proposed|disused|abandoned|dismantled">
+			</rule>
+			<else>
+				<rule e="way" k="motorroad" v="yes">
+				</rule>
+				<else>
+					<rule e="way" k="bicycle" v="no">
+						<line class="highway-nobicycle-1" smart-linecap="no" />
+						<line class="highway-nobicycle-2" smart-linecap="no" />
+					</rule>
+				</else>
+			</else>
+		</rule>
+
+		<!-- embankments & cutings -->
+		<rule e="way" k="man_made" v="dyke|dike|levee|embankment">
+			<rule e="way" k="highway" v="*">
+				<rule e="way" k="cycleway" v="yes|track|lane">
+					<line class="dyke embankment-wide-long-casing"   smart-linecap="no" />
+					<line class="dyke embankment-wide-short-casing"  smart-linecap="no" />
+					<line class="dyke embankment-wide-middle-casing" smart-linecap="no" />
+					<line class="dyke embankment-wide-core"          smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="motorroad" v="yes">
+						<line class="dyke embankment-wide-long-casing"   smart-linecap="no" />
+						<line class="dyke embankment-wide-short-casing"  smart-linecap="no" />
+						<line class="dyke embankment-wide-middle-casing" smart-linecap="no" />
+						<line class="dyke embankment-wide-core"          smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="motorway|trunk">
+							<line class="dyke embankment-wide-long-casing"   smart-linecap="no" />
+							<line class="dyke embankment-wide-short-casing"  smart-linecap="no" />
+							<line class="dyke embankment-wide-middle-casing" smart-linecap="no" />
+							<line class="dyke embankment-wide-core"          smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="highway" v="path|footway|cycleway|bridleway|service|track|steps">
+								<line class="dyke embankment-small-long-casing"   smart-linecap="no" />
+								<line class="dyke embankment-small-short-casing"  smart-linecap="no" />
+								<line class="dyke embankment-small-middle-casing" smart-linecap="no" />
+								<line class="dyke embankment-small-core"          smart-linecap="no" />
+							</rule>
+							<else>
+								<line class="dyke embankment-long-casing"   smart-linecap="no" />
+								<line class="dyke embankment-short-casing"  smart-linecap="no" />
+								<line class="dyke embankment-middle-casing" smart-linecap="no" />
+								<line class="dyke embankment-core"          smart-linecap="no" />
+							</else>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<else>
+				<line class="dyke embankment-small-long-casing"   smart-linecap="no" />
+				<line class="dyke embankment-small-short-casing"  smart-linecap="no" />
+				<line class="dyke embankment-small-middle-casing" smart-linecap="no" />
+				<line class="dyke embankment-small-core"          smart-linecap="no" />
+			</else>
+		</rule>
+		<else>
+			<rule e="way" k="embankment" v="yes|true">
+				<rule e="way" k="highway" v="*">
+					<rule e="way" k="cycleway" v="yes|track|lane">
+						<line class="embankment-cutting embankment-wide-long-casing"   smart-linecap="no" />
+						<line class="embankment-cutting embankment-wide-short-casing"  smart-linecap="no" />
+						<line class="embankment-cutting embankment-wide-middle-casing" smart-linecap="no" />
+						<line class="embankment-cutting embankment-wide-core"          smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="embankment-cutting embankment-wide-long-casing"   smart-linecap="no" />
+							<line class="embankment-cutting embankment-wide-short-casing"  smart-linecap="no" />
+							<line class="embankment-cutting embankment-wide-middle-casing" smart-linecap="no" />
+							<line class="embankment-cutting embankment-wide-core"          smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="highway" v="motorway|trunk">
+								<line class="embankment-cutting embankment-wide-long-casing"   smart-linecap="no" />
+								<line class="embankment-cutting embankment-wide-short-casing"  smart-linecap="no" />
+								<line class="embankment-cutting embankment-wide-middle-casing" smart-linecap="no" />
+								<line class="embankment-cutting embankment-wide-core"          smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="highway" v="path|footway|cycleway|bridleway|service|track|steps">
+									<line class="embankment-cutting embankment-small-long-casing"   smart-linecap="no" />
+									<line class="embankment-cutting embankment-small-short-casing"  smart-linecap="no" />
+									<line class="embankment-cutting embankment-small-middle-casing" smart-linecap="no" />
+									<line class="embankment-cutting embankment-small-core"          smart-linecap="no" />
+								</rule>
+								<else>
+									<line class="embankment-cutting embankment-long-casing"   smart-linecap="no" />
+									<line class="embankment-cutting embankment-short-casing"  smart-linecap="no" />
+									<line class="embankment-cutting embankment-middle-casing" smart-linecap="no" />
+									<line class="embankment-cutting embankment-core"          smart-linecap="no" />
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+				<else>
+					<line class="embankment-cutting embankment-small-long-casing"   smart-linecap="no" />
+					<line class="embankment-cutting embankment-small-short-casing"  smart-linecap="no" />
+					<line class="embankment-cutting embankment-small-middle-casing" smart-linecap="no" />
+					<line class="embankment-cutting embankment-small-core"          smart-linecap="no" />
+				</else>
+			</rule>
+		</else>
+
+		<rule e="way" k="cutting" v="yes|true">
+			<rule e="way" k="highway" v="*">
+				<rule e="way" k="cycleway" v="yes|track|lane">
+					<line class="embankment-cutting cutting-wide-casing"           smart-linecap="no" />
+					<line class="embankment-cutting cutting-wide-long-core"        smart-linecap="no" />
+					<line class="embankment-cutting cutting-wide-short-core"       smart-linecap="no" />
+					<line class="embankment-cutting cutting-wide-middle-core"      smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="motorroad" v="yes">
+						<line class="embankment-cutting cutting-wide-casing"           smart-linecap="no" />
+						<line class="embankment-cutting cutting-wide-long-core"        smart-linecap="no" />
+						<line class="embankment-cutting cutting-wide-short-core"       smart-linecap="no" />
+						<line class="embankment-cutting cutting-wide-middle-core"      smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="motorway|trunk">
+							<line class="embankment-cutting cutting-wide-casing"           smart-linecap="no" />
+							<line class="embankment-cutting cutting-wide-long-core"        smart-linecap="no" />
+							<line class="embankment-cutting cutting-wide-short-core"       smart-linecap="no" />
+							<line class="embankment-cutting cutting-wide-middle-core"      smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="highway" v="path|footway|cycleway|bridleway|service|track|steps">
+								<line class="embankment-cutting cutting-small-casing"           smart-linecap="no" />
+								<line class="embankment-cutting cutting-small-long-core"        smart-linecap="no" />
+								<line class="embankment-cutting cutting-small-short-core"       smart-linecap="no" />
+								<line class="embankment-cutting cutting-small-middle-core"      smart-linecap="no" />
+							</rule>
+							<else>
+								<line class="embankment-cutting cutting-casing"           smart-linecap="no" />
+								<line class="embankment-cutting cutting-long-core"        smart-linecap="no" />
+								<line class="embankment-cutting cutting-short-core"       smart-linecap="no" />
+								<line class="embankment-cutting cutting-middle-core"      smart-linecap="no" />
+							</else>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<else>
+				<line class="embankment-cutting cutting-small-casing"           smart-linecap="no" />
+				<line class="embankment-cutting cutting-small-long-core"        smart-linecap="no" />
+				<line class="embankment-cutting cutting-small-short-core"       smart-linecap="no" />
+				<line class="embankment-cutting cutting-small-middle-core"      smart-linecap="no" />
+			</else>
+		</rule>
+
+		<!-- Bridge casings -->
+		<rule e="way" k="bridge" v="yes|true">
+			<rule e="way" k="railway" v="rail|narrow_gauge|preserved|light_rail|tram|subway|incline|funicular|monorail|spur|yard|siding">
+				<rule e="way" k="disused|abandoned|dismantled|construction|planned|proposed" v="yes|true">
+					<line class="bridge-casing railway-bridge-casing railway-pla-casing-color" smart-linecap="no" suppress-markers-tag="bridge"/>
+				</rule>
+				<else>
+					<line class="bridge-casing railway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+				</else>
+			</rule>
+			<rule e="way" k="railway" v="disused|abandoned|dismantled|construction|planned|proposed">
+				<line class="bridge-casing railway-bridge-casing railway-pla-casing-color" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+
+			<rule e="way" k="highway" v="motorway">
+				<line class="bridge-casing highway-motorway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<line class="bridge-casing highway-trunk-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<line class="bridge-casing highway-primary-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<line class="bridge-casing highway-motorway-link-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<line class="bridge-casing highway-trunk-link-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<line class="bridge-casing highway-primary-link-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<line class="bridge-casing highway-secondary-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<line class="bridge-casing highway-secondary-link-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<line class="bridge-casing highway-tertiary-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<line class="bridge-casing highway-tertiary-link-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|minor|road">
+				<line class="bridge-casing highway-unclassified-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="residential|living_street|cycleroad">
+				<line class="bridge-casing highway-residential-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle|driveway|driveway">
+					<line class="bridge-casing highway-aisle-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+				</rule>
+				<else>
+					<line class="bridge-casing highway-service-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<line class="bridge-casing highway-unsurfaced-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<line class="bridge-casing highway-track-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<line class="bridge-casing highway-byway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<line class="bridge-casing highway-bridleway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<line class="bridge-casing highway-cycleway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="bridge-casing highway-cycleway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="bridge-casing highway-bridleway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+					</rule>
+					<else>
+						<line class="bridge-casing highway-footway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<line class="bridge-casing highway-pedestrian-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<line class="bridge-casing highway-footway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="steps">
+				<line class="bridge-casing highway-steps-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+		</rule>
+
+		<!-- Bridge cores -->
+		<rule e="way" k="bridge" v="yes|true">
+			<rule e="way" k="railway" v="rail|narrow_gauge|preserved|light_rail|tram|subway|incline|funicular|monorail|spur|yard|siding|disused|abandoned|dismantled|construction|planned|proposed">
+				<line class="bridge-core railway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<line class="bridge-core highway-motorway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<line class="bridge-core highway-trunk-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<line class="bridge-core highway-primary-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<line class="bridge-core highway-motorway-link-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<line class="bridge-core highway-trunk-link-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<line class="bridge-core highway-primary-link-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<line class="bridge-core highway-secondary-link-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<line class="bridge-core highway-secondary-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<line class="bridge-core highway-tertiary-link-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<line class="bridge-core highway-tertiary-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|minor|road">
+				<line class="bridge-core highway-unclassified-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="residential|living_street|cycleroad">
+				<line class="bridge-core highway-residential-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle|driveway|driveway">
+					<line class="bridge-core highway-aisle-bridge-core" smart-linecap="no"/>
+				</rule>
+				<else>
+					<line class="bridge-core highway-service-bridge-core" smart-linecap="no"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<line class="bridge-core highway-unsurfaced-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<line class="bridge-core highway-track-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<line class="bridge-core highway-byway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<line class="bridge-core highway-bridleway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<line class="bridge-core highway-cycleway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="bridge-core highway-cycleway-bridge-core" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="bridge-core highway-bridleway-bridge-core" smart-linecap="no"/>
+					</rule>
+					<else>
+						<line class="bridge-core highway-footway-bridge-core" smart-linecap="no"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<line class="bridge-core highway-pedestrian-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<line class="bridge-core highway-footway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="steps">
+				<line class="bridge-core highway-steps-bridge-core" smart-linecap="no"/>
+			</rule>
+		</rule>
+
+		<!-- Highway area casings -->
+		<rule e="way" k="area" v="yes|true">
+			<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			<else>
+			   <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			   <else>
+
+				<rule e="way" k="highway" v="track">
+					<area class="highway-casing highway-track-area-back-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="footway|footpath">
+					<area class="highway-casing highway-footway-casing highway-footway-area-casing no-bezier" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="pedestrian">
+					<area class="highway-casing highway-pedestrian-casing highway-pedestrian-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="cycleway">
+					<area class="highway-casing highway-cycleway-casing highway-cycleway-area-casing no-bezier" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<area class="highway-casing highway-cycleway-casing highway-cycleway-area-casing no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<area class="highway-casing highway-bridleway-casing highway-bridleway-area-casing no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<area class="highway-casing highway-footway-casing highway-footway-area-casing no-bezier" smart-linecap="no"/>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="bridleway">
+					<area class="highway-casing highway-bridleway-casing highway-bridleway-area-casing no-bezier" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="byway">
+					<area class="highway-casing highway-byway-1-casing highway-byway-1-area-casing no-bezier" smart-linecap="no"/>
+					<area class="highway-casing highway-byway-2-casing highway-byway-2-area-casing no-bezier" smart-linecap="no"/>
+					<area class="highway-casing highway-byway-3-casing highway-byway-3-area-casing no-bezier" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="track">
+					<rule e="way" k="tracktype" v="grade1">
+						<area class="highway-casing highway-track-casing highway-track-grade1-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade2">
+							<area class="highway-casing highway-track-casing highway-track-grade2-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade3">
+								<area class="highway-casing highway-track-casing highway-track-grade3-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade4">
+									<area class="highway-casing highway-track-casing highway-track-grade4-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+								</rule>
+								<else>
+									<rule e="way" k="tracktype" v="grade5">
+										<area class="highway-casing highway-track-casing highway-track-grade5-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+									</rule>
+									<else>
+										<area class="highway-casing highway-track-casing highway-track-gradex-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+									</else>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="unsurfaced">
+					<area class="highway-casing highway-unsurfaced-casing highway-unsurfaced-area-casing no-bezier" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle|driveway">
+						<area class="highway-casing highway-aisle-casing highway-aisle-area-casing no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-service-casing highway-service-area-casing no-bezier"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="unclassified|minor|road">
+					<area class="highway-casing highway-unclassified-casing highway-unclassified-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="residential">
+					<area class="highway-casing highway-residential-casing highway-residential-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="living_street">
+					<area class="highway-casing highway-livingstreet-casing highway-livingstreet-area-casing no-bezier"/>
+				</rule>
+			   </else>
+			</else>
+
+			<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+						</else>
+					</rule>
+				</else>
+			</else>
+
+			<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			<else>
+			   <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			   <else>
+
+				<rule e="way" k="highway" v="tertiary_link">
+					<area class="highway-casing highway-tertiary-link-casing highway-tertiary-link-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="tertiary">
+					<area class="highway-casing highway-tertiary-casing highway-tertiary-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary_link">
+					<area class="highway-casing highway-secondary-link-casing highway-secondary-link-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary">
+					<area class="highway-casing highway-secondary-casing highway-secondary-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="primary_link">
+					<area class="highway-casing highway-primary-link-casing highway-primary-link-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk_link">
+					<area class="highway-casing highway-trunk-link-casing highway-trunk-link-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway_link">
+					<area class="highway-casing highway-motorway-link-casing highway-motorway-link-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="primary">
+					<area class="highway-casing highway-primary-casing highway-primary-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk">
+					<area class="highway-casing highway-trunk-casing highway-trunk-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway">
+					<area class="highway-casing highway-motorway-casing highway-motorway-area-casing no-bezier"/>
+				</rule>
+			   </else>
+			</else>
+		</rule>
+
+		<!-- Linear casings -->
+		<rule e="way" k="tunnel" v="~|no|false">
+			<rule e="way" k="area" v="~|no|false">
+
+				<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+				<else>
+				   <rule e="way" k="cycleway" v="cyclestreet"></rule>
+				   <else>
+
+					<rule e="way" k="highway" v="track">
+						<line class="highway-casing highway-track-back-casing" smart-linecap="no"/>
+					</rule>
+					<rule e="way" k="highway" v="raceway">
+						<rule e="way" k="use_status" v="~">
+							<line class="highway-raceway-casing"/>
+						</rule>
+						<rule e="way" k="use_status" v="disused">
+							<line class="highway-raceway-casing-disused"/>
+						</rule>
+						<rule e="way" k="use_status" v="dismantled">
+							<line class="highway-raceway-casing-dismantled"/>
+						</rule>
+					</rule>
+
+					<rule e="way" k="highway" v="steps">
+						<rule e="way" k="ramp:wheelchair" v="yes">
+							<line class="highway-casing highway-steps-casing-ramp-wheelchair"/>
+							<line class="highway-casing highway-steps-casing-ramp"/>
+						</rule>
+						<else>
+							<rule e="way" k="ramp:stroller" v="yes">
+								<line class="highway-casing highway-steps-casing-ramp-stroller"/>
+								<line class="highway-casing highway-steps-casing-ramp"/>
+							</rule>
+							<else>
+								<rule e="way" k="ramp:bicycle" v="yes">
+									<line class="highway-casing highway-steps-casing-ramp-bicycle"/>
+									<line class="highway-casing highway-steps-casing-ramp"/>
+								</rule>
+								<else>
+									<rule e="way" k="ramp" v="yes">
+										<line class="highway-casing highway-steps-casing-ramp-yes"/>
+										<line class="highway-casing highway-steps-casing-ramp"/>
+									</rule>
+									<else>
+										<rule e="way" k="ramp" v="no">
+											<line class="highway-casing highway-steps-casing-ramp-no"/>
+											<line class="highway-casing highway-steps-casing-ramp"/>
+										</rule>
+										<else>
+											<line class="highway-casing highway-steps-casing"/>
+										</else>
+									</else>
+								</else>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="footway|footpath">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<line class="highway-casing highway-footway-cy1-casing" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-footway-casing" smart-linecap="no"/>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="pedestrian">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<line class="highway-casing highway-pedestrian-cy1-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-pedestrian-casing"/>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="cycleway">
+						<line class="highway-casing highway-cycleway-casing" smart-linecap="no"/>
+					</rule>
+
+					<rule e="way" k="highway" v="path">
+						<rule e="way" k="bicycle" v="yes|designated">
+							<line class="highway-casing highway-cycleway-casing" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="horse" v="yes|designated">
+								<line class="highway-casing highway-bridleway-casing" smart-linecap="no"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-footway-casing" smart-linecap="no"/>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="bridleway">
+						<line class="highway-casing highway-bridleway-casing" smart-linecap="no"/>
+					</rule>
+					<rule e="way" k="highway" v="byway">
+						<line class="highway-casing highway-byway-1-casing" smart-linecap="no"/>
+						<line class="highway-casing highway-byway-2-casing" smart-linecap="no"/>
+						<line class="highway-casing highway-byway-3-casing" smart-linecap="no"/>
+					</rule>
+
+					<rule e="way" k="highway" v="track">
+						<rule e="way" k="tracktype" v="grade1">
+							<line class="highway-casing highway-track-casing highway-track-grade1-casing" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade2">
+								<line class="highway-casing highway-track-casing highway-track-grade2-casing" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade3">
+									<line class="highway-casing highway-track-casing highway-track-grade3-casing" smart-linecap="no"/>
+								</rule>
+								<else>
+									<rule e="way" k="tracktype" v="grade4">
+										<line class="highway-casing highway-track-casing highway-track-grade4-casing" smart-linecap="no"/>
+									</rule>
+									<else>
+										<rule e="way" k="tracktype" v="grade5">
+											<line class="highway-casing highway-track-casing highway-track-grade5-casing" smart-linecap="no"/>
+										</rule>
+										<else>
+											<rule e="way" k="track" v="racetrack">
+												<line class="highway-racetrack-casing-white" smart-linecap="no"/>
+												<line class="highway-racetrack-casing-red" smart-linecap="no"/>
+											</rule>
+											<else>
+												<line class="highway-casing highway-track-casing highway-track-gradex-casing" smart-linecap="no"/>
+											</else>
+										</else>
+									</else>
+								</else>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="unsurfaced">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<line class="highway-casing highway-unsurfaced-cy1-casing" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-unsurfaced-casing" smart-linecap="no"/>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="service">
+						<rule e="way" k="service" v="parking_aisle|driveway">
+							<line class="highway-casing highway-aisle-casing"/>
+						</rule>
+						<else>
+							<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+								<line class="highway-casing highway-service-cy1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-service-casing"/>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="unclassified|minor|road|ford">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<line class="highway-casing highway-unclassified-cy1-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-unclassified-casing"/>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="residential">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<line class="highway-casing highway-residential-cy1-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-residential-casing"/>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="living_street">
+						<line class="highway-casing highway-livingstreet-casing"/>
+					</rule>
+				   </else>
+				</else>
+
+				<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-casing highway-cycleroad-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-cycleroad-casing"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-casing highway-cycleroad-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-cycleroad-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-casing highway-cycleroad-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-cycleroad-casing"/>
+							</else>
+						</rule>
+					</else>
+				</else>
+
+				<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+				<else>
+				   <rule e="way" k="cycleway" v="cyclestreet"></rule>
+				   <else>
+
+					<rule e="way" k="highway" v="tertiary_link">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-tertiary-link-mrcy1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-tertiary-link-cy1-casing"/>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-tertiary-link-mr1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-tertiary-link-casing"/>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="tertiary">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-tertiary-mrcy1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-tertiary-cy1-casing"/>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-tertiary-mr1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-tertiary-casing"/>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="secondary_link">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-secondary-link-mrcy1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-secondary-link-cy1-casing"/>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-secondary-link-mr1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-secondary-link-casing"/>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="secondary">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-secondary-mrcy1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-secondary-cy1-casing"/>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-secondary-mr1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-secondary-casing"/>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="primary_link">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-primary-link-mrcy1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-primary-link-cy1-casing"/>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-primary-link-mr1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-primary-link-casing"/>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="primary">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-primary-mrcy1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-primary-cy1-casing"/>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-primary-mr1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-primary-casing"/>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="trunk_link">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-trunk-link-mrcy1-casing"/>
+							</rule>
+							<else>
+								<rule e="way" k="motorroad" v="no">
+									<line class="highway-casing highway-trunk-link-mrcy1-casing"/>
+								</rule>
+								<else>
+									<line class="highway-casing highway-trunk-link-cy1-casing"/>
+								</else>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-trunk-link-mr1-casing"/>
+							</rule>
+							<else>
+								<rule e="way" k="motorroad" v="no">
+									<line class="highway-casing highway-trunk-link-mr1-casing"/>
+								</rule>
+								<else>
+									<line class="highway-casing highway-trunk-link-casing"/>
+								</else>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="trunk">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-trunk-mrcy1-casing"/>
+							</rule>
+							<else>
+								<rule e="way" k="motorroad" v="no">
+									<line class="highway-casing highway-trunk-mrcy1-casing"/>
+								</rule>
+								<else>
+									<line class="highway-casing highway-trunk-cy1-casing"/>
+								</else>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-trunk-mr1-casing"/>
+							</rule>
+							<else>
+								<rule e="way" k="motorroad" v="no">
+									<line class="highway-casing highway-trunk-mr1-casing"/>
+								</rule>
+								<else>
+									<line class="highway-casing highway-trunk-casing"/>
+								</else>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="motorway_link">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<line class="highway-casing highway-motorway-link-cy1-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-motorway-link-casing"/>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="motorway">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<line class="highway-casing highway-motorway-cy1-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-motorway-casing"/>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="footway|footpath">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<line class="highway-casing highway-footway-cy2-casing" smart-linecap="no"/>
+						</rule>
+					</rule>
+
+					<rule e="way" k="highway" v="pedestrian">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<line class="highway-casing highway-pedestrian-cy2-casing"/>
+						</rule>
+					</rule>
+
+					<rule e="way" k="highway" v="unsurfaced">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<line class="highway-casing highway-unsurfaced-cy2-casing" smart-linecap="no"/>
+						</rule>
+					</rule>
+
+					<rule e="way" k="highway" v="service">
+						<rule e="way" k="service" v="parking_aisle|driveway">
+							<line class="highway-casing highway-aisle-casing"/>
+						</rule>
+						<else>
+							<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+								<line class="highway-casing highway-service-cy2-casing"/>
+							</rule>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="unclassified|minor|road|ford">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<line class="highway-casing highway-unclassified-cy2-casing"/>
+						</rule>
+					</rule>
+
+					<rule e="way" k="highway" v="residential">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<line class="highway-casing highway-residential-cy2-casing"/>
+						</rule>
+					</rule>
+
+					<rule e="way" k="highway" v="tertiary_link|tertiary|secondary_link|secondary|primary_link|primary">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-tertiary-link-mrcy2-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-tertiary-link-cy2-casing"/>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-tertiary-link-mr2-casing"/>
+							</rule>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="trunk_link">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-trunk-link-mrcy2-casing"/>
+							</rule>
+							<else>
+								<rule e="way" k="motorroad" v="no">
+									<line class="highway-casing highway-trunk-link-mrcy2-casing"/>
+								</rule>
+								<else>
+									<line class="highway-casing highway-trunk-link-cy2-casing"/>
+								</else>
+							</else>
+						</rule>
+					</rule>
+
+					<rule e="way" k="highway" v="trunk">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-trunk-mrcy2-casing"/>
+								<line class="highway-casing highway-trunk-mrcy3-casing"/>
+							</rule>
+							<else>
+								<rule e="way" k="motorroad" v="no">
+									<line class="highway-casing highway-trunk-mrcy2-casing"/>
+									<line class="highway-casing highway-trunk-mrcy4-casing"/>
+								</rule>
+								<else>
+									<line class="highway-casing highway-trunk-cy2-casing"/>
+								</else>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-trunk-mr2-casing"/>
+							</rule>
+							<else>
+								<rule e="way" k="motorroad" v="no">
+									<line class="highway-casing highway-trunk-mr3-casing"/>
+								</rule>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="motorway_link">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<line class="highway-casing highway-motorway-link-cy2-casing"/>
+						</rule>
+					</rule>
+
+					<rule e="way" k="highway" v="motorway">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<line class="highway-casing highway-motorway-cy2-casing"/>
+						</rule>
+					</rule>
+
+					<rule e="way" k="highway" v="tertiary_link|tertiary|secondary_link|secondary|primary_link|primary">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-tertiary-link-mrcy3-casing"/>
+							</rule>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-tertiary-link-mr2-casing"/>
+							</rule>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="trunk_link">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-trunk-link-mrcy3-casing"/>
+							</rule>
+							<else>
+								<rule e="way" k="motorroad" v="no">
+									<line class="highway-casing highway-trunk-link-mrcy4-casing"/>
+								</rule>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-trunk-link-mr2-casing"/>
+							</rule>
+							<else>
+								<rule e="way" k="motorroad" v="no">
+									<line class="highway-casing highway-trunk-link-mr3-casing"/>
+								</rule>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="trunk">
+						<rule e="way" k="cycleway" v="track|lane|opposite_track|opposite_lane|yes">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-trunk-mrcy3-casing"/>
+							</rule>
+							<else>
+								<rule e="way" k="motorroad" v="no">
+									<line class="highway-casing highway-trunk-mrcy4-casing"/>
+								</rule>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-trunk-mr2-casing"/>
+							</rule>
+							<else>
+								<rule e="way" k="motorroad" v="no">
+									<line class="highway-casing highway-trunk-mr3-casing"/>
+								</rule>
+							</else>
+						</else>
+					</rule>
+				   </else>
+				</else>
+
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-casing railway-con-casing-color railway-casing" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-casing railway-pla-casing-color railway-casing" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-casing railway-dis-casing-color railway-casing" smart-linecap="no" />
+							</rule>
+							<else>
+							   <rule e="way" k="razed" v="*">
+									<line class="railway-raz-casing railway-raz-casing-color railway-casing" smart-linecap="no" />
+							   </rule>
+							   <else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-casing railway-aba-casing-color railway-casing" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-casing railway-con-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-casing railway-pla-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-casing railway-dis-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-casing railway-aba-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="razed">
+										<line class="railway-raz-casing railway-raz-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<line class="railway-rail-casing railway-rail-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-casing railway-narrow-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-casing railway-preserved-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-casing railway-light-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-casing railway-tram-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-casing railway-subway-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-casing railway-funicular-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-casing railway-monorail-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-casing railway-yard-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+								</else>
+							   </else>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+			</rule>
+		</rule>
+
+		<!-- Turning circles -->
+		<rule e="node" k="highway" v="turning_circle">
+			<rule e="node" s="way" k="highway" v="unclassified|residential|minor|road">
+				<circle r="1.5" class="highway-unclassified-turningcircle-casing"/>
+			</rule>
+			<rule e="node" s="way" k="highway" v="unclassified|residential|minor|road">
+				<circle r="1.4" class="highway-unclassified-turningcircle-core"/>
+			</rule>
+		</rule>
+
+		<!-- platforms casings -->
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="yes">
+			<line class="highway-platform-area-casing" />
+		</rule>
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="no">
+			<line class="highway-platform-way-casing" />
+		</rule>
+
+		<!-- Highway area cores -->
+		<rule e="way" k="area" v="yes|true">
+
+			<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			<else>
+			   <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			   <else>
+
+				<rule e="way" k="highway" v="footway|footpath">
+					<area class="highway-core highway-footway-area no-bezier" smart-linecap="no"/>
+				</rule>
+
+				<rule e="way" k="highway" v="pedestrian">
+					<area class="highway-core highway-pedestrian-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="cycleway">
+					<area class="highway-core highway-cycleway-area no-bezier" smart-linecap="no"/>
+				</rule>
+
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<area class="highway-core highway-cycleway-area no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<area class="highway-core highway-bridleway-area no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<area class="highway-core highway-path-area no-bezier" smart-linecap="no"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="bridleway">
+					<area class="highway-core highway-bridleway-area no-bezier" smart-linecap="no"/>
+				</rule>
+
+				<rule e="way" k="highway" v="byway">
+					<area class="highway-core highway-byway-area no-bezier" smart-linecap="no"/>
+				</rule>
+
+				<rule e="way" k="highway" v="track">
+					<rule e="way" k="tracktype" v="grade1">
+						<area class="highway-core highway-track-grade1-area no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade2">
+							<area class="highway-core highway-track-grade2-area no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade3">
+								<area class="highway-core highway-track-grade3-area no-bezier" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade4">
+									<area class="highway-core highway-track-grade4-area no-bezier" smart-linecap="no"/>
+								</rule>
+								<else>
+									<rule e="way" k="tracktype" v="grade5">
+										<area class="highway-core highway-track-grade5-area no-bezier" smart-linecap="no"/>
+									</rule>
+									<else>
+										<area class="highway-core highway-track-gradex-area no-bezier" smart-linecap="no"/>
+									</else>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="unsurfaced">
+					<area class="highway-core highway-unsurfaced-area no-bezier" smart-linecap="no"/>
+				</rule>
+
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle|driveway">
+						<area class="highway-core highway-aisle-area no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-service-area no-bezier"/>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="unclassified|minor">
+					<area class="highway-core highway-unclassified-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="residential">
+					<area class="highway-core highway-residential-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="road">
+					<area class="highway-core highway-road-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="living_street">
+					<area class="highway-core highway-livingstreet-area-1 no-bezier"/>
+					<area class="highway-core highway-livingstreet-area-2 no-bezier"/>
+				</rule>
+
+			   </else>
+			</else>
+
+			<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-core highway-cycleroad-area-1 no-bezier"/>
+					<area class="highway-core highway-cycleroad-area-2 no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-core highway-cycleroad-area-1 no-bezier"/>
+						<area class="highway-core highway-cycleroad-area-2 no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-core highway-cycleroad-area-1 no-bezier"/>
+							<area class="highway-core highway-cycleroad-area-2 no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+						</else>
+					</rule>
+				</else>
+			</else>
+
+			<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			<else>
+			   <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			   <else>
+
+				<rule e="way" k="highway" v="tertiary_link">
+					<area class="highway-core highway-tertiary-link-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="tertiary">
+					<area class="highway-core highway-tertiary-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="secondary_link">
+					<area class="highway-core highway-secondary-link-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="secondary">
+					<area class="highway-core highway-secondary-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="primary_link">
+					<area class="highway-core highway-primary-link-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="trunk_link">
+					<area class="highway-core highway-trunk-link-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="motorway_link">
+					<area class="highway-core highway-motorway-link-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="primary">
+					<area class="highway-core highway-primary-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="trunk">
+					<area class="highway-core highway-trunk-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="motorway">
+					<area class="highway-core highway-motorway-area no-bezier"/>
+				</rule>
+			   </else>
+			</else>
+		</rule>
+
+		<!-- Buildings -->
+		<rule e="way" k="aeroway" v="terminal">
+			<area class="building-block"/>
+		</rule>
+		<rule e="way" k="building" v="*">
+			<area class="building-block no-bezier"/>
+		</rule>
+		<rule e="node" k="building" v="*">
+			<symbol ref="building" position="center"/>
+		</rule>
+
+		<!-- Linear cores -->
+		<rule e="way" k="tunnel" v="~|false|no">
+			<rule e="way" k="area" v="~|false|no">
+
+				<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+				<else>
+				   <rule e="way" k="cycleway" v="cyclestreet"></rule>
+				   <else>
+
+					<rule e="way" k="highway" v="ford">
+						<line class="highway-core highway-ford-core" smart-linecap="no"/>
+					</rule>
+
+					<rule e="way" k="highway" v="raceway">
+						<rule e="way" k="use_status" v="~">
+							<line class="highway-raceway-core"/>
+						</rule>
+						<rule e="way" k="use_status" v="disused">
+							<line class="highway-raceway-core-disused"/>
+						</rule>
+						<rule e="way" k="use_status" v="dismantled">
+							<line class="highway-raceway-core-dismantled"/>
+						</rule>
+					</rule>
+
+					<rule e="way" k="scramble" v="*">
+						<line class="highway-core highway-scramble-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="steps">
+						<line class="highway-core highway-steps-core" smart-linecap="no"/>
+					</rule>
+
+					<rule e="way" k="highway" v="footway|footpath">
+						<line class="highway-core highway-footway-core" smart-linecap="no"/>
+					</rule>
+
+					<rule e="way" k="highway" v="pedestrian">
+						<line class="highway-core highway-pedestrian-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="cycleway">
+						<line class="highway-core highway-cycleway-core" smart-linecap="no"/>
+					</rule>
+
+					<rule e="way" k="highway" v="path">
+						<rule e="way" k="bicycle" v="yes|designated">
+							<line class="highway-core highway-cycleway-core" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="horse" v="yes|designated">
+								<line class="highway-core highway-bridleway-core" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="foot" v="yes|designated">
+									<line class="highway-core highway-footway-core" smart-linecap="no"/>
+								</rule>
+								<else>
+									<line class="highway-core highway-path-core" smart-linecap="no"/>
+								</else>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="bridleway">
+						<line class="highway-core highway-bridleway-core" smart-linecap="no"/>
+					</rule>
+
+					<rule e="way" k="highway" v="byway">
+						<line class="highway-core highway-byway-2-casing" smart-linecap="no"/>
+						<line class="highway-core highway-byway-3-casing" smart-linecap="no"/>
+						<line class="highway-core highway-byway-1-core" smart-linecap="no"/>
+					</rule>
+
+					<rule e="way" k="highway" v="track">
+						<rule e="way" k="track" v="racetrack">
+							<line class="highway-racetrack-core" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade1">
+								<line class="highway-core highway-track-core2 highway-track-grade1-core" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade2">
+									<line class="highway-core highway-track-core2 highway-track-grade2-core" smart-linecap="no"/>
+								</rule>
+								<else>
+									<rule e="way" k="tracktype" v="grade3">
+										<line class="highway-core highway-track-core highway-track-grade3-core" smart-linecap="no"/>
+									</rule>
+									<else>
+										<rule e="way" k="tracktype" v="grade4">
+											<line class="highway-core highway-track-core highway-track-grade4-core" smart-linecap="no"/>
+										</rule>
+										<else>
+											<rule e="way" k="tracktype" v="grade5">
+												<line class="highway-core highway-track-core  highway-track-grade5-core" smart-linecap="no"/>
+											</rule>
+											<else>
+												<line class="highway-core highway-track-core2 highway-track-gradex-core" smart-linecap="no"/>
+											</else>
+										</else>
+									</else>
+								</else>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="unsurfaced">
+						<line class="highway-core highway-unsurfaced-core" smart-linecap="no"/>
+					</rule>
+
+					<rule e="way" k="highway" v="service">
+						<rule e="way" k="service" v="parking_aisle|driveway">
+							<line class="highway-core highway-aisle-core"/>
+						</rule>
+						<else>
+							<line class="highway-core highway-service-core"/>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="unclassified|minor">
+						<line class="highway-core highway-unclassified-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="residential">
+						<line class="highway-core highway-residential-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="road">
+						<line class="highway-core highway-road-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="living_street">
+						<line class="highway-core highway-livingstreet-core-1" smart-linecap="no"/>
+						<line class="highway-core highway-livingstreet-core-2" smart-linecap="no"/>
+					</rule>
+
+				   </else>
+				</else>
+
+				<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-core highway-cycleroad-core-1" smart-linecap="no"/>
+						<line class="highway-core highway-cycleroad-core-2" smart-linecap="no"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-cycleroad-core-3"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-core highway-cycleroad-core-1" smart-linecap="no"/>
+							<line class="highway-core highway-cycleroad-core-2" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="highway-core highway-cycleroad-core-3"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-core highway-cycleroad-core-1" smart-linecap="no"/>
+								<line class="highway-core highway-cycleroad-core-2" smart-linecap="no"/>
+							</rule>
+							<else>
+								<line class="highway-core highway-cycleroad-core-3"/>
+							</else>
+						</rule>
+					</else>
+				</else>
+
+				<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+				<else>
+				   <rule e="way" k="cycleway" v="cyclestreet"></rule>
+				   <else>
+
+					<rule e="way" k="highway" v="tertiary_link">
+						<line class="highway-core highway-tertiary-link-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="tertiary">
+						<line class="highway-core highway-tertiary-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="secondary_link">
+						<line class="highway-core highway-secondary-link-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="secondary">
+						<line class="highway-core highway-secondary-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="primary_link">
+						<line class="highway-core highway-primary-link-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="trunk_link">
+						<line class="highway-core highway-trunk-link-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="motorway_link">
+						<line class="highway-core highway-motorway-link-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="primary">
+						<line class="highway-core highway-primary-core"/>
+					</rule>
+					<rule e="way" k="highway" v="trunk">
+						<line class="highway-core highway-trunk-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="motorway">
+						<line class="highway-core highway-motorway-core"/>
+					</rule>
+				   </else>
+				</else>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-1-core railway-con-1-core-color railway-1-core" smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-1-core railway-pla-1-core-color railway-1-core" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-1-core railway-dis-1-core-color railway-1-core" smart-linecap="no" />
+							</rule>
+							<else>
+							   <rule e="way" k="razed" v="*">
+								<line class="railway-raz-1-core railway-raz-1-core-color railway-1-core" smart-linecap="no" />
+							   </rule>
+							   <else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-1-core railway-aba-1-core-color railway-1-core" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-1-core railway-con-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-1-core railway-pla-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-1-core railway-dis-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="razed">
+										<line class="railway-raz-1-core railway-raz-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-1-core railway-aba-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<line class="railway-rail-1-core railway-rail-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-1-core railway-narrow-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-1-core railway-preserved-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-1-core railway-light-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-1-core railway-tram-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-1-core railway-subway-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-1-core railway-funicular-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-1-core railway-monorail-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-1-core railway-yard-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+								</else>
+							   </else>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+							</rule>
+							<else>
+							   <rule e="way" k="razed" v="*">
+									<line class="railway-raz-2-core railway-raz-2-core-color railway-2-core" smart-linecap="no" />
+							   </rule>
+							   <else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core"/>
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="razed">
+										<line class="railway-raz-2-core railway-raz-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-2-core railway-light-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+								</else>
+							   </else>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="aeroway" v="runway">
+					<line class="aeroway-runway-core"/>
+				</rule>
+				<rule e="way" k="aeroway" v="taxiway">
+					<line class="aeroway-taxiway-core"/>
+				</rule>
+			</rule>
+		</rule>
+
+		<!-- Tunnels -->
+		<rule e="way" k="tunnel" v="true|yes">
+			<rule e="way" k="highway" v="steps">
+				<line class="tunnel-casing highway-steps-casing tunnel" mask-class="tunnel-core highway-steps-core"/>
+				<line class="highway-steps-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+				<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<line class="tunnel-casing highway-pedestrian-casing tunnel" mask-class="tunnel-core highway-pedestrian-core"/>
+				<line class="highway-pedestrian-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+				<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+					<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+						<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</rule>
+					<else>
+						<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+						<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+				<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<line class="tunnel-casing highway-byway-1-casing tunnel" mask-class="tunnel-core highway-byway-1-core"/>
+				<line class="highway-byway-1-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<line class="tunnel-casing highway-track-casing tunnel" mask-class="tunnel-core highway-track-core"/>
+				<line class="highway-track-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<line class="tunnel-casing highway-unsurfaced-casing tunnel" mask-class="tunnel-core highway-unsurfaced-core"/>
+				<line class="highway-unsurfaced-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle|driveway">
+					<line class="tunnel-casing highway-aisle-casing tunnel" mask-class="tunnel-core highway-aisle-core"/>
+					<line class="highway-aisle-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</rule>
+				<else>
+					<line class="tunnel-casing highway-service-casing tunnel" mask-class="tunnel-core highway-service-core"/>
+					<line class="highway-service-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-unclassified-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="road">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-road-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<line class="tunnel-casing highway-tertiary-link-casing tunnel" mask-class="tunnel-core highway-tertiary-link-core"/>
+				<line class="highway-secondary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<line class="tunnel-casing highway-tertiary-casing tunnel" mask-class="tunnel-core highway-tertiary-core"/>
+				<line class="highway-tertiary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<line class="tunnel-casing highway-secondary-link-casing tunnel" mask-class="tunnel-core highway-secondary-link-core"/>
+				<line class="highway-secondary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<line class="tunnel-casing highway-secondary-casing tunnel" mask-class="tunnel-core highway-secondary-core"/>
+				<line class="highway-secondary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<line class="tunnel-casing highway-primary-link-casing tunnel" mask-class="tunnel-core highway-primary-link-core"/>
+				<line class="highway-primary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<line class="tunnel-casing highway-trunk-link-casing tunnel" mask-class="tunnel-core highway-trunk-link-core"/>
+				<line class="highway-trunk-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<line class="tunnel-casing highway-motorway-link-casing tunnel" mask-class="tunnel-core highway-motorway-link-core"/>
+				<line class="highway-motorway-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<line class="tunnel-casing highway-primary-casing tunnel" mask-class="tunnel-core highway-primary-core"/>
+				<line class="highway-primary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<line class="tunnel-casing highway-trunk-casing tunnel" mask-class="tunnel-core highway-trunk-core"/>
+				<line class="highway-trunk-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<line class="tunnel-casing highway-motorway-casing tunnel" mask-class="tunnel-core highway-motorway-core"/>
+				<line class="highway-motorway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+
+			<rule e="way" k="railway" v="*">
+				<rule e="way" k="construction" v="yes|true">
+					<line class="railway-con-casing railway-con-casing-color tunnel-casing tunnel" mask-class="tunnel-core railway-con-1-core"/>
+					<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="planned|proposed" v="yes|true">
+						<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-1-core"/>
+						<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="disused" v="yes|true">
+							<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-1-core"/>
+							<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="abandoned|dismantled" v="yes|true">
+								<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-1-core"/>
+								<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="railway" v="construction">
+									<line class="railway-con-casing railway-con-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-con-1-core"/>
+									<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="planned|proposed">
+									<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-1-core"/>
+									<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="disused">
+									<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-1-core"/>
+									<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="abandoned|dismantled">
+									<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-1-core"/>
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="rail">
+									<line class="railway-rail-casing railway-rail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-rail-1-core"/>
+									<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core railway-rail-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="narrow_gauge">
+									<line class="railway-narrow-casing railway-narrow-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-narrow-1-core"/>
+									<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core railway-narrow-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="preserved">
+									<line class="railway-preserved-casing railway-preserved-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-preserved-1-core"/>
+									<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core railway-preserved-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="light_rail">
+									<line class="railway-light-casing railway-light-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-light-1-core"/>
+									<line class="railway-light-2-core railway-light-2-core-color railway-2-core railway-light-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="tram">
+									<line class="railway-tram-casing railway-tram-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-tram-1-core"/>
+									<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core railway-tram-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="subway">
+									<line class="railway-subway-casing railway-subway-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-subway-1-core"/>
+									<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core railway-subway-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="incline|funicular">
+									<line class="railway-funicular-casing railway-funicular-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-funicular-t-core"/>
+									<line class="railway-funicular-1-core railway-funicular-1-core-color railway-1-core railway-funicular-tunnel-core tunnel"  smart-linecap="no" />
+									<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core railway-funicular-tunnel-core tunnel-casing tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="monorail">
+									<line class="railway-monorail-casing railway-monorail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-monorail-1-core"/>
+									<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core railway-monorail-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="spur|yard|siding">
+									<line class="railway-yard-casing railway-yard-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-yard-1-core"/>
+									<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core railway-yard-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+							</else>
+						</else>
+					</else>
+				</else>
+				<line class="railway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+
+		</rule>
+
+		<!-- platforms cores -->
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="yes">
+			<line class="highway-platform-area" />
+		</rule>
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="no">
+			<line class="highway-platform-way-core" />
+		</rule>
+
+		<!-- Linear cores (under construction) -->
+		<rule e="way" k="highway" v="construction">
+			<rule e="way" k="construction" v="steps">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-steps-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="footway|footpath">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-footway-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="pedestrian">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-pedestrian-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="cycleway">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-cycleway-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="under-construction-1" smart-linecap="no"/>
+					<line class="highway-core highway-cycleway-core under-construction-2" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="under-construction-1" smart-linecap="no"/>
+						<line class="highway-core highway-bridleway-core under-construction-2" smart-linecap="no"/>
+					</rule>
+					<else>
+						<line class="under-construction-1" smart-linecap="no"/>
+						<line class="highway-core highway-footway-core under-construction-2" smart-linecap="no"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="construction" v="bridleway">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-bridleway-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="byway">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-byway-1-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="track">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-track-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="unsurfaced">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-unsurfaced-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="service">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-service-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="unclassified|residential|minor|living_street|cycleroad">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-unclassified-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="~|road|yes">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-road-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary_link">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-tertiary-link-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-tertiary-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary_link">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-secondary-link-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-secondary-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="primary_link">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-primary-link-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk_link">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-trunk-link-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway_link">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-motorway-link-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="primary">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-primary-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-trunk-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-motorway-core under-construction-2" smart-linecap="no"/>
+			</rule>
+		</rule>
+
+		<!-- Linear cores (planned) -->
+		<rule e="way" k="highway" v="planned|proposed">
+			<rule e="way" k="planned|proposed" v="steps">
+				<line class="highway-core highway-steps-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="footway|footpath">
+				<line class="highway-core highway-footway-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="pedestrian">
+				<line class="highway-core highway-pedestrian-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="cycleway">
+				<line class="highway-core highway-cycleway-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="highway-core highway-cycleway-core planned" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="highway-core highway-bridleway-core planned" smart-linecap="no"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-footway-core planned" smart-linecap="no"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="planned|proposed" v="bridleway">
+				<line class="highway-core highway-bridleway-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="byway">
+				<line class="highway-core highway-byway-1-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="track">
+				<line class="highway-core highway-track-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="unsurfaced">
+				<line class="highway-core highway-unsurfaced-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="service">
+				<line class="highway-core highway-service-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="unclassified|residential|minor|living_street|cycleroad">
+				<line class="highway-core highway-unclassified-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="~|road|yes">
+				<line class="highway-core highway-road-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="tertiary_link">
+				<line class="highway-core highway-tertiary-link-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="tertiary">
+				<line class="highway-core highway-tertiary-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="secondary_link">
+				<line class="highway-core highway-secondary-link-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="secondary">
+				<line class="highway-core highway-secondary-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="primary_link">
+				<line class="highway-core highway-primary-link-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="trunk_link">
+				<line class="highway-core highway-trunk-link-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="motorway_link">
+				<line class="highway-core highway-motorway-link-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="primary">
+				<line class="highway-core highway-primary-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="trunk">
+				<line class="highway-core highway-trunk-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="motorway">
+				<line class="highway-core highway-motorway-core planned" smart-linecap="no"/>
+			</rule>
+		</rule>
+
+		<!-- Linear cores (disused) -->
+		<rule e="way" k="highway" v="disused">
+			<rule e="way" k="disused" v="steps">
+				<line class="highway-core highway-steps-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="footway|footpath">
+				<line class="highway-core highway-footway-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="pedestrian">
+				<line class="highway-core highway-pedestrian-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="cycleway">
+				<line class="highway-core highway-cycleway-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="highway-core highway-cycleway-core disused-1" smart-linecap="no"/>
+					<line class="disused-2" smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="highway-core highway-bridleway-core disused-1" smart-linecap="no"/>
+						<line class="disused-2" smart-linecap="no" />
+					</rule>
+					<else>
+						<line class="highway-core highway-footway-core disused-1" smart-linecap="no"/>
+						<line class="disused-2" smart-linecap="no" />
+					</else></else>
+			</rule>
+			<rule e="way" k="disused" v="bridleway">
+				<line class="highway-core highway-bridleway-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="byway">
+				<line class="highway-core highway-byway-1-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="track">
+				<line class="highway-core highway-track-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="unsurfaced">
+				<line class="highway-core highway-unsurfaced-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="service">
+				<line class="highway-core highway-service-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="unclassified|residential|minor|living_street|cycleroad">
+				<line class="highway-core highway-unclassified-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="~|road|yes">
+				<line class="highway-core highway-road-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="tertiary_link">
+				<line class="highway-core highway-tertiary-link-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="tertiary">
+				<line class="highway-core highway-tertiary-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="secondary_link">
+				<line class="highway-core highway-secondary-link-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="secondary">
+				<line class="highway-core highway-secondary-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="primary_link">
+				<line class="highway-core highway-primary-link-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="trunk_link">
+				<line class="highway-core highway-trunk-link-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="motorway_link">
+				<line class="highway-core highway-motorway-link-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="primary">
+				<line class="highway-core highway-primary-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="trunk">
+				<line class="highway-core highway-trunk-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="motorway">
+				<line class="highway-core highway-motorway-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+		</rule>
+
+		<!-- Linear cores (abandoned) -->
+		<rule e="way" k="highway" v="abandoned|dismantled">
+			<rule e="way" k="abandoned|dismantled" v="steps">
+				<line class="highway-core highway-steps-core abandoned-1"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="footway|footpath">
+				<line class="highway-core highway-footway-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="pedestrian">
+				<line class="highway-core highway-pedestrian-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="cycleway">
+				<line class="highway-core highway-cycleway-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="highway-core highway-cycleway-core abandoned-1" smart-linecap="no"/>
+					<line class="abandoned-2" smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="highway-core highway-bridleway-core abandoned-1" smart-linecap="no"/>
+						<line class="abandoned-2" smart-linecap="no" />
+					</rule>
+					<else>
+						<line class="highway-core highway-footway-core abandoned-1" smart-linecap="no"/>
+						<line class="abandoned-2" smart-linecap="no" />
+					</else></else>
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="bridleway">
+				<line class="highway-core highway-bridleway-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="byway">
+				<line class="highway-core highway-byway-1-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="track">
+				<line class="highway-core highway-track-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="unsurfaced">
+				<line class="highway-core highway-unsurfaced-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="service">
+				<line class="highway-core highway-service-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="unclassified|residential|minor|living_street|cycleroad">
+				<line class="highway-core highway-unclassified-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="~|road|yes">
+				<line class="highway-core highway-road-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="tertiary_link">
+				<line class="highway-core highway-tertiary-link-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="tertiary">
+				<line class="highway-core highway-tertiary-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="secondary_link">
+				<line class="highway-core highway-secondary-link-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="secondary">
+				<line class="highway-core highway-secondary-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="primary_link">
+				<line class="highway-core highway-primary-link-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="trunk_link">
+				<line class="highway-core highway-trunk-link-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="motorway_link">
+				<line class="highway-core highway-motorway-link-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="primary">
+				<line class="highway-core highway-primary-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="trunk">
+				<line class="highway-core highway-trunk-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="motorway">
+				<line class="highway-core highway-motorway-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+		</rule>
+
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="highway" v="motorway|motorway_link|footway|steps|pedestrian|living_street|construction|planned|proposed|disused|abandoned|dismantled">
+			</rule>
+			<else>
+				<rule e="way" k="bicycle" v="no">
+					<rule e="way" k="motorroad" v="yes">
+					</rule>
+					<else>
+						<line class="highway-nobicycle-3" smart-linecap="no" />
+					</else>
+				</rule>
+			</else>
+		</rule>
+
+
+
+
+
+		<!-- access restrictions -->
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="construction|planned|proposed|disused|abandoned|dismantled" v="yes|true">
+				<line class="wrong-under-construction" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="area" v="yes|true">
+				<rule e="way" k="access" v="private">
+					<area class="access-private-area"/>
+				</rule>
+				<rule e="way" k="access" v="permissive">
+					<area class="access-permissive-area"/>
+				</rule>
+				<rule e="way" k="access" v="destination">
+					<area class="access-destination-area"/>
+				</rule>
+				<rule e="way" k="access" v="no">
+					<area class="access-no-area"/>
+				</rule>
+			</rule>
+			<else>
+				<rule e="way" k="highway" v="footway|footpath|cycleway|path|bridleway|byway|unsurfaced">
+					<rule e="way" k="access" v="private">
+						<line class="access-private-line" smart-linecap="no"/>
+					</rule>
+					<rule e="way" k="access" v="permissive">
+						<line class="access-permissive-line" smart-linecap="no"/>
+					</rule>
+					<rule e="way" k="access" v="destination">
+						<line class="access-destination-line" smart-linecap="no"/>
+					</rule>
+					<rule e="way" k="access" v="no">
+						<line class="access-no-line" smart-linecap="no"/>
+					</rule>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="track">
+						<rule e="way" k="tracktype" v="grade3|grade4|grade5">
+							<rule e="way" k="access" v="private">
+								<line class="access-private-line" smart-linecap="no"/>
+							</rule>
+							<rule e="way" k="access" v="permissive">
+								<line class="access-permissive-line" smart-linecap="no"/>
+							</rule>
+							<rule e="way" k="access" v="destination">
+								<line class="access-destination-line" smart-linecap="no"/>
+							</rule>
+							<rule e="way" k="access" v="no">
+								<line class="access-no-line" smart-linecap="no"/>
+							</rule>
+						</rule>
+						<else>
+							<rule e="way" k="access" v="private">
+								<line class="access-private-line"/>
+							</rule>
+							<rule e="way" k="access" v="permissive">
+								<line class="access-permissive-line"/>
+							</rule>
+							<rule e="way" k="access" v="destination">
+								<line class="access-destination-line"/>
+							</rule>
+							<rule e="way" k="access" v="no">
+								<line class="access-no-line"/>
+							</rule>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="access" v="private">
+							<line class="access-private-line"/>
+						</rule>
+						<rule e="way" k="access" v="permissive">
+							<line class="access-permissive-line"/>
+						</rule>
+						<rule e="way" k="access" v="destination">
+							<line class="access-destination-line"/>
+						</rule>
+						<rule e="way" k="access" v="no">
+							<line class="access-no-line"/>
+						</rule>
+					</else>
+				</else>
+			</else>
+		</rule>
+
+		<!-- Mini-roundabouts -->
+		<rule e="node" k="highway" v="mini_roundabout">
+			<rule e="node" k="direction" v="clockwise">
+				<symbol ref="roundabout_left" position="center"/>
+			</rule>
+			<else>
+				<!-- Default is anti-clockwise -->
+				<symbol ref="roundabout_right" position="center"/>
+			</else>
+		</rule>
+
+		<!-- highway crossing -->
+		<rule e="node" s="way" k="highway" v="trunk|primary|secondary|tertiary|residential|unclassified">
+			<rule e="node" k="highway" v="crossing">
+				<rule e="node" k="crossing" v="~|uncontrolled|zebra|island">
+					<!-- Order in the v tag is important to make the zebra
+					     crossing render in the direction of the "smaller"
+					     way across the "bigger" way. If both are the same
+					     priority you basically loose -->
+					<wayMarker k="highway" v="motorway|motorway_link|trunk|trunk_link|primary|primary_link|secondary|secondary_link|tertiary|tertiary_link|road|unclassified|residential|living_street|service|bridleway|steps|pedestrian|path|cycleway|footway|*" class="highway-crossing"/>
+				</rule>
+			</rule>
+		</rule>
+
+		<!-- Oneway markers -->
+		<rule e="way" k="tunnel" v="~|false|no">
+			<rule e="way" k="area" v="~|false|no">
+				<rule e="way" k="highway" v="*">
+					<rule e="way" k="oneway" v="1|yes|true">
+						<rule e="way" k="cycleway" v="opposite|opposite_track|opposite_lane">
+							<line class="oneway-exclcycle-casing oneway-casing-1" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-2" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-3" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-4" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-5" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-6" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-7" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-8" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-1" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-2" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-3" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-4" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-5" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-6" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-7" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="oneway-casing oneway-casing-1" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-2" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-3" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-4" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-5" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-6" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-7" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-8" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-1" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-2" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-3" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-4" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-5" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-6" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-7" smart-linecap="no"/>
+						</else>
+					</rule>
+					<rule e="way" k="oneway" v="-1">
+						<rule e="way" k="cycleway" v="opposite|opposite_track|opposite_lane">
+							<line class="oneway-exclcycle-casing oneway-casing-r1" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r2" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r3" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r4" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r5" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r6" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r7" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r8" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r1" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r2" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r3" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r4" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r5" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r6" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r7" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="oneway-casing oneway-casing-r1" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r2" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r3" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r4" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r5" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r6" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r7" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r8" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r1" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r2" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r3" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r4" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r5" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r6" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r7" smart-linecap="no"/>
+						</else>
+					</rule>
+				</rule>
+				<!-- Motorway implies oneway-ness -->
+				<rule e="way" k="highway" v="motorway|motorway_link">
+					<!-- exclude explicit oneway=no -->
+					<rule e="way" k="oneway" v="~|yes|true|1">
+						<line class="oneway-casing oneway-casing-1" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-2" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-3" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-4" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-5" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-6" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-7" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-8" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-1" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-2" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-3" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-4" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-5" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-6" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-7" smart-linecap="no"/>
+					</rule>
+				</rule>
+				<!-- Roundabouts are oneway in the direction of the segments -->
+				<rule e="way" k="junction" v="roundabout">
+					<line class="oneway-casing oneway-casing-1" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-2" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-3" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-4" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-5" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-6" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-7" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-8" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-1" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-2" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-3" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-4" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-5" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-6" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-7" smart-linecap="no"/>
+				</rule>
+			</rule>
+		</rule>
+
+		<!-- SAC scale for paths and footways -->
+		<rule e="way" k="highway" v="path|footway">
+			<rule e="way" k="sac_scale" v="hiking|t1|T1">
+				<line class="sac-scale-t1" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="sac_scale" v="mountain_hiking|t2|T2">
+				<line class="sac-scale-t2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="sac_scale" v="demanding_mountain_hiking|t3|T3">
+				<line class="sac-scale-t3" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="sac_scale" v="alpine_hiking|t4|T4">
+				<line class="sac-scale-t4" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="sac_scale" v="demanding_alpine_hiking|t5|T5">
+				<line class="sac-scale-t5" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="sac_scale" v="difficult_alpine_hiking|t6|T6">
+				<line class="sac-scale-t6" smart-linecap="no"/>
+			</rule>
+		</rule>
+
+		<!-- Piste maps: -->
+		<!-- piste areas -->
+		<rule e="way" k="piste:type" v="downhill" closed="yes">
+			<rule e="way" k="piste:difficulty" v="novice">
+				<line class="piste-area piste-area-difficulty-novice" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="easy">
+				<line class="piste-area piste-area-difficulty-easy" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="intermediate">
+				<line class="piste-area piste-area-difficulty-intermediate" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="advanced">
+				<line class="piste-area piste-area-difficulty-advanced" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="expert">
+				<line class="piste-area piste-area-difficulty-expert" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="freeride">
+				<line class="piste-area piste-area-difficulty-freeride" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="~">
+				<line class="piste-area piste-area-difficulty-other" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="name|ref" v="*">
+				<!-- prefer to render name, otherwise render ref -->
+				<rule e="way" k="name" v="~">
+					<rule e="way" k="ref" v="*">
+						<areaText k="ref" dy="0px" class="piste-downhill-ref" text-anchor="middle"/>
+					</rule>
+				</rule>
+				<else>
+					<rule e="way" k="ref" v="*">
+						<areaText k="ref" dy="-3px" class="piste-downhill-ref" text-anchor="middle"/>
+					</rule>
+					<rule e="way" k="name" v="*">
+						<areaText k="name" dy="3px" class="piste-downhill-name-casing" text-anchor="middle"/>
+						<areaText k="name" dy="3px" class="piste-downhill-name" text-anchor="middle"/>
+					</rule>
+				</else>
+			</rule>
+		</rule>
+		<!-- piste ways -->
+		<rule e="way" k="piste:type" v="downhill" closed="no">
+			<rule e="way" k="piste:difficulty" v="novice">
+				<line class="piste-core piste-difficulty-novice" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="easy">
+				<line class="piste-core piste-difficulty-easy" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="intermediate">
+				<line class="piste-core piste-difficulty-intermediate" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="advanced">
+				<line class="piste-core piste-difficulty-advanced" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="expert">
+				<line class="piste-core piste-difficulty-expert" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="freeride">
+				<line class="piste-core piste-difficulty-freeride" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="~">
+				<line class="piste-core piste-difficulty-other" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="name|ref" v="*">
+				<!-- prefer to render name, otherwise render ref -->
+				<!-- text is rendered at 75%, refs at 25%, aerialway name at 50% -->
+				<rule e="way" k="name" v="~">
+					<rule e="way" k="ref" v="*">
+						<pathText k="ref" dy="2px" class="piste-downhill-ref" text-anchor="middle" startOffset="75%"/>
+					</rule>
+				</rule>
+				<else>
+					<rule e="way" k="ref" v="*">
+						<pathText k="ref" dy="2px" class="piste-downhill-ref" text-anchor="middle" startOffset="25%"/>
+					</rule>
+					<rule e="way" k="name" v="*">
+						<pathText k="name" dy="2px" class="piste-downhill-name" text-anchor="middle" startOffset="75%"/>
+					</rule>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="piste:type" v="sled">
+			<line class="piste-type-sled"/>
+		</rule>
+		<rule e="way" k="piste:type" v="nordic">
+			<line smart-linecap="no" class="piste-type-nordic"/>
+		</rule>
+		<rule e="way" k="man_made" v="piste:halfpipe">
+			<area class="man-made-piste-halfpipe"/>
+			<symbol ref="man-made-halfpipe" position="center"/>
+		</rule>
+
+		<!-- Surface lifts (render over pistes) -->
+		<rule e="way" k="piste:lift" v="*">
+			<rule e="way" k="piste:lift" v="t-bar|j-bar|platter">
+				<line class="aerialway-line piste-lift-t-bar-marker"/>
+				<line smart-linecap="no" class="aerialway-struts no-bezier"/>
+			</rule>
+			<rule e="way" k="piste:lift" v="rope_tow">
+				<line smart-linecap="no" class="piste-lift-rope-tow no-bezier"/>
+			</rule>
+			<rule e="way" k="piste:lift" v="magic_carpet">
+				<line smart-linecap="no" class="piste-lift-magic-carpet no-bezier"/>
+			</rule>
+			<rule e="way" k="name" v="*">
+				<pathText k="name" dx="0px" dy="-3px" class="aerialway-name" text-anchor="middle" startOffset="50%"/>
+			</rule>
+		</rule>
+
+		<!-- Aerialways (render over pistes) -->
+		<rule e="node|way" k="aerialway" v="*">
+			<rule e="way" k="aerialway" v="cable_car">
+				<line class="aerialway-line aerialway-cablecar-marker no-bezier" smart-linecap="no"/>
+			</rule>
+			<else>
+				<rule e="way" k="aerialway" v="gondola">
+					<line class="aerialway-line aerialway-gondola-marker no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="aerialway" v="chair_lift">
+						<rule e="way" k="piste:lift:occupancy" v="4|5|6">
+							<line class="aerialway-line aerialway-chairlift4-marker no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="aerialway-line aerialway-chairlift2-marker no-bezier" smart-linecap="no"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="aerialway" v="mixed_lift">
+							<line class="aerialway-line aerialway-mixedlift-marker no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="aerialway" v="*">
+								<line class="aerialway-line no-bezier" smart-linecap="no"/>
+							</rule>
+						</else>
+					</else>
+				</else>
+			</else>
+			<line smart-linecap="no" class="aerialway-struts no-bezier"/>
+			<rule e="node" k="aerialway" v="station">
+				<circle r="0.4px" class="aerialway-station"/>
+			</rule>
+			<rule e="node" s="way" k="aerialway" v="*">
+				<rule e="node" k="ele" v="*">
+					<caption k="ele" dx="0px" dy="-2.5px" class="aerialway-elevation-text"/>
+				</rule>
+			</rule>
+			<rule e="way" k="name" v="*">
+				<pathText k="name" dx="0px" dy="-3px" class="aerialway-name" text-anchor="middle" startOffset="50%"/>
+			</rule>
+		</rule>
+
+		<!-- Natural features -->
+		<rule e="node" k="natural" v="peak">
+			<symbol ref="peak" position="center"/>
+		</rule>
+		<rule e="node" k="natural" v="volcano">
+			<symbol ref="vulcan" position="center"/>
+		</rule>
+		<rule e="node" k="natural" v="cave_entrance">
+			<symbol ref="cave_entrance" position="center"/>
+		</rule>
+		<rule e="node" k="mountain_pass" v="yes" layer="-5">
+			<rule e="node" s="way" k="highway|track" v="path|secondary|track|unclassified|tertiary|primary|footway|unclassified|trunk|service|motorway|residential|bridleway|road|cycleway">
+				<wayMarker k="highway" class="mountain_pass" layer="-5"/>
+			</rule>
+			<else>
+				<symbol ref="mountain_pass" position="center" layer="-5"/>
+			</else>
+		</rule>
+
+		<!-- Draw marine features -->
+		<rule e="way" k="man_made" v="breakwater">
+			<line class="breakwater"/>
+		</rule>
+		<rule e="way" k="man_made" v="pier" closed="yes">
+			<line class="artificial-pier-area"/>
+		</rule>
+		<rule e="way" k="man_made" v="pier" closed="no">
+			<line class="artificial-pier-casing"/>
+		</rule>
+		<rule e="way" k="man_made" v="pier" closed="no">
+			<line class="artificial-pier-core"/>
+		</rule>
+
+		<!-- Power lines and pylons -->
+		<rule e="way" k="power" v="line">
+			<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+			<line class="power-line no-bezier" smart-linecap="no"/>
+		</rule>
+		<rule e="way" k="power" v="minor_line">
+			<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+			<line class="power-minor-line no-bezier" smart-linecap="no"/>
+		</rule>
+		<rule e="node|way" k="power" v="tower">
+			<symbol ref="power-tower" position="center"/>
+		</rule>
+		<rule e="node|way" k="power" v="pole">
+			<symbol ref="power-pole" position="center"/>
+		</rule>
+
+		<!-- Power generators -->
+		<rule e="node" k="power" v="generator">
+			<rule e="node" k="power_source" v="wind">
+				<symbol ref="power_wind" position="center"/>
+			</rule>
+			<else>
+				<rule e="node" k="power_source" v="hydro">
+					<symbol ref="power_hydro" position="center"/>
+				</rule>
+				<else>
+					<rule e="node" k="power_source" v="photovoltaic">
+						<symbol ref="power_photovoltaic" position="center"/>
+					</rule>
+					<else>
+						<symbol ref="power_generic" position="center"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="power" v="generator">
+			<rule e="way" k="power_source" v="wind">
+				<area class="power-wind"/>
+			</rule>
+			<else>
+				<rule e="way" k="power_source" v="hydro">
+					<area class="power-hydro"/>
+				</rule>
+				<else>
+					<rule e="way" k="power_source" v="photovoltaic">
+						<area class="power-photovoltaic"/>
+					</rule>
+					<else>
+						<area class="power-generic"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+
+		<!-- Electrical substations -->
+		<rule e="way" k="power" v="station|sub_station">
+			<area class="power-generic"/>
+		</rule>
+
+		<!-- Pipelines -->
+		<rule e="way" k="man_made" v="pipeline">
+			<rule e="way" k="type" v="water">
+				<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+				<line class="pipeline-water no-bezier" smart-linecap="no"/>
+			</rule>
+			<else>
+				<rule e="way" k="type" v="oil">
+					<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+					<line class="pipeline-oil no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="type" v="gas|natural_gas">
+						<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+						<line class="pipeline-gas no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="type" v="sewage">
+							<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+							<line class="pipeline-sewage no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="type" v="hot_water|heat">
+								<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+								<line class="pipeline-heat no-bezier" smart-linecap="no"/>
+							</rule>
+							<else>
+								<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+								<line class="pipeline-unknown no-bezier" smart-linecap="no"/>
+							</else>
+						</else>
+					</else>
+				</else>
+			</else>
+		</rule>
+
+		<!-- Non-physical routes -->
+		<rule e="way" k="route" v="ferry">
+			<line class="route-ferry"/>
+		</rule>
+
+		<!-- Tourist features -->
+		<rule e="node|way" k="tourism" v="hotel">
+			<rule e="node|way" k="amenity" v="restaurant">
+			</rule>
+			<else>
+				<symbol ref="hotel" position="center"/>
+			</else>
+		</rule>
+		<rule e="node|way" k="tourism" v="hostel">
+			<symbol ref="hostel" position="center"/>
+		</rule>
+		<rule e="node|way" k="tourism" v="camp_site">
+			<rule e="node|way" k="refugee" v="yes">
+				<symbol ref="earthquakeCamp" position="center"/>
+			</rule>
+			<else>
+				<symbol ref="campSite" position="center"/>
+			</else>
+		</rule>
+		<rule e="node|way" k="earthquake:damage" v="spontaneous_camp">
+			<symbol ref="earthquakeCamp" position="center"/>
+		</rule>
+		<rule e="node|way" k="tourism" v="information">
+			<rule e="node" k="information" v="guidepost">
+				<symbol ref="information-guidepost" position="center"/>			
+			</rule>
+			<else>
+				<rule e="node" k="information" v="office">
+					<symbol ref="information-office" position="center"/>			
+				</rule>
+				<else>
+					<symbol ref="information" position="center"/>
+				</else>	
+			</else>	
+		</rule>
+		<rule e="node" k="tourism" v="viewpoint">
+			<symbol ref="viewpoint" position="center"/>
+		</rule>
+
+		<!-- platforms nodes -->
+		<rule e="node" k="highway|railway|public_transport" v="platform">
+			<circle r="0.6px" class="highway-platform-node" />
+		</rule>
+
+		<!-- Railway stations -->
+		<rule e="node" k="railway" v="station">
+			<rule e="node" s="way" k="railway" v="rail">
+				<circle r="0.7" class="railway-station"/>
+			</rule>
+			<else>
+				<circle r="0.4" class="railway-halt"/>
+			</else>
+		</rule>
+		<rule e="node" k="railway" v="halt">
+			<circle r="0.4" class="railway-halt"/>
+		</rule>
+
+		<!-- tram stops -->
+		<rule e="node" k="railway" v="tram_stop">
+			<circle r="0.4" class="railway-halt"/>
+		</rule>
+
+		<!-- Level crossings -->
+		<!-- If tagged explicitly -->
+		<rule e="node" k="railway" v="level_crossing">
+			<symbol ref="railway-crossing" position="center"/>
+		</rule>
+		<rule e="node" k="railway" v="crossing">
+			<symbol ref="railway-crossing-small" position="center"/>
+		</rule>
+
+		<!-- For everything, except trams, if it shares a node with a road then render a railroad crossing symbol. 
+			not feasible
+			beware for historic reasons and as example fpr s="..."
+		else
+			rule e="node" s="way" k="railway" v="rail|light_rail|subway|narrow_gauge|preserved|monorail|incline|funicular"
+				rule e="node" s="way" k="railway" v="rail"
+					rule e="node" s="way" k="highway" v="motorway|trunk|primary|secondary|tertiary|minor|unclassified|residential|service|unsurfaced|track|living_street|cycleroad|road|cycleway|path|footway"
+						symbol ref="railway-crossing-small" position="center"
+					/rule
+				/rule
+			/rule
+		/else
+		-->
+
+		<!-- Barriers -->
+		<rule e="way" k="barrier" v="bollard|hedge|fence|wall|retaining_wall|city_wall">
+			<rule e="way" k="barrier" v="bollard">
+				<line class="barrier barrier-bollard"/>
+			</rule>
+			<rule e="way" k="barrier" v="hedge">
+				<line class="barrier barrier-hedge-1"/>
+				<line class="barrier barrier-hedge-2"/>
+			</rule>
+			<rule e="way" k="barrier" v="fence">
+				<line class="barrier barrier-fence-1"/>
+				<line class="barrier barrier-fence-2"/>
+			</rule>
+			<rule e="way" k="barrier" v="wall">
+				<line class="barrier barrier-wall"/>
+			</rule>
+			<rule e="way" k="barrier" v="retaining_wall">
+				<line class="barrier barrier-retaining-wall-1"/>
+				<line class="barrier barrier-retaining-wall-2"/>
+			</rule>
+			<rule e="way" k="barrier" v="city_wall">
+				<rule e="way" k="two_sided" v="yes">
+					<line class="barrier barrier-city-wall-ts-1"/>
+					<line class="barrier barrier-city-wall-ts-2"/>
+				</rule>
+				<else>
+					<!-- We can't move the dot of to one side yet -->
+					<line class="barrier barrier-city-wall-1"/>
+					<line class="barrier barrier-city-wall-2"/>
+				</else>
+			</rule>
+		</rule>
+		<else>
+			<rule e="way" k="barrier">
+				<line class="barrier"/>
+			</rule>
+		</else>
+
+		<rule e="node" k="noexit:foot" v="yes|true">
+			<wayMarker k="highway" class="noexit-all"/>
+		</rule>
+		<else>
+			<rule e="node" k="noexit:bicycle|noexit:vehicle" v="yes|true">
+				<wayMarker k="highway" class="noexit-veh"/>
+			</rule>
+			<else>
+				<rule e="node" k="noexit:motor_bicycle|noexit:motorcar|noexit:hgv|noexit:goods" v="yes|true">
+					<wayMarker k="highway" class="noexit-mot"/>
+				</rule>
+				<else>
+
+
+					<rule e="node" k="noexit" v="yes|true">
+						<wayMarker k="highway" class="noexit-all"/>
+					</rule>
+					<rule e="node" k="noexit" v="vehicle">
+						<wayMarker k="highway" class="noexit-veh"/>
+					</rule>
+					<rule e="node" k="noexit" v="motor_vehicle|motorcar">
+						<wayMarker k="highway" class="noexit-mot"/>
+					</rule>
+					<rule e="node" k="noexit" v="no|false">
+						<wayMarker k="highway" class="noexit-no"/>
+					</rule>
+
+				</else>
+			</else>
+		</else>
+		<rule e="node" k="FIXME|fixme" v="continue|continuation">
+			<wayMarker k="highway" class="noexit-no"/>
+		</rule>
+
+		<rule e="node" k="barrier|highway" v="gate|lift_gate">
+			<rule e="node" k="status" v="open">
+				<wayMarker k="highway" class="gate-open"/>
+			</rule>
+			<else>
+				<rule e="node" k="status" v="locked">
+					<wayMarker k="highway" class="gate-locked"/>
+				</rule>
+				<else>
+					<wayMarker k="highway" class="gate-closed"/>
+				</else>
+			</else>
+		</rule>
+		<rule e="node" k="highway|barrier" v="stile">
+			<wayMarker k="highway" fill="none" stroke="red" stroke-width="1px" stroke-opacity="0" marker-mid="url(#marker-stile)"/>
+		</rule>
+		<rule e="node" k="highway|barrier" v="bollard">
+			<circle r='0.2px' class='bollard' />
+		</rule>
+		<rule e="node" k="barrier" v="cycle_barrier|chicane">
+			<wayMarker k="highway" class="chicane"/>
+		</rule>
+
+		<!-- Traffic calming -->
+		<rule e="node" k="traffic_calming" v="*">
+			<wayMarker k="highway" class="traffic-calming"/>
+		</rule>
+
+
+		<!-- Bus stops -->
+		<rule e="node|way" k="highway" v="bus_stop">
+			<symbol ref="bus" position="center"/>
+		</rule>
+		<!-- bus stations -->
+		<rule e="node|way" k="amenity" v="bus_station">
+			<symbol ref="bus_sta" position="center"/>
+		</rule>
+		<!-- subway entrance -->
+		<rule e="node|way" k="railway" v="subway_entrance">
+			<symbol ref="subway" position="center"/>
+		</rule>
+		<!-- highway motorway_junctions -->
+		<rule e="node" k="highway" v="motorway_junction">
+			<circle r="1.825" class="highway-motorway-junction"/>
+			<caption k="name" class="highway-motorway-junction-caption" dy="-2.3px"/>
+			<caption k="ref" class="highway-motorway-junction-caption" dy="0.7px"/>
+		</rule>
+
+		<!-- Amenities -->
+		<rule e="node|way" k="aeroway" v="helipad">
+			<symbol ref="helipad" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="hospital">
+			<symbol ref="hospital" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="doctors">
+			<symbol ref="doctor" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="pharmacy">
+			<symbol ref="pharmacy" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="post_office">
+			<symbol ref="postoffice" position="center"/>
+		</rule>
+		<rule e="node" k="amenity" v="post_box">
+			<symbol ref="postbox" position="center"/>
+		</rule>
+		<rule e="node" k="amenity" v="speed_trap">
+			<symbol ref="speed_trap" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="pub">
+			<symbol ref="pub" position="center"/>
+		</rule>
+		 <rule e="node|way" k="amenity" v="bar">
+                        <symbol ref="bar" position="center"/>
+                </rule>
+		<rule e="node|way" k="amenity" v="cafe">
+			<symbol ref="cafe" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="restaurant">
+			<rule e="node|way" k="tourism" v="hotel">
+				<symbol ref="hotel_and_restaurant" position="center"/>
+			</rule>
+			<else>
+				<symbol ref="restaurant" position="center"/>
+                                <rule e="node|way" k="cuisine" v="vegetarian|vegan">
+                                  <circle r="0.3px" transform="translate(-0.8,-0.4)" fill="#42FF29"/>
+                       		</rule>         
+			</else>
+		</rule>
+		<rule e="node|way" k="amenity" v="cinema">
+			<symbol ref="cinema" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="theatre">
+			<symbol ref="theatre" position="center"/>
+		</rule>
+		<rule e="node|way" k="man_made" v="lighthouse">
+			<symbol ref="lighthouse" position="center"/>
+		</rule>
+		<rule e="node" k="man_made" v="survey_point">
+			<symbol ref="survey_point" position="center"/>
+		</rule>
+		<rule e="node|way" k="man_made" v="windmill">
+			<symbol ref="windmill" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="place_of_worship">
+			<rule e="node|way" k="denomination|religion" v="jewish">
+				<symbol ref="synagogue" position="center"/>
+			</rule>
+			<else>
+				<rule e="node|way" k="denomination|religion" v="muslim|moslem">
+					<symbol ref="mosque" position="center"/>
+				</rule>
+				<else>
+					<rule e="node|way" k="denomination|religion" v="christian">
+						<symbol ref="church" position="center"/>
+					</rule>
+					<else>
+						<rule e="node|way" k="denomination|religion" v="sikhism|sikh">
+							<symbol ref="khanda" position="center"/>
+						</rule>
+						<else>
+							<symbol ref="religion" position="center"/>
+						</else>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="node" k="tourism" v="picnic_site">
+			<symbol ref="picnic" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="bench">
+			<symbol ref="bench" position="center"/>
+		</rule>
+
+		<!-- Parking -->
+		<rule e="node|way" k="amenity" v="parking">
+			<rule e="node|way" k="access" v="~">
+				<rule e="node|way" k="parking" v="park_and_ride">
+					<symbol ref="park_and_ride" position="center"/>
+				</rule>
+				<else>
+					<rule e="node|way" k="parking" v="multi-storey|underground">
+						<rule e="node|way" k="fee" v="yes">
+							<symbol ref="parking_roof_fee" position="center"/>
+						</rule>
+						<else>
+							<symbol ref="parking_roof" position="center"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="node|way" k="fee" v="yes">
+							<symbol ref="parking_fee" position="center"/>
+						</rule>
+						<else>
+							<symbol ref="parking" position="center"/>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<else>
+				<rule e="node|way" k="access" v="permissive|public">
+					<rule e="node|way" k="parking" v="park_and_ride">
+						<symbol ref="park_and_ride-permissive" position="center"/>
+					</rule>
+					<else>
+						<rule e="node|way" k="parking" v="multi-storey|underground">
+							<rule e="node|way" k="fee" v="yes">
+								<symbol ref="parking_roof_fee-permissive" position="center"/>
+							</rule>
+							<else>
+								<symbol ref="parking_roof-permissive" position="center"/>
+							</else>
+						</rule>
+						<else>
+							<rule e="node|way" k="fee" v="yes">
+								<symbol ref="parking_fee-permissive" position="center"/>
+							</rule>
+							<else>
+								<symbol ref="parking-permissive" position="center"/>
+							</else>
+						</else>
+					</else>
+				</rule>
+			</else>
+		</rule>
+
+		<rule e="node" k="highway" v="traffic_signals">
+			<symbol ref="traffic_signal" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="kindergarten">
+			<symbol ref="kindergarten" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="school">
+			<symbol ref="school" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="university|college">
+			<symbol ref="university" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity|shop" v="supermarket|organic">
+			<symbol ref="supermarket" position="center"/>
+		</rule>
+		<rule e="node|way" k="shop" v="bakery">
+			<symbol ref="bakery" position="center"/>
+		</rule>
+		<rule e="node|way" k="shop" v="hairdresser">
+                        <symbol ref="hairdresser" position="center"/>
+		</rule>
+		<rule e="node|way" k="tourism" v="alpine_hut">
+			<symbol ref="alpine_hut" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="shelter">
+			<rule e="node|way" k="fireplace" v="yes">
+				<symbol ref="shelter-fireplace" position="center"/>
+			</rule>
+			<else>
+				<symbol ref="shelter" position="center"/>
+			</else>
+		</rule>
+		<rule e="node|way" k="amenity" v="hunting_stand">
+			<symbol ref="hunting_closed_high" position="center"/>
+		</rule>
+		<rule e="node|way" k="historic" v="battlefield">
+			<symbol ref="cannon" position="center"/>
+		</rule>
+		<rule e="node|way" k="military" v="bunker">
+			<symbol ref="cannon" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="library">
+			<symbol ref="library" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="fire_station">
+			<symbol ref="firebrigade" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="fuel">
+			<symbol ref="petrolStation" position="center"/>
+		</rule>
+		<rule e="node" k="amenity" v="bicycle_rental">
+			<symbol ref="bicycle_rental"  position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="recycling">
+			<symbol ref="recycling" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="toilets">
+			<symbol ref="toilets" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="fountain">
+			<symbol ref="fountain" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="drinking_water">
+			<symbol ref="drinking_water" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="bank">
+			<symbol ref="bank" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="atm">
+			<symbol ref="atm" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="bureau_de_change">
+			<symbol ref="bureau_de_change" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="car_sharing">
+			<symbol ref="car_sharing" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="telephone">
+			<symbol ref="telephone" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="fast_food">
+			<symbol ref="fastfood" position="center"/>
+		</rule>
+
+		<!-- Leisure symbols -->
+		<rule e="node|way" k="leisure" v="golf_course">
+			<symbol ref="golfCourse" position="center"/>
+		</rule>
+		<rule e="node|way" k="leisure" v="slipway">
+			<symbol ref="slipway" position="center"/>
+		</rule>
+		<rule e="node|way" k="leisure" v="playground">
+			<symbol ref="playground" position="center"/>
+		</rule>
+
+		<!-- Sport symbols with border on nodes -->
+		<rule e="node" k="sport" v="archery">
+			<symbol ref="archery" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="athletics">
+			<symbol ref="athletics" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="baseball">
+			<symbol ref="baseball" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="basketball">
+			<symbol ref="basketball" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="bowls">
+			<symbol ref="bowls" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="cricket">
+			<symbol ref="cricket" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="curling">
+			<symbol ref="curling" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="diving|scuba_diving">
+			<symbol ref="diving" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="equestrian">
+			<symbol ref="equestrian" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="gymnastics">
+			<symbol ref="gymnastics" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="football|australian_football|american_football">
+			<symbol ref="football" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="handball">
+			<symbol ref="handball" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="shooting">
+			<symbol ref="shooting" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="soccer">
+			<symbol ref="soccer" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="swimming">
+			<symbol ref="swimming" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="tennis">
+			<symbol ref="tennis" position="center"/>
+		</rule>
+		
+		<!-- Sport symbols without borders on ways -->
+		<rule e="way" k="sport" v="archery">
+			<symbol ref="archery-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="athletics">
+			<symbol ref="athletics-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="baseball">
+			<symbol ref="baseball-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="basketball">
+			<symbol ref="basketball-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="bowls">
+			<symbol ref="bowls-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="cricket">
+			<symbol ref="cricket-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="curling">
+			<symbol ref="curling-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="diving|scuba_diving">
+			<symbol ref="diving-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="equestrian">
+			<symbol ref="equestrian-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="football|australian_football|american_football">
+			<symbol ref="football-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="gymnastics">
+			<symbol ref="gymnastics-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="handball">
+			<symbol ref="handball-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="shooting">
+			<symbol ref="shooting-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="soccer">
+			<symbol ref="soccer-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="swimming">
+			<symbol ref="swimming-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="tennis">
+			<symbol ref="tennis-borderless" position="center"/>
+		</rule>
+		
+		<!-- Historic symbols -->
+		<rule e="node" k="historic" v="*">
+			<rule e="node" k="historic" v="museum">
+				<symbol ref="museum" position="center"/>
+			</rule>
+			<else>
+				<circle r="0.4" class="generic-poi"/>
+			</else>
+		</rule>
+		<rule e="way" k="historic" v="museum">
+				<area ref="museum" position="center"/>
+				<symbol ref="museum" position="center"/>
+		</rule>
+		<rule e="node" k="man_made" v="cairn">
+			<circle r="0.4" stroke="black" stroke-width="0.1px" fill="white"/>
+			<circle r="0.1" stroke="black" stroke-width="0.1px" fill="black"/>
+		</rule>
+		<rule e="node|way" k="amenity|man_made|leisure|shop|tourism|building" v="*">
+			<rule e="node|way" k="disused|abandoned" v="yes|true">
+				<symbol ref="disused" position="center"/>
+			</rule>
+		</rule>
+		<!-- ==================================== Layer -5 ======================================== -->
+
+		<!-- Access restrictions for areas -->
+		<rule e="way" k="landuse" v="conservation" layer="-5">
+			<rule e="way" k="access" v="private" layer="-5">
+				<area class="access-private-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="permissive" layer="-5">
+				<area class="access-permissive-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="destination" layer="-5">
+				<area class="access-destination-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="no" layer="-5">
+				<area class="access-no-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="leisure" v="park" layer="-5">
+			<rule e="way" k="access" v="private" layer="-5">
+				<area class="access-private-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="permissive" layer="-5">
+				<area class="access-permissive-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="destination" layer="-5">
+				<area class="access-destination-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="no" layer="-5">
+				<area class="access-no-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="leisure" v="recreation_ground" layer="-5">
+			<rule e="way" k="access" v="private" layer="-5">
+				<area class="access-private-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="permissive" layer="-5">
+				<area class="access-permissive-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="destination" layer="-5">
+				<area class="access-destination-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="no" layer="-5">
+				<area class="access-no-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+		</rule>
+
+		<!-- Man-made areas -->
+		<rule e="way" k="landuse" v="military" layer="-5">
+			<rule e="way" k="military" v="~" layer="-5">
+				<area class="military-area" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="military" v="*" layer="-5">
+			<area class="military-area" layer="-5"/>
+		</rule>
+
+		<!-- Landuse -->
+		<rule e="way" k="landuse" v="residential|farmyard" layer="-5">
+			<area class="landuse-residential" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="retail" layer="-5">
+			<area class="landuse-retail" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="industrial|brownfield|railway" layer="-5">
+			<area class="landuse-industrial" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="commercial" layer="-5">
+			<area class="landuse-commercial" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="construction|greenfield" layer="-5">
+			<area class="landuse-construction" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="garages" layer="-5">
+			<area class="landuse-garages" layer="-5"/>
+		</rule>
+
+		<!-- Artificial landuse -->
+		<rule e="way" k="man_made" v="wastewater_plant" layer="-5" closed="yes">
+			<area class="man_made-wastewater" layer="-5"/>
+		</rule>
+		<rule e="way" k="man_made" v="wastewater_plant">
+			<symbol ref="wastewater" position="center"/>
+		</rule>
+		<rule e="node" k="man_made" v="wastewater_plant">
+			<symbol ref="wastewater" position="center"/>
+		</rule>
+		<rule e="way" k="amenity" v="kindergarten|school|college|university" layer="-5">
+			<area class="amenity-school" layer="-5"/>
+		</rule>
+
+
+		<!-- ==================================== Layer 5 ======================================== -->
+
+		<!-- Non-physical boundaries -->
+		<rule e="way" k="boundary" v="administrative" layer="5">
+			<rule e="way" k="admin_level" v="1|2|3|4|5|6|7|8|9|10|11" layer="5">
+				<rule e="way" k="admin_level" v="11" layer="5">
+					<line class="boundary boundary-level-11-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="10" layer="5">
+					<line class="boundary boundary-level-10-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="9" layer="5">
+					<line class="boundary boundary-level-9-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="8" layer="5">
+					<line class="boundary boundary-level-8-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="7" layer="5">
+					<line class="boundary boundary-level-7-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="6" layer="5">
+					<line class="boundary boundary-level-6-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="5" layer="5">
+					<line class="boundary boundary-level-5-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="4" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="3" layer="5">
+					<line class="boundary boundary-level-3-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="2" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="1" layer="5">
+					<line class="boundary boundary-level-1-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-1-core no-bezier" layer="5"/>
+				</rule>
+			</rule>
+			<!-- If we don't have explicit admin_level then guess -->
+			<else>
+				<rule e="way" k="border_type" v="suburb" layer="5">
+					<line class="boundary boundary-level-10-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="municipality|city" layer="5">
+					<line class="boundary boundary-level-8-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="county|district" layer="5">
+					<line class="boundary boundary-level-6-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="region|state" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="nation|country" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+			</else>
+		</rule>
+		<rule e="way" k="boundary" v="national_park" layer="5">
+			<line class="boundary boundary-nationalpark-core no-bezier" layer="5"/>
+		</rule>
+
+		<!-- Waterway and Street names -->
+		<rule e="way" k="osmarender:renderName" v="~|yes" layer="5">
+			<rule e="way" k="tunnel" v="~|no|false" layer="5"> <!-- no names in tunnels -->
+				<rule e="way" k="area" v="~|no|false" layer="5"> <!-- area names are done elsewhere -->
+					<rule e="way" k="junction" v="~" layer="5"> <!-- no names on or along junctions -->
+						<!-- Waterway names -->
+						<rule e="way" k="lock_name" v="~" layer="5"> <!-- locks get their name below -->
+							<rule e="way" k="waterway" v="ditch" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-ditch-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-ditch-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="drain" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-drain-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-drain-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="canal" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-canal-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-canal-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="stream" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-stream-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-stream-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="river" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-river-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-river-name-core" dy="0.5px" layer="5"/>
+							</rule>
+						</rule>
+						<else> <!-- names on locks -->
+							<rule e="way" k="waterway" v="canal" layer="5">
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-casing waterway-canal-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-core waterway-canal-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="stream" layer="5">
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-casing waterway-stream-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-core waterway-stream-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="river" layer="5">
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-casing waterway-river-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-core waterway-river-name-core" dy="0.5px" layer="5"/>
+							</rule>
+						</else>
+
+						<!-- Scramble names -->
+						<rule e="way" k="scramble" v="*" layer="5">
+							<pathText startOffset="50%" class="caption-casing highway-scramble-name" dy="0.35px" layer="5"><tag k="name"/> ( <tag k="scramble"/> )</pathText>
+							<pathText startOffset="50%" class="caption-core highway-scramble-name" dy="0.35px" layer="5"><tag k="name"/> ( <tag k="scramble"/> )</pathText>
+						</rule>
+
+						<!-- Highway names -->
+						<rule e="way" k="highway" v="steps" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-steps-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="footway|footpath" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-footway-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="pedestrian" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-pedestrian-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="cycleway" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-cycleway-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="path" layer="5">
+							<rule e="way" k="bicycle" v="yes|designated" layer="5">
+								<pathText k="name" startOffset="50%" class="highway-name highway-cycleway-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+							</rule>
+							<else>
+								<rule e="way" k="horse" v="yes|designated" layer="5">
+									<pathText k="name" startOffset="50%" class="highway-name highway-bridleway-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+								</rule>
+								<else>
+									<pathText k="name" startOffset="50%" class="highway-name highway-footway-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+								</else></else>
+						</rule>
+						<rule e="way" k="highway" v="bridleway" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-bridleway-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="byway" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-byway-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="track" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-track-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="unsurfaced" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-unsurfaced-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="service" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-service-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad|road" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-unclassified-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="tertiary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-tertiary-link-name" dy="0.5px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="tertiary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-tertiary-name" dy="0.5px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="secondary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-secondary-link-name" dy="0.5px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="secondary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-secondary-name" dy="0.5px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="primary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-primary-link-name" dy="0.5px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="trunk_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-trunk-link-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="motorway_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-motorway-link-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="primary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-primary-name" dy="0.5px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="trunk" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-trunk-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="motorway" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-motorway-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+					</rule>
+
+					<!-- Roundabouts, motorway exits etc -->
+					<rule e="way" k="junction" v="*" layer="5" notConnectedSameTag="name">
+						<rule e="way" k="highway" v="unsurfaced|track" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-unsurfaced-name" dy="0.75px" layer="5"/>
+						</rule>
+						<rule e="way" k="highway" v="pedestrian" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-pedestrian-name" dy="0.75px" layer="5"/>
+						</rule>
+						<rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad|road" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-unclassified-name" dy="0.75px" layer="5"/>
+						</rule>
+						<rule e="way" k="highway" v="tertiary|tertiary_link" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-tertiary-name" dy="0.75px" layer="5"/>
+						</rule>
+						<rule e="way" k="highway" v="secondary|secondary_link" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-secondary-name" dy="1px" layer="5"/>
+						</rule>
+						<rule e="way" k="highway" v="primary|primary_link" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-primary-name" dy="1px" layer="5"/>
+						</rule>
+						<rule e="way" k="highway" v="trunk|trunk_link" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-trunk-name" dy="1.5px" layer="5"/>
+						</rule>
+						<rule e="way" k="highway" v="motorway|motorway_link" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-motorway-name" dy="1.5px" layer="5"/>
+						</rule>
+					</rule>
+				</rule>
+				<else> <!-- area!=yes -->
+					<rule e="way" k="highway" v="*" notConnectedSameTag="name" layer="5">
+						<caption k="name" class="caption-casing generic-caption-casing" text-anchor="middle" startOffset="50%" layer="5"/>
+						<caption k="name" class="caption-core generic-caption-core" text-anchor="middle" startOffset="50%" layer="5"/>
+					</rule>
+				</else>
+			</rule>
+		</rule>
+
+		<!-- Road numbers for all highways -->
+		<rule e="way" k="osmarender:renderRef" v="~|yes" layer="5">
+			<rule e="way" k="tunnel" v="~|no|false" layer="5"> <!-- no road numbers in tunnels -->
+				<rule e="way" k="junction" v="~" layer="5"> <!-- no ref on junctions / roundabouts -->
+					<!-- Use startOffset to prevent captions from colliding on dual carriageways -->
+					<rule e="way" k="highway" v="steps" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-steps-ref" dy="-0.5px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="footway|footpath" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-footway-ref" dy="-0.5px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="pedestrian" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-pedestrian-ref" dy="-1px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="cycleway" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-cycleway-ref" dy="-0.8px" avoid-duplicates="true" />
+						<pathText k="ncn_ref" startOffset="60%" class="highway-ref highway-cycleway-ref" dy="-0.8px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="path" layer="5">
+						<rule e="way" k="bicycle" v="yes|designated" layer="5">
+							<pathText k="ref" startOffset="30%" class="highway-ref highway-cycleway-ref" dy="-0.8px" layer="5" avoid-duplicates="true" />
+							<pathText k="ncn_ref" startOffset="60%" class="highway-ref highway-cycleway-ref" dy="-0.8px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<else>
+							<rule e="way" k="horse" v="yes|designated" layer="5">
+								<pathText k="ref" startOffset="30%" class="highway-ref highway-bridleway-ref" dy="-0.8px" layer="5" avoid-duplicates="true" />
+							</rule>
+							<else>
+								<pathText k="ref" startOffset="30%" class="highway-ref highway-footway-ref" dy="-0.5px" layer="5" avoid-duplicates="true" />
+							</else></else>
+					</rule>
+					<rule e="way" k="highway" v="bridleway" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-bridleway-ref" dy="-0.8px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="byway" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-byway-ref" dy="-1px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="track" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-track-ref" dy="-1px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="unsurfaced" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-unsurfaced-ref" dy="-1px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="service" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-service-ref" dy="-1px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad|road" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-unclassified-ref" dy="-1.2px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="tertiary" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-tertiary-ref" dy="-1.25px" textAttenuation="3" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="secondary" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-secondary-ref" dy="-1.25px" textAttenuation="3" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="primary" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-primary-ref" dy="-1.25px" textAttenuation="3" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="trunk" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-trunk-ref" dy="-1.25px" textAttenuation="3" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="motorway" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-motorway-ref" dy="-1.50px" textAttenuation="3" layer="5" avoid-duplicates="true" />
+					</rule>
+				</rule>
+			</rule>
+		</rule>
+
+		<!-- House numbers -->
+		<rule e="node|way" k="addr:housenumber" v="*" layer="5">
+			<rule e="node|way" k="power|tourism|amenity|man_made|shop|historic" v="tower|hotel|hostel|information|camp_site|hospital|doctor|pharmacy|postoffice|pub|bar|cafe|cinema|theatre|windmill|place_of_worship|parking|kindergarten|school|university|college|supermarket|bakery|hairdresser|organic|shelter|library|fire_station|fuel|recycling|toilets|drinking_water|bank|atm|bureau_de_change|museum|telephone|fast_food|restaurant" layer="5">
+				<!-- circle r="0.9px" class="housenumber-node" transform="translate(1.6,0)" layer="5"/ testweise raus ... -->
+				<caption k="addr:housenumber" startOffset="50%" class="housenumber-casing housenumber-left"  dy="0.3px" dx="0.9px" layer="5"/>
+				<caption k="addr:housenumber" startOffset="50%" class="housenumber-caption housenumber-left" dy="0.3px" dx="0.9px" layer="5"/>
+			</rule>
+			<else>
+				<!-- circle r="0.9px" class="housenumber-node" layer="5"/ -->
+				<caption k="addr:housenumber" startOffset="50%" class="housenumber-casing housenumber-center"  dy="0.3px" layer="5"/>
+				<caption k="addr:housenumber" startOffset="50%" class="housenumber-caption housenumber-center" dy="0.3px" layer="5"/>
+			</else>
+		</rule>
+
+		<!-- Place names  -->
+		<rule e="node|way" k="osmarender:renderName" v="~|yes" layer="5">
+			<rule e="node|way" k="aeroway" v="gate" layer="5">
+				<caption k="ref" class="place-caption" font-size="1px" layer="5"/>
+			</rule>
+			<rule e="node|way" k="natural" v="peak|volcano" layer="5">
+				<caption k="name" class="place-caption peak-caption" dy="-1.5px" layer="5"/>
+				<caption k="ele" class="place-caption" font-size="1px" dy="2.0px" layer="5"/>
+			</rule>
+			<rule e="node" k="mountain_pass" v="yes" layer="5">
+				<caption k="name" class="place-caption pass-caption" dy="-1.5px" layer="5"/>
+				<caption k="ele" class="place-caption" font-size="1px" dy="2.0px" layer="5"/>
+			</rule>
+			<rule e="node|way" k="natural" v="cave_entrance" layer="5">
+				<caption k="name" class="place-caption cave-caption" dy="-1.5px" layer="5"/>
+			</rule>
+			<rule e="node|way" k="place" v="island" layer="5">
+				<caption k="name" class="place-caption island-caption" layer="5"/>
+			</rule>
+			<rule e="node|way" k="place" v="islet" layer="5">
+				<caption k="name" class="place-caption islet-caption" layer="5"/>
+			</rule>
+			<rule e="node|way" k="place" v="village" layer="5">
+				<caption k="name" class="place-caption village-caption" layer="5"/>
+			</rule>
+			<rule e="node|way" k="place" v="suburb" layer="5">
+				<caption k="name" class="place-caption suburb-caption" layer="5"/>
+			</rule>
+			<rule e="node|way" k="place" v="hamlet" layer="5">
+				<caption k="name" class="place-caption hamlet-caption" layer="5"/>
+			</rule>
+			<rule e="node|way" k="place" v="locality" layer="5">
+				<caption k="name" class="place-caption locality-caption" layer="5"/>
+			</rule>
+			<rule e="node|way" k="place" v="farm" layer="5">
+				<caption k="name" class="place-caption farm-caption" layer="5"/>
+			</rule>
+			<rule e="node|way" k="tourism" v="attraction" layer="5">
+				<rule e="node|way" k="amenity|historic" v="place_of_worship|ruins" />
+				<else>
+					<rule e="node|way" k="highway" v="~">
+						<caption k="name" class="tourism-attraction-caption" layer="5"/>
+					</rule>
+				</else>
+			</rule>
+
+			<!-- platforms text -->
+			<rule e="way" k="highway|railway|public_transport" v="platform" closed="yes">
+				<caption k="ref" startOffset="50%" class="highway-platform-ref" dy="0.3px" layer="5" />
+			</rule>
+			<rule e="way" k="highway|railway|public_transport" v="platform" closed="no">
+				<caption k="ref" startOffset="50%" class="highway-platform-ref" dy="0.3px" layer="5" />
+			</rule>
+			<rule e="node" k="highway|railway|public_transport" v="platform">
+				<caption k="ref" startOffset="50%" class="highway-platform-ref" dy="0.3px" layer="5" />
+			</rule>
+
+			<rule e="node" k="railway" v="station" layer="5">
+				<rule e="node" s="way" k="railway" v="rail" layer="5">
+					<caption k="name" class="caption-casing railway-station-caption-casing" dy="-1.5px" layer="5"/>
+					<caption k="name" class="caption-core railway-station-caption-core" dy="-1.5px" layer="5"/>
+				</rule>
+				<else>
+					<caption k="name" class="caption-casing railway-halt-caption-casing" dy="-1px" layer="5"/>
+					<caption k="name" class="caption-core railway-halt-caption-core" dy="-1px" layer="5"/>
+				</else>
+			</rule>
+			<rule e="node" k="railway" v="halt" layer="5">
+				<caption k="name" class="caption-casing railway-halt-caption-casing" dy="-1px" layer="5"/>
+				<caption k="name" class="caption-core railway-halt-caption-core" dy="-1px" layer="5"/>
+			</rule>
+			<rule e="node" k="railway" v="tram_stop" layer="5">
+				<caption k="name" class="caption-casing railway-halt-caption-casing" dy="-1px" layer="5"/>
+				<caption k="name" class="caption-core railway-halt-caption-core" dy="-1px" layer="5"/>
+			</rule>
+			<rule e="node" k="aerialway" v="station" layer="5">
+				<caption k="name" class="caption-casing railway-halt-caption-casing" dy="-1px" layer="5"/>
+				<caption k="name" class="caption-core railway-halt-caption-core" dy="-1px" layer="5"/>
+			</rule>
+			
+			<!-- Limit POI captions  -->
+                        <rule e="node|way" k="amenity|man_made|tourism|shop|historic" v="*" horizontalProximity="0.0002" verticalProximity="0.0004" layer="5">
+                          <rule e="node|way" k="amenity" v="pub|cafe|bar"   layer="5">
+                            <caption k="name" class="caption-casing amenity-pub-caption-casing" dy="-1.2px" layer="5"/>
+                            <caption k="name" class="caption-core amenity-pub-caption-core" dy="-1.2px" layer="5"/>
+                          </rule>
+                          <rule e="node|way" k="man_made" v="lighthouse" layer="5">
+                            <caption k="name" class="caption-casing man_made-lighthouse-caption-casing" dy="-1.2px" layer="5"/>
+                            <caption k="name" class="caption-core man_made-lighthouse-caption-core" dy="-1.2px" layer="5"/>
+                          </rule>
+                          <rule e="node|way" k="amenity" v="cinema" layer="5">
+                            <caption k="name" class="caption-casing amenity-cinema-caption-casing" dy="-1px" layer="5"/>
+                            <caption k="name" class="caption-core amenity-cinema-caption-core" dy="-1px" layer="5"/>
+                          </rule>
+                          <rule e="node|way" k="amenity" v="theatre" layer="5">
+                            <caption k="name" class="caption-casing amenity-theatre-caption-casing" dy="-0.9px" layer="5"/>
+                            <caption k="name" class="caption-core amenity-theatre-caption-core" dy="-0.9px" layer="5"/>
+                          </rule>
+                          
+                          <rule e="node|way" k="amenity" v="kindergarten|school|college|university" layer="5">
+                            <caption k="name" class="caption-casing generic-caption-casing" dy="-1px" layer="5"/>
+                            <caption k="name" class="caption-core generic-caption-core" dy="-1px" layer="5"/>
+                          </rule>
+                          <rule e="node|way" k="amenity" v="restaurant|shelter|supermarket|hairdresser|bakery|library|fire_station|doctors|pharmacy|place_of_worship|parking|post_office|hospital|hotel|hostel|camp_site|bank|atm|bureau_de_change|bus_station|fast_food|fuel" layer="5">
+                            <caption k="name" class="caption-casing generic-caption-casing" dy="-1.2px" layer="5"/>
+                            <caption k="name" class="caption-core generic-caption-core" dy="-1.2px" layer="5"/>
+                          </rule>
+                          <rule e="node|way" k="shop" v="supermarket|organic|bakery|hairdresser" layer="5">
+                            <caption k="name" class="caption-casing generic-caption-casing" dy="-1.2px" layer="5"/>
+                            <caption k="name" class="caption-core generic-caption-core" dy="-1.2px" layer="5"/>
+                          </rule>
+                          <rule e="node|way" k="tourism" v="hotel|hostel|camp_site|information" layer="5">
+                            <rule e="node|way" k="amenity" v="restaurant" layer="5">
+                            </rule>
+                            <else>
+                              <caption k="name" class="caption-casing generic-caption-casing" dy="0.6px" layer="5"/>
+                              <caption k="name" class="caption-core generic-caption-core" dy="0.6px" layer="5"/>
+                            </else>
+                          </rule>
+                          <rule e="node|way" k="historic" v="*" layer="5">
+                            <rule e="node|way" k="building" v="~|no">
+                              <caption k="name" class="caption-casing generic-caption-casing" dy="-1px" layer="5"/>
+                              <caption k="name" class="caption-core generic-caption-core" dy="-1px" layer="5"/>
+                            </rule>
+                          </rule>
+			</rule> <!-- end limit POI captions -->
+                </rule>
+
+		<!-- Area captions -->
+		<rule e="way" k="natural" v="*" layer="5">
+			<rule e="way" k="place" v="island|islet">
+			</rule>
+			<else>
+				<caption k="name" class="caption-casing generic-caption-casing" text-anchor="middle" startOffset="50%" layer="5"/>
+				<caption k="name" class="caption-core generic-caption-core" text-anchor="middle" startOffset="50%" layer="5"/>
+			</else>
+		</rule>
+
+		<rule e="way" k="sport" v="~" layer="5"> <!-- omit rendering captions for leisure, if sport is also set -->
+			<rule e="way" k="leisure" v="*" layer="5">
+				<caption k="name" class="caption-casing generic-caption-casing" text-anchor="middle" startOffset="50%" layer="5"/>
+				<caption k="name" class="caption-core generic-caption-core" text-anchor="middle" startOffset="50%" layer="5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="sport" v="*" layer="5">
+			<!-- Offset captions for areas with icons -->
+			<rule e="way" k="sport" v="archery|athletics|baseball|basketball|bowls|cricket|curling|diving|equestrian|football|australian_football|american_football|gymnastics|handball|scuba_diving|shooting|soccer|swimming|tennis" layer="5">
+				<caption k="name" class="caption-core sport-caption-core" text-anchor="middle" startOffset="50%" dy="3.4px" layer="5"/>
+			</rule>
+			<else>
+				<caption k="name" class="caption-core sport-caption-core" text-anchor="middle" startOffset="50%" layer="5"/>
+			</else>
+		</rule>
+		<rule e="way" k="landuse|military" v="*" layer="5">
+			<!-- Only render landuse caption when no other caption is rendered for the area. -->
+			<rule e="way" k="amenity|shop|tourism" v="pub|bar|cafe|cinema|theatre|kindergarten|school|college|university|restaurant|shelter|supermarket|bakery|hairdresser|library|fire_station|doctors|pharmacy|place_of_worship|parking|post_office|hospital|hotel|hostel|camp_site|bank|atm|bureau_de_change|bus_station|supermarket|organic|hotel|hostel|camp_site|information" />
+			<else>
+				<caption k="name" class="caption-casing generic-caption-casing" text-anchor="middle" startOffset="50%" layer="5"/>
+				<caption k="name" class="caption-core generic-caption-core" text-anchor="middle" startOffset="50%" layer="5"/>
+			</else>
+		</rule>
+
+		<rule e="node" k="sport" v="~" layer="5"> <!-- don't render captions for buildings, if sport is also set, thus honor offsets -->
+			<rule e="node" k="building" v="*" layer="5">
+				<!-- same goes if one of the following is set -->
+				<rule e="node" k="amenity|shop|tourism" v="pub|bar|cafe|cinema|theatre|kindergarten|school|college|university|restaurant|shelter|supermarket|bakery|hairdresser|library|fire_station|doctors|pharmacy|place_of_worship|parking|post_office|hospital|hotel|hostel|camp_site|bank|atm|bureau_de_change|bus_station|supermarket|organic|hotel|hostel|camp_site|information|fast_food|fuel" layer="5">
+				</rule>
+				<else>
+					<caption k="name" class="caption-casing generic-caption-casing" text-anchor='middle' startOffset='50%' dy="-0.7px" layer="5"/>
+					<caption k="name" class="caption-core generic-caption-core" text-anchor='middle' startOffset='50%' dy="-0.7px" layer="5"/>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="sport" v="~" layer="5"> <!-- don't render captions for buildings, if sport is also set, thus honor offsets -->
+			<rule e="way" k="building" v="*" layer="5">
+				<!-- same goes if one of the following is set -->
+				<rule e="way" k="amenity|shop|tourism" v="pub|bar|cafe|cinema|theatre|kindergarten|school|college|university|restaurant|shelter|supermarket|bakery|hairdresser|library|fire_station|doctors|pharmacy|place_of_worship|parking|post_office|hospital|hotel|hostel|camp_site|bank|atm|bureau_de_change|bus_station|supermarket|organic|hotel|hostel|camp_site|information|fast_food|fuel" layer="5">
+				</rule>
+				<else>
+					<rule e="way" k="addr:housenumber" v="*">
+						<!-- Offset caption if housenumber is present -->
+						<caption k="name" class="caption-casing generic-caption-casing" text-anchor='middle' startOffset='50%' dy="-0.7px" layer="5"/>
+						<caption k="name" class="caption-core generic-caption-core" text-anchor='middle' startOffset='50%' dy="-0.7px" layer="5"/>
+					</rule>
+					<else>
+						<caption k="name" class="caption-casing generic-caption-casing" text-anchor='middle' startOffset='50%' layer="5"/>
+						<caption k="name" class="caption-core generic-caption-core" text-anchor='middle' startOffset='50%' layer="5"/>
+					</else>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="tourism" v="tourism-attraction|zoo|picnic_site|caravan_site|camp_site" layer="5">
+			<caption k="name" class="caption-casing generic-caption-casing" text-anchor="middle" startOffset="50%" layer="5"/>
+			<caption k="name" class="caption-core generic-caption-core" text-anchor="middle" startOffset="50%" layer="5"/>
+		</rule>
+	</rule>
+
+	<!-- Relation/Routes SDW -->
+	<!--
+		<rule e="relation" k="type" v="route">
+			<rule e="relation" k="prefered_color" v="*">
+				<rule e="relation" k="prefered_color" v="white">
+					<line class="relationroute-way relationroute-white" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="silver">
+					<line class="relationroute-way relationroute-silver" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="gray">
+					<line class="relationroute-way relationroute-gray" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="black">
+					<line class="relationroute-way relationroute-black" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="red">
+					<line class="relationroute-way relationroute-red" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="maroon">
+					<line class="relationroute-way relationroute-maroon" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="green">
+					<line class="relationroute-way relationroute-green" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="lime">
+					<line class="relationroute-way relationroute-lime" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="blue">
+					<line class="relationroute-way relationroute-blue" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="navy">
+					<line class="relationroute-way relationroute-navy" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="fuchsia">
+					<line class="relationroute-way relationroute-fuchsia" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="purple">
+					<line class="relationroute-way relationroute-purple" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="yellow">
+					<line class="relationroute-way relationroute-yellow" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="olive">
+					<line class="relationroute-way relationroute-olive" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="aqua">
+					<line class="relationroute-way relationroute-aqua" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="teal">
+					<line class="relationroute-way relationroute-teal" smart-linecap="no"/>
+				</rule>
+			</rule>
+			<else>
+				<rule e="relation" k="route" v="road">
+					<line class="relationroute-way relationroute-yellow" smart-linecap="no"/>
+					<circle class="relationroute-yellow relationroute-stop" r="0.5px"/>
+				</rule>
+				<rule e="relation" k="route" v="bicycle">
+					<line class="relationroute-way relationroute-blue" smart-linecap="no"/>
+					<circle class="relationroute-blue relationroute-stop" r="0.5px"/>
+				</rule>
+				<rule e="relation" k="route" v="hiking">
+					<line class="relationroute-way relationroute-red" smart-linecap="no"/>
+					<circle class="relationroute-red relationroute-stop" r="0.5px"/>
+				</rule>
+				<rule e="relation" k="route" v="bus">
+					<line class="relationroute-way relationroute-green" smart-linecap="no"/>
+					<circle class="relationroute-green relationroute-stop" r="0.5px"/>
+				</rule>
+			</else>
+		</rule>
+		-->
+
+	<!-- SVG Definitions - markers, symbols etc go here -->
+	<include ref="markers.xml"/>
+	<defs>
+		<style xmlns="http://www.w3.org/2000/svg" id="styles" type="text/css">
+			/* DO NOT DELETE - Used by osmarender.xsl */
+			.untagged-segments {
+			stroke-width: 0.5px;
+			stroke-linejoin: round;
+			stroke-linecap: butt;
+			stroke: #e0e0e0;
+			stroke-dasharray: 0.5,0.5;
+			}
+
+			.canal-lock {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#canal-lock);
+			}
+
+			.noexit-all {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#noexit-all);
+			}
+			.noexit-veh {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#noexit-veh);
+			}
+			.noexit-mot {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#noexit-mot);
+			}
+			.noexit-no {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#noexit-no);
+			}
+
+			.gate-locked {
+			fill: none;
+			stroke: red;
+			stroke-width: 1px;
+			stroke-opacity: 0;
+			marker-mid: url(#marker-gate-locked);
+			}
+
+			.gate-closed {
+			fill: none;
+			stroke: red;
+			stroke-width: 1px;
+			stroke-opacity: 0;
+			marker-mid: url(#marker-gate-closed);
+			}
+
+			.gate-open {
+			fill: none;
+			stroke: red;
+			stroke-width: 1px;
+			stroke-opacity: 0;
+			marker-mid: url(#marker-gate-open);
+			}
+
+			.bollard {
+			fill: #707070;
+			stroke: none;
+			}
+
+			.chicane {
+			fill: none;
+			stroke: red;
+			stroke-width: 2px;
+			stroke-opacity: 0;
+			marker-mid: url(#marker-chicane);
+			}
+
+			.traffic-calming {
+			fill: none;
+			stroke: red;
+			stroke-width: 2px;
+			stroke-opacity: 0;
+			marker-mid: url(#marker-traffic-calming);
+			}
+
+			.highway-crossing {
+			fill: none;
+			stroke: red;
+			stroke-opacity: 0;
+			marker-mid: url(#highway-crossing);
+			}
+
+			/* RelationRoute - generic styles */
+			.relationroute-way {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			smart-linecap: no;
+			fill: none;
+			stroke-width: 2.5px;
+			opacity: 0.75;
+			}
+
+			.relationroute-stop {
+			stroke-width: 4px;
+			fill: none;
+			opacity: 0.75;
+			}
+
+			/* VGA colours supported, add more if necessary */
+			.relationroute-white                      { stroke: #FFFFFF; }
+			.relationroute-silver                     { stroke: #C0C0C0; }
+			.relationroute-gray                       { stroke: #808080; }
+			.relationroute-black                      { stroke: #000000; }
+			.relationroute-red                        { stroke: #FF0000; }
+			.relationroute-maroon                     { stroke: #800000; }
+			.relationroute-green                      { stroke: #008000; }
+			.relationroute-lime                       { stroke: #00FF00; }
+			.relationroute-blue                       { stroke: #0000FF; }
+			.relationroute-navy                       { stroke: #000080; }
+			.relationroute-fuchsia                    { stroke: #FF00FF; }
+			.relationroute-purple                     { stroke: #800080; }
+			.relationroute-yellow                     { stroke: #FFFF00; }
+			.relationroute-olive                      { stroke: #808000; }
+			.relationroute-aqua                       { stroke: #00FFFF; }
+			.relationroute-teal                       { stroke: #008080; }
+
+			/* Highways - generic styles */
+			.highway-casing {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+
+			.highway-core {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+
+			.highway-motorway-junction {
+			fill: yellow;
+			stroke: #4D5D73;
+			stroke-width: 0.75px;
+			}
+
+			.highway-motorway-junction-caption {
+			fill: black;
+			stroke: black;
+			stroke-width: 0.05px;
+			font-family: "DejaVu Sans";
+			font-size: 1.5px;
+			font-weight: bold;
+			text-anchor: middle;
+			}
+
+			.highway-ref {
+			fill: #606060;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			text-anchor: middle;
+			}
+
+			.highway-name {
+			fill: black;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			text-anchor: middle;
+			}
+
+			.highway-user {
+			stroke-width: 0px;
+			font-size: 1.0px; fill: #c0c0c0;
+			}
+
+			.highway-nobicycle-1 { stroke-width: 2.7px; stroke: #000080; stroke-dasharray: 0.1,1.9; stroke-linecap: butt; fill: none; stroke-miterlimit: 0.1; }
+			.highway-nobicycle-2 { stroke-width: 2.0px; stroke: #d1fad1; stroke-dasharray: 0.1,1.9; stroke-linecap: butt; fill: none; stroke-miterlimit: 0.1; }
+			.highway-nobicycle-3 { stroke-width: 0.2px; stroke: #000080; stroke-dasharray: 0.1,1.9; stroke-linecap: butt; fill: none; stroke-miterlimit: 0.1; }
+
+			.bridge-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			marker-start: url(#bridge-casing-start);
+			marker-end: url(#bridge-casing-end);
+			}
+
+			.bridge-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #ffffff;
+			fill: none;
+			}
+
+			.tunnel-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+
+			.tunnel-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+
+			.tunnel { stroke-dasharray: 0.4, 0.4; }
+
+			.embankment-cutting              { fill: none; stroke-linejoin: bevel; stroke-linecap: butt; stroke: #6f4a18; }
+			.dyke                            { fill: none; stroke-linejoin: bevel; stroke-linecap: butt; stroke: #3a7019; }
+
+			.embankment-long-casing          { stroke-width: 3.6px; stroke-dasharray: 0.1, 1.1; }
+			.embankment-short-casing         { stroke-width: 3.0px; stroke-dasharray: 0.1, 0.5, 0.1, 0.5;  }
+			.embankment-middle-casing        { stroke-width: 1.9px; stroke-dasharray: none; }
+			.embankment-core                 { stroke-width: 1.7px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.embankment-small-long-casing    { stroke-width: 3.1px; stroke-dasharray: 0.1, 1.1; }
+			.embankment-small-short-casing   { stroke-width: 2.5px; stroke-dasharray: 0.1, 0.5, 0.1, 0.5;  }
+			.embankment-small-middle-casing  { stroke-width: 1.4px; stroke-dasharray: none; }
+			.embankment-small-core           { stroke-width: 1.2px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.embankment-wide-long-casing     { stroke-width: 4.3px; stroke-dasharray: 0.1, 1.1; }
+			.embankment-wide-short-casing    { stroke-width: 3.6px; stroke-dasharray: 0.1, 0.5, 0.1, 0.5;  }
+			.embankment-wide-middle-casing   { stroke-width: 2.4px; stroke-dasharray: none; }
+			.embankment-wide-core            { stroke-width: 2.2px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.cutting-casing                  { stroke-width: 3.6px; stroke-dasharray: none; }
+			.cutting-long-core               { stroke-width: 3.4px; stroke: #f8f8f8; stroke-dasharray: 0.5, 0.1, 0.5, 0.1; }
+			.cutting-short-core              { stroke-width: 2.9px; stroke: #f8f8f8; stroke-dasharray: 1.1, 0.1; }
+			.cutting-middle-core             { stroke-width: 2.1px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.cutting-small-casing            { stroke-width: 3.1px; stroke-dasharray: none; }
+			.cutting-small-long-core         { stroke-width: 2.9px; stroke: #f8f8f8; stroke-dasharray: 0.5, 0.1, 0.5, 0.1; }
+			.cutting-small-short-core        { stroke-width: 2.4px; stroke: #f8f8f8; stroke-dasharray: 1.1, 0.1; }
+			.cutting-small-middle-core       { stroke-width: 1.6px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.cutting-wide-casing             { stroke-width: 4.3px; stroke-dasharray: none; }
+			.cutting-wide-long-core          { stroke-width: 4.1px; stroke: #f8f8f8; stroke-dasharray: 0.5, 0.1, 0.5, 0.1; }
+			.cutting-wide-short-core         { stroke-width: 3.4px; stroke: #f8f8f8; stroke-dasharray: 1.1, 0.1; }
+			.cutting-wide-middle-core        { stroke-width: 2.6px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.railway-casing { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-1-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-2-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-core   { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+
+			.railway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			stroke: #b0b0b0;
+			stroke-width: 1.5px;
+			}
+
+			.railway-bridge-casing             { stroke-width: 1.5px; }
+			.railway-bridge-core               { stroke-width: 1.0px; }
+
+			.railway-rail-casing                    { stroke-width: 0.55px; }
+			.railway-rail-1-core                    { stroke-width: 0.4px; }
+			.railway-rail-2-core                    { stroke-width: 0.4px; stroke-dasharray: 1.5,1.5; }
+			.railway-rail-casing-color              { stroke: #333333; }
+			.railway-rail-1-core-color              { stroke: #e6e6e6; }
+			.railway-rail-2-core-color              { stroke: #333333; }
+			.railway-rail-tunnel-core               { stroke-opacity: 0.15; }
+
+			.railway-narrow-casing                    { stroke-width: 0.4px; }
+			.railway-narrow-1-core                    { stroke-width: 0.25px; }
+			.railway-narrow-2-core                    { stroke-width: 0.25px; stroke-dasharray: 1.8,1.8; }
+			.railway-narrow-casing-color              { stroke: #333333; }
+			.railway-narrow-1-core-color              { stroke: #e6e6e6; }
+			.railway-narrow-2-core-color              { stroke: #333333; }
+			.railway-narrow-tunnel-core               { stroke-opacity: 0.15; }
+
+			.railway-preserved-casing                    { stroke-width: 0.4px; }
+			.railway-preserved-1-core                    { stroke-width: 0.25px; }
+			.railway-preserved-2-core                    { stroke-width: 0.25px; stroke-dasharray: 1.5,1.5; }
+			.railway-preserved-casing-color              { stroke: #909090; }
+			.railway-preserved-1-core-color              { stroke: #e6e6e6; }
+			.railway-preserved-2-core-color              { stroke: #333333; }
+			.railway-preserved-tunnel-core               { stroke-opacity: 0.15; }
+
+			.railway-light-casing                    { stroke-width: 0.4px; }
+			.railway-light-1-core                    { stroke-width: 0.25px; }
+			.railway-light-2-core                    { stroke-width: 0.25px; stroke-dasharray: 1.2,1.8; }
+			.railway-light-casing-color              { stroke: #0f4c0f; }
+			.railway-light-1-core-color              { stroke: #b7e6e6; }
+			.railway-light-2-core-color              { stroke: #0f4c0f; }
+			.railway-light-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-tram-casing                    { stroke-width: 0.4px; }
+			.railway-tram-1-core                    { stroke-width: 0.25px; }
+			.railway-tram-2-core                    { stroke-width: 0.25px; stroke-dasharray: 1.2,1.8; }
+			.railway-tram-casing-color              { stroke: #4c0f4c; }
+			.railway-tram-1-core-color              { stroke: #e6b7e6; }
+			.railway-tram-2-core-color              { stroke: #4c0f4c; }
+			.railway-tram-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-subway-casing                    { stroke-width: 0.4px; }
+			.railway-subway-1-core                    { stroke-width: 0.25px; }
+			.railway-subway-2-core                    { stroke-width: 0.25px; stroke-dasharray: 1.2,1.8; }
+			.railway-subway-casing-color              { stroke: #0f0f4c; }
+			.railway-subway-1-core-color              { stroke: #b7b7e6; }
+			.railway-subway-2-core-color              { stroke: #0f0f4c; }
+			.railway-subway-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-funicular-casing                    { stroke-width: 0.4px; }
+			.railway-funicular-1-core                    { stroke-width: 0.25px; stroke-dasharray: 1.2,1.8; }
+			.railway-funicular-t-core                    { stroke-width: 0.25px; }
+			.railway-funicular-2-core                    { stroke-width: 0.08px; }
+			.railway-funicular-casing-color              { stroke: #4c0f0f; }
+			.railway-funicular-1-core-color              { stroke: #e6b7b7; }
+			.railway-funicular-2-core-color              { stroke: #4c0f0f; }
+			.railway-funicular-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-monorail-casing                    { stroke-width: 0.4px; }
+			.railway-monorail-1-core                    { stroke-width: 0.25px; }
+			.railway-monorail-2-core                    { stroke-width: 0.08px; }
+			.railway-monorail-casing-color              { stroke: #4c0f0f; }
+			.railway-monorail-1-core-color              { stroke: #e6b7b7; }
+			.railway-monorail-2-core-color              { stroke: #ffffff; }
+			.railway-monorail-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-yard-casing                    { stroke-width: 0.3px; }
+			.railway-yard-1-core                    { stroke-width: 0.17px; }
+			.railway-yard-2-core                    { stroke-width: 0.17px; stroke-dasharray: 0.9,2.1; }
+			.railway-yard-casing-color              { stroke: #333333; }
+			.railway-yard-1-core-color              { stroke: #e6e6e6; }
+			.railway-yard-2-core-color              { stroke: #333333; }
+			.railway-yard-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-con-casing                { stroke-width: 0.4px; stroke-dasharray: 0.5,0.5; }
+			.railway-con-1-core                { stroke-width: 0.25px; }
+			.railway-con-2-core                { stroke-width: 0.25px; stroke-dasharray: 0.5,0.5,0.5,1.5; }
+			.railway-con-casing-color          { stroke: #606060; }
+			.railway-con-1-core-color          { stroke: #f2f2f2; }
+			.railway-con-2-core-color          { stroke: #606060; }
+			.railway-con-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-pla-casing                { stroke-width: 0.4px; stroke-dasharray: 0.5,0.5; }
+			.railway-pla-1-core                { stroke-width: 0.25px; }
+			.railway-pla-2-core                { stroke-width: 0.25px; stroke-dasharray: 0.5,0.5,0.5,1.5; }
+			.railway-pla-casing-color          { stroke: #b2b2b2; }
+			.railway-pla-1-core-color          { stroke: #ffffff; }
+			.railway-pla-2-core-color          { stroke: #b2b2b2; }
+			.railway-pla-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-dis-casing                { stroke-width: 0.4px; stroke-opacity: 0.7; }
+			.railway-dis-1-core                { stroke-width: 0.25px; stroke-opacity: 0.7; }
+			.railway-dis-2-core                { stroke-width: 0.25px; stroke-opacity: 0.7; stroke-dasharray: 1.5,1.5; }
+			.railway-dis-casing-color          { stroke: #808080; }
+			.railway-dis-1-core-color          { stroke: #f2f2f2; }
+			.railway-dis-2-core-color          { stroke: #808080; }
+			.railway-dis-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-aba-casing                { stroke-width: 0.4px; stroke-opacity: 0.4; }
+			.railway-aba-1-core                { stroke-width: 0.25px; stroke-opacity: 0.4; }
+			.railway-aba-2-core                { stroke-width: 0.25px; stroke-opacity: 0.4; stroke-dasharray: 1.5,1.5; }
+			.railway-aba-casing-color          { stroke: #b2b2b2; }
+			.railway-aba-1-core-color          { stroke: #ffffff; }
+			.railway-aba-2-core-color          { stroke: #b2b2b2; }
+			.railway-aba-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-raz-casing                { stroke-width: 0.4px; stroke-opacity: 0.3; stroke-dasharray: 0.3,0.3; }
+			.railway-raz-1-core                { stroke-width: 0.25px; stroke-opacity: 0.3; }
+			.railway-raz-2-core                { stroke-width: 0.25px; stroke-opacity: 0.3; stroke-dasharray: 0.3,0.3,0.3,0.3,0.3,1.5; }
+			.railway-raz-casing-color          { stroke: #c2c2c2; }
+			.railway-raz-1-core-color          { stroke: #ffffff; }
+			.railway-raz-2-core-color          { stroke: #c2c2c2; }
+
+			.highway-motorway-bridge-casing         { stroke-width: 2.70px; }
+			.highway-motorway-bridge-core           { stroke-width: 2.40px; }
+			.highway-motorway-casing                { stroke-width: 2.0px;  stroke: #707070; }
+			.highway-motorway-cy1-casing            { stroke-width: 2.75px;     stroke: #707070; }
+			.highway-motorway-cy2-casing            { stroke-width: 2.5px;     stroke: #d1fad1; }
+			.highway-motorway-area-casing           { stroke-width: 0.3px; }
+			.highway-motorway-core                  { stroke-width: 1.7px;  stroke: #809BC0; }
+			.highway-motorway-area                  { fill: #809BC0; }
+			.highway-motorway-name                  { stroke-width: 0px;     font-size: 1.5px; }
+			.highway-motorway-ref                   { stroke-width: 0px;     font-size: 2px; }
+
+			.highway-motorway-link-bridge-casing    { stroke-width: 2.5px; }
+			.highway-motorway-link-bridge-core      { stroke-width: 2.2px; }
+			.highway-motorway-link-casing           { stroke-width: 1.8px;     stroke: #707070; }
+			.highway-motorway-link-cy1-casing       { stroke-width: 2.55px;     stroke: #707070; }
+			.highway-motorway-link-cy2-casing       { stroke-width: 2.3px;     stroke: #d1fad1; }
+			.highway-motorway-link-area-casing      { stroke-width: 0.3px; }
+			.highway-motorway-link-core             { stroke-width: 1.5px;  stroke: #809BC0; }
+			.highway-motorway-link-area             { fill: #809BC0; }
+			.highway-motorway-link-name             { stroke-width: 0px;     font-size: 1.5px; }
+			.highway-motorway-link-ref              { stroke-width: 0px;     font-size: 2px; }
+
+			.highway-trunk-bridge-casing            { stroke-width: 2.5px; }
+			.highway-trunk-bridge-core              { stroke-width: 2.2px; }
+			.highway-trunk-casing                   { stroke-width: 1.8px;     stroke: #707070; }
+			.highway-trunk-cy1-casing               { stroke-width: 2.55px;     stroke: #707070; }
+			.highway-trunk-cy2-casing               { stroke-width: 2.3px;      stroke: #d1fad1; }
+			.highway-trunk-mr1-casing               { stroke-width: 2.3px;      stroke: #707070; }
+			.highway-trunk-mr2-casing               { stroke-width: 2.15px;     stroke: #809BC0; }
+			.highway-trunk-mr3-casing               { stroke-width: 2.15px;     stroke: #FDBF6F; }
+			.highway-trunk-mrcy1-casing               { stroke-width: 2.8px;      stroke: #707070; }
+			.highway-trunk-mrcy2-casing               { stroke-width: 2.6px;      stroke: #d1fad1; }
+			.highway-trunk-mrcy3-casing               { stroke-width: 2.0px;     stroke: #809BC0; }
+			.highway-trunk-mrcy4-casing               { stroke-width: 2.0px;     stroke: #FDBF6F; }
+			.highway-trunk-area-casing              { stroke-width: 0.3px; }
+			.highway-trunk-core                     { stroke-width: 1.5px;  stroke: #7FC97F; }
+			.highway-trunk-area                     { fill: #7FC97F; }
+			.highway-trunk-name                     { stroke-width: 0px;     font-size: 1.5px; }
+			.highway-trunk-ref                      { stroke-width: 0px;     font-size: 2px; }
+
+			.highway-trunk-link-bridge-casing       { stroke-width: 2.5px; }
+			.highway-trunk-link-bridge-core         { stroke-width: 2.2px; }
+			.highway-trunk-link-casing              { stroke-width: 1.8px;     stroke: #707070; }
+			.highway-trunk-link-cy1-casing          { stroke-width: 2.55px;     stroke: #707070; }
+			.highway-trunk-link-cy2-casing          { stroke-width: 2.3px;      stroke: #d1fad1; }
+			.highway-trunk-link-mr1-casing          { stroke-width: 2.3px;      stroke: #707070; }
+			.highway-trunk-link-mr2-casing          { stroke-width: 2.15px;     stroke: #809BC0; }
+			.highway-trunk-link-mr3-casing          { stroke-width: 2.15px;     stroke: #FDBF6F; }
+			.highway-trunk-link-mrcy1-casing               { stroke-width: 2.8px;      stroke: #707070; }
+			.highway-trunk-link-mrcy2-casing               { stroke-width: 2.6px;      stroke: #d1fad1; }
+			.highway-trunk-link-mrcy3-casing               { stroke-width: 2.0px;     stroke: #809BC0; }
+			.highway-trunk-link-mrcy4-casing               { stroke-width: 2.0px;     stroke: #FDBF6F; }
+			.highway-trunk-link-area-casing         { stroke-width: 0.3px; }
+			.highway-trunk-link-core                { stroke-width: 1.5px;  stroke: #7FC97F; }
+			.highway-trunk-link-area                { fill: #7FC97F; }
+			.highway-trunk-link-name                { stroke-width: 0px;     font-size: 1.5px; }
+			.highway-trunk-link-ref                 { stroke-width: 0px;     font-size: 2px; }
+
+			.highway-primary-bridge-casing          { stroke-width: 2.5px; }
+			.highway-primary-bridge-core            { stroke-width: 2.2px; }
+			.highway-primary-casing                 { stroke-width: 1.8px;     stroke: #707070; }
+			.highway-primary-cy1-casing             { stroke-width: 2.55px;     stroke: #707070; }
+			.highway-primary-cy2-casing             { stroke-width: 2.3px;      stroke: #d1fad1; }
+			.highway-primary-mr1-casing             { stroke-width: 2.3px;      stroke: #707070; }
+			.highway-primary-mr2-casing             { stroke-width: 2.15px;     stroke: #809BC0; }
+			.highway-primary-mrcy1-casing               { stroke-width: 2.8px;      stroke: #707070; }
+			.highway-primary-mrcy2-casing               { stroke-width: 2.6px;      stroke: #d1fad1; }
+			.highway-primary-mrcy3-casing               { stroke-width: 2.0px;     stroke: #809BC0; }
+			.highway-primary-mrcy4-casing               { stroke-width: 2.0px;     stroke: #FDBF6F; }
+			.highway-primary-area-casing            { stroke-width: 0.3px; }
+			.highway-primary-core                   { stroke-width: 1.5px;  stroke: #e46d71; }
+			.highway-primary-area                   { fill: #e46d71; }
+			.highway-primary-name                   { stroke-width: 0px;     font-size: 1.5px; }
+			.highway-primary-ref                    { stroke-width: 0px;     font-size: 2px; }
+
+			.highway-primary-link-bridge-casing     { stroke-width: 2.5px; }
+			.highway-primary-link-bridge-core       { stroke-width: 2.2px; }
+			.highway-primary-link-casing            { stroke-width: 1.8px;  stroke: #707070; }
+			.highway-primary-link-cy1-casing        { stroke-width: 2.55px;     stroke: #707070; }
+			.highway-primary-link-cy2-casing        { stroke-width: 2.3px;      stroke: #d1fad1; }
+			.highway-primary-link-mr1-casing        { stroke-width: 2.3px;      stroke: #707070; }
+			.highway-primary-link-mr2-casing        { stroke-width: 2.15px;     stroke: #809BC0; }
+			.highway-primary-link-mrcy1-casing               { stroke-width: 2.8px;      stroke: #707070; }
+			.highway-primary-link-mrcy2-casing               { stroke-width: 2.6px;      stroke: #d1fad1; }
+			.highway-primary-link-mrcy3-casing               { stroke-width: 2.0px;     stroke: #809BC0; }
+			.highway-primary-link-mrcy4-casing               { stroke-width: 2.0px;     stroke: #FDBF6F; }
+			.highway-primary-link-area-casing       { stroke-width: 0.3px; }
+			.highway-primary-link-core              { stroke-width: 1.5px;   stroke: #e46d71; }
+			.highway-primary-link-area              { fill: #e46d71; }
+			.highway-primary-link-name              { stroke-width: 0px;     font-size: 1.5px; }
+			.highway-primary-link-ref               { stroke-width: 0px;     font-size: 2px; }
+
+			.highway-secondary-bridge-casing        { stroke-width: 2.5px; }
+			.highway-secondary-bridge-core          { stroke-width: 2.2px; }
+			.highway-secondary-casing               { stroke-width: 1.8px;     stroke: #707070; }
+			.highway-secondary-cy1-casing           { stroke-width: 2.55px;     stroke: #707070; }
+			.highway-secondary-cy2-casing           { stroke-width: 2.3px;      stroke: #d1fad1; }
+			.highway-secondary-mr1-casing           { stroke-width: 2.3px;      stroke: #707070; }
+			.highway-secondary-mr2-casing           { stroke-width: 2.15px;     stroke: #809BC0; }
+			.highway-secondary-mrcy1-casing               { stroke-width: 2.8px;      stroke: #707070; }
+			.highway-secondary-mrcy2-casing               { stroke-width: 2.6px;      stroke: #d1fad1; }
+			.highway-secondary-mrcy3-casing               { stroke-width: 2.0px;     stroke: #809BC0; }
+			.highway-secondary-mrcy4-casing               { stroke-width: 2.0px;     stroke: #FDBF6F; }
+			.highway-secondary-area-casing          { stroke-width: 0.3px; }
+			.highway-secondary-core                 { stroke-width: 1.5px;  stroke: #FDBF6F; }
+			.highway-secondary-area                 { fill: #FDBF6F; }
+			.highway-secondary-name                 { stroke-width: 0px;     font-size: 1.5px;}
+			.highway-secondary-ref                  { stroke-width: 0px;     font-size: 2px; }
+
+			.highway-secondary-link-bridge-casing   { stroke-width: 2.5px; }
+			.highway-secondary-link-bridge-core     { stroke-width: 2.2px; }
+			.highway-secondary-link-casing          { stroke-width: 1.8px;     stroke: #707070; }
+			.highway-secondary-link-cy1-casing      { stroke-width: 2.55px;     stroke: #707070; }
+			.highway-secondary-link-cy2-casing      { stroke-width: 2.3px;      stroke: #d1fad1; }
+			.highway-secondary-link-mr1-casing      { stroke-width: 2.3px;      stroke: #707070; }
+			.highway-secondary-link-mr2-casing      { stroke-width: 2.15px;     stroke: #809BC0; }
+			.highway-secondary-link-mrcy1-casing               { stroke-width: 2.8px;      stroke: #707070; }
+			.highway-secondary-link-mrcy2-casing               { stroke-width: 2.6px;      stroke: #d1fad1; }
+			.highway-secondary-link-mrcy3-casing               { stroke-width: 2.0px;     stroke: #809BC0; }
+			.highway-secondary-link-mrcy4-casing               { stroke-width: 2.0px;     stroke: #FDBF6F; }
+			.highway-secondary-link-area-casing     { stroke-width: 0.3px; }
+			.highway-secondary-link-core            { stroke-width: 1.5px;  stroke: #FDBF6F; }
+			.highway-secondary-link-area            { fill: #FDBF6F; }
+			.highway-secondary-link-name            { stroke-width: 0px;     font-size: 1.5px;}
+			.highway-secondary-link-ref             { stroke-width: 0px;     font-size: 2px; }
+
+			.highway-tertiary-bridge-casing         { stroke-width: 2.5px; }
+			.highway-tertiary-bridge-core           { stroke-width: 2.2px; }
+			.highway-tertiary-casing                { stroke-width: 1.8px;  stroke: #707070; }
+			.highway-tertiary-cy1-casing            { stroke-width: 2.55px;  stroke: #707070; }
+			.highway-tertiary-cy2-casing            { stroke-width: 2.3px;   stroke: #d1fad1; }
+			.highway-tertiary-mr1-casing            { stroke-width: 2.3px;      stroke: #707070; }
+			.highway-tertiary-mr2-casing            { stroke-width: 2.15px;     stroke: #809BC0; }
+			.highway-tertiary-mrcy1-casing               { stroke-width: 2.8px;      stroke: #707070; }
+			.highway-tertiary-mrcy2-casing               { stroke-width: 2.6px;      stroke: #d1fad1; }
+			.highway-tertiary-mrcy3-casing               { stroke-width: 2.0px;     stroke: #809BC0; }
+			.highway-tertiary-mrcy4-casing               { stroke-width: 2.0px;     stroke: #FDBF6F; }
+			.highway-tertiary-area-casing           { stroke-width: 0.3px; }
+			.highway-tertiary-core                  { stroke-width: 1.5px;   stroke: #ffff90; }
+			.highway-tertiary-area                  { fill: #ffff90; }
+			.highway-tertiary-name                  { stroke-width: 0px;     font-size: 1.25px; }
+			.highway-tertiary-ref                    { stroke-width: 0px;     font-size: 1.5px; }
+
+			.highway-tertiary-link-bridge-casing    { stroke-width: 2.5px; }
+			.highway-tertiary-link-bridge-core      { stroke-width: 2.2px; }
+			.highway-tertiary-link-casing           { stroke-width: 1.8px;  stroke: #707070; }
+			.highway-tertiary-link-cy1-casing       { stroke-width: 2.55px;  stroke: #707070; }
+			.highway-tertiary-link-cy2-casing       { stroke-width: 2.3px;   stroke: #d1fad1; }
+			.highway-tertiary-link-mr1-casing       { stroke-width: 2.3px;      stroke: #707070; }
+			.highway-tertiary-link-mr2-casing       { stroke-width: 2.15px;     stroke: #809BC0; }
+			.highway-tertiary-link-mrcy1-casing               { stroke-width: 2.8px;      stroke: #707070; }
+			.highway-tertiary-link-mrcy2-casing               { stroke-width: 2.6px;      stroke: #d1fad1; }
+			.highway-tertiary-link-mrcy3-casing               { stroke-width: 2.0px;     stroke: #809BC0; }
+			.highway-tertiary-link-mrcy4-casing               { stroke-width: 2.0px;     stroke: #FDBF6F; }
+			.highway-tertiary-link-area-casing      { stroke-width: 0.3px; }
+			.highway-tertiary-link-core             { stroke-width: 1.5px;   stroke: #ffff90; }
+			.highway-tertiary-link-area             { fill: #ffff90; }
+			.highway-tertiary-link-name             { stroke-width: 0px;     font-size: 1.25px; }
+			.highway-tertiary-link-ref              { stroke-width: 0px;     font-size: 1.5px; }
+
+			.highway-unclassified-bridge-casing     { stroke-width: 2.35px; }
+			.highway-unclassified-bridge-core       { stroke-width: 2.05px; }
+			.highway-unclassified-casing            { stroke-width: 1.65px;  stroke: #707070; }
+			.highway-unclassified-cy1-casing        { stroke-width: 2.4px;  stroke: #707070; }
+			.highway-unclassified-cy2-casing        { stroke-width: 2.1px;  stroke: #d1fad1; }
+			.highway-unclassified-area-casing       { stroke-width: 0.3px; }
+			.highway-unclassified-core              { stroke-width: 1.35px; stroke: #ffffff; }
+			.highway-residential-bridge-casing      { stroke-width: 2.2px; }
+			.highway-residential-bridge-core        { stroke-width: 1.9px; }
+			.highway-residential-casing             { stroke-width: 1.5px;  stroke: #707070; }
+			.highway-residential-cy1-casing         { stroke-width: 2.3px;  stroke: #707070; }
+			.highway-residential-cy2-casing         { stroke-width: 2.15px; stroke: #d1fad1; }
+			.highway-residential-area-casing        { stroke-width: 0.15px; }
+			.highway-residential-core               { stroke-width: 1.35px; stroke: #ffffff; }
+			.highway-ford-core                      { stroke-width: 1.25px; stroke: #b5d6f1; stroke-linecap: butt; }
+			.highway-unclassified-area              { fill: #ffffff; }
+			.highway-residential-area               { fill: #ffffff; }
+			.highway-unclassified-name              { stroke-width: 0px;     font-size: 1.25px; }
+			.highway-unclassified-ref               { stroke-width: 0px;     font-size: 1.5px; }
+			.highway-unclassified-turningcircle-casing     { fill: #707070; }
+			.highway-unclassified-turningcircle-core     { fill: #ffffff; }
+			.highway-road-core                      { stroke-width: 1.25px;   stroke: #d0d0d0; }
+			.highway-road-area                      { fill: #d0d0d0; }
+
+			.highway-livingstreet-casing            { stroke-width: 1.5px;  stroke: #707070; }
+			.highway-livingstreet-area-casing       { stroke-width: 0.15px; }
+			.highway-livingstreet-core-1            { stroke-width: 1.35px; stroke: #ffffff; }
+			.highway-livingstreet-core-2            { stroke-width: 1.35px; stroke: #e5e0c2; stroke-dasharray: 0.35,0.5; stroke-linecap: butt; }
+			.highway-livingstreet-area-1            { fill: #ffffff; }
+			.highway-livingstreet-area-2            { fill: url(#livingstreet-pattern); stroke: #e5e0c2; stroke-width: 0px; }
+
+			.highway-cycleroad-casing               { stroke-width: 1.5px;  stroke: #707070; }
+			.highway-cycleroad-area-casing          { stroke-width: 0.15px; }
+			.highway-cycleroad-core-1               { stroke-width: 1.35px; stroke: #ffffff; }
+			.highway-cycleroad-core-2               { stroke-width: 1.35px; stroke: #d1fad1; stroke-dasharray: 0.35,0.5; stroke-linecap: butt; }
+			.highway-cycleroad-area-1               { fill: #ffffff; }
+			.highway-cycleroad-area-2               { fill: url(#cycleroad-pattern); stroke: #d1fad1; stroke-width: 0px; }
+			.highway-cycleroad-core-3               { stroke-width: 1.35px;   stroke: #d1fad1; }
+			.highway-cycleroad-area-3               { fill: #d1fad1; }
+
+			.highway-service-bridge-casing          { stroke-width: 1.6px; }
+			.highway-service-bridge-core            { stroke-width: 1.4px; }
+			.highway-service-casing                 { stroke-width: 1.0px;   stroke: #707070; }
+			.highway-service-cy1-casing             { stroke-width: 1.8px;   stroke: #707070; }
+			.highway-service-cy2-casing             { stroke-width: 1.65px;   stroke: #d1fad1; }
+			.highway-service-area-casing            { stroke-width: 0.15px; }
+			.highway-service-core                   { stroke-width: 0.85px;   stroke: #ffffff; }
+			.highway-service-area                   { fill: #ffffff; }
+			.highway-service-name                   { stroke-width: 0px;     font-size: 1.25px; }
+			.highway-service-ref                    { stroke-width: 0px;     font-size: 1.25px; }
+
+			.highway-aisle-bridge-casing            { stroke-width: 1.2px; }
+			.highway-aisle-bridge-core              { stroke-width: 1.0px; }
+			.highway-aisle-casing                   { stroke-width: 0.6px;   stroke: #707070; }
+			.highway-aisle-area-casing              { stroke-width: 0.1px; }
+			.highway-aisle-core                     { stroke-width: 0.5px;   stroke: #ffffff; }
+			.highway-aisle-area                     { fill: #ffffff; }
+
+			.highway-unsurfaced-bridge-casing       { stroke-width: 1.95px; }
+			.highway-unsurfaced-bridge-core         { stroke-width: 1.65px; }
+			.highway-unsurfaced-casing              { stroke-width: 1.25px;   stroke: #707070; stroke-dasharray: 1, 0.5; stroke-linecap: butt; }
+			.highway-unsurfaced-cy1-casing          { stroke-width: 2.05px;   stroke: #707070; stroke-dasharray: 1, 0.5; stroke-linecap: butt; }
+			.highway-unsurfaced-cy2-casing          { stroke-width: 1.8px;    stroke: #d1fad1;                           stroke-linecap: butt; }
+			.highway-unsurfaced-area-casing         { stroke-width: 0.25px; }
+			.highway-unsurfaced-core                { stroke-width: 1px;   stroke: #ffffff; }
+			.highway-unsurfaced-area                { fill: #ffffff; }
+			.highway-unsurfaced-name                { stroke-width: 0px;     font-size: 1.25px; }
+			.highway-unsurfaced-ref                 { stroke-width: 0px;     font-size: 1.25px; }
+
+			.highway-track-bridge-casing            { stroke-width: 1.6px; }
+			.highway-track-bridge-core              { stroke-width: 1.4px; }
+			.highway-track-back-casing              { stroke-width: 1.15px;  stroke: #ffffff; stroke-linecap: round; stroke-opacity: 0.7; }
+			.highway-track-casing                   { stroke-width: 1.0px;   stroke: #d79331; }
+			.highway-track-area-back-casing         { stroke-width: 0.4px;   stroke: #ffffff; }
+			.highway-track-area-casing              { stroke-width: 0.275px; stroke: #d79331; }
+			.highway-track-core                     { stroke-width: 0.7px;   }
+			.highway-track-core2                    { stroke-width: 0.75px;  }
+			.highway-track-area                     { fill: #ffffff; }
+			.highway-track-name                     { stroke-width: 0px;     font-size: 1.25px; }
+			.highway-track-ref                      { stroke-width: 0px;     font-size: 1.25px; }
+
+			.highway-track-gradex-casing            { stroke-dasharray: 1.8, 0.2; stroke-linecap: butt; }
+			.highway-track-grade1-casing            { }
+			.highway-track-grade2-casing            { stroke-dasharray: 1.8, 0.9; stroke-linecap: butt; }
+			.highway-track-grade3-casing            { stroke-dasharray: 1.0, 1.3; stroke-linecap: butt; }
+			.highway-track-grade4-casing            { stroke-dasharray: 0.5, 1.0, 0.3, 1.0; stroke-linecap: butt; }
+			.highway-track-grade5-casing            { stroke-dasharray: 0.3, 1.0; stroke-linecap: butt; }
+
+			.highway-track-gradex-core                     { stroke: #fff2de; }
+			.highway-track-grade1-core                     { stroke: #fffaf2; }
+			.highway-track-grade2-core                     { stroke: #fff2de; }
+			.highway-track-grade3-core                     { stroke: #fff2de; }
+			.highway-track-grade4-core                     { stroke: #fff2de; }
+			.highway-track-grade5-core                     { stroke: #fff2de; }
+			.highway-track-gradex-area                     { fill: #fff2de; }
+			.highway-track-grade1-area                     { fill: #fffaf2; }
+			.highway-track-grade2-area                     { fill: #fff2de; }
+			.highway-track-grade3-area                     { fill: #fff2de; }
+			.highway-track-grade4-area                     { fill: #fff2de; }
+			.highway-track-grade5-area                     { fill: #fff2de; }
+
+			.highway-byway-bridge-casing            { stroke-width: 1.6px; }
+			.highway-byway-bridge-core              { stroke-width: 1.4px; }
+			.highway-byway-1-casing                 { stroke-width: 1px;     stroke: #505050;  stroke-dasharray: 0.7, 0.2; stroke-linecap: butt;}
+			.highway-byway-1-area-casing            { stroke-width: 0.2px;}
+			.highway-byway-2-casing                 { stroke-width: 0.8px;   stroke: #efadaa; }
+			.highway-byway-2-area-casing            { stroke-width: 0.0px; }
+			.highway-byway-3-casing                 { stroke-width: 1.4px;   stroke: #505050;  stroke-dasharray: 0.1, 0.8; stroke-dashoffset: 0.6; stroke-linecap: butt; }
+			.highway-byway-3-area-casing            { stroke-width: 0.7px; }
+			.highway-byway-1-core                   { stroke-width: 0.4px;   stroke: #efadaa; }
+			.highway-byway-area                     { fill: #efadaa; }
+			.highway-byway-name                     { stroke-width: 0px;     font-size: 1.25px; }
+			.highway-byway-ref                      { stroke-width: 0px;     font-size: 1.25px; }
+
+			.highway-bridleway-bridge-casing        { stroke-width: 1.6px; }
+			.highway-bridleway-bridge-core          { stroke-width: 1.4px; }
+			.highway-bridleway-casing               { stroke-width: 1px;     stroke: #707070;  stroke-dasharray: 0.7, 0.2; stroke-linecap: butt; }
+			.highway-bridleway-area-casing          { stroke-width: 0.15px; }
+			.highway-bridleway-core                 { stroke-width: 0.85px;   stroke: #d3cb98; }
+			.highway-bridleway-area                 { fill: #d3cb98; }
+			.highway-bridleway-name                 { stroke-width: 0px;     font-size: 1.25px; }
+			.highway-bridleway-ref                  { stroke-width: 0px;     font-size: 1.25px; }
+
+			.highway-cycleway-bridge-casing         { stroke-width: 1.6px; }
+			.highway-cycleway-bridge-core           { stroke-width: 1.4px; }
+			.highway-cycleway-casing                { stroke-width: 1px;     stroke: #707070; stroke-dasharray: 0.2, 0.2; stroke-linecap: butt;}
+			.highway-cycleway-area-casing           { stroke-width: 0.15px; }
+			.highway-cycleway-core                  { stroke-width: 0.85px;   stroke: #d1fad1; }
+			.highway-cycleway-area                  { fill: #d1fad1; }
+			.highway-cycleway-name                  { stroke-width: 0px;     font-size: 1.25px; }
+			.highway-cycleway-ref                   { stroke-width: 0px;     font-size: 1.25px; }
+
+			.highway-pedestrian-bridge-casing       { stroke-width: 2.35px; }
+			.highway-pedestrian-bridge-core         { stroke-width: 2.05px; }
+			.highway-pedestrian-casing              { stroke-width: 1.5px;   stroke: #707070; }
+			.highway-pedestrian-cy1-casing          { stroke-width: 2.3px;   stroke: #707070; }
+			.highway-pedestrian-cy2-casing          { stroke-width: 2.15px;   stroke: #d1fad1; }
+			.highway-pedestrian-area-casing         { stroke-width: 0.15px; }
+			.highway-pedestrian-core                { stroke-width: 1.35px;   stroke: #e5e0c2; }
+			.highway-pedestrian-area                { fill: #e5e0c2; }
+			.highway-pedestrian-name                { stroke-width: 0px;     font-size: 1px; }
+			.highway-pedestrian-ref                 { stroke-width: 0px;     font-size: 1.25px; }
+
+			.highway-footway-bridge-casing          { stroke-width: 1.2px; }
+			.highway-footway-bridge-core            { stroke-width: 1px; }
+			.highway-footway-casing                 { stroke-width: 0.6px;   stroke: #707070; stroke-dasharray: 0.2, 0.2; stroke-linecap: butt; }
+			.highway-footway-cy1-casing             { stroke-width: 1.4px;   stroke: #707070; stroke-dasharray: 0.2, 0.2; stroke-linecap: butt; }
+			.highway-footway-cy2-casing             { stroke-width: 1.25px;  stroke: #d1fad1;                             stroke-linecap: butt; }
+			.highway-footway-area-casing            { stroke-width: 0.15px;}
+			.highway-footway-core                   { stroke-width: 0.45px;   stroke: #e5e0c2; }
+			.highway-footway-area                   { fill: #e5e0c2; }
+			.highway-footway-name                   { stroke-width: 0px;     font-size: 1.25px; }
+			.highway-footway-ref                    { stroke-width: 0px;     font-size: 1.25px; }
+
+			/* render unmarked paths in the same color as highway=road */
+			.highway-path-core                      { stroke-width: 0.45px;   stroke: #d0d0d0; }
+			.highway-path-area                      { fill: #d0d0d0; }
+
+			.highway-steps-bridge-casing            { stroke-width: 1.2px; }
+			.highway-steps-bridge-core              { stroke-width: 1.0px; }
+			.highway-steps-casing                   { stroke-width: 0.6px;    stroke: #707070; }
+			.highway-steps-casing-ramp              { stroke-width: 0.45px;   stroke: #707070; }
+			.highway-steps-casing-ramp-bicycle      { stroke-width: 0.75px;   stroke: #30c030; }
+			.highway-steps-casing-ramp-stroller     { stroke-width: 0.75px;   stroke: #c03030; }
+			.highway-steps-casing-ramp-wheelchair   { stroke-width: 0.75px;   stroke: #3030c0; }
+			.highway-steps-casing-ramp-yes          { stroke-width: 0.75px;   stroke: #30c0c0; }
+			.highway-steps-casing-ramp-no	          { stroke-width: 0.75px;   stroke: #303030; }
+
+			.highway-steps-area-casing              { stroke-width: 0.15px; }
+			.highway-steps-core                     { stroke-width: 0.45px;   stroke: #e5e0c2; stroke-dasharray: 0.3, 0.1; stroke-linecap: butt;}
+			.highway-steps-name                     { stroke-width: 0px;     font-size: 1.25px; }
+			.highway-steps-ref                      { stroke-width: 0px;     font-size: 1.25px; }
+
+			.highway-scramble-core                  { stroke-width: 0.15px;  stroke: #707070; stroke-dasharray: 0.8, 0.2; stroke-linecap: butt;}
+			.highway-scramble-name                  { stroke-width: 0.5px;   fill: black;  font-size: 1.25px; }
+
+			/* Aeroways */
+			.aeroway-aerodrome {
+			stroke-width: 0.5px;
+			stroke: #000000;
+			fill: #d8dcce;
+			}
+
+			.aeroway-apron {
+			stroke-width: 0.3px;
+			stroke: none;
+			fill: #f0f0f0;
+			}
+
+			.aeroway-taxiway-casing {
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #000000;
+			fill: none;
+			}
+
+			.aeroway-taxiway-core {
+			stroke-width: 2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #d4dcbd;
+			fill: none;
+			}
+
+			.aeroway-runway-core {
+			stroke-width: 5px;
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			stroke: #d4dcbd;
+			fill: none;
+			}
+
+			.aeroway-runway-casing {
+			stroke-width: 7px;
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			stroke: #000000;
+			fill: none;
+			}
+
+			.aeroway-aerodrome-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.3px;
+			font-family: "DejaVu Sans";
+			font-size: 6px;
+			font-weight: bold;
+			}
+
+			.aeroway-airport-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.3px;
+			font-family: "DejaVu Sans";
+			font-size: 10px;
+			font-weight: bold;
+			}
+
+			/* Waterways */
+			.waterway-name-casing {
+			stroke: #303030;
+			fill: white;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+
+			.waterway-name-core {
+			stroke: green;
+			fill: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+
+			.waterway-casing {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b0b0b0;
+			fill: none;
+			}
+
+			.waterway-core {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b5d6f1;
+			fill: none;
+			}
+
+			.waterway-riverbank {
+			fill: #b5d6f1;
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+
+			.waterway-lock-casing                   { stroke: #000000; stroke-width: 2.0px; stroke-linecap: butt; }
+			.waterway-lock-core                     { stroke: #f8f8f8; stroke-width: 1.5px; stroke-linecap: butt; }
+
+			.waterway-river-casing                  { stroke-width: 1px; }
+			.waterway-river-core                    { stroke-width: 1px; }
+			.waterway-river-tunnel-core             { stroke-width: 0.8px; stroke-dasharray: 1.5, 1.5; }
+			.waterway-river-name-casing             { font-size: 1.5px; stroke-width: 0.1px;}
+			.waterway-river-name-core               { font-size: 1.5px; }
+
+			.waterway-stream-casing                 { stroke-width: 0.275px; }
+			.waterway-stream-core-ephemeral         { stroke-width: 0.275px; stroke-dasharray: 0.2, 0.2; stroke-linecap: butt; }
+			.waterway-stream-core-intermittent      { stroke-width: 0.275px; stroke-dasharray: 0.3, 0.1; stroke-linecap: butt; }
+			.waterway-stream-core                   { stroke-width: 0.275px; }
+			.waterway-stream-tunnel-core            { stroke-width: 0.2px; stroke-dasharray: 0.4, 0.4; }
+			.waterway-stream-name-casing            { stroke-width: 0.1px; font-size: 1.5px; }
+			.waterway-stream-name-core              { font-size: 1.5px; }
+
+			.waterway-canal-casing                  { stroke-width: 1px; }
+			.waterway-canal-core                    { stroke-width: 0.8px; }
+			.waterway-canal-tunnel-core             { stroke-width: 0.8px; stroke-dasharray: 1.5, 1.5; }
+			.waterway-canal-name-casing             { stroke-width: 0.1px; font-size: 1.5px; }
+			.waterway-canal-name-core               { font-size: 1.5px; }
+
+			.waterway-drain-casing                  { stroke-width: 1px; }
+			.waterway-drain-core                    { stroke-width: 0.8px; }
+			.waterway-drain-tunnel-core             { stroke-width: 0.8px; stroke-dasharray: 1.5, 1.5; }
+			.waterway-drain-name-casing             { stroke-width: 0.1px; font-size: 1.5px; }
+			.waterway-drain-name-core               { font-size: 1.5px; }
+
+			.waterway-ditch-casing                  { stroke-width: 0.1px; }
+			.waterway-ditch-core                    { stroke-width: 0.1px; }
+			.waterway-ditch-tunnel-core             { stroke-width: 0.08px; stroke-dasharray: 0.4, 0.4; }
+			.waterway-ditch-name-casing             { stroke-width: 0.08px; font-size: 1.5px; }
+			.waterway-ditch-name-core               { font-size: 1.5px; }
+
+			.waterway-dam {
+			stroke: #000000;
+			stroke-width: 0.5px;
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			}
+			.waterway-weir {
+			stroke: #000044;
+			stroke-width: 0.375px;
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			}
+
+
+			/* Generic under-construction style - makes any way dashed */
+			.under-construction-1 { stroke-width: 0.1px; stroke: #707070; stroke-dasharray: 0.5, 0.5; stroke-linecap: butt; fill:none; }
+			.under-construction-2 { stroke-dasharray: 4, 4; stroke-linecap: butt;}
+			.wrong-under-construction { stroke-width: 1.5px; stroke: #ffffff; stroke-dasharray: 4, 4; fill:none; }
+
+			/* Generic planned style - makes any way dashed */
+			.planned { stroke-dasharray: 0.5, 3; stroke-linecap: butt;}
+
+			/* Generic disused style - makes any way dashed */
+			.disused-1 { stroke-dasharray: 1, 2; stroke-linecap: butt;}
+			.disused-2 { stroke-width: 3px; stroke: #600000; stroke-dasharray: 0.1, 2.9; stroke-dashoffset: 2.55; stroke-linecap: butt; fill:none; }
+
+			/* Generic abandoned style - makes any way dashed */
+			.abandoned-1 { stroke-dasharray: 0.7, 5.8; stroke-linecap: butt; }
+			.abandoned-2 { stroke-linecap: butt; stroke-width: 3px; stroke: #600000; stroke-dasharray: 0.3, 6.2; stroke-dashoffset: 6.2; fill:none; }
+
+			/* Ferry */
+			.route-ferry {
+			stroke-width: 0.3px;
+			stroke-dasharray: 1.5,1;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			}
+
+			/* Place names */
+			/* General style for captions */
+			.place-caption {
+			fill: black;
+			stroke: none;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			}
+
+			.caption-casing {
+			fill: white;
+			stroke-opacity: 1;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+
+			.caption-core {
+			stroke: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+
+			.peak-caption           { font-size: 2px; }
+			.pass-caption           { font-size: 2px; }
+			.cave-caption           { font-size: 2px; }
+			.island-caption         { font-size: 2px; }
+			.islet-caption          { font-size: 1.5px; }
+			.village-caption        { font-size: 3px; }
+			.suburb-caption         { font-size: 3px; }
+			.hamlet-caption         { font-size: 2px; }
+			.locality-caption       { font-size: 2px; }
+			.farm-caption           { font-size: 1.5px; }
+
+			.housenumber-interpolation {
+			fill: none;
+			stroke: #b0b0b0;
+			stroke-width: 0.125px;
+			}
+
+			.housenumber-interpolation-all {
+			}
+
+			.housenumber-interpolation-even {
+			stroke-dasharray: 0.5 0.5;
+			}
+
+			.housenumber-interpolation-odd {
+			stroke-dasharray: 0.2 0.2;
+			}
+
+			.housenumber-node {
+			stroke: #b0b0b0;
+			stroke-width: 0.005;
+			fill-opacity: 0.5;
+			fill: #ffffff;
+			}
+			
+			.housenumber-left {
+			text-anchor: start;
+			}
+			
+			.housenumber-center {
+			text-anchor: middle;
+			}
+
+			.housenumber-casing {
+			stroke-width: 0.2px;
+			fill: #ffffff;
+			stroke: #ffffff;
+			stroke-opacity: 1;
+			font-family: "DejaVu Sans";
+			stroke-miterlimit: 1.5;
+			font-size: 0.8px;
+			}
+
+			.housenumber-caption {
+			stroke-width: 0px;
+			fill: #606060;
+			font-family: "DejaVu Sans";
+			stroke-miterlimit: 1.5;
+			font-size: 0.8px;
+			}
+
+			/* Natural */
+			.natural-water {
+			fill: #b5d6f1;
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+
+			.natural-water-marsh {
+			fill: url(#marsh-pattern);
+			stroke: #007fff;
+			stroke-width: 0px;
+			}
+
+			.natural-coastline {
+			fill: #b5d6f1;
+			stroke: #b5d6f1;
+			stroke-width: 0.4px;
+			}
+
+			.natural-glacier {
+			fill: #fafaff;
+			stroke: lightblue;
+			stroke-width: 0.8px;
+			}
+
+			.natural-land {
+			fill: #f8f8f8;
+			stroke: #e0e0e0;
+			stroke-width: 0.1px;
+			}
+
+			.natural-heath {
+			fill: #ffffc0;
+			stroke: #ffff90;
+			stroke-width: 0.2px;
+			}
+
+			.wetland-bog {
+			fill: #946e50;
+			stroke: #3f1f06;
+			stroke-width: 0.2px;
+			}
+
+			.natural-beach {
+			fill: #eecc55;
+			stroke: none;
+			}
+
+			.mountain_pass {
+			fill: none;
+			<!-- don't remove. otherwise the waymarker will get clipped -->
+			stroke: red;
+			stroke-opacity: 0;
+			marker-mid: url(#mountain-pass);
+			}
+
+			/* Landuse */
+			.landuse-wood {
+			fill: #6fc18e;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-wood-coniferous {
+			fill: url(#wood-coniferous-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-wood-deciduous {
+			fill: url(#wood-deciduous-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-wood-mixed {
+			fill: url(#wood-mixed-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-cemetery {
+			fill: url(#cemetery-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-cemetery-christian {
+			fill: url(#cemetery-christian-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-vineyard {
+			fill: url(#vineyard-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-field {
+			fill: #ebfff2;
+			stroke: #9ee673;
+			stroke-width: 0.1px;
+			}
+			.landuse-allotment-village {
+			fill: #bde3cb;
+			stroke: #6fc13d;
+			stroke-width: 0.2px;
+			}
+			.access-area-border-width-landuse-field {
+			stroke-width: 0.3px;
+			}
+
+			.landuse-residential {
+			stroke: none;
+			fill: #e4e4e4;
+			}
+
+			.landuse-industrial {
+			fill: #ecd8ff;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-construction {
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			fill: #a47c41;
+			}
+
+			.landuse-commercial {
+			fill: #ffffc0;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-garages {
+			stroke: none;
+			fill: #d6d6e4;
+			}
+
+			.landuse-quarry {
+			fill: #e9dd72;
+			stroke: #556b2f;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-retail {
+			fill: #ffebeb;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-runway {
+			stroke-width: 0.3px;
+			stroke: #808080;
+			fill: #d4dcbd;
+			}
+
+			.landuse-runway-disused {
+			stroke-width: 0.3px;
+			stroke: #808080;
+			fill: #d4dcbd;
+			stroke-dasharray: 1, 1;
+			}
+
+			.landuse-runway-dismantled {
+			stroke-width: 0.3px;
+			stroke: #808080;
+			fill: #fcffef;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+
+			.breakwater {
+			fill: none;
+			stroke-width: 0.8px;
+			stroke: #707070;
+			}
+
+			.artificial-pier-area {
+			stroke: #d0d0d0;
+			stroke-width: 0.05px;
+			fill: #e4e4e4;
+			}
+
+			.artificial-pier-core {
+			stroke-width: 0.3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #e4e4e4;
+			fill: none;
+			}
+
+			.artificial-pier-casing {
+			stroke-width: 0.4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #d0d0d0;
+			fill: none;
+			}
+
+			.landuse-conservation {
+			fill: #cfeca8;
+			stroke: #6fc18e;
+			stroke-width: 0.2px
+			}
+			.access-area-border-width-landuse-conservation {
+			stroke-width: 0.8px;
+			}
+
+			/* Leisure */
+			.leisure-park {
+			fill: #c7f1a3;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.access-area-border-width-leisure-park {
+			stroke-width: 0.8px;
+			}
+
+			.leisure-dog_park {
+			fill: url(#leisure-dog_park-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.leisure-stadium {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.leisure-track-area {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.025px;
+			}
+
+			.leisure-track-casing {
+			fill: none;
+			stroke: #6fc18e;
+			stroke-width: 0.75px;
+			}
+
+			.leisure-track-core {
+			fill: none;
+			stroke: #bde3cb;
+			stroke-width: 0.7px;
+			}
+
+			.leisure-swimming-pool {
+			fill: #b5d6f1;
+			stroke: #6060ff;
+			stroke-width: 0.2px;
+			}
+
+			.leisure-national_park {
+			fill: url(#national-park-pattern);
+			}
+			.leisure-nature_reserve {
+			fill: url(#nature-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.leisure-landscape_reserve {
+			fill: url(#landscape-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.sport {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.sport-swimming {
+			fill: #b5d6f1;
+			stroke: #6060ff;
+			stroke-width: 0.2px;
+			}
+
+			.sport-tennis {
+			fill: #d18a6a;
+			stroke: #B36C4C;
+			stroke-width: 0.2px;
+			}
+
+			.amenity-parking {
+			fill: #ffffc0;
+			stroke: #e9dd72;
+			stroke-width: 0.2px;
+			}
+
+			.amenity-school {
+			fill: #cdabde;
+			stroke: #e9dd72;
+			stroke-width: 0.2px;
+			}
+
+			/* Non-physical boundaries */
+			.boundary {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			fill: none;
+			}
+
+			.boundary-level-1-casing {
+			stroke-width: 1.75px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+
+			.boundary-level-1-core {
+			stroke-width: 0.25px;
+			stroke: #f9574b;
+			stroke-dasharray: 1.5, 0.5, 0.5, 0.5;
+			}
+
+			.boundary-level-2-casing {
+			stroke-width: 0.75px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+
+			.boundary-level-2-core {
+			stroke-width: 0.25px;
+			stroke: #f9574b;
+			stroke-dasharray: 1.5, 1.5;
+			}
+
+			.boundary-level-3-core {
+			stroke-width: 0.25px;
+			stroke: #f9574b;
+			}
+
+			.boundary-level-4-core {
+			stroke-width: 0.25px;
+			stroke: #f9574b;
+			stroke-dasharray: 1.5, 0.5, 0.5, 0.5;
+			}
+
+			.boundary-level-5-core {
+			stroke-width: 0.25px;
+			stroke: #f9574b;
+			stroke-dasharray: 1.5, 1.5;
+			}
+
+			.boundary-level-6-core {
+			stroke-width: 0.25px;
+			stroke: #f9574b;
+			stroke-dasharray: 0.5, 2.5;
+			}
+
+			.boundary-level-7-core {
+			stroke-width: 0.1px;
+			stroke: #f9574b;
+			}
+
+			.boundary-level-8-core {
+			stroke-width: 0.1px;
+			stroke: #f9574b;
+			stroke-dasharray: 1.5, 0.5, 0.5, 0.5;
+			}
+
+			.boundary-level-9-core {
+			stroke-width: 0.1px;
+			stroke: #f9574b;
+			stroke-dasharray: 1.5, 1.5;
+			}
+
+			.boundary-level-10-core {
+			stroke-width: 0.1px;
+			stroke: #f9574b;
+			stroke-dasharray: 0.5, 2.5;
+			}
+
+			.boundary-level-11-core {
+			stroke-width: 0.1px;
+			stroke: #f9574b;
+			stroke-dasharray: 0.1, 0.65;
+			}
+
+			.boundary-nationalpark-core {
+			stroke-width: 0.25px;
+			stroke: #4ef94b;
+			stroke-dasharray: 1.5, 0.5, 0.5, 0.5;
+			}
+
+			/* Racetracks */
+			.highway-racetrack-core {
+			stroke-width: 1.5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #f0f0f0;
+			}
+
+			.highway-racetrack-casing-red {
+			stroke-width: 1.7px;
+			stroke-dasharray: 0.2, 0.2;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ff0000;
+			}
+
+			.highway-racetrack-casing-white {
+			stroke-width: 1.7px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ffffff;
+			}
+
+			.highway-raceway-casing {
+			stroke-width: 2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #101010;
+			}
+
+			.highway-raceway-casing-disused {
+			stroke-width: 2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 1, 1;
+			}
+
+			.highway-raceway-casing-dismantled {
+			stroke-width: 2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+
+			.highway-raceway-core {
+			stroke-width: 1.5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #f0f0f0;
+			}
+
+			.highway-raceway-core-disused {
+			stroke-width: 1.5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke-dasharray: 1, 1;
+			stroke: #f0f0f0;
+			}
+
+			.highway-raceway-core-dismantled {
+			stroke-width: 1.5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ffffff;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+
+			.landuse-raceway {
+			stroke-width: 0.3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #101010;
+			}
+
+			.landuse-raceway-disused {
+			stroke-width: 0.3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #808080;
+			stroke-dasharray: 1, 1;
+			}
+
+			.landuse-raceway-dismantled {
+			stroke-width: 0.3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #ffffff;
+			stroke: #808080;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+
+			.railway-station                        { fill: #ec2d2d;        stroke: #606060; stroke-width: 0.25px; }
+			.railway-station-caption-casing         { stroke-width: 0.5px;  font-size: 1.5px; }
+			.railway-station-caption-core           { fill: #ec2d2d;        font-size: 1.5px; }
+
+			.railway-halt                           { fill: #ec2d2d;        stroke: #606060; stroke-width: 0.1px; }
+			.railway-halt-caption-casing            { stroke-width: 0.4px;  font-size: 1.25px; }
+			.railway-halt-caption-core              { fill: #ec2d2d;        font-size: 1.25px; }
+
+			.highway-platform-area                  { stroke: none; fill: #9b9b79; }
+			.highway-platform-area-casing           { stroke: #707070; stroke-width: 0.3px; fill: none; }
+			.highway-platform-way-casing            { stroke: #707070; stroke-width: 0.6px; fill: none; stroke-linecap: square; }
+			.highway-platform-way-core              { stroke: #9b9b79; stroke-width: 0.3px; fill: none; }
+			.highway-platform-node                  { stroke: #707070; stroke-width: 0.15px; fill: #9b9b79; }
+			.highway-platform-ref                   { font-family: "DejaVu Sans"; font-size: 0.8px; stroke: #707070; stroke-width: 0.005px; text-anchor: middle;}
+
+			/* Tourism */
+			.tourism-attraction {
+			fill: #f2caea;
+			stroke: #ff00ff;
+			stroke-width: 0px;
+			}
+			.tourism-green-area {
+			fill: #c7f1a3;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.tourism-attraction-caption {
+			fill: #ff00ff;
+			stroke: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-size: 1px;
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			.fountain {
+				stroke: #000080;
+				stroke-width: 0.15px;
+				fill: #b5d6f1;
+			}
+
+			.man_made-lighthouse-caption-casing  { stroke-width: .5px;   font-size: 1px; }
+			.man_made-lighthouse-caption-core    { fill: #ec2d2d;        font-size: 1px; }
+
+			.man_made-wastewater {
+			fill: #e4e4e4;
+			}
+
+			.amenity-pub-caption-casing          { stroke-width: .3px;   font-size: 1px; }
+			.amenity-pub-caption-core            { fill: #ec2d2d;        font-size: 1px; }
+			
+			.amenity-bar-caption-casing          { stroke-width: .3px;   font-size: 1px; }
+                        .amenity-bar-caption-core            { fill: #ec2d2d;        font-size: 1px; }
+
+
+			.amenity-cinema-caption-casing       { stroke-width: .3px;   font-size: 1px; }
+			.amenity-cinema-caption-core         { fill: #ff00ff;        font-size: 1px; }
+
+			.amenity-theatre-caption-casing      { stroke-width: .3px;   font-size: 1px; }
+			.amenity-theatre-caption-core        { fill: #ff00ff;        font-size: 1px; }
+
+			.sport-caption-core { font-weight: bold; fill: #590904; font-size: 1.3px; }
+
+			.generic-caption-casing              { stroke-width: .18px;  font-size: 1px; }
+			.generic-caption-core                { fill: #4040ff;        font-size: 1px; }
+
+			.generic-poi {
+			fill: #4040ff;
+			stroke: #606060;
+			stroke-width: 0.1px;
+			}
+
+			/* Building */
+			.building {
+			fill: #e0e0e0;
+			stroke: #d0d0d0;
+			stroke-width: 0.2px;
+			}
+
+			.building-block {
+			fill: #F3D6B6;
+			stroke: #6a5a8e;
+			stroke-width: 0.2px;
+			}
+
+			.building-residential {
+			fill: #c95e2a;
+			stroke: #800000;
+			stroke-width: 0.2px;
+			}
+
+			/* Aerialway */
+			.aerialway-line {
+			fill: none;
+			stroke: #202020;
+			stroke-width: 0.4px;
+			}
+
+			.aerialway-cablecar-marker {
+			marker-start:url(#marker-cablecar);
+			}
+
+			.aerialway-gondola-marker {
+			marker-start:url(#marker-gondola);
+			}
+
+			.aerialway-chairlift2-marker {
+			marker-start:url(#marker-chair-lift-2);
+			}
+
+			.aerialway-chairlift4-marker {
+			marker-start:url(#marker-chair-lift-4);
+			}
+
+			.aerialway-mixedlift-marker {
+			marker-start:url(#marker-mixed-lift);
+			}
+
+			.aerialway-struts {
+			fill: none;
+			stroke: #202020;
+			stroke-width: 4px;
+			stroke-dasharray: 0.2,20;
+			}
+
+			.aerialway-station {
+			fill: #ec2d2d;
+			stroke: #606060;
+			stroke-width: 0.1px;
+			}
+
+			.aerialway-name {
+			fill: #606060;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 4px;
+			stroke: none;
+			text-anchor: middle;
+			}
+
+			.aerialway-elevation-text {
+			fill: #606060;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 3px;
+			text-anchor: middle;
+			}
+
+			.military-area {
+			fill: url(#military-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+
+			/* surface lifts */
+			.piste-lift-t-bar-marker {
+			marker-start:url(#marker-piste-lift-t-bar);
+			}
+
+			.piste-lift-rope-tow {
+			fill: none;
+			stroke: #a47c41;
+			stroke-width: 0.5px;
+			stroke-dasharray: 1,1;
+			stroke-linecap: square;
+			}
+
+			.piste-lift-magic-carpet {
+			fill: none;
+			stroke: #101010;
+			stroke-width: 0.8px;
+			}
+
+			/* Piste maps */
+			.piste-core {
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke-width: 5px;
+			opacity: 0.66;
+			}
+
+			.piste-area {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke-width: 5px;
+			opacity: 0.66;
+			}
+
+			.piste-difficulty-novice       { stroke: #40ff40; }
+			.piste-difficulty-easy         { stroke: #4040ff; }
+			.piste-difficulty-intermediate { stroke: #ff4040; }
+			.piste-difficulty-advanced     { stroke: #000000; }
+			.piste-difficulty-expert       { stroke: #f6800a; }
+			.piste-difficulty-freeride     { stroke: #f6dd0a; }
+			.piste-difficulty-other        { stroke: #505050; }
+			.piste-area-difficulty-novice       { stroke: #40ff40; fill: #40ff40; }
+			.piste-area-difficulty-easy         { stroke: #4040ff; fill: #4040ff; }
+			.piste-area-difficulty-intermediate { stroke: #ff4040; fill: #ff4040; }
+			.piste-area-difficulty-advanced     { stroke: #000000; fill: #000000; }
+			.piste-area-difficulty-expert       { stroke: #f6800a; fill: #f6800a; }
+			.piste-area-difficulty-freeride     { stroke: #f6dd0a; fill: #f6dd0a; }
+			.piste-area-difficulty-other        { stroke: #505050; fill: #505050; }
+
+			.piste-downhill-name-casing {
+			fill: #555555;
+			stroke: #555555;
+			stroke-opacity: 1;
+			stroke-width: 0.25px;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 5px;
+			text-anchor: middle;
+			}
+
+			.piste-downhill-name {
+			fill: #ffffff;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 5px;
+			text-anchor: middle;
+			}
+
+			.piste-downhill-ref {
+			fill: #000000;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 5px;
+			text-anchor: middle;
+			}
+
+			.piste-type-sled {
+			fill: none;
+			stroke: #cdabde;
+			stroke-width: 2.5px;
+			marker-start:url(#marker-piste-type-sled);
+			}
+
+			.piste-type-nordic {
+			fill: none;
+			stroke: #c00000;
+			stroke-width: 1px;
+			stroke-dasharray: 3,0.5;
+			stroke-linejoin: bevel;
+			stroke-linecap: butt;
+			marker-start:url(#marker-piste-type-nordic);
+			}
+
+			.man-made-piste-halfpipe {
+			fill: #a0f0ff;
+			stroke: #00bcdf;
+			stroke-width: 0.4px;
+			}
+
+			/* Power line and pipeline casing */
+			.powerline-pipeline-casing {
+			stroke-width: 0.2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #ffffff;
+			stroke-opacity: 0.5;
+			fill: none;
+			}
+			/* Power line */
+			.power-line {
+			stroke-width: 0.1px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #808080;
+			stroke-dasharray: 2 ,1;
+			fill: none;
+			}
+			.power-minor-line {
+			stroke-width: 0.1px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #808080;
+			stroke-dasharray: 1, 0.5;
+			fill: none;
+			}
+
+			/* Power Generator */
+			.power-wind {
+			fill: url(#power-wind-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-hydro {
+			fill: url(#power-hydro-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-photovoltaic {
+			fill: url(#power-photovoltaic-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-generic {
+			fill: url(#power-generic-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+
+
+			/* Pipelines */
+			.pipeline-unknown {
+			stroke-width: 0.1px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #a0a0a0;
+			stroke-dasharray: 0.5 ,0.5;
+			fill: none;
+			}
+
+			.pipeline-water {
+			stroke-width: 0.1px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #4080f0;
+			stroke-dasharray: 0.5 ,0.5;
+			fill: none;
+			}
+
+			.pipeline-gas {
+			stroke-width: 0.1px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #e0f000;
+			stroke-dasharray: 0.5 ,0.5;
+			fill: none;
+			}
+
+			.pipeline-oil {
+			stroke-width: 0.1px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #40f040;
+			stroke-dasharray: 0.5 ,0.5;
+			fill: none;
+			}
+
+			.pipeline-sewage {
+			stroke-width: 0.1px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #908030;
+			stroke-dasharray: 0.5 ,0.5;
+			fill: none;
+			}
+
+			.pipeline-heat {
+			stroke-width: 0.1px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #f03060;
+			stroke-dasharray: 1 ,1;
+			fill: none;
+			}
+
+			.reservoir-evaporator {
+			fill: url(#reservoir-evaporator-pattern);
+			stroke: none;
+			}
+
+			.reservoir-cooling {
+			fill: url(#reservoir-cooling-pattern);
+			stroke: none;
+			}
+
+			.reservoir-sewage {
+			fill: url(#reservoir-sewage-pattern);
+			stroke: none;
+			}
+
+			.reservoir-tailings {
+			fill: url(#reservoir-tailings-pattern);
+			stroke: none;
+			}
+
+			.basin-infiltration {
+			fill: url(#basin-infiltration-pattern);
+			stroke: none;
+			}
+			.basin-detention {
+			fill: url(#basin-detention-pattern);
+			stroke: none;
+			}
+			.basin-retention {
+			fill: url(#basin-retention-pattern);
+			stroke: none;
+			}
+
+			/* Area captions */
+			.park-name {
+			fill: #404040;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			font-size: 2.25px;
+			stroke-width: 0.0px;
+			}
+
+			.landuse-reservoir-name {
+			fill: #404040;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			font-size: 2.25px;
+			stroke-width: 0.0px;
+			}
+
+			/* Oneway */
+			.oneway-casing { fill: none; stroke-linecap: butt; stroke: #0000a0; }
+			/*    stroke: #a2aee9; */
+			.oneway-core { fill: none; stroke-linecap: butt; stroke: #ffffff; }
+			.oneway-exclcycle-casing { fill: none; stroke-linecap: butt; stroke: #7070a0; }
+			.oneway-exclcycle-core { fill: none; stroke-linecap: butt; stroke: #90ff70; }
+
+			.oneway-casing-1 { stroke-width: 0.3px; stroke-dasharray: 2.1,27.9; stroke-dashoffset: 23.1; }   /* Pfeilstrich */
+			.oneway-casing-2 { stroke-width: 0.575px; stroke-dasharray: 0.3,29.7; stroke-dashoffset: 21.7; } /* Pfeilspitzenbasis */
+			.oneway-casing-3 { stroke-width: 0.5px; stroke-dasharray: 0.3,29.7; stroke-dashoffset: 21.6; }   /* weiter nach vorne */
+			.oneway-casing-4 { stroke-width: 0.425px; stroke-dasharray: 0.4,29.6; stroke-dashoffset: 21.6; } /* ... */
+			.oneway-casing-5 { stroke-width: 0.35px; stroke-dasharray: 0.5,29.5; stroke-dashoffset: 21.6; }
+			.oneway-casing-6 { stroke-width: 0.275px; stroke-dasharray: 0.6,29.4; stroke-dashoffset: 21.6; }
+			.oneway-casing-7 { stroke-width: 0.2px; stroke-dasharray: 0.7,29.3; stroke-dashoffset: 21.6; }
+			.oneway-casing-8 { stroke-width: 0.1px; stroke-dasharray: 0.8,29.2; stroke-dashoffset: 21.6; }
+
+			.oneway-core-1 { stroke-width: 0.1px; stroke-dasharray: 2,28; stroke-dashoffset: 23.05; }
+			.oneway-core-2 { stroke-width: 0.425px; stroke-dasharray: 0.2,29.8; stroke-dashoffset: 21.65; }
+			.oneway-core-3 { stroke-width: 0.35px; stroke-dasharray: 0.3,29.7; stroke-dashoffset: 21.65; }
+			.oneway-core-4 { stroke-width: 0.275px; stroke-dasharray: 0.4,29.6; stroke-dashoffset: 21.65; }
+			.oneway-core-5 { stroke-width: 0.2px; stroke-dasharray: 0.5,29.5; stroke-dashoffset: 21.65; }
+			.oneway-core-6 { stroke-width: 0.125px; stroke-dasharray: 0.6,29.4; stroke-dashoffset: 21.65; }
+			.oneway-core-7 { stroke-width: 0.05px; stroke-dasharray: 0.7,29.3; stroke-dashoffset: 21.65; }
+
+			.oneway-casing-r1 { stroke-width: 0.3px; stroke-dasharray: 2.1,27.9; stroke-dashoffset: 23.1; }
+			.oneway-casing-r2 { stroke-width: 0.575px; stroke-dasharray: 0.3,29.7; stroke-dashoffset: 23.3; }
+			.oneway-casing-r3 { stroke-width: 0.5px; stroke-dasharray: 0.3,29.7; stroke-dashoffset: 23.4; }
+			.oneway-casing-r4 { stroke-width: 0.425px; stroke-dasharray: 0.4,29.6; stroke-dashoffset: 23.5; }
+			.oneway-casing-r5 { stroke-width: 0.35px; stroke-dasharray: 0.5,29.5; stroke-dashoffset: 23.6; }
+			.oneway-casing-r6 { stroke-width: 0.275px; stroke-dasharray: 0.6,29.4; stroke-dashoffset: 23.7; }
+			.oneway-casing-r7 { stroke-width: 0.2px; stroke-dasharray: 0.7,29.3; stroke-dashoffset: 23.8; }
+			.oneway-casing-r8 { stroke-width: 0.1px; stroke-dasharray: 0.8,29.2; stroke-dashoffset: 23.9; }
+
+			.oneway-core-r1 { stroke-width: 0.1px; stroke-dasharray: 2.05,27.95; stroke-dashoffset: 23.1; }
+			.oneway-core-r2 { stroke-width: 0.425px; stroke-dasharray: 0.2,29.8; stroke-dashoffset: 23.25; }
+			.oneway-core-r3 { stroke-width: 0.35px; stroke-dasharray: 0.3,29.7; stroke-dashoffset: 23.35; }
+			.oneway-core-r4 { stroke-width: 0.275px; stroke-dasharray: 0.4,29.6; stroke-dashoffset: 23.45; }
+			.oneway-core-r5 { stroke-width: 0.2px; stroke-dasharray: 0.5,29.5; stroke-dashoffset: 23.55; }
+			.oneway-core-r6 { stroke-width: 0.125px; stroke-dasharray: 0.6,29.4; stroke-dashoffset: 23.65; }
+			.oneway-core-r7 { stroke-width: 0.05px; stroke-dasharray: 0.7,29.3; stroke-dashoffset: 23.75; }
+
+			.otherway {
+			fill: none;
+			stroke: red;
+			stroke-width: 2px;
+			stroke-opacity: 0;
+			/* marker-start: url(#marker-otherway-start); */
+			marker-end: url(#marker-otherway-end);
+			}
+
+			/* SAC scales for paths and footways
+			colors taken from:
+			http://www.sac-cas.ch/uploads/media/SAC_Wanderskala_Vergleich_01.pdf
+			*/
+			.sac-scale-t1 {
+			stroke: red;
+			stroke-width: 0.1px;
+			fill: none;
+			}
+
+			.sac-scale-t2 {
+			stroke-dasharray: 0.5, 0.5;
+			stroke: red;
+			stroke-width: 0.1px;
+			fill: none;
+			}
+
+			.sac-scale-t3 {
+			stroke-dasharray: 0.01, 0.15;
+			stroke-linecap: round;
+			stroke: red;
+			stroke-width: 0.1px;
+			fill: none;
+			}
+
+			.sac-scale-t4 {
+			stroke: blue;
+			stroke-width: 0.1px;
+			fill: none;
+			}
+
+			.sac-scale-t5 {
+			stroke-dasharray: 0.5, 0.5;
+			stroke: blue;
+			stroke-width: 0.1px;
+			fill: none;
+			}
+
+			.sac-scale-t6 {
+			stroke-dasharray: 0.01, 0.15;
+			stroke-linecap: round;
+			stroke: blue;
+			stroke-width: 0.1px;
+			fill: none;
+			}
+
+			/* Access restrictions */
+			.access-private-line {
+			fill: none;
+			stroke: url(#access-private-pattern);
+			stroke-width: 1.5px;
+			}
+			.access-private-area {
+			fill: url(#access-private-pattern);
+			stroke: url(#access-private-pattern);
+			stroke-width: 1px;
+			}
+			.access-private-small-area {
+			fill: url(#access-private-pattern);
+			stroke: url(#access-private-pattern);
+			stroke-width: 0.5px;
+			}
+			.access-private-area-border {
+			stroke: #ff4040;
+			}
+			.access-permissive-line {
+			fill: none;
+			stroke: url(#access-permissive-pattern);
+			stroke-width: 1.5px;
+			}
+			.access-permissive-area {
+			fill: url(#access-permissive-pattern);
+			stroke: url(#access-permissive-pattern);
+			stroke-width: 1px;
+			}
+			.access-permissive-small-area {
+			fill: url(#access-permissive-pattern);
+			stroke: url(#access-permissive-pattern);
+			stroke-width: 0.5px;
+			}
+			.access-permissive-area-border {
+			stroke: #40ff40;
+			}
+			.access-destination-line {
+			fill: none;
+			stroke: url(#access-destination-pattern);
+			stroke-width: 1.5px;
+			}
+			.access-destination-area {
+			fill: url(#access-destination-pattern);
+			stroke: url(#access-destination-pattern);
+			stroke-width: 1px;
+			}
+			.access-destination-small-area {
+			fill: url(#access-destination-pattern);
+			stroke: url(#access-destination-pattern);
+			stroke-width: 0.5px;
+			}
+			.access-destination-area-border {
+			stroke: #4040ff;
+			}
+			.access-no-line {
+			fill: none;
+			stroke: url(#access-no-pattern);
+			stroke-width: 1.5px;
+			}
+			.access-no-area {
+			fill: url(#access-no-pattern);
+			stroke: url(#access-no-pattern);
+			stroke-width: 1px;
+			}
+			.access-no-small-area {
+			fill: url(#access-no-pattern);
+			stroke: url(#access-no-pattern);
+			stroke-width: 0.5px;
+			}
+			.access-no-area-border {
+			stroke: #ff4040;
+			}
+
+			/* Barriers */
+			.barrier { stroke: #000000; stroke-linecap: butt; stroke-width: 0.05px; fill: none; }
+			.barrier-bollard { stroke: #ff0000; stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.1px; }
+			.barrier-hedge-1 { stroke: #00ff00; stroke-width: 0.1px; }
+			.barrier-hedge-2 { stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.1px; }
+			.barrier-fence-1 { stroke-width: 0.1px; }
+			.barrier-fence-2 { stroke: #888888; stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.1px; }
+			.barrier-wall { stroke-width: 0.1px; }
+			.barrier-retaining-wall-1 { stroke: #888888; stroke-width: 0.1px; }
+			.barrier-retaining-wall-2 { stroke: #888888; stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.2px; }
+			.barrier-city-wall-ts-1 { stroke-width: 0.1px; }
+			.barrier-city-wall-ts-2 { stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.2px; }
+			.barrier-city-wall-1 { stroke-width: 0.1px; }
+			.barrier-city-wall-2 { stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.2px; }
+
+			/* Map decoration */
+			.map-grid-line {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0.5;
+			}
+
+			.map-border-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 3px;
+			stroke-miterlimit: 4;
+			stroke-dasharray: none;
+			stroke-opacity: 1;
+			stroke-linecap: round;
+			}
+
+			.map-border-core {
+			fill: none;
+			fill-opacity: 1;
+			fill-rule: nonzero;
+			stroke: #ffffff;
+			stroke-width: 2px;
+			stroke-miterlimit: 0;
+			stroke-dashoffset: -0.5px;
+			stroke-opacity: 1;
+			}
+
+			.map-scale-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			}
+
+			.map-scale-core {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			}
+
+			.map-scale-bookend {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 1px;
+			stroke-linecap: butt;
+			}
+
+			.map-scale-caption {
+			font-family: "DejaVu Sans";
+			font-size: 10px;
+			fill: #8080ff;
+			}
+
+			<!-- map background must be the same for all zooms or else empty tile detection will fail -->
+			.map-background {
+			fill: #f8f8f8
+			;
+			stroke: none;
+			}
+
+			.map-title {
+			font-family: "DejaVu Sans";
+			font-size: 20px;
+			text-anchor: middle;
+			fill: black;
+			}
+
+			.map-title-background {
+			fill: white;
+			}
+
+			.map-marginalia-background {
+			fill: white;
+			}
+
+			.highway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			}
+
+			/* Osmarender built-in styles - do not remove */
+			.osmarender-stroke-linecap-round { stroke-linecap: round; }
+			.osmarender-stroke-linecap-butt { stroke-linecap: butt; }
+			.osmarender-mask-black { stroke: black; }
+			.osmarender-mask-white { stroke: white; }
+			.osmarender-no-marker-start { marker-start: none; }
+			.osmarender-no-marker-end { marker-end: none; }
+
+
+		</style>
+
+		<svg:pattern x="0" y="0" width="200" height="200" id="wood-deciduous-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.05)">
+			<svg:rect fill="#6fc18e" width="205" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 27,1 C 20,1 13,7 13,14 C 13,16 13,18 15,20 C 11,22 8,26 8,29 C 8,36 16,43 28,43 L 28,63 L 37,63 L 37,43 C 48,43 57,36 57,29 C 57,26 55,23 52,21 C 55,14 45,4 37,6 C 36,3 33,1 27,1"/>
+			<svg:path fill="#2b743f" d="M 77,101 C 70,101 63,107 63,114 C 63,116 63,118 65,120 C 61,122 58,126 58,129 C 58,136 66,143 78,143 L 78,163 L 87,163 L 87,143 C 98,143 107,136 107,129 C 107,126 105,123 102,121 C 105,114 95,104 87,106 C 86,103 83,101 77,101"/>
+		</svg:pattern>
+		<svg:pattern x="0" y="0" width="200" height="200" id="wood-coniferous-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.05)">
+			<svg:rect fill="#6fc18e" width="205" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 15,24 L 25,24 L 10,39 L 25,39 L 5,54 L 25,54 L 25,64 L 35,64 L 35,54 L 55,54 L 35,39 L 50,39 L 35,24 L 45,24 L 30,4 L 15,24"/>
+			<svg:path fill="#2b743f" d="M 65,124 L 75,124 L 60,139 L 75,139 L 55,154 L 75,154 L 75,164 L 85,164 L 85,154 L 105,154 L 85,139 L 100,139 L 85,124 L 95,124 L 80,104 L 65,124"/>
+		</svg:pattern>
+		<svg:pattern x="0" y="0" width="300" height="200" id="wood-mixed-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.05)">
+			<svg:rect fill="#6fc18e" width="305" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 27,1 C 20,1 13,7 13,14 C 13,16 13,18 15,20 C 11,22 8,26 8,29 C 8,36 16,43 28,43 L 28,63 L 37,63 L 37,43 C 48,43 57,36 57,29 C 57,26 55,23 52,21 C 55,14 45,4 37,6 C 36,3 33,1 27,1"/>
+			<svg:path fill="#2b743f" d="M 65,54 L 75,54 L 60,69 L 75,69 L 55,84 L 75,84 L 75,94 L 85,94 L 85,84 L 105,84 L 85,69 L 100,69 L 85,54 L 95,54 L 80,34 L 65,54"/>
+			<svg:path fill="#2b743f" d="M 165,104 L 175,104 L 160,119 L 175,119 L 155,134 L 175,134 L175,144 L 185,144 L 185,134 L 205,134 L 185,119 L 200,119 L 185,104 L 195,104 L 180,84 L 165,104"/>
+			<svg:path fill="#2b743f" d="M 227,101 C 220,101 213,107 213,114 C 213,116 213,118 215,120 C 211,122 208,126 208,129 C 208,136 216,143 228,143 L 228,163 L 237,163 L 237,143 C 248,143 257,136 257,129 C 257,126 255,123 252,121 C 255,114 245,104 237,106 C 236,103 233,101 227,101"/>
+		</svg:pattern>
+
+		<svg:pattern id="marsh-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.3)">
+			<svg:path stroke="#007fff" stroke-width="0.2" stroke-linecap="round" d="M 0,4 C 1.33,4 2.67,4 4,4 M 2,4 C 2,3 2,2 2,1 M 3,3 L 2,4 M 3,2 L 2,4 M 1,3 L 2,4 M 1,2 L 2,4 M 7,9 L 10,9 M 2,9 C 3,9 4,9 5,9 M 6,4 C 6.71,4 7.35,4 8,4 M 2,6 C 2.67,6 3.33,6 4,6 M 7,1 C 7.70,1 8.33,1 9,1 M 0,9 L 1,9 M 9,6 L 9,9 M 10,7 L 9,9 M 10,8 L 9,9 M 8,8 L 9,9 M 8,7 L 9,9"/>
+		</svg:pattern>
+
+		<svg:pattern x="0" y="0" width="35" height="35" id="leisure-dog_park-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.08)">
+			<svg:rect style="fill:#c7f1a3;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.1;stroke-dasharray:none" width="36" height="36" x="0" y="0"/>
+			<svg:path style="fill:#000000;stroke-width:0" d="M 6.46,8.48 C 8.51,7.4 10.33,8.05 10.8,9.7 C 11.33,11.59 12.7,14.29 11.31,14.9 C 10.43,15.29 8.98,12.87 7.42,12.1 C 5.86,11.34 3.25,12.26 3,10.92 C 2.78,9.73 5.15,9.17 6.46,8.48 L 6.46,8.48 z"/>
+			<svg:path style="fill:#000000;stroke-width:0" d="M 3.71,6.22 C 4,5.35 4.81,4.93 5.52,5.23 C 6.23,5.64 6.57,6.63 6.28,7.49 C 5.99,8.36 5.18,8.77 4.47,8.42 C 3.76,8.07 3.42,7.08 3.71,6.22 L 3.71,6.22 z"/>
+			<svg:path style="fill:#000000;stroke-width:0" d="M 7.90,3.61 C 8.51,2.67 9.49,2.46 10.1,3.15 C 10.7,3.83 10.7,5.15 10.1,6.09 C 9.49,7.04 8.51,7.24 7.9,6.56 C 7.3,5.87 7.3,4.55 7.9,3.61 L 7.9,3.61 z"/>
+			<svg:path style="fill:#000000;stroke-width:0" d="M 12,5.23 C 12.94,4.57 13.97,4.72 14.29,5.56 C 14.6,6.4 14.08,7.61 13.13,8.27 C 12.18,8.93 11.15,8.78 10.84,7.94 C 10.53,7.1 11.04,5.89 11.99,5.23 L 11.99,5.23 z"/>
+			<svg:path style="fill:#000000;stroke-width:0" d="M 13.09,9.83 C 13.96,9.6 14.78,10.02 14.92,10.78 C 15.05,11.53 14.46,12.33 13.59,12.56 C 12.72,12.79 11.9,12.37 11.76,11.61 C 11.63,10.86 12.22,10.07 13.09,9.83 L 13.09,9.83 z"/>
+		</svg:pattern>
+		<svg:pattern id="military-pattern" x="0" y="0" width="500" height="500" patternUnits="userSpaceOnUse" patternTransform="scale(0.01)">
+			<svg:rect width="510" height="510" x="0" y="0" fill-opacity="0.5" fill="#d0d050"/>
+			<svg:path fill="#808000" d="M 311.4875,112.4725 L 240.86574,112.4725 L 219.18975,100.81875 L 219.18975,67.95515 L 358.10253,55.13602 L 358.10253,98.02185 L 311.4875,107.11177 L 311.4875,112.4725 z "/>
+			<svg:path fill="#808000" d="M 86.10386,157.81856 L 404.48447,158.3883 L 404.43115,99.18722 L 313.11903,119.23168 L 180.26621,119.23168 L 86.10386,144.40379 C 80.55682,146.64725 78.71816,157.81856 86.10386,157.81856 z "/>
+			<svg:path fill="#808000" d="M 176.69134,184.53979 C 176.69131,195.84684 167.54017,205.02094 156.23316,205.04931 C 144.92615,205.07768 135.72909,195.94962 135.67232,184.64271 C 135.61555,173.33581 144.72048,164.11585 156.02721,164.03068 C 167.33393,163.94551 176.57673,173.02726 176.6903,184.33373"/>
+			<svg:path fill="#808000" d="M 222.85374,184.53979 C 222.85371,195.84684 213.70257,205.02094 202.39556,205.04931 C 191.08855,205.07768 181.89149,195.94962 181.83472,184.64271 C 181.77795,173.33581 190.88288,164.11585 202.18961,164.03068 C 213.49633,163.94551 222.73913,173.02726 222.8527,184.33373"/>
+			<svg:path fill="#808000" d="M 268.20674,184.53979 C 268.20671,195.84684 259.05557,205.02094 247.74856,205.04931 C 236.44155,205.07768 227.24449,195.94962 227.18772,184.64271 C 227.13095,173.33581 236.23588,164.11585 247.54261,164.03068 C 258.84933,163.94551 268.09213,173.02726 268.2057,184.33373"/>
+			<svg:path fill="#808000" d="M 314.63974,184.53979 C 314.63971,195.84684 305.48857,205.02094 294.18156,205.04931 C 282.87455,205.07768 273.67749,195.94962 273.62072,184.64271 C 273.56395,173.33581 282.66888,164.11585 293.97561,164.03068 C 305.28233,163.94551 314.52513,173.02726 314.6387,184.33373"/>
+			<svg:path fill="#808000" d="M 104.62906,164.30601 L 95.06656,164.74351 C 89.7409,177.99161 94.17664,190.11388 108.81656,199.08726 C 125.31404,209.1992 145.13754,218.93662 150.87906,219.08726 L 345.94156,219.14976 C 351.68308,218.99912 371.50659,209.26172 388.00406,199.14976 C 402.64398,190.17638 407.07972,178.02286 401.75406,164.77476 L 392.19156,164.36851 C 395.0692,176.76396 397.55281,185.1301 379.62906,193.61851 C 364.95912,200.56595 349.45269,208.83667 347.03531,209.33726 L 149.78531,209.30601 C 147.36794,208.8054 131.89275,200.50345 117.22281,193.55601 C 99.29906,185.06761 101.75142,176.70146 104.62906,164.30601 z M 81.325,74.26296 L 81.325,87.85048 L 214.52384,92.37965 L 214.52384,74.05709 L 81.325,74.26296 z "/>
+			<svg:path fill="#808000" d="M 360.71264,185.61239 C 360.71261,196.91944 351.56147,206.09354 340.25446,206.12191 C 328.94745,206.15028 319.75039,197.02222 319.69362,185.71531 C 319.63685,174.40841 328.74178,165.18845 340.04851,165.10328 C 351.35523,165.01811 360.59803,174.09986 360.7116,185.40633"/>
+			<svg:path fill="#808000" d="M 389.14837,176.08104 C 389.14835,182.52632 383.93199,187.75578 377.48672,187.77195 C 371.04145,187.78813 365.79891,182.58491 365.76655,176.1397 C 365.73419,169.6945 370.92422,164.4389 377.36932,164.39035 C 383.81443,164.3418 389.08304,169.51862 389.14778,175.96358"/>
+			<svg:path fill="#808000" d="M 130.88767,176.08104 C 130.88765,182.52632 125.67129,187.75578 119.22602,187.77195 C 112.78075,187.78813 107.53821,182.58491 107.50585,176.1397 C 107.47349,169.6945 112.66352,164.4389 119.10862,164.39035 C 125.55373,164.3418 130.82234,169.51862 130.88708,175.96358"/>
+		</svg:pattern>
+
+		<svg:pattern id="cemetery-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:rect fill="#bde3cb" width="10" height="10" x="0" y="0"/>
+			<svg:path fill="#b0b0b0" stroke-width="0.1" d="M 1.48,0.13 C 2.12,0.13 2.63,0.64 2.63,1.28 L 2.63,4.27 L 0.33,4.27 L 0.33,1.28 C 0.33,0.64 0.85,0.13 1.48,0.13 z "/>
+			<svg:path fill="#b0b0b0" stroke-width="0.1" d="M 6.64,5.78 C 7.27,5.78 7.79,6.29 7.79,6.92 L 7.79,9.91 L 5.49,9.91 L 5.49,6.92 C 5.49,6.29 6.00,5.78 6.64,5.78 z "/>
+		</svg:pattern>
+		<svg:pattern id="cemetery-christian-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:rect fill="#bde3cb" width="11" height="11" x="0" y="0"/>
+			<svg:path stroke="black" stroke-width="0.2" d="M1,1 L3,1 M2,0 L2,3 M6,6 L8,6 M7,5 L7,8"/>
+		</svg:pattern>
+
+		<svg:pattern patternUnits="userSpaceOnUse" width="104.8886" height="112.38862" patternTransform="scale(0.05,0.05)" id="vineyard-pattern">
+			<svg:rect fill="#d1ead1" width="104.8886" height="112.38862" x="0" y="0"/>
+			<svg:g transform="translate(-35,-59.111382)">
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="105" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="104.54168" y="95.686478"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="91.572838" y="95.066086"/>
+				<svg:path style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#bf5bc3;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 102.72166,94.632518 C 102.72166,94.632518 102.51202,95.733107 102.51202,86.247077 C 102.51202,84.082553 104.39875,79.905587 96.851849,75.974911"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-1.4674523,16.770883)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-4.6119891,6.2890801)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(10.27217,-2.7252699)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-6.7083494,-4.4023583)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(4.1927244,9.8528923)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(2.096364,0.6289069)"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="90" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="95" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="115" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="60" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="59.541687" y="133.18648"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="46.572845" y="132.56609"/>
+				<svg:path style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#bf5bc3;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 57.72166,132.13252 C 57.72166,132.13252 57.51202,133.23311 57.51202,123.74708 C 57.51202,121.58255 59.39875,117.40559 51.85185,113.47491"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-46.467452,54.270883)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-49.611989,43.78908)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-34.72783,34.77473)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-51.708349,33.097642)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-40.807276,47.352892)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-42.903636,38.128907)"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="45" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="50" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="90" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="95" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="70" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="55" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="105" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="115" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="60" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="45" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="50" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="55" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="70" y="94"/>
+				<svg:rect style="fill:none;fill-opacity:0.92941176;stroke:none;stroke-width:0.22276554;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="104.87722" height="112.37724" x="35.011383" y="59.111382"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="144"/>
+			</svg:g>
+		</svg:pattern>
+
+		<svg:pattern id="livingstreet-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#e5e0c2" stroke-width="1" d="M5,0 L0,5 M0,0 L5,5"/>
+		</svg:pattern>
+		<svg:pattern id="cycleroad-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#d1fad1" stroke-width="2" d="M5,0 L0,5 M0,0 L5,5"/>
+		</svg:pattern>
+
+		<svg:pattern id="access-private-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#ff4040" stroke-width="0.1" d="M5,0 L0,5 M0,0 L5,5"/>
+		</svg:pattern>
+		<svg:pattern id="access-permissive-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#40ff40" stroke-width="0.1" d="M5,0 L0,5 M0,0 L5,5"/>
+		</svg:pattern>
+		<svg:pattern id="access-destination-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#4040ff" stroke-width="0.1" d="M5,0 L0,5 M0,0 L5,5"/>
+		</svg:pattern>
+		<svg:pattern id="access-no-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#ff4040" stroke-width="0.1" d="M5,0 L0,5 M0,0 L5,5"/>
+		</svg:pattern>
+		<svg:pattern id="power-photovoltaic-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.107)">
+		<svg:pattern id="power-wind-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.107)">
+		<!-- power_wind.svg -->
+			<svg:g style="fill:#000000">
+				<rect width="0.77532399" height="8.1394444" x="8.3448029" y="7.860559" style="fill:#000000" />
+				<path d="M 9.4685289,7.5398227 C 9.5951548,7.3769778 10.64679,8.1902804 11.817421,9.3563852 C 12.988052,10.52249 13.834385,11.599816 13.707759,11.762661 C 13.581133,11.925506 12.529499,11.112204 11.358868,9.9460989 C 10.188236,8.7799942 9.341903,7.7026676 9.4685289,7.5398227 z" />
+				<path d="M 9.0179241,5.7934416 C 8.8242005,5.7429518 9.0001786,4.4242539 9.4109824,2.8480475 C 9.8217862,1.2718412 10.311853,0.03500359 10.505576,0.085493431 C 10.6993,0.13598327 10.523322,1.4546811 10.112518,3.0308874 C 9.7017142,4.6070939 9.2116477,5.8439315 9.0179241,5.7934416 z" />
+				<path d="M 7.7057548,7.0801563 C 7.7567258,7.273754 6.5211097,7.7668916 4.9459289,8.1816099 C 3.3707482,8.5963282 2.0524917,8.7755817 2.0015207,8.5819841 C 1.9505497,8.3883865 3.1861658,7.8952488 4.7613465,7.4805306 C 6.3365273,7.0658123 7.6547838,6.8865587 7.7057548,7.0801563 z" />
+				<path d="M 9.7448924,6.787931 C 9.7450023,7.3521951 9.2876067,7.8096797 8.7233428,7.8096797 C 8.1590787,7.8096797 7.7016831,7.3521951 7.701793,6.787931 C 7.7016831,6.2236669 8.1590787,5.7661823 8.7233428,5.7661823 C 9.2876067,5.7661823 9.7450023,6.2236669 9.7448924,6.787931 L 9.7448924,6.787931 z" />
+			</svg:g>
+		</svg:pattern>
+		<svg:pattern id="power-hydro-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.107)">
+		<!-- power_hydro.svg -->
+			<path d="M 8.5,12.8 L 11.9,6.5 L 7.1,7.6 L 10.8,1.5 L 8.2,0.17 L 4.1,10.1 L 9,8.6 L 7.4,12.3 L 7.1,11.6 L 6.65,15.7 L 9.3,12.5 L 8.5,12.8 z" style="fill:#00ccff;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;" />
+		</svg:pattern>
+		<!-- power_photovoltaic.svg -->
+		<svg:g transform="matrix(1,0,-0.26,1,0.15,0)">
+				<svg:rect x="3.4" y="3.4" width="13" height="8.9" style="fill:#ffffff;stroke:#000000;stroke-width:0.4"/>
+				<svg:g style="stroke-width:0;fill:#000084" >
+					<svg:rect x="3.9" y="8" width="3.8" height="3.8" />
+					<svg:rect x="8" y="8" width="3.8" height="3.8" />
+					<svg:rect x="12.1" y="8" width="3.8" height="3.8" />
+					<svg:rect x="3.9" y="3.9" width="3.8" height="3.8" />
+					<svg:rect x="8" y="3.9" width="3.8" height="3.8" />
+					<svg:rect x="12.1" y="3.9" width="3.8" height="3.8" />
+				</svg:g>
+			</svg:g>
+			<svg:path d="M 2.72 0.34 L 2.97 2.59 L 1.38 2.13 L 2.44 3.25 L 0.38 3.98 L 2.59 4.38 L 1.59 5.72 L 3.13 5.03 L 3.16 7.22 L 4.25 5.34 L 5.22 6.63 L 5.03 5 L 7.22 5.66 L 5.72 4.06 L 7.25 3.59 L 5.59 3.28 L 6.97 1.41 L 4.88 2.34 L 4.88 0.78 L 4.09 2.13 L 2.72 0.34 z" style="fill:#ffff00;stroke:#000000;stroke-width:0.1" />
+		</svg:pattern>
+		<svg:pattern id="power-generic-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.107)">
+		<!-- power_generic.svg -->
+			<svg:path d="M 8.5,12.8 L 11.9,6.5 L 7.1,7.6 L 10.8,1.5 L 8.2,0.17 L 4.1,10.1 L 9,8.6 L 7.4,12.3 L 7.1,11.6 L 6.65,15.7 L 9.3,12.5 L 8.5,12.8 z" style="fill:#ffff00;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;" />
+		</svg:pattern>
+		<!-- reservoir patterns -->
+		<svg:pattern id="reservoir-evaporator-pattern" patternUnits="userSpaceOnUse" width="2" height="2" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;stroke-linecap:round;" d="M 0.1,1.9 L 1.9,1.9" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.96,1.8 C 1.25,1.4 0.75,1.4 1.04,1" />
+			<svg:path style="stroke:#007fff;stroke-width:.035px;fill:none" d="M 0.61,1.8 C 0.8,1.55 0.5,1.55 .69,1.3" />
+			<svg:path style="stroke:#007fff;stroke-width:.035px;fill:none" d="M 1.31,1.8 C 1.5,1.55 1.2,1.55 1.39,1.3" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-cooling-pattern" patternUnits="userSpaceOnUse" width="2" height="2" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;stroke-linecap:round;" d="M 0.1,1.9 L 1.9,1.9" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1,1.25 L 0.784,1.125 L 0.784,0.875 L 1,0.75 L 1.217,0.875 L 1.217,1.125 z" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1,1.25 L 1,1.75" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 0.784,1.125 L 0.35,1.375" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 0.784,0.875 L 0.35,0.625" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1,0.75 L 1,0.25" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1.217,0.875 L 1.65,0.625" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1.217,1.125 L 1.65,1.375" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.257,1.705 L 1.000,1.550 L 0.743,1.705" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.518,1.575 L 0.524,1.275 L 0.261,1.130" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.261,0.870 L 0.524,0.725 L 0.518,0.425" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.743,0.295 L 1.000,0.450 L 1.257,0.295" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.482,0.425 L 1.476,0.725 L 1.739,0.870" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.739,1.139 L 1.476,1.275 L 1.482,1.575" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-sewage-pattern" patternUnits="userSpaceOnUse" width="0.5" height="0.5" >
+			<svg:path style="stroke:#997700;stroke-width:.1px;" d="M -0.01,-0.01 L 0.51,0.51" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-tailings-pattern" patternUnits="userSpaceOnUse" width="0.5" height="0.5" >
+			<svg:path style="stroke:black;stroke-width:.1px;" d="M -0.01,-0.01 L 0.51,0.51" />
+		</svg:pattern>
+
+
+
+		<svg:pattern id="basin-infiltration-pattern" patternUnits="userSpaceOnUse" width="2" height="2" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.1,0.2 L 1.9,0.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.4,0.6 L 1.6,0.6" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.1,1.2 L 0.9,1.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.4,1.6 L 0.6,1.6" />
+		</svg:pattern>
+
+		<svg:pattern id="basin-detention-pattern" patternUnits="userSpaceOnUse" width="2" height="2" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.4,0.2 L 1.6,0.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.1,0.6 L 1.9,0.6" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.4,1.2 L 0.6,1.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.1,1.6 L 0.9,1.6" />
+		</svg:pattern>
+
+		<svg:pattern id="basin-retention-pattern" patternUnits="userSpaceOnUse" width="2" height="2">
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.4,0.2 L 1.6,0.2" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.1,0.6 L 1.9,0.6" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.4,1.2 L 0.6,1.2" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.1,1.6 L 0.9,1.6" />
+		</svg:pattern>
+
+
+
+
+		<svg:pattern id="nature-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(1.144425)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.1" d="
+		M0.2,0.1 L1.8,0.9 M2.2,0.9 L3.8,0.1   M4.2,0.1 L5.8,0.9 M6.2,0.9 L7.8,0.1   M8.2,0.1 L9.8,0.9 M10.2,0.9 L11.8,0.1
+		M0.2,1.9 L1.8,1.1 M2.2,1.1 L3.8,1.9   M4.2,1.9 L5.8,1.1 M6.2,1.1 L7.8,1.9   M8.2,1.9 L9.8,1.1 M10.2,1.1 L11.8,1.9
+		M0.2,2.1 L1.8,2.9 M2.2,2.9 L3.8,2.1   M4.2,2.1 L5.8,2.9 M6.2,2.9 L7.8,2.1   M8.2,2.1 L9.8,2.9 M10.2,2.9 L11.8,2.1
+		M0.2,3.9 L1.8,3.1 M2.2,3.1 L3.8,3.9   M4.2,3.9 L5.8,3.1 M6.2,3.1 L7.8,3.9   M8.2,3.9 L9.8,3.1 M10.2,3.1 L11.8,3.9
+		M0.2,4.1 L1.8,4.9 M2.2,4.9 L3.8,4.1   M4.2,4.1 L5.8,4.9 M6.2,4.9 L7.8,4.1   M8.2,4.1 L9.8,4.9 M10.2,4.9 L11.8,4.1
+		M0.2,5.9 L1.8,5.1 M2.2,5.1 L3.8,5.9   M4.2,5.9 L5.8,5.1 M6.2,5.1 L7.8,5.9   M8.2,5.9 L9.8,5.1 M10.2,5.1 L11.8,5.9
+
+		M0.2,6.1 L1.8,6.9 M2.2,6.9 L3.8,6.1   M4.2,6.1 L5.8,6.9 M6.2,6.9 L7.8,6.1   M8.2,6.1 L9.8,6.9 M10.2,6.9 L11.8,6.1
+		M0.2,7.9 L1.8,7.1 M2.2,7.1 L3.8,7.9   M4.2,7.9 L5.8,7.1 M6.2,7.1 L7.8,7.9   M8.2,7.9 L9.8,7.1 M10.2,7.1 L11.8,7.9
+		M0.2,8.1 L1.8,8.9 M2.2,8.9 L3.8,8.1   M4.2,8.1 L5.8,8.9 M6.2,8.9 L7.8,8.1   M8.2,8.1 L9.8,8.9 M10.2,8.9 L11.8,8.1
+		M0.2,9.9 L1.8,9.1 M2.2,9.1 L3.8,9.9   M4.2,9.9 L5.8,9.1 M6.2,9.1 L7.8,9.9   M8.2,9.9 L9.8,9.1 M10.2,9.1 L11.8,9.9
+		M0.2,10.1 L1.8,10.9 M2.2,10.9 L3.8,10.1   M4.2,10.1 L5.8,10.9 M6.2,10.9 L7.8,10.1   M8.2,10.1 L9.8,10.9 M10.2,10.9 L11.8,10.1
+		M0.2,11.9 L1.8,11.1 M2.2,11.1 L3.8,11.9   M4.2,11.9 L5.8,11.1 M6.2,11.1 L7.8,11.9   M8.2,11.9 L9.8,11.1 M10.2,11.1 L11.8,11.9"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.15;stroke-linecap:round;stroke-linejoin:round;" d="
+		M1.2,2.6 L1.2,1.4 L1.8,2.6 L1.8,1.4
+		M2.2,2.1 2.45,2.1 A 0.25 0.25 0 0 0 2.45,1.4 L2.2,1.4 L2.2,2.6  M2.8,2.6 L2.3,2.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="landscape-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(1.5)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.05" d="
+		M0.4,0.2 L1.6,0.8 M2.4,0.8 L3.6,0.2   M4.4,0.2 L5.6,0.8 M6.4,0.8 L7.6,0.2   M8.4,0.2 L9.6,0.8 M10.4,0.8 L11.6,0.2
+		M0.4,1.8 L1.6,1.2 M2.4,1.2 L3.6,1.8   M4.4,1.8 L5.6,1.2 M6.4,1.2 L7.6,1.8   M8.4,1.8 L9.6,1.2 M10.4,1.2 L11.6,1.8
+		M0.4,2.2 L1.6,2.8 M2.4,2.8 L3.6,2.2   M4.4,2.2 L5.6,2.8 M6.4,2.8 L7.6,2.2   M8.4,2.2 L9.6,2.8 M10.4,2.8 L11.6,2.2
+		M0.4,3.8 L1.6,3.2 M2.4,3.2 L3.6,3.8   M4.4,3.8 L5.6,3.2 M6.4,3.2 L7.6,3.8   M8.4,3.8 L9.6,3.2 M10.4,3.2 L11.6,3.8
+		M0.4,4.2 L1.6,4.8 M2.4,4.8 L3.6,4.2   M4.4,4.2 L5.6,4.8 M6.4,4.8 L7.6,4.2   M8.4,4.2 L9.6,4.8 M10.4,4.8 L11.6,4.2
+		M0.4,5.8 L1.6,5.2 M2.4,5.2 L3.6,5.8   M4.4,5.8 L5.6,5.2 M6.4,5.2 L7.6,5.8   M8.4,5.8 L9.6,5.2 M10.4,5.2 L11.6,5.8
+
+		M0.4,6.2 L1.6,6.8 M2.4,6.8 L3.6,6.2   M4.4,6.2 L5.6,6.8 M6.4,6.8 L7.6,6.2   M8.4,6.2 L9.6,6.8 M10.4,6.8 L11.6,6.2
+		M0.4,7.8 L1.6,7.2 M2.4,7.2 L3.6,7.8   M4.4,7.8 L5.6,7.2 M6.4,7.2 L7.6,7.8   M8.4,7.8 L9.6,7.2 M10.4,7.2 L11.6,7.8
+		M0.4,8.2 L1.6,8.8 M2.4,8.8 L3.6,8.2   M4.4,8.2 L5.6,8.8 M6.4,8.8 L7.6,8.2   M8.4,8.2 L9.6,8.8 M10.4,8.8 L11.6,8.2
+		M0.4,9.8 L1.6,9.2 M2.4,9.2 L3.6,9.8   M4.4,9.8 L5.6,9.2 M6.4,9.2 L7.6,9.8   M8.4,9.8 L9.6,9.2 M10.4,9.2 L11.6,9.8
+		M0.4,10.2 L1.6,10.8 M2.4,10.8 L3.6,10.2   M4.4,10.2 L5.6,10.8 M6.4,10.8 L7.6,10.2   M8.4,10.2 L9.6,10.8 M10.4,10.8 L11.6,10.2
+		M0.4,11.8 L1.6,11.2 M2.4,11.2 L3.6,11.8   M4.4,11.8 L5.6,11.2 M6.4,11.2 L7.6,11.8   M8.4,11.8 L9.6,11.2 M10.4,11.2 L11.6,11.8"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:round;" d="
+		M5.2,3.4 L5.2,4.6 L5.8,4.6
+		M6.2,4.1 6.45,4.1 A 0.25 0.25 0 0 0 6.45,3.4 L6.2,3.4 L6.2,4.6  M6.8,4.6 L6.3,4.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="national-park-pattern" x="0" y="0" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(1.5)">
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.5;" d="
+		M9.2,6.6 L9.2,5.4 L9.8,6.6 L9.8,5.4
+		M10.2,6.1 10.45,6.1 A 0.25 0.25 0 0 0 10.45,5.4 L10.2,5.4 L10.2,6.6 "/>
+		</svg:pattern>
+
+		<svg:marker fill="none" id="bridge-casing-start" markerHeight="2" markerUnits="strokeWidth" markerWidth="2" orient="auto" refX="1" refY="1" stroke="#707070" stroke-width="0.06px" viewBox="0 0 2 2">
+			<svg:path d="M 1.05,1.45 L 0.7,1.8 M 1.05,0.55 L 0.7, 0.2"/>
+		</svg:marker>
+		<svg:marker fill="none" id="bridge-casing-end" markerHeight="2" markerUnits="strokeWidth" markerWidth="2" orient="auto" refX="1" refY="1" stroke="#707070" stroke-width="0.06px" viewBox="0 0 2 2">
+			<svg:path d="M 0.95,1.45 L 1.3,1.8 M 0.95,0.55 L 1.3,0.2"/>
+		</svg:marker>
+		<svg:marker fill="none" id="marker-gate-locked" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="2px" refY="5px" stroke="#707070" stroke-width="0.4px" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L 1,10 M 3,0 L 3,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="marker-gate-closed" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#707070" stroke-width="0.4px" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L 1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="marker-gate-open" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#707070" stroke-width="0.4px" viewBox="0 0 11 11">
+			<svg:path d="M1,0 L1,1 M1,2 L1,3 M1,4 L1,5 M1,6 L1,7 M1,8 L1,9 M1,10 L1,11"/>
+		</svg:marker>
+		<svg:marker fill="#949494" id="highway-crossing" markerHeight="1px" markerUnits="userSpaceOnUse" markerWidth="0.6px" orient="auto" refX="0.3px" refY="0.5px" viewBox="0 0 0.6 1">
+			<svg:rect x="0" y="0" width="0.6" height="0.2"/>
+			<svg:rect x="0" y="0.4" width="0.6" height="0.2"/>
+			<svg:rect x="0" y="0.8" width="0.6" height="0.2"/>
+		</svg:marker>
+		<svg:marker fill="none" id="noexit-all" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#ff5555" stroke-width="2px" stroke-opacity="0.5" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L 1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="noexit-veh" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#eeaa55" stroke-width="1.75px" stroke-opacity="0.6" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L 1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="noexit-mot" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#dddd55" stroke-width="1.5px" stroke-opacity="0.7" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L 1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="noexit-no" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#55dd55" stroke-width="1.5px" stroke-opacity="0.7" viewBox="0 0 10 10">
+			<svg:path d="M 1,2 L 1,8"/>
+		</svg:marker>
+		<svg:marker fill="none" id="canal-lock" markerHeight="2px" markerUnits="userSpaceOnUse" markerWidth="2px" orient="auto" refX="1px" refY="5px" stroke="#000000" stroke-width="1px" stroke-opacity="1" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L -2,5 L 1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="mountain-pass" markerHeight="12px" markerUnits="userSpaceOnUse" markerWidth="6px" orient="auto" refX="64px" refY="32px" stroke="#000000" stroke-width="0.66px" viewBox="0 0 64 128">
+			<svg:path d="M 1,1 L 16,21 L 112,21 L 127,1"/>
+			<svg:path d="M 1,63 L 16,43 L 112,43 L 127,63"/>
+		</svg:marker>
+	</defs>
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/maplint.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/maplint.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/maplint.xml	(revision 35743)
@@ -0,0 +1,589 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- This file should be used with Osmarender 4 -->
+<!-- This rule file is for use with Maplint. See https://wiki.openstreetmap.org/index.php/Maplint for details -->
+
+<!-- A scale of 0.1 will make fat roads on a small map, a scale of 5 will draw very thin roads on a large scale map -->
+<!-- minimumMapWidth/Height is in kilometres -->
+<!-- Set javaScript="no" if you want an svg file that contains no javascript.  This is so that you can upload it to Wikipedia etc -->
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="4"
+    minimumMapWidth="0.5"
+    minimumMapHeight="0.5"
+    withOSMLayers="no"
+    withUntaggedSegments="no"
+    symbolsDir=""
+    showScale="yes"
+    showGrid="yes"
+    showBorder="yes"
+    showLicense="yes"
+    interactive="no">
+
+    <!-- Uncomment this element if you want to explicitly specify the bounding box for a map, or you can add a <bounds> element to
+         your data.osm file, which is probably a better thing to do. -->
+    <!--<bounds
+        minlat="51.50583362991789"
+        minlon="-0.13313005495563884"
+        maxlat="51.516556840221504"
+        maxlon="-0.10891295872251346" />-->
+
+    <!-- Select all nodes, waysegments and ways (unless they have an osmarender:render=no tag) -->
+    <!-- If you really want to render segments then you will need to add segment to the element list, but please don't - tag the ways instead. -->
+    <rule e="node|segment|waysegment|way" k="osmarender:render" v="~|yes">
+
+        <layer name="Areas">
+            <rule e="way" k="landuse" v="forest|wood">
+                <area class='area-green'/>
+            </rule>
+            <rule e="way" k="natural" v="forest|wood">
+                <area class='area-green'/>
+            </rule>
+            <rule e="way" k="leisure" v="park|playing_fields|garden|pitch|golf_course|common|green">
+                <area class='area-green'/>
+            </rule>
+            <rule e="way" k="natural" v="water|pond|lake|bay">
+                <area class='area-lake' />
+            </rule>
+        </layer>
+
+        <layer name="Todo">
+            <rule e="node" k="todo" v="*">
+                <circle r="4" class="maplint-node-todo"/>
+            </rule>
+        </layer>
+
+        <layer name="Maplint">
+            <rule e="way" k="maplint:notice" v="*">
+                <line class="maplint-way-notice-casing"/>
+                <line class="maplint-way-notice-core"/>
+            </rule>
+            <rule e="segment" k="maplint:notice" v="*">
+                <line class="maplint-segment-notice"/>
+            </rule>
+            <rule e="node" k="maplint:notice" v="*">
+                <circle r="4" class="maplint-node-notice"/>
+            </rule>
+
+            <rule e="way" k="maplint:warning" v="*">
+                <line class="maplint-way-warning-casing"/>
+                <line class="maplint-way-warning-core"/>
+            </rule>
+            <rule e="segment" k="maplint:warning" v="*">
+                <line class="maplint-segment-warning"/>
+            </rule>
+            <rule e="node" k="maplint:warning" v="*">
+                <circle r="4" class="maplint-node-warning"/>
+            </rule>
+
+            <rule e="way" k="maplint:error" v="*">
+                <line class="maplint-way-error-casing"/>
+                <line class="maplint-way-error-core"/>
+            </rule>
+            <rule e="segment" k="maplint:error" v="*">
+                <line class="maplint-segment-error"/>
+            </rule>
+            <rule e="node" k="maplint:error" v="*">
+                <circle r="4" class="maplint-node-error"/>
+            </rule>
+        </layer>
+
+        <!-- Waterways -->
+        <layer name="Waterways">
+            <rule e="segment|way" k="waterway" v="*">
+                <line class='waterway-river'/>
+            </rule>
+        </layer>
+
+
+        <!-- Roads and paths -->
+        <layer name="Roads and Paths">
+
+            <rule e="segment|way" k="highway" v="service|unsurfaced|track|byway|bridleway|cycleway|footway|steps">
+                <line class='highway-small' />
+            </rule>
+
+            <rule e="segment|way" k="highway" v="unclassified|residential|minor|tertiary|pedestrian">
+                <line class='highway-minor' />
+            </rule>
+
+            <rule e="segment|way" k="highway" v="secondary|primary|primary_link">
+                <line class='highway-primary' />
+            </rule>
+
+            <rule e="segment|way" k="highway" v="motorway_link|motorway|trunk_link|trunk">
+                <line class='highway-major' />
+            </rule>
+
+        </layer>
+
+
+        <!-- Railway lines -->
+        <rule e="segment|way" k="railway" v="*">
+            <layer name="Railway/Subway/Tram">
+
+                <rule e="segment|way" k="railway" v="rail">
+                    <line class='railway-rail' />
+                    <line class='railway-rail-dashes' />
+                </rule>
+                <rule e="segment|way" k="railway" v="light_rail|tram">
+                    <line class='railway-light-rail' />
+                </rule>
+                <rule e="segment|way" k="railway" v="subway">
+                    <line class='railway-subway-rail' />
+                </rule>
+
+            </layer>
+        </rule>
+
+
+        <!-- Airfields and airports -->
+        <rule e="node|segment|way" k="aeroway" v="*">
+            <layer name="Airfields and airports">
+                <rule e="segment|way" k="aeroway" v="runway">
+                    <line class='aeroway-runway-core'/>
+                </rule>
+                <rule e="segment|way" k="aeroway" v="taxiway">
+                    <line class='aeroway-taxiway-core'/>
+                </rule>
+            </layer>
+        </rule>
+
+
+        <!-- Power lines and pylons -->
+        <rule e="node|way" k="power" v="*">
+            <layer name="Power lines">
+                <rule e="way" k="power" v="line">
+                    <line class='power-line'/>
+                </rule>
+            </layer>
+        </rule>
+
+
+        <!-- Non-pysical routes -->
+        <rule e="segment|way" k="route" v="ferry">
+            <layer name="Ferry">
+                <line class='route-ferry' />
+            </layer>
+        </rule>
+
+        <layer name="Maplint node dots">
+            <rule e="node" k="maplint:notice|maplint:warning|maplint:error|todo" v="*">
+                <circle r="0.8" class="maplint-node-dot"/>
+            </rule>
+        </layer>
+
+        <layer name="Maplint text">
+            <rule e="segment|way" k="maplint:notice" v="*">
+                <text k="maplint:notice" startOffset="50%" class='maplint-text' dy="0.33" />
+            </rule>
+            <rule e="segment|way" k="maplint:warning" v="*">
+                <text k="maplint:warning" startOffset="50%" class='maplint-text' dy="0.33" />
+            </rule>
+            <rule e="segment|way" k="maplint:error" v="*">
+                <text k="maplint:error" startOffset="50%" class='maplint-text' dy="0.33" />
+            </rule>
+
+            <rule e="node" k="maplint:notice" v="*">
+                <text k="maplint:notice" class='maplint-caption' dx='2.5px' dy='1.5px' />
+            </rule>
+            <rule e="node" k="maplint:warning" v="*">
+                <text k="maplint:warning" class='maplint-caption' dx='2.5px' dy='1.5px' />
+            </rule>
+            <rule e="node" k="maplint:error" v="*">
+                <text k="maplint:error" class='maplint-caption' dx='2.5px' dy='1.5px' />
+            </rule>
+        </layer>
+
+    </rule>
+
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+
+        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
+            /* Highways */
+
+            .highway-major {
+                stroke-width: 2px;
+                stroke-linejoin: round;
+                stroke: #909090;
+                fill: none;
+            }
+
+            .highway-primary {
+                stroke-width: 1.5px;
+                stroke-linejoin: round;
+                stroke: #909090;
+                fill: none;
+            }
+
+            .highway-minor {
+                stroke-width: 1.2px;
+                stroke-linejoin: round;
+                stroke: #909090;
+                fill: none;
+            }
+
+            .highway-small {
+                stroke-width: 1px;
+                stroke-linejoin: round;
+                stroke: #a0a0a0;
+                fill: none;
+            }
+
+            /* Aeroways */
+            .aeroway-taxiway-core {
+                stroke-width: 1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #CCCCCC;
+                fill: none;
+            }
+
+            .aeroway-runway-core {
+                stroke-width: 5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #CCCCCC;
+                fill: none;
+            }
+
+            .aeroway-aerodrome-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 6px;
+                font-weight: bolder;
+            }
+
+            .aeroway-airport-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                font-weight: bolder;
+            }
+
+
+            /* Waterways */
+            .waterway-river {
+                stroke-width: 3px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #89bac6;
+                fill: none;
+            }
+
+            .railway-rail {
+                stroke-width: 1.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #808080;
+                fill: none;
+            }
+
+            .railway-light-rail {
+                stroke-width: 0.8px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #808080;
+                fill: none;
+            }
+
+            .railway-subway-rail {
+                stroke-width: 0.8px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #aaaaaa;
+                fill: none;
+                stroke-dasharray: 3px, 1px;
+                stroke-dashoffset: 0;
+                stroke-opacity: 1;
+            }
+
+            .railway-rail-dashes {
+                stroke-width: 1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #ffffff;
+                fill: none;
+                stroke-dasharray: 3px, 3px;
+                stroke-opacity: 1;
+            }
+
+            .railway-station {
+                fill: #808080;
+                stroke: #808080;
+                stroke-width: 0.5px;
+            }
+
+            .railway-station-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.2px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 4px;
+                font-weight: bolder;
+            }
+
+            .railway-halt {
+                fill: #808080;
+                stroke: #808080;
+                stroke-width: 0.5px;
+            }
+
+            .railway-halt-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.1px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 2px;
+                font-weight: bolder;
+            }
+
+
+            /* Ferry */
+            .route-ferry {
+                stroke-width: 0.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #777777;
+                fill: none;
+            }
+
+
+            /* Points of interest */
+            .point-of-interest {
+                fill: red;
+                stroke: black;
+                stroke-width: 0.5px;
+            }
+
+
+            /* Areas */
+            .area-green {
+                fill: #f5f5f5;
+                stroke: none;
+            }
+            .area-lake {
+                fill: #89bac6;
+                stroke: none;
+            }
+
+
+            /* JOSM Debugging */
+            .josm-segment {
+                stroke-width: 0.2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #008000;
+                fill: none;
+                marker-end: url(#segment-direction);
+            }
+
+
+            /* Power line */
+            .power-line {
+                stroke-width: 0.1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #cccccc;
+                stroke-dasharray: 1px ,1px;
+                fill: none;
+            }
+
+
+            /* Maplint */
+            .maplint-node-error {
+                fill: #e74444;
+            }
+
+            .maplint-node-warning {
+                fill: #f89559;
+            }
+
+            .maplint-node-notice {
+                fill: #e2f91d;
+            }
+
+            .maplint-node-todo {
+                fill: #0000e0;
+            }
+
+            .maplint-node-dot {
+                fill: black;
+            }
+
+            .maplint-segment-error {
+                fill: none;
+                stroke: #e74444;
+                stroke-width: 5px;
+            }
+
+            .maplint-segment-warning {
+                fill: none;
+                stroke: #f89559;
+                stroke-width: 5px;
+            }
+
+            .maplint-segment-notice {
+                fill: none;
+                stroke: #e2f91d;
+                stroke-width: 5px;
+            }
+
+            .maplint-way-error-casing {
+                fill: none;
+                stroke: #e74444;
+                stroke-width: 5px;
+            }
+
+            .maplint-way-warning-casing {
+                fill: none;
+                stroke: #f89559;
+                stroke-width: 5px;
+            }
+
+            .maplint-way-notice-casing {
+                fill: none;
+                stroke: #e2f91d;
+                stroke-width: 5px;
+            }
+
+            .maplint-way-error-core {
+                fill: none;
+                stroke: #fcfcfc;
+                stroke-width: 3.5px;
+            }
+
+            .maplint-way-warning-core {
+                fill: none;
+                stroke: #fcfcfc;
+                stroke-width: 3.5px;
+            }
+
+            .maplint-way-notice-core {
+                fill: none;
+                stroke: #fcfcfc;
+                stroke-width: 3.5px;
+            }
+
+            .maplint-text {
+                fill: black;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 2px;
+                font-weight: bold;
+                text-anchor: middle
+            }
+
+            .maplint-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.2px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 3px;
+                font-weight: bolder;
+            }
+
+            /* Map decoration */
+            .map-grid-line {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 0.1px;
+                stroke-opacity: 0.5;
+            }
+
+            .map-border-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 3px;
+                stroke-miterlimit: 4;
+                stroke-dasharray: none;
+                stroke-opacity: 1;
+                stroke-linecap: round;
+            }
+
+            .map-border-core {
+                fill: none;
+                fill-opacity: 1;
+                fill-rule: nonzero;
+                stroke: #ffffff;
+                stroke-width: 2px;
+                stroke-miterlimit: 0;
+                stroke-dashoffset: -0.5px;
+                stroke-opacity: 1;
+            }
+
+            .map-scale-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 4px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-core {
+                fill: none;
+                stroke: #ffffff;
+                stroke-width: 3px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-bookend {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 1px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-caption {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                fill: #8080ff;
+            }
+
+            .map-background {
+                fill: #fcfcfc;
+                stroke: none;
+            }
+
+            .map-title {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 20px;
+                text-anchor: middle;
+                fill: black;
+            }
+
+            .map-title-background {
+                fill: white;
+            }
+
+            .map-marginalia-background {
+                fill: white;
+            }
+        </style>
+
+        <svg:marker
+            id="segment-direction"
+            viewBox="0 0 10 10"
+            refX="10px" refY="5px"
+            markerUnits="userSpaceOnUse"
+            fill='none'
+            stroke-width='1px'
+            stroke='#008000'
+            markerWidth="1px"
+            markerHeight="1px"
+            orient="auto">
+            <svg:path d="M 0,2 L 10,5 L 0,8" />
+        </svg:marker>
+
+    </defs>
+
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/markers.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/markers.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/markers.xml	(revision 35743)
@@ -0,0 +1,53 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">  
+  <svg:marker fill="none" id="marker-tunnel-start" markerHeight="2px" markerUnits="strokeWidth" markerWidth="2px" orient="auto" refX="5px" refY="5px" stroke="#777777" stroke-width="0.5px" viewBox="0 0 10 10">
+    <svg:path d="M 4,1 A5,4.25 0 0,1 4,9"/>
+  </svg:marker>
+  <svg:marker fill="none" id="marker-tunnel-end" markerHeight="2px" markerUnits="strokeWidth" markerWidth="2px" orient="auto" refX="5px" refY="5px" stroke="#777777" stroke-width="0.5px" viewBox="0 0 10 10">
+    <svg:path d="M 6,1 A5,4.25 0 0,0 6,9"/>
+  </svg:marker>
+  <svg:marker fill="none" id="marker-chicane" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="5px" refY="5px" stroke="#777777" stroke-width="0.4px" viewBox="0 0 10 10">
+    <svg:path d="M4,0 L4,5 M6,5 L6,10"/>
+  </svg:marker>
+  <svg:marker fill="#c00000" id="marker-traffic-calming" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="5px" refY="5px" stroke="#c00000" stroke-width="0.4px" viewBox="0 0 10 10">
+    <svg:rect x="4" y="1" width="0.2" height="0.2"/>
+    <svg:rect x="4" y="4" width="0.2" height="0.2"/>
+    <svg:rect x="4" y="7" width="0.2" height="0.2"/>
+    <svg:rect x="6" y="3" width="0.2" height="0.2"/>
+    <svg:rect x="6" y="6" width="0.2" height="0.2"/>
+    <svg:rect x="6" y="9" width="0.2" height="0.2"/>
+  </svg:marker>
+  <svg:marker fill="none" id="marker-stile" markerHeight="2px" markerUnits="userSpaceOnUse" markerWidth="2px" orient="auto" refX="5px" refY="5px" stroke="#777777" stroke-width="0.5px" viewBox="0 0 10 10">
+    <svg:path d="M3.5,0 L3.5,10 M6.5,0 L6.5,10 M 10,1 L 1,10"/>
+  </svg:marker>
+  <svg:marker fill="#FFFFFF" id="marker-otherway-start" markerHeight="1px" markerUnits="userSpaceOnUse" markerWidth="1px" orient="auto" refX="-30px" refY="5px" stroke="#000000" stroke-width="1px" viewBox="0 0 10 10">
+    <svg:path d="M 10,4 L 4,4 L 4,2 L 0,5 L 4,8 L 4,6 L 10,6 z"/>
+  </svg:marker>
+  <svg:marker fill="#FFFFFF" id="marker-otherway-end" markerHeight="1px" markerUnits="userSpaceOnUse" markerWidth="1px" orient="auto" refX="30px" refY="5px" stroke="#000000" stroke-width="1px" viewBox="0 0 10 10">
+    <svg:path d="M 10,4 L 4,4 L 4,2 L 0,5 L 4,8 L 4,6 L 10,6 z"/>
+  </svg:marker>
+  <!-- aerialway and surface lift icons -->
+  <svg:marker fill="#000000" id="marker-cablecar" markerHeight="10px" markerUnits="userSpaceOnUse" markerWidth="10px" orient="auto" refX="-18px" refY="0px" stroke="none" viewBox="0 0 10 9">
+    <svg:path d="M 2.9,2.7 L 0,2.7 L 0,8.8 L 10,8.8 L 10,2.7 L 7.3,2.7 L 5.7,0.1 L 4.5,0 L 2.9,2.7 z M 5,0.3 L 6.3,2.7 L 3.8,2.7 L 5,0.3 z M 6.5,3.3 L 6.5,5.2 L 3.8,5.2 L 3.8,3.3 L 6.5,3.3 z M 0.9,3.3 L 3,3.3 L 3,5.2 L 0.9,5.2 L 0.9,3.3 z M 9.4,3.3 L 9.4,5.2 L 7.2,5.2 L 7.2,3.3 L 9.4,3.3 z"/>
+  </svg:marker>
+  <svg:marker fill="#000000" id="marker-gondola" markerHeight="10px" markerUnits="userSpaceOnUse" markerWidth="9px" orient="auto" refX="-30px" refY="0px" stroke="none" viewBox="0 0 10 11">
+    <svg:path d="M 4.6,0 L 4.6,2.9 L 1.4,2.9 C 0,3.5 0.2,10.7 1.3,11.1 L 8.7,11.1 C 9.7,10.6 10,4 8.6,2.9 L 5.6,2.9 L 5.6,0 L 4.6,0 z M 4.5,3.8 L 4.5,6.5 L 1.4,6.5 L 1.4,3.8 L 4.5,3.8 z M 5.6,3.8 L 8.5,3.8 L 8.5,6.5 L 5.6,6.5 L 5.6,3.8 z"/>
+  </svg:marker>
+  <svg:marker fill="#000000" id="marker-chair-lift-2" markerHeight="11px" markerUnits="userSpaceOnUse" markerWidth="5px" orient="auto" refX="-25px" refY="0px" stroke="none" viewBox="0 0 10 22">
+    <svg:path d="M 3.6,0 L 3.6,4.3 L 0,6.2 L 0,17.5 L 5.1,17.5 L 5.1,16.6 L 1.1,16.6 L 1.1,6.6 L 7.4,3.4 L 7.4,12.3 L 8.5,12.3 L 8.5,1.7 L 4.9,3.6 L 4.9,0 L 3.6,0 z M 5.7,4.7 C 5.1,4.7 4.5,5.3 4.5,6.2 C 4.5,6.8 5.1,7.5 5.7,7.5 C 6.4,7.5 7,6.8 7,6.2 C 7,5.3 6.4,4.7 5.7,4.7 z M 3,6.4 C 2.3,6.4 1.7,7 1.7,7.9 C 1.7,8.5 2.3,9.2 3,9.2 C 3.6,9.2 4.3,8.5 4.3,7.9 C 4.3,7 3.6,6.4 3,6.4 z M 4.5,7.7 L 4.5,14.5 L 8.5,14.5 L 8.5,19.6 L 10,19.6 L 10,13 L 7,13 L 7,7.7 L 4.5,7.7 z M 1.7,9.4 L 1.7,16.2 L 5.7,16.2 L 5.7,21.3 L 7.2,21.3 L 7.2,14.7 L 4.3,14.7 L 4.3,9.4 L 1.7,9.4 z"/>
+  </svg:marker>
+  <svg:marker fill="#000000" id="marker-chair-lift-4" markerHeight="10px" markerUnits="userSpaceOnUse" markerWidth="6px" orient="auto" refX="-20px" refY="0px" stroke="none" viewBox="0 0 10 17">
+    <svg:path d="M 4.3,0 L 4.3,3.3 L 0,5.7 L 0,14.3 L 2.9,14.3 L 2.9,13.5 L 0.7,13.5 L 0.7,6.7 L 8.6,2 L 8.6,8.5 L 9.3,8.5 L 9.3,0.4 L 5,2.8 L 5,0 L 4.3,0 z M 7.4,3.4 C 7,3.4 6.6,3.8 6.6,4.3 C 6.6,4.7 7,5.1 7.4,5.1 C 7.9,5.1 8.3,4.7 8.3,4.3 C 8.3,3.8 7.9,3.4 7.4,3.4 z M 5.6,4.5 C 5.1,4.5 4.7,4.9 4.7,5.4 C 4.7,5.9 5.1,6.3 5.6,6.3 C 6,6.3 6.4,5.9 6.4,5.4 C 6.4,4.9 6,4.6 5.6,4.5 z M 6.6,5.3 L 6.6,9.8 L 9,9.8 L 9,13.3 L 10,13.3 L 10,8.8 L 8.3,8.8 L 8.3,5.3 L 6.6,5.3 z M 3.7,5.7 C 3.2,5.7 2.9,6.1 2.9,6.5 C 2.9,7 3.2,7.4 3.7,7.4 C 4.2,7.4 4.6,7 4.6,6.5 C 4.6,6.1 4.2,5.7 3.7,5.7 z M 4.7,6.4 L 4.7,11 L 7.4,11 L 7.4,14.3 L 8.4,14.3 L 8.4,10 L 6.4,10 L 6.4,6.4 L 4.7,6.4 z M 1.9,6.7 C 1.4,6.7 1,7.1 1,7.5 C 1,8 1.4,8.4 1.9,8.4 C 2.3,8.4 2.7,8 2.7,7.5 C 2.7,7.1 2.3,6.7 1.9,6.7 z M 2.8,7.5 L 2.8,12.3 L 5.6,12.3 L 5.6,15.5 L 6.6,15.5 L 6.6,11.1 L 4.6,11.1 L 4.6,7.5 L 2.8,7.5 z M 1,8.5 L 1,13.3 L 3.6,13.3 L 3.6,16.4 L 4.6,16.4 L 4.6,12.4 L 2.7,12.4 L 2.7,8.6 L 1,8.5 z"/>
+  </svg:marker>
+  <svg:marker fill="#000000" id="marker-piste-lift-t-bar" markerHeight="10px" markerUnits="userSpaceOnUse" markerWidth="8px" orient="auto" refX="-5px" refY="0px" stroke="none" viewBox="0 0 10 13">
+    <svg:path d="M 8.1,0 L 5.1,3.2 L 0,3.2 L 0.6,7.1 L 4.5,11.6 L 0,12.9 L 0,13.2 L 9.6,10.3 L 10,9.6 L 9.6,10 L 5.6,11.1 L 2.1,7.4 L 8.7,0 L 8.1,0 z M 1,0.6 C 0.4,0.6 0,1.1 0,1.6 C 0,2.1 0.4,2.6 1,2.6 C 1.5,2.6 1.9,2.1 1.9,1.6 C 1.9,1.1 1.5,0.6 1,0.6 z M 1.9,3.9 L 4.5,3.9 L 1.9,6.8 L 1.9,3.9 z"/>
+  </svg:marker>
+  <svg:marker fill="#000000" id="marker-mixed-lift" markerHeight="9px" markerUnits="userSpaceOnUse" markerWidth="14px" orient="auto" refX="-15px" refY="0px" stroke="none" viewBox="0 0 10 6">
+    <svg:path d="M 1.6,0.1 L 1.6,2.9 L 0,3.9 L 0,7.1 L 1.1,7.1 L 1.1,6.8 L 0.3,6.8 L 0.3,4.1 L 3.5,2.3 L 3.5,4.8 L 3.8,4.8 L 3.8,1.7 L 2.1,2.6 L 2.1,0.1 L 7.5,0.1 L 7.5,1.8 L 5.9,1.9 C 5.8,1.9 5.8,2 5.7,2.1 C 5.5,2.8 5.4,3.3 5.4,4.6 C 5.4,5.3 5.5,6.8 5.8,7.1 L 9.5,7.2 C 9.9,6.9 10,5.2 10,4.6 C 10,3.4 9.9,2.6 9.7,2.1 C 9.6,2 9.6,1.9 9.5,1.9 L 8,1.8 L 8,0 L 1.6,0.1 z M 8,2.4 L 9.5,2.4 L 9.5,4.2 L 8,4.2 L 8,2.4 z M 7.5,2.4 L 7.5,4.2 L 5.9,4.2 L 5.9,2.5 L 7.5,2.4 z M 3,2.6 C 2.6,2.7 2.6,3.2 2.9,3.4 C 3.1,3.4 3.2,3.4 3.3,3.3 C 3.5,3 3.3,2.6 3,2.6 z M 2.3,3.1 C 1.9,3.1 1.8,3.7 2.1,3.8 C 2.3,3.9 2.5,3.8 2.6,3.7 C 2.7,3.5 2.6,3.1 2.3,3.1 z M 2.7,3.4 L 2.7,5.4 L 3.8,5.3 L 3.8,6.8 C 3.9,6.8 4.2,6.8 4.3,6.8 L 4.2,4.9 L 3.4,4.9 L 3.4,3.4 L 2.7,3.4 z M 1.5,3.6 C 1.1,3.6 1,4.1 1.4,4.3 C 1.5,4.3 1.6,4.3 1.7,4.3 C 2,4.1 1.9,3.6 1.5,3.6 z M 1.9,3.9 L 1.9,5.8 L 3.1,5.8 L 3.1,7.3 C 3.2,7.3 3.4,7.3 3.5,7.3 L 3.5,5.4 L 2.7,5.4 L 2.7,3.9 L 1.9,3.9 z M 0.8,4 C 0.7,4 0.7,4.1 0.6,4.1 C 0.3,4.2 0.3,4.7 0.7,4.8 C 0.8,4.8 1,4.7 1.1,4.6 C 1.2,4.4 1,4 0.8,4 z M 1.2,4.4 L 1.2,6.3 L 2.3,6.3 L 2.3,7.8 L 2.7,7.8 L 2.7,5.9 L 1.9,5.9 L 1.9,4.4 L 1.2,4.4 z M 0.4,4.9 L 0.4,6.8 L 1.5,6.8 L 1.5,8.2 L 2,8.2 L 2,6.4 L 1.1,6.4 L 1.1,4.9 L 0.4,4.9 z"/>
+  </svg:marker>
+  <svg:marker fill="#000000" id="marker-piste-type-sled" markerHeight="7px" markerUnits="userSpaceOnUse" markerWidth="7px" orient="auto" refX="-1px" refY="10px" stroke="none" viewBox="0 0 10 10">
+    <svg:path d="M 0,0 L 0,10 L 10,10 L 10,0 L 0,0 z M 0.1,0.1 L 9.9,0.1 L 9.9,9.9 L 0.1,9.9 L 0.1,0.1 z M 8.5,4.9 C 8.5,5.8 7.8,6.6 6.9,6.6 L 5.6,6.6 L 5.6,5.3 L 6.9,5.3 L 6.9,5 L 1.9,5 L 1.9,5.3 L 2.9,5.3 L 2.9,6.6 L 1.2,6.6 L 1.2,6.9 L 6.9,6.9 C 7.9,6.9 8.7,5.9 8.7,4.9 L 8.5,4.9 z M 3.1,5.3 L 5.4,5.3 L 5.4,6.6 L 3.1,6.6 L 3.1,5.3 z"/>
+  </svg:marker>
+  <svg:marker fill="#000000" id="marker-piste-type-nordic" markerHeight="7px" markerUnits="userSpaceOnUse" markerWidth="7px" orient="auto" refX="-1px" refY="10px" stroke="none" viewBox="0 0 10 10">
+    <svg:path d="M 0,0 L 0,10 L 10,10 L 10,0 L 0,0 z M 0.1,0.1 L 9.9,0.1 L 9.9,9.9 L 0.1,9.9 L 0.1,0.1 z M 7,1.1 C 6.6,1.1 6.3,1.4 6.3,1.7 C 6.3,2.1 6.6,2.4 7,2.4 C 7.3,2.4 7.6,2.1 7.6,1.7 C 7.6,1.4 7.3,1.1 7,1.1 z M 6,2.2 L 4.4,2.5 L 3.5,3.7 L 3.5,3.8 L 0.5,3.8 L 0.5,3.9 L 3.5,3.9 L 3.6,4 L 3.7,3.9 L 4.5,2.9 L 5.3,2.9 L 4.1,4.3 L 3,6.1 L 1,6.9 L 1.3,7.1 L 3.3,6.4 L 4.6,5.2 L 5.8,6.3 L 5.4,8.5 L 5.8,8.5 L 6.3,6.3 L 5.1,4.8 L 6.5,3.1 L 7.6,3.9 L 8.5,3.1 L 7.7,8.6 L 3.5,8.6 L 0.8,6.9 L 0.4,6.9 L 3.1,8.6 L 2.1,8.6 L 2.1,8.9 L 8.8,8.9 L 9.2,8.4 L 8.7,8.6 L 7.9,8.6 L 8.6,3 L 8.7,2.9 L 8.7,2.6 L 7.6,3.4 L 6.5,2.6 L 6,2.2 z"/>
+  </svg:marker>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-POI-features-z12.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-POI-features-z12.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-POI-features-z12.xml	(revision 35743)
@@ -0,0 +1,34 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Tiles@Home Rules File for zoom level 12 -->
+
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+	textAttenuation="0.44"
+    minimumMapWidth="1"
+    minimumMapHeight="1"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+
+        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
+        </style>
+
+    </defs>
+
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-POI-features-z13.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-POI-features-z13.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-POI-features-z13.xml	(revision 35743)
@@ -0,0 +1,34 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Tiles@Home Rules File for zoom level 13 -->
+
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+	textAttenuation="0.44"
+    minimumMapWidth="1"
+    minimumMapHeight="1"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+
+        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
+        </style>
+
+    </defs>
+
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-POI-features-z14.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-POI-features-z14.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-POI-features-z14.xml	(revision 35743)
@@ -0,0 +1,34 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Tiles@Home Rules File for zoom level 14 -->
+
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+	textAttenuation="0.44"
+    minimumMapWidth="1"
+    minimumMapHeight="1"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+
+        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
+        </style>
+
+    </defs>
+
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-POI-features-z15.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-POI-features-z15.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-POI-features-z15.xml	(revision 35743)
@@ -0,0 +1,34 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Tiles@Home Rules File for zoom level 15 -->
+
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+	textAttenuation="0.44"
+    minimumMapWidth="1"
+    minimumMapHeight="1"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+
+        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
+        </style>
+
+    </defs>
+
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-POI-features-z16.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-POI-features-z16.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-POI-features-z16.xml	(revision 35743)
@@ -0,0 +1,34 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Tiles@Home Rules File for zoom level 16 -->
+
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+	textAttenuation="0.44"
+    minimumMapWidth="1"
+    minimumMapHeight="1"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+
+        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
+        </style>
+
+    </defs>
+
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-POI-features-z17.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-POI-features-z17.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-POI-features-z17.xml	(revision 35743)
@@ -0,0 +1,1595 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+
+<!-- Tiles@Home Rules File for zoom level 17 -->
+
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+	textAttenuation="14"
+    minimumMapWidth="1"
+    minimumMapHeight="1"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+    
+    <!-- Select all nodes and ways (unless they have an osmarender:render=no tag) -->
+    <rule e="node|way" k="osmarender:render" v="~|yes">
+
+        <!-- highway motorway_junctions -->
+        <rule e="node" k="highway" v="motorway_junction">
+          <circle r="1.825" class="highway-motorway-junction" />
+          <text k="name" class='highway-motorway-junction-caption' dy='-2.3px' />
+          <text k="ref" class='highway-motorway-junction-caption' dy='0.7px' />
+        </rule>
+        
+
+	<!-- Natural features -->
+	<rule e="node" k="natural" v="peak">
+		<symbol xlink:href="#symbol-peak" width='2px' height='2px' transform='translate(-1,-1)' />
+	</rule>
+
+
+        <!-- Power lines and pylons -->
+        <rule e="node" k="power" v="tower">
+            <symbol xlink:href="#power-tower" width='1px' height='1px' transform='translate(-.5,-.5)'/>
+        </rule>
+
+        <!-- Tourist features -->
+        <rule e="node" k="tourism" v="hotel">
+            <symbol xlink:href="#hotel" width='2px' height='2px' transform='translate(-1,-1)' />
+        </rule>
+        <rule e="node" k="tourism" v="hostel">
+            <symbol xlink:href="#hostel" width='3px' height='2px' transform='translate(-1.5,-1)' />
+        </rule>
+        <rule e="node" k="tourism" v="camp_site">
+            <symbol xlink:href="#campSite" width='2px' height='2px' transform='translate(-1,-1)' />
+        </rule>
+
+
+        <!-- Amenities -->
+        <rule e="node" k="aeroway" v="helipad">
+            <symbol xlink:href="#symbol-helipad" width='4px' height='4px' transform='translate(-2,-2)' />
+        </rule>
+        <rule e="node" k="amenity" v="hospital">
+            <symbol xlink:href="#hospital" width='2px' height='2px' transform='translate(-1,-1)' />
+        </rule>
+        <rule e="node" k="amenity" v="doctors">
+            <symbol xlink:href="#symbol-doctor" width='2px' height='2px' transform='translate(-1,-1)' />
+        </rule>
+        <rule e="node" k="amenity" v="pharmacy">
+            <symbol xlink:href="#symbol-pharmacy" width='2px' height='2px' transform='translate(-1,-1)' />
+        </rule>
+        <rule e="node" k="amenity" v="post_office">
+            <symbol xlink:href="#postoffice" width='2px' height='2px' transform='translate(-1,-1)' />
+        </rule>
+        <rule e="node" k="amenity" v="post_box">
+            <symbol xlink:href="#postbox" width='1.5px' height='1.5px' transform='translate(-0.75,-0.75)' />
+        </rule>
+        <rule e="node" k="amenity" v="speed_trap">
+            <symbol xlink:href="#speed_trap" width='2px' height='1px' transform='translate(-1,-0.5)' />
+        </rule>
+        <rule e="node" k="amenity" v="pub">
+            <symbol xlink:href="#pub" width='1.5px' height='1.5px' transform='translate(-0.75,-0.75)'/>
+        </rule>
+        <rule e="node" k="amenity" v="restaurant">
+            <symbol xlink:href="#symbol-restaurant" width='1.5px' height='1.5px' transform='translate(-0.75,-0.75)'/>
+        </rule>
+        <rule e="node" k="amenity" v="cinema">
+            <symbol xlink:href="#cinema" width='1.75px' height='2.5px' transform='translate(-0.9,-1.25)'/>
+        </rule>
+        <rule e="node" k="amenity" v="theatre">
+            <symbol xlink:href="#theatre" width='1.75px' height='2.5px' transform='translate(-0.9,-1.25)'/>
+        </rule>
+        <rule e="node" k="man_made" v="windmill">
+            <symbol xlink:href="#symbol-windmill" width='2px' height='2px' transform='translate(-1,-1)'/>
+        </rule>
+        <rule e="node" k="amenity" v="place_of_worship">
+			<rule e="node" k="denomination|religion" v="jewish">
+				<symbol xlink:href="#synagogue" width='2px' height='2px' transform='translate(-1,-1)' />
+			</rule>
+			<else>
+				<rule e="node" k="denomination|religion" v="muslim">
+					<symbol xlink:href="#mosque" width='2px' height='2px' transform='translate(-1,-1)' />
+				</rule>
+				<else>
+					<symbol xlink:href="#church" width='1px' height='2px' transform='translate(-0.5,-1)' />
+				</else>
+			</else>
+        </rule>
+        <rule e="node" k="amenity" v="parking">
+            <symbol xlink:href="#parking" width='2px' height='2px' transform='translate(-1,-1)' />
+        </rule>
+        <rule e="node" k="highway" v="traffic_signals">
+            <symbol xlink:href="#symbol-traffic_signal" width='2px' height='2px' transform='translate(0,0)'/>
+        </rule>
+        <rule e="node" k="amenity" v="school">
+            <symbol xlink:href="#symbol-school" width='2px' height='2px' transform='translate(-1,-1)' />
+        </rule>
+        <rule e="node" k="amenity" v="university|college">
+            <symbol xlink:href="#symbol-university" width='2px' height='2px' transform='translate(-1,-1)' />
+        </rule>
+        <rule e="node" k="amenity" v="supermarket">
+            <symbol xlink:href="#symbol-supermarket" width='2px' height='2px' transform='translate(0,0)' />
+        </rule>
+        <rule e="node" k="amenity" v="library">
+            <symbol xlink:href="#symbol-library" width='2px' height='2px' transform='translate(0,0)' />
+        </rule>
+        <rule e="node" k="amenity" v="fuel">
+            <symbol xlink:href="#petrolStation" width='2px' height='2px' transform='translate(-1,-1)' />
+        </rule>
+        <rule e="node" k="amenity" v="recycling">
+            <symbol xlink:href="#recycling" width='2px' height='2px' transform='translate(-1,-1)'/>
+        </rule>
+
+        <!-- Leisure symbols -->
+        <rule e="node" k="leisure" v="golf_course">
+            <symbol xlink:href="#golfCourse" width='5px' height='5px' transform='translate(-2.5,-2.5)' />
+        </rule>
+        <rule e="node" k="leisure" v="slipway">
+            <symbol xlink:href="#slipway" width='4px' height='4px' transform='translate(-2,-2)' />
+        </rule>
+
+        <!-- Historic symbols -->
+	<rule e="node" k="historic" v="*">
+		<rule e="node" k="historic" v="museum">
+		    <symbol xlink:href="#symbol-museum" width='2px' height='2px' transform='translate(0,0)'/>
+		</rule>
+		<else>
+		    <circle r="0.4" class="generic-poi" />
+		</else>
+	</rule>
+		
+	<rule e="node" k="man_made" v="cairn">
+	           <circle r="0.4" stroke="black" stroke-width="0.1px" fill="white" />
+	           <circle r="0.1" stroke="black" stroke-width="0.1px" fill="black" />
+	</rule>
+
+    </rule>
+
+
+	<!-- ==================================== Layer 5 ======================================== -->
+    <rule e="node|way" k="osmarender:render" v="~|yes" layer="5">
+
+        <rule e="node" k="osmarender:renderName" v="~|yes" layer="5">
+			<rule e="node" k="natural" v="peak" layer="5">
+				<text k="name" class='place-caption peak-caption' dy='-1.5px'/>
+				<text k="elevation" class='place-caption' font-size='1px' dy='2.0px'/>
+			</rule>	        
+			<rule e="node" k="place" v="village" layer="5">
+			    <text k='name' class='place-caption village-caption' />
+			</rule>
+			<rule e="node" k="place" v="suburb" layer="5">
+			    <text k='name' class='place-caption suburb-caption' />
+			</rule>
+			<rule e="node" k="place" v="hamlet" layer="5">
+			    <text k='name' class='place-caption hamlet-caption' />
+			</rule>
+			<rule e="node" k="place" v="farm" layer="5">
+			    <text k='name' class='place-caption farm-caption'/>
+			</rule>
+			<rule e="node" k="tourism" v="attraction" layer="5">
+			    <text k='name' class='tourism-attraction-caption' />
+			</rule>
+			<rule e="node" k="railway" v="station" layer="5">
+				<rule e="node" s="way" k="railway" v="rail" layer="5">
+					<text k="name" class='caption-casing railway-station-caption-casing' dy='-1.5px' />
+					<text k="name" class='caption-core railway-station-caption-core' dy='-1.5px' />
+				</rule>
+				<else>
+					<text k="name" class='caption-casing railway-halt-caption-casing' dy='-1px' />
+					<text k="name" class='caption-core railway-halt-caption-core' dy='-1px' />
+				</else>
+			</rule>
+			<rule e="node" k="railway" v="halt" layer="5">
+                <text k="name" class="caption-casing railway-halt-caption-casing" dy='-1px'/>
+                <text k="name" class="caption-core railway-halt-caption-core" dy='-1px'/>
+			</rule>
+                        <rule e="node" k="railway" v="tram_stop" layer="5">
+                          <text k="name" class="caption-casing railway-halt-caption-casing" dy='-1px'/>
+                          <text k="name" class="caption-core railway-halt-caption-core" dy='-1px'/>
+                        </rule>
+			<rule e="node" k="amenity" v="pub" layer="5">
+			    <text k="name" class='caption-casing amenity-pub-caption-casing' dy='-1.2px' />
+			    <text k="name" class='caption-core amenity-pub-caption-core' dy='-1.2px' />
+			</rule>
+			<rule e="node" k="amenity" v="cinema" layer="5">
+			    <text k="name" class='caption-casing amenity-cinema-caption-casing' dy='-3px' />
+			    <text k="name" class='caption-core amenity-cinema-caption-core' dy='-3px' />
+			</rule>
+			<rule e="node" k="amenity" v="theatre" layer="5">
+			    <text k="name" class='caption-casing amenity-theatre-caption-casing' dy='-3px' />
+			    <text k="name" class='caption-core amenity-theatre-caption-core' dy='-3px' />
+			</rule>
+			<rule e="node" k="amenity" v="school|college|university" layer="5">
+			    <text k="name" class='caption-casing generic-caption-casing' dy='-3px' />
+			    <text k="name" class='caption-core generic-caption-core' dy='-3px' />
+			</rule>
+			<rule e="node" k="amenity" v="supermarket|library|doctors|pharmacy|place_of_worship|parking|post_office|hospital|hotel|hostel|camp_site" layer="5">
+			    <text k="name" class='caption-casing generic-caption-casing' dy='-2.5px' />
+			    <text k="name" class='caption-core generic-caption-core' dy='-2.5px' />
+			</rule>
+			<rule e="node" k="tourism" v="hotel|hostel|camp_site" layer="5">
+			    <text k="name" class='caption-casing generic-caption-casing' dy='-2.5px' />
+			    <text k="name" class='caption-core generic-caption-core' dy='-2.5px' />
+			</rule>
+			<rule e="node" k="historic" v="*" layer="5">
+			    <text k="name" class='caption-casing generic-caption-casing' dy='-2.5px' />
+			    <text k="name" class='caption-core generic-caption-core' dy='-2.5px' />
+			</rule>
+		</rule>
+
+
+		<!-- Area captions -->
+        <rule e="way" k="natural" v="*" layer="5">
+			<areaText k="name" class="caption-casing generic-caption-casing" text-anchor='middle' startOffset='50%'/>
+			<areaText k="name" class="caption-core generic-caption-core" text-anchor='middle' startOffset='50%'/>
+        </rule>
+        <rule e="way" k="leisure" v="*" layer="5">
+			<areaText k="name" class="caption-casing generic-caption-casing" text-anchor='middle' startOffset='50%'/>
+			<areaText k="name" class="caption-core generic-caption-core" text-anchor='middle' startOffset='50%'/>
+        </rule>
+        <rule e="way" k="sport" v="*" layer="5">
+			<areaText k="name" class="caption-casing generic-caption-casing" text-anchor='middle' startOffset='50%'/>
+			<areaText k="name" class="caption-core generic-caption-core" text-anchor='middle' startOffset='50%'/>
+        </rule>
+        <rule e="way" k="landuse" v="*" layer="5">
+			<areaText k="name" class="caption-casing generic-caption-casing" text-anchor='middle' startOffset='50%'/>
+			<areaText k="name" class="caption-core generic-caption-core" text-anchor='middle' startOffset='50%'/>
+        </rule>
+        <rule e="way" k="amenity" v="school|college|university|parking" layer="5">
+			<areaText k="name" class="caption-casing generic-caption-casing" text-anchor='middle' startOffset='50%'/>
+			<areaText k="name" class="caption-core generic-caption-core" text-anchor='middle' startOffset='50%'/>
+        </rule>
+        <rule e="way" k="building" v="*" layer="5">
+			<areaText k="name" class="caption-casing generic-caption-casing" text-anchor='middle' startOffset='50%'/>
+			<areaText k="name" class="caption-core generic-caption-core" text-anchor='middle' startOffset='50%'/>
+        </rule>
+        <rule e="way" k="tourism" v="attraction" layer="5">
+			<areaText k="name" class="caption-casing generic-caption-casing" text-anchor='middle' startOffset='50%'/>
+			<areaText k="name" class="caption-core generic-caption-core" text-anchor='middle' startOffset='50%'/>
+        </rule>
+    </rule>
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+
+        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
+            /* DO NOT DELETE - Used by osmarender.xsl */
+            .untagged-segments {
+                stroke-width: 0.5px;
+                stroke-linejoin: round;
+                stroke-linecap: butt;
+                stroke: #e0e0e0;
+                stroke-dasharray: 0.5,0.5;
+            }
+
+
+            .gate-locked {
+				fill: none;
+				stroke: red;
+				stroke-width: 1px;
+				stroke-opacity: 0;
+                marker-mid: url(#marker-gate-locked);
+            }
+
+            .gate-closed {
+				fill: none;
+				stroke: red;
+				stroke-width: 1px;
+				stroke-opacity: 0;
+                marker-mid: url(#marker-gate-closed);
+            }
+
+            .gate-open {
+				fill: none;
+				stroke: red;
+				stroke-width: 1px;
+				stroke-opacity: 0;
+                marker-mid: url(#marker-gate-open);
+            }
+
+			/* Railways - generic styles */
+            .railway-casing {
+				stroke-linecap: butt;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+			.railway-core {
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                fill: none;
+			}				
+
+
+            /* Highways - generic styles */
+            .highway-casing {
+				stroke-linecap: square;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+            .highway-core {
+                stroke-linecap: square;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+            .highway-motorway-junction {
+               fill: yellow;
+               stroke: #4D5D73;
+               stroke-width: 0.75px;
+               }
+                        
+               .highway-motorway-junction-caption {
+               fill: black;
+               stroke: black;
+               stroke-width: 0.05px;
+               font-family: "DejaVu Sans",sans-serif;
+               font-size: 1.5px;
+               font-weight: bold;
+               text-anchor: middle;
+              }
+            
+           .highway-ref {
+                fill: #666666;
+                stroke: white;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+		text-anchor: middle;
+            }
+
+            .highway-name {
+                fill: black;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                stroke: white;
+				text-anchor: middle;
+             }
+
+            .highway-user { 
+				stroke-width: 0px;
+				font-size: 1.0px; fill: #bbbbbb;
+			}
+
+			.bridge-casing {
+				stroke-linecap: butt;
+				stroke-linejoin: round;
+				stroke: #777777;
+				fill: none;
+				marker-start: url(#bridge-casing-start);
+				marker-end: url(#bridge-casing-end);
+			}
+			
+			.bridge-core {
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #f8f8f8;
+                fill: none;
+			}
+
+            .tunnel-casing {
+				stroke-linecap: butt;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+            .tunnel-core {
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+			.tunnel { stroke-dasharray: 0.4, 0.4; }
+
+
+            .railway-rail-bridge-casing             { stroke-width: 2.75px; }
+            .railway-rail-bridge-core               { stroke-width: 2.25px; }
+            .railway-rail-casing                    { stroke-width: 1.0px; stroke: #aaaaaa; }
+            .railway-rail-1-core                    { stroke-width: 0.8px; stroke: #ffffff; }
+            .railway-rail-2-core                    { stroke-width: 1.5px; stroke: #aaaaaa; stroke-dasharray: 0.1, 1.0; }
+
+            .railway-light-rail-bridge-casing       { stroke-width: 2.05px; }
+            .railway-light-rail-bridge-core         { stroke-width: 1.55px; }
+            .railway-light-rail-casing              { stroke-width: 0.8px; stroke: #666666; }
+            .railway-light-rail-core                { stroke-width: 0.6px; stroke: #666666; }
+
+            .railway-subway-bridge-casing           { stroke-width: 2.05px; }
+            .railway-subway-bridge-core             { stroke-width: 1.55px; }
+            .railway-subway-casing                  { stroke-width: 0.8px; stroke: #aaaaaa; }
+            .railway-subway-core                    { stroke-width: 0.6px; stroke: #ffffff; stroke-dasharray: 1, 3; }
+
+            .railway-tram-bridge-casing             { stroke-width: 2.05px; }
+            .railway-tram-bridge-core               { stroke-width: 1.55px; }
+            .railway-tram-casing                    { stroke-width: 0.8px; stroke: #666666; }
+            .railway-tram-core                      { stroke-width: 0.6px; stroke: #666666; }
+
+            .railway-narrow-gauge-bridge-casing     { stroke-width: 2.05px; }
+            .railway-narrow-gauge-bridge-core       { stroke-width: 1.55px; }
+            .railway-narrow-gauge-casing            { stroke-width: 0.8px; stroke: #aaaaaa; }
+            .railway-narrow-gauge-core              { stroke-width: 0.6px; stroke: #aaaaaa; }
+
+            .railway-preserved-bridge-casing        { stroke-width: 2.35px; }
+            .railway-preserved-bridge-core          { stroke-width: 1.85px; }
+            .railway-preserved-casing               { stroke-width: 1.1px; stroke: #666666; }
+            .railway-preserved-core                 { stroke-width: 0.9px; stroke: #666666; }
+      
+            .railway-monorail-bridge-casing         { stroke-width: 2.25px; }
+            .railway-monorail-bridge-core           { stroke-width: 1.75px; }
+            .railway-monorail-casing                { stroke-width: 1.0px; stroke: #666666; }
+            .railway-monorail-core                  { stroke-width: 0.8px; stroke: #a65ca3; }
+
+            .highway-motorway-bridge-casing         { stroke-width: 3.50px; }
+            .highway-motorway-bridge-core           { stroke-width: 3.00px; }
+            .highway-motorway-casing				{ stroke-width: 1.9px;  stroke: #777777; }
+            .highway-motorway-core					{ stroke-width: 1.7px;  stroke: #809BC0; }
+            .highway-motorway-name                  { stroke-width: 0px;     font-size: 1.5px; }
+            .highway-motorway-ref                   { stroke-width: 0px;     font-size: 2px; }
+
+            .highway-trunk-bridge-casing            { stroke-width: 2.5px; }
+            .highway-trunk-bridge-core              { stroke-width: 2.2px; }
+            .highway-trunk-casing                   { stroke-width: 1.7px;     stroke: #777777; }
+            .highway-trunk-core                     { stroke-width: 1.5px;  stroke: #7FC97F; }
+            .highway-trunk-name                     { stroke-width: 0px;     font-size: 1.5px; }
+            .highway-trunk-ref                      { stroke-width: 0px;     font-size: 2px; }
+
+            .highway-primary-bridge-casing          { stroke-width: 2.5px; }
+            .highway-primary-bridge-core            { stroke-width: 2.2px; }
+            .highway-primary-casing                 { stroke-width: 1.7px;     stroke: #777777; }
+            .highway-primary-core                   { stroke-width: 1.5px;  stroke: #e46d71; }
+            .highway-primary-name                   { stroke-width: 0px;     font-size: 1.5px; }
+            .highway-primary-ref					{ stroke-width: 0px;     font-size: 2px; }
+
+            .highway-motorway-link-bridge-casing    { stroke-width: 2.5px; }
+            .highway-motorway-link-bridge-core      { stroke-width: 2.2px; }
+            .highway-motorway-link-casing           { stroke-width: 1.7px;     stroke: #777777; }
+            .highway-motorway-link-core             { stroke-width: 1.5px;  stroke: #809BC0; }
+            .highway-motorway-link-name             { stroke-width: 0px;     font-size: 1.5px; }
+            .highway-motorway-link-ref              { stroke-width: 0px;     font-size: 2px; }
+
+            .highway-trunk-link-bridge-casing       { stroke-width: 2.5px; }
+            .highway-trunk-link-bridge-core         { stroke-width: 2.2px; }
+            .highway-trunk-link-casing              { stroke-width: 1.7px;     stroke: #777777; }
+            .highway-trunk-link-core                { stroke-width: 1.5px;  stroke: #7FC97F; }
+            .highway-trunk-link-name                { stroke-width: 0px;     font-size: 1.5px; }
+            .highway-trunk-link-ref                 { stroke-width: 0px;     font-size: 2px; }
+
+            .highway-primary-link-bridge-casing     { stroke-width: 2.5px; }
+            .highway-primary-link-bridge-core       { stroke-width: 2.2px; }
+            .highway-primary-link-casing            { stroke-width: 1.7px;  stroke: #777777; }
+            .highway-primary-link-core              { stroke-width: 1.5px;   stroke: #e46d71; }
+            .highway-primary-link-name              { stroke-width: 0px;     font-size: 1.5px; }
+            .highway-primary-link-ref               { stroke-width: 0px;     font-size: 2px; }
+
+            .highway-secondary-bridge-casing        { stroke-width: 2.5px; }
+            .highway-secondary-bridge-core          { stroke-width: 2.2px; }
+            .highway-secondary-casing				{ stroke-width: 1.7px;	 stroke: #777777; }
+            .highway-secondary-core                 { stroke-width: 1.5px;  stroke: #FDBF6F; }
+            .highway-secondary-name                 { stroke-width: 0px;     font-size: 1.5px;}
+            .highway-secondary-ref                  { stroke-width: 0px;     font-size: 2px; }
+
+            .highway-tertiary-bridge-casing         { stroke-width: 2.5px; }
+            .highway-tertiary-bridge-core           { stroke-width: 2.2px; }
+			.highway-tertiary-casing                { stroke-width: 1.7px;  stroke: #777777; }
+			.highway-tertiary-core                  { stroke-width: 1.5px;   stroke: #f7f496; }
+            .highway-tertiary-name                  { stroke-width: 0px;     font-size: 1.25px; }
+            .highway-tertiary-ref					{ stroke-width: 0px;     font-size: 1.5px; }
+
+            .highway-unclassified-bridge-casing     { stroke-width: 2.2px; }
+            .highway-unclassified-bridge-core       { stroke-width: 2.0px; }
+            .highway-unclassified-casing            { stroke-width: 1.5px;  stroke: #777777; }
+            .highway-unclassified-core              { stroke-width: 1.25px;   stroke: #ffffff; }
+            .highway-unclassified-name              { stroke-width: 0px;     font-size: 1.25px; }
+            .highway-unclassified-ref               { stroke-width: 0px;     font-size: 1.5px; }
+
+            .highway-service-bridge-casing          { stroke-width: 2.25px; }
+            .highway-service-bridge-core            { stroke-width: 1.75px; }
+            .highway-service-casing                 { stroke-width: 1.2px;   stroke: #777777; }
+            .highway-service-core                   { stroke-width: 1px;   stroke: #ffffff; }
+            .highway-service-name                   { stroke-width: 0px;     font-size: 1.25px; }
+            .highway-service-ref                    { stroke-width: 0px;     font-size: 1.25px; }
+
+            .highway-unsurfaced-bridge-casing       { stroke-width: 2.25px; }
+            .highway-unsurfaced-bridge-core         { stroke-width: 1.75px; }
+            .highway-unsurfaced-casing              { stroke-width: 1.2px;   stroke: #777777; stroke-dasharray: 1, 0.5; stroke-linecap: butt; }
+            .highway-unsurfaced-core                { stroke-width: 1px;   stroke: #ffffff; }
+            .highway-unsurfaced-name                { stroke-width: 0px;     font-size: 1.25px; }
+            .highway-unsurfaced-ref                 { stroke-width: 0px;     font-size: 1.25px; }
+
+            .highway-track-bridge-casing            { stroke-width: 2.25px; }
+            .highway-track-bridge-core              { stroke-width: 1.75px; }
+            .highway-track-casing                   { stroke-width: 1.2px;   stroke: #d79331; }
+            .highway-track-core                     { stroke-width: 1px;   stroke: #ffffff; }
+            .highway-track-name                     { stroke-width: 0px;     font-size: 1.25px; }
+            .highway-track-ref                      { stroke-width: 0px;     font-size: 1.25px; }
+
+            .highway-byway-bridge-casing            { stroke-width: 1.6px; }
+            .highway-byway-bridge-core              { stroke-width: 1.4px; }
+            .highway-byway-1-casing                 { stroke-width: 1px;     stroke: #555555;  stroke-dasharray: 0.7, 0.2; stroke-linecap: butt;}
+            .highway-byway-2-casing                 { stroke-width: 0.8px;   stroke: #efadaa; }
+            .highway-byway-3-casing                 { stroke-width: 1.4px;   stroke: #555555;  stroke-dasharray: 0.1, 0.8; stroke-dashoffset: 0.6; stroke-linecap: butt; }
+            .highway-byway-1-core                   { stroke-width: 0.4px;   stroke: #efadaa; }
+            .highway-byway-name                     { stroke-width: 0px;     font-size: 1.25px; }
+            .highway-byway-ref                      { stroke-width: 0px;     font-size: 1.25px; }
+
+            .highway-bridleway-bridge-casing        { stroke-width: 1.6px; }
+            .highway-bridleway-bridge-core          { stroke-width: 1.4px; }
+            .highway-bridleway-casing               { stroke-width: 1px;     stroke: #777777;  stroke-dasharray: 0.7, 0.2; stroke-linecap: butt; }
+            .highway-bridleway-core                 { stroke-width: 0.8px;   stroke: #e3e9f1; }
+            .highway-bridleway-name                 { stroke-width: 0px;     font-size: 1.25px; }
+            .highway-bridleway-ref                  { stroke-width: 0px;     font-size: 1.25px; }
+
+            .highway-cycleway-bridge-casing         { stroke-width: 1.6px; }
+            .highway-cycleway-bridge-core           { stroke-width: 1.4px; }
+            .highway-cycleway-casing                { stroke-width: 1px;     stroke: #777777; stroke-dasharray: 0.2, 0.2; stroke-linecap: butt;}
+            .highway-cycleway-core                  { stroke-width: 0.8px;   stroke: #d1ead1; }
+            .highway-cycleway-name                  { stroke-width: 0px;     font-size: 1.25px; }
+            .highway-cycleway-ref                   { stroke-width: 0px;     font-size: 1.25px; }
+
+            .highway-pedestrian-bridge-casing       { stroke-width: 1.8px; }
+            .highway-pedestrian-bridge-core         { stroke-width: 1.6px; }
+            .highway-pedestrian-casing              { stroke-width: 1.2px;   stroke: #aaaaaa; }
+            .highway-pedestrian-core                { stroke-width: 1px;   stroke: #eeeeee; }
+            .highway-pedestrian-name                { stroke-width: 0px;     font-size: 1px; }
+            .highway-pedestrian-ref                 { stroke-width: 0px;     font-size: 1.25px; }
+
+            .highway-footway-bridge-casing          { stroke-width: 1.2px; }
+            .highway-footway-bridge-core            { stroke-width: 1px; }
+            .highway-footway-casing                 { stroke-width: 0.6px;   stroke: #777777; stroke-dasharray: 0.2, 0.2; stroke-linecap: butt;}
+            .highway-footway-core                   { stroke-width: 0.5px;   stroke: #efeaa0; }
+            .highway-footway-name                   { stroke-width: 0px;     font-size: 1.25px; }
+            .highway-footway-ref                    { stroke-width: 0px;     font-size: 1.25px; }
+
+            .highway-steps-bridge-casing            { stroke-width: 1.2px; }
+            .highway-steps-bridge-core              { stroke-width: 1.0px; }
+            .highway-steps-casing                   { stroke-width: 0.6px;   stroke: #777777; }
+            .highway-steps-core                     { stroke-width: 0.5px;   stroke: #e5e0c2; stroke-dasharray: 0.3, 0.1; stroke-linecap: butt;}
+            .highway-steps-name                     { stroke-width: 0px;     font-size: 1.25px; }
+            .highway-steps-ref                      { stroke-width: 0px;     font-size: 1.25px; }
+
+            .highway-scramble-core                  { stroke-width: 0.15px;  stroke: #777777; stroke-dasharray: 0.8, 0.2; stroke-linecap: butt;}
+            .highway-scramble-name                  { stroke-width: 0.5px;   fill: black;  font-size: 1.25px; }
+			
+            /* Aeroways */
+            .aeroway-apron {
+                stroke-width: 0.3px;
+                stroke: none;
+                fill: #f0f0f0;
+            }
+
+            .aeroway-taxiway-casing {
+                stroke-width: 3px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .aeroway-taxiway-core {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #d4dcbd;
+                fill: none;
+            }
+
+            .aeroway-runway-core {
+                stroke-width: 5px;
+                stroke-linecap: square;
+                stroke-linejoin: round;
+                stroke: #d4dcbd;
+                fill: none;
+            }
+
+            .aeroway-runway-casing {
+                stroke-width: 7px;
+                stroke-linecap: square;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .aeroway-aerodrome-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans";
+                font-size: 6px;
+                font-weight: bold;
+            }
+
+            .aeroway-airport-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans";
+                font-size: 10px;
+                font-weight: bold;
+            }
+
+
+            /* Waterways */
+
+			/* Generic under-construction style - makes any way dashed */
+			.under-construction { stroke-dasharray: 4, 4; stroke-linecap: butt;}
+
+
+            /* Place names */
+			/* General style for captions */
+			.place-caption {
+				fill: black;
+				stroke: none;
+                font-family: "DejaVu Sans";
+                font-weight: bold;
+				text-anchor: middle;
+			}
+
+            .caption-casing {
+				fill: white;
+                stroke: white;
+                font-family: "DejaVu Sans";
+                font-weight: bold;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+
+            .caption-core {
+                stroke: white;
+                stroke-width: 0px;
+                font-family: "DejaVu Sans";
+                font-weight: bold;
+                text-anchor: middle;
+                stroke-miterlimit: 1.5;
+            }
+            
+			.peak-caption           { font-size: 2px; }
+            .village-caption        { font-size: 3px; }
+            .suburb-caption         { font-size: 3px; }
+            .hamlet-caption         { font-size: 2px; }
+            .farm-caption           { font-size: 1.5px; }
+
+
+            /* Leisure */
+            .leisure-park {
+                fill: #c7f1a3;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .leisure-stadium {
+                fill: #bde3cb;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .leisure-track {
+                fill: #bde3cb;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .sport {
+                fill: #bde3cb;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .amenity-parking {
+                fill: #f7efb7;
+                stroke: #e9dd72;
+                stroke-width: 0.2px;
+            }
+
+            .amenity-school {
+                fill: #dfafdd;
+                stroke: #e9dd72;
+                stroke-width: 0.2px;
+            }
+
+
+			/* Non-physical boundaries */
+            .boundary {
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+			.boundary-administrative-state-casing {
+				stroke-width: 2.5px; 
+				stroke: #ffff00;
+				opacity: 0.5;
+			}
+
+			.boundary-administrative-state-core {
+				stroke-width: 0.25px; 
+				stroke: #f9574b;
+				stroke-dasharray: 2.5, 0.5, 0.5, 0.5;
+			}
+
+
+            .railway-station                        { fill: #ec2d2d;        stroke: #666666; stroke-width: 0.25px; }
+            .railway-station-caption-casing         { stroke-width: 0.5px;  font-size: 1.5px; }
+            .railway-station-caption-core           { fill: #ec2d2d;        font-size: 1.5px; }
+
+            .railway-halt                           { fill: #ec2d2d;        stroke: #666666; stroke-width: 0.1px; }
+            .railway-halt-caption-casing            { stroke-width: 0.4px;  font-size: 1.25px; }
+            .railway-halt-caption-core              { fill: #ec2d2d;        font-size: 1.25px; }
+
+
+            /* Tourism */
+            .tourism-attraction {
+                fill: #f2caea;
+                stroke: #f124cb;
+                stroke-width: 0px;
+            }
+
+            .tourism-attraction-caption {
+                fill: #f124cb;
+                stroke: white;
+                stroke-width: 0px;
+                font-family: "DejaVu Sans";
+                font-size: 1.5px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+
+            .amenity-pub-caption-casing          { stroke-width: .5px;   font-size: 1px; }
+            .amenity-pub-caption-core            { fill: #e21e2f;        font-size: 1px; }
+
+            .amenity-cinema-caption-casing       { stroke-width: .5px;   font-size: 1px; }
+            .amenity-cinema-caption-core         { fill: #f124cb;        font-size: 1px; }
+
+            .amenity-theatre-caption-casing      { stroke-width: .5px;   font-size: 1px; }
+            .amenity-theatre-caption-core        { fill: #f124cb;        font-size: 1px; }
+
+            .generic-caption-casing              { stroke-width: .5px;   font-size: 1px; }
+            .generic-caption-core                { fill: #2e3ae6;        font-size: 1px; }
+
+            .generic-poi {
+                fill: #2e3ae6;
+                stroke: #666666;
+                stroke-width: 0.1px;
+            }
+
+            /* Building */
+            .building {
+                fill: #dddddd;
+                stroke: #cccccc;
+                stroke-width: 0.2px;
+            }
+
+            .building-block {
+                fill: #F3D6B6;
+                stroke: #6a5a8e;
+                stroke-width: 0.2px;
+            }
+
+            .building-residential {
+                fill: #c95e2a;
+                stroke: #80290a;
+                stroke-width: 0.2px;
+            }
+
+
+            /* Aerialway */
+            .aerialway-line {
+                fill: none;
+                stroke: #202020;
+                stroke-width: 0.2px;
+            }
+
+            .aerialway-struts {
+                fill: none;
+                stroke: #202020;
+                stroke-width: 2px;
+                stroke-dasharray: 0.2,10;
+            }
+
+            /* Power line */
+            .power-line {
+                stroke-width: 0.1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #cccccc;
+                stroke-dasharray: 1 ,1;
+                fill: none;
+            }
+
+
+			/* Area captions */
+            .park-name {
+                fill: #444444;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                stroke: white;
+                font-size: 2.25px;
+                stroke-width: 0.0px;
+             }
+
+            .landuse-reservoir-name {
+                fill: #444444;
+                font-family: "DejaVu Sans";
+                font-weight: normal;
+                stroke: white;
+                font-size: 2.25px;
+                stroke-width: 0.0px;
+             }
+             
+             
+            /* Oneway */
+            .oneway-casing {
+				fill: none;
+				stroke-linecap: butt;
+				stroke: #777777;
+            }
+
+			/*	stroke: #a2aee9; */
+
+            .oneway-core {
+				fill: none;
+				stroke-linecap: butt;
+				stroke: #ffffff;
+            }
+            
+            .oneway-casing-1 {
+				stroke-width: 0.2px;
+				stroke-dasharray: 2.1,27.9;
+				stroke-dashoffset: 23.1;
+            }
+
+            .oneway-casing-2 {
+				stroke-width: 0.475px;
+				stroke-dasharray: 0.3,29.7;
+				stroke-dashoffset: 21.7;
+            }
+
+            .oneway-casing-3 {
+				stroke-width: 0.4px;
+				stroke-dasharray: 0.3,29.7;
+				stroke-dashoffset: 21.6;
+            }
+
+            .oneway-casing-4 {
+				stroke-width: 0.325px;
+				stroke-dasharray: 0.4,29.6;
+				stroke-dashoffset: 21.6;
+            }
+
+            .oneway-casing-5 {
+				stroke-width: 0.25px;
+				stroke-dasharray: 0.5,29.5;
+				stroke-dashoffset: 21.6;
+            }
+
+            .oneway-casing-6 {
+				stroke-width: 0.175px;
+				stroke-dasharray: 0.6,29.4;
+				stroke-dashoffset: 21.6;
+            }
+
+            .oneway-casing-7 {
+				stroke-width: 0.1px;
+				stroke-dasharray: 0.7,29.3;
+				stroke-dashoffset: 21.6;
+            }
+
+            .oneway-casing-8 {
+				stroke-width: 0.05px;
+				stroke-dasharray: 0.8,29.2;
+				stroke-dashoffset: 21.6;
+            }
+
+            .oneway-core-1 {
+				stroke-width: 0.1px;
+				stroke-dasharray: 2,28;
+				stroke-dashoffset: 23;
+            }
+
+            .oneway-core-2 {
+				stroke-width: 0.425px;
+				stroke-dasharray: 0.2,29.8;
+				stroke-dashoffset: 21.6;
+            }
+
+            .oneway-core-3 {
+				stroke-width: 0.35px;
+				stroke-dasharray: 0.3,29.7;
+				stroke-dashoffset: 21.6;
+            }
+
+            .oneway-core-4 {
+				stroke-width: 0.275px;
+				stroke-dasharray: 0.4,29.6;
+				stroke-dashoffset: 21.6;
+            }
+
+            .oneway-core-5 {
+				stroke-width: 0.2px;
+				stroke-dasharray: 0.5,29.5;
+				stroke-dashoffset: 21.6;
+            }
+
+            .oneway-core-6 {
+				stroke-width: 0.125px;
+				stroke-dasharray: 0.6,29.4;
+				stroke-dashoffset: 21.6;
+            }
+
+            .oneway-core-7 {
+				stroke-width: 0.05px;
+				stroke-dasharray: 0.7,29.3;
+				stroke-dashoffset: 21.6;
+            }
+
+            .otherway {
+				fill: none;
+				stroke: red;
+				stroke-width: 2px;
+				stroke-opacity: 0;
+                /* marker-start: url(#marker-otherway-start); */
+                marker-end: url(#marker-otherway-end);
+            }
+
+
+            /* Map decoration */
+            .map-grid-line {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 0.1px;
+                stroke-opacity: 0.5;
+            }
+
+            .map-border-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 3px;
+                stroke-miterlimit: 4;
+                stroke-dasharray: none;
+                stroke-opacity: 1;
+                stroke-linecap: round;
+            }
+
+            .map-border-core {
+                fill: none;
+                fill-opacity: 1;
+                fill-rule: nonzero;
+                stroke: #ffffff;
+                stroke-width: 2px;
+                stroke-miterlimit: 0;
+                stroke-dashoffset: -0.5px;
+                stroke-opacity: 1;
+            }
+
+            .map-scale-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 4px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-core {
+                fill: none;
+                stroke: #ffffff;
+                stroke-width: 3px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-bookend {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 1px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-caption {
+                font-family: "DejaVu Sans";
+                font-size: 10px;
+                fill: #8080ff;
+            }
+
+            <!-- map background must be the same for all zooms or else empty tile detection will fail -->
+            .map-background {
+                fill: #f8f8f8; 
+                stroke: none;
+            }
+
+            .map-title {
+                font-family: "DejaVu Sans";
+                font-size: 20px;
+                text-anchor: middle;
+                fill: black;
+            }
+
+            .map-title-background {
+                fill: white;
+            }
+
+            .map-marginalia-background {
+                fill: white;
+            }
+
+			.highway-tunnel-ends {
+				stroke-opacity: 0;
+				fill: none;
+				marker-start: url(#marker-tunnel-start);
+				marker-end: url(#marker-tunnel-end);
+			 }
+
+			/* Osmarender built-in styles - do not remove */
+			.osmarender-stroke-linecap-round { stroke-linecap: round; }
+			.osmarender-stroke-linecap-butt { stroke-linecap: butt; }
+			.osmarender-mask-black { stroke: black; }
+			.osmarender-mask-white { stroke: white; }
+			.osmarender-no-marker-start { marker-start: none; }
+			.osmarender-no-marker-end { marker-end: none; }
+
+        </style>
+
+        <svg:pattern id="cemetery-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+           <svg:rect fill="#bde3cb" width="10" height="10" x="0" y="0" />
+           <svg:path fill="#b5b5b5" stroke-width="0.1" d="M 1.48,0.13 C 2.12,0.13 2.63,0.64 2.63,1.28 L 2.63,4.27 L 0.33,4.27 L 0.33,1.28 C 0.33,0.64 0.85,0.13 1.48,0.13 z " />
+           <svg:path fill="#b5b5b5" stroke-width="0.1" d="M 6.64,5.78 C 7.27,5.78 7.79,6.29 7.79,6.92 L 7.79,9.91 L 5.49,9.91 L 5.49,6.92 C 5.49,6.29 6.00,5.78 6.64,5.78 z " />
+        </svg:pattern>
+
+        <svg:pattern id="cemetery-christian-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+           <svg:rect fill="#bde3cb" width="11" height="11" x="0" y="0" />
+            <svg:path stroke="black" stroke-width="0.2" d="M1,1 L3,1 M2,0 L2,3 M6,6 L8,6 M7,5 L7,8"/>
+        </svg:pattern>
+
+        <svg:marker
+            id="bridge-casing-start"
+            fill='none'
+            stroke-width='0.1px'
+            stroke='#777777'
+            markerWidth="1px"
+            markerHeight="1px"
+            orient="auto">
+            <svg:path d="M-0.25,0.75 L0.5,0 L-0.25,-0.75" />
+        </svg:marker>
+
+        <svg:marker
+            id="bridge-casing-end"
+            fill='none'
+            stroke-width='0.1px'
+            stroke='#777777'
+            markerWidth="1px"
+            markerHeight="1px"
+            orient="auto">
+            <svg:path d="M0.25,0.75 L-0.5,0 L0.25,-0.75" />
+        </svg:marker>
+
+        <svg:marker
+            id="marker-tunnel-start"
+            viewBox="0 0 10 10"
+            refX="5px" refY="5px"
+            markerUnits="strokeWidth"
+            fill='none'
+            stroke-width='0.5px'
+            stroke='#777777'
+            markerWidth="2px"
+            markerHeight="2px"
+            orient="auto">
+            <svg:path d="M 4,1 A5,4.25 0 0,1 4,9" />
+        </svg:marker>
+
+        <svg:marker
+            id="marker-tunnel-end"
+            viewBox="0 0 10 10"
+            refX="5px" refY="5px"
+            markerUnits="strokeWidth"
+            fill='none'
+            stroke-width='0.5px'
+            stroke='#777777'
+            markerWidth="2px"
+            markerHeight="2px"
+            orient="auto">
+            <svg:path d="M 6,1 A5,4.25 0 0,0 6,9" /> 
+        </svg:marker>
+
+        <svg:marker
+            id="marker-gate-locked"
+            viewBox="0 0 10 10"
+            refX="2px" refY="5px"
+            markerUnits="userSpaceOnUse"
+            fill='none'
+            stroke-width='0.4px'
+            stroke='#777777'
+            markerWidth="3px"
+            markerHeight="3px"
+            orient="auto">
+            <svg:path d="M 1,0 L 1,10 M 3,0 L 3,10" />
+        </svg:marker>
+
+        <svg:marker
+            id="marker-gate-closed"
+            viewBox="0 0 10 10"
+            refX="1px" refY="5px"
+            markerUnits="userSpaceOnUse"
+            fill='none'
+            stroke-width='0.4px'
+            stroke='#777777'
+            markerWidth="3px"
+            markerHeight="3px"
+            orient="auto">
+            <svg:path d="M 1,0 L 1,10" />
+        </svg:marker>
+
+        <svg:marker
+            id="marker-gate-open"
+            viewBox="0 0 11 11"
+            refX="1px" refY="5px"
+            markerUnits="userSpaceOnUse"
+            fill='none'
+            stroke-width='0.4px'
+            stroke='#777777'
+            markerWidth="3px"
+            markerHeight="3px"
+            orient="auto">
+            <svg:path d="M1,0 L1,1 M1,2 L1,3 M1,4 L1,5 M1,6 L1,7 M1,8 L1,9 M1,10 L1,11" />
+        </svg:marker>
+
+        <svg:marker
+            id="marker-stile"
+            viewBox="0 0 10 10"
+            refX="5px" refY="5px"
+            markerUnits="userSpaceOnUse"
+            fill='none'
+            stroke-width='0.5px'
+            stroke='#777777'
+            markerWidth="2px"
+            markerHeight="2px"
+            orient="auto">
+            <svg:path d="M3.5,0 L3.5,10 M6.5,0 L6.5,10 M 10,1 L 1,10" />
+        </svg:marker>
+
+        <svg:symbol
+          id="church"
+          viewBox="0 0 5 10"
+          fill='#000000'>
+            <svg:path d="M 0 10 L 0 5 L 5 5 L 5 10 z M 0 2 L 5 2 L 5 3 L 0 3 z M 2 0 L 2 5 L 3 5 L 3 0 z" />
+        </svg:symbol>
+
+        <svg:symbol
+          id="mosque"
+          viewBox="0 0 120 120"
+          fill='#00ab00'>
+            <svg:path d="M 4,60 C 11,75 60,107 84,73 C 103,40 76,22 50,7 C 76,6 130,35 103,84 C 72,124 8,97 4,60 z M 35,52 C 35,52 20,55 20,55 L 30,43 C 30,43 21,30 21,30 L 35,35 L 45,23 L 45,38 L 60,45 L 45,50 L 45,65 L 35,52 z"/>
+        </svg:symbol>
+
+        <svg:symbol
+          id="synagogue"
+          viewBox="0 0 20 20"
+          stroke='#0000d0'
+          fill='none'
+          stroke-width="1.5px"
+          stroke-linecap="butt"
+          stroke-linejoin="miter">
+            <svg:path d="M 10,0 L 20,15 L 0,15 L 10,0 z M 10,20 L 0,5 L 20,5 L 10,20 z" />
+        </svg:symbol>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol
+          id="campSite"
+          viewBox="0 0 100 100"
+          fill='#0000dc'
+          fill-opacity="1">
+            <svg:path d="M 35,0 L 50,24 L 65,0 L 80,0 L 60,35 L 100,100 L 0,100 L 40,35 L 20,0 L 35,0 z "/>
+        </svg:symbol>
+
+ 
+        <svg:symbol
+          id="airport"
+          viewBox="0 0 10 10"
+          fill="black"
+          fill-opacity="1"
+          fill-rule="evenodd"
+          stroke="none">
+            <svg:path d="M 9.2,5 C 9.2,4.5 9.8,3.2 10,3 L 9,3 L 8,4 L 5.5,4 L 8,0 L 6,0 L 3,4 C 2,4 1,4.2 0.5,4.5 C 0,5 0,5 0.5,5.5 C 1,5.8 2,6 3,6 L 6,10 L 8,10 L 5.5,6 L 7.8,6 L 9,7 L 10,7 C 9.8,6.8 9.2,5.5 9.2,5 z " />
+        </svg:symbol>
+
+        <svg:symbol
+          id="power-tower"
+          viewBox="0 0 10 10"
+          stroke-width='1px'
+          stroke='#cccccc'>
+          <svg:path d="M 0 0 L 10 10 M 0 10 L 10 0" />
+        </svg:symbol>
+
+        <svg:symbol
+          id="bar"
+          viewBox="0 0 100 100"
+          fill='#000000'
+          stroke-width='0.4px'
+          stroke='#000000'>
+            <svg:path d="M 16.8725 9.81954 L 96.3004 9.81954 L 59.4774 46.3164 L 59.4774 94.9796 C 59.575 94.9796 57.9896 100.587 84.2324 102.6 L 84.2324 103.99 L 31.0262 103.99 L 31.0275 102.6 C 56.4414 100.587 54.9906 94.9796 54.9906 94.9796 L 54.9906 46.3164 L 16.8725 9.81954 z " />
+        </svg:symbol>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol 
+          id="symbol-restaurant"
+          viewBox="0 0 100 100"
+	  fill="black"
+	  stroke="none">
+            <svg:path d="M 94,4 C 90,0 74,18 67,26 C 65,28 62,32 68,38 C 15,89 5,96 12,103 C 19,110 26,100 76,46 C 82,52 87,49 89,47 C 97,40 114,24 110,20 C 106,16 91,40 87,37 C 83,24 106,16 102,12 C 98,8 81,33 77,29 C 73,25 98,8 94,4 z"/>
+            <svg:path d="M 35,33 C 79,81 98,96 90,103 C 81,111 70,91 26,42 C 6,57 -9,16 1,6 C 11,-6 55,13 35,33 z"/>
+	</svg:symbol>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol
+          id="petrolStation"
+          viewBox="0 0 100 100"
+          fill='#000000'
+          fill-rule="evenodd"
+          stroke-width="3px">
+            <svg:path d="M 22.7283 108.087 C 4.26832 107.546 23.6818 43.3596 32.6686 21.0597 C 33.8491 17.0245 60.28 18.4952 60.0056 19.8857 C 59.0889 25.9148 54.8979 23.2429 52.0142 26.8579 L 51.7464 36.8066 C 48.6085 40.8144 40.2357 34.4677 38.078 42.8773 C 31.3694 92.5727 45.0689 108.819 22.7283 108.087 z M 85.3122 9.52799 L 29.1766 9.52847 C 28.4855 17.5896 -11.559 113.573 22.9292 113.284 C 48.5214 113.073 39.5312 104.08 42.6984 51.03 C 41.8513 49.3228 50.871 48.6585 50.8739 51.4448 L 51.0453 116.604 L 97.6129 116.188 L 97.6129 26.544 C 96.0669 24.2073 93.899 25.2958 90.584 22.394 C 87.7907 19.4131 92.2353 9.52799 85.3122 9.52799 z M 64.0766 35.3236 C 61.5443 36.7258 61.5443 45.2814 64.0766 46.6836 C 68.3819 49.0684 80.2848 49.0684 84.5902 46.6836 C 87.1225 45.2814 87.1225 36.7258 84.5902 35.3236 C 80.2848 32.9393 68.3819 32.9393 64.0766 35.3236 z "/>
+        </svg:symbol>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol
+          id="golfCourse"
+          viewBox="0 0 100 100"
+          fill='#000000'
+          fill-rule="evenodd"
+          fill-opacity="1"
+          stroke="none">
+            <svg:path d="M 61.6421 25.2514 C 61.6421 25.2514 48.7712 34.4528 48.1727 38.766 C 47.574 43.0787 56.5537 48.8295 56.8529 52.2802 C 57.1522 55.7303 56.5537 87.3594 56.5537 87.3594 C 56.5537 87.3594 37.3978 104.036 36.7993 105.474 C 36.2006 106.912 41.5878 117.55 43.9826 117.263 C 46.3769 116.975 43.3841 109.787 44.2819 108.349 C 45.1798 106.912 64.0363 92.5353 65.2335 90.5221 C 65.5327 91.0979 65.8321 76.7208 65.5327 76.7208 L 66.7305 76.7208 L 66.1319 91.0979 C 66.1319 91.0979 59.2473 108.349 60.1451 113.237 C 60.1451 115.824 70.6212 122.15 72.1176 121 C 73.6145 119.85 68.5261 115.536 68.8254 112.375 C 67.6283 109.212 73.016 97.4233 73.3153 94.2605 C 73.6145 91.0979 73.9138 56.3053 72.7167 51.9927 C 72.7161 48.542 69.424 42.5037 67.9276 40.2035 C 67.6283 37.9029 65.8326 31.2897 65.8326 31.2897 C 65.8326 31.2897 59.547 39.341 59.5465 39.341 C 58.0501 37.9035 68.2268 28.702 68.2268 25.8268 C 68.2268 22.9513 49.9689 9.72452 49.9689 9.72452 C 49.9689 9.72452 25.126 63.2064 25.4254 65.5065 C 25.7246 67.8065 29.9146 72.9824 32.908 70.6823 C 35.9009 68.3822 27.8197 62.9194 27.8197 62.9194 L 49.3703 14.6122 L 52.6624 18.3506 L 58.3494 18.638 L 58.0501 19.5005 C 58.0501 19.5005 51.7645 18.9255 50.5675 19.788 C 49.3703 20.6506 47.574 22.0887 47.574 25.5388 C 47.574 28.9896 52.0638 30.4271 53.5603 30.7146 L 60.8936 24.6764 L 61.6421 25.2514 z "/>
+        </svg:symbol>
+
+        <svg:symbol
+          id="slipway"
+          viewBox="0 0 50 45"
+          fill='#0087ff'
+          stroke='none'
+          fill-opacity='0.7'>
+            <svg:path d="M 45,33 L 45,45 L 2,45 C 2,45 45,33 45,33 z M 0,35 L 43,22 L 43,26 C 43,26 37,32 26,36 C 15,40 0,35 0,35 z M 3,32 C 3,32 13,0 13,0 L 22,26 L 3,32 z M 16,0 L 42,20 L 25,25 L 16,0 z "/>
+        </svg:symbol>
+        
+        
+		<svg:symbol id="pub" width="204.57mm" height="205.01mm" viewBox="0 0 579.88 581.14">
+			<svg:g style="fill-rule: nonzero;stroke-linecap:butt;">
+				<svg:path
+				style="fill:#7777777;stroke:none;stroke-width:0.28;stroke-linejoin:bevel"
+				d="M 67.775772,2.6625614 C 26.556032,2.6625614 3.3361722,24.082427 3.1561722,67.642152 L 3.1561722,517.81932 C 3.3361722,558.67906 24.216042,580.09892 65.435782,580.09892 L 517.23294,580.09892 C 558.63267,580.09892 579.51254,559.75905 579.51254,517.81932 L 579.51254,67.642152 C 579.51254,25.16242 558.63267,2.6625614 515.97294,2.6625614 C 515.97294,2.6625614 67.775772,2.4825625 67.775772,2.6625614 z "/>
+				<svg:path
+				style="fill:none;stroke:#7777777;stroke-width:3.41997862;stroke-linejoin:miter"
+				d="M 67.775772,2.6625614 C 26.556032,2.6625614 3.3361722,24.082427 3.1561722,67.642152 L 3.1561722,517.81932 C 3.3361722,558.67906 24.216042,580.09892 65.435782,580.09892 L 517.23294,580.09892 C 558.63267,580.09892 579.51254,559.75905 579.51254,517.81932 L 579.51254,67.642152 C 579.51254,25.16242 558.63267,2.6625614 515.97294,2.6625614 C 515.97294,2.6625614 67.775772,2.4825625 67.775772,2.6625614" />
+				<svg:path
+				style="fill:#ffffff;stroke:none;stroke-width:3.42000008;stroke-linejoin:bevel"
+				d="M 106.47552,104.54192 L 468.63324,104.54192 L 311.31423,299.12069 L 311.31423,423.67991 L 398.43368,423.67991 C 427.7735,423.85991 427.9535,467.95963 398.43368,467.77963 L 180.99505,467.77963 C 151.65524,467.95963 151.65524,423.85991 180.99505,423.67991 L 266.85451,423.67991 L 266.85451,298.2207 L 106.47552,104.54192 z " />
+				<svg:path
+				style="fill:#7777777;stroke:none;stroke-width:3.42000008;stroke-linejoin:bevel"
+				d="M 316.5342,241.88105 C 332.1941,241.88105 344.79402,229.28113 344.61402,213.80123 C 344.79402,198.32133 332.1941,185.72141 316.5342,185.54141 C 301.0543,185.72141 288.45438,198.32133 288.45438,213.80123 C 288.45438,229.28113 301.0543,241.88105 316.5342,241.88105 z " />
+			</svg:g>
+		</svg:symbol>
+   
+   
+		<svg:symbol id="pubx" width="211.87mm" height="210.79mm" viewBox="0 0 600.58 597.52">
+			<svg:g style='fill-rule: nonzero;'>
+				<svg:path style="fill:#ffffff; stroke:#000000; stroke-width:50; stroke-linecap:butt; stroke-linejoin:miter"
+				d="M 598.46 512.06 C 598.46 557.96 561.20 595.40 515.30 595.40 L 88.70 595.40
+					 C 42.62 595.40 5.36 557.96 5.36 512.06 L 5.36 85.46 C 5.36 39.38 42.62 2.12 88.70 2.12
+					 L 515.30 2.12 C 561.20 2.12 598.46 39.38 598.46 85.46 L 598.46 512.06"/>
+				<svg:path style="fill:#FFFFFF; stroke:none;"
+				d="M 311.00 565.88 C 344.84 567.68 384.26 575.96 413.60 589.28 L 190.40 589.46
+					 C 221.00 574.88 256.28 567.68 291.92 566.06 L 291.92 377.24 C 224.60 371.48 169.70 318.38 170.24 245.48
+					 C 170.60 191.66 198.86 133.88 198.86 133.88 L 407.30 133.88 C 407.30 133.88 433.76 181.22 433.76 245.48
+					 C 433.76 309.74 379.94 372.74 311.00 376.88 L 311.00 565.88 Z"/>
+				<svg:path style="fill:none; stroke:#000000; stroke-width:14.94; stroke-linecap:round; stroke-linejoin:round"
+				d="M 311.00 565.88 C 344.84 567.68 384.26 575.96 413.60 589.28 L 190.40 589.46
+					 C 221.00 574.88 256.28 567.68 291.92 566.06 L 291.92 377.24 C 224.60 371.48 169.70 318.38 170.24 245.48
+					 C 170.60 191.66 198.86 133.88 198.86 133.88 L 407.30 133.88 C 407.30 133.88 433.76 181.22 433.76 245.48
+					 C 433.76 309.74 379.94 372.74 311.00 376.88 L 311.00 565.88"/>
+				<svg:path style="fill:#000000; stroke:none; stroke-width:14.94; stroke-linecap:round; stroke-linejoin:bevel"
+				d="M 431.60 210.74 C 432.86 220.64 433.76 234.32 433.76 245.48 C 433.76 309.74 379.94 372.74 311.00 376.88
+					 L 311.00 565.88 C 344.84 567.68 384.26 575.96 413.60 589.28 L 190.40 589.46
+					 C 221.00 574.88 256.28 567.68 291.92 566.06 L 291.92 377.24 C 224.60 371.48 169.70 318.38 170.24 245.48
+					 C 170.24 234.14 171.50 222.62 173.48 211.64 L 431.60 210.74 Z"/>
+				<svg:path style="fill:none; stroke:#000000; stroke-width:0.54; stroke-linecap:butt; stroke-linejoin:miter"
+				d="M 431.60 210.74 C 432.86 220.64 433.76 234.32 433.76 245.48 C 433.76 309.74 379.94 372.74 311.00 376.88
+					 L 311.00 565.88 C 344.84 567.68 384.26 575.96 413.60 589.28 L 190.40 589.46
+					 C 221.00 574.88 256.28 567.68 291.92 566.06 L 291.92 377.24 C 224.60 371.48 169.70 318.38 170.24 245.48
+					 C 170.24 234.14 171.50 222.62 173.48 211.64 L 431.60 210.74"/>
+				<svg:path style="fill:#FFFFFF; stroke:none; stroke-width:0.54; stroke-linecap:butt; stroke-linejoin:bevel"
+				d="M 365.90 333.68 C 365.90 347.00 355.28 357.62 341.96 357.62 C 328.64 357.62 318.02 347.00 318.02 333.68
+					 C 318.02 320.36 328.64 309.74 341.96 309.74 C 355.28 309.74 365.90 320.36 365.90 333.68 Z"/>
+				<svg:path style="fill:none; stroke:#000000; stroke-width:1.08; stroke-linecap:butt; stroke-linejoin:miter"
+				d="M 365.90 333.68 C 365.90 347.00 355.28 357.62 341.96 357.62 C 328.64 357.62 318.02 347.00 318.02 333.68
+					 C 318.02 320.36 328.64 309.74 341.96 309.74 C 355.28 309.74 365.90 320.36 365.90 333.68"/>
+			</svg:g>
+		</svg:symbol>
+
+
+		<svg:symbol id="cinema" viewBox="150.3 200 320 420">
+			<svg:path fill="black" d="M123.7,393.2l-35.9,9L0,50.9l35.9-9L123.7,393.2z"/>
+			<svg:path fill="black" d="M291.5,351.2l-35.9,9L167.8,9l35.9-9L291.5,351.2z"/>
+			<svg:path fill="black" d="M201.9,27.8l9,35.9L19.8,111.5l-9-35.9L201.9,27.8z"/>
+			<svg:path fill="black" d="M234.8,159.2l9,35.9L52.6,242.9l-9-35.9L234.8,159.2z"/>
+			<svg:path fill="black" d="M267.7,290.7l9,35.9L85.5,374.4l-9-35.9L267.7,290.7z"/>
+			<svg:path fill="#FFFFFF" d="M40.5,97.5l-21.3,5.3l-5.3-21.3l21.3-5.3L40.5,97.5z"/>
+			<svg:path fill="#FFFFFF" d="M56.9,163l-21.3,5.3L30.2,147l21.3-5.3L56.9,163z"/>
+			<svg:path fill="#FFFFFF" d="M73.3,228.5l-21.3,5.3l-5.3-21.3l21.3-5.3L73.3,228.5z"/>
+			<svg:path fill="#FFFFFF" d="M89.6,294l-21.3,5.3L63,278l21.3-5.3L89.6,294z"/>
+			<svg:path fill="#FFFFFF" d="M106,359.4l-21.3,5.3l-5.3-21.3l21.3-5.3L106,359.4z"/>
+			<svg:path fill="#FFFFFF" d="M209.1,54.3l-21.3,5.3l-5.3-21.3l21.3-5.3L209.1,54.3z"/>
+			<svg:path fill="#FFFFFF" d="M225.4,119.8l-21.3,5.3l-5.3-21.3l21.3-5.3L225.4,119.8z"/>
+			<svg:path fill="#FFFFFF" d="M241.8,185.3l-21.3,5.3l-5.3-21.3l21.3-5.3L241.8,185.3z"/>
+			<svg:path fill="#FFFFFF" d="M258.2,250.8l-21.3,5.3l-5.3-21.3l21.3-5.3L258.2,250.8z"/>
+			<svg:path fill="#FFFFFF" d="M274.6,316.3l-21.3,5.3l-5.3-21.3l21.3-5.3L274.6,316.3z"/>
+		</svg:symbol>
+
+		<svg:symbol id="theatre" viewBox="220 207 440 550">
+			<svg:g stroke="none" fill-opacity="1" fill-rule="nonzero">
+				<svg:path d="M192.4,22c0,0,50,26,112,20s94-39,98-42s17,32,17,32l4,33l-3,29l5,24l7,39l-5,32l-6,32l-19,55l-25,49l-59,21l-30-14l-22-22l-29-47l4-40l-20-28l-18-24l1-34l2-54l-8-35L192.4,22z"/>
+				<svg:path fill="none" stroke="#FFFFFF" stroke-width="10" d="M210.4,44.5c0,0,43.8,22.8,98,17.5s82.3-34.1,85.8-36.8s14.9,28,14.9,28l3.5,28.9l-2.6,25.4l4.4,21l6.1,34.1l-4.4,28l-5.3,28l-16.6,48.1l-21.9,42.9L320.6,328l-26.3-12.3l-19.3-19.3l-25.4-41.1l3.5-35l-17.5-24.5l-15.8-21l0.9-29.8l1.8-47.3l-7-30.6L210.4,44.5z"/>
+				<svg:path fill="#FFFFFF" d="M293.4,152c0,8.3-11.4,15-25.5,15s-25.5-6.7-25.5-15s11.4-15,25.5-15S293.4,143.7,293.4,152z"/>
+				<svg:path fill="#FFFFFF" d="M406.4,140.5c0,8.6-13.2,15.5-29.5,15.5s-29.5-6.9-29.5-15.5s13.2-15.5,29.5-15.5S406.4,131.9,406.4,140.5z"/>
+				<svg:path fill="none" stroke="#FFFFFF" stroke-width="10" d="M248.4,124l14-43l15,27"/>
+				<svg:path fill="none" stroke="#FFFFFF" stroke-width="10" d="M336.4,110l7-32l35,23"/>
+				<svg:path fill="none" stroke="#FFFFFF" stroke-width="10" d="M317.4,146l-7,72l22-1L317.4,146z"/>
+				<path fill="none" stroke="#FFFFFF" stroke-width="10" d="M305.4,297c0,0,2-55,27-57s37,16,41,30"/>
+				<svg:path fill="#FFFFFF" stroke="#000000" stroke-width="10" d="M207.4,90c0,0-19,18-61,17s-42,5-83-33s-31-38-31-38l-9,105l-5,22l-13,15l26,128l37,82c0,0,3,9,38,9s30-10,40-20s15-35,34-49s41-47,41-47l17-21l3-34l-23-29l-12-32L207.4,90z"/>
+				<svg:path fill="none" stroke="#000000" stroke-width="10" d="M51.4,150c0,0-2-15,25-15s31,17,31,17"/>
+				<svg:path fill="none" stroke="#000000" stroke-width="10" d="M153.4,168c0,0,6-11,12-14s22,5,22,5"/>
+				<svg:path d="M51.4,193l23-19c0,0,12-2,25,2s7,14,7,14L51.4,193z"/>
+				<svg:path d="M164.4,199c0,0,14-13,27-10s16,19,16,19s-7,6-26,1S164.4,199,164.4,199z"/>
+				<svg:path d="M125.4,188l-25,83h29L125.4,188z"/>
+				<svg:path d="M61.4,258c0,0,0-4,14,16s10,36,44,34s38-45,55-42s13,8,7,20s-23,23-32,35s5,40-39,38s-43-44-49-48S61.4,258,61.4,258z"/>
+			</svg:g>
+		</svg:symbol>
+
+		<svg:symbol id="symbol-windmill" viewBox="158 240 315.9 480.2" >
+			<svg:path fill="#000000" d="M106.7,148.2l104-1l61,333l-231-1" />
+			<svg:path fill="none" stroke="#000000" stroke-width="24" d="M6.7,201 l284-191" />
+			<svg:path fill="none" stroke="#000000" stroke-width="24" d="M19.7,17.5 l290,176" />
+		</svg:symbol>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol
+          id="hotel"
+          viewBox="0 0 90 90"
+          fill="black"
+          fill-opacity="1"
+          stroke="black"
+          stroke-width="1px"
+          stroke-miterlimit="4">
+            <svg:path d="M 0,60 C 0,65 10,65 10,60 L 10,50 L 35,70 L 35,85 C 35,90 45,90 45,85 L 45,70 L 75,70 L 75,85 C 75,90 85,90 85,85 L 85,60 L 40,60 L 5,30 C 9,20 45,20 50,25 L 50,10 C 50,5 40,5 40,10 L 40,15 L 10,15 L 10,10 C 10,5 0,5 0,10 C 0,10 0,60 0,60 z M 10,35 C 15,25 45,25 55,35 L 85,60 C 75,50 40,50 40,60 L 10,35 z "/>
+        </svg:symbol>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol
+          id="hostel"
+          viewBox="0 0 12.5 8"
+          fill="#286a9d"
+          fill-opacity="1"
+          fill-rule="nonzero"
+          stroke="none">
+            <svg:path d="M 5.5,4 L 9,0 L 12.5,4 L 11.5,4 L 11.5,8 L 10,8 L 10,5 L 8,5 L 8,8 L 6.5,8 L 6.5,4 L 5.5,4 z M 0.5,3.5 C 2,2.5 2.3,1 2.5,0 C 2.7,1 3,2.5 4.5,3.5 L 3.3,3.5 C 3.3,4 4,5 5,6 L 3,6 L 3,8 L 2,8 L 2,6 L 0,6 C 1,5 1.7,4 1.7,3.5 L 0.5,3.5 z M 0,8 L 0,7.5 L 12.5,7.5 L 12.5,8 L 0,8 z " />
+        </svg:symbol>
+
+        <svg:symbol
+          id="recycling"
+          viewBox="0 0 100 100"
+          stroke='none'
+          fill='#00ba00'>
+            <svg:path d="M 55.0,37.3 L 72.1,27.0 L 79.8,41.9 C 81.6,50.0 71.5,52.9 63.3,52.4 L 55.0,37.3 z" />
+            <svg:path d="M 51.1,47.9 L 42.1,63.8 L 51.1,80.0 L 51.3,73.5 L 59.5,73.5 C 62.5,73.8 66.4,71.8 67.9,69.0 L 78.4,49.5 C 75.0,53.0 70.5,53.9 65.3,53.9 L 51.4,53.9 L 51.1,47.9 z " />
+            <svg:path d="M 31.0,28.2 L 13.7,18.2 L 22.9,4.2 C 29.0,-1.3 36.6,6.1 40.1,13.5 L 30.9,28.2 z " />
+            <svg:path d="M 42.1,26.5 L 60.4,26.6 L 70.1,10.9 L 64.3,13.8 L 60.3,6.6 C 59.1,3.9 55.5,1.4 52.3,1.5 L 30.2,1.7 C 34.9,3.1 37.9,6.6 40.4,11.1 L 47.2,23.3 L 42.1,26.5 z " />
+            <svg:path d="M 0.4,27.4 L 5.8,31.5 L 0.8,40.5 C -1.8,45.3 2.6,49.6 5.3,51.0 C 8.0,52.5 12.2,52.7 16.2,52.7 L 23.3,41.3 L 28.6,44.1 L 19.3,27.2 L 0.4,27.4 z " />
+            <svg:path d="M 1.2,49.3 L 12.7,70.1 C 15.0,73.0 19.4,73.7 23.9,73.6 L 36.0,73.6 L 36.0,53.9 L 13.0,53.7 C 9.5,53.9 4.8,53.2 1.2,49.3 z " />
+        </svg:symbol>
+
+        <svg:symbol
+          id="hospital"
+          viewBox="0 0 15 15"
+          stroke='red'
+          stroke-width="2px"
+          fill="none">
+            <svg:path d="M 12.5,7.5 L 2.5,7.5 L 2.5,7.5 L 12.5,7.5 z M 7.5,2.3 L 7.5,12.5 L 7.5,12.5"/>
+            <svg:path stroke-width="1px" d="M 14.5 7.5 A 7 7 0 1 1 0.5,7.5 A 7 7 0 1 1 14.5 7.5 z" />
+        </svg:symbol>
+
+		<svg:symbol id="symbol-doctor" viewBox="18 18 36 36">
+			<svg:ellipse fill="#00cc00" cx="18" cy="18" rx="18" ry="18"/>
+			<svg:path fill="#ffffff" d="M32 21.44 A16 16 -180 1 0 0 21.44 A16 16 -180 1 0 32 21.44 Z M10 6.94 L22 6.94 L22 15.44 L30.5 15.44 L30.5 27.44 L22 27.44 L22 35.94 L10 35.94 L10 27.44 L1.5 27.44 L1.5 15.44 L10 15.44 L 10 6.94 Z" transform="translate(2,-3.44)"/>
+		</svg:symbol>
+
+       <svg:symbol id="symbol-pharmacy" viewBox="18 18 36 36">
+            <svg:rect style="fill:#00cc00" x="0" y="0" width="36" height="36" rx="2" ry="2"/>
+            <svg:path style="fill:#ffffff" d="M20.14 17.3 L20.14 9.44 L11.86 9.44 L11.86 17.3 L4 17.3 
+            L4 25.58 L11.86 25.58 L11.86 33.44 L20.14 33.44 L20.14 25.58 L28 25.58 L28 17.3 L20.14 17.3 Z
+            M0.5 37.44 L31.5 37.44 a0.5 0.5 -180 0 0 0.5 -0.5 L32 5.94 a0.5 0.5 -180 0 0 -0.5 -0.5 
+            L0.5 5.44 a0.5 0.5 -180 0 0 -0.5 0.5 L0 36.94 a0.5 0.5 -180 0 0 0.5 0.5 Z M2 35.44 L2
+            7.44 L30 7.44 L30 35.44 L2 35.44 Z"
+            transform="translate(2,-3.44)"/>
+        </svg:symbol>
+        
+        <svg:symbol id="postoffice" viewBox="0 0 36 36">
+			<svg:ellipse style="fill:#ff0000" cx="18" cy="18" rx="18" ry="18"/>
+			<svg:path style="fill:#ffffff" d="M26 25.44 L26 35.44 L2 35.44 L2 25.44 L14 31.44 L26 25.44 Z M2 23.44 L26 23.44 L14 29.44 L2 23.44 Z M0 37.44 L28 37.44 L28 21.44 L0 21.44 L0 37.44 Z" transform="translate(4,-11.44)"/>
+		</svg:symbol>
+		
+		<svg:symbol id="postbox" viewBox="0 0 36 36" xml:space="preserve">
+			<svg:ellipse style="fill:#ff0000" cx="18" cy="18" rx="18" ry="18"/>
+			<svg:ellipse style="fill:#ffffff" cx="18" cy="18" rx="16" ry="16"/>
+			<svg:path style="fill:#ff0000" d="M26 25.44 L26 35.44 L2 35.44 L2 25.44 L14 31.44 L26 25.44 Z M2 23.44 L26 23.44 L14 29.44 L2 23.44 Z M0 37.44 L28 37.44 L28 21.44 L0 21.44 L0 37.44 Z" transform="translate(4,-11.44)"/>
+		</svg:symbol>
+
+        <svg:symbol
+          id="parking"
+          viewBox="0 -10 20 20"
+          stroke="none"
+          fill-opacity="1"
+          fill-rule="nonzero">
+            <svg:rect fill="#0087ff" width="20" height="20" x="0" y="-10" rx="4" ry="4" />
+            <svg:path fill="white" d="M 5,8 L 5,-7 L 12,-7 C 14,-7 15.5,-5.3 16,-4 C 16.5,-2.77 16.5,-1.23 16,0 C 15.41,1.42 14,3 12,3 L 8,3 L 8,8 L 5,8 z M 8,-4 L 8,0 C 9.3,0 11,0 12.32,-0.31 C 13.6,-0.76 13.5,-2.8 12.5,-3.48 C 11.5,-4.1 8.6,-4 8,-4 z "/>
+        </svg:symbol>
+        
+		<svg:symbol id="symbol-traffic_signal" viewBox="106 278.6 557.3 557.3" >
+			<svg:path d="M212.1,105c0,58-47.5,105-106,105c-58.6,0-106-47-106-105 C0,47,47.5,0,106,0C164.6,0,212.1,47,212.1,105z"/>
+			<svg:path d="M212.1,452.3c0,58-47.5,105-106,105c-58.6,0-106-47-106-105 c0-58,47.5-105,106-105C164.6,347.3,212.1,394.3,212.1,452.3z"/>
+			<svg:path d="M211.3,458.9H0V106.7h211.3V458.9z"/>
+			<svg:path fill="#F90000" d="M190,103c0,46.4-37.6,84-84,84 c-46.4,0-84-37.6-84-84s37.6-84,84-84C152.4,19,190,56.6,190,103z"/>
+			<svg:path fill="#00D305" d="M190,455c0,46.4-37.6,84-84,84 c-46.4,0-84-37.6-84-84c0-46.4,37.6-84,84-84C152.4,371.1,190,408.7,190,455z"/>
+			<svg:path fill="#F9FF00" d="M190,279c0,46.4-37.6,84-84,84 c-46.4,0-84-37.6-84-84c0-46.4,37.6-84,84-84C152.4,195,190,232.6,190,279z"/>
+		</svg:symbol>
+
+		<svg:symbol id="symbol-school" viewBox="160 216 320.8 432.5">
+			<svg:path fill="#AF7519" d="M93,284.7c0,11-9,20-20,20s-20-9-20-20s9-20,20-20S93,273.7,93,284.7z" />
+			<svg:path fill="#AF7519" d="M237,328.7c0,11-9,20-20,20s-20-9-20-20s9-20,20-20S237,317.7,237,328.7z" />
+			<svg:path fill="none" stroke="#AF7519" stroke-width="20" d="M163,4.7l-116,361" />
+			<svg:path fill="none" stroke="#AF7519" stroke-width="18.9041" d="M163,4.7L232,431" />
+			<svg:path fill="none" stroke="#AF7519" stroke-width="20" d="M163,4.7l149,277" />
+			<svg:path d="M6,53.7c0,0,283,67,284,70s-3,222-3,222l-287-97L6,53.7z" />
+			<svg:path fill="none" stroke="#FFFFFF" stroke-width="20" d="M36,128.7c-1.2-8.1,16.8-17.4,25-17.2 c14.7,0.4,20,10.1,26.8,23.3c7.8,15,10.9,36,12.3,53c0.5,6.2,1.3,40.2,4.9,39.9" />
+			<svg:path fill="none" stroke="#FFFFFF" stroke-width="20" d="M94,158.7c-17.5-12.4-58.4,7.4-59,28 c-0.5,17.8,16,23,29.9,26c15.4,3.2,19.2,0.8,29.1-11" />
+			<svg:path fill="none" stroke="#FFFFFF" stroke-width="20" d="M136,101.7c-11.6,26.2-2.8,64-5,92.9 c-1.2,16.3,0.7,40.2-2,54.1" />
+			<svg:path fill="none" stroke="#FFFFFF" stroke-width="20" d="M131,176.7c10.8-4.2,18.3-17.9,32.8-10 c11.5,6.3,13.7,23.1,14.2,34.9c0.7,15.6-3.3,26.4-18.8,31.8c-7.6,2.7-25.5,5.8-24.2-7.7" />
+			<svg:path fill="none" stroke="#FFFFFF" stroke-width="20" d="M261,196.7c-4.1-11.8-20.9-19.9-33.1-16.8 c-16.3,4.2-23.3,25-21.9,40.1c2.3,25.4,29.8,56.5,52,31.7" />
+		</svg:symbol>
+        
+		<svg:symbol id="symbol-university" viewBox="244.5 110 489 219.9">
+			<svg:path d="M79,43l57,119c0,0,21-96,104-96s124,106,124,106l43-133l82-17L0,17L79,43z"/>
+			<svg:path fill="none" stroke="#000000" stroke-width="20" d="M94,176l-21,39"/>
+			<svg:path d="M300,19c0,10.5-22.6,19-50.5,19S199,29.5,199,19s22.6-19,50.5-19S300,8.5,300,19z"/>
+			<svg:path fill="none" stroke="#000000" stroke-width="20" d="M112,216l-16-38L64,88c0,0-9-8-4-35s16-24,16-24"/>
+		</svg:symbol>
+        
+		<svg:symbol id="symbol-supermarket" viewBox="14.5 13.5 29 27">
+			<svg:path style="fill:black;fill-opacity:1;stroke:none;stroke-width:0.158;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.9801324" d="M 13.711,19.263 C 13.711,19.754 13.319,20.153 12.836,20.153 C 12.353,20.153 11.962,19.754 11.962,19.263 C 11.962,18.771793 12.353,18.373 12.836,18.373 C 13.319,18.373 13.711,18.771 13.711,19.263 z" />
+			<svg:path style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 1.496,6.889 L 16.443,2.987 L 25.387,6.367 L 7.7960,10.054 L 1.496,6.889 z" />
+			<svg:path style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 1.540,16.974 L 7.7331,20.521 L 22.605,17.745 L 14.549,13.961 L 1.540,16.974 z" />
+			<svg:path style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 7.812,10.136 L 7.812,20.500" />
+			<svg:path style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 22.841,21.164 L 26.462,6.6923 C 26.610,5.3945 27.232,4.939 28.105,4.932" />
+			<svg:path style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:0.90399998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 14.1281,17.1309 L 16.5851,2.98845 C 16.5652,2.09899 16.8043,1.34902 17.8289,1.02204" />
+			<svg:path style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0.761,16.846 L 0.761,6.781" />
+			<svg:path style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:0.160;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 17.707,0.991 C 17.727,0.991 17.748,0.991 17.707,0.991 z" />
+			<svg:path style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1.27;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 17.707,1.022 L 28.196,4.902" />
+			<svg:path style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:0.732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 14.009,17.240 L 3.853,20.726 C 1.229,21.787 3.228,23.365 4.126,23.909 C 5.447,24.711 6.096,25.159 9.340,24.728 C 13.993,24.109 22.709,21.211 22.709,21.211" />
+			<svg:path style="fill:black;fill-opacity:1;stroke:none;stroke-width:0.159;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.980" d="M 5.601,21.945 C 5.601,22.437 5.209,22.834 4.727,22.835 C 4.244,22.835 3.853,22.437 3.853,21.945 C 3.853,21.454 4.244,21.056 4.727,21.056 C 5.2095,21.056 5.601,21.454 5.601,21.945 z" />
+			<svg:path style="fill:black;fill-opacity:1;stroke:none;stroke-width:0.159;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.980" d="M 11.254,25.962 C 11.254,26.453 10.863,26.852 10.380,26.852 C 9.898,26.852 9.506,26.453 9.506,25.962 C 9.506,25.471 9.898,25.072 10.380,25.072 C 10.863,25.072 11.254,25.471 11.254,25.962 z" />
+			<svg:path style="fill:black;fill-opacity:1;stroke:none;stroke-width:0.159;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.980" d="M 21.926,23.143 C 21.926,23.635 21.535,24.033 21.052,24.033 C 20.569,24.033 20.177,23.632 20.177,23.143 C 20.177,22.652 20.569,22.253 21.052,22.253 C 21.535,22.253 21.926,22.652 21.926,23.143 z" />
+		</svg:symbol>
+
+		<svg:symbol id="symbol-library" viewBox="160 310 319.3 621.3">
+			<svg:path fill="#FFFFFF" stroke="#000000" stroke-width="32.0585" d="M136,165.5l5.1,414l162.2-163.5V46.6 L136,165.5z"/>
+			<svg:path fill="#FFFFFF" stroke="#000000" stroke-width="32.1739" d="M20.2,136.7l-3.9,422.1c0,0-6.4,45,43.8,46.3 c56.6,1.5,68.2-10.3,68.2-10.3l2.6-426c0,0-18,14.2-57.9,12.9C22.8,180.1,20.2,136.7,20.2,136.7z"/>
+			<svg:path fill="none" stroke="#000000" stroke-width="26.7171" d="M175.9,229.4l79.8-48.9"/>
+			<svg:path fill="none" stroke="#000000" stroke-width="26.7171" d="M182.3,289.9l69.5-42.5"/>
+			<svg:path fill="none" stroke="#000000" stroke-width="26.7171" d="M184.9,351.6l75.9-48.9"/>
+			<svg:path fill="none" stroke="#000000" stroke-width="26.7171" d="M13.7,147L191.3,10.6 c-18.3,17.1,13.9,32.3,37.3,33.5c51.5,2.6,81.1-7.7,81.1-7.7"/>
+			<svg:path fill="#FFFFFF" stroke="#000000" d="M36.7,143.9l144-116c0,0-7,18,26,25s59,1,59,1l-149,107c0,0-27,16-59,1 S36.7,143.9,36.7,143.9z"/>
+		</svg:symbol>
+        
+        <svg:symbol id="speed_trap" viewBox="0 0 72 36">
+			<svg:rect style='fill:#ffff00' x="0" y="0" width="36" height="36" rx="2" ry="2" />
+			<svg:path style='fill:#000000'
+			d="M0.5 37.44 L31.5 37.44 a0.5 0.5 -180 0 0 0.5 -0.5 L32 5.94 a0.5 0.5 -180 0 0 -0.5 -0.5 L0.5 5.44 a0.5 0.5 -180
+			0 0 -0.5 0.5 L0 36.94 a0.5 0.5 -180 0 0 0.5 0.5 Z M2 35.44 L2 7.44 L30 7.44 L30 35.44 L2 35.44 Z M8 30.44
+			L16 30.44 A3 3 -180 0 0 19 27.44 L19 15.44 A3 3 -180 0 0 16 12.44 L8 12.44 A3 3 -180 0 0 5 15.44 L5 27.44
+			A3 3 -180 0 0 8 30.44 Z M14 24.94 A3.5 3.5 0 1 1 7 24.94 A3.5 3.5 0 1 1 14 24.94 Z M13 24.94 A2.5 2.5 -180
+			1 0 8 24.94 A2.5 2.5 -180 1 0 13 24.94 Z M17 15.44 A2 2 0 1 1 13 15.44 A2 2 0 1 1 17 15.44 Z M16 15.44 a1
+			1 -180 1 0 -2 7.10543E-015 a1 1 -180 1 0 2 -7.10543E-015 Z M20 25.94 L21 25.94 L21 15.44 L20 15.44 L20 25.94
+			Z M22 25.94 L23 25.94 L23 16.44 L22 16.44 L22 25.94 Z M20 26.94 L20 27.94 L25 27.94 L25 24.94 L27 24.94
+			L27 19.44 L25 19.44 L25 17.44 L24 17.44 L24 26.94 L20 26.94 Z" transform="translate(2,-3.44)"/>
+		</svg:symbol>
+		
+		<svg:symbol id="symbol-railway-crossing" viewBox="-50 -150 600 600" >
+			<svg:path fill="#C60936" d="M1.5,4.5l66,1.5l190,91.4L456,0l63,4.5l-15,48
+			l-184.5,87l175.5,81l15,51l-58.5,6l-193.5-99c0,0-189,96-193.5,99S0,279,0,279l6-51l172.5-85.5L12,63L1.5,4.5z"/>
+			<svg:path fill="#FFFFFF" d="M49.5,21L33,49.5L219,141L36,237l16.5,25.5
+			L258,156l196.5,105l21-33l-189-91.5l189-87l-21-30l-196.7,96.7L49.5,21z"/>
+        </svg:symbol>
+		
+		<svg:symbol id="symbol-museum" viewBox="94 140 156 180">
+			<svg:g fill="#f2f2f2" stroke-width="3" stroke="#000000">
+				<svg:path d="M 38.2,92.9 L 60.6,92.9 L 60.6,215.6 L 38.2,215.6 L 38.2,92.9 z " />
+				<svg:path d="M 85,92.9 L 107.4,92.8 L 107.4,215.6 L 85,215.6 L 85,92.9 z " />
+				<svg:path d="M 131.8,92.8 L 154.2,92.8 L 154.2,215.6 L 131.8,215.6 L 131.8,92.8 z " />
+				<svg:path d="M 18.0,216.1 L 170.0,216.1 L 170.0,226.6 L 18.0,226.6 L 18.0,216.1 z " />
+				<svg:path d="M 17.9,82.0 L 95.4,53.6 L 169.9,82.0 L 169.9,92.5 L 17.9,92.5 L 17.9,82.0 z " />
+			</svg:g>
+		</svg:symbol>
+		
+        <svg:symbol id="symbol-roundabout_right" viewBox="-253.5 253.5 507 507"> 
+            <svg:g transform="scale(-1,1)">
+                <svg:path fill="#4161D8" d="M507,253.5c0,140-113.5,253.5-253.5,253.5 S0,393.5,0,253.5S113.5,0,253.5,0S507,113.5,507,253.5z"/>
+                <svg:path  fill="#FFFFFF" d="M97.6,113.6l40.8-47.7c0,0,91.7,3.1,90.6,2.1 c-1.1-1,2.3,89.2,2.3,89.2l-49.8,33.2l-1.1-48.8c0,0-27.2,27-30.6,27c-3.4,0-27.2,61.2-27.2,61.2l-3.4,79.9L67,312.8v-73.6 l10.6-50.5l18.8-34.5l38.5-40.5"/>
+                <svg:path fill="#FFFFFF" d="M459.6,190.5l19.7,59.6 c0,0-50.2,76.9-48.7,76.4c1.5-0.4-77.5-44.3-77.5-44.3l-2.6-59.8l42.3,24.3c0,0-9-37.2-7.2-40.1c1.8-2.9-38.3-54.9-38.3-54.9 l-66.6-44.3l24.3-46.2l63,38.1l37.7,35.3l19.8,34l14.7,53.9"/>
+                <svg:path fill="#FFFFFF" d="M209.2,466.6l-60.7-16.1 c0,0-36.9-84-37.4-82.6c-0.4,1.5,79.4-40.7,79.4-40.7l51.5,30.6l-43.5,22.1c0,0,36.1,12.8,37.6,15.9c1.5,3.1,66.9-2,66.9-2 l73.5-31.5l25.4,45.6l-66.4,31.9l-50.2,12.3l-39.3-2L193,432.9"/>
+            </svg:g>
+        </svg:symbol>
+        
+        <svg:symbol id="symbol-roundabout_left" viewBox="253.5 253.5 507 507"> 
+            <svg:path fill="#4161D8" d="M507,253.5c0,140-113.5,253.5-253.5,253.5 S0,393.5,0,253.5S113.5,0,253.5,0S507,113.5,507,253.5z"/>
+            <svg:path  fill="#FFFFFF" d="M97.6,113.6l40.8-47.7c0,0,91.7,3.1,90.6,2.1 c-1.1-1,2.3,89.2,2.3,89.2l-49.8,33.2l-1.1-48.8c0,0-27.2,27-30.6,27c-3.4,0-27.2,61.2-27.2,61.2l-3.4,79.9L67,312.8v-73.6 l10.6-50.5l18.8-34.5l38.5-40.5"/>
+            <svg:path fill="#FFFFFF" d="M459.6,190.5l19.7,59.6 c0,0-50.2,76.9-48.7,76.4c1.5-0.4-77.5-44.3-77.5-44.3l-2.6-59.8l42.3,24.3c0,0-9-37.2-7.2-40.1c1.8-2.9-38.3-54.9-38.3-54.9 l-66.6-44.3l24.3-46.2l63,38.1l37.7,35.3l19.8,34l14.7,53.9"/>
+            <svg:path fill="#FFFFFF" d="M209.2,466.6l-60.7-16.1 c0,0-36.9-84-37.4-82.6c-0.4,1.5,79.4-40.7,79.4-40.7l51.5,30.6l-43.5,22.1c0,0,36.1,12.8,37.6,15.9c1.5,3.1,66.9-2,66.9-2 l73.5-31.5l25.4,45.6l-66.4,31.9l-50.2,12.3l-39.3-2L193,432.9"/>
+        </svg:symbol>
+
+		<svg:symbol id='symbol-helipad' viewBox="0 0 689.25 581.14">
+			<svg:path style="fill:#000000;  fill-rule:nonzero; stroke:none; stroke-width:0.28; stroke-linecap:butt; stroke-linejoin:bevel"
+				d="M 66.47 1.85 C 25.07 2.03 1.85 23.27 1.85 67.01 L 1.85 517.01
+					 C 1.85 558.05 22.73 579.29 64.13 579.29 L 515.93 579.29 C 557.33 579.29 578.21 559.13 578.21 517.01
+					 L 578.21 67.01 C 578.21 24.35 557.33 2.03 514.67 1.85 C 514.67 1.85 66.29 1.85 66.47 1.85 Z"/>
+			<svg:path style="fill:none;  fill-rule:nonzero; stroke:#000000; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:miter"
+				d="M 66.47 1.85 C 25.07 2.03 1.85 23.27 1.85 67.01 L 1.85 517.01
+					 C 1.85 558.05 22.73 579.29 64.13 579.29 L 515.93 579.29 C 557.33 579.29 578.21 559.13 578.21 517.01
+					 L 578.21 67.01 C 578.21 24.35 557.33 2.03 514.67 1.85 C 514.67 1.85 66.29 1.85 66.47 1.85"/>
+			<svg:path style="fill:#FFFFFF;  fill-rule:nonzero; stroke:none; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:bevel"
+				d="M 85.91 282.11 C 114.89 282.29 138.29 258.89 138.11 230.09 C 138.29 201.29 114.89 177.89 85.91 177.89
+					 C 57.29 177.89 33.89 201.29 33.71 230.09 C 33.89 258.89 57.29 282.29 85.91 282.11 Z"/>
+			<svg:path style="fill:#000000;  fill-rule:nonzero; stroke:none; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:bevel"
+				d="M 85.91 263.21 C 104.45 263.21 119.21 248.45 119.21 230.09 C 119.21 211.73 104.45 196.79 85.91 196.79
+					 C 67.73 196.79 52.79 211.73 52.79 230.09 C 52.79 248.45 67.73 263.21 85.91 263.21 Z"/>
+			<svg:path style="fill:#FFFFFF;  fill-rule:nonzero; stroke:none; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:bevel"
+				d="M 253.85 397.31 C 214.07 397.31 214.07 450.95 253.85 450.95 L 484.61 450.95
+					 C 523.31 450.95 523.31 397.31 484.61 397.31 L 253.85 397.31 Z"/>
+			<svg:polygon style="fill:#FFFFFF;  fill-rule:nonzero; stroke:none; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:bevel"
+				points="321.89,212.63 321.89,163.85 301.55,163.85 301.55,212.63 
+				321.89,212.63 "/>
+			<svg:polygon style="fill:#FFFFFF;  fill-rule:nonzero; stroke:none; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:bevel"
+				points="353.57,165.11 353.57,154.67 270.41,154.67 270.41,165.11 
+				353.57,165.11 "/>
+			<svg:path style="fill:#FFFFFF;  fill-rule:nonzero; stroke:none; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:bevel"
+				d="M 360.77 147.47 L 493.79 147.47 C 511.61 147.47 511.61 172.85 493.79 172.85
+					 L 360.77 172.85 C 343.49 172.85 343.49 147.47 360.77 147.47 Z"/>
+			<svg:path style="fill:#FFFFFF;  fill-rule:nonzero; stroke:none; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:bevel"
+				d="M 130.19 147.47 L 261.77 147.47 C 279.59 147.47 279.59 172.85 261.77 172.85
+					 L 130.19 172.85 C 111.47 172.85 111.11 147.47 130.19 147.47 Z"/>
+			<svg:path style="fill:#FFFFFF;  fill-rule:nonzero; stroke:none; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:bevel"
+				d="M 274.55 362.75 C 257.45 362.75 248.99 350.33 246.11 339.71 L 232.79 306.23
+					 L 80.69 245.75 C 62.33 238.73 66.83 211.37 87.71 211.37 L 417.83 211.37
+					 C 454.55 211.37 475.07 233.51 484.61 256.91 L 511.07 321.35 C 520.61 343.49 504.59 362.75 480.83 362.75
+					 L 274.55 362.75 Z"/>
+			<svg:polygon style="fill:#000000;  fill-rule:nonzero; stroke:none; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:bevel"
+				points="357.89,289.13 357.89,232.07 322.25,232.07 322.25,289.13 
+				357.89,289.13 "/>
+			<svg:polygon style="fill:#000000;  fill-rule:nonzero; stroke:none; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:bevel"
+				points="414.23,232.07 414.23,289.13 378.95,289.13 378.95,232.07 
+				414.23,232.07 "/>
+			<svg:path style="fill:#000000;  fill-rule:nonzero; stroke:none; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:bevel"
+				d="M 435.83 234.41 C 446.81 237.11 457.79 247.01 464.99 263.21 L 476.33 289.31
+					 L 435.83 289.31 L 435.83 234.41 Z"/>
+		</svg:symbol>
+
+		<svg:symbol id="symbol-peak" viewBox="0 0 100 100">
+			<svg:path  fill="#d1adc6" stroke="#1f151d" stroke-width="5" d="M 0,90 L 50,10 L 100,90 Z"/>
+		</svg:symbol>
+	
+    </defs>
+
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z10.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z10.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z10.xml	(revision 35743)
@@ -0,0 +1,1545 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Tiles@Home Rules File for zoom level 10 -->
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+    minimumMapWidth="1"
+    minimumMapHeight="1"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+    <!-- Select all nodes and ways (unless they have an osmarender:render=no tag) -->
+    <rule e="node|way" k="osmarender:render" v="~|yes">
+
+        <!-- Draw land areas first -->
+        <rule e="way" k="natural" v="land">
+            <area class="natural-land"/>
+        </rule>
+
+        <!-- Landuse -->
+        <!-- below zoom 12 render all landuse in the same colour so it doesn't look too psychedelic -->
+        <rule e="way" k="landuse" v="residential|farmyard|retail|industrial|commercial|cemetery">
+            <area class="landuse-all"/>
+        </rule>
+
+        <!-- Natural features -->
+        <rule e="way" k="natural" v="coastline">
+            <area class="natural-coastline"/>
+        </rule>
+        <rule e="way" k="natural" v="glacier">
+            <line class='natural-glacier'/>
+        </rule>
+        <rule e="way" k="landuse|natural" v="forest|wood">
+            <area class="landuse-wood"/>
+        </rule>
+        <rule e="way" k="landuse" v="field|village_green|meadow">
+            <area class="landuse-field"/>
+        </rule>
+        <rule e="way" k="amenity" v="kindergarten|school|college|university">
+            <area class="landuse-all"/>
+        </rule>
+        <rule e="way" k="leisure" v="park|playing_fields|garden|pitch|golf_course|common|green">
+            <area class="leisure-park"/>
+        </rule>
+        <rule e="way" k="leisure" v="stadium|sports_centre">
+            <area class="leisure-stadium"/>
+        </rule>
+        <rule e="way" k="leisure" v="track">
+            <area class="leisure-track"/>
+        </rule>
+
+        <!-- Airports and runways -->
+        <rule e="way" k="aeroway" v="apron">
+            <area class="aeroway-apron"/>
+        </rule>
+        <rule e="way" k="landuse" v="runway">
+            <rule e="way" k="use_status" v="~">
+                <area class="landuse-runway"/>
+            </rule>
+            <rule e="way" k="use_status" v="disused">
+                <area class="landuse-runway-disused"/>
+            </rule>
+            <rule e="way" k="use_status" v="dismantled">
+                <area class="landuse-runway-dismantled"/>
+            </rule>
+        </rule>
+
+        <!-- Raceways and racetracks -->
+        <rule e="way" k="landuse" v="raceway">
+            <rule e="way" k="use_status" v="~">
+                <area class="landuse-raceway"/>
+            </rule>
+            <rule e="way" k="use_status" v="disused">
+                <area class="landuse-raceway-disused"/>
+            </rule>
+            <rule e="way" k="use_status" v="dismantled">
+                <area class="landuse-raceway-dismantled"/>
+            </rule>
+        </rule>
+
+        <!-- Man-made areas -->
+        <rule e="way" k="sport" v="*">
+            <area class="sport"/>
+        </rule>
+        <rule e="way" k="amenity" v="parking">
+            <area class="amenity-parking"/>
+        </rule>
+		<rule e="way" k="tourism" v="attraction">
+			<rule e="way" k="highway" v="~">
+				<rule e="way" k="area" v="no" />
+				<else>
+					<area class="tourism-attraction"/>
+				</else>
+			</rule>
+		</rule>
+        <rule e="way" k="tourism" v="zoo|picnic_site|caravan_site|camp_site">
+            <area class="tourism-green-area"/>
+        </rule>
+        <rule e="way" k="aeroway" v="terminal">
+            <area class="building-block"/>
+        </rule>
+        <rule e="way" k="building" v="*">
+            <area class="building-block"/>
+        </rule>
+
+        <!-- Waterways, lakes and ponds -->
+        <rule e="way" k="waterway" v="riverbank">
+            <area class="waterway-riverbank"/>
+        </rule>
+        <rule e="way" k="waterway" v="river">
+            <line class="waterway-river-casing"/>
+        </rule>
+        <rule e="way" k="waterway" v="stream">
+            <line class="waterway-stream-casing"/>
+        </rule>
+        <rule e="way" k="waterway" v="canal">
+            <line class="waterway-canal-casing"/>
+        </rule>
+        <rule e="way" k="waterway" v="drain">
+            <line class="waterway-drain-casing"/>
+        </rule>
+        <rule e="way" k="waterway" v="river">
+            <line class="waterway-river-core"/>
+        </rule>
+        <rule e="way" k="waterway" v="stream">
+            <line class="waterway-stream-core"/>
+        </rule>
+        <rule e="way" k="waterway" v="canal">
+            <line class="waterway-canal-core"/>
+        </rule>
+        <rule e="way" k="waterway" v="drain">
+            <line class="waterway-drain-core"/>
+        </rule>
+        <rule e="way" k="waterway" v="dock">
+            <area class="natural-water"/>
+        </rule>
+        <rule e="way" k="natural" v="water|pond|lake|bay">
+            <area class="natural-water"/>
+        </rule>
+        <rule e="way" k="landuse" v="reservoir">
+            <area class="natural-water"/>
+        </rule>
+        <rule e="way" k="landuse" v="basin">
+            <area class="natural-water"/>
+        </rule>
+
+        <!-- Highway casings -->
+        <rule e="way" k="tunnel" v="~|no|false">
+            <rule e="way" k="highway" v="raceway">
+                <rule e="way" k="use_status" v="~">
+                    <line class="highway-raceway-casing"/>
+                </rule>
+                <rule e="way" k="use_status" v="disused">
+                    <line class="highway-raceway-casing-disused"/>
+                </rule>
+                <rule e="way" k="use_status" v="dismantled">
+                    <line class="highway-raceway-casing-dismantled"/>
+                </rule>
+            </rule>
+            <rule e="way" k="highway" v="pedestrian">
+                <line class="highway-casing highway-pedestrian-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="track">
+                <line class="highway-casing highway-track-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad|road">
+                <line class="highway-casing highway-unclassified-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="unsurfaced">
+                <line class="highway-casing highway-unsurfaced-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="service">
+                <line class="highway-casing highway-service-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="tertiary">
+                <line class="highway-casing highway-tertiary-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="secondary">
+                <line class="highway-casing highway-secondary-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="primary|primary_link">
+                <line class="highway-casing highway-primary-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="trunk|trunk_link">
+                <line class="highway-casing highway-trunk-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="motorway_link">
+                <line class="highway-casing highway-motorway-link-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="motorway">
+                <line class="highway-casing highway-motorway-casing"/>
+            </rule>
+        </rule>
+
+        <!-- Paths in tunnels -->
+        <rule e="way" k="tunnel" v="yes|true">
+            <rule e="way" k="highway" v="footway|steps|cycleway|bridleway|byway">
+                <tunnel width="0" class="highway-tunnel-narrow"/>
+            </rule>
+        </rule>
+
+        <!-- Paths not in tunnels -->
+        <rule e="way" k="tunnel" v="~|no|false">
+            <rule e="way" k="highway" v="footway|steps">
+                <line class="highway-core highway-footway"/>
+            </rule>
+            <rule e="way" k="highway" v="steps">
+                <line class="highway-core highway-steps"/>
+            </rule>
+            <rule e="way" k="highway" v="cycleway">
+                <line class="highway-core highway-cycleway"/>
+            </rule>
+            <rule e="way" k="highway" v="bridleway">
+                <line class="highway-core highway-bridleway"/>
+            </rule>
+            <rule e="way" k="highway" v="byway">
+                <line class="highway-core highway-byway"/>
+            </rule>
+        </rule>
+
+        <!-- Highway cores (not in tunnel) -->
+        <rule e="way" k="tunnel" v="~|false|no">
+            <addclass e="way" k="bridge" v="yes|true" class="round">
+                <rule e="way" k="highway" v="raceway">
+                    <rule e="way" k="use_status" v="~">
+                        <line class="highway-raceway-core"/>
+                    </rule>
+                    <rule e="way" k="use_status" v="disused">
+                        <line class="highway-raceway-core-disused"/>
+                    </rule>
+                    <rule e="way" k="use_status" v="dismantled">
+                        <line class="highway-raceway-core-dismantled"/>
+                    </rule>
+                </rule>
+                <rule e="way" k="highway" v="pedestrian">
+                    <rule e="way" k="area" v="yes|true">
+                        <area class="highway-core highway-pedestrian-area"/>
+                    </rule>
+                    <else>
+                        <line class="highway-core highway-pedestrian-core"/>
+                    </else>
+                </rule>
+                <rule e="way" k="highway" v="track">
+                    <line class="highway-core highway-track-core"/>
+                </rule>
+                <rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad">
+                    <line class="highway-core highway-unclassified-core"/>
+                </rule>
+                <rule e="way" k="highway" v="road">
+                    <line class="highway-core highway-road-core"/>
+                </rule>
+                <rule e="way" k="highway" v="unsurfaced">
+                    <line class="highway-core highway-unsurfaced-core"/>
+                </rule>
+                <rule e="way" k="highway" v="service">
+                    <line class="highway-core highway-service-core"/>
+                </rule>
+                <rule e="way" k="highway" v="tertiary">
+                    <line class="highway-core highway-tertiary-core"/>
+                </rule>
+                <rule e="way" k="highway" v="secondary">
+                    <line class="highway-core highway-secondary-core"/>
+                </rule>
+                <rule e="way" k="highway" v="primary|primary_link">
+                    <line class="highway-core highway-primary-core"/>
+                </rule>
+                <rule e="way" k="highway" v="trunk|trunk_link">
+                    <line class="highway-core highway-trunk-core"/>
+                </rule>
+                <rule e="way" k="highway" v="motorway_link">
+                    <line class="highway-core highway-motorway-link-core"/>
+                </rule>
+                <rule e="way" k="highway" v="motorway">
+                    <line class="highway-core highway-motorway-core"/>
+                </rule>
+            </addclass>
+        </rule>
+
+        <!-- Highway cores in tunnels -->
+        <rule e="way" k="tunnel" v="true|yes">
+            <rule e="way" k="highway" v="pedestrian">
+                <tunnel width="2" class="highway-core highway-pedestrian"/>
+            </rule>
+            <rule e="way" k="highway" v="track">
+                <tunnel width="2" class="highway-core highway-track"/>
+            </rule>
+            <rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad">
+                <tunnel width="2" class="highway-core highway-unclassified"/>
+            </rule>
+            <rule e="way" k="highway" v="road">
+                <tunnel width="2" class="highway-core highway-road"/>
+            </rule>
+            <rule e="way" k="highway" v="unsurfaced">
+                <tunnel width="2" class="highway-core highway-unsurfaced"/>
+            </rule>
+            <rule e="way" k="highway" v="service">
+                <tunnel width="1" class="highway-core highway-service"/>
+            </rule>
+            <rule e="way" k="highway" v="tertiary">
+                <tunnel width="2" class="highway-core highway-tertiary"/>
+            </rule>
+            <rule e="way" k="highway" v="secondary">
+                <tunnel width="3" class="highway-core highway-secondary"/>
+            </rule>
+            <rule e="way" k="highway" v="primary|primary_link">
+                <tunnel width="3" class="highway-core highway-primary"/>
+            </rule>
+            <rule e="way" k="highway" v="trunk|trunk_link">
+                <tunnel width="4" class="highway-core highway-trunk"/>
+            </rule>
+            <rule e="way" k="highway" v="motorway|motorway_link">
+                <tunnel width="4" class="highway-core highway-motorway"/>
+            </rule>
+        </rule>
+
+        <rule e="node" k="highway" v="mini_roundabout">
+            <circle r="0.8px" class="mini-roundabout-core"/>
+            <circle r="0.2px" class="mini-roundabout-dot"/>
+        </rule>
+
+        <!-- highway motorway-junctions -->
+        <rule e="node" k="highway" v="motorway_junction">
+            <circle r="7" class="highway-motorway-junction"/>
+            <text k="name" class="highway-motorway-junction-caption" dy="-2px"/>
+            <text k="ref" class="highway-motorway-junction-caption" dy="+5px"/>
+        </rule>
+
+        <!-- Railway lines -->
+        <!-- not in tunnel -->
+        <rule e="way" k="tunnel" v="~|no|false">
+            <rule e="way" k="railway" v="rail">
+                <line class="railway-rail"/>
+            </rule>
+            <rule e="way" k="railway" v="light_rail|tram">
+                <line class="railway-light-rail"/>
+            </rule>
+            <rule e="way" k="railway" v="subway">
+                <line class="railway-subway-rail"/>
+            </rule>
+            <rule e="way" k="railway" v="preserved">
+                <line class="railway-preserved"/>
+            </rule>
+        </rule>
+
+        <!-- in tunnel -->
+        <rule e="way" k="tunnel" v="true|yes">
+            <rule e="way" k="railway" v="rail">
+                <tunnel width="1" class="railway-rail"/>
+            </rule>
+            <rule e="way" k="railway" v="light_rail|subway|tram">
+                <tunnel width="0" class="railway-tunnel-narrow"/>
+            </rule>
+            <rule e="way" k="railway" v="preserved">
+                <tunnel width="1" class="railway-preserved"/>
+            </rule>
+        </rule>
+
+        <!-- Airfields and airports -->
+        <rule e="way" k="aeroway" v="runway">
+            <line class="aeroway-runway-casing"/>
+        </rule>
+        <rule e="way" k="aeroway" v="taxiway">
+            <line class="aeroway-taxiway-casing"/>
+        </rule>
+        <rule e="way" k="aeroway" v="runway">
+            <line class="aeroway-runway-core"/>
+        </rule>
+        <rule e="way" k="aeroway" v="taxiway">
+            <line class="aeroway-taxiway-core"/>
+        </rule>
+        <rule e="node" k="aeroway" v="airport">
+            <symbol xlink:href="#airport" width="40px" height="40px" transform="translate(-20,-20)"/>
+        </rule>
+
+        <!-- Non-physical routes -->
+        <rule e="way" k="route" v="ferry">
+            <line class="route-ferry"/>
+        </rule>
+
+        <!-- Place names  -->
+        <!-- z12 and below have only limited names
+        <rule e="node" k="place" v="continent">
+            <text k="name" class='continent-caption' />
+        </rule>
+        <rule e="node" k="place" v="country">
+            <text k="name" class='country-caption' />
+        </rule>
+        <rule e="node" k="place" v="state">
+            <text k="name" class='state-caption' />
+        </rule>
+        <rule e="node" k="place" v="region">
+            <text k="name" class='region-caption' />
+        </rule>
+        -->
+        <rule k="osmarender:renderName" v="~|yes">
+            <rule e="node" k="place" v="island">
+                <text k="name" class="island-caption"/>
+            </rule>
+            <rule e="node" k="place" v="county">
+                <text k="name" class="county-caption"/>
+            </rule>
+            <rule e="node" k="place" v="city">
+                <text k="name" class="city-caption"/>
+            </rule>
+            <rule e="node" k="place" v="town">
+                <text k="name" class="town-caption"/>
+            </rule>
+        </rule>
+    </rule>
+
+
+    <!-- ==================================== Layer 5 ================================== -->
+    <rule e="node|way" k="osmarender:render" v="~|yes" layer="5">
+
+        <!-- Non-physical boundaries -->
+        <rule e="way" k="boundary" v="administrative" layer="5">
+            <rule e="way" k="border_type" v="state" layer="5">
+                <line class="boundary boundary-administrative-state-casing"/>
+                <line class="boundary boundary-administrative-state-core"/>
+            </rule>
+            <else>
+                <line class="boundary boundary-administrative-state-core"/>
+            </else>
+        </rule>
+
+        <rule e="way" k="boundary" v="national_park" layer="5">
+            <line class="boundary boundary-nationalpark-core" layer="5"/>
+        </rule>
+    </rule>
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+        <style xmlns="http://www.w3.org/2000/svg" id="styles" type="text/css">
+            .debug {
+                stroke-width: 0.1px;
+                stroke-linecap: round;
+                stroke: gray;
+                /* marker-end: url(#segment-direction); */
+            }
+
+            .error {
+                stroke-width: 2px;
+                stroke-linecap: round;
+                stroke: red;
+            }
+
+            .untagged-segments {
+                stroke-width: 0.5px;
+                stroke-linejoin: round;
+                stroke-linecap: butt;
+                stroke: #e0e0e0;
+                stroke-dasharray: 0.5,0.5;
+            }
+
+            /* Bridge casing */
+            .bridge-casing-35 {
+                stroke-width: 24px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-30 {
+                stroke-width: 16px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-25 {
+                stroke-width: 10px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-20 {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-15 {
+                stroke-width: 1.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-10 {
+                stroke-width: 1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+
+            /* Bridge core */
+            .bridge-core-35 {
+                stroke-width: 22;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-30 {
+                stroke-width: 15px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-25 {
+                stroke-width: 9px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-20 {
+                stroke-width: 1.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-15 {
+                stroke-width: 1.25px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-10 {
+                stroke-width: 0.75px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+
+            /* Tunnels */
+            .tunnel-casing {
+                stroke-width: 2px;
+                stroke-dasharray: 0.01,100000;
+                stroke: #222222;
+                fill: none;
+            }
+
+            /* Highways - generic style */
+            .highway-casing {
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+            .highway-core {
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+            .highway-motorway-junction {
+            fill: yellow;
+            stroke: #4D5D73;
+            stroke-width: 3px;
+            }
+
+            .highway-motorway-junction-caption {
+            fill: black;
+            stroke: blue;
+            stroke-width: 0.2px;
+            font-family: "DejaVu Sans",sans-serif;
+            font-size: 10px;
+            font-weight: bold;
+            display: none;
+            }
+
+            .highway-ref {
+                fill: #666666;
+                stroke: white;
+                font-family: "DejaVu Sans",sans-serif;
+                font-weight: normal;
+            }
+
+            .highway-name {
+                fill: black;
+                font-family: "DejaVu Sans",sans-serif;
+                font-weight: normal;
+                stroke: white;
+             }
+
+
+            /* Highways - street specific style */
+            .highway-motorway-casing {
+                stroke-width: 22px;
+                stroke: #222222;
+            }
+
+            .highway-motorway-core {
+                stroke-width: 20px;
+                stroke: #809BC0;
+            }
+
+            .highway-motorway-link-casing {
+                stroke-width: 9px;
+                stroke: #222222;
+            }
+
+            .highway-motorway-link-core {
+                stroke-width: 8.5px;
+                stroke: #809BC0;
+            }
+
+            .highway-trunk-casing {
+                stroke-width: 18px;
+                stroke: #222222;
+            }
+
+            .highway-trunk-core {
+                stroke-width: 16px;
+                stroke: #7fc97f;
+            }
+
+            .highway-primary-casing {
+                stroke-width: 14px;
+                stroke: #222222;
+            }
+
+            .highway-primary-core {
+                stroke-width: 13px;
+                stroke: #e46d71;
+            }
+
+            .highway-secondary-casing {
+                stroke-width: 12px;
+                stroke: #222222;
+            }
+
+            .highway-secondary-core {
+                stroke-width: 11px;
+                stroke: #FDBF6F;
+            }
+
+            .highway-tertiary-casing {
+                stroke-width: 5px;
+                stroke: #222222;
+            }
+
+            .highway-tertiary-core {
+                stroke-width: 4.75px;
+                stroke: #f7f496;
+            }
+
+            .highway-unclassified-casing {
+                stroke-width: 5px;
+                stroke: #c0c0c0;
+            }
+
+            .highway-unclassified-core {
+                stroke-width: 1.2px;
+                stroke: #ffffff;
+            }
+
+            .highway-road-core {
+                stroke-width: 1.2px;
+                stroke: #d0d0d0;
+            }
+
+            .highway-unsurfaced-casing {
+                stroke-width: 1.5px;
+                stroke: #222222;
+                stroke-dasharray: 1px, .5px;
+            }
+
+            .highway-unsurfaced-core {
+                stroke-width: 1.2px;
+                stroke: #ffffff;
+            }
+
+            .highway-track-casing {
+                stroke-width: 1.5px;
+                stroke: #d79331;
+            }
+
+            .highway-track-core {
+                stroke-width: 1.2px;
+                stroke: #ffffff;
+            }
+
+            .highway-pedestrian-casing {
+                stroke-width: 1.5px;
+                stroke: #aaaaaa;
+            }
+
+            .highway-pedestrian-core {
+                stroke-width: 1.2px;
+                stroke: #eeeeee;
+            }
+
+            .highway-pedestrian-area {
+                stroke-width: 1.2px;
+                stroke: #eeeeee;
+        fill: #eeeeee;
+            }
+
+            .highway-service-casing {
+                stroke-width: 0.7px;
+                stroke: #222222;
+            }
+
+            .highway-service-core {
+                stroke-width: 0.4px;
+                stroke: #ffffff;
+            }
+
+            .highway-bridleway {
+                stroke-width: 1px;
+                stroke: #70b971;
+            }
+
+            .highway-byway {
+                stroke-width: 1px;
+                stroke: #ef7771;
+            }
+
+            .highway-cycleway {
+                stroke-width: 1px;
+                stroke: #008102;
+            }
+
+            .highway-footway {
+                stroke-width: 0.5px;
+                stroke: #d79331;
+            }
+
+            .highway-steps {
+                stroke-width: 0.5px;
+                stroke: #707070;
+                stroke-dasharray: 0.1px, 0.3px;
+            }
+
+            .highway-tunnel-narrow {
+                stroke-width: 0.1px;
+                stroke-dasharray: 0.2,0.2;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .round {
+                stroke-linecap: round;
+            }
+
+
+            /* Mini roundabouts */
+            .mini-roundabout-casing {
+                fill: #222222;
+                stroke: #222222;
+            }
+
+            .mini-roundabout-core {
+                stroke: #ffffff;
+                fill: #ffffff;
+            }
+
+            .mini-roundabout-dot {
+                stroke: none;
+                fill: #222222;
+            }
+
+
+            /* Aeroways */
+            .aeroway-apron {
+                stroke-width: 0.3px;
+                stroke: none;
+                fill: #f0f0f0;
+            }
+
+            .aeroway-taxiway-core {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #d4dcbd;
+                fill: none;
+            }
+
+            .aeroway-taxiway-casing {
+                stroke-width: 3px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .aeroway-runway-core {
+                stroke-width: 5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #d4dcbd;
+                fill: none;
+            }
+
+            .aeroway-runway-casing {
+                stroke-width: 7px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .aeroway-aerodrome-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 6px;
+                font-weight: bold;
+            }
+
+            .aeroway-airport-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                font-weight: bold;
+            }
+
+
+            /* Waterways */
+            .waterway-riverbank {
+                fill: #b5d6f1;
+                stroke: #aaaaaa;
+                stroke-width: 0px;
+            }
+
+            .waterway-river-casing {
+                stroke-width: 10px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #aaaaaa;
+                fill: none;
+            }
+
+            .waterway-river-core {
+                stroke-width: 8px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .waterway-stream-casing {
+                stroke-width: 0.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #aaaaaa;
+                fill: none;
+            }
+
+            .waterway-stream-core {
+                stroke-width: 0.4px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .waterway-canal-casing {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #aaaaaa;
+                fill: none;
+            }
+
+            .waterway-canal-core {
+                stroke-width: 1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .waterway-drain-casing {
+                stroke-width: 1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #aaaaaa;
+                fill: none;
+            }
+
+            .waterway-drain-core {
+                stroke-width: 0.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .railway-rail {
+                stroke-width: 14px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #666666;
+                fill: none;
+            }
+
+            .railway-preserved {
+                stroke-width: 8px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #666666;
+                fill: none;
+            }
+
+            .railway-light-rail {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #666666;
+                fill: none;
+            }
+
+            .railway-tunnel-narrow {
+                stroke-width: 1px;
+                stroke-dasharray: 1,2;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .railway-subway-rail {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #666666;
+                fill: none;
+                stroke-dasharray: 3px, 1px;
+                stroke-dashoffset: 0;
+                stroke-opacity: 1;
+            }
+
+            /* Ferry */
+            .route-ferry {
+                stroke-width: 2px;
+                stroke-dasharray: 3,2;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #777777;
+                fill: none;
+            }
+
+
+            /* Place names */
+            .continent-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.6px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 200px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .country-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.5px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 180px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .state-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.5px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 160px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .region-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.4px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 140px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .county-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.4px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 120px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .city-caption {
+                fill: black;
+                stroke: none;
+                stroke-width: 0.4px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 300px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .town-caption {
+                fill: black;
+                stroke: none;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 100px;
+                opacity: 0.7;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .village-caption {
+                fill: black;
+                stroke: none;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 60px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .suburb-caption {
+                fill: black;
+                stroke: none;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 6px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .church-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 5px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .island-caption {
+                fill: black;
+                stroke: none;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 100px;
+                opacity: 0.7;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            /* Natural */
+            .natural-water {
+                fill: #b5d6f1;
+                stroke: #aaaaaa;
+                stroke-width: 0px;
+            }
+
+            .natural-coastline {
+                fill: #b5d6f1;
+                stroke: #b5d6f1;
+                stroke-width: 1.5px;
+            }
+
+            .natural-glacier {
+                fill: #fafaff;
+                stroke: lightblue;
+                stroke-width: 1.5px;
+            }
+
+            .natural-land {
+                fill: #ffffff;
+                stroke: #e0e0e0;
+                stroke-width: 0.1px;
+            }
+
+
+            /* Landuse */
+            .landuse-all {
+                stroke: none;
+                fill: #f0f0f0;
+            }
+
+            .landuse-wood {
+                fill: #72bf81;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-cemetery {
+                fill: #bde3cb;
+                stroke: #eeeeee;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-field {
+                fill: #bde3cb;
+                stroke: #6fc13d;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-residential {
+                stroke: none;
+                fill: #f0f0f0;
+            }
+
+            .landuse-retail {
+                stroke: none;
+                fill: #ffebeb;
+            }
+
+            .landuse-industrial {
+                fill: #ecd8ff;
+                stroke: #eeeeee;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-commercial {
+                fill: #fcffc9;
+                stroke: #eeeeee;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-retail {
+                fill: #ffebeb;
+                stroke: #eeeeee;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-runway {
+              stroke-width: 0.3px;
+              stroke: #808080;
+              fill: #d4dcbd;
+              }
+
+            .landuse-runway-disused {
+              stroke-width: 0.3px;
+              stroke: #808080;
+              fill: #d4dcbd;
+              stroke-dasharray: 1px, 1px;
+              }
+
+            .landuse-runway-dismantled {
+              stroke-width: 0.3px;
+              stroke: #808080;
+              fill: #fcffef;
+              stroke-dasharray: 0.3px, 1.7px;
+              opacity: 0.5;
+              }
+
+
+            /* Leisure */
+            .leisure-park {
+                fill: #c7f1a3;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .leisure-stadium {
+                fill: #bde3cb;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .leisure-track {
+                fill: #bde3cb;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .sport {
+                fill: #bde3cb;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .amenity-parking {
+                fill: #f7efb7;
+                stroke: #e9dd72;
+                stroke-width: 0.2px;
+            }
+
+
+
+            /* Non-physical boundaries */
+            .boundary {
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+            .boundary-administrative-state-casing {
+                stroke-width: 80px;
+                stroke: #ffff00;
+                opacity: 0.5;
+            }
+
+            .boundary-administrative-state-core {
+                stroke-width: 16px;
+                stroke: #f9574b;
+                stroke-dasharray: 80, 16, 16, 16;
+            }
+
+            .boundary-nationalpark-core {
+                stroke-width: 16px; 
+                stroke: #4ef94b;
+                stroke-dasharray: 80, 16, 16, 16;
+            }
+
+
+            /* Racetracks */
+            .highway-raceway-casing {
+              stroke-width: 2px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke: #101010;
+              }
+
+            .highway-raceway-casing-disused {
+              stroke-width: 2px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke: #808080;
+              stroke-dasharray: 1px, 1px;
+              }
+
+            .highway-raceway-casing-dismantled {
+              stroke-width: 2px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke: #808080;
+              stroke-dasharray: 0.3px, 1.7px;
+              opacity: 0.5;
+              }
+
+            .highway-raceway-core {
+              stroke-width: 1.5px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke: #f0f0f0;
+              }
+
+            .highway-raceway-core-disused {
+              stroke-width: 1.5px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke-dasharray: 1px, 1px;
+              stroke: #f7f7f7;
+              }
+
+            .highway-raceway-core-dismantled {
+              stroke-width: 1.5px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke: #fbfbfb;
+              stroke-dasharray: 0.3px, 1.7px;
+              opacity: 0.5;
+              }
+
+            .landuse-raceway {
+              stroke-width: 0.3px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: #f0f0f0;
+              stroke: #101010;
+              }
+
+            .landuse-raceway-disused {
+              stroke-width: 0.3px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: #f7f7f7;
+              stroke: #808080;
+              stroke-dasharray: 1px, 1px;
+              }
+
+            .landuse-raceway-dismantled {
+              stroke-width: 0.3px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: #fbfbfb;
+              stroke: #808080;
+              stroke-dasharray: 0.3px, 1.7px;
+              opacity: 0.5;
+              }
+
+            /* Tourism */
+            .tourism-attraction {
+                fill: #f2caea;
+                stroke: #f124cb;
+                stroke-width: 0px;
+            }
+           .tourism-green-area {
+                fill: #c7f1a3;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            /* Building */
+            .building {
+                fill: #dddddd;
+                stroke: #cccccc;
+                stroke-width: 0.2px;
+            }
+
+            .building-block {
+                fill: #F3D6B6;
+                stroke: #6a5a8e;
+                stroke-width: 0.2px;
+            }
+
+            .building-residential {
+                fill: #c95e2a;
+                stroke: #80290a;
+                stroke-width: 0.2px;
+            }
+
+
+            /* Map decoration */
+            .map-grid-line {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 0.1px;
+                stroke-opacity: 0.5;
+            }
+
+            .map-border-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 3px;
+                stroke-miterlimit: 4;
+                stroke-dasharray: none;
+                stroke-opacity: 1;
+                stroke-linecap: round;
+            }
+
+            .map-border-core {
+                fill: none;
+                fill-opacity: 1;
+                fill-rule: nonzero;
+                stroke: #ffffff;
+                stroke-width: 2px;
+                stroke-miterlimit: 0;
+                stroke-dashoffset: -0.5px;
+                stroke-opacity: 1;
+            }
+
+            .map-scale-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 4px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-core {
+                fill: none;
+                stroke: #ffffff;
+                stroke-width: 3px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-bookend {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 1px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-caption {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                fill: #8080ff;
+            }
+
+            <!-- map background must be the same for all zooms or else empty tile detection will fail -->
+            .map-background {
+                fill: #f8f8f8;
+                stroke: none;
+            }
+
+            .map-title {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 20px;
+                text-anchor: middle;
+                fill: black;
+            }
+
+            .map-title-background {
+                fill: white;
+            }
+
+            .map-marginalia-background {
+                fill: white;
+            }
+        </style>
+
+        <svg:pattern id="pedestrian-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse">
+            <svg:path d="M0,10 L10,0" fill="none" stroke="red" width="1"/>
+        </svg:pattern>
+
+        <svg:symbol id="church" viewBox="0 0 5 10" fill="#000000">
+            <svg:path d="M 0 10 L 0 5 L 5 5 L 5 10 z M 0 2 L 5 2 L 5 3 L 0 3 z M 2 0 L 2 5 L 3 5 L 3 0 z"/>
+        </svg:symbol>
+        <svg:symbol id="mosque" viewBox="0 0 120 120" fill="#00ab00">
+            <svg:path d="M 4,60 C 11,75 60,107 84,73 C 103,40 76,22 50,7 C 76,6 130,35 103,84 C 72,124 8,97 4,60 z M 35,52 C 35,52 20,55 20,55 L 30,43 C 30,43 21,30 21,30 L 35,35 L 45,23 L 45,38 L 60,45 L 45,50 L 45,65 L 35,52 z"/>
+        </svg:symbol>
+        <svg:symbol id="synagogue" viewBox="0 0 20 20" stroke="#0000d0" fill="none" stroke-width="1.5px" stroke-linecap="butt" stroke-linejoin="miter">
+            <svg:path d="M 10,0 L 20,15 L 0,15 L 10,0 z M 10,20 L 0,5 L 20,5 L 10,20 z"/>
+        </svg:symbol>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol id="campSite" viewBox="0 0 100 100" fill="#0000dc" fill-opacity="1">
+            <svg:path d="M 35,0 L 50,24 L 65,0 L 80,0 L 60,35 L 100,100 L 0,100 L 40,35 L 20,0 L 35,0 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="gate" viewBox="0 0 10 10" fill="none" stroke-width="0.8px" stroke="#000000">
+            <!--            <svg:path d="M 0,7 L 10,7 M 0,6 L 10,6 M 0,5 L 10,5 M 0,4 L 10,4 M 0,3 L 10,3 M 0,7 L 0,3 M 10,7 L 10,3 M 0,7 L 10,3" />-->
+            <svg:path d="M 0,7 L 10,7 M 0,3 L 10,3 M 0,7 L 0,3 M 10,7 L 10,3 M 0,7 L 10,3"/>
+        </svg:symbol>
+
+        <svg:symbol id="airport" viewBox="0 0 10 10" fill="black" fill-opacity="1" fill-rule="evenodd" stroke="none">
+            <svg:path d="M 9.2,5 C 9.2,4.5 9.8,3.2 10,3 L 9,3 L 8,4 L 5.5,4 L 8,0 L 6,0 L 3,4 C 2,4 1,4.2 0.5,4.5 C 0,5 0,5 0.5,5.5 C 1,5.8 2,6 3,6 L 6,10 L 8,10 L 5.5,6 L 7.8,6 L 9,7 L 10,7 C 9.8,6.8 9.2,5.5 9.2,5 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="power-tower" viewBox="0 0 10 10" stroke-width="1px" stroke="#cccccc">
+            <svg:path d="M 0 0 L 10 10 M 0 10 L 10 0"/>
+        </svg:symbol>
+
+        <svg:symbol id="bar" viewBox="0 0 100 100" fill="#000000" stroke-width="0.4px" stroke="#000000">
+            <svg:path d="M 16.8725 9.81954 L 96.3004 9.81954 L 59.4774 46.3164 L 59.4774 94.9796 C 59.575 94.9796 57.9896 100.587 84.2324 102.6 L 84.2324 103.99 L 31.0262 103.99 L 31.0275 102.6 C 56.4414 100.587 54.9906 94.9796 54.9906 94.9796 L 54.9906 46.3164 L 16.8725 9.81954 z "/>
+        </svg:symbol>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol id="petrolStation" viewBox="0 0 100 100" fill="#000000" fill-rule="evenodd" stroke-width="3px">
+            <svg:path d="M 22.7283 108.087 C 4.26832 107.546 23.6818 43.3596 32.6686 21.0597 C 33.8491 17.0245 60.28 18.4952 60.0056 19.8857 C 59.0889 25.9148 54.8979 23.2429 52.0142 26.8579 L 51.7464 36.8066 C 48.6085 40.8144 40.2357 34.4677 38.078 42.8773 C 31.3694 92.5727 45.0689 108.819 22.7283 108.087 z M 85.3122 9.52799 L 29.1766 9.52847 C 28.4855 17.5896 -11.559 113.573 22.9292 113.284 C 48.5214 113.073 39.5312 104.08 42.6984 51.03 C 41.8513 49.3228 50.871 48.6585 50.8739 51.4448 L 51.0453 116.604 L 97.6129 116.188 L 97.6129 26.544 C 96.0669 24.2073 93.899 25.2958 90.584 22.394 C 87.7907 19.4131 92.2353 9.52799 85.3122 9.52799 z M 64.0766 35.3236 C 61.5443 36.7258 61.5443 45.2814 64.0766 46.6836 C 68.3819 49.0684 80.2848 49.0684 84.5902 46.6836 C 87.1225 45.2814 87.1225 36.7258 84.5902 35.3236 C 80.2848 32.9393 68.3819 32.9393 64.0766 35.3236 z "/>
+        </svg:symbol>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol id="golfCourse" viewBox="0 0 100 100" fill="#000000" fill-rule="evenodd" fill-opacity="1" stroke="none">
+            <svg:path d="M 61.6421 25.2514 C 61.6421 25.2514 48.7712 34.4528 48.1727 38.766 C 47.574 43.0787 56.5537 48.8295 56.8529 52.2802 C 57.1522 55.7303 56.5537 87.3594 56.5537 87.3594 C 56.5537 87.3594 37.3978 104.036 36.7993 105.474 C 36.2006 106.912 41.5878 117.55 43.9826 117.263 C 46.3769 116.975 43.3841 109.787 44.2819 108.349 C 45.1798 106.912 64.0363 92.5353 65.2335 90.5221 C 65.5327 91.0979 65.8321 76.7208 65.5327 76.7208 L 66.7305 76.7208 L 66.1319 91.0979 C 66.1319 91.0979 59.2473 108.349 60.1451 113.237 C 60.1451 115.824 70.6212 122.15 72.1176 121 C 73.6145 119.85 68.5261 115.536 68.8254 112.375 C 67.6283 109.212 73.016 97.4233 73.3153 94.2605 C 73.6145 91.0979 73.9138 56.3053 72.7167 51.9927 C 72.7161 48.542 69.424 42.5037 67.9276 40.2035 C 67.6283 37.9029 65.8326 31.2897 65.8326 31.2897 C 65.8326 31.2897 59.547 39.341 59.5465 39.341 C 58.0501 37.9035 68.2268 28.702 68.2268 25.8268 C 68.2268 22.9513 49.9689 9.72452 49.9689 9.72452 C 49.9689 9.72452 25.126 63.2064 25.4254 65.5065 C 25.7246 67.8065 29.9146 72.9824 32.908 70.6823 C 35.9009 68.3822 27.8197 62.9194 27.8197 62.9194 L 49.3703 14.6122 L 52.6624 18.3506 L 58.3494 18.638 L 58.0501 19.5005 C 58.0501 19.5005 51.7645 18.9255 50.5675 19.788 C 49.3703 20.6506 47.574 22.0887 47.574 25.5388 C 47.574 28.9896 52.0638 30.4271 53.5603 30.7146 L 60.8936 24.6764 L 61.6421 25.2514 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="slipway" viewBox="0 0 50 45" fill="#0087ff" stroke="none" fill-opacity="0.7">
+            <svg:path d="M 45,33 L 45,45 L 2,45 C 2,45 45,33 45,33 z M 0,35 L 43,22 L 43,26 C 43,26 37,32 26,36 C 15,40 0,35 0,35 z M 3,32 C 3,32 13,0 13,0 L 22,26 L 3,32 z M 16,0 L 42,20 L 25,25 L 16,0 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="pub" viewBox="0 0 6 9" stroke="none">
+            <svg:path fill="#aa5605" d="M 1.2,9 C 1.2,9 1,3 0.3,1.7 L 5.7,1.7 C 5,3 4.8,9 4.8,9"/>
+            <svg:path fill="#ffe680" d="M 5.7,1.7 L 0.3,1.7 C 0,1 0,1 0,0 L 6,0 C 6,1 6,1 5.7,1.7 z"/>
+        </svg:symbol>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol id="hotel" viewBox="0 0 90 90" fill="black" fill-opacity="1" stroke="black" stroke-width="1px" stroke-miterlimit="4">
+            <svg:path d="M 0,60 C 0,65 10,65 10,60 L 10,50 L 35,70 L 35,85 C 35,90 45,90 45,85 L 45,70 L 75,70 L 75,85 C 75,90 85,90 85,85 L 85,60 L 40,60 L 5,30 C 9,20 45,20 50,25 L 50,10 C 50,5 40,5 40,10 L 40,15 L 10,15 L 10,10 C 10,5 0,5 0,10 C 0,10 0,60 0,60 z M 10,35 C 15,25 45,25 55,35 L 85,60 C 75,50 40,50 40,60 L 10,35 z "/>
+        </svg:symbol>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol id="hostel" viewBox="0 0 12.5 8" fill="#286a9d" fill-opacity="1" fill-rule="nonzero" stroke="none">
+            <svg:path d="M 5.5,4 L 9,0 L 12.5,4 L 11.5,4 L 11.5,8 L 10,8 L 10,5 L 8,5 L 8,8 L 6.5,8 L 6.5,4 L 5.5,4 z M 0.5,3.5 C 2,2.5 2.3,1 2.5,0 C 2.7,1 3,2.5 4.5,3.5 L 3.3,3.5 C 3.3,4 4,5 5,6 L 3,6 L 3,8 L 2,8 L 2,6 L 0,6 C 1,5 1.7,4 1.7,3.5 L 0.5,3.5 z M 0,8 L 0,7.5 L 12.5,7.5 L 12.5,8 L 0,8 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="recycling" viewBox="0 0 100 100" stroke="none" fill="#00ba00">
+            <svg:path d="M 55.0,37.3 L 72.1,27.0 L 79.8,41.9 C 81.6,50.0 71.5,52.9 63.3,52.4 L 55.0,37.3 z"/>
+            <svg:path d="M 51.1,47.9 L 42.1,63.8 L 51.1,80.0 L 51.3,73.5 L 59.5,73.5 C 62.5,73.8 66.4,71.8 67.9,69.0 L 78.4,49.5 C 75.0,53.0 70.5,53.9 65.3,53.9 L 51.4,53.9 L 51.1,47.9 z "/>
+            <svg:path d="M 31.0,28.2 L 13.7,18.2 L 22.9,4.2 C 29.0,-1.3 36.6,6.1 40.1,13.5 L 30.9,28.2 z "/>
+            <svg:path d="M 42.1,26.5 L 60.4,26.6 L 70.1,10.9 L 64.3,13.8 L 60.3,6.6 C 59.1,3.9 55.5,1.4 52.3,1.5 L 30.2,1.7 C 34.9,3.1 37.9,6.6 40.4,11.1 L 47.2,23.3 L 42.1,26.5 z "/>
+            <svg:path d="M 0.4,27.4 L 5.8,31.5 L 0.8,40.5 C -1.8,45.3 2.6,49.6 5.3,51.0 C 8.0,52.5 12.2,52.7 16.2,52.7 L 23.3,41.3 L 28.6,44.1 L 19.3,27.2 L 0.4,27.4 z "/>
+            <svg:path d="M 1.2,49.3 L 12.7,70.1 C 15.0,73.0 19.4,73.7 23.9,73.6 L 36.0,73.6 L 36.0,53.9 L 13.0,53.7 C 9.5,53.9 4.8,53.2 1.2,49.3 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="hospital" viewBox="0 0 15 15" stroke="red" stroke-width="2px" fill="none">
+            <svg:path d="M 12.5,7.5 L 2.5,7.5 L 2.5,7.5 L 12.5,7.5 z M 7.5,2.3 L 7.5,12.5 L 7.5,12.5"/>
+            <svg:path stroke-width="1px" d="M 14.5 7.5 A 7 7 0 1 1 0.5,7.5 A 7 7 0 1 1 14.5 7.5 z"/>
+        </svg:symbol>
+
+        <svg:symbol id="postoffice" viewBox="0 0 14 8" fill="none" stroke="red" stroke-width="1.5px">
+            <svg:path d="M 0,0 L 14,0 L 14,8 L 0,8 L 0,0 z M 0,0 L 7,4 L 14,0"/>
+        </svg:symbol>
+        <svg:symbol id="postbox" viewBox="0 0 14 8" fill="none" stroke="red" stroke-width="1.5px">
+            <svg:path d="M 0,0 L 14,0 L 14,8 L 0,8 L 0,0 z M 0,0 L 7,4 L 14,0"/>
+        </svg:symbol>
+
+        <svg:symbol id="parking" viewBox="0 -10 20 20" stroke="none" fill-opacity="1" fill-rule="nonzero">
+            <svg:rect fill="#0087ff" width="20" height="20" x="0" y="-10" rx="4" ry="4"/>
+            <svg:path fill="white" d="M 5,8 L 5,-7 L 12,-7 C 14,-7 15.5,-5.3 16,-4 C 16.5,-2.77 16.5,-1.23 16,0 C 15.41,1.42 14,3 12,3 L 8,3 L 8,8 L 5,8 z M 8,-4 L 8,0 C 9.3,0 11,0 12.32,-0.31 C 13.6,-0.76 13.5,-2.8 12.5,-3.48 C 11.5,-4.1 8.6,-4 8,-4 z "/>
+        </svg:symbol>
+    </defs>
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z11.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z11.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z11.xml	(revision 35743)
@@ -0,0 +1,1543 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Tiles@Home Rules File for zoom level 11 -->
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+    minimumMapWidth="1"
+    minimumMapHeight="1"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+    <!-- Select all nodes and ways (unless they have an osmarender:render=no tag) -->
+    <rule e="node|way" k="osmarender:render" v="~|yes">
+
+        <!-- Draw land areas first -->
+        <rule e="way" k="natural" v="land">
+            <area class="natural-land"/>
+        </rule>
+
+        <!-- Landuse -->
+        <!-- below zoom 12 render all landuse in the same colour so it doesn't look too psychedelic -->
+        <rule e="way" k="landuse" v="residential|farmyard|retail|industrial|commercial|cemetery">
+            <area class="landuse-all"/>
+        </rule>
+
+        <!-- Natural features -->
+        <rule e="way" k="natural" v="coastline">
+            <area class="natural-coastline"/>
+        </rule>
+        <rule e="way" k="natural" v="glacier">
+           <line class='natural-glacier'/>
+        </rule>
+        <rule e="way" k="landuse|natural" v="forest|wood">
+            <area class="landuse-wood"/>
+        </rule>
+        <rule e="way" k="landuse" v="field|village_green|meadow">
+            <area class="landuse-field"/>
+        </rule>
+        <rule e="way" k="amenity" v="kindergarten|school|college|university">
+            <area class="landuse-all"/>
+        </rule>
+        <rule e="way" k="leisure" v="park|playing_fields|garden|pitch|golf_course|common|green">
+            <area class="leisure-park"/>
+        </rule>
+        <rule e="way" k="leisure" v="stadium|sports_centre">
+            <area class="leisure-stadium"/>
+        </rule>
+        <rule e="way" k="leisure" v="track">
+            <area class="leisure-track"/>
+        </rule>
+
+        <!-- Airports and runways -->
+        <rule e="way" k="aeroway" v="apron">
+            <area class="aeroway-apron"/>
+        </rule>
+        <rule e="way" k="landuse" v="runway">
+            <rule e="way" k="use_status" v="~">
+                <area class="landuse-runway"/>
+            </rule>
+            <rule e="way" k="use_status" v="disused">
+                <area class="landuse-runway-disused"/>
+            </rule>
+            <rule e="way" k="use_status" v="dismantled">
+                <area class="landuse-runway-dismantled"/>
+            </rule>
+        </rule>
+
+        <!-- Raceways and racetracks -->
+        <rule e="way" k="landuse" v="raceway">
+            <rule e="way" k="use_status" v="~">
+                <area class="landuse-raceway"/>
+            </rule>
+            <rule e="way" k="use_status" v="disused">
+                <area class="landuse-raceway-disused"/>
+            </rule>
+            <rule e="way" k="use_status" v="dismantled">
+                <area class="landuse-raceway-dismantled"/>
+            </rule>
+        </rule>
+
+        <!-- Man-made areas -->
+        <rule e="way" k="sport" v="*">
+            <area class="sport"/>
+        </rule>
+        <rule e="way" k="amenity" v="parking">
+            <area class="amenity-parking"/>
+        </rule>
+		<rule e="way" k="tourism" v="attraction">
+			<rule e="way" k="highway" v="~">
+				<rule e="way" k="area" v="no" />
+				<else>
+					<area class="tourism-attraction"/>
+				</else>
+			</rule>
+		</rule>
+        <rule e="way" k="tourism" v="zoo|picnic_site|caravan_site|camp_site">
+            <area class="tourism-green-area"/>
+        </rule>
+        <rule e="way" k="aeroway" v="terminal">
+            <area class="building-block"/>
+        </rule>
+        <rule e="way" k="building" v="*">
+            <area class="building-block"/>
+        </rule>
+
+        <!-- Waterways, lakes and ponds -->
+        <rule e="way" k="waterway" v="riverbank">
+            <area class="waterway-riverbank"/>
+        </rule>
+        <rule e="way" k="waterway" v="river">
+            <line class="waterway-river-casing"/>
+        </rule>
+        <rule e="way" k="waterway" v="stream">
+            <line class="waterway-stream-casing"/>
+        </rule>
+        <rule e="way" k="waterway" v="canal">
+            <line class="waterway-canal-casing"/>
+        </rule>
+        <rule e="way" k="waterway" v="drain">
+            <line class="waterway-drain-casing"/>
+        </rule>
+        <rule e="way" k="waterway" v="river">
+            <line class="waterway-river-core"/>
+        </rule>
+        <rule e="way" k="waterway" v="stream">
+            <line class="waterway-stream-core"/>
+        </rule>
+        <rule e="way" k="waterway" v="canal">
+            <line class="waterway-canal-core"/>
+        </rule>
+        <rule e="way" k="waterway" v="drain">
+            <line class="waterway-drain-core"/>
+        </rule>
+        <rule e="way" k="waterway" v="dock">
+            <area class="natural-water"/>
+        </rule>
+        <rule e="way" k="natural" v="water|pond|lake|bay">
+            <area class="natural-water"/>
+        </rule>
+        <rule e="way" k="landuse" v="reservoir">
+            <area class="natural-water"/>
+        </rule>
+        <rule e="way" k="landuse" v="basin">
+            <area class="natural-water"/>
+        </rule>
+
+        <!-- Highway casings -->
+        <rule e="way" k="tunnel" v="~|no|false">
+            <rule e="way" k="highway" v="raceway">
+                <rule e="way" k="use_status" v="~">
+                    <line class="highway-raceway-casing"/>
+                </rule>
+                <rule e="way" k="use_status" v="disused">
+                    <line class="highway-raceway-casing-disused"/>
+                </rule>
+                <rule e="way" k="use_status" v="dismantled">
+                    <line class="highway-raceway-casing-dismantled"/>
+                </rule>
+            </rule>
+            <rule e="way" k="highway" v="pedestrian">
+                <line class="highway-casing highway-pedestrian-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="track">
+                <line class="highway-casing highway-track-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad|road">
+                <line class="highway-casing highway-unclassified-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="unsurfaced">
+                <line class="highway-casing highway-unsurfaced-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="service">
+                <line class="highway-casing highway-service-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="tertiary">
+                <line class="highway-casing highway-tertiary-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="secondary">
+                <line class="highway-casing highway-secondary-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="primary|primary_link">
+                <line class="highway-casing highway-primary-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="trunk|trunk_link">
+                <line class="highway-casing highway-trunk-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="motorway_link">
+                <line class="highway-casing highway-motorway-link-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="motorway">
+                <line class="highway-casing highway-motorway-casing"/>
+            </rule>
+        </rule>
+
+        <!-- Paths in tunnels -->
+        <rule e="way" k="tunnel" v="yes|true">
+            <rule e="way" k="highway" v="footway|steps|cycleway|bridleway|byway">
+                <tunnel width="0" class="highway-tunnel-narrow"/>
+            </rule>
+        </rule>
+
+        <!-- Paths not in tunnels -->
+        <rule e="way" k="tunnel" v="~|no|false">
+            <rule e="way" k="highway" v="footway|steps">
+                <line class="highway-core highway-footway"/>
+            </rule>
+            <rule e="way" k="highway" v="steps">
+                <line class="highway-core highway-steps"/>
+            </rule>
+            <rule e="way" k="highway" v="cycleway">
+                <line class="highway-core highway-cycleway"/>
+            </rule>
+            <rule e="way" k="highway" v="bridleway">
+                <line class="highway-core highway-bridleway"/>
+            </rule>
+            <rule e="way" k="highway" v="byway">
+                <line class="highway-core highway-byway"/>
+            </rule>
+        </rule>
+
+        <!-- Highway cores (not in tunnel) -->
+        <rule e="way" k="tunnel" v="~|false|no">
+            <addclass e="way" k="bridge" v="yes|true" class="round">
+                <rule e="way" k="highway" v="raceway">
+                    <rule e="way" k="use_status" v="~">
+                        <line class="highway-raceway-core"/>
+                    </rule>
+                    <rule e="way" k="use_status" v="disused">
+                        <line class="highway-raceway-core-disused"/>
+                    </rule>
+                    <rule e="way" k="use_status" v="dismantled">
+                        <line class="highway-raceway-core-dismantled"/>
+                    </rule>
+                </rule>
+                <rule e="way" k="highway" v="pedestrian">
+                    <rule e="way" k="area" v="yes|true">
+                        <area class="highway-core highway-pedestrian-area"/>
+                    </rule>
+                    <else>
+                        <line class="highway-core highway-pedestrian-core"/>
+                    </else>
+                </rule>
+                <rule e="way" k="highway" v="track">
+                    <line class="highway-core highway-track-core"/>
+                </rule>
+                <rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad">
+                    <line class="highway-core highway-unclassified-core"/>
+                </rule>
+                <rule e="way" k="highway" v="road">
+                    <line class="highway-core highway-road-core"/>
+                </rule>
+                <rule e="way" k="highway" v="unsurfaced">
+                    <line class="highway-core highway-unsurfaced-core"/>
+                </rule>
+                <rule e="way" k="highway" v="service">
+                    <line class="highway-core highway-service-core"/>
+                </rule>
+                <rule e="way" k="highway" v="tertiary">
+                    <line class="highway-core highway-tertiary-core"/>
+                </rule>
+                <rule e="way" k="highway" v="secondary">
+                    <line class="highway-core highway-secondary-core"/>
+                </rule>
+                <rule e="way" k="highway" v="primary|primary_link">
+                    <line class="highway-core highway-primary-core"/>
+                </rule>
+                <rule e="way" k="highway" v="trunk|trunk_link">
+                    <line class="highway-core highway-trunk-core"/>
+                </rule>
+                <rule e="way" k="highway" v="motorway_link">
+                    <line class="highway-core highway-motorway-link-core"/>
+                </rule>
+                <rule e="way" k="highway" v="motorway">
+                    <line class="highway-core highway-motorway-core"/>
+                </rule>
+            </addclass>
+        </rule>
+
+        <!-- Highway cores in tunnels -->
+        <rule e="way" k="tunnel" v="true|yes">
+            <rule e="way" k="highway" v="pedestrian">
+                <tunnel width="2" class="highway-core highway-pedestrian"/>
+            </rule>
+            <rule e="way" k="highway" v="track">
+                <tunnel width="2" class="highway-core highway-track"/>
+            </rule>
+            <rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad">
+                <tunnel width="2" class="highway-core highway-unclassified"/>
+            </rule>
+            <rule e="way" k="highway" v="road">
+                <tunnel width="2" class="highway-core highway-road"/>
+            </rule>
+            <rule e="way" k="highway" v="unsurfaced">
+                <tunnel width="2" class="highway-core highway-unsurfaced"/>
+            </rule>
+            <rule e="way" k="highway" v="service">
+                <tunnel width="1" class="highway-core highway-service"/>
+            </rule>
+            <rule e="way" k="highway" v="tertiary">
+                <tunnel width="2" class="highway-core highway-tertiary"/>
+            </rule>
+            <rule e="way" k="highway" v="secondary">
+                <tunnel width="3" class="highway-core highway-secondary"/>
+            </rule>
+            <rule e="way" k="highway" v="primary|primary_link">
+                <tunnel width="3" class="highway-core highway-primary"/>
+            </rule>
+            <rule e="way" k="highway" v="trunk|trunk_link">
+                <tunnel width="4" class="highway-core highway-trunk"/>
+            </rule>
+            <rule e="way" k="highway" v="motorway|motorway_link">
+                <tunnel width="4" class="highway-core highway-motorway"/>
+            </rule>
+        </rule>
+
+        <rule e="node" k="highway" v="mini_roundabout">
+            <circle r="0.8px" class="mini-roundabout-core"/>
+            <circle r="0.2px" class="mini-roundabout-dot"/>
+        </rule>
+
+        <!-- highway motorway-junctions -->
+        <rule e="node" k="highway" v="motorway_junction">
+            <circle r="7" class="highway-motorway-junction"/>
+            <text k="name" class="highway-motorway-junction-caption" dy="-2px"/>
+            <text k="ref" class="highway-motorway-junction-caption" dy="+5px"/>
+        </rule>
+
+        <!-- Railway lines -->
+        <!-- not in tunnel -->
+        <rule e="way" k="tunnel" v="~|no|false">
+            <rule e="way" k="railway" v="rail">
+                <line class="railway-rail"/>
+            </rule>
+            <rule e="way" k="railway" v="light_rail|tram">
+                <line class="railway-light-rail"/>
+            </rule>
+            <rule e="way" k="railway" v="subway">
+                <line class="railway-subway-rail"/>
+            </rule>
+            <rule e="way" k="railway" v="preserved">
+                <line class="railway-preserved"/>
+            </rule>
+        </rule>
+
+        <!-- in tunnel -->
+        <rule e="way" k="tunnel" v="true|yes">
+            <rule e="way" k="railway" v="rail">
+                <tunnel width="1" class="railway-rail"/>
+            </rule>
+            <rule e="way" k="railway" v="light_rail|subway|tram">
+                <tunnel width="0" class="railway-tunnel-narrow"/>
+            </rule>
+            <rule e="way" k="railway" v="preserved">
+                <tunnel width="1" class="railway-preserved"/>
+            </rule>
+        </rule>
+
+        <!-- Airfields and airports -->
+        <rule e="way" k="aeroway" v="runway">
+            <line class="aeroway-runway-casing"/>
+        </rule>
+        <rule e="way" k="aeroway" v="taxiway">
+            <line class="aeroway-taxiway-casing"/>
+        </rule>
+        <rule e="way" k="aeroway" v="runway">
+            <line class="aeroway-runway-core"/>
+        </rule>
+        <rule e="way" k="aeroway" v="taxiway">
+            <line class="aeroway-taxiway-core"/>
+        </rule>
+        <rule e="node" k="aeroway" v="airport">
+            <symbol xlink:href="#airport" width="40px" height="40px" transform="translate(-20,-20)"/>
+        </rule>
+
+        <!-- Non-physical routes -->
+        <rule e="way" k="route" v="ferry">
+            <line class="route-ferry"/>
+        </rule>
+
+        <!-- Place names  -->
+        <!-- z12 and below have only limited names
+        <rule e="node" k="place" v="continent">
+            <text k="name" class='continent-caption' />
+        </rule>
+        <rule e="node" k="place" v="country">
+            <text k="name" class='country-caption' />
+        </rule>
+        <rule e="node" k="place" v="state">
+            <text k="name" class='state-caption' />
+        </rule>
+        <rule e="node" k="place" v="region">
+            <text k="name" class='region-caption' />
+        </rule>
+        -->
+        <rule k="osmarender:renderName" v="~|yes">
+            <rule e="node" k="place" v="island">
+                <text k="name" class="island-caption"/>
+            </rule>
+            <rule e="node" k="place" v="county">
+                <text k="name" class="county-caption"/>
+            </rule>
+            <rule e="node" k="place" v="city">
+                <text k="name" class="city-caption"/>
+            </rule>
+            <rule e="node" k="place" v="town">
+                <text k="name" class="town-caption"/>
+            </rule>
+        </rule>
+    </rule>
+
+    <!-- ==================================== Layer 5 ================================== -->
+    <rule e="node|way" k="osmarender:render" v="~|yes" layer="5">
+
+        <!-- Non-physical boundaries -->
+        <rule e="way" k="boundary" v="administrative" layer="5">
+            <rule e="way" k="border_type" v="state" layer="5">
+                <line class="boundary boundary-administrative-state-casing"/>
+                <line class="boundary boundary-administrative-state-core"/>
+            </rule>
+            <else>
+                <line class="boundary boundary-administrative-state-core"/>
+            </else>
+        </rule>
+
+        <rule e="way" k="boundary" v="national_park" layer="5">
+            <line class="boundary boundary-nationalpark-core" layer="5"/>
+        </rule>
+    </rule>
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+        <style xmlns="http://www.w3.org/2000/svg" id="styles" type="text/css">
+            .debug {
+                stroke-width: 0.1px;
+                stroke-linecap: round;
+                stroke: gray;
+                /* marker-end: url(#segment-direction); */
+            }
+
+            .error {
+                stroke-width: 2px;
+                stroke-linecap: round;
+                stroke: red;
+            }
+
+            .untagged-segments {
+                stroke-width: 0.5px;
+                stroke-linejoin: round;
+                stroke-linecap: butt;
+                stroke: #e0e0e0;
+                stroke-dasharray: 0.5,0.5;
+            }
+
+            /* Bridge casing */
+            .bridge-casing-35 {
+                stroke-width: 24px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-30 {
+                stroke-width: 16px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-25 {
+                stroke-width: 10px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-20 {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-15 {
+                stroke-width: 1.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-10 {
+                stroke-width: 1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+
+            /* Bridge core */
+            .bridge-core-35 {
+                stroke-width: 22;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-30 {
+                stroke-width: 15px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-25 {
+                stroke-width: 9px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-20 {
+                stroke-width: 1.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-15 {
+                stroke-width: 1.25px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-10 {
+                stroke-width: 0.75px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+
+            /* Tunnels */
+            .tunnel-casing {
+                stroke-width: 2px;
+                stroke-dasharray: 0.01,100000;
+                stroke: #222222;
+                fill: none;
+            }
+
+            /* Highways - generic style */
+            .highway-casing {
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+            .highway-core {
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+            .highway-motorway-junction {
+            fill: yellow;
+            stroke: #4D5D73;
+            stroke-width: 3px;
+            }
+
+            .highway-motorway-junction-caption {
+            fill: black;
+            stroke: blue;
+            stroke-width: 0.2px;
+            font-family: "DejaVu Sans",sans-serif;
+            font-size: 10px;
+            font-weight: bold;
+            display: none;
+            }
+
+            .highway-ref {
+                fill: #666666;
+                stroke: white;
+                font-family: "DejaVu Sans",sans-serif;
+                font-weight: normal;
+            }
+
+            .highway-name {
+                fill: black;
+                font-family: "DejaVu Sans",sans-serif;
+                font-weight: normal;
+                stroke: white;
+             }
+
+
+            /* Highways - street specific style */
+            .highway-motorway-casing {
+                stroke-width: 22px;
+                stroke: #222222;
+            }
+
+            .highway-motorway-core {
+                stroke-width: 20px;
+                stroke: #809BC0;
+            }
+
+            .highway-motorway-link-casing {
+                stroke-width: 9px;
+                stroke: #222222;
+            }
+
+            .highway-motorway-link-core {
+                stroke-width: 8.5px;
+                stroke: #809BC0;
+            }
+
+            .highway-trunk-casing {
+                stroke-width: 18px;
+                stroke: #222222;
+            }
+
+            .highway-trunk-core {
+                stroke-width: 16px;
+                stroke: #7fc97f;
+            }
+
+            .highway-primary-casing {
+                stroke-width: 14px;
+                stroke: #222222;
+            }
+
+            .highway-primary-core {
+                stroke-width: 13px;
+                stroke: #e46d71;
+            }
+
+            .highway-secondary-casing {
+                stroke-width: 12px;
+                stroke: #222222;
+            }
+
+            .highway-secondary-core {
+                stroke-width: 11px;
+                stroke: #FDBF6F;
+            }
+
+            .highway-tertiary-casing {
+                stroke-width: 5px;
+                stroke: #222222;
+            }
+
+            .highway-tertiary-core {
+                stroke-width: 4.75px;
+                stroke: #f7f496;
+            }
+
+            .highway-unclassified-casing {
+                stroke-width: 5px;
+                stroke: #c0c0c0;
+            }
+
+            .highway-unclassified-core {
+                stroke-width: 1.2px;
+                stroke: #ffffff;
+            }
+
+            .highway-road-core {
+                stroke-width: 1.2px;
+                stroke: #d0d0d0;
+            }
+
+            .highway-unsurfaced-casing {
+                stroke-width: 1.5px;
+                stroke: #222222;
+                stroke-dasharray: 1px, .5px;
+            }
+
+            .highway-unsurfaced-core {
+                stroke-width: 1.2px;
+                stroke: #ffffff;
+            }
+
+            .highway-track-casing {
+                stroke-width: 1.5px;
+                stroke: #d79331;
+            }
+
+            .highway-track-core {
+                stroke-width: 1.2px;
+                stroke: #ffffff;
+            }
+
+            .highway-pedestrian-casing {
+                stroke-width: 1.5px;
+                stroke: #aaaaaa;
+            }
+
+            .highway-pedestrian-core {
+                stroke-width: 1.2px;
+                stroke: #eeeeee;
+            }
+
+            .highway-pedestrian-area {
+                stroke-width: 1.2px;
+                stroke: #eeeeee;
+        fill: #eeeeee;
+            }
+
+            .highway-service-casing {
+                stroke-width: 0.7px;
+                stroke: #222222;
+            }
+
+            .highway-service-core {
+                stroke-width: 0.4px;
+                stroke: #ffffff;
+            }
+
+            .highway-bridleway {
+                stroke-width: 1px;
+                stroke: #70b971;
+            }
+
+            .highway-byway {
+                stroke-width: 1px;
+                stroke: #ef7771;
+            }
+
+            .highway-cycleway {
+                stroke-width: 1px;
+                stroke: #008102;
+            }
+
+            .highway-footway {
+                stroke-width: 0.5px;
+                stroke: #d79331;
+            }
+
+            .highway-steps {
+                stroke-width: 0.5px;
+                stroke: #707070;
+                stroke-dasharray: 0.1px, 0.3px;
+            }
+
+            .highway-tunnel-narrow {
+                stroke-width: 0.1px;
+                stroke-dasharray: 0.2,0.2;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .round {
+                stroke-linecap: round;
+            }
+
+
+            /* Mini roundabouts */
+            .mini-roundabout-casing {
+                fill: #222222;
+                stroke: #222222;
+            }
+
+            .mini-roundabout-core {
+                stroke: #ffffff;
+                fill: #ffffff;
+            }
+
+            .mini-roundabout-dot {
+                stroke: none;
+                fill: #222222;
+            }
+
+
+            /* Aeroways */
+            .aeroway-apron {
+                stroke-width: 0.3px;
+                stroke: none;
+                fill: #f0f0f0;
+            }
+
+            .aeroway-taxiway-core {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #d4dcbd;
+                fill: none;
+            }
+
+            .aeroway-taxiway-casing {
+                stroke-width: 3px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .aeroway-runway-core {
+                stroke-width: 5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #d4dcbd;
+                fill: none;
+            }
+
+            .aeroway-runway-casing {
+                stroke-width: 7px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .aeroway-aerodrome-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 6px;
+                font-weight: bold;
+            }
+
+            .aeroway-airport-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                font-weight: bold;
+            }
+
+
+            /* Waterways */
+            .waterway-riverbank {
+                fill: #b5d6f1;
+                stroke: #aaaaaa;
+                stroke-width: 0px;
+            }
+
+            .waterway-river-casing {
+                stroke-width: 10px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #aaaaaa;
+                fill: none;
+            }
+
+            .waterway-river-core {
+                stroke-width: 8px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .waterway-stream-casing {
+                stroke-width: 0.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #aaaaaa;
+                fill: none;
+            }
+
+            .waterway-stream-core {
+                stroke-width: 0.4px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .waterway-canal-casing {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #aaaaaa;
+                fill: none;
+            }
+
+            .waterway-canal-core {
+                stroke-width: 1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .waterway-drain-casing {
+                stroke-width: 1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #aaaaaa;
+                fill: none;
+            }
+
+            .waterway-drain-core {
+                stroke-width: 0.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .railway-rail {
+                stroke-width: 14px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #666666;
+                fill: none;
+            }
+
+            .railway-preserved {
+                stroke-width: 8px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #666666;
+                fill: none;
+            }
+
+            .railway-light-rail {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #666666;
+                fill: none;
+            }
+
+            .railway-tunnel-narrow {
+                stroke-width: 1px;
+                stroke-dasharray: 1,2;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .railway-subway-rail {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #666666;
+                fill: none;
+                stroke-dasharray: 3px, 1px;
+                stroke-dashoffset: 0;
+                stroke-opacity: 1;
+            }
+
+            /* Ferry */
+            .route-ferry {
+                stroke-width: 2px;
+                stroke-dasharray: 3,2;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #777777;
+                fill: none;
+            }
+
+
+            /* Place names */
+            .continent-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.6px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 20px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .country-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.5px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 18px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .state-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.5px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 16px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .region-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.4px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 14px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .county-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.4px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 12px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .city-caption {
+                fill: black;
+                stroke: none;
+                stroke-width: 0.4px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 150px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .town-caption {
+                fill: black;
+                stroke: none;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 100px;
+                opacity: 0.7;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .village-caption {
+                fill: black;
+                stroke: none;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 60px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .suburb-caption {
+                fill: black;
+                stroke: none;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 6px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .church-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 5px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .island-caption {
+                fill: black;
+                stroke: none;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 100px;
+                opacity: 0.7;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            /* Natural */
+            .natural-water {
+                fill: #b5d6f1;
+                stroke: #aaaaaa;
+                stroke-width: 0px;
+            }
+
+            .natural-coastline {
+                fill: #b5d6f1;
+                stroke: #b5d6f1;
+                stroke-width: 1.5px;
+            }
+
+            .natural-glacier {
+                fill: #fafaff;
+                stroke: lightblue;
+                stroke-width: 1.5px;
+            }
+
+            .natural-land {
+                fill: #ffffff;
+                stroke: #e0e0e0;
+                stroke-width: 0.1px;
+            }
+
+
+            /* Landuse */
+            .landuse-all {
+                stroke: none;
+                fill: #f0f0f0;
+            }
+
+            .landuse-wood {
+                fill: #72bf81;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-cemetery {
+                fill: #bde3cb;
+                stroke: #eeeeee;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-field {
+                fill: #bde3cb;
+                stroke: #6fc13d;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-residential {
+                stroke: none;
+                fill: #f0f0f0;
+            }
+
+            .landuse-retail {
+                stroke: none;
+                fill: #ffebeb;
+            }
+
+            .landuse-industrial {
+                fill: #ecd8ff;
+                stroke: #eeeeee;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-commercial {
+                fill: #fcffc9;
+                stroke: #eeeeee;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-retail {
+                fill: #ffebeb;
+                stroke: #eeeeee;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-runway {
+              stroke-width: 0.3px;
+              stroke: #808080;
+              fill: #d4dcbd;
+              }
+
+            .landuse-runway-disused {
+              stroke-width: 0.3px;
+              stroke: #808080;
+              fill: #d4dcbd;
+              stroke-dasharray: 1px, 1px;
+              }
+
+            .landuse-runway-dismantled {
+              stroke-width: 0.3px;
+              stroke: #808080;
+              fill: #fcffef;
+              stroke-dasharray: 0.3px, 1.7px;
+              opacity: 0.5;
+              }
+
+
+            /* Leisure */
+            .leisure-park {
+                fill: #c7f1a3;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .leisure-stadium {
+                fill: #bde3cb;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .leisure-track {
+                fill: #bde3cb;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .sport {
+                fill: #bde3cb;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .amenity-parking {
+                fill: #f7efb7;
+                stroke: #e9dd72;
+                stroke-width: 0.2px;
+            }
+
+
+
+            /* Non-physical boundaries */
+            .boundary {
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+            .boundary-administrative-state-casing {
+                stroke-width: 80px;
+                stroke: #ffff00;
+                opacity: 0.5;
+            }
+
+            .boundary-administrative-state-core {
+                stroke-width: 16px;
+                stroke: #f9574b;
+                stroke-dasharray: 80, 16, 16, 16;
+            }
+
+            .boundary-nationalpark-core {
+                stroke-width: 16px; 
+                stroke: #4ef94b;
+                stroke-dasharray: 80, 16, 16, 16;
+            }
+
+
+            /* Racetracks */
+            .highway-raceway-casing {
+              stroke-width: 2px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke: #101010;
+              }
+
+            .highway-raceway-casing-disused {
+              stroke-width: 2px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke: #808080;
+              stroke-dasharray: 1px, 1px;
+              }
+
+            .highway-raceway-casing-dismantled {
+              stroke-width: 2px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke: #808080;
+              stroke-dasharray: 0.3px, 1.7px;
+              opacity: 0.5;
+              }
+
+            .highway-raceway-core {
+              stroke-width: 1.5px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke: #f0f0f0;
+              }
+
+            .highway-raceway-core-disused {
+              stroke-width: 1.5px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke-dasharray: 1px, 1px;
+              stroke: #f7f7f7;
+              }
+
+            .highway-raceway-core-dismantled {
+              stroke-width: 1.5px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke: #fbfbfb;
+              stroke-dasharray: 0.3px, 1.7px;
+              opacity: 0.5;
+              }
+
+            .landuse-raceway {
+              stroke-width: 0.3px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: #f0f0f0;
+              stroke: #101010;
+              }
+
+            .landuse-raceway-disused {
+              stroke-width: 0.3px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: #f7f7f7;
+              stroke: #808080;
+              stroke-dasharray: 1px, 1px;
+              }
+
+            .landuse-raceway-dismantled {
+              stroke-width: 0.3px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: #fbfbfb;
+              stroke: #808080;
+              stroke-dasharray: 0.3px, 1.7px;
+              opacity: 0.5;
+              }
+
+            /* Tourism */
+            .tourism-attraction {
+                fill: #f2caea;
+                stroke: #f124cb;
+                stroke-width: 0px;
+            }
+            .tourism-green-area {
+                fill: #c7f1a3;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            /* Building */
+            .building {
+                fill: #dddddd;
+                stroke: #cccccc;
+                stroke-width: 0.2px;
+            }
+
+            .building-block {
+                fill: #F3D6B6;
+                stroke: #6a5a8e;
+                stroke-width: 0.2px;
+            }
+
+            .building-residential {
+                fill: #c95e2a;
+                stroke: #80290a;
+                stroke-width: 0.2px;
+            }
+
+
+            /* Map decoration */
+            .map-grid-line {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 0.1px;
+                stroke-opacity: 0.5;
+            }
+
+            .map-border-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 3px;
+                stroke-miterlimit: 4;
+                stroke-dasharray: none;
+                stroke-opacity: 1;
+                stroke-linecap: round;
+            }
+
+            .map-border-core {
+                fill: none;
+                fill-opacity: 1;
+                fill-rule: nonzero;
+                stroke: #ffffff;
+                stroke-width: 2px;
+                stroke-miterlimit: 0;
+                stroke-dashoffset: -0.5px;
+                stroke-opacity: 1;
+            }
+
+            .map-scale-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 4px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-core {
+                fill: none;
+                stroke: #ffffff;
+                stroke-width: 3px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-bookend {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 1px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-caption {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                fill: #8080ff;
+            }
+
+            <!-- map background must be the same for all zooms or else empty tile detection will fail -->
+            .map-background {
+                fill: #f8f8f8;
+                stroke: none;
+            }
+
+            .map-title {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 20px;
+                text-anchor: middle;
+                fill: black;
+            }
+
+            .map-title-background {
+                fill: white;
+            }
+
+            .map-marginalia-background {
+                fill: white;
+            }
+        </style>
+
+        <svg:pattern id="pedestrian-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse">
+            <svg:path d="M0,10 L10,0" fill="none" stroke="red" width="1"/>
+        </svg:pattern>
+
+        <svg:symbol id="church" viewBox="0 0 5 10" fill="#000000">
+            <svg:path d="M 0 10 L 0 5 L 5 5 L 5 10 z M 0 2 L 5 2 L 5 3 L 0 3 z M 2 0 L 2 5 L 3 5 L 3 0 z"/>
+        </svg:symbol>
+        <svg:symbol id="mosque" viewBox="0 0 120 120" fill="#00ab00">
+            <svg:path d="M 4,60 C 11,75 60,107 84,73 C 103,40 76,22 50,7 C 76,6 130,35 103,84 C 72,124 8,97 4,60 z M 35,52 C 35,52 20,55 20,55 L 30,43 C 30,43 21,30 21,30 L 35,35 L 45,23 L 45,38 L 60,45 L 45,50 L 45,65 L 35,52 z"/>
+        </svg:symbol>
+        <svg:symbol id="synagogue" viewBox="0 0 20 20" stroke="#0000d0" fill="none" stroke-width="1.5px" stroke-linecap="butt" stroke-linejoin="miter">
+            <svg:path d="M 10,0 L 20,15 L 0,15 L 10,0 z M 10,20 L 0,5 L 20,5 L 10,20 z"/>
+        </svg:symbol>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol id="campSite" viewBox="0 0 100 100" fill="#0000dc" fill-opacity="1">
+            <svg:path d="M 35,0 L 50,24 L 65,0 L 80,0 L 60,35 L 100,100 L 0,100 L 40,35 L 20,0 L 35,0 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="gate" viewBox="0 0 10 10" fill="none" stroke-width="0.8px" stroke="#000000">
+            <!--            <svg:path d="M 0,7 L 10,7 M 0,6 L 10,6 M 0,5 L 10,5 M 0,4 L 10,4 M 0,3 L 10,3 M 0,7 L 0,3 M 10,7 L 10,3 M 0,7 L 10,3" />-->
+            <svg:path d="M 0,7 L 10,7 M 0,3 L 10,3 M 0,7 L 0,3 M 10,7 L 10,3 M 0,7 L 10,3"/>
+        </svg:symbol>
+
+        <svg:symbol id="airport" viewBox="0 0 10 10" fill="black" fill-opacity="1" fill-rule="evenodd" stroke="none">
+            <svg:path d="M 9.2,5 C 9.2,4.5 9.8,3.2 10,3 L 9,3 L 8,4 L 5.5,4 L 8,0 L 6,0 L 3,4 C 2,4 1,4.2 0.5,4.5 C 0,5 0,5 0.5,5.5 C 1,5.8 2,6 3,6 L 6,10 L 8,10 L 5.5,6 L 7.8,6 L 9,7 L 10,7 C 9.8,6.8 9.2,5.5 9.2,5 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="power-tower" viewBox="0 0 10 10" stroke-width="1px" stroke="#cccccc">
+            <svg:path d="M 0 0 L 10 10 M 0 10 L 10 0"/>
+        </svg:symbol>
+
+        <svg:symbol id="bar" viewBox="0 0 100 100" fill="#000000" stroke-width="0.4px" stroke="#000000">
+            <svg:path d="M 16.8725 9.81954 L 96.3004 9.81954 L 59.4774 46.3164 L 59.4774 94.9796 C 59.575 94.9796 57.9896 100.587 84.2324 102.6 L 84.2324 103.99 L 31.0262 103.99 L 31.0275 102.6 C 56.4414 100.587 54.9906 94.9796 54.9906 94.9796 L 54.9906 46.3164 L 16.8725 9.81954 z "/>
+        </svg:symbol>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol id="petrolStation" viewBox="0 0 100 100" fill="#000000" fill-rule="evenodd" stroke-width="3px">
+            <svg:path d="M 22.7283 108.087 C 4.26832 107.546 23.6818 43.3596 32.6686 21.0597 C 33.8491 17.0245 60.28 18.4952 60.0056 19.8857 C 59.0889 25.9148 54.8979 23.2429 52.0142 26.8579 L 51.7464 36.8066 C 48.6085 40.8144 40.2357 34.4677 38.078 42.8773 C 31.3694 92.5727 45.0689 108.819 22.7283 108.087 z M 85.3122 9.52799 L 29.1766 9.52847 C 28.4855 17.5896 -11.559 113.573 22.9292 113.284 C 48.5214 113.073 39.5312 104.08 42.6984 51.03 C 41.8513 49.3228 50.871 48.6585 50.8739 51.4448 L 51.0453 116.604 L 97.6129 116.188 L 97.6129 26.544 C 96.0669 24.2073 93.899 25.2958 90.584 22.394 C 87.7907 19.4131 92.2353 9.52799 85.3122 9.52799 z M 64.0766 35.3236 C 61.5443 36.7258 61.5443 45.2814 64.0766 46.6836 C 68.3819 49.0684 80.2848 49.0684 84.5902 46.6836 C 87.1225 45.2814 87.1225 36.7258 84.5902 35.3236 C 80.2848 32.9393 68.3819 32.9393 64.0766 35.3236 z "/>
+        </svg:symbol>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol id="golfCourse" viewBox="0 0 100 100" fill="#000000" fill-rule="evenodd" fill-opacity="1" stroke="none">
+            <svg:path d="M 61.6421 25.2514 C 61.6421 25.2514 48.7712 34.4528 48.1727 38.766 C 47.574 43.0787 56.5537 48.8295 56.8529 52.2802 C 57.1522 55.7303 56.5537 87.3594 56.5537 87.3594 C 56.5537 87.3594 37.3978 104.036 36.7993 105.474 C 36.2006 106.912 41.5878 117.55 43.9826 117.263 C 46.3769 116.975 43.3841 109.787 44.2819 108.349 C 45.1798 106.912 64.0363 92.5353 65.2335 90.5221 C 65.5327 91.0979 65.8321 76.7208 65.5327 76.7208 L 66.7305 76.7208 L 66.1319 91.0979 C 66.1319 91.0979 59.2473 108.349 60.1451 113.237 C 60.1451 115.824 70.6212 122.15 72.1176 121 C 73.6145 119.85 68.5261 115.536 68.8254 112.375 C 67.6283 109.212 73.016 97.4233 73.3153 94.2605 C 73.6145 91.0979 73.9138 56.3053 72.7167 51.9927 C 72.7161 48.542 69.424 42.5037 67.9276 40.2035 C 67.6283 37.9029 65.8326 31.2897 65.8326 31.2897 C 65.8326 31.2897 59.547 39.341 59.5465 39.341 C 58.0501 37.9035 68.2268 28.702 68.2268 25.8268 C 68.2268 22.9513 49.9689 9.72452 49.9689 9.72452 C 49.9689 9.72452 25.126 63.2064 25.4254 65.5065 C 25.7246 67.8065 29.9146 72.9824 32.908 70.6823 C 35.9009 68.3822 27.8197 62.9194 27.8197 62.9194 L 49.3703 14.6122 L 52.6624 18.3506 L 58.3494 18.638 L 58.0501 19.5005 C 58.0501 19.5005 51.7645 18.9255 50.5675 19.788 C 49.3703 20.6506 47.574 22.0887 47.574 25.5388 C 47.574 28.9896 52.0638 30.4271 53.5603 30.7146 L 60.8936 24.6764 L 61.6421 25.2514 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="slipway" viewBox="0 0 50 45" fill="#0087ff" stroke="none" fill-opacity="0.7">
+            <svg:path d="M 45,33 L 45,45 L 2,45 C 2,45 45,33 45,33 z M 0,35 L 43,22 L 43,26 C 43,26 37,32 26,36 C 15,40 0,35 0,35 z M 3,32 C 3,32 13,0 13,0 L 22,26 L 3,32 z M 16,0 L 42,20 L 25,25 L 16,0 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="pub" viewBox="0 0 6 9" stroke="none">
+            <svg:path fill="#aa5605" d="M 1.2,9 C 1.2,9 1,3 0.3,1.7 L 5.7,1.7 C 5,3 4.8,9 4.8,9"/>
+            <svg:path fill="#ffe680" d="M 5.7,1.7 L 0.3,1.7 C 0,1 0,1 0,0 L 6,0 C 6,1 6,1 5.7,1.7 z"/>
+        </svg:symbol>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol id="hotel" viewBox="0 0 90 90" fill="black" fill-opacity="1" stroke="black" stroke-width="1px" stroke-miterlimit="4">
+            <svg:path d="M 0,60 C 0,65 10,65 10,60 L 10,50 L 35,70 L 35,85 C 35,90 45,90 45,85 L 45,70 L 75,70 L 75,85 C 75,90 85,90 85,85 L 85,60 L 40,60 L 5,30 C 9,20 45,20 50,25 L 50,10 C 50,5 40,5 40,10 L 40,15 L 10,15 L 10,10 C 10,5 0,5 0,10 C 0,10 0,60 0,60 z M 10,35 C 15,25 45,25 55,35 L 85,60 C 75,50 40,50 40,60 L 10,35 z "/>
+        </svg:symbol>
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol id="hostel" viewBox="0 0 12.5 8" fill="#286a9d" fill-opacity="1" fill-rule="nonzero" stroke="none">
+            <svg:path d="M 5.5,4 L 9,0 L 12.5,4 L 11.5,4 L 11.5,8 L 10,8 L 10,5 L 8,5 L 8,8 L 6.5,8 L 6.5,4 L 5.5,4 z M 0.5,3.5 C 2,2.5 2.3,1 2.5,0 C 2.7,1 3,2.5 4.5,3.5 L 3.3,3.5 C 3.3,4 4,5 5,6 L 3,6 L 3,8 L 2,8 L 2,6 L 0,6 C 1,5 1.7,4 1.7,3.5 L 0.5,3.5 z M 0,8 L 0,7.5 L 12.5,7.5 L 12.5,8 L 0,8 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="recycling" viewBox="0 0 100 100" stroke="none" fill="#00ba00">
+            <svg:path d="M 55.0,37.3 L 72.1,27.0 L 79.8,41.9 C 81.6,50.0 71.5,52.9 63.3,52.4 L 55.0,37.3 z"/>
+            <svg:path d="M 51.1,47.9 L 42.1,63.8 L 51.1,80.0 L 51.3,73.5 L 59.5,73.5 C 62.5,73.8 66.4,71.8 67.9,69.0 L 78.4,49.5 C 75.0,53.0 70.5,53.9 65.3,53.9 L 51.4,53.9 L 51.1,47.9 z "/>
+            <svg:path d="M 31.0,28.2 L 13.7,18.2 L 22.9,4.2 C 29.0,-1.3 36.6,6.1 40.1,13.5 L 30.9,28.2 z "/>
+            <svg:path d="M 42.1,26.5 L 60.4,26.6 L 70.1,10.9 L 64.3,13.8 L 60.3,6.6 C 59.1,3.9 55.5,1.4 52.3,1.5 L 30.2,1.7 C 34.9,3.1 37.9,6.6 40.4,11.1 L 47.2,23.3 L 42.1,26.5 z "/>
+            <svg:path d="M 0.4,27.4 L 5.8,31.5 L 0.8,40.5 C -1.8,45.3 2.6,49.6 5.3,51.0 C 8.0,52.5 12.2,52.7 16.2,52.7 L 23.3,41.3 L 28.6,44.1 L 19.3,27.2 L 0.4,27.4 z "/>
+            <svg:path d="M 1.2,49.3 L 12.7,70.1 C 15.0,73.0 19.4,73.7 23.9,73.6 L 36.0,73.6 L 36.0,53.9 L 13.0,53.7 C 9.5,53.9 4.8,53.2 1.2,49.3 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="hospital" viewBox="0 0 15 15" stroke="red" stroke-width="2px" fill="none">
+            <svg:path d="M 12.5,7.5 L 2.5,7.5 L 2.5,7.5 L 12.5,7.5 z M 7.5,2.3 L 7.5,12.5 L 7.5,12.5"/>
+            <svg:path stroke-width="1px" d="M 14.5 7.5 A 7 7 0 1 1 0.5,7.5 A 7 7 0 1 1 14.5 7.5 z"/>
+        </svg:symbol>
+
+        <svg:symbol id="postoffice" viewBox="0 0 14 8" fill="none" stroke="red" stroke-width="1.5px">
+            <svg:path d="M 0,0 L 14,0 L 14,8 L 0,8 L 0,0 z M 0,0 L 7,4 L 14,0"/>
+        </svg:symbol>
+        <svg:symbol id="postbox" viewBox="0 0 14 8" fill="none" stroke="red" stroke-width="1.5px">
+            <svg:path d="M 0,0 L 14,0 L 14,8 L 0,8 L 0,0 z M 0,0 L 7,4 L 14,0"/>
+        </svg:symbol>
+
+        <svg:symbol id="parking" viewBox="0 -10 20 20" stroke="none" fill-opacity="1" fill-rule="nonzero">
+            <svg:rect fill="#0087ff" width="20" height="20" x="0" y="-10" rx="4" ry="4"/>
+            <svg:path fill="white" d="M 5,8 L 5,-7 L 12,-7 C 14,-7 15.5,-5.3 16,-4 C 16.5,-2.77 16.5,-1.23 16,0 C 15.41,1.42 14,3 12,3 L 8,3 L 8,8 L 5,8 z M 8,-4 L 8,0 C 9.3,0 11,0 12.32,-0.31 C 13.6,-0.76 13.5,-2.8 12.5,-3.48 C 11.5,-4.1 8.6,-4 8,-4 z "/>
+        </svg:symbol>
+    </defs>
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z12.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z12.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z12.xml	(revision 35743)
@@ -0,0 +1,2286 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Tiles@Home Rules File for zoom level 12 -->
+<rules
+	  xmlns:xlink="http://www.w3.org/1999/xlink"
+	  xmlns:svg="http://www.w3.org/2000/svg"
+	  data="data.osm"
+	  svgBaseProfile="full"
+	  scale="1"
+	  symbolScale="3.43"
+	  textAttenuation="0.44"
+	  minimumMapWidth="0.5"
+	  minimumMapHeight="0.5"
+	  withOSMLayers="yes"
+	  withUntaggedSegments="no"
+	  showScale="no"
+	  showGrid="no"
+	  showBorder="no"
+	  showLicense="no"
+	  symbolsDir="../stylesheets/symbols"
+	  interactive="no">
+	
+	
+	<!-- Select all nodes and ways (unless they have an osmarender:render=no tag) -->
+	<rule e="node|way" k="osmarender:render" v="~|yes">
+		
+		<!-- Draw land areas first -->
+		<rule e="way" k="natural" v="land">
+			<area class="natural land"/>
+		</rule>
+		
+		<!-- Natural features -->
+		<rule e="way" k="natural" v="coastline">
+			<area class="natural coastline"/>
+		</rule>
+		<rule e="way" k="natural" v="glacier">
+			<line class="natural glacier"/>
+		</rule>
+		<rule e="way" k="landuse|natural" v="forest|wood|scrub">
+			<area class="landuse wood"/>
+		</rule>
+		<rule e="way" k="natural" v="heath">
+			<area class="natural heath"/>
+		</rule>
+		<rule e="way" k="natural" v="wetland">
+			<rule e="way" k="wetland" v="bog">
+				<area class="wetland bog"/>
+			</rule>
+		</rule>
+		<rule e="way" k="landuse" v="conservation">
+			<area class="landuse conservation"/>
+		</rule>
+		
+		<!-- Artificial landuse -->
+		<rule e="way" k="landuse" v="field|farm|farmland|meadow|grass">
+			<area class="landuse-field"/>
+		</rule>
+		<rule e="way" k="landuse" v="allotments|village_green|recreation_ground">
+			<area class="landuse-allotment-village"/>
+		</rule>
+		<rule e="way" k="leisure" v="park|garden|golf_course|common|green">
+			<area class="leisure-park"/>
+		</rule>
+		<rule e="way" k="leisure" v="playground|playing_fields|pitch|dog_park">
+			<rule e="way" k="sport" v="tennis">
+				<area class="sport-tennis"/>
+			</rule>
+			<else>
+				<!-- Done separately from the above rule to layer these above. Tend to be smaller and inside parks. -->
+				<area class="leisure-park"/>
+			</else>
+		</rule>
+		<rule e="way" k="leisure" v="stadium|sports_centre">
+			<area class="leisure stadium"/>
+		</rule>
+		<rule e="way" k="leisure" v="track">
+			<rule e="way" k="area" v="yes|true">
+				<area class="leisure-track-area"/>
+			</rule>
+			<else>
+				<line class="leisure-track-casing"/>
+				<line class="leisure-track-core"/>
+			</else>
+		</rule>
+		<rule e="way" k="man_made" v="wastewater_plant" layer="-5" closed="yes">
+			<area class="man_made-wastewater" layer="-5"/>
+		</rule>
+		
+		<!-- Airports and runways -->
+		<rule e="way" k="aeroway" v="aerodrome" closed="yes">
+			<area class="aeroway-aerodrome"/>
+		</rule>
+		<rule e="way" k="aeroway" v="apron">
+			<area class="aeroway apron"/>
+		</rule>
+		<rule e="way" k="landuse" v="runway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse runway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse runway disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse runway dismantled"/>
+			</rule>
+		</rule>
+		
+		<!-- Raceways and racetracks (cars and horses etc) -->
+		<rule e="way" k="landuse" v="raceway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse raceway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse raceway disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse raceway dismantled"/>
+			</rule>
+		</rule>
+		
+		<!-- Man-made areas -->
+		<rule e="way" k="sport" v="*" closed="yes">
+			<area class="sport"/>
+		</rule>
+		<rule e="way" k="amenity" v="parking">
+			<area class="amenity parking"/>
+		</rule>
+		<rule e="way" k="tourism" v="zoo|picnic_site|caravan_site|camp_site">
+			<area class="tourism green_area"/>
+		</rule>
+		
+		<!-- Airfields and airports -->
+		<rule e="way" k="aeroway" v="runway">
+			<line class="aeroway runway casing"/>
+		</rule>
+		<rule e="way" k="aeroway" v="taxiway">
+			<line class="aeroway taxiway casing"/>
+		</rule>
+		
+		<!-- Waterways -->
+		<rule e="way" k="waterway" v="river">
+			<line class="waterway-casing waterway-river-casing" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="stream">
+			<line class="waterway-casing waterway-stream-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+		</rule>
+		<rule e="way" k="waterway" v="canal">
+			<line class="waterway-casing waterway-canal-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="drain">
+			<line class="waterway-casing waterway-drain-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+		</rule>
+		<rule e="way" k="waterway" v="ditch">
+			<line class="waterway-casing waterway-ditch-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+		</rule>
+		<rule e="way" k="tunnel|culvert" v="yes|culvert">
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<line class="waterway-core waterway-stream-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</rule>
+		<else>
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-core" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<line class="waterway-core waterway-stream-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</else>
+		<rule e="way" k="waterway" v="dock">
+			<area class="natural water"/>
+		</rule>
+		<rule e="way" k="natural" v="water|pond|lake|bay">
+			<area class="natural water"/>
+		</rule>
+		<rule e="way" k="landuse" v="reservoir">
+			<area class="natural water"/>
+		</rule>
+		<rule e="way" k="landuse" v="basin">
+			<area class="natural water"/>
+		</rule>
+		<rule e="way" k="waterway" v="riverbank">
+			<area class="waterway-riverbank"/>
+		</rule>
+		
+		<rule e="way" k="boundary" v="national_park">
+			<area class="leisure-national_park"/>
+		</rule>
+		<!--  rule e="way" k="leisure" v="landscape_reserve">
+			<area class="leisure-landscape_reserve"/>
+		</rule  -->
+		<rule e="way" k="leisure" v="nature_reserve">
+			<area class="leisure-nature_reserve"/>
+		</rule>
+
+		<!-- Highway area casings -->
+		<rule e="way" k="area" v="yes|true">
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="steps">
+				<area class="highway-casing highway-steps-area-casing highway-steps-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<area class="highway-casing highway-footway-area-casing highway-footway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<area class="highway-casing highway-cycleway-area-casing highway-cycleway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<area class="highway-casing highway-bridleway-area-casing highway-bridleway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<area class="highway-casing highway-cycleway-area-casing highway-cycleway-area no-bezier"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<area class="highway-casing highway-bridleway-area-casing highway-bridleway-area no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-footway-area-casing highway-footway-area no-bezier"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<area class="highway-casing highway-byway-area-casing highway-byway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<area class="highway-casing highway-track-area-casing highway-track-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<area class="highway-casing highway-unsurfaced-area-casing highway-unsurfaced-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+				</rule>
+				<else>
+					<area class="highway-casing highway-service-area-casing highway-service-area no-bezier"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<area class="highway-casing highway-pedestrian-area-casing highway-pedestrian-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor|living_street|road">
+				<area class="highway-casing highway-unclassified-area-casing highway-unclassified-area no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-casing highway-unclassified-area-casing highway-unclassified-area no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-casing highway-cycleroad-area-casing highway-cycleroad-area no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-casing highway-unclassified-area-casing highway-unclassified-area no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-cycleroad-area-casing highway-cycleroad-area no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-casing highway-unclassified-area-casing highway-unclassified-area no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-casing highway-cycleroad-area-casing highway-cycleroad-area no-bezier"/>
+						</else>
+					</rule>
+				</else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="tertiary_link">
+				<area class="highway-casing highway-tertiary-link-casing highway-tertiary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<area class="highway-casing highway-tertiary-casing highway-tertiary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<area class="highway-casing highway-secondary-link-casing highway-secondary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<area class="highway-casing highway-secondary-casing highway-secondary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<area class="highway-casing highway-primary-link-casing highway-primary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<area class="highway-casing highway-trunk-link-casing highway-trunk-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<area class="highway-casing highway-motorway-link-casing highway-motorway-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<area class="highway-casing highway-primary-casing highway-primary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<area class="highway-casing highway-trunk-casing highway-trunk-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<area class="highway-casing highway-motorway-casing highway-motorway-area-casing no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		</rule>
+		
+		<!-- Linear casings -->
+		<rule e="way" k="tunnel" v="~|no|false">
+			<rule e="way" k="area" v="~|no|false">
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="raceway">
+					<rule e="way" k="use_status" v="~">
+						<line class="highway-raceway-casing"/>
+					</rule>
+					<rule e="way" k="use_status" v="disused">
+						<line class="highway-raceway-casing-disused"/>
+					</rule>
+					<rule e="way" k="use_status" v="dismantled">
+						<line class="highway-raceway-casing-dismantled"/>
+					</rule>
+				</rule>
+				<rule e="way" k="highway" v="steps">
+					<line class="highway-casing highway-steps-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="footway|footpath">
+					<line class="highway-casing highway-footway-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="cycleway">
+					<line class="highway-casing highway-cycleway-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="bridleway">
+					<line class="highway-casing highway-bridleway-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<line class="highway-casing highway-cycleway-casing "/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<line class="highway-casing highway-bridleway-casing "/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-footway-casing "/>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="byway">
+					<line class="highway-casing highway-byway-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="track">
+					<line class="highway-casing highway-track-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="unsurfaced">
+					<line class="highway-casing highway-unsurfaced-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle">
+					</rule>
+					<else>
+						<line class="highway-casing highway-unsurfaced-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="pedestrian">
+					<line class="highway-casing highway-pedestrian-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="unclassified|residential|minor|living_street|road|ford">
+					<line class="highway-casing highway-unclassified-casing "/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-casing highway-unclassified-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-cycleroad-casing"/>
+					</else>
+			  </rule>
+			  <else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-casing highway-unclassified-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-cycleroad-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-casing highway-unclassified-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-cycleroad-casing"/>
+							</else>
+						</rule>
+					</else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="tertiary_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-tertiary-link-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-tertiary-link-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="tertiary">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-tertiary-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-tertiary-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="secondary_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-secondary-link-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-secondary-link-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="secondary">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-secondary-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-secondary-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="primary_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-primary-link-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-primary-link-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="trunk_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-trunk-link-mr2-casing"/>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="no">
+							<line class="highway-casing highway-trunk-link-mr3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-trunk-link-casing"/>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="motorway_link">
+					<line class="highway-casing highway-motorway-link-casing"/>
+				</rule>
+				<rule e="way" k="highway" v="primary">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-primary-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-primary-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="trunk">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-trunk-mr2-casing"/>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="no">
+							<line class="highway-casing highway-trunk-mr3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-trunk-casing"/>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="motorway">
+					<line class="highway-casing highway-motorway-casing"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			</rule>
+		</rule>
+		
+		<!-- Highway area cores -->
+		<rule e="way" k="area" v="yes|true">
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="steps">
+				<area class="highway-core highway-steps-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<area class="highway-core highway-footway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<area class="highway-core highway-cycleway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<area class="highway-core highway-bridleway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<area class="highway-core highway-cycleway-core no-bezier"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<area class="highway-core highway-bridleway-core no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-path-core no-bezier"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<area class="highway-core highway-byway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<rule e="way" k="tracktype" v="grade1">
+					<area class="highway-core highway-track-grade1-core highway-track-core no-bezier"/>
+				</rule>
+				<else>
+					<rule e="way" k="tracktype" v="grade2">
+						<area class="highway-casing highway-track-grade2-core highway-track-core no-bezier"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade3">
+							<area class="highway-core highway-track-grade3-core highway-track-core no-bezier"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade4">
+								<area class="highway-core highway-track-grade4-core highway-track-core no-bezier"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade5">
+									<area class="highway-core highway-track-grade5-core highway-track-core no-bezier"/>
+								</rule>
+								<else>
+									<area class="highway-core highway-track-gradex-core highway-track-core no-bezier"/>
+								</else>
+							</else>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<area class="highway-core highway-unsurfaced-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+				</rule>
+				<else>
+					<area class="highway-core highway-service-core no-bezier"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<area class="highway-core highway-pedestrian-core no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-core highway-unclassified-core no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-core highway-cycleroad-core no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-core highway-unclassified-core no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-cycleroad-core no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-core highway-unclassified-core no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-core highway-cycleroad-core no-bezier"/>
+						</else>
+					</rule>
+				</else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="unclassified|residential|minor|living_street|road">
+				<area class="highway-core highway-unclassified-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<area class="highway-core highway-tertiary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<area class="highway-core highway-tertiary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<area class="highway-core highway-secondary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<area class="highway-core highway-secondary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<area class="highway-core highway-primary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<area class="highway-core highway-trunk-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<area class="highway-core highway-motorway-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<area class="highway-core highway-primary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<area class="highway-core highway-trunk-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<area class="highway-core highway-motorway-area no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		</rule>
+		
+		<!-- Buildings -->
+		<rule e="way" k="aeroway" v="terminal">
+			<area class="building-block"/>
+		</rule>
+		<rule e="way" k="building" v="*">
+			<area class="building-block no-bezier"/>
+		</rule>
+		
+		<!-- Linear cores -->
+		<rule e="way" k="tunnel" v="~|false|no">
+			<rule e="way" k="area" v="~|false|no">
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="ford">
+					<line class="highway-core highway-ford-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="raceway">
+					<rule e="way" k="use_status" v="~">
+						<line class="highway-raceway-core"/>
+					</rule>
+					<rule e="way" k="use_status" v="disused">
+						<line class="highway-raceway-core-disused"/>
+					</rule>
+					<rule e="way" k="use_status" v="dismantled">
+						<line class="highway-raceway-core-dismantled"/>
+					</rule>
+				</rule>
+				<rule e="way" k="scramble" v="*">
+					<line class="highway-core highway-scramble-core"/>
+				</rule>
+				<rule e="way" k="highway" v="steps">
+					<line class="highway-core highway-steps-core"/>
+				</rule>
+				<rule e="way" k="highway" v="footway|footpath">
+					<line class="highway-core highway-footway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="cycleway">
+					<line class="highway-core highway-cycleway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="bridleway">
+					<line class="highway-core highway-bridleway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<line class="highway-core highway-cycleway-core"/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<line class="highway-core highway-bridleway-core"/>
+						</rule>
+						<else>
+							<rule e="way" k="foot" v="yes|designated">
+								<line class="highway-core highway-footway-core"/>
+							</rule>
+							<else>
+								<line class="highway-core highway-path-core"/>
+							</else>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="byway">
+					<line class="highway-core highway-byway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="track">
+					<rule e="way" k="tracktype" v="~">
+						<line class="highway-core highway-track-core highway-track-gradex-core"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade1">
+							<line class="highway-core highway-track-core highway-track-grade1-core"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade2">
+								<line class="highway-core highway-track-core highway-track-grade2-core"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade3">
+									<line class="highway-core highway-track-core highway-track-grade3-core" smart-linecap="no"/>
+								</rule>
+								<else>
+									<rule e="way" k="tracktype" v="grade4">
+										<line class="highway-core highway-track-core highway-track-grade4-core" smart-linecap="no"/>
+									</rule>
+									<else>
+										<rule e="way" k="tracktype" v="grade5">
+											<line class="highway-core highway-track-core highway-track-grade5-core" smart-linecap="no"/>
+										</rule>
+										<else>
+											<line class="highway-core highway-track-core highway-track-gradex-core"/>
+										</else>
+									</else>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="unsurfaced">
+					<line class="highway-core highway-unsurfaced-core"/>
+				</rule>
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle">
+					</rule>
+					<else>
+						<line class="highway-core highway-service-core"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="pedestrian">
+					<line class="highway-core highway-pedestrian-core"/>
+				</rule>
+
+				<rule e="way" k="highway" v="unclassified|residential|minor|living_street|road">
+					<line class="highway-core highway-unclassified-core"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-core highway-unclassified-core"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-cycleroad-core"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-core highway-unclassified-core"/>
+						</rule>
+						<else>
+							<line class="highway-core highway-cycleroad-core"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-core highway-unclassified-core"/>
+							</rule>
+							<else>
+								<line class="highway-core highway-cycleroad-core"/>
+							</else>
+						</rule>
+					</else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="tertiary_link">
+					<line class="highway-core highway-tertiary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="tertiary">
+					<line class="highway-core highway-tertiary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary_link">
+					<line class="highway-core highway-secondary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary">
+					<line class="highway-core highway-secondary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="primary_link">
+					<line class="highway-core highway-primary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk_link">
+					<line class="highway-core highway-trunk-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway_link">
+					<line class="highway-core highway-motorway-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="primary">
+					<line class="highway-core highway-primary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk">
+					<line class="highway-core highway-trunk-core"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway">
+					<line class="highway-core highway-motorway-core"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core"/>
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<rule e="way" k="service" v="spur|yard|siding">
+											<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core" smart-linecap="no" />
+										</rule>
+										<else>
+											<rule e="way" k="usage" v="main">
+												<line class="railway-main-2-core railway-rail-2-core-color railway-2-core" smart-linecap="no" />
+											</rule>
+											<else>
+												<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core" smart-linecap="no" />
+											</else>
+										</else>
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-2-core railway-light-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="aeroway" v="runway">
+					<line class="aeroway runway core"/>
+				</rule>
+				<rule e="way" k="aeroway" v="taxiway">
+					<line class="aeroway taxiway core"/>
+				</rule>
+			</rule>
+		</rule>
+		
+		<!-- Tunnels -->
+		<rule e="way" k="tunnel" v="true|yes">
+			<rule e="way" k="highway" v="steps">
+				<line class="tunnel-casing highway-steps-casing tunnel" mask-class="tunnel-core highway-steps-core"/>
+				<line class="highway-steps-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+				<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<line class="tunnel-casing highway-pedestrian-casing tunnel" mask-class="tunnel-core highway-pedestrian-core"/>
+				<line class="highway-pedestrian-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+				<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+					<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+						<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</rule>
+					<else>
+						<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+						<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+				<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<line class="tunnel-casing highway-byway-1-casing tunnel" mask-class="tunnel-core highway-byway-1-core"/>
+				<line class="highway-byway-1-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<line class="tunnel-casing highway-track-casing tunnel" mask-class="tunnel-core highway-track-core"/>
+				<line class="highway-track-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<line class="tunnel-casing highway-unsurfaced-casing tunnel" mask-class="tunnel-core highway-unsurfaced-core"/>
+				<line class="highway-unsurfaced-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<line class="tunnel-casing highway-service-casing tunnel" mask-class="tunnel-core highway-service-core"/>
+				<line class="highway-service-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor|tertiary|cycleroad|living_street">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-unclassified-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="road">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-road-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<line class="tunnel-casing highway-tertiary-link-casing tunnel" mask-class="tunnel-core highway-tertiary-link-core"/>
+				<line class="highway-tertiary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<line class="tunnel-casing highway-tertiary-casing tunnel" mask-class="tunnel-core highway-tertiary-core"/>
+				<line class="highway-tertiary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<line class="tunnel-casing highway-secondary-link-casing tunnel" mask-class="tunnel-core highway-secondary-link-core"/>
+				<line class="highway-secondary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<line class="tunnel-casing highway-secondary-casing tunnel" mask-class="tunnel-core highway-secondary-core"/>
+				<line class="highway-secondary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<line class="tunnel-casing highway-primary-link-casing tunnel" mask-class="tunnel-core highway-primary-link-core"/>
+				<line class="highway-primary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<line class="tunnel-casing highway-trunk-link-casing tunnel" mask-class="tunnel-core highway-trunk-link-core"/>
+				<line class="highway-trunk-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<line class="tunnel-casing highway-motorway-link-casing tunnel" mask-class="tunnel-core highway-motorway-link-core"/>
+				<line class="highway-motorway-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<line class="tunnel-casing highway-primary-casing tunnel" mask-class="tunnel-core highway-primary-core"/>
+				<line class="highway-primary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<line class="tunnel-casing highway-trunk-casing tunnel" mask-class="tunnel-core highway-trunk-core"/>
+				<line class="highway-trunk-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<line class="tunnel-casing highway-motorway-casing tunnel" mask-class="tunnel-core highway-motorway-core"/>
+				<line class="highway-motorway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="railway" v="*">
+				<rule e="way" k="construction" v="yes|true">
+					<line class="railway-con-casing railway-con-casing-color tunnel-casing tunnel" mask-class="tunnel-core railway-con-2-core"/>
+					<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="planned|proposed" v="yes|true">
+						<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-2-core"/>
+						<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="disused" v="yes|true">
+							<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-2-core"/>
+							<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="abandoned|dismantled" v="yes|true">
+								<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-2-core"/>
+								<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="railway" v="construction">
+									<line class="railway-con-casing railway-con-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-con-2-core"/>
+									<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="planned|proposed">
+									<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-2-core"/>
+									<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="disused">
+									<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-2-core"/>
+									<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="abandoned|dismantled">
+									<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-2-core"/>
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="rail">
+									<rule e="way" k="service" v="spur|yard|siding">
+										<line class="railway-yard-casing railway-yard-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-yard-2-core"/>
+										<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core railway-yard-tunnel-core tunnel"  smart-linecap="no" />
+									</rule>
+									<else>
+										<line class="railway-rail-casing railway-rail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-rail-2-core"/>
+										<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core railway-rail-tunnel-core tunnel"  smart-linecap="no" />
+									</else>
+								</rule>
+								<rule e="way" k="railway" v="narrow_gauge">
+									<line class="railway-narrow-casing railway-narrow-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-narrow-2-core"/>
+									<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core railway-narrow-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="preserved">
+									<line class="railway-preserved-casing railway-preserved-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-preserved-2-core"/>
+									<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core railway-preserved-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="light_rail">
+									<line class="railway-light-casing railway-light-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-light-2-core"/>
+									<line class="railway-light-2-core railway-light-2-core-color railway-2-core railway-light-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="tram">
+									<line class="railway-tram-casing railway-tram-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-tram-2-core"/>
+									<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core railway-tram-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="subway">
+									<line class="railway-subway-casing railway-subway-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-subway-2-core"/>
+									<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core railway-subway-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="incline|funicular">
+									<line class="railway-funicular-casing railway-funicular-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-funicular-2-core"/>
+									<line class="railway-funicular-1-core railway-funicular-1-core-color railway-1-core railway-funicular-tunnel-core tunnel"  smart-linecap="no" />
+									<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core railway-funicular-tunnel-core tunnel-casing tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="monorail">
+									<line class="railway-monorail-casing railway-monorail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-monorail-2-core"/>
+									<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core railway-monorail-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="spur|yard|siding">
+									<line class="railway-yard-casing railway-yard-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-yard-2-core"/>
+									<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core railway-yard-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+							</else>
+						</else>
+					</else>
+				</else>
+				<line class="railway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+		</rule>
+		
+		<!-- Linear cores (under construction) -->
+		<rule e="way" k="highway" v="construction">
+			<rule e="way" k="construction" v="unsurfaced">
+				<line class="highway-core highway-unsurfaced-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="service">
+				<line class="highway-core highway-service-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="unclassified|residential|minor|cycleroad|living_street">
+				<line class="highway-core highway-unclassified-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="~|road|yes">
+				<line class="highway-core highway-road-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary_link">
+				<line class="highway-core highway-tertiary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary">
+				<line class="highway-core highway-tertiary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary_link">
+				<line class="highway-core highway-secondary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary">
+				<line class="highway-core highway-secondary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="primary_link">
+				<line class="highway-core highway-primary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk_link">
+				<line class="highway-core highway-trunk-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway_link">
+				<line class="highway-core highway-motorway-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="primary">
+				<line class="highway-core highway-primary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk">
+				<line class="highway-core highway-trunk-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway">
+				<line class="highway-core highway-motorway-core under-construction"/>
+			</rule>
+		</rule>
+
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="construction|planned|disused|abandoned" v="yes|true">
+				<line class="wrong-under-construction" smart-linecap="no"/>
+			</rule>
+		</rule>
+
+		<!-- Aerialways -->
+		<rule e="way" k="aerialway" v="cable_car|gondola">
+			<line class="aerialway-line no-bezier" smart-linecap="no"/>
+			<line class="aerialway-struts no-bezier" smart-linecap="no"/>
+		</rule>
+		
+		<!-- Natural features -->
+		<rule e="node" k="natural" v="peak">
+			<symbol ref="peak" position="center"/>
+		</rule>
+		<rule e="node" k="natural" v="volcano">
+			<symbol ref="vulcan" position="center"/>
+		</rule>
+		
+		<!-- Non-physical routes -->
+		<rule e="way" k="route" v="ferry">
+			<line class="route-ferry"/>
+		</rule>
+		
+		<!-- Airfields and airports -->
+		<rule e="node|way" k="aeroway" v="airport">
+			<symbol ref="airport" position="center"/>
+		</rule>
+		
+		<!-- ==================================== Layer -5 ======================================== -->
+		
+		<!-- Landuse -->
+		<!-- at zoom 12 render all landuse in the same colour so it doesn't look too psychedelic -->
+		<rule e="way" k="landuse" v="residential|farmyard|retail|industrial|brownfield|commercial|cemetery|quarry|greenfield|construction|railway" layer="-5">
+			<area class="landuse" layer="-5"/>
+		</rule>
+		
+		<!-- Artificial landuse -->
+		<rule e="way" k="amenity" v="kindergarten|school|college|university" layer="-5">
+			<area class="landuse" layer="-5"/>
+		</rule>
+		
+		<!-- Man-made areas -->
+		<rule e="way" k="landuse" v="military" layer="-5">
+			<rule e="way" k="military" v="~" layer="-5">
+				<area class="military-area" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="military" v="*" layer="-5">
+			<area class="military-area" layer="-5"/>
+		</rule>
+		<rule e="way" k="tourism" v="attraction" layer="-5">
+			<rule e="way" k="highway" v="~">
+				<rule e="way" k="area" v="no" />
+				<else>
+					<area class="tourism attraction" layer="-5"/>
+				</else>
+			</rule>
+		</rule>
+		
+		<!-- ==================================== Layer 5 ======================================== -->
+		
+		<!-- Non-physical boundaries -->
+		<rule e="way" k="boundary" v="administrative" layer="5">
+			<rule e="way" k="admin_level" v="1|2|3|4" layer="5">
+				<rule e="way" k="admin_level" v="4" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="3" layer="5">
+					<line class="boundary boundary-level-3-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="2" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="1" layer="5">
+					<line class="boundary boundary-level-1-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-1-core no-bezier" layer="5"/>
+				</rule>
+			</rule>
+			<!-- If we don't have explicit admin_level then guess -->
+			<else>
+				<rule e="way" k="border_type" v="region|state" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="nation|country" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+			</else>
+		</rule>
+		<rule e="way" k="boundary" v="national_park" layer="5">
+			<line class="boundary boundary-nationalpark-core no-bezier" layer="5"/>
+		</rule>
+		
+		<!-- Place names  -->
+		<rule e="node" k="osmarender:renderName" v="~|yes" layer="5">
+			<rule e="node" k="place" v="island" layer="5">
+				<caption k="name" class="place-caption island-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="county" layer="5">
+				<caption k="name" class="place-caption county-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="city" layer="5">
+				<caption k="name" class="place-caption city-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="town" layer="5">
+				<caption k="name" class="place-caption town-caption" layer="5"/>
+			</rule>
+		</rule>
+		
+		<!-- Names for large natural features -->
+		<rule e="way" k="natural" v="*" minSize="0.128" layer="5">
+			<caption k="name" class="caption-casing largefeature-caption-casing" text-anchor='middle' startOffset='50%'/>
+			<caption k="name" class="caption-core largefeature-caption-core" text-anchor='middle' startOffset='50%'/>
+		</rule>
+	</rule>
+	
+	<!-- SVG Definitions - markers, symbols etc go here -->
+	<include ref="markers.xml"/>
+	<defs>
+		<style xmlns="http://www.w3.org/2000/svg" id="styles" type="text/css">
+			/* DO NOT DELETE .untagged-segments - Used by osmarender.xsl */
+			.untagged-segments {
+			stroke-width: 0.5px;
+			stroke-linejoin: miter;
+			stroke-linecap: butt;
+			stroke: #e0e0e0;
+			stroke-dasharray: 0.5,0.5;
+			}
+				
+			
+			
+			/* Highways - generic styles */
+			.highway-casing {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.highway-core {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.highway-motorway-junction {
+			fill: yellow;
+			stroke: #4D5D73;
+			stroke-width: 3px;
+			}
+			
+			.highway-motorway-junction-caption {
+			fill: black;
+			stroke: blue;
+			stroke-width: 0.2px;
+			font-family: "DejaVu Sans";
+			font-size: 10px;
+			font-weight: bold;
+			display: none;
+			}
+			
+			.highway-ref {
+			fill: #606060;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			text-anchor: middle;
+			}
+			
+			.highway-name {
+			fill: black;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			text-anchor: middle;
+			}
+			
+			.bridge-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			marker-start: url(#bridge-casing-start);
+			marker-end: url(#bridge-casing-end);
+			}
+			
+			.bridge-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #ffffff;
+			fill: none;
+			}
+			
+			.tunnel-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.tunnel-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.tunnel { stroke-dasharray: 6, 6; }
+			
+			.railway-casing { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-1-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-2-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-core   { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+
+			.railway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			stroke: #b0b0b0;
+			stroke-width: 14px;
+			}
+
+			.railway-main-casing                    { stroke-width: 9.5px; }
+			.railway-main-2-core                    { stroke-width: 7px; }
+			.railway-rail-casing                    { stroke-width: 7.5px; }
+			.railway-rail-2-core                    { stroke-width: 5px; }
+			.railway-rail-casing-color              { stroke: #404040; }
+			.railway-rail-2-core-color              { stroke: #404040; }
+			.railway-rail-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-narrow-casing                    { stroke-width: 7.5px; }
+			.railway-narrow-2-core                    { stroke-width: 5px; }
+			.railway-narrow-casing-color              { stroke: #404040; }
+			.railway-narrow-2-core-color              { stroke: #404040; }
+			.railway-narrow-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-preserved-casing                    { stroke-width: 7.5px; }
+			.railway-preserved-2-core                    { stroke-width: 4px; }
+			.railway-preserved-casing-color              { stroke: #595959; }
+			.railway-preserved-2-core-color              { stroke: #595959; }
+			.railway-preserved-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-light-casing                    { stroke-width: 7.5px; }
+			.railway-light-2-core                    { stroke-width: 4px; }
+			.railway-light-casing-color              { stroke: #008000; }
+			.railway-light-2-core-color              { stroke: #008000; }
+			.railway-light-tunnel-core               { stroke-opacity: 0.2; }
+
+			.railway-tram-casing                    { stroke-width: 7.5px; }
+			.railway-tram-2-core                    { stroke-width: 4px; }
+			.railway-tram-casing-color              { stroke: #800080; }
+			.railway-tram-2-core-color              { stroke: #800080; }
+			.railway-tram-tunnel-core               { stroke-opacity: 0.2; }
+
+			.railway-subway-casing                    { stroke-width: 7.5px; }
+			.railway-subway-2-core                    { stroke-width: 4px; }
+			.railway-subway-casing-color              { stroke: #000080; }
+			.railway-subway-2-core-color              { stroke: #000080; }
+			.railway-subway-tunnel-core               { stroke-opacity: 0.2; }
+
+			.railway-funicular-casing                    { stroke-width: 7.5px; }
+			.railway-funicular-2-core                    { stroke-width: 4px; }
+			.railway-funicular-casing-color              { stroke: #800000; }
+			.railway-funicular-2-core-color              { stroke: #800000; }
+			.railway-funicular-tunnel-core               { stroke-opacity: 0.2; }
+
+			.railway-monorail-casing                    { stroke-width: 7.5px; }
+			.railway-monorail-2-core                    { stroke-width: 4px; }
+			.railway-monorail-casing-color              { stroke: #b20000; }
+			.railway-monorail-2-core-color              { stroke: #b20000; }
+			.railway-monorail-tunnel-core               { stroke-opacity: 0.2; }
+
+			.railway-yard-casing                    { stroke-width: 4.5px; }
+			.railway-yard-2-core                    { stroke-width: 2px; }
+			.railway-yard-casing-color              { stroke: #404040; }
+			.railway-yard-2-core-color              { stroke: #404040; }
+			.railway-yard-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-con-casing                { stroke-width: 5.5px; }
+			.railway-con-2-core                { stroke-width: 3px; stroke-dasharray: 4,4; }
+			.railway-con-casing-color          { stroke: #404040; }
+			.railway-con-2-core-color          { stroke: #404040; }
+			.railway-con-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-pla-casing                { stroke-width: 4.5px; }
+			.railway-pla-2-core                { stroke-width: 2px; stroke-dasharray: 2,2; }
+			.railway-pla-casing-color          { stroke: #b2b2b2; }
+			.railway-pla-2-core-color          { stroke: #b2b2b2; }
+			.railway-pla-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-dis-casing                { stroke-width: 4.5px; }
+			.railway-dis-2-core                { stroke-width: 2px; stroke-opacity: 0.5; }
+			.railway-dis-casing-color          { stroke: #808080; }
+			.railway-dis-2-core-color          { stroke: #808080; }
+			.railway-dis-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-aba-casing                { stroke-width: 3px; }
+			.railway-aba-2-core                { stroke-width: 1px; stroke-opacity: 0.3; }
+			.railway-aba-casing-color          { stroke: #b2b2b2; }
+			.railway-aba-2-core-color          { stroke: #b2b2b2; }
+			.railway-aba-tunnel-core               { stroke-opacity: 0.1; }
+			
+			.highway-motorway-casing                { stroke-width: 22px; stroke: #202020; }
+			.highway-motorway-area-casing           { stroke-width: 1px; }
+			.highway-motorway-core                  { stroke-width: 21px; stroke: #809BC0; }
+			.highway-motorway-area                  { fill: #809BC0; }
+			
+			.highway-motorway-link-casing           { stroke-width: 12px; stroke: #202020; }
+			.highway-motorway-link-area-casing      { stroke-width: 0.5px; }
+			.highway-motorway-link-core             { stroke-width: 11.5px; stroke: #809BC0; }
+			.highway-motorway-link-area             { fill: #809BC0; }
+			
+			.highway-trunk-casing                   { stroke-width: 18px; stroke: #202020; }
+			.highway-trunk-mr2-casing               { stroke-width: 25px;     stroke: #809BC0; }
+			.highway-trunk-mr3-casing               { stroke-width: 25px;     stroke: #FDBF6F; }
+			.highway-trunk-area-casing              { stroke-width: 1px; }
+			.highway-trunk-core                     { stroke-width: 17px; stroke: #7fc97f; }
+			.highway-trunk-area                     { fill: #7fc97f; }
+			
+			.highway-trunk-link-casing              { stroke-width: 10px; stroke: #202020; }
+			.highway-trunk-link-mr2-casing          { stroke-width: 13px;     stroke: #809BC0; }
+			.highway-trunk-link-mr3-casing          { stroke-width: 13px;     stroke: #FDBF6F; }
+			.highway-trunk-link-area-casing         { stroke-width: 0.5px; }
+			.highway-trunk-link-core                { stroke-width: 9.5px; stroke: #7FC97F; }
+			.highway-trunk-link-area                { fill: #7FC97F; }
+			
+			.highway-primary-casing                 { stroke-width: 14px; stroke: #202020; }
+			.highway-primary-mr2-casing             { stroke-width: 17px;     stroke: #809BC0; }
+			.highway-primary-area-casing            { stroke-width: 1px; }
+			.highway-primary-core                   { stroke-width: 13px; stroke: #e46d71; }
+			.highway-primary-area                   { fill: #e46d71; }
+			
+			.highway-primary-link-casing            { stroke-width: 7px; stroke: #202020; }
+			.highway-primary-link-mr2-casing        { stroke-width: 8px;     stroke: #809BC0; }
+			.highway-primary-link-area-casing       { stroke-width: 0.25px; }
+			.highway-primary-link-core              { stroke-width: 6.75px; stroke: #e46d71; }
+			.highway-primary-link-area              { fill: #e46d71; }
+			
+			.highway-secondary-casing               { stroke-width: 12px; stroke: #202020; }
+			.highway-secondary-mr2-casing           { stroke-width: 15px;     stroke: #809BC0; }
+			.highway-secondary-area-casing          { stroke-width: 1px; }
+			.highway-secondary-core                 { stroke-width: 11px; stroke: #FDBF6F; }
+			.highway-secondary-area                 { fill: #FDBF6F; }
+			
+			.highway-secondary-link-casing          { stroke-width: 7px; stroke: #202020; }
+			.highway-secondary-link-mr2-casing      { stroke-width: 8px;     stroke: #809BC0; }
+			.highway-secondary-link-area-casing     { stroke-width: 0.25px; }
+			.highway-secondary-link-core            { stroke-width: 6.75px; stroke: #FDBF6F; }
+			.highway-secondary-link-area            { fill: #FDBF6F; }
+			
+			.highway-tertiary-casing                { stroke-width: 6.5px;  stroke: #202020; }
+			.highway-tertiary-mr2-casing            { stroke-width: 7px;     stroke: #809BC0; }
+			.highway-tertiary-area-casing           { stroke-width: 0.75px; }
+			.highway-tertiary-core                  { stroke-width: 5.75px;  stroke: #ffff90; }
+			.highway-tertiary-area                  { fill: #ffff90; }
+			
+			.highway-tertiary-link-casing           { stroke-width: 6.5px;  stroke: #202020; }
+			.highway-tertiary-link-mr2-casing       { stroke-width: 7px;     stroke: #809BC0; }
+			.highway-tertiary-link-area-casing      { stroke-width: 0.75px; }
+			.highway-tertiary-link-core             { stroke-width: 5.75px;  stroke: #ffff90; }
+			.highway-tertiary-link-area             { fill: #ffff90; }
+			
+			.highway-unclassified-casing            { stroke-width: 4.0px;   stroke: #e6e6e6; }
+			.highway-unclassified-area-casing       { stroke-width: 1.2px;   }
+			.highway-unclassified-core              { stroke-width: 2.8px;   stroke: #909090; stroke-linecap: butt; }
+			.highway-unclassified-area              { fill: #e6e6e6; }
+
+			.highway-service-casing                   { stroke-width: 4.0px;   stroke: #e6e6e6; }
+			.highway-service-area-casing              { stroke-width: 1.2px;   }
+			.highway-service-core                     { stroke-width: 2.8px;   stroke: #909090; stroke-dasharray: 18, 9; stroke-linecap: butt; }
+			.highway-service-area                     { fill: #e6e6e6; }
+
+			.highway-unsurfaced-casing                   { stroke-width: 4.0px;   stroke: #e6e6e6; }
+			.highway-unsurfaced-area-casing              { stroke-width: 1.2px;   }
+			.highway-unsurfaced-core                     { stroke-width: 2.8px;   stroke: #909090; stroke-dasharray: 18, 9; stroke-linecap: butt; }
+			.highway-unsurfaced-area                     { fill: #e6e6e6; }
+
+			.highway-track-casing                   { stroke-width: 4.0px;   stroke: #fff2de; stroke-opacity: 0.75; }
+			.highway-track-area-casing              { stroke-width: 1.2px;   }
+			.highway-track-core                     { stroke-width: 2.8px;   stroke: #d79331; }
+			.highway-track-area                     { fill: #fff2de; }
+
+			.highway-track-gradex-core            { stroke-dasharray: 24, 9; stroke-linecap: butt; }
+			.highway-track-grade1-core            { }
+			.highway-track-grade2-core            { stroke-dasharray: 18, 12; stroke-linecap: butt; }
+			.highway-track-grade3-core            { stroke-dasharray: 9, 12; stroke-linecap: butt; }
+			.highway-track-grade4-core            { stroke-dasharray: 9, 9, 3, 9; stroke-linecap: butt; }
+			.highway-track-grade5-core            { stroke-dasharray: 3, 9; stroke-linecap: butt; }
+			
+			.highway-byway-casing                   { stroke-width: 4.0px;   stroke: #efadaa; }
+			.highway-byway-area-casing              { stroke-width: 1.2px;   }
+			.highway-byway-core                     { stroke-width: 2.8px;   stroke: #bf514d; stroke-dasharray: 18, 12; stroke-linecap: butt; }
+			.highway-byway-area                     { fill: #efadaa; }
+			
+			.highway-bridleway-casing                   { stroke-width: 4.0px;   stroke: #e6dda5; }
+			.highway-bridleway-area-casing              { stroke-width: 1.2px;   }
+			.highway-bridleway-core                     { stroke-width: 2.8px;   stroke: #a9d355; stroke-dasharray: 9, 12; stroke-linecap: butt; }
+			.highway-bridleway-area                     { fill: #e6dda5; }
+			
+			.highway-cycleway-casing                   { stroke-width: 4.0px;   stroke: #d1fad1; }
+			.highway-cycleway-area-casing              { stroke-width: 1.2px;   }
+			.highway-cycleway-core                     { stroke-width: 2.8px;   stroke: #4dbf4d; stroke-dasharray: 9, 12; stroke-linecap: butt; }
+			.highway-cycleway-area                     { fill: #d1fad1; }
+			
+			.highway-cycleroad-casing                   { stroke-width: 4.0px;   stroke: #d1fad1; }
+			.highway-cycleroad-area-casing              { stroke-width: 1.2px;   }
+			.highway-cycleroad-core                     { stroke-width: 2.8px;   stroke: #4dbf4d; stroke-dasharray: 18, 12; stroke-linecap: butt; }
+			.highway-cycleroad-area                     { fill: #d1fad1; }
+
+			.highway-pedestrian-casing                   { stroke-width: 4.0px;   stroke: #e5e0c2; }
+			.highway-pedestrian-area-casing              { stroke-width: 1.2px;   }
+			.highway-pedestrian-core                     { stroke-width: 2.8px;   stroke: #bfba4d; stroke-dasharray: 18, 12; stroke-linecap: butt; }
+			.highway-pedestrian-area                     { fill: #e5e0c2; }
+			
+			.highway-footway-casing                   { stroke-width: 4.0px;   stroke: #e5e0c2; }
+			.highway-footway-area-casing              { stroke-width: 1.2px;   }
+			.highway-footway-core                     { stroke-width: 2.8px;   stroke: #bfba4d; stroke-dasharray: 9, 12; stroke-linecap: butt; }
+			.highway-footway-area                     { fill: #e5e0c2; }
+
+			.highway-steps-casing                   { stroke-width: 4.0px;   stroke: #e5e0c2; }
+			.highway-steps-area-casing              { stroke-width: 1.2px;   }
+			.highway-steps-core                     { stroke-width: 2.8px;   stroke: #bfba4d; stroke-dasharray: 3, 9; stroke-linecap: butt; }
+			.highway-steps-area                     { fill: #e5e0c2; }
+			
+			/* render unmarked paths in the same color as highway=road */
+			.highway-path-casing                   { stroke-width: 4.0px;   stroke: #e6e6e6; }
+			.highway-path-area-casing              { stroke-width: 1.2px;   }
+			.highway-path-core                     { stroke-width: 2.8px;   stroke: #909090; stroke-dasharray: 9, 12; stroke-linecap: butt; }
+			.highway-path-area                     { fill: #e6e6e6; }
+			
+			.highway-scramble-core                  { stroke-width: 0.6px;   stroke: #707070; stroke-linecap: butt;}
+			
+			
+			
+			/* Aeroways */
+			.aeroway-aerodrome {
+			stroke-width: 0.5px;
+			stroke: #000000;
+			fill: #d8dcce;
+			}
+
+			.apron {
+			stroke-width: 0.3px;
+			stroke: none;
+			fill: #f0f0f0;
+			}
+
+			.aeroway.core {
+			stroke: #d4dcbd;
+			}
+
+			.aeroway.casing {
+			stroke: #000000;
+			}
+
+			.taxiway, .runway {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+
+			.taxiway.core {
+			stroke-width: 2px;
+			}
+			
+			.taxiway.casing {
+			stroke-width: 3px;
+			}
+			
+			.runway.core {
+			stroke-width: 5px;
+			}
+			
+			.runway.casing {
+			stroke-width: 7px;
+			}
+			
+			/* not in use at this level? */
+			/*
+			.aeroway-aerodrome-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.3px;
+			font-family: "DejaVu Sans";
+			font-size: 6px;
+			font-weight: bold;
+			}
+			
+			.aeroway-airport-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.3px;
+			font-family: "DejaVu Sans";
+			font-size: 10px;
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			*/
+			
+			/* Waterways */
+			.waterway-casing {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b0b0b0;
+			fill: none;
+			}
+			
+			.waterway-core {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b5d6f1;
+			fill: none;
+			}
+			
+			.waterway-riverbank {
+			fill: #b5d6f1;
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+			
+			.waterway-river-casing          { stroke-width: 10px; }
+			.waterway-river-core            { stroke-width: 10px; }
+			.waterway-river-tunnel-core     { stroke-width: 8px; stroke-dasharray: 15, 15; }
+			
+			.waterway-stream-casing         { stroke-width: 3px; }
+			.waterway-stream-core           { stroke-width: 3px; }
+			.waterway-stream-tunnel-core    { stroke-width: 2.25px; stroke-dasharray: 6, 6; }
+			
+			.waterway-canal-casing          { stroke-width: 10px; }
+			.waterway-canal-core            { stroke-width: 10px; }
+			.waterway-canal-tunnel-core     { stroke-width: 8px; stroke-dasharray: 15, 15; }
+			
+			.waterway-drain-casing          { stroke-width: 4px; }
+			.waterway-drain-core            { stroke-width: 4px; }
+			.waterway-drain-tunnel-core     { stroke-width: 3px; stroke-dasharray: 6, 6; }
+			
+			.waterway-ditch-casing          { stroke-width: 1.2px; }
+			.waterway-ditch-core            { stroke-width: 1.2px; }
+			.waterway-ditch-tunnel-core     { stroke-width: 1.1px; stroke-dasharray: 6, 6; }
+			
+			
+			/* Generic under-construction style - makes any way dashed */
+			.under-construction { stroke-dasharray: 16, 26; }
+			.wrong-under-construction { stroke-width: 6px; stroke: #ffffff; stroke-dasharray: 25, 25; fill:none; }
+			
+
+			/* Ferry */
+			.route-ferry {
+			stroke-width: 2px;
+			stroke-dasharray: 3,2;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			}
+			
+			
+			/* Place names */
+			/* General style for place names */
+			.place-caption {
+			fill: black;
+			stroke: none;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			.caption-casing {
+			fill: white;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.caption-core {
+			stroke: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.island-caption         { font-size: 40px; opacity: 0.75; }
+			.county-caption         { font-size: 80px; font-variant: small-caps; opacity: 0.8; }
+			.city-caption           { font-size: 80px; }
+			.town-caption           { font-size: 50px; font-weight: normal;}
+			
+			
+			.largefeature-caption-casing        { stroke-width: 5px; font-size: 30px; }
+			.largefeature-caption-core          { fill: #4040ff;     font-size: 30px; }
+			
+			/* Natural */
+                        .natural.water, .coastline {
+			fill: #b5d6f1;
+                        }
+
+			.natural.water {
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+			
+			.coastline {
+			stroke: #b5d6f1;
+			stroke-width: 1.5px;
+			}
+
+			.glacier {
+			fill: #fafaff;
+			stroke: lightblue;
+			stroke-width: 1.5px;
+			}
+			
+			.natural.land {
+			fill: #f8f8f8;
+			stroke: #e0e0e0;
+			stroke-width: 0.1px;
+			}
+			
+			.heath {
+			fill: #ffffc0;
+			stroke: #ffff90;
+			stroke-width: 0.2px;
+			}
+			
+			.bog {
+			fill: #946e50;
+			stroke: #3f1f06;
+			stroke-width: 0.2px;
+			}
+			
+			/* Landuse */
+			.landuse {
+			stroke: none;
+			fill: #f0f0f0;
+			}
+			
+                        /* selecting with the landuse class is possibly redundant here, .. */
+                        /*  but safer since it's more specific than just .landuse and .. */
+                        /*  won't be dependent on ordering here in the CSS */
+			.landuse.wood {
+			fill: #6fc18e;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse.cemetery {
+			fill: #bde3cb;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-field {
+			fill: #ebfff2;
+			stroke: #9ee673;
+			stroke-width: 0.1px;
+			}
+			.landuse-allotment-village {
+			fill: #bde3cb;
+			stroke: #6fc13d;
+			stroke-width: 0.2px;
+			}
+
+			.landuse.residential {
+			fill: #e4e4e4;
+			}
+			
+			.landuse.industrial {
+			fill: #ecd8ff;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse.commercial {
+			fill: #ffffc0;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse.retail {
+			fill: #ffebeb;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse.runway {
+			stroke-width: 0.3px;
+			stroke: #808080;
+			fill: #d4dcbd;
+			}
+			
+			.landuse.runway.disused {
+			stroke-dasharray: 1, 1;
+			}
+			
+			.landuse.runway.dismantled {
+			fill: #fcffef;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+
+			.landuse.conservation {
+			fill: #cfeca8;
+			stroke: #6fc18e;
+			stroke-width: 0.2px
+			}
+			
+			/* Leisure, sport */
+			.leisure, .sport {
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.leisure-park {
+			fill: #c7f1a3;
+			}
+			.leisure-national_park {
+			fill: url(#national-park-pattern);
+			}
+			.leisure-nature_reserve {
+			fill: url(#nature-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.leisure-landscape_reserve {
+			fill: url(#landscape-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.stadium, .sport {
+			fill: #bde3cb;
+			}
+			
+			.leisure-track-area {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.15px;
+			}
+			
+			.leisure-track-casing {
+			fill: none;
+			stroke: #6fc18e;
+			stroke-width: 2.8px;
+			}
+			
+			.leisure-track-core {
+			fill: none;
+			stroke: #bde3cb;
+			stroke-width: 2.5px;
+			}
+			
+			.parking {
+			fill: #ffffc0;
+			stroke: #e9dd72;
+			stroke-width: 0.2px;
+			}
+			
+			
+			
+			/* Non-physical boundaries */
+			.boundary {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.boundary-level-1-casing {
+			stroke-width: 56px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+			
+			.boundary-level-1-core {
+			stroke-width: 8px;
+			stroke: #f9574b;
+			stroke-dasharray: 48, 16, 16, 16;
+			}
+			
+			.boundary-level-2-casing {
+			stroke-width: 24px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+			
+			.boundary-level-2-core {
+			stroke-width: 8px;
+			stroke: #f9574b;
+			stroke-dasharray: 48, 48;
+			}
+			
+			.boundary-level-3-core {
+			stroke-width: 8px;
+			stroke: #f9574b;
+			}
+			
+			.boundary-level-4-core {
+			stroke-width: 8px;
+			stroke: #f9574b;
+			stroke-dasharray: 48, 16, 16, 16;
+			}
+			
+			.boundary-nationalpark-core {
+			stroke-width: 8px;
+			stroke: #4ef94b;
+			stroke-dasharray: 48, 16, 16, 16;
+			}
+			
+			
+			/* Racetracks */
+			.highway-raceway-casing {
+			stroke-width: 2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #101010;
+			}
+			
+			.highway-raceway-casing-disused {
+			stroke-width: 2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 1, 1;
+			}
+			
+			.highway-raceway-casing-dismantled {
+			stroke-width: 2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+			
+			.highway-raceway-core {
+			stroke-width: 1.5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-raceway-core-disused {
+			stroke-width: 1.5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke-dasharray: 1, 1;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-raceway-core-dismantled {
+			stroke-width: 1.5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ffffff;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+			
+			.landuse.raceway {
+			stroke-width: 0.3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #101010;
+			}
+			
+			.landuse.raceway.disused {
+			stroke-width: 0.3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #808080;
+			stroke-dasharray: 1, 1;
+			}
+			
+			.landuse.raceway.dismantled {
+			stroke-width: 0.3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #ffffff;
+			stroke: #808080;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+			
+			.man_made-wastewater {
+			fill: #e4e4e4;
+			}
+			
+			/* Tourism */
+			.attraction {
+			fill: #f2caea;
+			stroke: #ff00ff;
+			stroke-width: 0px;
+			}
+			.green_area {
+			fill: #c7f1a3;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.military-area {
+			fill: #d0d050;
+			fill-opacity: 0.5;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			/* Building */
+			.building {
+			fill: #e0e0e0;
+			stroke: #d0d0d0;
+			stroke-width: 0.2px;
+			}
+			
+			.building-block {
+			fill: #F3D6B6;
+			stroke: #6a5a8e;
+			stroke-width: 0.2px;
+			}
+			
+			.building-residential {
+			fill: #c95e2a;
+			stroke: #800000;
+			stroke-width: 0.2px;
+			}
+			
+			/* Aerialways */
+			.aerialway-line {
+			fill: none;
+			stroke: #000000;
+			stroke-width: 1px;
+			}
+			
+			.aerialway-struts {
+			fill:none;
+			stroke: #000000;
+			stroke-width: 5px;
+			stroke-dasharray: 0.5, 10;
+			}
+			
+			/* Map decoration */
+			.map-grid-line {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0.5;
+			}
+			
+			.map-border-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 3px;
+			stroke-miterlimit: 4;
+			stroke-dasharray: none;
+			stroke-opacity: 1;
+			stroke-linecap: round;
+			}
+			
+			.map-border-core {
+			fill: none;
+			fill-opacity: 1;
+			fill-rule: nonzero;
+			stroke: #ffffff;
+			stroke-width: 2px;
+			stroke-miterlimit: 0;
+			stroke-dashoffset: -0.5px;
+			stroke-opacity: 1;
+			}
+			
+			.map-scale-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-core {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-bookend {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 1px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-caption {
+			font-family: "DejaVu Sans";
+			font-size: 10px;
+			fill: #8080ff;
+			}
+			
+			<!-- map background must be the same for all zooms or else empty tile detection will fail -->
+			.map-background {
+			fill: #f8f8f8;
+			stroke: none;
+			}
+			
+			.map-title {
+			font-family: "DejaVu Sans";
+			font-size: 20px;
+			text-anchor: middle;
+			fill: black;
+			}
+			
+			.map-title-background {
+			fill: white;
+			}
+			
+			.map-marginalia-background {
+			fill: white;
+			}
+			
+			.highway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			}
+			
+			/* Osmarender built-in styles - do not remove */
+			.osmarender-stroke-linecap-round { stroke-linecap: round; }
+			.osmarender-stroke-linecap-butt { stroke-linecap: butt; }
+			.osmarender-mask-black { stroke: black; }
+			.osmarender-mask-white { stroke: white; }
+			.osmarender-no-marker-start { marker-start: none; }
+			.osmarender-no-marker-end { marker-end: none; }
+		</style>
+		<svg:pattern id="nature-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(36.6216)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.1" d="
+		M0.2,0.1 L1.8,0.9 M2.2,0.9 L3.8,0.1   M4.2,0.1 L5.8,0.9 M6.2,0.9 L7.8,0.1   M8.2,0.1 L9.8,0.9 M10.2,0.9 L11.8,0.1
+		M0.2,1.9 L1.8,1.1 M2.2,1.1 L3.8,1.9   M4.2,1.9 L5.8,1.1 M6.2,1.1 L7.8,1.9   M8.2,1.9 L9.8,1.1 M10.2,1.1 L11.8,1.9
+		M0.2,2.1 L1.8,2.9 M2.2,2.9 L3.8,2.1   M4.2,2.1 L5.8,2.9 M6.2,2.9 L7.8,2.1   M8.2,2.1 L9.8,2.9 M10.2,2.9 L11.8,2.1
+		M0.2,3.9 L1.8,3.1 M2.2,3.1 L3.8,3.9   M4.2,3.9 L5.8,3.1 M6.2,3.1 L7.8,3.9   M8.2,3.9 L9.8,3.1 M10.2,3.1 L11.8,3.9
+		M0.2,4.1 L1.8,4.9 M2.2,4.9 L3.8,4.1   M4.2,4.1 L5.8,4.9 M6.2,4.9 L7.8,4.1   M8.2,4.1 L9.8,4.9 M10.2,4.9 L11.8,4.1
+		M0.2,5.9 L1.8,5.1 M2.2,5.1 L3.8,5.9   M4.2,5.9 L5.8,5.1 M6.2,5.1 L7.8,5.9   M8.2,5.9 L9.8,5.1 M10.2,5.1 L11.8,5.9
+
+		M0.2,6.1 L1.8,6.9 M2.2,6.9 L3.8,6.1   M4.2,6.1 L5.8,6.9 M6.2,6.9 L7.8,6.1   M8.2,6.1 L9.8,6.9 M10.2,6.9 L11.8,6.1
+		M0.2,7.9 L1.8,7.1 M2.2,7.1 L3.8,7.9   M4.2,7.9 L5.8,7.1 M6.2,7.1 L7.8,7.9   M8.2,7.9 L9.8,7.1 M10.2,7.1 L11.8,7.9
+		M0.2,8.1 L1.8,8.9 M2.2,8.9 L3.8,8.1   M4.2,8.1 L5.8,8.9 M6.2,8.9 L7.8,8.1   M8.2,8.1 L9.8,8.9 M10.2,8.9 L11.8,8.1
+		M0.2,9.9 L1.8,9.1 M2.2,9.1 L3.8,9.9   M4.2,9.9 L5.8,9.1 M6.2,9.1 L7.8,9.9   M8.2,9.9 L9.8,9.1 M10.2,9.1 L11.8,9.9
+		M0.2,10.1 L1.8,10.9 M2.2,10.9 L3.8,10.1   M4.2,10.1 L5.8,10.9 M6.2,10.9 L7.8,10.1   M8.2,10.1 L9.8,10.9 M10.2,10.9 L11.8,10.1
+		M0.2,11.9 L1.8,11.1 M2.2,11.1 L3.8,11.9   M4.2,11.9 L5.8,11.1 M6.2,11.1 L7.8,11.9   M8.2,11.9 L9.8,11.1 M10.2,11.1 L11.8,11.9"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.15;stroke-linecap:round;stroke-linejoin:round;" d="
+		M1.2,2.6 L1.2,1.4 L1.8,2.6 L1.8,1.4
+		M2.2,2.1 L2.45,2.1 A 0.25 0.25 0 0 0 2.45,1.4 L2.2,1.4 L2.2,2.6  M2.8,2.6 L2.3,2.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="landscape-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(24.0)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.05" d="
+		M0.4,0.2 L1.6,0.8 M2.4,0.8 L3.6,0.2   M4.4,0.2 L5.6,0.8 M6.4,0.8 L7.6,0.2   M8.4,0.2 L9.6,0.8 M10.4,0.8 L11.6,0.2
+		M0.4,1.8 L1.6,1.2 M2.4,1.2 L3.6,1.8   M4.4,1.8 L5.6,1.2 M6.4,1.2 L7.6,1.8   M8.4,1.8 L9.6,1.2 M10.4,1.2 L11.6,1.8
+		M0.4,2.2 L1.6,2.8 M2.4,2.8 L3.6,2.2   M4.4,2.2 L5.6,2.8 M6.4,2.8 L7.6,2.2   M8.4,2.2 L9.6,2.8 M10.4,2.8 L11.6,2.2
+		M0.4,3.8 L1.6,3.2 M2.4,3.2 L3.6,3.8   M4.4,3.8 L5.6,3.2 M6.4,3.2 L7.6,3.8   M8.4,3.8 L9.6,3.2 M10.4,3.2 L11.6,3.8
+		M0.4,4.2 L1.6,4.8 M2.4,4.8 L3.6,4.2   M4.4,4.2 L5.6,4.8 M6.4,4.8 L7.6,4.2   M8.4,4.2 L9.6,4.8 M10.4,4.8 L11.6,4.2
+		M0.4,5.8 L1.6,5.2 M2.4,5.2 L3.6,5.8   M4.4,5.8 L5.6,5.2 M6.4,5.2 L7.6,5.8   M8.4,5.8 L9.6,5.2 M10.4,5.2 L11.6,5.8
+
+		M0.4,6.2 L1.6,6.8 M2.4,6.8 L3.6,6.2   M4.4,6.2 L5.6,6.8 M6.4,6.8 L7.6,6.2   M8.4,6.2 L9.6,6.8 M10.4,6.8 L11.6,6.2
+		M0.4,7.8 L1.6,7.2 M2.4,7.2 L3.6,7.8   M4.4,7.8 L5.6,7.2 M6.4,7.2 L7.6,7.8   M8.4,7.8 L9.6,7.2 M10.4,7.2 L11.6,7.8
+		M0.4,8.2 L1.6,8.8 M2.4,8.8 L3.6,8.2   M4.4,8.2 L5.6,8.8 M6.4,8.8 L7.6,8.2   M8.4,8.2 L9.6,8.8 M10.4,8.8 L11.6,8.2
+		M0.4,9.8 L1.6,9.2 M2.4,9.2 L3.6,9.8   M4.4,9.8 L5.6,9.2 M6.4,9.2 L7.6,9.8   M8.4,9.8 L9.6,9.2 M10.4,9.2 L11.6,9.8
+		M0.4,10.2 L1.6,10.8 M2.4,10.8 L3.6,10.2   M4.4,10.2 L5.6,10.8 M6.4,10.8 L7.6,10.2   M8.4,10.2 L9.6,10.8 M10.4,10.8 L11.6,10.2
+		M0.4,11.8 L1.6,11.2 M2.4,11.2 L3.6,11.8   M4.4,11.8 L5.6,11.2 M6.4,11.2 L7.6,11.8   M8.4,11.8 L9.6,11.2 M10.4,11.2 L11.6,11.8"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:round;" d="
+		M5.2,3.4 L5.2,4.6 L5.8,4.6
+		M6.2,4.1 L6.45,4.1 A 0.25 0.25 0 0 0 6.45,3.4 L6.2,3.4 L6.2,4.6  M6.8,4.6 L6.3,4.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="national-park-pattern" x="0" y="0" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(24.0)">
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.5;" d="
+		M9.2,6.6 L9.2,5.4 L9.8,6.6 L9.8,5.4
+		M10.2,6.1 L10.45,6.1 A 0.25 0.25 0 0 0 10.45,5.4 L10.2,5.4 L10.2,6.6 "/>
+		</svg:pattern>
+
+	</defs>
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z13.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z13.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z13.xml	(revision 35743)
@@ -0,0 +1,2593 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Tiles@Home Rules File for zoom level 13 -->
+<rules
+	  xmlns:xlink="http://www.w3.org/1999/xlink"
+	  xmlns:svg="http://www.w3.org/2000/svg"
+	  data="data.osm"
+	  svgBaseProfile="full"
+	  scale="1"
+	  symbolScale="1.72"
+	  textAttenuation="0.875"
+	  minimumMapWidth="0.5"
+	  minimumMapHeight="0.5"
+	  withOSMLayers="yes"
+	  withUntaggedSegments="no"
+	  showScale="no"
+	  showGrid="no"
+	  showBorder="no"
+	  showLicense="no"
+	  symbolsDir="../stylesheets/symbols"
+	  interactive="no">
+	
+	
+	<!-- Select all nodes and ways (unless they have an osmarender:render=no tag) -->
+	<rule e="node|way" k="osmarender:render" v="~|yes">
+		
+		<!-- Landuse -->
+		<rule e="way" k="landuse" v="landfill|quarry">
+			<area class="landuse-quarry"/>
+		</rule>
+		<rule e="way" k="landuse" v="cemetery">
+			<area class="landuse-cemetery"/>
+		</rule>
+		<rule e="way" k="amenity" v="grave_yard">
+			<area class="landuse-cemetery"/>
+		</rule>
+		<rule e="way" k="landuse" v="vineyard">
+			<area class="landuse-vineyard"/>
+		</rule>
+		
+		<!-- Natural features -->
+		<rule e="way" k="natural" v="coastline">
+			<area class="natural-coastline"/>
+		</rule>
+		<rule e="way" k="natural" v="glacier">
+			<line class='natural-glacier'/>
+		</rule>
+		<rule e="way" k="natural" v="land">
+			<area class="natural-land"/>
+		</rule>
+		<rule e="way" k="landuse|natural" v="forest|wood|scrub">
+			<area class="landuse-wood"/>
+		</rule>
+		<rule e="way" k="natural" v="heath">
+			<area class="natural-heath"/>
+		</rule>
+		<rule e="way" k="natural" v="wetland">
+			<rule e="way" k="wetland" v="bog">
+				<area class="wetland-bog"/>
+			</rule>
+		</rule>
+		<rule e="way" k="landuse" v="conservation">
+			<area class="landuse-conservation"/>
+		</rule>
+		
+		<!-- Artificial landuse -->
+		<rule e="way" k="landuse" v="field|farm|farmland|meadow|grass">
+			<area class="landuse-field"/>
+		</rule>
+		<rule e="way" k="landuse" v="allotments|village_green|recreation_ground">
+			<area class="landuse-allotment-village"/>
+		</rule>
+		<rule e="way" k="leisure" v="park|garden|golf_course|common|green">
+			<area class="leisure-park"/>
+		</rule>
+		<rule e="way" k="leisure" v="playground|playing_fields|pitch|dog_park">
+			<rule e="way" k="sport" v="tennis">
+				<area class="sport-tennis"/>
+			</rule>
+			<else>
+				<!-- Done separately from the above rule to layer these above. Tend to be smaller and inside parks. -->
+				<area class="leisure-park"/>
+			</else>
+		</rule>
+
+		<rule e="way" k="leisure" v="stadium|sports_centre|water_park">
+			<area class="leisure-stadium"/>
+		</rule>
+		<rule e="way" k="leisure" v="track">
+			<rule e="way" k="area" v="yes|true">
+				<area class="leisure-track-area"/>
+			</rule>
+			<else>
+				<line class="leisure-track-casing"/>
+				<line class="leisure-track-core"/>
+			</else>
+		</rule>
+		<rule e="way" k="leisure" v="swimming_pool">
+			<area class="leisure-swimming-pool"/>
+		</rule>
+		<rule e="way" k="man_made" v="wastewater_plant" layer="-5" closed="yes">
+			<area class="man_made-wastewater" layer="-5"/>
+		</rule>
+		
+		<!-- Airports and runways -->
+		<rule e="way" k="aeroway" v="aerodrome" closed="yes">
+			<area class="aeroway-aerodrome"/>
+		</rule>
+		<rule e="way" k="aeroway" v="apron">
+			<area class="aeroway-apron"/>
+		</rule>
+		<rule e="way" k="landuse" v="runway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse-runway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse-runway-disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse-runway-dismantled"/>
+			</rule>
+		</rule>
+		
+		<!-- Raceways and racetracks (cars and horses etc) -->
+		<rule e="way" k="landuse" v="raceway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse-raceway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse-raceway-disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse-raceway-dismantled"/>
+			</rule>
+		</rule>
+		
+		<!-- Man-made areas -->
+		<rule e="way" k="leisure|landuse|amenity|tourism" v="~">
+			<rule e="way" k="building" v="~|no|false|0">
+				<rule e="way" k="sport" v="swimming|canoe|diving|scuba_diving">
+					<area class="sport-swimming"/>
+				</rule>
+				<else>
+					<rule e="way" k="sport" v="tennis">
+						<area class="sport-tennis"/>
+					</rule>
+					<else>
+						<rule e="way" k="sport" v="*" closed="yes">
+							<area class="sport"/>
+						</rule>
+					</else>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="amenity" v="parking">
+			<area class="amenity-parking"/>
+		</rule>
+		<rule e="way" k="tourism" v="attraction">
+			<rule e="way" k="highway" v="~">
+				<rule e="way" k="area" v="no" />
+				<else>
+					<area class="tourism-attraction"/>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="tourism" v="zoo|picnic_site|caravan_site|camp_site">
+			<area class="tourism-green-area"/>
+		</rule>
+		
+		<!-- Airfields and airports -->
+		<rule e="way" k="aeroway" v="runway">
+			<line class="aeroway-runway-casing"/>
+		</rule>
+		<rule e="way" k="aeroway" v="taxiway">
+			<line class="aeroway-taxiway-casing"/>
+		</rule>
+		
+		<!-- Waterways -->
+		<rule e="way" k="waterway" v="river">
+			<line class="waterway-casing waterway-river-casing" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="stream">
+			<line class="waterway-casing waterway-stream-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+		</rule>
+		<rule e="way" k="waterway" v="canal">
+			<line class="waterway-casing waterway-canal-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="drain">
+			<line class="waterway-casing waterway-drain-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+		</rule>
+		<rule e="way" k="waterway" v="ditch">
+			<line class="waterway-casing waterway-ditch-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+		</rule>
+		<rule e="way" k="tunnel|culvert" v="yes|culvert">
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<line class="waterway-core waterway-stream-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</rule>
+		<else>
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-core" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<rule e="way" k="stream" v="ephemeral">
+					<line class="waterway-core waterway-stream-core-ephemeral" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+				</rule>
+				<else>
+					<rule e="way" k="stream" v="intermittent">
+						<line class="waterway-core waterway-stream-core-intermittent" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+					</rule>
+					<else>
+						<line class="waterway-core waterway-stream-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</else>
+		<rule e="way" k="waterway" v="dock">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="natural" v="water|pond|lake|bay">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="landuse" v="reservoir">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="landuse" v="basin">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="waterway" v="riverbank">
+			<area class="waterway-riverbank"/>
+		</rule>
+		
+		<rule e="way" k="boundary" v="national_park">
+			<area class="leisure-national_park"/>
+		</rule>
+		<!--  rule e="way" k="leisure" v="landscape_reserve">
+			<area class="leisure-landscape_reserve"/>
+		</rule  -->
+		<rule e="way" k="leisure" v="nature_reserve">
+			<area class="leisure-nature_reserve"/>
+		</rule>
+
+		<!-- Highway area casings -->
+		<rule e="way" k="area" v="yes|true">
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="steps">
+				<area class="highway-casing highway-steps-area-casing highway-steps-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<area class="highway-casing highway-footway-area-casing highway-footway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<area class="highway-casing highway-cycleway-area-casing highway-cycleway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<area class="highway-casing highway-bridleway-area-casing highway-bridleway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<area class="highway-casing highway-cycleway-area-casing highway-cycleway-area no-bezier"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<area class="highway-casing highway-bridleway-area-casing highway-bridleway-area no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-footway-area-casing highway-footway-area no-bezier"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<area class="highway-casing highway-byway-area-casing highway-byway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<area class="highway-casing highway-track-area-casing highway-track-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<area class="highway-casing highway-unsurfaced-area-casing highway-unsurfaced-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+				</rule>
+				<else>
+					<area class="highway-casing highway-service-area-casing highway-service-area no-bezier"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<area class="highway-casing highway-pedestrian-area-casing highway-pedestrian-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor|living_street|road">
+				<area class="highway-casing highway-unclassified-casing highway-unclassified-area-casing no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-casing highway-unclassified-casing highway-unclassified-area-casing no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-casing highway-cycleroad-area-casing highway-cycleroad-area no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-casing highway-unclassified-casing highway-unclassified-area-casing no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-cycleroad-area-casing highway-cycleroad-area no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-casing highway-unclassified-casing highway-unclassified-area-casing no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-casing highway-cycleroad-area-casing highway-cycleroad-area no-bezier"/>
+						</else>
+					</rule>
+				</else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="tertiary_link">
+				<area class="highway-casing highway-tertiary-link-casing highway-tertiary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<area class="highway-casing highway-tertiary-casing highway-tertiary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<area class="highway-casing highway-secondary-link-casing highway-secondary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<area class="highway-casing highway-secondary-casing highway-secondary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<area class="highway-casing highway-primary-link-casing highway-primary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<area class="highway-casing highway-trunk-link-casing highway-trunk-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<area class="highway-casing highway-motorway-link-casing highway-motorway-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<area class="highway-casing highway-primary-casing highway-primary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<area class="highway-casing highway-trunk-casing highway-trunk-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<area class="highway-casing highway-motorway-casing highway-motorway-area-casing no-bezier"/>
+			</rule>
+		    </else>
+		  </else>
+
+		</rule>
+		
+		<!-- Linear casings -->
+		<rule e="way" k="tunnel" v="~|no|false">
+			<rule e="way" k="area" v="~|no|false">
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="raceway">
+					<rule e="way" k="use_status" v="~">
+						<line class="highway-raceway-casing"/>
+					</rule>
+					<rule e="way" k="use_status" v="disused">
+						<line class="highway-raceway-casing-disused"/>
+					</rule>
+					<rule e="way" k="use_status" v="dismantled">
+						<line class="highway-raceway-casing-dismantled"/>
+					</rule>
+				</rule>
+				<rule e="way" k="highway" v="steps">
+					<line class="highway-casing highway-steps-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="footway|footpath">
+					<line class="highway-casing highway-footway-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="cycleway">
+					<line class="highway-casing highway-cycleway-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="bridleway">
+					<line class="highway-casing highway-bridleway-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<line class="highway-casing highway-cycleway-casing "/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<line class="highway-casing highway-bridleway-casing "/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-footway-casing "/>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="byway">
+					<line class="highway-casing highway-byway-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="track">
+					<line class="highway-casing highway-track-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="unsurfaced">
+					<line class="highway-casing highway-unsurfaced-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle">
+					</rule>
+					<else>
+						<line class="highway-casing highway-unsurfaced-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="pedestrian">
+					<line class="highway-casing highway-pedestrian-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="unclassified|residential|minor|living_street|road|ford">
+					<line class="highway-casing highway-unclassified-casing"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-casing highway-unclassified-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-cycleroad-casing"/>
+					</else>
+			  </rule>
+			  <else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-casing highway-unclassified-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-cycleroad-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-casing highway-unclassified-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-cycleroad-casing"/>
+							</else>
+						</rule>
+					</else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="tertiary_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-tertiary-link-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-tertiary-link-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="tertiary">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-tertiary-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-tertiary-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="secondary_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-secondary-link-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-secondary-link-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="secondary">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-secondary-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-secondary-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="primary_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-primary-link-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-primary-link-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="trunk_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-trunk-link-mr2-casing"/>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="no">
+							<line class="highway-casing highway-trunk-link-mr3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-trunk-link-casing"/>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="motorway_link">
+					<line class="highway-casing highway-motorway-link-casing"/>
+				</rule>
+				<rule e="way" k="highway" v="primary">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-primary-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-primary-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="trunk">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-trunk-mr2-casing"/>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="no">
+							<line class="highway-casing highway-trunk-mr3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-trunk-casing"/>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="motorway">
+					<line class="highway-casing highway-motorway-casing"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			</rule>
+		</rule>
+		
+		<!-- Highway area cores -->
+		<rule e="way" k="area" v="yes|true">
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="steps">
+				<area class="highway-core highway-steps-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<area class="highway-core highway-footway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<area class="highway-core highway-cycleway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<area class="highway-core highway-bridleway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<area class="highway-core highway-cycleway-core no-bezier"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<area class="highway-core highway-bridleway-core no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-path-core no-bezier"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<area class="highway-core highway-byway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<rule e="way" k="tracktype" v="grade1">
+					<area class="highway-core highway-track-grade1-core highway-track-core no-bezier"/>
+				</rule>
+				<else>
+					<rule e="way" k="tracktype" v="grade2">
+						<area class="highway-casing highway-track-grade2-core highway-track-core no-bezier"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade3">
+							<area class="highway-core highway-track-grade3-core highway-track-core no-bezier"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade4">
+								<area class="highway-core highway-track-grade4-core highway-track-core no-bezier"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade5">
+									<area class="highway-core highway-track-grade5-core highway-track-core no-bezier"/>
+								</rule>
+								<else>
+									<area class="highway-core highway-track-gradex-core highway-track-core no-bezier"/>
+								</else>
+							</else>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<area class="highway-core highway-unsurfaced-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+				</rule>
+				<else>
+					<area class="highway-core highway-service-core no-bezier"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<area class="highway-core highway-pedestrian-core no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-core highway-unclassified-area no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-core highway-cycleroad-core no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-core highway-unclassified-area no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-cycleroad-core no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-core highway-unclassified-area no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-core highway-cycleroad-core no-bezier"/>
+						</else>
+					</rule>
+				</else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="unclassified|residential|minor|living_street">
+				<area class="highway-core highway-unclassified-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="road">
+				<area class="highway-core highway-road-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<area class="highway-core highway-tertiary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<area class="highway-core highway-tertiary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<area class="highway-core highway-secondary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<area class="highway-core highway-secondary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<area class="highway-core highway-primary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<area class="highway-core highway-trunk-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<area class="highway-core highway-motorway-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<area class="highway-core highway-primary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<area class="highway-core highway-trunk-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<area class="highway-core highway-motorway-area no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		</rule>
+		
+		<!-- Buildings -->
+		<rule e="way" k="aeroway" v="terminal">
+			<area class="building-block"/>
+		</rule>
+		<rule e="way" k="building" v="*">
+			<area class="building-block no-bezier"/>
+		</rule>
+		<rule e="node" k="building" v="*">
+			<rule e="node" k="building" v="entrance"></rule>
+			<else>
+				<symbol ref="building" position="center" transform="scale(0.5)"/>
+			</else>
+		</rule>
+		
+		<!-- Linear cores -->
+		<rule e="way" k="tunnel" v="~|false|no">
+			<rule e="way" k="area" v="~|false|no">
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="ford">
+					<line class="highway-core highway-ford-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="raceway">
+					<rule e="way" k="use_status" v="~">
+						<line class="highway-raceway-core"/>
+					</rule>
+					<rule e="way" k="use_status" v="disused">
+						<line class="highway-raceway-core-disused"/>
+					</rule>
+					<rule e="way" k="use_status" v="dismantled">
+						<line class="highway-raceway-core-dismantled"/>
+					</rule>
+				</rule>
+				<rule e="way" k="scramble" v="*">
+					<line class="highway-core highway-scramble-core"/>
+				</rule>
+				<rule e="way" k="highway" v="steps">
+					<line class="highway-core highway-steps-core"/>
+				</rule>
+				<rule e="way" k="highway" v="footway|footpath">
+					<line class="highway-core highway-footway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="cycleway">
+					<line class="highway-core highway-cycleway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="bridleway">
+					<line class="highway-core highway-bridleway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<line class="highway-core highway-cycleway-core"/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<line class="highway-core highway-bridleway-core"/>
+						</rule>
+						<else>
+							<rule e="way" k="foot" v="yes|designated">
+								<line class="highway-core highway-footway-core"/>
+							</rule>
+							<else>
+								<line class="highway-core highway-path-core"/>
+							</else></else></else>
+				</rule>
+				<rule e="way" k="highway" v="byway">
+					<line class="highway-core highway-byway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="track">
+					<rule e="way" k="tracktype" v="~">
+						<line class="highway-core highway-track-core highway-track-gradex-core"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade1">
+							<line class="highway-core highway-track-core highway-track-grade1-core"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade2">
+								<line class="highway-core highway-track-core highway-track-grade2-core"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade3">
+									<line class="highway-core highway-track-core highway-track-grade3-core" smart-linecap="no"/>
+								</rule>
+								<else>
+									<rule e="way" k="tracktype" v="grade4">
+										<line class="highway-core highway-track-core highway-track-grade4-core" smart-linecap="no"/>
+									</rule>
+									<else>
+										<rule e="way" k="tracktype" v="grade5">
+											<line class="highway-core highway-track-core highway-track-grade5-core" smart-linecap="no"/>
+										</rule>
+										<else>
+											<line class="highway-core highway-track-core highway-track-gradex-core"/>
+										</else>
+									</else>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="unsurfaced">
+					<line class="highway-core highway-unsurfaced-core"/>
+				</rule>
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle">
+					</rule>
+					<else>
+						<line class="highway-core highway-service-core"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="pedestrian">
+					<line class="highway-core highway-pedestrian-core"/>
+				</rule>
+				<rule e="way" k="highway" v="unclassified|residential|minor|living_street">
+					<line class="highway-core highway-unclassified-core"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-core highway-unclassified-core"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-cycleroad-core"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-core highway-unclassified-core"/>
+						</rule>
+						<else>
+							<line class="highway-core highway-cycleroad-core"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-core highway-unclassified-core"/>
+							</rule>
+							<else>
+								<line class="highway-core highway-cycleroad-core"/>
+							</else>
+						</rule>
+					</else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="road">
+					<line class="highway-core highway-road-core"/>
+				</rule>
+				<rule e="way" k="highway" v="tertiary_link">
+					<line class="highway-core highway-tertiary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="tertiary">
+					<line class="highway-core highway-tertiary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary_link">
+					<line class="highway-core highway-secondary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary">
+					<line class="highway-core highway-secondary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="primary_link">
+					<line class="highway-core highway-primary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk_link">
+					<line class="highway-core highway-trunk-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway_link">
+					<line class="highway-core highway-motorway-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="primary">
+					<line class="highway-core highway-primary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk">
+					<line class="highway-core highway-trunk-core"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway">
+					<line class="highway-core highway-motorway-core"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core"/>
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<rule e="way" k="service" v="spur|yard|siding">
+											<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core" smart-linecap="no" />
+										</rule>
+										<else>
+											<rule e="way" k="usage" v="main">
+												<line class="railway-main-2-core railway-rail-2-core-color railway-2-core" smart-linecap="no" />
+											</rule>
+											<else>
+												<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core" smart-linecap="no" />
+											</else>
+										</else>
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-2-core railway-light-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="aeroway" v="runway">
+					<line class="aeroway-runway-core"/>
+				</rule>
+				<rule e="way" k="aeroway" v="taxiway">
+					<line class="aeroway-taxiway-core"/>
+				</rule>
+			</rule>
+		</rule>
+		
+		<!-- Tunnels -->
+		<rule e="way" k="tunnel" v="true|yes">
+			<rule e="way" k="highway" v="steps">
+				<line class="tunnel-casing highway-steps-casing tunnel" mask-class="tunnel-core highway-steps-core"/>
+				<line class="highway-steps-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+				<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<line class="tunnel-casing highway-pedestrian-casing tunnel" mask-class="tunnel-core highway-pedestrian-core"/>
+				<line class="highway-pedestrian-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+				<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+					<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+						<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</rule>
+					<else>
+						<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+						<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+				<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<line class="tunnel-casing highway-byway-1-casing tunnel" mask-class="tunnel-core highway-byway-1-core"/>
+				<line class="highway-byway-1-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<line class="tunnel-casing highway-track-casing tunnel" mask-class="tunnel-core highway-track-core"/>
+				<line class="highway-track-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<line class="tunnel-casing highway-unsurfaced-casing tunnel" mask-class="tunnel-core highway-unsurfaced-core"/>
+				<line class="highway-unsurfaced-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<line class="tunnel-casing highway-service-casing tunnel" mask-class="tunnel-core highway-service-core"/>
+				<line class="highway-service-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor|tertiary|cycleroad|living_street">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-unclassified-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="road">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-road-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<line class="tunnel-casing highway-tertiary-link-casing tunnel" mask-class="tunnel-core highway-tertiary-link-core"/>
+				<line class="highway-tertiary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<line class="tunnel-casing highway-tertiary-casing tunnel" mask-class="tunnel-core highway-tertiary-core"/>
+				<line class="highway-tertiary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<line class="tunnel-casing highway-secondary-link-casing tunnel" mask-class="tunnel-core highway-secondary-link-core"/>
+				<line class="highway-secondary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<line class="tunnel-casing highway-secondary-casing tunnel" mask-class="tunnel-core highway-secondary-core"/>
+				<line class="highway-secondary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<line class="tunnel-casing highway-primary-link-casing tunnel" mask-class="tunnel-core highway-primary-link-core"/>
+				<line class="highway-primary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<line class="tunnel-casing highway-trunk-link-casing tunnel" mask-class="tunnel-core highway-trunk-link-core"/>
+				<line class="highway-trunk-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<line class="tunnel-casing highway-motorway-link-casing tunnel" mask-class="tunnel-core highway-motorway-link-core"/>
+				<line class="highway-motorway-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<line class="tunnel-casing highway-primary-casing tunnel" mask-class="tunnel-core highway-primary-core"/>
+				<line class="highway-primary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<line class="tunnel-casing highway-trunk-casing tunnel" mask-class="tunnel-core highway-trunk-core"/>
+				<line class="highway-trunk-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<line class="tunnel-casing highway-motorway-casing tunnel" mask-class="tunnel-core highway-motorway-core"/>
+				<line class="highway-motorway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="railway" v="*">
+				<rule e="way" k="construction" v="yes|true">
+					<line class="railway-con-casing railway-con-casing-color tunnel-casing tunnel" mask-class="tunnel-core railway-con-2-core"/>
+					<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="planned|proposed" v="yes|true">
+						<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-2-core"/>
+						<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="disused" v="yes|true">
+							<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-2-core"/>
+							<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="abandoned|dismantled" v="yes|true">
+								<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-2-core"/>
+								<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="railway" v="construction">
+									<line class="railway-con-casing railway-con-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-con-2-core"/>
+									<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="planned|proposed">
+									<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-2-core"/>
+									<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="disused">
+									<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-2-core"/>
+									<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="abandoned|dismantled">
+									<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-2-core"/>
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="rail">
+									<rule e="way" k="service" v="spur|yard|siding">
+										<line class="railway-yard-casing railway-yard-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-yard-2-core"/>
+										<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core railway-yard-tunnel-core tunnel"  smart-linecap="no" />
+									</rule>
+									<else>
+										<line class="railway-rail-casing railway-rail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-rail-2-core"/>
+										<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core railway-rail-tunnel-core tunnel"  smart-linecap="no" />
+									</else>
+								</rule>
+								<rule e="way" k="railway" v="narrow_gauge">
+									<line class="railway-narrow-casing railway-narrow-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-narrow-2-core"/>
+									<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core railway-narrow-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="preserved">
+									<line class="railway-preserved-casing railway-preserved-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-preserved-2-core"/>
+									<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core railway-preserved-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="light_rail">
+									<line class="railway-light-casing railway-light-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-light-2-core"/>
+									<line class="railway-light-2-core railway-light-2-core-color railway-2-core railway-light-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="tram">
+									<line class="railway-tram-casing railway-tram-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-tram-2-core"/>
+									<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core railway-tram-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="subway">
+									<line class="railway-subway-casing railway-subway-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-subway-2-core"/>
+									<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core railway-subway-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="incline|funicular">
+									<line class="railway-funicular-casing railway-funicular-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-funicular-2-core"/>
+									<line class="railway-funicular-1-core railway-funicular-1-core-color railway-1-core railway-funicular-tunnel-core tunnel"  smart-linecap="no" />
+									<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core railway-funicular-tunnel-core tunnel-casing tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="monorail">
+									<line class="railway-monorail-casing railway-monorail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-monorail-2-core"/>
+									<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core railway-monorail-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="spur|yard|siding">
+									<line class="railway-yard-casing railway-yard-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-yard-2-core"/>
+									<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core railway-yard-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+							</else>
+						</else>
+					</else>
+				</else>
+				<line class="railway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+		</rule>
+		
+		<!-- Linear cores (under construction) -->
+		<rule e="way" k="highway" v="construction">
+			<rule e="way" k="construction" v="unsurfaced">
+				<line class="highway-core highway-unsurfaced-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="service">
+				<line class="highway-core highway-service-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="unclassified|residential|minor|cycleroad|living_street">
+				<line class="highway-core highway-unclassified-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="~|road|yes">
+				<line class="highway-core highway-road-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary_link">
+				<line class="highway-core highway-tertiary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary">
+				<line class="highway-core highway-tertiary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary_link">
+				<line class="highway-core highway-secondary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary">
+				<line class="highway-core highway-secondary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="primary_link">
+				<line class="highway-core highway-primary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk_link">
+				<line class="highway-core highway-trunk-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway_link">
+				<line class="highway-core highway-motorway-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="primary">
+				<line class="highway-core highway-primary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk">
+				<line class="highway-core highway-trunk-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway">
+				<line class="highway-core highway-motorway-core under-construction"/>
+			</rule>
+		</rule>
+		
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="construction|planned|disused|abandoned" v="yes|true">
+				<line class="wrong-under-construction" smart-linecap="no"/>
+			</rule>
+		</rule>
+
+		<!-- Piste maps: -->
+		<!-- Piste areas -->
+		<rule e="way" k="piste:type" v="downhill" closed="yes">
+			<rule e="way" k="piste:difficulty" v="novice">
+				<line class="piste-area piste-area-difficulty-novice" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="easy">
+				<line class="piste-area piste-area-difficulty-easy" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="intermediate">
+				<line class="piste-area piste-area-difficulty-intermediate" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="advanced">
+				<line class="piste-area piste-area-difficulty-advanced" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="expert">
+				<line class="piste-area piste-area-difficulty-expert" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="freeride">
+				<line class="piste-area piste-area-difficulty-freeride" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="~">
+				<line class="piste-area piste-area-difficulty-other" smart-linecap="no"/>
+			</rule>
+		</rule>
+		<!-- Piste ways -->
+		<rule e="way" k="piste:type" v="downhill" closed="no">
+			<rule e="way" k="piste:difficulty" v="novice">
+				<line class="piste-core piste-difficulty-novice" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="easy">
+				<line class="piste-core piste-difficulty-easy" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="intermediate">
+				<line class="piste-core piste-difficulty-intermediate" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="advanced">
+				<line class="piste-core piste-difficulty-advanced" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="expert">
+				<line class="piste-core piste-difficulty-expert" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="freeride">
+				<line class="piste-core piste-difficulty-freeride" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="~">
+				<line class="piste-core piste-difficulty-other" smart-linecap="no"/>
+			</rule>
+		</rule>
+		<rule e="way" k="piste:type" v="sled">
+			<line class="piste-type-sled"/>
+		</rule>
+		<rule e="way" k="piste:type" v="nordic">
+			<line smart-linecap="no" class="piste-type-nordic"/>
+		</rule>
+		
+		<!-- Aerialways (render over pistes) -->
+		<rule e="node|way" k="aerialway" v="*">
+			<line smart-linecap="no" class="aerialway-line no-bezier"/>
+			<line smart-linecap="no" class="aerialway-struts no-bezier"/>
+			<rule e="node" k="aerialway" v="station">
+				<circle r="4px" class="aerialway-station"/>
+			</rule>
+			<!-- no names are rendered in this level -->
+		</rule>
+		
+		<!-- Natural features -->
+		<rule e="node" k="natural" v="peak">
+			<symbol ref="peak" position="center"/>
+		</rule>
+		<rule e="node" k="natural" v="volcano">
+			<symbol ref="vulcan" position="center"/>
+		</rule>
+		
+		<!-- Non-physical routes -->
+		<rule e="way" k="route" v="ferry">
+			<line class="route-ferry"/>
+		</rule>
+		
+		<!-- Railway stations -->
+		<rule e="node" k="railway" v="station">
+			<rule e="node" s="way" k="railway" v="rail">
+				<circle r="6" class="railway-station"/>
+			</rule>
+			<else>
+				<circle r="4" class="railway-halt"/>
+			</else>
+		</rule>
+
+		<rule e="node" k="railway" v="halt">
+			<rule e="node" s="way" k="railway" v="tram">
+				<!-- railway=halt node on railway=tram way -->
+				<circle r="2" class="railway-halt"/>
+			</rule>
+			<else>
+				<circle r="4" class="railway-halt"/>
+			</else>
+		</rule>
+		<!-- Tram stops -->
+		<rule e="node" k="railway" v="tram_stop">
+			<circle r="2" class="railway-halt"/>
+		</rule>
+		
+		<!-- Airfields and airports -->
+		<rule e="node|way" k="aeroway" v="aerodrome">
+			<symbol ref="airport" position="center"/>
+		</rule>
+		<rule e="node|way" k="aeroway" v="airport">
+			<symbol ref="airport" position="center"/>
+		</rule>
+		
+		<!-- ==================================== Layer -5 ======================================== -->
+		
+		<!-- Landuse -->
+		<rule e="way" k="landuse" v="residential|farmyard" layer="-5">
+			<area class="landuse-residential" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="retail" layer="-5">
+			<area class="landuse-retail" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="industrial|brownfield|railway" layer="-5">
+			<area class="landuse-industrial" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="commercial" layer="-5">
+			<area class="landuse-commercial" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="construction|greenfield" layer="-5">
+			<area class="landuse-construction" layer="-5"/>
+		</rule>
+	
+		<!-- Artificial landuse -->
+		<rule e="way" k="amenity" v="kindergarten|school|college|university" layer="-5">
+			<area class="amenity-school" layer="-5"/>
+		</rule>
+		
+		<!-- Man-made areas -->
+		<rule e="way" k="landuse" v="military" layer="-5">
+			<rule e="way" k="military" v="~" layer="-5">
+				<area class="military-area" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="military" v="*" layer="-5">
+			<area class="military-area" layer="-5"/>
+		</rule>
+		
+		<!-- ==================================== Layer 5 ======================================== -->
+		
+		<!-- Non-physical boundaries -->
+		<rule e="way" k="boundary" v="administrative" layer="5">
+			<rule e="way" k="admin_level" v="1|2|3|4" layer="5">
+				<rule e="way" k="admin_level" v="4" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="3" layer="5">
+					<line class="boundary boundary-level-3-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="2" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="1" layer="5">
+					<line class="boundary boundary-level-1-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-1-core no-bezier" layer="5"/>
+				</rule>
+			</rule>
+			<!-- If we don't have explicit admin_level then guess -->
+			<else>
+				<rule e="way" k="border_type" v="region|state" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="nation|country" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+			</else>
+		</rule>
+		<rule e="way" k="boundary" v="national_park" layer="5">
+			<line class="boundary boundary-nationalpark-core no-bezier" layer="5"/>
+		</rule>
+		
+		<!-- Place names  -->
+		<rule e="node|way" k="osmarender:renderName" v="~|yes" layer="5">
+			<rule e="node" k="place" v="island" layer="5">
+				<caption k="name" class="place-caption island-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="islet" layer="5">
+				<caption k="name" class="place-caption islet-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="city" layer="5">
+				<caption k="name" class="place-caption city-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="town" layer="5">
+				<caption k="name" class="place-caption town-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="village" layer="5">
+				<caption k="name" class="place-caption village-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="suburb" layer="5">
+				<caption k="name" class="place-caption suburb-caption" layer="5"/>
+			</rule>
+			<rule e="node|way" k="aeroway" v="airport" layer="5">
+				<caption k="name" class="aeroway-airport-caption" dy="-15px" layer="5"/>
+			</rule>
+		</rule>
+		
+		<!-- Names for large natural features -->
+		<rule e="way" k="natural" v="*" minSize="0.032" layer="5">
+			<caption k="name" class="caption-casing largefeature-caption-casing" text-anchor='middle' startOffset='50%'/>
+			<caption k="name" class="caption-core largefeature-caption-core" text-anchor='middle' startOffset='50%'/>
+		</rule>
+	</rule>
+	
+	<!-- SVG Definitions - markers, symbols etc go here -->
+	<include ref="markers.xml"/>
+	<defs>
+		<style xmlns="http://www.w3.org/2000/svg" id="styles" type="text/css">
+			/* DO NOT DELETE .untagged-segments - Used by osmarender.xsl */
+			.untagged-segments {
+			stroke-width: 0.5px;
+			stroke-linejoin: miter;
+			stroke-linecap: butt;
+			stroke: #e0e0e0;
+			stroke-dasharray: 0.5,0.5;
+			}			
+			
+			/* Highways - generic styles */
+			.highway-casing {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.highway-core {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.highway-motorway-junction {
+			fill: yellow;
+			stroke: #4D5D73;
+			stroke-width: 2px;
+			}
+			
+			.highway-motorway-junction-caption {
+			fill: black;
+			stroke: blue;
+			stroke-width: 0.2px;
+			font-family: "DejaVu Sans";
+			font-size: 10px;
+			font-weight: bold;
+			display: none;
+			}
+			
+			.highway-ref {
+			fill: #606060;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			text-anchor: middle;
+			}
+			
+			.highway-name {
+			fill: black;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			text-anchor: middle;
+			}
+			
+			.bridge-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			marker-start: url(#bridge-casing-start);
+			marker-end: url(#bridge-casing-end);
+			}
+			
+			.bridge-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #ffffff;
+			fill: none;
+			}
+			
+			.tunnel-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.tunnel-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.tunnel { stroke-dasharray: 3.7, 3.7; }
+			
+			.railway-casing { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-1-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-2-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-core   { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+
+			.railway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			stroke: #b0b0b0;
+			stroke-width: 8px;
+			}
+
+			.railway-main-casing                    { stroke-width: 4.9px; }
+			.railway-main-2-core                    { stroke-width: 3.7px; }
+			.railway-rail-casing                    { stroke-width: 3.9px; }
+			.railway-rail-2-core                    { stroke-width: 2.7px; }
+			.railway-rail-casing-color              { stroke: #404040; }
+			.railway-rail-2-core-color              { stroke: #404040; }
+			.railway-rail-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-narrow-casing                    { stroke-width: 3.9px; }
+			.railway-narrow-2-core                    { stroke-width: 2.7px; }
+			.railway-narrow-casing-color              { stroke: #404040; }
+			.railway-narrow-2-core-color              { stroke: #404040; }
+			.railway-narrow-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-preserved-casing                    { stroke-width: 3.9px; }
+			.railway-preserved-2-core                    { stroke-width: 2.7px; }
+			.railway-preserved-casing-color              { stroke: #595959; }
+			.railway-preserved-2-core-color              { stroke: #595959; }
+			.railway-preserved-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-light-casing                    { stroke-width: 3.9px; }
+			.railway-light-2-core                    { stroke-width: 2.7px; }
+			.railway-light-casing-color              { stroke: #008000; }
+			.railway-light-2-core-color              { stroke: #008000; }
+			.railway-light-tunnel-core               { stroke-opacity: 0.2; }
+
+			.railway-tram-casing                    { stroke-width: 3.9px; }
+			.railway-tram-2-core                    { stroke-width: 2.7px; }
+			.railway-tram-casing-color              { stroke: #800080; }
+			.railway-tram-2-core-color              { stroke: #800080; }
+			.railway-tram-tunnel-core               { stroke-opacity: 0.2; }
+
+			.railway-subway-casing                    { stroke-width: 3.9px; }
+			.railway-subway-2-core                    { stroke-width: 2.7px; }
+			.railway-subway-casing-color              { stroke: #000080; }
+			.railway-subway-2-core-color              { stroke: #000080; }
+			.railway-subway-tunnel-core               { stroke-opacity: 0.2; }
+
+			.railway-funicular-casing                    { stroke-width: 3.9px; }
+			.railway-funicular-2-core                    { stroke-width: 2.7px; }
+			.railway-funicular-casing-color              { stroke: #800000; }
+			.railway-funicular-2-core-color              { stroke: #800000; }
+			.railway-funicular-tunnel-core               { stroke-opacity: 0.2; }
+
+			.railway-monorail-casing                    { stroke-width: 3.9px; }
+			.railway-monorail-2-core                    { stroke-width: 2.7px; }
+			.railway-monorail-casing-color              { stroke: #b20000; }
+			.railway-monorail-2-core-color              { stroke: #b20000; }
+			.railway-monorail-tunnel-core               { stroke-opacity: 0.2; }
+
+			.railway-yard-casing                    { stroke-width: 2.9px; }
+			.railway-yard-2-core                    { stroke-width: 1.7px; }
+			.railway-yard-casing-color              { stroke: #404040; }
+			.railway-yard-2-core-color              { stroke: #404040; }
+			.railway-yard-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-con-casing                { stroke-width: 3.9px; }
+			.railway-con-2-core                { stroke-width: 2.7px; stroke-dasharray: 3,3; }
+			.railway-con-casing-color          { stroke: #404040; }
+			.railway-con-2-core-color          { stroke: #404040; }
+			.railway-con-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-pla-casing                { stroke-width: 2.9px; }
+			.railway-pla-2-core                { stroke-width: 1.7px; stroke-dasharray: 1.5,1.5; }
+			.railway-pla-casing-color          { stroke: #b2b2b2; }
+			.railway-pla-2-core-color          { stroke: #b2b2b2; }
+			.railway-pla-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-dis-casing                { stroke-width: 2.9px; }
+			.railway-dis-2-core                { stroke-width: 1.7px; stroke-opacity: 0.5; }
+			.railway-dis-casing-color          { stroke: #808080; }
+			.railway-dis-2-core-color          { stroke: #808080; }
+			.railway-dis-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-aba-casing                { stroke-width: 2.3px; }
+			.railway-aba-2-core                { stroke-width: 1.1px; stroke-opacity: 0.3; }
+			.railway-aba-casing-color          { stroke: #b2b2b2; }
+			.railway-aba-2-core-color          { stroke: #b2b2b2; }
+			.railway-aba-tunnel-core               { stroke-opacity: 0.1; }
+						
+			.highway-motorway-casing                { stroke-width: 16px; stroke: #202020; }
+			.highway-motorway-area-casing           { stroke-width: 1px; }
+			.highway-motorway-core                  { stroke-width: 15px; stroke: #809BC0; }
+			.highway-motorway-area                  { fill: #809BC0; }
+			
+			.highway-motorway-link-casing           { stroke-width: 8px; stroke: #202020; }
+			.highway-motorway-link-area-casing      { stroke-width: 0.5px; }
+			.highway-motorway-link-core             { stroke-width: 7.5px; stroke: #809BC0; }
+			.highway-motorway-link-area             { fill: #809BC0; }
+			
+			.highway-trunk-casing                   { stroke-width: 14px; stroke: #202020; }
+			.highway-trunk-mr2-casing               { stroke-width: 19px;     stroke: #809BC0; }
+			.highway-trunk-mr3-casing               { stroke-width: 19px;     stroke: #FDBF6F; }
+			.highway-trunk-area-casing              { stroke-width: 1px; }
+			.highway-trunk-core                     { stroke-width: 13px; stroke: #7FC97F; }
+			.highway-trunk-area                     { fill: #7FC97F; }
+			
+			.highway-trunk-link-casing              { stroke-width: 7px; stroke: #202020; }
+			.highway-trunk-link-mr2-casing          { stroke-width: 9px;     stroke: #809BC0; }
+			.highway-trunk-link-mr3-casing          { stroke-width: 9px;     stroke: #FDBF6F; }
+			.highway-trunk-link-area-casing         { stroke-width: 0.5px; }
+			.highway-trunk-link-core                { stroke-width: 6.5px; stroke: #7FC97F; }
+			.highway-trunk-link-area                { fill: #7FC97F; }
+			
+			.highway-primary-casing                 { stroke-width: 11px; stroke: #202020; }
+			.highway-primary-mr2-casing             { stroke-width: 16px;     stroke: #809BC0; }
+			.highway-primary-area-casing            { stroke-width: 1px; }
+			.highway-primary-core                   { stroke-width: 10px; stroke: #e46d71; }
+			.highway-primary-area                   { fill: #e46d71; }
+			
+			.highway-primary-link-casing            { stroke-width: 6px; stroke: #202020; }
+			.highway-primary-link-mr2-casing        { stroke-width: 7px;     stroke: #809BC0; }
+			.highway-primary-link-area-casing       { stroke-width: 0.5px; }
+			.highway-primary-link-core              { stroke-width: 5.5px; stroke: #e46d71; }
+			.highway-primary-link-area              { fill: #e46d71; }
+			
+			.highway-secondary-casing               { stroke-width: 10px; stroke: #202020; }
+			.highway-secondary-mr2-casing           { stroke-width: 14px;     stroke: #809BC0; }
+			.highway-secondary-area-casing          { stroke-width: 1px; }
+			.highway-secondary-core                 { stroke-width: 9px; stroke: #FDBF6F; }
+			.highway-secondary-area                 { fill: #FDBF6F; }
+			
+			.highway-secondary-link-casing          { stroke-width: 6px; stroke: #202020; }
+			.highway-secondary-link-mr2-casing      { stroke-width: 7px;     stroke: #809BC0; }
+			.highway-secondary-link-area-casing     { stroke-width: 0.5px; }
+			.highway-secondary-link-core            { stroke-width: 5.5px; stroke: #FDBF6F; }
+			.highway-secondary-link-area            { fill: #FDBF6F; }
+			
+			.highway-tertiary-casing                { stroke-width: 6.25px;  stroke: #202020; }
+			.highway-tertiary-mr2-casing            { stroke-width: 7px;     stroke: #809BC0; }
+			.highway-tertiary-area-casing           { stroke-width: 0.75px; }
+			.highway-tertiary-core                  { stroke-width: 5.5px;  stroke: #ffff90; }
+			.highway-tertiary-area                  { fill: #ffff90; }
+			
+			.highway-tertiary-link-casing           { stroke-width: 6.25px;  stroke: #202020; }
+			.highway-tertiary-link-mr2-casing       { stroke-width: 7px;     stroke: #809BC0; }
+			.highway-tertiary-link-area-casing      { stroke-width: 0.75px; }
+			.highway-tertiary-link-core             { stroke-width: 5.5px;  stroke: #ffff90; }
+			.highway-tertiary-link-area             { fill: #ffff90; }
+			
+			.highway-unclassified-casing            { stroke-width: 6px; stroke: #202020; }
+			.highway-unclassified-area-casing       { stroke-width: 0.5px; }
+			.highway-unclassified-core              { stroke-width: 5.5px; stroke: #ffffff; }
+			.highway-ford-core                      { stroke-width: 5.5px; stroke: #b5d6f1; stroke-linecap: butt; }
+			.highway-unclassified-area              { fill: #ffffff; }
+			.highway-road-core                      { stroke-width: 5.5px; stroke: #d0d0d0; }
+			.highway-road-area                      { fill: #d0d0d0; }
+			
+			.highway-service-casing                   { stroke-width: 2.4px;   stroke: #e6e6e6; }
+			.highway-service-area-casing              { stroke-width: 0.6px;   }
+			.highway-service-core                     { stroke-width: 1.8px;   stroke: #909090; stroke-dasharray: 9, 4.5; stroke-linecap: butt; }
+			.highway-service-area                     { fill: #e6e6e6; }
+
+			.highway-unsurfaced-casing                   { stroke-width: 2.4px;   stroke: #e6e6e6; }
+			.highway-unsurfaced-area-casing              { stroke-width: 0.6px;   }
+			.highway-unsurfaced-core                     { stroke-width: 1.8px;   stroke: #909090; stroke-dasharray: 9, 4.5; stroke-linecap: butt; }
+			.highway-unsurfaced-area                     { fill: #e6e6e6; }
+			
+			.highway-track-casing                   { stroke-width: 2.4px;   stroke: #fff2de; stroke-opacity: 0.75; }
+			.highway-track-area-casing              { stroke-width: 0.6px;   }
+			.highway-track-core                     { stroke-width: 1.8px;   stroke: #d79331; }
+			.highway-track-area                     { fill: #fff2de; }
+
+			.highway-track-gradex-core            { stroke-dasharray: 12, 4.5; stroke-linecap: butt; }
+			.highway-track-grade1-core            { }
+			.highway-track-grade2-core            { stroke-dasharray: 9, 6; stroke-linecap: butt; }
+			.highway-track-grade3-core            { stroke-dasharray: 4.5, 6; stroke-linecap: butt; }
+			.highway-track-grade4-core            { stroke-dasharray: 4.5, 4.5, 1.5, 4.5; stroke-linecap: butt; }
+			.highway-track-grade5-core            { stroke-dasharray: 1.5, 4.5; stroke-linecap: butt; }
+
+			.highway-byway-casing                   { stroke-width: 2.4px;   stroke: #efadaa; }
+			.highway-byway-area-casing              { stroke-width: 0.6px;   }
+			.highway-byway-core                     { stroke-width: 1.8px;   stroke: #bf514d; stroke-dasharray: 9, 6; stroke-linecap: butt; }
+			.highway-byway-area                     { fill: #efadaa; }
+			.highway-byway-name                     { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-byway-ref                      { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-bridleway-casing                   { stroke-width: 2.4px;   stroke: #e6dda5; }
+			.highway-bridleway-area-casing              { stroke-width: 0.6px;   }
+			.highway-bridleway-core                     { stroke-width: 1.8px;   stroke: #a9d355; stroke-dasharray: 4.5, 6; stroke-linecap: butt; }
+			.highway-bridleway-area                     { fill: #e6dda5; }
+			
+			.highway-cycleway-casing                   { stroke-width: 2.4px;   stroke: #d1fad1; }
+			.highway-cycleway-area-casing              { stroke-width: 0.6px;   }
+			.highway-cycleway-core                     { stroke-width: 1.8px;   stroke: #4dbf4d; stroke-dasharray: 4.5, 6; stroke-linecap: butt; }
+			.highway-cycleway-area                     { fill: #d1fad1; }
+			
+			.highway-cycleroad-casing                   { stroke-width: 2.4px;   stroke: #d1fad1; }
+			.highway-cycleroad-area-casing              { stroke-width: 0.6px;   }
+			.highway-cycleroad-core                     { stroke-width: 1.8px;   stroke: #4dbf4d; stroke-dasharray: 9, 6; stroke-linecap: butt; }
+			.highway-cycleroad-area                     { fill: #d1fad1; }
+			
+			.highway-pedestrian-casing                   { stroke-width: 2.4px;   stroke: #e5e0c2; }
+			.highway-pedestrian-area-casing              { stroke-width: 0.6px;   }
+			.highway-pedestrian-core                     { stroke-width: 1.8px;   stroke: #bfba4d; stroke-dasharray: 9, 6; stroke-linecap: butt; }
+			.highway-pedestrian-area                     { fill: #e5e0c2; }
+
+			.highway-footway-casing                   { stroke-width: 2.4px;   stroke: #e5e0c2; }
+			.highway-footway-area-casing              { stroke-width: 0.6px;   }
+			.highway-footway-core                     { stroke-width: 1.8px;   stroke: #bfba4d; stroke-dasharray: 4.5, 6; stroke-linecap: butt; }
+			.highway-footway-area                     { fill: #e5e0c2; }
+			
+			.highway-steps-casing                   { stroke-width: 2.4px;   stroke: #e5e0c2; }
+			.highway-steps-area-casing              { stroke-width: 0.6px;   }
+			.highway-steps-core                     { stroke-width: 1.8px;   stroke: #bfba4d; stroke-dasharray: 1.5, 4.5; stroke-linecap: butt; }
+			.highway-steps-area                     { fill: #e5e0c2; }
+
+			.highway-path-casing                   { stroke-width: 2.4px;   stroke: #e6e6e6; }
+			.highway-path-area-casing              { stroke-width: 0.6px;   }
+			.highway-path-core                     { stroke-width: 1.8px;   stroke: #909090; stroke-dasharray: 4.5, 6; stroke-linecap: butt; }
+			.highway-path-area                     { fill: #e6e6e6; }
+
+			.highway-scramble-core                  { stroke-width: 0.6px;   stroke: #707070; stroke-linecap: butt;}
+			
+			
+			/* Aeroways */
+			.aeroway-aerodrome {
+			stroke-width: 0.5px;
+			stroke: #000000;
+			fill: #d8dcce;
+			}
+			
+			.aeroway-apron {
+			stroke-width: 0.3px;
+			stroke: none;
+			fill: #f0f0f0;
+			}
+			
+			.aeroway-taxiway-core {
+			stroke-width: 2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #d4dcbd;
+			fill: none;
+			}
+			
+			.aeroway-taxiway-casing {
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #000000;
+			fill: none;
+			}
+			
+			.aeroway-runway-core {
+			stroke-width: 5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #d4dcbd;
+			fill: none;
+			}
+			
+			.aeroway-runway-casing {
+			stroke-width: 7px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #000000;
+			fill: none;
+			}
+			
+			.aeroway-aerodrome-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.3px;
+			font-family: "DejaVu Sans";
+			font-size: 6px;
+			font-weight: bold;
+			}
+			
+			.aeroway-airport-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.3px;
+			font-family: "DejaVu Sans";
+			font-size: 20px;
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			
+			/* Waterways */
+			.waterway-casing {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b0b0b0;
+			fill: none;
+			}
+			
+			.waterway-core {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b5d6f1;
+			fill: none;
+			}
+			
+			.waterway-riverbank {
+			fill: #b5d6f1;
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+			
+			.waterway-river-casing          { stroke-width: 6px; }
+			.waterway-river-core            { stroke-width: 6px; }
+			.waterway-river-tunnel-core     { stroke-width: 4px; stroke-dasharray: 9, 9; }
+			
+			.waterway-stream-casing         { stroke-width: 2px; }
+			.waterway-stream-core           { stroke-width: 2px; }
+			.waterway-stream-tunnel-core    { stroke-width: 1.5px; stroke-dasharray: 6, 6; }
+			
+			.waterway-canal-casing          { stroke-width: 6px; }
+			.waterway-canal-core            { stroke-width: 6px; }
+			.waterway-canal-tunnel-core     { stroke-width: 4px; stroke-dasharray: 9, 9; }
+			
+			.waterway-drain-casing          { stroke-width: 3px; }
+			.waterway-drain-core            { stroke-width: 3px; }
+			.waterway-drain-tunnel-core     { stroke-width: 2px; stroke-dasharray: 4.5, 4.5; }
+			
+			.waterway-ditch-casing          { stroke-width: 0.8px; }
+			.waterway-ditch-core            { stroke-width: 0.8px; }
+			.waterway-ditch-tunnel-core     { stroke-width: 0.6px; stroke-dasharray: 6, 6; }
+			
+			
+			/* Generic under-construction style - makes any way dashed */
+			.under-construction { stroke-dasharray: 12, 18; }
+			.wrong-under-construction { stroke-width:5px; stroke: #ffffff; stroke-dasharray: 20, 20; fill:none; }
+
+
+			.railway-station {
+			fill: red;
+			stroke: #606060;
+			stroke-width: 1px;
+			}
+			
+			.railway-halt {
+			fill: black;
+			stroke: black;
+			}
+			
+			/* Ferry */
+			.route-ferry {
+			stroke-width: 1.0px;
+			stroke-dasharray: 3,2;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			}
+			
+			
+			/* Points of interest */
+			.point-of-interest {
+			fill: red;
+			stroke: black;
+			stroke-width: 0.5px;
+			}
+			
+			
+			/* Place names */
+			/* General style for place names */
+			.place-caption {
+			fill: black;
+			stroke: none;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			.caption-casing {
+			fill: white;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.caption-core {
+			stroke: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.city-caption           { font-size: 40px; }
+			.town-caption           { font-size: 30px; }
+			.island-caption         { font-size: 20px; opacity: 0.75; }
+			.islet-caption          { font-size: 16px; }
+			.village-caption        { font-size: 20px; }
+			.suburb-caption         { font-size: 20px; }
+			
+			.largefeature-caption-casing        { stroke-width: 5px; font-size: 15px; }
+			.largefeature-caption-core          { fill: #4040ff;      font-size: 15px; }
+			
+			/* Natural */
+			.natural-water {
+			fill: #b5d6f1;
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+			
+			.natural-coastline {
+			fill: #b5d6f1;
+			stroke: #b5d6f1;
+			stroke-width: 1.5px;
+			}
+
+			.natural-glacier {
+			fill: #fafaff;
+			stroke: lightblue;
+			stroke-width: 1.5px;
+			}
+			
+			.natural-land {
+			fill: #f8f8f8;
+			stroke: #e0e0e0;
+			stroke-width: 0.1px;
+			}
+			
+			.natural-heath {
+			fill: #ffffc0;
+			stroke: #ffff90;
+			stroke-width: 0.2px;
+			}
+			
+			.wetland-bog {
+			fill: #946e50;
+			stroke: #3f1f06;
+			stroke-width: 0.2px;
+			}
+			
+			/* Landuse */
+			.landuse-wood {
+			fill: #6fc18e;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-cemetery {
+			fill: #bde3cb;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-vineyard {
+			fill: #d1ead1;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-field {
+			fill: #ebfff2;
+			stroke: #9ee673;
+			stroke-width: 0.1px;
+			}
+			.landuse-allotment-village {
+			fill: #bde3cb;
+			stroke: #6fc13d;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-residential {
+			stroke: none;
+			fill: #e4e4e4;
+			}
+			
+			.landuse-industrial {
+			fill: #ecd8ff;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-construction {
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			fill: #a47c41;
+			}
+			
+			.landuse-commercial {
+			fill: #ffffc0;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-quarry {
+			fill: #e9dd72;
+			stroke: #556b2f;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-retail {
+			fill: #ffebeb;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-runway {
+			stroke-width: 0.3px;
+			stroke: #808080;
+			fill: #d4dcbd;
+			}
+			
+			.landuse-runway-disused {
+			stroke-width: 0.3px;
+			stroke: #808080;
+			fill: #d4dcbd;
+			stroke-dasharray: 1, 1;
+			}
+			
+			.landuse-runway-dismantled {
+			stroke-width: 0.3px;
+			stroke: #808080;
+			fill: #fcffef;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+			
+			.landuse-conservation {
+			fill: #cfeca8;
+			stroke: #6fc18e;
+			stroke-width: 0.2px
+			}
+			
+			.man_made-wastewater {
+			fill: #e4e4e4;
+			}
+			
+			/* Leisure */
+			.leisure-park {
+			fill: #c7f1a3;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.leisure-stadium {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.leisure-track-area {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.1px;
+			}
+			
+			.leisure-track-casing {
+			fill: none;
+			stroke: #6fc18e;
+			stroke-width: 1.8px;
+			}
+			
+			.leisure-track-core {
+			fill: none;
+			stroke: #bde3cb;
+			stroke-width: 1.6px;
+			}
+			
+			.leisure-swimming-pool {
+			fill: #b5d6f1;
+			stroke: #6060ff;
+			stroke-width: 0.2px;
+			}
+			
+			.leisure-national_park {
+			fill: url(#national-park-pattern);
+			}
+			.leisure-nature_reserve {
+			fill: url(#nature-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.leisure-landscape_reserve {
+			fill: url(#landscape-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.sport {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.sport-swimming {
+			fill: #b5d6f1;
+			stroke: #6060ff;
+			stroke-width: 0.2px;
+			}
+			
+			.sport-tennis {
+			fill: #d18a6a;
+			stroke: #B36C4C;
+			stroke-width: 0.2px;
+			}
+			
+			.amenity-parking {
+			fill: #ffffc0;
+			stroke: #e9dd72;
+			stroke-width: 0.2px;
+			}
+			
+			.amenity-school {
+			fill: #cdabde;
+			stroke: #e9dd72;
+			stroke-width: 0.2px;
+			}
+			
+			.military-area {
+			fill: #d0d050;
+			fill-opacity: 0.5;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			
+			/* Non-physical boundaries */
+			.boundary {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.boundary-level-1-casing {
+			stroke-width: 28px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+			
+			.boundary-level-1-core {
+			stroke-width: 4px;
+			stroke: #f9574b;
+			stroke-dasharray: 24, 8, 8, 8;
+			}
+			
+			.boundary-level-2-casing {
+			stroke-width: 12px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+			
+			.boundary-level-2-core {
+			stroke-width: 4px;
+			stroke: #f9574b;
+			stroke-dasharray: 24, 24;
+			}
+			
+			.boundary-level-3-core {
+			stroke-width: 4px;
+			stroke: #f9574b;
+			}
+			
+			.boundary-level-4-core {
+			stroke-width: 4px;
+			stroke: #f9574b;
+			stroke-dasharray: 24, 8, 8, 8;
+			}
+			
+			.boundary-nationalpark-core {
+			stroke-width: 4px;
+			stroke: #4ef94b;
+			stroke-dasharray: 24, 8, 8, 8;
+			}
+			
+			
+			/* Racetracks */
+			.highway-raceway-casing {
+			stroke-width: 2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #101010;
+			}
+			
+			.highway-raceway-casing-disused {
+			stroke-width: 2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 1, 1;
+			}
+			
+			.highway-raceway-casing-dismantled {
+			stroke-width: 2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+			
+			.highway-raceway-core {
+			stroke-width: 1.5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-raceway-core-disused {
+			stroke-width: 1.5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke-dasharray: 1, 1;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-raceway-core-dismantled {
+			stroke-width: 1.5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ffffff;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+			
+			.landuse-raceway {
+			stroke-width: 0.3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #101010;
+			}
+			
+			.landuse-raceway-disused {
+			stroke-width: 0.3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #808080;
+			stroke-dasharray: 1, 1;
+			}
+			
+			.landuse-raceway-dismantled {
+			stroke-width: 0.3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #ffffff;
+			stroke: #808080;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+			
+			
+			/* Tourism */
+			.tourism-attraction {
+			fill: #f2caea;
+			stroke: #ff00ff;
+			stroke-width: 0px;
+			}
+			.tourism-green-area {
+			fill: #c7f1a3;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.tourism-attraction-caption {
+			fill: #ff00ff;
+			stroke: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-size: 3px;
+			font-weight: bold;
+			}
+			
+			
+			/* Building */
+			.building {
+			fill: #e0e0e0;
+			stroke: #d0d0d0;
+			stroke-width: 0.2px;
+			}
+			
+			.building-block {
+			fill: #F3D6B6;
+			stroke: #6a5a8e;
+			stroke-width: 0.2px;
+			}
+			
+			.building-residential {
+			fill: #c95e2a;
+			stroke: #800000;
+			stroke-width: 0.2px;
+			}
+			
+			
+			/* Aerialway */
+			
+			.aerialway-line {
+			fill: none;
+			stroke: #202020;
+			stroke-width: 0.2px;
+			}
+			
+			.aerialway-struts {
+			fill: none;
+			stroke: #202020;
+			stroke-width: 4px;
+			stroke-dasharray: 0.2,10;
+			stroke-linecap: butt;
+			}
+			
+			.aerialway-station {
+			fill: black;
+			stroke: black;
+			}
+			
+			.aerialway-name {
+			fill: black;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 5px;
+			stroke: none;
+			text-anchor: middle;
+			}
+			
+			/* Piste maps */
+			.piste-core {
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke-width: 5px;
+			opacity: 0.66;
+			}
+			
+			.piste-area {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke-width: 5px;
+			opacity: 0.66;
+			}
+			
+			.piste-difficulty-novice       { stroke: #40ff40; }
+			.piste-difficulty-easy         { stroke: #4040ff; }
+			.piste-difficulty-intermediate { stroke: #ff4040; }
+			.piste-difficulty-advanced     { stroke: #000000; }
+			.piste-difficulty-expert       { stroke: #f6800a; }
+			.piste-difficulty-freeride     { stroke: #f6dd0a; }
+			.piste-difficulty-other        { stroke: #505050; }
+			.piste-area-difficulty-novice       { stroke: #40ff40; fill: #40ff40; }
+			.piste-area-difficulty-easy         { stroke: #4040ff; fill: #4040ff; }
+			.piste-area-difficulty-intermediate { stroke: #ff4040; fill: #ff4040; }
+			.piste-area-difficulty-advanced     { stroke: #000000; fill: #000000; }
+			.piste-area-difficulty-expert       { stroke: #f6800a; fill: #f6800a; }
+			.piste-area-difficulty-freeride     { stroke: #f6dd0a; fill: #f6dd0a; }
+			.piste-area-difficulty-other        { stroke: #505050; fill: #505050; }
+			
+			.piste-type-sled {
+			fill: none;
+			stroke: #cdabde;
+			stroke-width: 2.5px;
+			marker-start:url(#marker-piste-type-sled);
+			}
+			
+			.piste-type-nordic {
+			fill: none;
+			stroke: #c00000;
+			stroke-width: 1px;
+			stroke-dasharray: 3,0.5;
+			stroke-linejoin: bevel;
+			stroke-linecap: butt;
+			marker-start:url(#marker-piste-type-nordic);
+			}
+			
+			/* Power line */
+			.power-line {
+			stroke-width: 0.1px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #d0d0d0;
+			stroke-dasharray: 1 ,1;
+			fill: none;
+			}
+			
+			/* Map decoration */
+			.map-grid-line {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0.5;
+			}
+			
+			.map-border-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 3px;
+			stroke-miterlimit: 4;
+			stroke-dasharray: none;
+			stroke-opacity: 1;
+			stroke-linecap: round;
+			}
+			
+			.map-border-core {
+			fill: none;
+			fill-opacity: 1;
+			fill-rule: nonzero;
+			stroke: #ffffff;
+			stroke-width: 2px;
+			stroke-miterlimit: 0;
+			stroke-dashoffset: -0.5px;
+			stroke-opacity: 1;
+			}
+			
+			.map-scale-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-core {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-bookend {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 1px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-caption {
+			font-family: "DejaVu Sans";
+			font-size: 10px;
+			fill: #8080ff;
+			}
+			
+			<!-- map background must be the same for all zooms or else empty tile detection will fail -->
+			.map-background {
+			fill: #f8f8f8;
+			stroke: none;
+			}
+			
+			.map-title {
+			font-family: "DejaVu Sans";
+			font-size: 20px;
+			text-anchor: middle;
+			fill: black;
+			}
+			
+			.map-title-background {
+			fill: white;
+			}
+			
+			.map-marginalia-background {
+			fill: white;
+			}
+			
+			.highway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			}
+			
+			/* Osmarender built-in styles - do not remove */
+			.osmarender-stroke-linecap-round { stroke-linecap: round; }
+			.osmarender-stroke-linecap-butt { stroke-linecap: butt; }
+			.osmarender-mask-black { stroke: black; }
+			.osmarender-mask-white { stroke: white; }
+			.osmarender-no-marker-start { marker-start: none; }
+			.osmarender-no-marker-end { marker-end: none; }
+			
+			
+		</style>
+		<svg:pattern id="nature-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(18.3108)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.1" d="
+		M0.2,0.1 L1.8,0.9 M2.2,0.9 L3.8,0.1   M4.2,0.1 L5.8,0.9 M6.2,0.9 L7.8,0.1   M8.2,0.1 L9.8,0.9 M10.2,0.9 L11.8,0.1
+		M0.2,1.9 L1.8,1.1 M2.2,1.1 L3.8,1.9   M4.2,1.9 L5.8,1.1 M6.2,1.1 L7.8,1.9   M8.2,1.9 L9.8,1.1 M10.2,1.1 L11.8,1.9
+		M0.2,2.1 L1.8,2.9 M2.2,2.9 L3.8,2.1   M4.2,2.1 L5.8,2.9 M6.2,2.9 L7.8,2.1   M8.2,2.1 L9.8,2.9 M10.2,2.9 L11.8,2.1
+		M0.2,3.9 L1.8,3.1 M2.2,3.1 L3.8,3.9   M4.2,3.9 L5.8,3.1 M6.2,3.1 L7.8,3.9   M8.2,3.9 L9.8,3.1 M10.2,3.1 L11.8,3.9
+		M0.2,4.1 L1.8,4.9 M2.2,4.9 L3.8,4.1   M4.2,4.1 L5.8,4.9 M6.2,4.9 L7.8,4.1   M8.2,4.1 L9.8,4.9 M10.2,4.9 L11.8,4.1
+		M0.2,5.9 L1.8,5.1 M2.2,5.1 L3.8,5.9   M4.2,5.9 L5.8,5.1 M6.2,5.1 L7.8,5.9   M8.2,5.9 L9.8,5.1 M10.2,5.1 L11.8,5.9
+
+		M0.2,6.1 L1.8,6.9 M2.2,6.9 L3.8,6.1   M4.2,6.1 L5.8,6.9 M6.2,6.9 L7.8,6.1   M8.2,6.1 L9.8,6.9 M10.2,6.9 L11.8,6.1
+		M0.2,7.9 L1.8,7.1 M2.2,7.1 L3.8,7.9   M4.2,7.9 L5.8,7.1 M6.2,7.1 L7.8,7.9   M8.2,7.9 L9.8,7.1 M10.2,7.1 L11.8,7.9
+		M0.2,8.1 L1.8,8.9 M2.2,8.9 L3.8,8.1   M4.2,8.1 L5.8,8.9 M6.2,8.9 L7.8,8.1   M8.2,8.1 L9.8,8.9 M10.2,8.9 L11.8,8.1
+		M0.2,9.9 L1.8,9.1 M2.2,9.1 L3.8,9.9   M4.2,9.9 L5.8,9.1 M6.2,9.1 L7.8,9.9   M8.2,9.9 L9.8,9.1 M10.2,9.1 L11.8,9.9
+		M0.2,10.1 L1.8,10.9 M2.2,10.9 L3.8,10.1   M4.2,10.1 L5.8,10.9 M6.2,10.9 L7.8,10.1   M8.2,10.1 L9.8,10.9 M10.2,10.9 L11.8,10.1
+		M0.2,11.9 L1.8,11.1 M2.2,11.1 L3.8,11.9   M4.2,11.9 L5.8,11.1 M6.2,11.1 L7.8,11.9   M8.2,11.9 L9.8,11.1 M10.2,11.1 L11.8,11.9"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.15;stroke-linecap:round;stroke-linejoin:round;" d="
+		M1.2,2.6 L1.2,1.4 L1.8,2.6 L1.8,1.4
+		M2.2,2.1 L2.45,2.1 A 0.25 0.25 0 0 0 2.45,1.4 L2.2,1.4 L2.2,2.6  M2.8,2.6 L2.3,2.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="landscape-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(14.0)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.05" d="
+		M0.4,0.2 L1.6,0.8 M2.4,0.8 L3.6,0.2   M4.4,0.2 L5.6,0.8 M6.4,0.8 L7.6,0.2   M8.4,0.2 L9.6,0.8 M10.4,0.8 L11.6,0.2
+		M0.4,1.8 L1.6,1.2 M2.4,1.2 L3.6,1.8   M4.4,1.8 L5.6,1.2 M6.4,1.2 L7.6,1.8   M8.4,1.8 L9.6,1.2 M10.4,1.2 L11.6,1.8
+		M0.4,2.2 L1.6,2.8 M2.4,2.8 L3.6,2.2   M4.4,2.2 L5.6,2.8 M6.4,2.8 L7.6,2.2   M8.4,2.2 L9.6,2.8 M10.4,2.8 L11.6,2.2
+		M0.4,3.8 L1.6,3.2 M2.4,3.2 L3.6,3.8   M4.4,3.8 L5.6,3.2 M6.4,3.2 L7.6,3.8   M8.4,3.8 L9.6,3.2 M10.4,3.2 L11.6,3.8
+		M0.4,4.2 L1.6,4.8 M2.4,4.8 L3.6,4.2   M4.4,4.2 L5.6,4.8 M6.4,4.8 L7.6,4.2   M8.4,4.2 L9.6,4.8 M10.4,4.8 L11.6,4.2
+		M0.4,5.8 L1.6,5.2 M2.4,5.2 L3.6,5.8   M4.4,5.8 L5.6,5.2 M6.4,5.2 L7.6,5.8   M8.4,5.8 L9.6,5.2 M10.4,5.2 L11.6,5.8
+
+		M0.4,6.2 L1.6,6.8 M2.4,6.8 L3.6,6.2   M4.4,6.2 L5.6,6.8 M6.4,6.8 L7.6,6.2   M8.4,6.2 L9.6,6.8 M10.4,6.8 L11.6,6.2
+		M0.4,7.8 L1.6,7.2 M2.4,7.2 L3.6,7.8   M4.4,7.8 L5.6,7.2 M6.4,7.2 L7.6,7.8   M8.4,7.8 L9.6,7.2 M10.4,7.2 L11.6,7.8
+		M0.4,8.2 L1.6,8.8 M2.4,8.8 L3.6,8.2   M4.4,8.2 L5.6,8.8 M6.4,8.8 L7.6,8.2   M8.4,8.2 L9.6,8.8 M10.4,8.8 L11.6,8.2
+		M0.4,9.8 L1.6,9.2 M2.4,9.2 L3.6,9.8   M4.4,9.8 L5.6,9.2 M6.4,9.2 L7.6,9.8   M8.4,9.8 L9.6,9.2 M10.4,9.2 L11.6,9.8
+		M0.4,10.2 L1.6,10.8 M2.4,10.8 L3.6,10.2   M4.4,10.2 L5.6,10.8 M6.4,10.8 L7.6,10.2   M8.4,10.2 L9.6,10.8 M10.4,10.8 L11.6,10.2
+		M0.4,11.8 L1.6,11.2 M2.4,11.2 L3.6,11.8   M4.4,11.8 L5.6,11.2 M6.4,11.2 L7.6,11.8   M8.4,11.8 L9.6,11.2 M10.4,11.2 L11.6,11.8"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:round;" d="
+		M5.2,3.4 L5.2,4.6 L5.8,4.6
+		M6.2,4.1 L6.45,4.1 A 0.25 0.25 0 0 0 6.45,3.4 L6.2,3.4 L6.2,4.6  M6.8,4.6 L6.3,4.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="national-park-pattern" x="0" y="0" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(14.0)">
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.5;" d="
+		M9.2,6.6 L9.2,5.4 L9.8,6.6 L9.8,5.4
+		M10.2,6.1 L10.45,6.1 A 0.25 0.25 0 0 0 10.45,5.4 L10.2,5.4 L10.2,6.6 "/>
+		</svg:pattern>
+
+	</defs>
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z14.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z14.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z14.xml	(revision 35743)
@@ -0,0 +1,3701 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Tiles@Home Rules File for zoom level 14 -->
+<rules
+	  xmlns:xlink="http://www.w3.org/1999/xlink"
+	  xmlns:svg="http://www.w3.org/2000/svg"
+	  data="data.osm"
+	  svgBaseProfile="full"
+	  scale="1"
+	  symbolScale="0.86"
+	  textAttenuation="1.0"
+	  minimumMapWidth="0.5"
+	  minimumMapHeight="0.5"
+	  withOSMLayers="yes"
+	  withUntaggedSegments="no"
+	  showScale="no"
+	  showGrid="no"
+	  showBorder="no"
+	  showLicense="no"
+	  symbolsDir="../stylesheets/symbols"
+	  interactive="no">
+	
+	
+	<!-- Select all nodes and ways (unless they have an osmarender:render=no tag) -->
+	<rule e="node|way" k="osmarender:render" v="~|yes">
+		
+		<!-- Landuse -->
+		<rule e="way" k="landuse" v="landfill|quarry">
+			<area class="landuse-quarry"/>
+		</rule>
+		<rule e="way" k="landuse" v="cemetery">
+			<rule e="way" k="religion" v="christian">
+				<area class="landuse-cemetery-christian"/>
+			</rule>
+			<else>
+				<area class="landuse-cemetery"/>
+			</else>
+		</rule>
+		<rule e="way" k="amenity" v="grave_yard">
+			<rule e="way" k="religion" v="christian">
+				<area class="landuse-cemetery-christian"/>
+			</rule>
+			<else>
+				<area class="landuse-cemetery"/>
+			</else>
+		</rule>
+		<rule e="way" k="landuse" v="vineyard">
+			<area class="landuse-vineyard"/>
+		</rule>
+		
+		<!-- Natural features -->
+		<rule e="way" k="natural" v="coastline">
+			<area class="natural-coastline"/>
+		</rule>
+		<rule e="way" k="natural" v="glacier">
+			<line class='natural-glacier'/>
+		</rule>
+		<rule e="way" k="natural" v="land">
+			<area class="natural-land"/>
+		</rule>
+		<rule e="way" k="natural" v="beach">
+			<area class="natural-beach"/>
+		</rule>
+		<rule e="way" k="natural|landuse" v="forest|wood|scrub">
+			<rule e="way" k="wood" v="coniferous">
+				<area class="landuse-wood-coniferous"/>
+			</rule>
+			<else>
+				<rule e="way" k="wood" v="deciduous">
+					<area class="landuse-wood-deciduous"/>
+				</rule>
+				<else>
+					<rule e="way" k="wood" v="mixed">
+						<area class="landuse-wood-mixed"/>
+					</rule>
+					<else>
+						<area class="landuse-wood"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="natural" v="heath">
+			<area class="natural-heath"/>
+		</rule>
+		<rule e="way" k="natural" v="wetland">
+			<rule e="way" k="wetland" v="bog">
+				<area class="wetland-bog"/>
+			</rule>
+		</rule>
+		<rule e="way" k="landuse" v="conservation">
+			<area class="landuse-conservation"/>
+</rule>
+		
+		<!-- Artificial landuse -->
+		<rule e="way" k="landuse" v="field|farm|farmland|meadow|grass">
+			<area class="landuse-field"/>
+		</rule>
+		<rule e="way" k="landuse" v="allotments|village_green|recreation_ground">
+			<area class="landuse-allotment-village"/>
+		</rule>
+		<rule e="way" k="leisure" v="park|garden|golf_course|common|green">
+			<area class="leisure-park"/>
+		</rule>
+		<rule e="way" k="leisure" v="playground|playing_fields|pitch|dog_park">
+			<rule e="way" k="sport" v="tennis">
+				<area class="sport-tennis"/>
+			</rule>
+			<else>
+				<!-- Done separately from the above rule to layer these above. Tend to be smaller and inside parks. -->
+				<area class="leisure-park"/>
+			</else>
+		</rule>
+
+		<rule e="way" k="leisure" v="stadium|sports_centre|water_park">
+			<area class="leisure-stadium"/>
+		</rule>
+		<rule e="way" k="leisure" v="track">
+			<rule e="way" k="area" v="yes|true">
+				<area class="leisure-track-area"/>
+			</rule>
+			<else>
+				<line class="leisure-track-casing"/>
+				<line class="leisure-track-core"/>
+			</else>
+		</rule>
+		<rule e="way" k="leisure" v="swimming_pool">
+			<area class="leisure-swimming-pool"/>
+		</rule>
+		<rule e="way" k="man_made" v="wastewater_plant" layer="-5" closed="yes">
+			<area class="man_made-wastewater" layer="-5"/>
+		</rule>
+		<rule e="way" k="man_made" v="wastewater_plant">
+			<symbol ref="wastewater" position="center"/>
+		</rule>
+		<rule e="node" k="man_made" v="wastewater_plant">
+			<symbol ref="wastewater" position="center"/>
+		</rule>
+		
+		<!-- Airports and runways -->
+		<rule e="way" k="aeroway" v="aerodrome" closed="yes">
+			<area class="aeroway-aerodrome"/>
+		</rule>
+		<rule e="way" k="aeroway" v="apron">
+			<area class="aeroway-apron"/>
+		</rule>
+		<rule e="way" k="landuse" v="runway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse-runway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse-runway-disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse-runway-dismantled"/>
+			</rule>
+		</rule>
+		
+		<!-- Raceways and racetracks (cars and horses etc) -->
+		<rule e="way" k="landuse" v="raceway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse-raceway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse-raceway-disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse-raceway-dismantled"/>
+			</rule>
+		</rule>
+		
+		<!-- Man-made areas -->
+		<rule e="way" k="leisure|landuse|amenity|tourism" v="~">
+			<rule e="way" k="building" v="~|no|false|0">
+				<rule e="way" k="sport" v="swimming|canoe|diving|scuba_diving">
+					<area class="sport-swimming"/>
+				</rule>
+				<else>
+					<rule e="way" k="sport" v="tennis">
+						<area class="sport-tennis"/>
+					</rule>
+					<else>
+						<rule e="way" k="sport" v="*" closed="yes">
+							<area class="sport"/>
+						</rule>
+					</else>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="amenity" v="parking">
+			<area class="amenity-parking"/>
+		</rule>
+		<rule e="way" k="tourism" v="attraction">
+			<rule e="way" k="highway" v="~">
+				<rule e="way" k="area" v="no" />
+				<else>
+					<area class="tourism-attraction"/>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="tourism" v="zoo|picnic_site|caravan_site|camp_site">
+			<area class="tourism-green-area"/>
+		</rule>
+		<rule e="node|way" k="tourism" v="camp_site">
+			<rule e="node|way" k="refugee" v="yes">
+				<symbol ref="earthquakeCamp" position="center"/>
+			</rule>
+		</rule>
+		<rule e="node|way" k="earthquake:damage" v="spontaneous_camp">
+			<symbol ref="earthquakeCamp" position="center"/>
+		</rule>
+		
+		<!-- Airfields and airports -->
+		<rule e="way" k="aeroway" v="runway">
+			<line class="aeroway-runway-casing"/>
+		</rule>
+		<rule e="way" k="aeroway" v="taxiway">
+			<line class="aeroway-taxiway-casing"/>
+		</rule>
+		
+		<!-- Waterways -->
+		<rule e="way" k="lock" v="yes|true">
+			<line class="waterway-lock-casing" smart-linecap="no" />
+			<line class="waterway-lock-core" smart-linecap="no" />
+		</rule>
+		<rule e="way" k="waterway" v="lock">
+			<line class="waterway-lock-casing" smart-linecap="no" />
+			<line class="waterway-lock-core" smart-linecap="no" />
+		</rule>
+		<rule e="way" k="waterway" v="river">
+			<line class="waterway-casing waterway-river-casing" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="stream">
+			<line class="waterway-casing waterway-stream-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+		</rule>
+		<rule e="way" k="waterway" v="canal">
+			<line class="waterway-casing waterway-canal-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="drain">
+			<line class="waterway-casing waterway-drain-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+		</rule>
+		<rule e="way" k="waterway" v="ditch">
+			<line class="waterway-casing waterway-ditch-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+		</rule>
+		<rule e="way" k="tunnel|culvert" v="yes|culvert">
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<line class="waterway-core waterway-stream-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</rule>
+		<else>
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-core" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<rule e="way" k="stream" v="ephemeral">
+					<line class="waterway-core waterway-stream-core-ephemeral" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+				</rule>
+				<else>
+					<rule e="way" k="stream" v="intermittent">
+						<line class="waterway-core waterway-stream-core-intermittent" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+					</rule>
+					<else>
+						<line class="waterway-core waterway-stream-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</else>
+		<rule e="way" k="waterway" v="dock">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="natural" v="water|pond|lake|bay">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="natural" v="marsh|wetland">
+			<area class="natural-water-marsh"/>
+		</rule>
+		<rule e="way" k="landuse" v="reservoir">
+			<rule e="way" k="reservoir_type" v="evaporator">
+			<area class="reservoir-evaporator"/>
+			</rule>
+			<else>
+				<rule e="way" k="reservoir_type" v="cooling">
+					<area class="reservoir-cooling"/>
+				</rule>
+				<else>
+					<rule e="way" k="reservoir_type" v="sewage">
+						<area class="reservoir-sewage"/>
+					</rule>
+					<else>
+						<rule e="way" k="reservoir_type" v="tailings">
+							<area class="reservoir-tailings"/>
+						</rule>
+						<else>
+							<rule e="way" k="reservoir_type" v="water_storage">
+								<area class="natural-water"/>
+							</rule>
+							<else>
+								<area class="natural-water"/>
+							</else>
+						</else>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="landuse" v="basin">
+			<rule e="way" k="basin" v="infiltration">
+				<area class="basin-infiltration"/>
+			</rule>
+			<else>
+				<rule e="way" k="basin" v="detention">
+					<area class="basin-detention"/>
+				</rule>
+				<else>
+					<rule e="way" k="basin" v="retention">
+						<area class="natural-water"/>
+						<area class="basin-retention"/>
+					</rule>
+					<else>
+						<area class="natural-water"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="waterway" v="riverbank">
+			<area class="waterway-riverbank"/>
+		</rule>
+		<rule e="way" k="waterway" v="weir">
+			<line class="waterway-weir"/>
+		</rule>
+		<rule e="way" k="waterway" v="dam">
+			<line class="waterway-dam"/>
+		</rule>
+		<rule e="node" k="waterway" v="lock_gate">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" k="lock" v="yes|true">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" s="way" k="lock" v="yes|true">
+			<wayMarker k="waterway" v="artificial|canal|ditch|drain|river|stream" class="canal-lock"/>
+		</rule>
+		<rule e="node" k="waterway" v="lock">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" s="way" k="waterway" v="lock">
+			<wayMarker k="waterway" v="artificial|canal|ditch|drain|river|stream" class="canal-lock"/>
+		</rule>
+
+		<rule e="way" k="boundary" v="national_park">
+			<area class="leisure-national_park"/>
+		</rule>
+		<rule e="way" k="leisure" v="landscape_reserve">
+			<area class="leisure-landscape_reserve"/>
+		</rule>
+		<rule e="way" k="leisure" v="nature_reserve">
+			<area class="leisure-nature_reserve"/>
+		</rule>
+
+		<!-- Highway area casings -->
+		<rule e="way" k="area" v="yes|true">
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="steps">
+				<area class="highway-casing highway-steps-area-casing highway-steps-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<area class="highway-casing highway-footway-area-casing highway-footway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<area class="highway-casing highway-cycleway-area-casing highway-cycleway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<area class="highway-casing highway-bridleway-area-casing highway-bridleway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<area class="highway-casing highway-cycleway-area-casing highway-cycleway-area no-bezier"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<area class="highway-casing highway-bridleway-area-casing highway-bridleway-area no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-footway-area-casing highway-footway-area no-bezier"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<area class="highway-casing highway-byway-area-casing highway-byway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<area class="highway-casing highway-track-area-casing highway-track-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<area class="highway-casing highway-unsurfaced-casing highway-unsurfaced-area-casing no-bezier" smart-area="no"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+				</rule>
+				<else>
+					<area class="highway-casing highway-service-casing highway-service-area-casing no-bezier"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<area class="highway-casing highway-pedestrian-casing highway-pedestrian-area-casing no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-casing highway-residential-casing highway-residential-area-casing no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-casing highway-residential-casing highway-residential-area-casing no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-casing highway-residential-casing highway-residential-area-casing no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+						</else>
+					</rule>
+				</else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="residential|living_street">
+				<area class="highway-casing highway-residential-casing highway-residential-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|minor|road">
+				<area class="highway-casing highway-unclassified-casing highway-unclassified-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<area class="highway-casing highway-tertiary-link-casing highway-tertiary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<area class="highway-casing highway-tertiary-casing highway-tertiary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<area class="highway-casing highway-secondary-link-casing highway-secondary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<area class="highway-casing highway-secondary-casing highway-secondary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<area class="highway-casing highway-primary-link-casing highway-primary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<area class="highway-casing highway-trunk-link-casing highway-trunk-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<area class="highway-casing highway-motorway-link-casing highway-motorway-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<area class="highway-casing highway-primary-casing highway-primary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<area class="highway-casing highway-trunk-casing highway-trunk-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<area class="highway-casing highway-motorway-casing highway-motorway-area-casing no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+		</rule>
+		
+		<!-- Linear casings -->
+		<rule e="way" k="tunnel" v="~|no|false">
+			<rule e="way" k="area" v="~|no|false">
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="raceway">
+					<rule e="way" k="use_status" v="~">
+						<line class="highway-raceway-casing"/>
+					</rule>
+					<rule e="way" k="use_status" v="disused">
+						<line class="highway-raceway-casing-disused"/>
+					</rule>
+					<rule e="way" k="use_status" v="dismantled">
+						<line class="highway-raceway-casing-dismantled"/>
+					</rule>
+				</rule>
+				<rule e="way" k="highway" v="steps">
+					<line class="highway-casing highway-steps-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="footway|footpath">
+					<line class="highway-casing highway-footway-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="cycleway">
+					<line class="highway-casing highway-cycleway-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="bridleway">
+					<line class="highway-casing highway-bridleway-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<line class="highway-casing highway-footway-casing "/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<line class="highway-casing highway-bridleway-casing "/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-footway-casing "/>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="byway">
+					<line class="highway-casing highway-byway-casing "/>
+
+				</rule>
+				<rule e="way" k="highway" v="track">
+					<line class="highway-casing highway-track-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="unsurfaced">
+					<line class="highway-casing highway-unsurfaced-casing"/>
+				</rule>
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle">
+					</rule>
+					<else>
+						<line class="highway-casing highway-service-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="pedestrian">
+					<line class="highway-casing highway-pedestrian-casing "/>
+				</rule>
+				<rule e="way" k="highway" v="residential|living_street">
+					<line class="highway-casing highway-residential-casing"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-casing highway-residential-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-cycleroad-casing"/>
+					</else>
+			  </rule>
+			  <else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-casing highway-residential-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-cycleroad-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-casing highway-residential-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-cycleroad-casing"/>
+							</else>
+						</rule>
+					</else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="unclassified|minor|road|ford">
+					<line class="highway-casing highway-unclassified-casing"/>
+				</rule>
+				<rule e="way" k="highway" v="tertiary_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-tertiary-link-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-tertiary-link-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="tertiary">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-tertiary-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-tertiary-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="secondary_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-secondary-link-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-secondary-link-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="secondary">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-secondary-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-secondary-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="primary_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-primary-link-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-primary-link-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="trunk_link">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-trunk-link-mr2-casing"/>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="no">
+							<line class="highway-casing highway-trunk-link-mr3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-trunk-link-casing"/>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="motorway_link">
+					<line class="highway-casing highway-motorway-link-casing"/>
+				</rule>
+				<rule e="way" k="highway" v="primary">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-primary-mr2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-primary-casing"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="trunk">
+					<rule e="way" k="motorroad" v="yes">
+						<line class="highway-casing highway-trunk-mr2-casing"/>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="no">
+							<line class="highway-casing highway-trunk-mr3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-trunk-casing"/>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="motorway">
+					<line class="highway-casing highway-motorway-casing"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-casing railway-con-casing-color railway-casing" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-casing railway-pla-casing-color railway-casing" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-casing railway-dis-casing-color railway-casing" smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-casing railway-aba-casing-color railway-casing" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-casing railway-con-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-casing railway-pla-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-casing railway-dis-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-casing railway-aba-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<rule e="way" k="service" v="spur|yard|siding">
+											<line class="railway-yard-casing railway-yard-casing-color railway-casing" smart-linecap="no" />
+										</rule>
+										<else>
+											<line class="railway-rail-casing railway-rail-casing-color railway-casing" smart-linecap="no" />
+										</else>
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<line class="railway-rail-casing railway-rail-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-casing railway-narrow-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-casing railway-preserved-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-casing railway-light-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-casing railway-tram-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-casing railway-subway-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-casing railway-funicular-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-casing railway-monorail-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-casing railway-yard-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>	
+			</rule>
+		</rule>
+		
+		<!-- Highway area cores -->
+		<rule e="way" k="area" v="yes|true">
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="steps">
+				<area class="highway-core highway-steps-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<area class="highway-core highway-footway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<area class="highway-core highway-cycleway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<area class="highway-core highway-bridleway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<area class="highway-core highway-cycleway-core no-bezier"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<area class="highway-core highway-bridleway-core no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-path-core no-bezier"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<area class="highway-core highway-byway-core no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<rule e="way" k="tracktype" v="grade1">
+					<area class="highway-core highway-track-grade1-core highway-track-core no-bezier"/>
+				</rule>
+				<else>
+					<rule e="way" k="tracktype" v="grade2">
+						<area class="highway-casing highway-track-grade2-core highway-track-core no-bezier"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade3">
+							<area class="highway-core highway-track-grade3-core highway-track-core no-bezier"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade4">
+								<area class="highway-core highway-track-grade4-core highway-track-core no-bezier"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade5">
+									<area class="highway-core highway-track-grade5-core highway-track-core no-bezier"/>
+								</rule>
+								<else>
+									<area class="highway-core highway-track-gradex-core highway-track-core no-bezier"/>
+								</else>
+							</else>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<area class="highway-core highway-unsurfaced-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+				</rule>
+				<else>
+					<area class="highway-core highway-service-area no-bezier"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<area class="highway-core highway-pedestrian-area no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-core highway-unclassified-area no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-core highway-unclassified-area no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-core highway-unclassified-area no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+						</else>
+					</rule>
+				</else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="road">
+				<area class="highway-core highway-road-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor|living_street">
+				<area class="highway-core highway-unclassified-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<area class="highway-core highway-tertiary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<area class="highway-core highway-tertiary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<area class="highway-core highway-secondary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<area class="highway-core highway-secondary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<area class="highway-core highway-primary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<area class="highway-core highway-trunk-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<area class="highway-core highway-motorway-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<area class="highway-core highway-primary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<area class="highway-core highway-trunk-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<area class="highway-core highway-motorway-area no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		</rule>
+		
+		<!-- Buildings -->
+		<rule e="way" k="aeroway" v="terminal">
+			<area class="building-block"/>
+		</rule>
+		<rule e="way" k="building" v="*">
+			<area class="building-block no-bezier"/>
+		</rule>
+		<rule e="node" k="building" v="*">
+			<rule e="node" k="building" v="entrance"></rule>
+			<else>
+				<symbol ref="building" position="center" transform="scale(0.75)"/>
+			</else>
+		</rule>
+		
+		<!-- Linear cores -->
+		<rule e="way" k="tunnel" v="~|false|no">
+			<rule e="way" k="area" v="~|false|no">
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="ford">
+					<line class="highway-core highway-ford-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="raceway">
+					<rule e="way" k="use_status" v="~">
+						<line class="highway-raceway-core"/>
+					</rule>
+					<rule e="way" k="use_status" v="disused">
+						<line class="highway-raceway-core-disused"/>
+					</rule>
+					<rule e="way" k="use_status" v="dismantled">
+						<line class="highway-raceway-core-dismantled"/>
+					</rule>
+				</rule>
+				<rule e="way" k="scramble" v="*">
+					<line class="highway-core highway-scramble-core"/>
+				</rule>
+				<rule e="way" k="highway" v="steps">
+					<line class="highway-core highway-steps-core"/>
+				</rule>
+				<rule e="way" k="highway" v="footway|footpath">
+					<line class="highway-core highway-footway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="cycleway">
+					<line class="highway-core highway-cycleway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="bridleway">
+					<line class="highway-core highway-bridleway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<line class="highway-core highway-cycleway-core"/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<line class="highway-core highway-bridleway-core"/>
+						</rule>
+						<else>
+							<rule e="way" k="foot" v="yes|designated">
+								<line class="highway-core highway-footway-core"/>
+							</rule>
+							<else>
+								<line class="highway-core highway-path-core"/>
+							</else></else></else>
+				</rule>
+				<rule e="way" k="highway" v="byway">
+					<line class="highway-core highway-byway-core"/>
+				</rule>
+				<rule e="way" k="highway" v="track">
+					<rule e="way" k="tracktype" v="~">
+						<line class="highway-core highway-track-core highway-track-gradex-core"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade1">
+							<line class="highway-core highway-track-core highway-track-grade1-core"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade2">
+								<line class="highway-core highway-track-core highway-track-grade2-core"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade3">
+									<line class="highway-core highway-track-core highway-track-grade3-core" smart-linecap="no"/>
+								</rule>
+								<else>
+									<rule e="way" k="tracktype" v="grade4">
+										<line class="highway-core highway-track-core highway-track-grade4-core" smart-linecap="no"/>
+									</rule>
+									<else>
+										<rule e="way" k="tracktype" v="grade5">
+											<line class="highway-core highway-track-core highway-track-grade5-core" smart-linecap="no"/>
+										</rule>
+										<else>
+											<line class="highway-core highway-track-core highway-track-gradex-core"/>
+										</else>
+									</else>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="unsurfaced">
+					<line class="highway-core highway-unsurfaced-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle">
+					</rule>
+					<else>
+						<line class="highway-core highway-service-core"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="pedestrian">
+					<line class="highway-core highway-pedestrian-core"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-core highway-unclassified-core"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-cycleroad-core-3"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-core highway-unclassified-core"/>
+						</rule>
+						<else>
+							<line class="highway-core highway-cycleroad-core-3"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-core highway-unclassified-core"/>
+							</rule>
+							<else>
+								<line class="highway-core highway-cycleroad-core-3"/>
+							</else>
+						</rule>
+					</else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="road">
+					<line class="highway-core highway-road-core"/>
+				</rule>
+				<rule e="way" k="highway" v="unclassified|residential|minor|living_street">
+					<line class="highway-core highway-unclassified-core"/>
+				</rule>
+				<rule e="way" k="highway" v="tertiary_link">
+					<line class="highway-core highway-tertiary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="tertiary">
+					<line class="highway-core highway-tertiary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary_link">
+					<line class="highway-core highway-secondary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary">
+					<line class="highway-core highway-secondary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="primary_link">
+					<line class="highway-core highway-primary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk_link">
+					<line class="highway-core highway-trunk-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway_link">
+					<line class="highway-core highway-motorway-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="primary">
+					<line class="highway-core highway-primary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk">
+					<line class="highway-core highway-trunk-core"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway">
+					<line class="highway-core highway-motorway-core"/>
+				</rule>
+			    </else>
+			  </else>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-1-core railway-con-1-core-color railway-1-core" smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-1-core railway-pla-1-core-color railway-1-core" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-1-core railway-dis-1-core-color railway-1-core" smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-1-core railway-aba-1-core-color railway-1-core" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-1-core railway-con-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-1-core railway-pla-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-1-core railway-dis-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-1-core railway-aba-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<rule e="way" k="service" v="spur|yard|siding">
+											<line class="railway-yard-1-core railway-yard-1-core-color railway-1-core" smart-linecap="no" />
+										</rule>
+										<else>
+											<line class="railway-rail-1-core railway-rail-1-core-color railway-1-core" smart-linecap="no" />
+										</else>
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-1-core railway-narrow-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-1-core railway-preserved-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-1-core railway-light-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-1-core railway-tram-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-1-core railway-subway-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-1-core railway-funicular-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-1-core railway-monorail-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-1-core railway-yard-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core"/>
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<rule e="way" k="service" v="spur|yard|siding">
+											<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core" smart-linecap="no" />
+										</rule>
+										<else>
+											<rule e="way" k="usage" v="main">
+												<line class="railway-main-2-core railway-rail-2-core-color railway-2-core" smart-linecap="no" />
+											</rule>
+											<else>
+												<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core" smart-linecap="no" />
+											</else>
+										</else>
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-2-core railway-light-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="aeroway" v="runway">
+					<line class="aeroway-runway-core"/>
+				</rule>
+				<rule e="way" k="aeroway" v="taxiway">
+					<line class="aeroway-taxiway-core"/>
+				</rule>
+			</rule>
+		</rule>
+		
+		<!-- Tunnels -->
+		<rule e="way" k="tunnel" v="true|yes">
+			<rule e="way" k="highway" v="steps">
+				<line class="tunnel-casing highway-steps-casing tunnel" mask-class="tunnel-core highway-steps-core"/>
+				<line class="highway-steps-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+				<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<line class="tunnel-casing highway-pedestrian-casing tunnel" mask-class="tunnel-core highway-pedestrian-core"/>
+				<line class="highway-pedestrian-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+				<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+					<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+						<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</rule>
+					<else>
+						<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+						<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+				<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<line class="tunnel-casing highway-byway-1-casing tunnel" mask-class="tunnel-core highway-byway-1-core"/>
+				<line class="highway-byway-1-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<line class="tunnel-casing highway-track-casing tunnel" mask-class="tunnel-core highway-track-core"/>
+				<line class="highway-track-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<line class="tunnel-casing highway-unsurfaced-casing tunnel" mask-class="tunnel-core highway-unsurfaced-core"/>
+				<line class="highway-unsurfaced-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<line class="tunnel-casing highway-service-casing tunnel" mask-class="tunnel-core highway-service-core"/>
+				<line class="highway-service-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor|cycleroad|living_street">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-unclassified-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="road">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-road-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<line class="tunnel-casing highway-tertiary-link-casing tunnel" mask-class="tunnel-core highway-tertiary-link-core"/>
+				<line class="highway-tertiary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<line class="tunnel-casing highway-tertiary-casing tunnel" mask-class="tunnel-core highway-tertiary-core"/>
+				<line class="highway-tertiary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<line class="tunnel-casing highway-secondary-link-casing tunnel" mask-class="tunnel-core highway-secondary-link-core"/>
+				<line class="highway-secondary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<line class="tunnel-casing highway-secondary-casing tunnel" mask-class="tunnel-core highway-secondary-core"/>
+				<line class="highway-secondary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<line class="tunnel-casing highway-primary-link-casing tunnel" mask-class="tunnel-core highway-primary-link-core"/>
+				<line class="highway-primary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<line class="tunnel-casing highway-trunk-link-casing tunnel" mask-class="tunnel-core highway-trunk-link-core"/>
+				<line class="highway-trunk-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<line class="tunnel-casing highway-motorway-link-casing tunnel" mask-class="tunnel-core highway-motorway-link-core"/>
+				<line class="highway-motorway-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<line class="tunnel-casing highway-primary-casing tunnel" mask-class="tunnel-core highway-primary-core"/>
+				<line class="highway-primary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<line class="tunnel-casing highway-trunk-casing tunnel" mask-class="tunnel-core highway-trunk-core"/>
+				<line class="highway-trunk-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<line class="tunnel-casing highway-motorway-casing tunnel" mask-class="tunnel-core highway-motorway-core"/>
+				<line class="highway-motorway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="railway" v="*">
+				<rule e="way" k="construction" v="yes|true">
+					<line class="railway-con-casing railway-con-casing-color tunnel-casing tunnel" mask-class="tunnel-core railway-con-1-core"/>
+					<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="planned|proposed" v="yes|true">
+						<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-1-core"/>
+						<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="disused" v="yes|true">
+							<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-1-core"/>
+							<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="abandoned|dismantled" v="yes|true">
+								<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-1-core"/>
+								<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="railway" v="construction">
+									<line class="railway-con-casing railway-con-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-con-1-core"/>
+									<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="planned|proposed">
+									<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-1-core"/>
+									<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="disused">
+									<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-1-core"/>
+									<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="abandoned|dismantled">
+									<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-1-core"/>
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="rail">
+									<rule e="way" k="service" v="spur|yard|siding">
+										<line class="railway-yard-casing railway-yard-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-yard-1-core"/>
+										<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core railway-yard-tunnel-core tunnel"  smart-linecap="no" />
+									</rule>
+									<else>
+										<line class="railway-rail-casing railway-rail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-rail-1-core"/>
+										<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core railway-rail-tunnel-core tunnel"  smart-linecap="no" />
+									</else>
+								</rule>
+								<rule e="way" k="railway" v="narrow_gauge">
+									<line class="railway-narrow-casing railway-narrow-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-narrow-1-core"/>
+									<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core railway-narrow-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="preserved">
+									<line class="railway-preserved-casing railway-preserved-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-preserved-1-core"/>
+									<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core railway-preserved-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="light_rail">
+									<line class="railway-light-casing railway-light-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-light-1-core"/>
+									<line class="railway-light-2-core railway-light-2-core-color railway-2-core railway-light-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="tram">
+									<line class="railway-tram-casing railway-tram-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-tram-1-core"/>
+									<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core railway-tram-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="subway">
+									<line class="railway-subway-casing railway-subway-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-subway-1-core"/>
+									<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core railway-subway-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="incline|funicular">
+									<line class="railway-funicular-casing railway-funicular-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-funicular-t-core"/>
+									<line class="railway-funicular-1-core railway-funicular-1-core-color railway-1-core railway-funicular-tunnel-core tunnel"  smart-linecap="no" />
+									<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core railway-funicular-tunnel-core tunnel-casing tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="monorail">
+									<line class="railway-monorail-casing railway-monorail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-monorail-1-core"/>
+									<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core railway-monorail-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="spur|yard|siding">
+									<line class="railway-yard-casing railway-yard-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-yard-1-core"/>
+									<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core railway-yard-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+							</else>
+						</else>
+					</else>
+				</else>
+				<line class="railway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+		</rule>
+		
+		<!-- Linear cores (under construction) -->
+		<rule e="way" k="highway" v="construction">
+			<rule e="way" k="construction" v="steps">
+				<line class="highway-core highway-steps-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="footway|footpath">
+				<line class="highway-core highway-footway-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="pedestrian">
+				<line class="highway-core highway-pedestrian-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="cycleway">
+				<line class="highway-core highway-cycleway-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="highway-core highway-cycleway-core under-construction"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="highway-core highway-bridleway-core under-construction"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-footway-core under-construction"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="construction" v="bridleway">
+				<line class="highway-core highway-bridleway-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="byway">
+				<line class="highway-core highway-byway-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="track">
+				<line class="highway-core highway-track-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="unsurfaced">
+				<line class="highway-core highway-unsurfaced-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="service">
+				<line class="highway-core highway-service-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="unclassified|residential|minor|cycleroad|living_street">
+				<line class="highway-core highway-unclassified-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="~|road|yes">
+				<line class="highway-core highway-road-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary_link">
+				<line class="highway-core highway-tertiary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary">
+				<line class="highway-core highway-tertiary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary_link">
+				<line class="highway-core highway-secondary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary">
+				<line class="highway-core highway-secondary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="primary_link">
+				<line class="highway-core highway-primary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk_link">
+				<line class="highway-core highway-trunk-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway_link">
+				<line class="highway-core highway-motorway-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="primary">
+				<line class="highway-core highway-primary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk">
+				<line class="highway-core highway-trunk-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway">
+				<line class="highway-core highway-motorway-core under-construction"/>
+			</rule>
+		</rule>
+				
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="construction|planned|disused|abandoned" v="yes|true">
+				<line class="wrong-under-construction" smart-linecap="no"/>
+			</rule>
+		</rule>
+
+		<!-- Piste maps: -->
+		<!-- piste areas -->
+		<rule e="way" k="piste:type" v="downhill" closed="yes">
+			<rule e="way" k="piste:difficulty" v="novice">
+				<line class="piste-area piste-area-difficulty-novice" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="easy">
+				<line class="piste-area piste-area-difficulty-easy" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="intermediate">
+				<line class="piste-area piste-area-difficulty-intermediate" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="advanced">
+				<line class="piste-area piste-area-difficulty-advanced" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="expert">
+				<line class="piste-area piste-area-difficulty-expert" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="freeride">
+				<line class="piste-area piste-area-difficulty-freeride" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="~">
+				<line class="piste-area piste-area-difficulty-other" smart-linecap="no"/>
+			</rule>
+		</rule>
+		<!-- piste ways -->
+		<rule e="way" k="piste:type" v="downhill" closed="no">
+			<rule e="way" k="piste:difficulty" v="novice">
+				<line class="piste-core piste-difficulty-novice" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="easy">
+				<line class="piste-core piste-difficulty-easy" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="intermediate">
+				<line class="piste-core piste-difficulty-intermediate" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="advanced">
+				<line class="piste-core piste-difficulty-advanced" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="expert">
+				<line class="piste-core piste-difficulty-expert" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="freeride">
+				<line class="piste-core piste-difficulty-freeride" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="~">
+				<line class="piste-core piste-difficulty-other" smart-linecap="no"/>
+			</rule>
+		</rule>
+		<rule e="way" k="piste:type" v="sled">
+			<line class="piste-type-sled"/>
+		</rule>
+		<rule e="way" k="piste:type" v="nordic">
+			<line smart-linecap="no" class="piste-type-nordic"/>
+		</rule>
+		<rule e="way" k="man_made" v="piste:halfpipe">
+			<area class="man-made-piste-halfpipe"/>
+		</rule>
+		
+		<!-- Surface lifts (render over pistes) -->
+		<rule e="way" k="piste:lift" v="*">
+			<rule e="way" k="piste:lift" v="t-bar|j-bar|platter">
+				<line smart-linecap="no" class="aerialway-line piste-lift-t-bar-marker no-bezier"/>
+				<line smart-linecap="no" class="aerialway-struts no-bezier"/>
+				<rule e="way" k="name" v="*">
+					<pathText k="name" dx="0px" dy="-3px" class="aerialway-name" text-anchor="middle" startOffset="50%"/>
+				</rule>
+			</rule>
+			<rule e="way" k="piste:lift" v="rope_tow">
+				<line smart-linecap="no" class="piste-lift-rope-tow no-bezier"/>
+			</rule>
+			<rule e="way" k="piste:lift" v="magic_carpet">
+				<line smart-linecap="no" class="piste-lift-magic-carpet no-bezier"/>
+			</rule>
+		</rule>
+		
+		<!-- Aerialways (render over pistes) -->
+		<rule e="node|way" k="aerialway" v="*">
+			<line smart-linecap="no" class="aerialway-line no-bezier"/>
+			<line smart-linecap="no" class="aerialway-struts no-bezier"/>
+			<rule e="node" k="aerialway" v="station">
+				<circle r="2px" class="aerialway-station"/>
+			</rule>
+			<rule e="way" k="name" v="*">
+				<pathText k="name" dx="0px" dy="-2px" class="aerialway-name" text-anchor="middle" startOffset="50%"/>
+			</rule>
+		</rule>
+		
+		<!-- Natural features -->
+		<rule e="node" k="natural" v="peak">
+			<symbol ref="peak" position="center"/>
+		</rule>
+		<rule e="node" k="natural" v="volcano">
+			<symbol ref="vulcan" position="center"/>
+		</rule>
+		<rule e="node" k="natural" v="cave_entrance">
+			<symbol ref="cave_entrance" position="center"/>
+		</rule>
+		
+		<!-- Draw marine features -->
+		<rule e="way" k="man_made" v="pier" closed="yes">
+			<line class="artificial-pier-area"/>
+		</rule>
+		<rule e="way" k="man_made" v="pier" closed="no">
+			<line class="artificial-pier-casing"/>
+		</rule>
+		<rule e="way" k="man_made" v="pier" closed="no">
+			<line class="artificial-pier-core"/>
+		</rule>
+		
+		<!-- Power lines and pylons -->
+		<rule e="way" k="power" v="line">
+			<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+			<line class="power-line no-bezier" smart-linecap="no"/>
+		</rule>
+		<rule e="node|way" k="power" v="tower">
+			<symbol ref="power-tower" position="center"/>
+		</rule>
+
+		<!-- Power generators -->
+		<rule e="node" k="power" v="generator">
+			<rule e="node" k="power_source" v="wind">
+				<symbol ref="power_wind" position="center"/>
+			</rule>
+			<else>
+				<rule e="node" k="power_source" v="hydro">
+					<symbol ref="power_hydro" position="center"/>
+				</rule>
+				<else>
+					<rule e="node" k="power_source" v="photovoltaic">
+						<symbol ref="power_photovoltaic" position="center"/>
+					</rule>
+					<else>
+						<symbol ref="power_generic" position="center"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="power" v="generator">
+			<rule e="way" k="power_source" v="wind">
+				<area class="power-wind"/>
+			</rule>
+			<else>
+				<rule e="way" k="power_source" v="hydro">
+					<area class="power-hydro"/>
+				</rule>
+				<else>
+					<rule e="way" k="power_source" v="photovoltaic">
+						<area class="power-photovoltaic"/>
+					</rule>
+					<else>
+						<area class="power-generic"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+
+		<!-- Electrical substations -->
+		<rule e="way" k="power" v="station|sub_station">
+			<area class="power-generic"/>
+		</rule>
+
+		<!-- Non-physical routes -->
+		<rule e="way" k="route" v="ferry">
+			<line class="route-ferry"/>
+		</rule>
+		
+		<!-- Railway stations -->
+		<rule e="node" k="railway" v="station">
+			<rule e="node" s="way" k="railway" v="rail">
+				<circle r="3" class="railway-station"/>
+			</rule>
+			<else>
+				<circle r="2" class="railway-halt"/>
+			</else>
+		</rule>
+		<rule e="node" k="railway" v="halt">
+			<circle r="2" class="railway-halt"/>
+		</rule>
+		<!-- Tram stops -->
+		<rule e="node" k="railway" v="tram_stop">
+			<circle r="2" class="railway-halt"/>
+		</rule>
+		
+		<!-- Amenities -->
+		<rule e="node|way" k="amenity" v="hospital"  horizontalProximity="0.0004" verticalProximity="0.0004">
+			<symbol ref="hospital" position="center" transform="scale(0.7)"/>
+		</rule>
+		<rule e="node|way" k="tourism" v="alpine_hut">
+			<symbol ref="alpine_hut" position="center" transform="scale(0.5)"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="shelter">
+			<rule e="node|way" k="fireplace" v="yes">
+				<symbol ref="shelter-fireplace" position="center" transform="scale(0.5)"/>
+			</rule>
+			<else>
+				<symbol ref="shelter" position="center" transform="scale(0.5)"/>
+			</else>
+		</rule>
+		
+		<!-- ==================================== Layer -5 ======================================== -->
+		
+		<!-- Landuse -->
+		<rule e="way" k="landuse" v="residential|farmyard" layer="-5">
+			<area class="landuse-residential" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="retail" layer="-5">
+			<area class="landuse-retail" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="industrial|brownfield|railway" layer="-5">
+			<area class="landuse-industrial" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="commercial" layer="-5">
+			<area class="landuse-commercial" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="construction|greenfield" layer="-5">
+			<area class="landuse-construction" layer="-5"/>
+		</rule>
+		
+		<!-- Artificial landuse -->
+		<rule e="way" k="amenity" v="kindergarten|school|college|university" layer="-5">
+			<area class="amenity-school" layer="-5"/>
+		</rule>
+		
+		<!-- Man-made areas -->
+		<rule e="way" k="landuse" v="military" layer="-5">
+			<rule e="way" k="military" v="~" layer="-5">
+				<area class="military-area" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="military" v="*" layer="-5">
+			<area class="military-area" layer="-5"/>
+		</rule>
+		
+		
+		<!-- ==================================== Layer 5 ======================================== -->
+		
+		<!-- Non-physical boundaries -->
+		<rule e="way" k="boundary" v="administrative" layer="5">
+			<rule e="way" k="admin_level" v="1|2|3|4|5|6" layer="5">
+				<rule e="way" k="admin_level" v="6" layer="5">
+					<line class="boundary boundary-level-6-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="5" layer="5">
+					<line class="boundary boundary-level-5-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="4" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="3" layer="5">
+					<line class="boundary boundary-level-3-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="2" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="1" layer="5">
+					<line class="boundary boundary-level-1-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-1-core no-bezier" layer="5"/>
+				</rule>
+			</rule>
+			<!-- If we don't have explicit admin_level then guess -->
+			<else>
+				<rule e="way" k="border_type" v="county|district" layer="5">
+					<line class="boundary boundary-level-6-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="region|state" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="nation|country" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+			</else>
+		</rule>
+		<rule e="way" k="boundary" v="national_park" layer="5">
+			<line class="boundary boundary-nationalpark-core no-bezier" layer="5"/>
+		</rule>
+		
+		<!-- Waterway and Street names -->
+		<rule e="way" k="osmarender:renderName" v="~|yes" layer="5">
+			<rule e="way" k="tunnel" v="~|no|false" layer="5"> <!-- no names in tunnels -->
+				<rule e="way" k="area" v="~|no|false" layer="5"> <!-- no linear names on areas -->
+					<rule e="way" k="junction" v="~" layer="5"> <!-- no names on or along junctions -->
+						<rule e="way" k="waterway" v="canal" layer="5">
+							<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-canal-name-casing" dy="2px" layer="5"/>
+							<pathText k="name" startOffset="50%" class="waterway-name-core waterway-canal-name-core" dy="2px" layer="5"/>
+						</rule>
+						<rule e="way" k="waterway" v="river" layer="5">
+							<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-river-name-casing" dy="2px" layer="5"/>
+							<pathText k="name" startOffset="50%" class="waterway-name-core waterway-river-name-core" dy="2px" layer="5"/>
+						</rule>
+						<rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad|road" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-unclassified-name" dy="1.6px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="tertiary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-tertiary-link-name" dy="1.8px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="tertiary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-tertiary-name" dy="1.8px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="secondary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-secondary-link-name" dy="2.0px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="secondary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-secondary-name" dy="2.0px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="primary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-primary-link-name" dy="2.1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="trunk_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-trunk-link-name" dy="2.1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="motorway_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-motorway-link-name" dy="2.1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="primary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-primary-name" dy="2.5px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="trunk" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-trunk-name" dy="2.5px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="motorway" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-motorway-name" dy="2.5px" layer="5" avoid-duplicates="true" />
+						</rule>
+					</rule>
+				</rule>
+			</rule>
+			<rule e="way" k="natural" v="*" minSize="0.032" layer="5">
+				<caption k="name" class="caption-casing largefeature-caption-casing" text-anchor='middle' startOffset='50%'/>
+				<caption k="name" class="caption-core largefeature-caption-core" text-anchor='middle' startOffset='50%'/>
+			</rule>
+		</rule>
+		
+		<!-- Road numbers for all highways -->
+		<rule e="way" k="osmarender:renderRef" v="~|yes" layer="5">
+			<rule e="way" k="tunnel" v="~|no|false" layer="5"> <!-- no road numbers in tunnels -->
+				<rule e="way" k="junction" v="~" layer="5"> <!-- no ref on junctions / roundabouts -->
+					<!-- Use startOffset to prevent captions from colliding on dual carriageways -->
+					<rule e="way" k="highway" v="tertiary" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-tertiary-ref" dy="-5.0px" textAttenuation="1.5" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="secondary" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-secondary-ref" dy="-5.0px" textAttenuation="1.5" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="primary" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-primary-ref" dy="-5.0px" textAttenuation="1.5" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="trunk" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-trunk-ref" dy="-5.0px" textAttenuation="1.5" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="motorway" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-motorway-ref" dy="-6.0px" textAttenuation="1.5" layer="5" avoid-duplicates="true" />
+					</rule>
+				</rule>
+			</rule>
+		</rule>
+		
+		<!-- Place names  -->
+		<rule e="node|way" k="osmarender:renderName" v="~|yes" layer="5">
+			<rule e="node" k="place" v="city" layer="5">
+				<caption k="name" class="place-caption city-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="town" layer="5">
+				<caption k="name" class="place-caption town-caption" layer="5"/>
+			</rule>
+			<rule k="natural" v="cave_entrance" layer="5">
+				<caption k="name" class="place-caption cave-caption" dy="-5px" layer="5"/>
+			</rule>
+			<rule k="natural" v="peak|volcano" layer="5">
+				<caption k="name" class="place-caption peak-caption" dy="-5px" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="island" layer="5">
+				<caption k="name" class="place-caption island-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="islet" layer="5">
+				<caption k="name" class="place-caption islet-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="village" layer="5">
+				<caption k="name" class="place-caption village-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="suburb" layer="5">
+				<caption k="name" class="place-caption suburb-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="hamlet" layer="5">
+				<caption k="name" class="place-caption hamlet-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="locality" layer="5">
+				<caption k="name" class="place-caption locality-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="farm" layer="5">
+				<caption k="name" class="place-caption farm-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="railway" v="station" layer="5">
+				<rule e="node" s="way" k="railway" v="rail" layer="5">
+					<caption k="name" class="caption-casing railway-station-caption-casing" dy="-7px" layer="5"/>
+					<caption k="name" class="caption-core railway-station-caption-core" dy="-7px" layer="5"/>
+				</rule>
+			</rule>
+			<rule e="node|way" k="aeroway" v="aerodrome" layer="5">
+				<caption k="name" class="aeroway-aerodrome-caption" dy="-7.5px" layer="5"/>
+			</rule>
+			<rule e="node|way" k="aeroway" v="airport" layer="5">
+				<caption k="name" class="aeroway-airport-caption" dy="-12.5px" layer="5"/>
+			</rule>
+		</rule>
+	</rule>
+	
+	<!-- SVG Definitions - markers, symbols etc go here -->
+	<include ref="markers.xml"/>
+	<defs>
+		<style xmlns="http://www.w3.org/2000/svg" id="styles" type="text/css">
+			/* DO NOT DELETE - Used by osmarender.xsl */
+			.untagged-segments {
+			stroke-width: 0.5px;
+			stroke-linejoin: round;
+			stroke-linecap: butt;
+			stroke: #e0e0e0;
+			stroke-dasharray: 0.5,0.5;
+			}
+			
+			.canal-lock {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#canal-lock);
+			}
+			
+			/* Highways - generic styles */
+			.highway-casing {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.highway-core {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.highway-motorway-junction {
+			fill: yellow;
+			stroke: #4D5D73;
+			stroke-width: 1.5px;
+			}
+			
+			.highway-motorway-junction-caption {
+			fill: black;
+			stroke: black;
+			stroke-width: 0.2px;
+			font-family: "DejaVu Sans";
+			font-size: 10px;
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			.highway-ref {
+			fill: #606060;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			text-anchor: middle;
+			}
+			
+			.highway-name {
+			fill: black;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			text-anchor: middle;
+			}
+			
+			.bridge-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			marker-start: url(#bridge-casing-start);
+			marker-end: url(#bridge-casing-end);
+			}
+			
+			.bridge-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #ffffff;
+			fill: none;
+			}
+			
+			.tunnel-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.tunnel-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.tunnel { stroke-dasharray: 2.2, 2.2; }
+			
+			.railway-casing { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-1-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-2-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-core   { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+
+			.railway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			stroke: #b0b0b0;
+			stroke-width: 5px;
+			}
+
+			.railway-rail-casing                    { stroke-width: 3.0px; }
+			.railway-rail-1-core                    { stroke-width: 1.8px; }
+			.railway-rail-2-core                    { stroke-width: 1.8px; stroke-dasharray: 4.5,4.5; }
+			.railway-rail-casing-color              { stroke: #404040; }
+			.railway-rail-1-core-color              { stroke: #e6e6e6; }
+			.railway-rail-2-core-color              { stroke: #404040; }
+			.railway-rail-tunnel-core               { stroke-opacity: 0.15; }
+			.railway-main-2-core                    { stroke-width: 1.8px; stroke-dasharray: 5.7,3.3; }
+
+			.railway-narrow-casing                    { stroke-width: 2.4px; }
+			.railway-narrow-1-core                    { stroke-width: 1.7px; }
+			.railway-narrow-2-core                    { stroke-width: 1.7px; stroke-dasharray: 5.5,5.5; }
+			.railway-narrow-casing-color              { stroke: #404040; }
+			.railway-narrow-1-core-color              { stroke: #e6e6e6; }
+			.railway-narrow-2-core-color              { stroke: #404040; }
+			.railway-narrow-tunnel-core               { stroke-opacity: 0.15; }
+
+			.railway-preserved-casing                    { stroke-width: 2.4px; }
+			.railway-preserved-1-core                    { stroke-width: 1.7px; }
+			.railway-preserved-2-core                    { stroke-width: 1.7px; stroke-dasharray: 4.5,4.5; }
+			.railway-preserved-casing-color              { stroke: #909090; }
+			.railway-preserved-1-core-color              { stroke: #e6e6e6; }
+			.railway-preserved-2-core-color              { stroke: #505050; }
+			.railway-preserved-tunnel-core               { stroke-opacity: 0.15; }
+
+			.railway-light-casing                    { stroke-width: 2.4px; }
+			.railway-light-1-core                    { stroke-width: 1.7px; }
+			.railway-light-2-core                    { stroke-width: 1.7px; stroke-dasharray: 3.8,5.4; }
+			.railway-light-casing-color              { stroke: #095909; }
+			.railway-light-1-core-color              { stroke: #b7e6e6; }
+			.railway-light-2-core-color              { stroke: #095909; }
+			.railway-light-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-tram-casing                    { stroke-width: 2.4px; }
+			.railway-tram-1-core                    { stroke-width: 1.7px; }
+			.railway-tram-2-core                    { stroke-width: 1.7px; stroke-dasharray: 3.6,5.4; }
+			.railway-tram-casing-color              { stroke: #590959; }
+			.railway-tram-1-core-color              { stroke: #e6b7e6; }
+			.railway-tram-2-core-color              { stroke: #590959; }
+			.railway-tram-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-subway-casing                    { stroke-width: 2.4px; }
+			.railway-subway-1-core                    { stroke-width: 1.7px; }
+			.railway-subway-2-core                    { stroke-width: 1.7px; stroke-dasharray: 3.6,5.4; }
+			.railway-subway-casing-color              { stroke: #090959; }
+			.railway-subway-1-core-color              { stroke: #b7b7e6; }
+			.railway-subway-2-core-color              { stroke: #090959; }
+			.railway-subway-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-funicular-casing                    { stroke-width: 2.4px; }
+			.railway-funicular-1-core                    { stroke-width: 1.7px; stroke-dasharray: 3.6,5.4; }
+			.railway-funicular-t-core                    { stroke-width: 1.7px; }
+			.railway-funicular-2-core                    { stroke-width: 0.4px; }
+			.railway-funicular-casing-color              { stroke: #590909; }
+			.railway-funicular-1-core-color              { stroke: #e6b7b7; }
+			.railway-funicular-2-core-color              { stroke: #590909; }
+			.railway-funicular-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-monorail-casing                    { stroke-width: 2.4px; }
+			.railway-monorail-1-core                    { stroke-width: 1.7px; }
+			.railway-monorail-2-core                    { stroke-width: 0.4px; }
+			.railway-monorail-casing-color              { stroke: #590909; }
+			.railway-monorail-1-core-color              { stroke: #e6b7b7; }
+			.railway-monorail-2-core-color              { stroke: #ffffff; }
+			.railway-monorail-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-yard-casing                    { stroke-width: 1.6px; }
+			.railway-yard-1-core                    { stroke-width: 1.0px; }
+			.railway-yard-2-core                    { stroke-width: 1.0px; stroke-dasharray: 3,6; }
+			.railway-yard-casing-color              { stroke: #404040; }
+			.railway-yard-1-core-color              { stroke: #e6e6e6; }
+			.railway-yard-2-core-color              { stroke: #404040; }
+			.railway-yard-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-con-casing                { stroke-width: 2.4px; stroke-dasharray: 1.5,1.5; }
+			.railway-con-1-core                { stroke-width: 1.7px; }
+			.railway-con-2-core                { stroke-width: 1.7px; stroke-dasharray: 1.5,1.5,1.5,4.5; }
+			.railway-con-casing-color          { stroke: #606060; }
+			.railway-con-1-core-color          { stroke: #f2f2f2; }
+			.railway-con-2-core-color          { stroke: #606060; }
+			.railway-con-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-pla-casing                { stroke-width: 2.4px; stroke-dasharray: 1.5,1.5; }
+			.railway-pla-1-core                { stroke-width: 1.7px; }
+			.railway-pla-2-core                { stroke-width: 1.7px; stroke-dasharray: 1.5,1.5,1.5,4.5; }
+			.railway-pla-casing-color          { stroke: #b2b2b2; }
+			.railway-pla-1-core-color          { stroke: #ffffff; }
+			.railway-pla-2-core-color          { stroke: #b2b2b2; }
+			.railway-pla-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-dis-casing                { stroke-width: 1.6px; stroke-opacity: 0.7; }
+			.railway-dis-1-core                { stroke-width: 1.0px; stroke-opacity: 0.7; }
+			.railway-dis-2-core                { stroke-width: 1.0px; stroke-opacity: 0.7; stroke-dasharray: 4.5,4.5; }
+			.railway-dis-casing-color          { stroke: #808080; }
+			.railway-dis-1-core-color          { stroke: #f2f2f2; }
+			.railway-dis-2-core-color          { stroke: #808080; }
+			.railway-dis-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-aba-casing                { stroke-width: 1.6px; stroke-opacity: 0.4; }
+			.railway-aba-1-core                { stroke-width: 1.0px; stroke-opacity: 0.4; }
+			.railway-aba-2-core                { stroke-width: 1.0px; stroke-opacity: 0.4; stroke-dasharray: 4.5,4.5; }
+			.railway-aba-casing-color          { stroke: #b2b2b2; }
+			.railway-aba-1-core-color          { stroke: #ffffff; }
+			.railway-aba-2-core-color          { stroke: #b2b2b2; }
+			.railway-aba-tunnel-core               { stroke-opacity: 0.1; }
+			
+			.highway-motorway-casing                { stroke-width: 9.0px;   stroke: #202020; }
+			.highway-motorway-area-casing           { stroke-width: 1.0px; }
+			.highway-motorway-core                  { stroke-width: 8.0px;   stroke: #809BC0; }
+			.highway-motorway-area                  { fill: #809BC0; }
+			.highway-motorway-name                  { stroke-width: 0px;     font-size: 9px; }
+			.highway-motorway-ref                   { stroke-width: 0px;     font-size: 12px; }
+			
+			.highway-motorway-link-casing           { stroke-width: 6.5px;   stroke: #202020; }
+			.highway-motorway-link-area-casing      { stroke-width: 1.0px; }
+			.highway-motorway-link-core             { stroke-width: 5.5px;   stroke: #809BC0; }
+			.highway-motorway-link-area             { fill: #809BC0; }
+			.highway-motorway-link-name             { stroke-width: 0px;     font-size: 8px; }
+			.highway-motorway-link-ref              { stroke-width: 0px;     font-size: 12px; }
+
+			.highway-trunk-casing                   { stroke-width: 9.0px;   stroke: #202020; }
+			.highway-trunk-mr2-casing               { stroke-width: 12.0px;     stroke: #809BC0; }
+			.highway-trunk-mr3-casing               { stroke-width: 12.0px;     stroke: #FDBF6F; }
+			.highway-trunk-area-casing              { stroke-width: 1.0px; }
+			.highway-trunk-core                     { stroke-width: 8.0px;   stroke: #7FC97F; }
+			.highway-trunk-area                     { fill: #7FC97F; }
+			.highway-trunk-name                     { stroke-width: 0px;     font-size: 9px; }
+			.highway-trunk-ref                      { stroke-width: 0px;     font-size: 12px; }
+			
+			.highway-trunk-link-casing              { stroke-width: 5.5px;   stroke: #202020; }
+			.highway-trunk-link-mr2-casing          { stroke-width: 6.5px;     stroke: #809BC0; }
+			.highway-trunk-link-mr3-casing          { stroke-width: 6.5px;     stroke: #FDBF6F; }
+			.highway-trunk-link-area-casing         { stroke-width: 1.0px; }
+			.highway-trunk-link-core                { stroke-width: 4.5px;   stroke: #7FC97F; }
+			.highway-trunk-link-area                { fill: #7FC97F; }
+			.highway-trunk-link-name                { stroke-width: 0px;     font-size: 8px; }
+			.highway-trunk-link-ref                 { stroke-width: 0px;     font-size: 12px; }
+
+			.highway-primary-casing                 { stroke-width: 7.0px;   stroke: #202020; }
+			.highway-primary-mr2-casing               { stroke-width: 8.0px;     stroke: #809BC0; }
+			.highway-primary-area-casing            { stroke-width: 1.0px; }
+			.highway-primary-core                   { stroke-width: 6.0px;   stroke: #e46d71; }
+			.highway-primary-area                   { fill: #e46d71; }
+			.highway-primary-name                   { stroke-width: 0px;     font-size: 8px; }
+			.highway-primary-ref                    { stroke-width: 0px;     font-size: 12px; }
+
+			.highway-primary-link-casing            { stroke-width: 5.5px;   stroke: #202020; }
+			.highway-primary-link-mr2-casing        { stroke-width: 6.5px;     stroke: #809BC0; }
+			.highway-primary-link-area-casing       { stroke-width: 1.0px; }
+			.highway-primary-link-core              { stroke-width: 4.5px;   stroke: #e46d71; }
+			.highway-primary-link-area              { fill: #e46d71; }
+			.highway-primary-link-name              { stroke-width: 0px;     font-size: 8px; }
+			.highway-primary-link-ref               { stroke-width: 0px;     font-size: 12px; }
+
+			.highway-secondary-casing               { stroke-width: 7.0px;   stroke: #202020; }
+			.highway-secondary-mr2-casing           { stroke-width: 8.0px;     stroke: #809BC0; }
+			.highway-secondary-area-casing          { stroke-width: 1.0px; }
+			.highway-secondary-core                 { stroke-width: 6.0px;   stroke: #FDBF6F; }
+			.highway-secondary-area                 { fill: #FDBF6F; }
+			.highway-secondary-name                 { stroke-width: 0px;     font-size: 8px; }
+			.highway-secondary-ref                  { stroke-width: 0px;     font-size: 12px; }
+
+			.highway-secondary-link-casing          { stroke-width: 5.5px;   stroke: #202020; }
+			.highway-secondary-link-mr2-casing      { stroke-width: 6.5px;     stroke: #809BC0; }
+			.highway-secondary-link-area-casing     { stroke-width: 1.0px; }
+			.highway-secondary-link-core            { stroke-width: 4.5px;   stroke: #FDBF6F; }
+			.highway-secondary-link-area            { fill: #FDBF6F; }
+			.highway-secondary-link-name            { stroke-width: 0px;     font-size: 8px; }
+			.highway-secondary-link-ref             { stroke-width: 0px;     font-size: 12px; }
+
+			.highway-tertiary-casing                { stroke-width: 5.5px;   stroke: #202020; }
+			.highway-tertiary-mr2-casing            { stroke-width: 6.5px;     stroke: #809BC0; }
+			.highway-tertiary-area-casing           { stroke-width: 1.0px; }
+			.highway-tertiary-core                  { stroke-width: 4.5px;   stroke: #ffff90; }
+			.highway-tertiary-area                  { fill: #ffff90; }
+			.highway-tertiary-name                  { stroke-width: 0px;     font-size: 8px; }
+			.highway-tertiary-ref                   { stroke-width: 0px;     font-size: 10px; }
+
+			.highway-tertiary-link-casing           { stroke-width: 5.5px;   stroke: #202020; }
+			.highway-tertiary-link-mr2-casing       { stroke-width: 6.5px;     stroke: #809BC0; }
+			.highway-tertiary-link-area-casing      { stroke-width: 1.0px; }
+			.highway-tertiary-link-core             { stroke-width: 4.5px;   stroke: #ffff90; }
+			.highway-tertiary-link-area             { fill: #ffff90; }
+			.highway-tertiary-link-name             { stroke-width: 0px;     font-size: 8px; }
+			.highway-tertiary-link-ref              { stroke-width: 0px;     font-size: 10px; }
+			
+			.highway-unclassified-casing            { stroke-width: 4.5px;   stroke: #101010; }
+			.highway-unclassified-area-casing       { stroke-width: 1.0px; }
+			.highway-residential-casing             { stroke-width: 4.2px;   stroke: #101010; }
+			.highway-residential-area-casing        { stroke-width: 0.7px; }
+			.highway-unclassified-core              { stroke-width: 3.5px;   stroke: #ffffff; }
+			.highway-ford-core                      { stroke-width: 3.5px;   stroke: #b5d6f1; stroke-linecap: butt; }
+			.highway-unclassified-area              { fill: #ffffff; }
+			.highway-unclassified-name              { stroke-width: 0px;     font-size: 9px; }
+			.highway-unclassified-ref               { stroke-width: 0px;     font-size: 8px; }
+			.highway-road-core                      { stroke-width: 3.5px;   stroke: #d0d0d0; }
+			.highway-road-area                      { fill: #d0d0d0; }
+			
+			.highway-service-casing                 { stroke-width: 2.0px;   stroke: #202020; }
+			.highway-service-area-casing            { stroke-width: 0.2px; }
+			.highway-service-core                   { stroke-width: 1.8px;   stroke: #ffffff; }
+			.highway-service-area                   { fill: #ffffff; }
+			.highway-service-name                   { stroke-width: 0px;     font-size: 8px; }
+			.highway-service-ref                    { stroke-width: 0px;     font-size: 8px; }
+			
+			.highway-unsurfaced-casing              { stroke-width: 3.2px;   stroke: #202020; stroke-dasharray: 2, 1; stroke-linecap: butt; }
+			.highway-unsurfaced-area-casing         { stroke-width: 0.2px; stroke-dasharray: 2, 1; stroke-linecap: butt; }
+			.highway-unsurfaced-core                { stroke-width: 3.0px;   stroke: #ffffff; }
+			.highway-unsurfaced-area                { fill: #ffffff; }
+			.highway-unsurfaced-name                { stroke-width: 0px;     font-size: 4.5px; }
+			.highway-unsurfaced-ref                 { stroke-width: 0px;     font-size: 4.5px; }
+			
+			.highway-track-casing                   { stroke-width: 2.0px;   stroke: #fff2de; stroke-opacity: 0.75; }
+			.highway-track-area-casing              { stroke-width: 0.4px;   }
+			.highway-track-core                     { stroke-width: 1.6px;   stroke: #d79331; }
+			.highway-track-area                     { fill: #fff2de; }
+			.highway-track-name                     { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-track-ref                      { stroke-width: 0px;     font-size: 2.5px; }
+
+			.highway-track-gradex-core            { stroke-dasharray: 8, 3; stroke-linecap: butt; }
+			.highway-track-grade1-core            { }
+			.highway-track-grade2-core            { stroke-dasharray: 6, 4; stroke-linecap: butt; }
+			.highway-track-grade3-core            { stroke-dasharray: 3, 4; stroke-linecap: butt; }
+			.highway-track-grade4-core            { stroke-dasharray: 3, 3, 1, 3; stroke-linecap: butt; }
+			.highway-track-grade5-core            { stroke-dasharray: 1, 3; stroke-linecap: butt; }
+
+			.highway-byway-casing                   { stroke-width: 2.0px;   stroke: #efadaa; }
+			.highway-byway-area-casing              { stroke-width: 0.4px;   }
+			.highway-byway-core                     { stroke-width: 1.6px;   stroke: #bf514d; stroke-dasharray: 6, 4; stroke-linecap: butt; }
+			.highway-byway-area                     { fill: #efadaa; }
+			.highway-byway-name                     { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-byway-ref                      { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-bridleway-casing               { stroke-width: 2.0px;   stroke: #e6dda5; }
+			.highway-bridleway-area-casing          { stroke-width: 0.4px;   }
+			.highway-bridleway-core                 { stroke-width: 1.6px;   stroke: #8fbf4d; stroke-dasharray: 3, 4; stroke-linecap: butt; }
+			.highway-bridleway-area                 { fill: #e6dda5; }
+			.highway-bridleway-name                 { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-bridleway-ref                  { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-cycleway-casing                { stroke-width: 2.0px;   stroke: #d1fad1; }
+			.highway-cycleway-area-casing           { stroke-width: 0.4px;   }
+			.highway-cycleway-core                  { stroke-width: 1.6px;   stroke: #4dbf4d; stroke-dasharray: 3, 4; stroke-linecap: butt; }
+			.highway-cycleway-area                  { fill: #d1fad1; }
+			.highway-cycleway-name                  { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-cycleway-ref                   { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-cycleroad-casing               { stroke-width: 4.2px;  stroke: #707070; }
+			.highway-cycleroad-area-casing          { stroke-width: 0.7px; }
+			.highway-cycleroad-core-3               { stroke-width: 3.5px;   stroke: #d1fad1; }
+			.highway-cycleroad-area-3               { fill: #d1fad1; }
+
+			.highway-pedestrian-casing              { stroke-width: 4.2px;   stroke: #707070; }
+			.highway-pedestrian-area-casing         { stroke-width: 0.7px; }
+			.highway-pedestrian-core                { stroke-width: 3.5px;   stroke: #e5e0c2; }
+			.highway-pedestrian-area                { fill: #e5e0c2; }
+			.highway-pedestrian-name                { stroke-width: 0px;     font-size: 2px; }
+			.highway-pedestrian-ref                 { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-footway-casing                 { stroke-width: 2.0px;   stroke: #e5e0c2; }
+			.highway-footway-area-casing            { stroke-width: 0.4px;   }
+			.highway-footway-core                   { stroke-width: 1.6px;   stroke: #bfba4d; stroke-dasharray: 3, 4; stroke-linecap: butt; }
+			.highway-footway-area                   { fill: #e5e0c2; }
+			.highway-footway-name                   { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-footway-ref                    { stroke-width: 0px;     font-size: 2.5px; }
+			
+			/* render unmarked paths in the same color as highway=road */
+			.highway-path-casing                 { stroke-width: 2.0px;   stroke: #e6e6e6; }
+			.highway-path-area-casing            { stroke-width: 0.4px;   }
+			.highway-path-core                   { stroke-width: 1.6px;   stroke: #909090; stroke-dasharray: 3, 4; stroke-linecap: butt; }
+			.highway-path-area                   { fill: #e6e6e6; }
+			
+			.highway-steps-casing                   { stroke-width: 2.0px;   stroke: #e5e0c2; }
+			.highway-steps-area-casing              { stroke-width: 0.4px;   }
+			.highway-steps-core                     { stroke-width: 1.6px;   stroke: #bfba4d; stroke-dasharray: 1, 3; stroke-linecap: butt; }
+			.highway-steps-area                     { fill: #e5e0c2; }
+			.highway-steps-name                     { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-steps-ref                      { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-scramble-core                  { stroke-width: 0.6px;   stroke: #707070; stroke-dasharray: 6.4, 1.6; stroke-linecap: butt;}
+			
+			/* Aeroways */
+			.aeroway-aerodrome {
+			stroke-width: 1px;
+			stroke: #000000;
+			fill: #d8dcce;
+			}
+
+			.aeroway-apron {
+			stroke-width: 0.6px;
+			stroke: none;
+			fill: #f0f0f0;
+			}
+			
+			.aeroway-taxiway-casing {
+			stroke-width: 6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #000000;
+			fill: none;
+			}
+			
+			.aeroway-taxiway-core {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #d4dcbd;
+			fill: none;
+			}
+			
+			.aeroway-runway-core {
+			stroke-width: 10px;
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			stroke: #d4dcbd;
+			fill: none;
+			}
+			
+			.aeroway-runway-casing {
+			stroke-width: 14px;
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			stroke: #000000;
+			fill: none;
+			}
+			
+			.aeroway-aerodrome-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.6px;
+			font-family: "DejaVu Sans";
+			font-size: 12px;
+			font-weight: bold;
+			}
+			
+			.aeroway-airport-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.6px;
+			font-family: "DejaVu Sans";
+			font-size: 20px;
+			font-weight: bold;
+			}
+			
+			
+			/* Waterways */
+			.waterway-name-casing {
+			stroke: #303030;
+			fill: white;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.waterway-name-core {
+			stroke: green;
+			fill: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.waterway-casing {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b0b0b0;
+			fill: none;
+			}
+			
+			.waterway-core {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b5d6f1;
+			fill: none;
+			}
+			
+			.waterway-riverbank {
+			fill: #b5d6f1;
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+			
+			.waterway-lock-casing                   { stroke: #000000; stroke-width: 6.0px; stroke-linecap: butt; }
+			.waterway-lock-core                     { stroke: #f8f8f8; stroke-width: 5.0px; stroke-linecap: butt; }
+
+			.waterway-river-casing                  { stroke-width: 4px; }
+			.waterway-river-core                    { stroke-width: 4px; }
+			.waterway-river-tunnel-core             { stroke-width: 3px; stroke-dasharray: 6, 6; }
+			.waterway-river-name-casing             { font-size: 6px; stroke-width: 0.4px;}
+			.waterway-river-name-core               { font-size: 6px; }
+			
+			.waterway-stream-casing                 { stroke-width: 1px; }
+			.waterway-stream-core-ephemeral         { stroke-width: 1px; stroke-dasharray: 1.6, 1.6; stroke-linecap: butt; }
+			.waterway-stream-core-intermittent      { stroke-width: 1px; stroke-dasharray: 2.4, 0.8; stroke-linecap: butt; }
+			.waterway-stream-core                   { stroke-width: 1px; }
+			.waterway-stream-tunnel-core            { stroke-width: 0.75px; stroke-dasharray: 3, 3; }
+			.waterway-stream-name-casing            { font-size: 3px; stroke-width: 0.2px;}
+			.waterway-stream-name-core              { font-size: 3px; }
+			
+			.waterway-canal-casing                  { stroke-width: 4px; }
+			.waterway-canal-core                    { stroke-width: 4px; }
+			.waterway-canal-tunnel-core             { stroke-width: 3px; stroke-dasharray: 6, 6; }
+			.waterway-canal-name-casing             { font-size: 6px; stroke-width: 0.4px;}
+			.waterway-canal-name-core               { font-size: 6px; }
+			
+			.waterway-drain-casing                  { stroke-width: 2.3px; }
+			.waterway-drain-core                    { stroke-width: 2.3px; }
+			.waterway-drain-tunnel-core             { stroke-width: 1.8px; stroke-dasharray: 3.5, 3.5; }
+			.waterway-drain-name-casing             { font-size: 3px; stroke-width: 0.2px;}
+			.waterway-drain-name-core               { font-size: 3px; }
+			
+			.waterway-ditch-casing                  { stroke-width: 0.3px; }
+			.waterway-ditch-core                    { stroke-width: 0.3px; }
+			.waterway-ditch-tunnel-core             { stroke-width: 0.275px; stroke-dasharray: 3, 3; }
+			.waterway-ditch-name-casing             { font-size: 3px; stroke-width: 0.2px;}
+			.waterway-ditch-name-core               { font-size: 3px; }
+
+			.waterway-dam {
+			stroke: #000000;
+			stroke-width: 0.375px;
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			}
+			.waterway-weir {
+			stroke: #000044;
+			stroke-width: 0.25px;
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			}
+			
+			
+			/* Generic under-construction style - makes any way dashed */
+			.under-construction { stroke-dasharray: 8, 10; }
+			.wrong-under-construction { stroke-width: 4px; stroke: #ffffff; stroke-dasharray: 10, 10; fill:none; }
+
+			
+			/* Ferry */
+			.route-ferry {
+			stroke-width: 1px;
+			stroke-dasharray: 6,4;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			}
+			
+			
+			/* Place names */
+			/* General style for captions */
+			.place-caption {
+			fill: black;
+			stroke: none;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			.caption-casing {
+			fill: white;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.caption-core {
+			stroke: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.city-caption           { font-size: 14px; opacity: 0.5; }
+			.town-caption           { font-size: 12px; }
+			.peak-caption           { font-size: 8px; }
+			.cave-caption           { font-size: 8px; }
+			.island-caption         { font-size: 10px; opacity: 0.5; }
+			.islet-caption          { font-size: 8px; }
+			.village-caption        { font-size: 10px; }
+			.suburb-caption         { font-size: 10px; }
+			.hamlet-caption         { font-size: 8px;  }
+			.locality-caption       { font-size: 8px; }
+			.farm-caption           { font-size: 6px;  }
+			
+			.largefeature-caption-casing        { stroke-width: 2.5px; font-size: 5px; }
+			.largefeature-caption-core          { fill: #4040ff;       font-size: 5px; }
+			
+			/* Natural */
+			.natural-water {
+			fill: #b5d6f1;
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+			
+			.natural-water-marsh {
+			fill: url(#marsh-pattern);
+			stroke: #007fff;
+			stroke-width: 0px;
+			}
+			
+			.natural-coastline {
+			fill: #b5d6f1;
+			stroke: #b5d6f1;
+			stroke-width: 0.8px;
+			}
+
+			.natural-glacier {
+			fill: #fafaff;
+			stroke: lightblue;
+			stroke-width: 0.8px;
+			}
+			
+			.natural-land {
+			fill: #f8f8f8;
+			stroke: #e0e0e0;
+			stroke-width: 0.2px;
+			}
+			
+			.natural-heath {
+			fill: #ffffc0;
+			stroke: #ffff90;
+			stroke-width: 0.2px;
+			}
+			
+			.wetland-bog {
+			fill: #946e50;
+			stroke: #3f1f06;
+			stroke-width: 0.2px;
+			}
+			
+			.natural-beach {
+			fill: #eecc55;
+			stroke: none;
+			}
+			
+			/* Landuse */
+			.landuse-wood {
+			fill: #6fc18e;
+			stroke: #6fc18e;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-wood-coniferous {
+			fill: url(#wood-coniferous-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-wood-deciduous {
+			fill: url(#wood-deciduous-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-wood-mixed {
+			fill: url(#wood-mixed-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-cemetery {
+			fill: url(#cemetery-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-cemetery-christian {
+			fill: url(#cemetery-christian-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-vineyard {
+			fill: url(#vineyard-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-field {
+			fill: #ebfff2;
+			stroke: #9ee673;
+			stroke-width: 0.2px;
+			}
+			.landuse-allotment-village {
+			fill: #bde3cb;
+			stroke: #6fc13d;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-residential {
+			stroke: none;
+			fill: #e4e4e4;
+			}
+			
+			.landuse-industrial {
+			fill: #ecd8ff;
+			stroke: #e4e4e4;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-construction {
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			fill: #a47c41;
+			}
+			
+			.landuse-commercial {
+			fill: #ffffc0;
+			stroke: #e4e4e4;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-quarry {
+			fill: #e9dd72;
+			stroke: #556b2f;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-retail {
+			fill: #ffebeb;
+			stroke: #e4e4e4;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-runway {
+			stroke-width: 0.6px;
+			stroke: #808080;
+			fill: #d4dcbd;
+			}
+			
+			.landuse-runway-disused {
+			stroke-width: 0.6px;
+			stroke: #808080;
+			fill: #d4dcbd;
+			stroke-dasharray: 2, 2;
+			}
+			
+			.landuse-runway-dismantled {
+			stroke-width: 0.6px;
+			stroke: #808080;
+			fill: #fcffef;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			.artificial-pier-area {
+			stroke: #d0d0d0;
+			stroke-width: 0.1px;
+			fill: #e4e4e4;
+			}
+
+			.artificial-pier-core {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #e4e4e4;
+			fill: none;
+			}
+			
+			.artificial-pier-casing {
+			stroke-width: 0.8px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #d0d0d0;
+			fill: none;
+			}
+			
+			.landuse-conservation {
+			fill: #cfeca8;
+			stroke: #6fc18e;
+			stroke-width: 0.4px
+			}
+			
+			/* Leisure */
+			.leisure-park {
+			fill: #c7f1a3;
+			stroke: #6fc18e;
+			stroke-width: 0.4px;
+			}
+			
+			.leisure-stadium {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.4px;
+			}
+			
+			.leisure-track-area {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.05px;
+			}
+			
+			.leisure-track-casing {
+			fill: none;
+			stroke: #6fc18e;
+			stroke-width: 1.6px;
+			}
+			
+			.leisure-track-core {
+			fill: none;
+			stroke: #bde3cb;
+			stroke-width: 1.5px;
+			}
+			
+			.leisure-swimming-pool {
+			fill: #b5d6f1;
+			stroke: #6060ff;
+			stroke-width: 0.2px;
+			}
+			
+			.leisure-national_park {
+			fill: url(#national-park-pattern);
+			}
+			.leisure-nature_reserve {
+			fill: url(#nature-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.leisure-landscape_reserve {
+			fill: url(#landscape-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.sport {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.4px;
+			}
+			
+			.sport-swimming {
+			fill: #b5d6f1;
+			stroke: #6060ff;
+			stroke-width: 0.2px;
+			}
+			
+			.sport-tennis {
+			fill: #d18a6a;
+			stroke: #B36C4C;
+			stroke-width: 0.2px;
+			}
+			
+			.amenity-parking {
+			fill: #ffffc0;
+			stroke: #e9dd72;
+			stroke-width: 0.4px;
+			}
+			
+			.amenity-school {
+			fill: #cdabde;
+			stroke: #e9dd72;
+			stroke-width: 0.4px;
+			}
+			
+			
+			/* Non-physical boundaries */
+			.boundary {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.boundary-level-1-casing {
+			stroke-width: 14px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+			
+			.boundary-level-1-core {
+			stroke-width: 2px;
+			stroke: #f9574b;
+			stroke-dasharray: 12, 4, 4, 4;
+			}
+			
+			.boundary-level-2-casing {
+			stroke-width: 6px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+			
+			.boundary-level-2-core {
+			stroke-width: 2px;
+			stroke: #f9574b;
+			stroke-dasharray: 12, 12;
+			}
+			
+			.boundary-level-3-core {
+			stroke-width: 2px;
+			stroke: #f9574b;
+			}
+			
+			.boundary-level-4-core {
+			stroke-width: 2px;
+			stroke: #f9574b;
+			stroke-dasharray: 12, 4, 4, 4;
+			}
+			
+			.boundary-level-5-core {
+			stroke-width: 2px;
+			stroke: #f9574b;
+			stroke-dasharray: 12, 12;
+			}
+			
+			.boundary-level-6-core {
+			stroke-width: 2px;
+			stroke: #f9574b;
+			stroke-dasharray: 4, 20;
+			}
+			
+			.boundary-nationalpark-core {
+			stroke-width: 2px;
+			stroke: #4ef94b;
+			stroke-dasharray: 12, 4, 4, 4;
+			}
+			
+			
+			/* Racetracks */
+			.highway-raceway-casing {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #101010;
+			}
+			
+			.highway-raceway-casing-disused {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 2, 2;
+			}
+			
+			.highway-raceway-casing-dismantled {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			.highway-raceway-core {
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-raceway-core-disused {
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke-dasharray: 2, 2;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-raceway-core-dismantled {
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ffffff;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			.landuse-raceway {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #101010;
+			}
+			
+			.landuse-raceway-disused {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #808080;
+			stroke-dasharray: 2, 2;
+			}
+			
+			.landuse-raceway-dismantled {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #ffffff;
+			stroke: #808080;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			
+			.railway-station                        { fill: #ec2d2d;        stroke: #606060; stroke-width: 1px; }
+			.railway-station-caption-casing         { stroke-width: 1px;    font-size: 10px; }
+			.railway-station-caption-core           { fill: #ec2d2d;        font-size: 10px; }
+			
+			.railway-halt                           { fill: #ec2d2d;        stroke: #606060; stroke-width: 0.4px; }
+			.railway-halt-caption-casing            { stroke-width: 0.8px;  font-size: 8px; }
+			.railway-halt-caption-core              { fill: #ec2d2d;        font-size: 8px; }
+			
+			
+			/* Tourism */
+			.tourism-attraction {
+			fill: #f2caea;
+			stroke: #ff00ff;
+			stroke-width: 0px;
+			}
+			.tourism-green-area {
+			fill: #c7f1a3;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.tourism-attraction-caption {
+			fill: #ff00ff;
+			stroke: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-size: 3px;
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			
+			.generic-caption-casing              { stroke-width: 1px;   font-size: 2px; }
+			.generic-caption-core                { fill: #4040ff;        font-size: 2px; }
+			
+			.generic-poi {
+			fill: #4040ff;
+			stroke: #606060;
+			stroke-width: 0.2px;
+			}
+			
+			/* Building */
+			.building {
+			fill: #e0e0e0;
+			stroke: #d0d0d0;
+			stroke-width: 0.1px;
+			}
+			
+			.building-block {
+			fill: #F3D6B6;
+			stroke: #6a5a8e;
+			stroke-width: 0.1px;
+			}
+			
+			.building-residential {
+			fill: #c95e2a;
+			stroke: #800000;
+			stroke-width: 0.1px;
+			}
+			
+			
+			/* Aerialway */
+			
+			.aerialway-line {
+			fill: none;
+			stroke: #202020;
+			stroke-width: 0.4px;
+			}
+			
+			.aerialway-struts {
+			fill: none;
+			stroke: #202020;
+			stroke-width: 4px;
+			stroke-dasharray: 0.4,20;
+			stroke-linecap: butt;
+			}
+			
+			.aerialway-station {
+			fill: #ec2d2d;  
+			stroke: #606060;
+			stroke-width: 0.4px; 
+			}
+			
+			.aerialway-name {
+			fill: black;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 7px;
+			stroke: none;
+			text-anchor: middle;
+			}
+			
+			.military-area {
+			fill: url(#military-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			/* Piste maps */
+			.piste-core {
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke-width: 5px;
+			opacity: 0.66;
+			}
+			
+			.piste-area {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke-width: 5px;
+			opacity: 0.66;
+			}
+			
+			.piste-difficulty-novice       { stroke: #40ff40; }
+			.piste-difficulty-easy         { stroke: #4040ff; }
+			.piste-difficulty-intermediate { stroke: #ff4040; }
+			.piste-difficulty-advanced     { stroke: #000000; }
+			.piste-difficulty-expert       { stroke: #f6800a; }
+			.piste-difficulty-freeride     { stroke: #f6dd0a; }
+			.piste-difficulty-other        { stroke: #505050; }
+			.piste-area-difficulty-novice       { stroke: #40ff40; fill: #40ff40; }
+			.piste-area-difficulty-easy         { stroke: #4040ff; fill: #4040ff; }
+			.piste-area-difficulty-intermediate { stroke: #ff4040; fill: #ff4040; }
+			.piste-area-difficulty-advanced     { stroke: #000000; fill: #000000; }
+			.piste-area-difficulty-expert       { stroke: #f6800a; fill: #f6800a; }
+			.piste-area-difficulty-freeride     { stroke: #f6dd0a; fill: #f6dd0a; }
+			.piste-area-difficulty-other        { stroke: #505050; fill: #505050; }
+			
+			.piste-type-sled {
+			fill: none;
+			stroke: #cdabde;
+			stroke-width: 2.5px;
+			marker-start:url(#marker-piste-type-sled);
+			}
+			
+			.piste-type-nordic {
+			fill: none;
+			stroke: #c00000;
+			stroke-width: 1px;
+			stroke-dasharray: 3,0.5;
+			stroke-linejoin: bevel;
+			stroke-linecap: butt;
+			marker-start:url(#marker-piste-type-nordic);
+			}
+			
+			.man-made-piste-halfpipe {
+			fill: #a0f0ff;
+			stroke: #00bcdf;
+			stroke-width: 0.4px;
+			}
+			
+			.man_made-wastewater {
+			fill: #e4e4e4;
+			}
+			
+			/* Power line */
+			.powerline-pipeline-casing {
+			stroke-width: 0.4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #ffffff;
+			stroke-opacity: 0.5;
+			fill: none;
+			}
+			.power-line {
+			stroke-width: 0.8px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #808080;
+			stroke-dasharray: 16, 8;
+			fill: none;
+			}
+			/* Power Generator */
+			.power-wind {
+			fill: url(#power-wind-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-hydro {
+			fill: url(#power-hydro-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-photovoltaic {
+			fill: url(#power-photovoltaic-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-generic {
+			fill: url(#power-generic-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+
+			.reservoir-evaporator {
+			fill: url(#reservoir-evaporator-pattern);
+			stroke: none;
+			}
+
+			.reservoir-cooling {
+			fill: url(#reservoir-cooling-pattern);
+			stroke: none;
+			}
+
+			.reservoir-sewage {
+			fill: url(#reservoir-sewage-pattern);
+			stroke: none;
+			}
+
+			.reservoir-tailings {
+			fill: url(#reservoir-tailings-pattern);
+			stroke: none;
+			}
+
+			.basin-infiltration {
+			fill: url(#basin-infiltration-pattern);
+			stroke: none;
+			}
+			.basin-detention {
+			fill: url(#basin-detention-pattern);
+			stroke: none;
+			}
+			.basin-retention {
+			fill: url(#basin-retention-pattern);
+			stroke: none;
+			}
+
+			/* Area captions */
+			.park-name {
+			fill: #404040;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			font-size: 4.5px;
+			stroke-width: 0.0px;
+			}
+			
+			.landuse-reservoir-name {
+			fill: #404040;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			font-size: 4.5px;
+			stroke-width: 0.0px;
+			}
+			
+			
+			/* Oneway */
+			.oneway-casing {
+			fill: none;
+			stroke-linecap: butt;
+			stroke: #707070;
+			}
+			
+			.oneway-core {
+			fill: none;
+			stroke-linecap: butt;
+			stroke: #ffffff;
+			}
+			
+			.oneway-casing-1 {
+			stroke-width: 0.4px;
+			stroke-dasharray: 4.2,55.8;
+			stroke-dashoffset: 46.2;
+			}
+			
+			.oneway-casing-2 {
+			stroke-width: 0.95px;
+			stroke-dasharray: 0.6,59.4;
+			stroke-dashoffset: 43.4;
+			}
+			
+			.oneway-casing-3 {
+			stroke-width: 0.8px;
+			stroke-dasharray: 0.6,59.4;
+			stroke-dashoffset: 43.2;
+			}
+			
+			.oneway-casing-4 {
+			stroke-width: 0.65px;
+			stroke-dasharray: 0.8,59.2;
+			stroke-dashoffset: 43.2;
+			
+			}
+			
+			.oneway-casing-5 {
+			stroke-width: 0.5px;
+			stroke-dasharray: 1.0,59;
+			stroke-dashoffset: 43.2;
+			}
+			
+			.oneway-casing-6 {
+			stroke-width: 0.35px;
+			stroke-dasharray: 1.2,58.8;
+			stroke-dashoffset: 43.2;
+			}
+			
+			.oneway-casing-7 {
+			stroke-width: 0.2px;
+			stroke-dasharray: 1.4,58.6;
+			stroke-dashoffset: 43.2;
+			}
+			
+			.oneway-casing-8 {
+			stroke-width: 0.1px;
+			stroke-dasharray: 1.6,58.4;
+			stroke-dashoffset: 43.2;
+			}
+			
+			.oneway-core-1 {
+			stroke-width: 0.2px;
+			stroke-dasharray: 4,56;
+			stroke-dashoffset: 46;
+			}
+			
+			.oneway-core-2 {
+			stroke-width: 0.85px;
+			stroke-dasharray: 0.4,59.6;
+			stroke-dashoffset: 43.2;
+			}
+			
+			.oneway-core-3 {
+			stroke-width: 0.7px;
+			stroke-dasharray: 0.6,59.4;
+			stroke-dashoffset: 43.2;
+			}
+			
+			.oneway-core-4 {
+			stroke-width: 0.55px;
+			stroke-dasharray: 0.8,59.2;
+			stroke-dashoffset: 43.2;
+			}
+			
+			.oneway-core-5 {
+			stroke-width: 0.4px;
+			stroke-dasharray: 1.0,59;
+			stroke-dashoffset: 43.2;
+			}
+			
+			.oneway-core-6 {
+			stroke-width: 0.25px;
+			stroke-dasharray: 1.2,58.8;
+			stroke-dashoffset: 43.2;
+			}
+			
+			.oneway-core-7 {
+			stroke-width: 0.1px;
+			stroke-dasharray: 1.4,58.6;
+			stroke-dashoffset: 43.2;
+			}
+			
+			.otherway {
+			fill: none;
+			stroke: red;
+			stroke-width: 2px;
+			stroke-opacity: 0;
+			/* marker-start: url(#marker-otherway-start); */
+			marker-end: url(#marker-otherway-end);
+			}
+			
+			
+			/* Map decoration */
+			.map-grid-line {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0.5;
+			}
+			
+			.map-border-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 3px;
+			stroke-miterlimit: 4;
+			stroke-dasharray: none;
+			stroke-opacity: 1;
+			stroke-linecap: round;
+			}
+			
+			.map-border-core {
+			fill: none;
+			fill-opacity: 1;
+			fill-rule: nonzero;
+			stroke: #ffffff;
+			stroke-width: 2px;
+			stroke-miterlimit: 0;
+			stroke-dashoffset: -0.5px;
+			stroke-opacity: 1;
+			}
+			
+			.map-scale-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-core {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-bookend {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 1px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-caption {
+			font-family: "DejaVu Sans";
+			font-size: 10px;
+			fill: #8080ff;
+			}
+			
+			<!-- map background must be the same for all zooms or else empty tile detection will fail -->
+			.map-background {
+			fill: #f8f8f8;
+			stroke: none;
+			}
+			
+			.map-title {
+			font-family: "DejaVu Sans";
+			font-size: 20px;
+			text-anchor: middle;
+			fill: black;
+			}
+			
+			.map-title-background {
+			fill: white;
+			}
+			
+			.map-marginalia-background {
+			fill: white;
+			}
+			
+			.highway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			}
+			
+			/* Osmarender built-in styles - do not remove */
+			.osmarender-stroke-linecap-round { stroke-linecap: round; }
+			.osmarender-stroke-linecap-butt { stroke-linecap: butt; }
+			.osmarender-mask-black { stroke: black; }
+			.osmarender-mask-white { stroke: white; }
+			.osmarender-no-marker-start { marker-start: none; }
+			.osmarender-no-marker-end { marker-end: none; }
+			
+		</style>
+		
+		<svg:pattern x="0" y="0" width="200" height="200" id="wood-deciduous-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.10)">
+			<svg:rect fill="#6fc18e" width="205" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 27,1 C 20,1 13,7 13,14 C 13,16 13,18 15,20 C 11,22 8,26 8,29 C 8,36 16,43 28,43 L 28,63 L 37,63 L 37,43 C 48,43 57,36 57,29 C 57,26 55,23 52,21 C 55,14 45,4 37,6 C 36,3 33,1 27,1"/>
+			<svg:path fill="#2b743f" d="M 77,101 C 70,101 63,107 63,114 C 63,116 63,118 65,120 C 61,122 58,126 58,129 C 58,136 66,143 78,143 L 78,163 L 87,163 L 87,143 C 98,143 107,136 107,129 C 107,126 105,123 102,121 C 105,114 95,104 87,106 C 86,103 83,101 77,101"/>
+		</svg:pattern>
+		<svg:pattern x="0" y="0" width="200" height="200" id="wood-coniferous-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.10)">
+			<svg:rect fill="#6fc18e" width="205" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 15,24 L 25,24 L 10,39 L 25,39 L 5,54 L 25,54 L 25,64 L 35,64 L 35,54 L 55,54 L 35,39 L 50,39 L 35,24 L 45,24 L 30,4 L 15,24"/>
+			<svg:path fill="#2b743f" d="M 65,124 L 75,124 L 60,139 L 75,139 L 55,154 L 75,154 L 75,164 L 85,164 L 85,154 L 105,154 L 85,139 L 100,139 L 85,124 L 95,124 L 80,104 L 65,124"/>
+		</svg:pattern>
+		<svg:pattern x="0" y="0" width="300" height="200" id="wood-mixed-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.10)">
+			<svg:rect fill="#6fc18e" width="305" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 27,1 C 20,1 13,7 13,14 C 13,16 13,18 15,20 C 11,22 8,26 8,29 C 8,36 16,43 28,43 L 28,63 L 37,63 L 37,43 C 48,43 57,36 57,29 C 57,26 55,23 52,21 C 55,14 45,4 37,6 C 36,3 33,1 27,1"/>
+			<svg:path fill="#2b743f" d="M 65,54 L 75,54 L 60,69 L 75,69 L 55,84 L 75,84 L 75,94 L 85,94 L 85,84 L 105,84 L 85,69 L 100,69 L 85,54 L 95,54 L 80,34 L 65,54"/>
+			<svg:path fill="#2b743f" d="M 165,104 L 175,104 L 160,119 L 175,119 L 155,134 L 175,134 L175,144 L 185,144 L 185,134 L 205,134 L 185,119 L 200,119 L 185,104 L 195,104 L 180,84 L 165,104"/>
+			<svg:path fill="#2b743f" d="M 227,101 C 220,101 213,107 213,114 C 213,116 213,118 215,120 C 211,122 208,126 208,129 C 208,136 216,143 228,143 L 228,163 L 237,163 L 237,143 C 248,143 257,136 257,129 C 257,126 255,123 252,121 C 255,114 245,104 237,106 C 236,103 233,101 227,101"/>
+		</svg:pattern>
+		
+		<svg:pattern id="marsh-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.3)">
+			<svg:path stroke="#007fff" stroke-width="0.2" stroke-linecap="round" d="M 0,4 C 1.33,4 2.67,4 4,4 M 2,4 C 2,3 2,2 2,1 M 3,3 L 2,4 M 3,2 L 2,4 M 1,3 L 2,4 M 1,2 L 2,4 M 7,9 L 10,9 M 2,9 C 3,9 4,9 5,9 M 6,4 C 6.71,4 7.35,4 8,4 M 2,6 C 2.67,6 3.33,6 4,6 M 7,1 C 7.70,1 8.33,1 9,1 M 0,9 L 1,9 M 9,6 L 9,9 M 10,7 L 9,9 M 10,8 L 9,9 M 8,8 L 9,9 M 8,7 L 9,9"/>
+		</svg:pattern>
+		
+		<svg:pattern id="military-pattern" x="0" y="0" width="500" height="500" patternUnits="userSpaceOnUse" patternTransform="scale(0.01)">
+			<svg:rect width="510" height="510" x="0" y="0" fill-opacity="0.5" fill="#d0d050"/>
+			<svg:path fill="#808000" d="M 311.4875,112.4725 L 240.86574,112.4725 L 219.18975,100.81875 L 219.18975,67.95515 L 358.10253,55.13602 L 358.10253,98.02185 L 311.4875,107.11177 L 311.4875,112.4725 z "/>
+			<svg:path fill="#808000" d="M 86.10386,157.81856 L 404.48447,158.3883 L 404.43115,99.18722 L 313.11903,119.23168 L 180.26621,119.23168 L 86.10386,144.40379 C 80.55682,146.64725 78.71816,157.81856 86.10386,157.81856 z "/>
+			<svg:path fill="#808000" d="M 176.69134,184.53979 C 176.69131,195.84684 167.54017,205.02094 156.23316,205.04931 C 144.92615,205.07768 135.72909,195.94962 135.67232,184.64271 C 135.61555,173.33581 144.72048,164.11585 156.02721,164.03068 C 167.33393,163.94551 176.57673,173.02726 176.6903,184.33373"/>
+			<svg:path fill="#808000" d="M 222.85374,184.53979 C 222.85371,195.84684 213.70257,205.02094 202.39556,205.04931 C 191.08855,205.07768 181.89149,195.94962 181.83472,184.64271 C 181.77795,173.33581 190.88288,164.11585 202.18961,164.03068 C 213.49633,163.94551 222.73913,173.02726 222.8527,184.33373"/>
+			<svg:path fill="#808000" d="M 268.20674,184.53979 C 268.20671,195.84684 259.05557,205.02094 247.74856,205.04931 C 236.44155,205.07768 227.24449,195.94962 227.18772,184.64271 C 227.13095,173.33581 236.23588,164.11585 247.54261,164.03068 C 258.84933,163.94551 268.09213,173.02726 268.2057,184.33373"/>
+			<svg:path fill="#808000" d="M 314.63974,184.53979 C 314.63971,195.84684 305.48857,205.02094 294.18156,205.04931 C 282.87455,205.07768 273.67749,195.94962 273.62072,184.64271 C 273.56395,173.33581 282.66888,164.11585 293.97561,164.03068 C 305.28233,163.94551 314.52513,173.02726 314.6387,184.33373"/>
+			<svg:path fill="#808000" d="M 104.62906,164.30601 L 95.06656,164.74351 C 89.7409,177.99161 94.17664,190.11388 108.81656,199.08726 C 125.31404,209.1992 145.13754,218.93662 150.87906,219.08726 L 345.94156,219.14976 C 351.68308,218.99912 371.50659,209.26172 388.00406,199.14976 C 402.64398,190.17638 407.07972,178.02286 401.75406,164.77476 L 392.19156,164.36851 C 395.0692,176.76396 397.55281,185.1301 379.62906,193.61851 C 364.95912,200.56595 349.45269,208.83667 347.03531,209.33726 L 149.78531,209.30601 C 147.36794,208.8054 131.89275,200.50345 117.22281,193.55601 C 99.29906,185.06761 101.75142,176.70146 104.62906,164.30601 z M 81.325,74.26296 L 81.325,87.85048 L 214.52384,92.37965 L 214.52384,74.05709 L 81.325,74.26296 z "/>
+			<svg:path fill="#808000" d="M 360.71264,185.61239 C 360.71261,196.91944 351.56147,206.09354 340.25446,206.12191 C 328.94745,206.15028 319.75039,197.02222 319.69362,185.71531 C 319.63685,174.40841 328.74178,165.18845 340.04851,165.10328 C 351.35523,165.01811 360.59803,174.09986 360.7116,185.40633"/>
+			<svg:path fill="#808000" d="M 389.14837,176.08104 C 389.14835,182.52632 383.93199,187.75578 377.48672,187.77195 C 371.04145,187.78813 365.79891,182.58491 365.76655,176.1397 C 365.73419,169.6945 370.92422,164.4389 377.36932,164.39035 C 383.81443,164.3418 389.08304,169.51862 389.14778,175.96358"/>
+			<svg:path fill="#808000" d="M 130.88767,176.08104 C 130.88765,182.52632 125.67129,187.75578 119.22602,187.77195 C 112.78075,187.78813 107.53821,182.58491 107.50585,176.1397 C 107.47349,169.6945 112.66352,164.4389 119.10862,164.39035 C 125.55373,164.3418 130.82234,169.51862 130.88708,175.96358"/>
+		</svg:pattern>
+		
+		<svg:pattern id="cemetery-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(2)">
+			<svg:rect fill="#bde3cb" width="10" height="10" x="0" y="0"/>
+			<svg:path fill="#b0b0b0" stroke-width="0.1" d="M 1.48,0.13 C 2.12,0.13 2.63,0.64 2.63,1.28 L 2.63,4.27 L 0.33,4.27 L 0.33,1.28 C 0.33,0.64 0.85,0.13 1.48,0.13 z "/>
+			<svg:path fill="#b0b0b0" stroke-width="0.1" d="M 6.64,5.78 C 7.27,5.78 7.79,6.29 7.79,6.92 L 7.79,9.91 L 5.49,9.91 L 5.49,6.92 C 5.49,6.29 6.00,5.78 6.64,5.78 z "/>
+		</svg:pattern>
+		<svg:pattern id="cemetery-christian-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(2)">
+			<svg:rect fill="#bde3cb" width="11" height="11" x="0" y="0"/>
+			<svg:path stroke="black" stroke-width="0.2" d="M1,1 L3,1 M2,0 L2,3 M6,6 L8,6 M7,5 L7,8"/>
+		</svg:pattern>
+		
+		<svg:pattern patternUnits="userSpaceOnUse" width="104.8886" height="112.38862" patternTransform="scale(0.05,0.05)" id="vineyard-pattern">
+			<svg:rect fill="#d1ead1" width="104.8886" height="112.38862" x="0" y="0"/>
+			<svg:g transform="translate(-35,-59.111382)">
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="105" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="104.54168" y="95.686478"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="91.572838" y="95.066086"/>
+				<svg:path style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#bf5bc3;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 102.72166,94.632518 C 102.72166,94.632518 102.51202,95.733107 102.51202,86.247077 C 102.51202,84.082553 104.39875,79.905587 96.851849,75.974911"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-1.4674523,16.770883)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-4.6119891,6.2890801)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(10.27217,-2.7252699)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-6.7083494,-4.4023583)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(4.1927244,9.8528923)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(2.096364,0.6289069)"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="90" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="95" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="115" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="60" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="59.541687" y="133.18648"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="46.572845" y="132.56609"/>
+				<svg:path style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#bf5bc3;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 57.72166,132.13252 C 57.72166,132.13252 57.51202,133.23311 57.51202,123.74708 C 57.51202,121.58255 59.39875,117.40559 51.85185,113.47491"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-46.467452,54.270883)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-49.611989,43.78908)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-34.72783,34.77473)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-51.708349,33.097642)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-40.807276,47.352892)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-42.903636,38.128907)"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="45" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="50" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="90" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="95" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="70" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="55" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="105" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="115" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="60" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="45" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="50" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="55" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="70" y="94"/>
+				<svg:rect style="fill:none;fill-opacity:0.92941176;stroke:none;stroke-width:0.22276554;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="104.87722" height="112.37724" x="35.011383" y="59.111382"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="144"/>
+			</svg:g>
+		</svg:pattern>
+		<svg:pattern id="power-wind-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.6)">
+		<!-- power_wind.svg -->
+			<svg:g style="fill:#000000">
+				<rect width="0.77532399" height="8.1394444" x="8.3448029" y="7.860559" style="fill:#000000" />
+				<path d="M 9.4685289,7.5398227 C 9.5951548,7.3769778 10.64679,8.1902804 11.817421,9.3563852 C 12.988052,10.52249 13.834385,11.599816 13.707759,11.762661 C 13.581133,11.925506 12.529499,11.112204 11.358868,9.9460989 C 10.188236,8.7799942 9.341903,7.7026676 9.4685289,7.5398227 z" />
+				<path d="M 9.0179241,5.7934416 C 8.8242005,5.7429518 9.0001786,4.4242539 9.4109824,2.8480475 C 9.8217862,1.2718412 10.311853,0.03500359 10.505576,0.085493431 C 10.6993,0.13598327 10.523322,1.4546811 10.112518,3.0308874 C 9.7017142,4.6070939 9.2116477,5.8439315 9.0179241,5.7934416 z" />
+				<path d="M 7.7057548,7.0801563 C 7.7567258,7.273754 6.5211097,7.7668916 4.9459289,8.1816099 C 3.3707482,8.5963282 2.0524917,8.7755817 2.0015207,8.5819841 C 1.9505497,8.3883865 3.1861658,7.8952488 4.7613465,7.4805306 C 6.3365273,7.0658123 7.6547838,6.8865587 7.7057548,7.0801563 z" />
+				<path d="M 9.7448924,6.787931 C 9.7450023,7.3521951 9.2876067,7.8096797 8.7233428,7.8096797 C 8.1590787,7.8096797 7.7016831,7.3521951 7.701793,6.787931 C 7.7016831,6.2236669 8.1590787,5.7661823 8.7233428,5.7661823 C 9.2876067,5.7661823 9.7450023,6.2236669 9.7448924,6.787931 L 9.7448924,6.787931 z" />
+			</svg:g>
+		</svg:pattern>
+		<svg:pattern id="power-hydro-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.6)">
+		<!-- power_hydro.svg -->
+			<path d="M 8.5,12.8 L 11.9,6.5 L 7.1,7.6 L 10.8,1.5 L 8.2,0.17 L 4.1,10.1 L 9,8.6 L 7.4,12.3 L 7.1,11.6 L 6.65,15.7 L 9.3,12.5 L 8.5,12.8 z" style="fill:#00ccff;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;" />
+		</svg:pattern>
+		<svg:pattern id="power-photovoltaic-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.6)">
+		<!-- power_photovoltaic.svg -->
+		<svg:g transform="matrix(1,0,-0.26,1,0.15,0)">
+				<svg:rect x="3.4" y="3.4" width="13" height="8.9" style="fill:#ffffff;stroke:#000000;stroke-width:0.4"/>
+				<svg:g style="stroke-width:0;fill:#000084" >
+					<svg:rect x="3.9" y="8" width="3.8" height="3.8" />
+					<svg:rect x="8" y="8" width="3.8" height="3.8" />
+					<svg:rect x="12.1" y="8" width="3.8" height="3.8" />
+					<svg:rect x="3.9" y="3.9" width="3.8" height="3.8" />
+					<svg:rect x="8" y="3.9" width="3.8" height="3.8" />
+					<svg:rect x="12.1" y="3.9" width="3.8" height="3.8" />
+				</svg:g>
+			</svg:g>
+			<svg:path d="M 2.72 0.34 L 2.97 2.59 L 1.38 2.13 L 2.44 3.25 L 0.38 3.98 L 2.59 4.38 L 1.59 5.72 L 3.13 5.03 L 3.16 7.22 L 4.25 5.34 L 5.22 6.6 L 5.03 5 L 7.22 5.66 L 5.72 4.06 L 7.25 3.59 L 5.59 3.28 L 6.97 1.41 L 4.88 2.34 L 4.88 0.78 L 4.09 2.13 L 2.72 0.34 z" style="fill:#ffff00;stroke:#000000;stroke-width:0.1" />
+		</svg:pattern>
+		<svg:pattern id="power-generic-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.6)">
+		<!-- power_generic.svg -->
+			<svg:path d="M 8.5,12.8 L 11.9,6.5 L 7.1,7.6 L 10.8,1.5 L 8.2,0.17 L 4.1,10.1 L 9,8.6 L 7.4,12.3 L 7.1,11.6 L 6.65,15.7 L 9.3,12.5 L 8.5,12.8 z" style="fill:#ffff00;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;" />
+		</svg:pattern>
+		<!-- reservoir patterns -->
+		<svg:pattern id="reservoir-evaporator-pattern" patternUnits="userSpaceOnUse" width="2" height="2" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;stroke-linecap:round;" d="M 0.1,1.9 L 1.9,1.9" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.96,1.8 C 1.25,1.4 0.75,1.4 1.04,1" />
+			<svg:path style="stroke:#007fff;stroke-width:.035px;fill:none" d="M 0.61,1.8 C 0.8,1.55 0.5,1.55 .69,1.3" />
+			<svg:path style="stroke:#007fff;stroke-width:.035px;fill:none" d="M 1.31,1.8 C 1.5,1.55 1.2,1.55 1.39,1.3" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-cooling-pattern" patternUnits="userSpaceOnUse" width="2" height="2" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;stroke-linecap:round;" d="M 0.1,1.9 L 1.9,1.9" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1,1.25 L 0.784,1.125 L 0.784,0.875 L 1,0.75 L 1.217,0.875 L 1.217,1.125 z" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1,1.25 L 1,1.75" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 0.784,1.125 L 0.35,1.375" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 0.784,0.875 L 0.35,0.625" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1,0.75 L 1,0.25" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1.217,0.875 L 1.65,0.625" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1.217,1.125 L 1.65,1.375" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.257,1.705 L 1.000,1.550 L 0.743,1.705" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.518,1.575 L 0.524,1.275 L 0.261,1.130" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.261,0.870 L 0.524,0.725 L 0.518,0.425" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.743,0.295 L 1.000,0.450 L 1.257,0.295" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.482,0.425 L 1.476,0.725 L 1.739,0.870" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.739,1.139 L 1.476,1.275 L 1.482,1.575" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-sewage-pattern" patternUnits="userSpaceOnUse" width="0.5" height="0.5" >
+			<svg:path style="stroke:#997700;stroke-width:.1px;" d="M -0.01,-0.01 L 0.51,0.51" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-tailings-pattern" patternUnits="userSpaceOnUse" width="0.5" height="0.5" >
+			<svg:path style="stroke:black;stroke-width:.1px;" d="M -0.01,-0.01 L 0.51,0.51" />
+		</svg:pattern>
+
+		<svg:pattern id="basin-infiltration-pattern" patternUnits="userSpaceOnUse" width="2" height="2" patternTransform="scale(5.5)" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.1,0.2 L 1.9,0.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.4,0.6 L 1.6,0.6" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.1,1.2 L 0.9,1.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.4,1.6 L 0.6,1.6" />
+		</svg:pattern>
+
+		<svg:pattern id="basin-detention-pattern" patternUnits="userSpaceOnUse" width="2" height="2" patternTransform="scale(5.5)" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.4,0.2 L 1.6,0.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.1,0.6 L 1.9,0.6" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.4,1.2 L 0.6,1.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.1,1.6 L 0.9,1.6" />
+		</svg:pattern>
+
+		<svg:pattern id="basin-retention-pattern" patternUnits="userSpaceOnUse" width="2" height="2" patternTransform="scale(5.5)" >
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.4,0.2 L 1.6,0.2" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.1,0.6 L 1.9,0.6" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.4,1.2 L 0.6,1.2" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.1,1.6 L 0.9,1.6" />
+		</svg:pattern>
+
+		<svg:pattern id="nature-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(9.1554)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.1" d="
+		M0.2,0.1 L1.8,0.9 M2.2,0.9 L3.8,0.1   M4.2,0.1 L5.8,0.9 M6.2,0.9 L7.8,0.1   M8.2,0.1 L9.8,0.9 M10.2,0.9 L11.8,0.1
+		M0.2,1.9 L1.8,1.1 M2.2,1.1 L3.8,1.9   M4.2,1.9 L5.8,1.1 M6.2,1.1 L7.8,1.9   M8.2,1.9 L9.8,1.1 M10.2,1.1 L11.8,1.9
+		M0.2,2.1 L1.8,2.9 M2.2,2.9 L3.8,2.1   M4.2,2.1 L5.8,2.9 M6.2,2.9 L7.8,2.1   M8.2,2.1 L9.8,2.9 M10.2,2.9 L11.8,2.1
+		M0.2,3.9 L1.8,3.1 M2.2,3.1 L3.8,3.9   M4.2,3.9 L5.8,3.1 M6.2,3.1 L7.8,3.9   M8.2,3.9 L9.8,3.1 M10.2,3.1 L11.8,3.9
+		M0.2,4.1 L1.8,4.9 M2.2,4.9 L3.8,4.1   M4.2,4.1 L5.8,4.9 M6.2,4.9 L7.8,4.1   M8.2,4.1 L9.8,4.9 M10.2,4.9 L11.8,4.1
+		M0.2,5.9 L1.8,5.1 M2.2,5.1 L3.8,5.9   M4.2,5.9 L5.8,5.1 M6.2,5.1 L7.8,5.9   M8.2,5.9 L9.8,5.1 M10.2,5.1 L11.8,5.9
+
+		M0.2,6.1 L1.8,6.9 M2.2,6.9 L3.8,6.1   M4.2,6.1 L5.8,6.9 M6.2,6.9 L7.8,6.1   M8.2,6.1 L9.8,6.9 M10.2,6.9 L11.8,6.1
+		M0.2,7.9 L1.8,7.1 M2.2,7.1 L3.8,7.9   M4.2,7.9 L5.8,7.1 M6.2,7.1 L7.8,7.9   M8.2,7.9 L9.8,7.1 M10.2,7.1 L11.8,7.9
+		M0.2,8.1 L1.8,8.9 M2.2,8.9 L3.8,8.1   M4.2,8.1 L5.8,8.9 M6.2,8.9 L7.8,8.1   M8.2,8.1 L9.8,8.9 M10.2,8.9 L11.8,8.1
+		M0.2,9.9 L1.8,9.1 M2.2,9.1 L3.8,9.9   M4.2,9.9 L5.8,9.1 M6.2,9.1 L7.8,9.9   M8.2,9.9 L9.8,9.1 M10.2,9.1 L11.8,9.9
+		M0.2,10.1 L1.8,10.9 M2.2,10.9 L3.8,10.1   M4.2,10.1 L5.8,10.9 M6.2,10.9 L7.8,10.1   M8.2,10.1 L9.8,10.9 M10.2,10.9 L11.8,10.1
+		M0.2,11.9 L1.8,11.1 M2.2,11.1 L3.8,11.9   M4.2,11.9 L5.8,11.1 M6.2,11.1 L7.8,11.9   M8.2,11.9 L9.8,11.1 M10.2,11.1 L11.8,11.9"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.15;stroke-linecap:round;stroke-linejoin:round;" d="
+		M1.2,2.6 L1.2,1.4 L1.8,2.6 L1.8,1.4
+		M2.2,2.1 L2.45,2.1 A 0.25 0.25 0 0 0 2.45,1.4 L2.2,1.4 L2.2,2.6  M2.8,2.6 L2.3,2.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="landscape-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(8.0)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.05" d="
+		M0.4,0.2 L1.6,0.8 M2.4,0.8 L3.6,0.2   M4.4,0.2 L5.6,0.8 M6.4,0.8 L7.6,0.2   M8.4,0.2 L9.6,0.8 M10.4,0.8 L11.6,0.2
+		M0.4,1.8 L1.6,1.2 M2.4,1.2 L3.6,1.8   M4.4,1.8 L5.6,1.2 M6.4,1.2 L7.6,1.8   M8.4,1.8 L9.6,1.2 M10.4,1.2 L11.6,1.8
+		M0.4,2.2 L1.6,2.8 M2.4,2.8 L3.6,2.2   M4.4,2.2 L5.6,2.8 M6.4,2.8 L7.6,2.2   M8.4,2.2 L9.6,2.8 M10.4,2.8 L11.6,2.2
+		M0.4,3.8 L1.6,3.2 M2.4,3.2 L3.6,3.8   M4.4,3.8 L5.6,3.2 M6.4,3.2 L7.6,3.8   M8.4,3.8 L9.6,3.2 M10.4,3.2 L11.6,3.8
+		M0.4,4.2 L1.6,4.8 M2.4,4.8 L3.6,4.2   M4.4,4.2 L5.6,4.8 M6.4,4.8 L7.6,4.2   M8.4,4.2 L9.6,4.8 M10.4,4.8 L11.6,4.2
+		M0.4,5.8 L1.6,5.2 M2.4,5.2 L3.6,5.8   M4.4,5.8 L5.6,5.2 M6.4,5.2 L7.6,5.8   M8.4,5.8 L9.6,5.2 M10.4,5.2 L11.6,5.8
+
+		M0.4,6.2 L1.6,6.8 M2.4,6.8 L3.6,6.2   M4.4,6.2 L5.6,6.8 M6.4,6.8 L7.6,6.2   M8.4,6.2 L9.6,6.8 M10.4,6.8 L11.6,6.2
+		M0.4,7.8 L1.6,7.2 M2.4,7.2 L3.6,7.8   M4.4,7.8 L5.6,7.2 M6.4,7.2 L7.6,7.8   M8.4,7.8 L9.6,7.2 M10.4,7.2 L11.6,7.8
+		M0.4,8.2 L1.6,8.8 M2.4,8.8 L3.6,8.2   M4.4,8.2 L5.6,8.8 M6.4,8.8 L7.6,8.2   M8.4,8.2 L9.6,8.8 M10.4,8.8 L11.6,8.2
+		M0.4,9.8 L1.6,9.2 M2.4,9.2 L3.6,9.8   M4.4,9.8 L5.6,9.2 M6.4,9.2 L7.6,9.8   M8.4,9.8 L9.6,9.2 M10.4,9.2 L11.6,9.8
+		M0.4,10.2 L1.6,10.8 M2.4,10.8 L3.6,10.2   M4.4,10.2 L5.6,10.8 M6.4,10.8 L7.6,10.2   M8.4,10.2 L9.6,10.8 M10.4,10.8 L11.6,10.2
+		M0.4,11.8 L1.6,11.2 M2.4,11.2 L3.6,11.8   M4.4,11.8 L5.6,11.2 M6.4,11.2 L7.6,11.8   M8.4,11.8 L9.6,11.2 M10.4,11.2 L11.6,11.8"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:round;" d="
+		M5.2,3.4 L5.2,4.6 L5.8,4.6
+		M6.2,4.1 L6.45,4.1 A 0.25 0.25 0 0 0 6.45,3.4 L6.2,3.4 L6.2,4.6  M6.8,4.6 L6.3,4.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="national-park-pattern" x="0" y="0" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(8.0)">
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.5;" d="
+		M9.2,6.6 L9.2,5.4 L9.8,6.6 L9.8,5.4
+		M10.2,6.1 L10.45,6.1 A 0.25 0.25 0 0 0 10.45,5.4 L10.2,5.4 L10.2,6.6 "/>
+		</svg:pattern>
+
+		<svg:marker fill="none" id="canal-lock" markerHeight="5.9px" markerUnits="userSpaceOnUse" markerWidth="5.9px" orient="auto" refX="1px" refY="5px" stroke="#000000" stroke-width="0.75px" stroke-opacity="1" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L -2,5 L 1,10"/>
+		</svg:marker>
+	</defs>
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z15.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z15.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z15.xml	(revision 35743)
@@ -0,0 +1,4531 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Tiles@Home Rules File for zoom level 15 -->
+<rules
+	  xmlns:xlink="http://www.w3.org/1999/xlink"
+	  xmlns:svg="http://www.w3.org/2000/svg"
+	  data="data.osm"
+	  svgBaseProfile="full"
+	  scale="1"
+	  symbolScale="0.42"
+	  textAttenuation="3.5"
+	  minimumMapWidth="0.5"
+	  minimumMapHeight="0.5"
+	  withOSMLayers="yes"
+	  withUntaggedSegments="no"
+	  showScale="no"
+	  showGrid="no"
+	  showBorder="no"
+	  showLicense="no"
+	  interactive="no"
+	  symbolsDir="../stylesheets/symbols"
+	  meter2pixel="0.1375">
+	
+	
+	<!-- Select all nodes and ways (unless they have an osmarender:render=no tag) -->
+	<rule e="node|way" k="osmarender:render" v="~|yes">
+		
+		<!-- Landuse -->
+		<rule e="way" k="landuse" v="landfill|quarry">
+			<area class="landuse-quarry"/>
+		</rule>
+		<rule e="way" k="landuse" v="cemetery">
+			<rule e="way" k="religion" v="christian">
+				<area class="landuse-cemetery-christian"/>
+			</rule>
+			<else>
+				<area class="landuse-cemetery"/>
+			</else>
+		</rule>
+		<rule e="way" k="amenity" v="grave_yard">
+			<rule e="way" k="religion" v="christian">
+				<area class="landuse-cemetery-christian"/>
+			</rule>
+			<else>
+				<area class="landuse-cemetery"/>
+			</else>
+		</rule>
+		<rule e="way" k="landuse" v="vineyard">
+			<area class="landuse-vineyard"/>
+		</rule>
+		
+		<!-- Natural features -->
+		<rule e="way" k="natural" v="coastline">
+			<area class="natural-coastline"/>
+		</rule>
+		<rule e="way" k="natural" v="glacier">
+			<line class='natural-glacier'/>
+		</rule>
+		<rule e="way" k="natural" v="land">
+			<area class="natural-land"/>
+		</rule>
+		<rule e="way" k="natural" v="beach">
+			<area class="natural-beach"/>
+		</rule>
+		<rule e="way" k="natural|landuse" v="forest|wood|scrub">
+			<rule e="way" k="wood" v="coniferous">
+				<area class="landuse-wood-coniferous"/>
+			</rule>
+			<else>
+				<rule e="way" k="wood" v="deciduous">
+					<area class="landuse-wood-deciduous"/>
+				</rule>
+				<else>
+					<rule e="way" k="wood" v="mixed">
+						<area class="landuse-wood-mixed"/>
+					</rule>
+					<else>
+						<area class="landuse-wood"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="natural" v="heath">
+			<area class="natural-heath"/>
+		</rule>
+		<rule e="way" k="natural" v="wetland">
+			<rule e="way" k="wetland" v="bog">
+				<area class="wetland-bog"/>
+			</rule>
+		</rule>
+		<rule e="way" k="landuse" v="conservation">
+			<area class="landuse-conservation"/>
+		</rule>
+		
+		<!-- Artificial landuse -->
+		<rule e="way" k="landuse" v="field|farm|farmland|meadow|grass">
+			<area class="landuse-field"/>
+		</rule>
+		<rule e="way" k="landuse" v="allotments|village_green|recreation_ground">
+			<area class="landuse-allotment-village"/>
+		</rule>
+		<rule e="way" k="leisure" v="park|garden|golf_course|common|green">
+			<area class="leisure-park"/>
+		</rule>
+		<rule e="way" k="leisure" v="playground|playing_fields|pitch|dog_park">
+			<rule e="way" k="sport" v="tennis">
+				<area class="sport-tennis"/>
+			</rule>
+			<else>
+				<!-- Done separately from the above rule to layer these above. Tend to be smaller and inside parks. -->
+				<area class="leisure-park"/>
+			</else>
+		</rule>
+
+		<rule e="way" k="leisure" v="stadium|sports_centre|water_park">
+			<area class="leisure-stadium"/>
+		</rule>
+		<rule e="way" k="leisure" v="track">
+			<rule e="way" k="area" v="yes|true">
+				<area class="leisure-track-area"/>
+			</rule>
+			<else>
+				<line class="leisure-track-casing"/>
+				<line class="leisure-track-core"/>
+			</else>
+		</rule>
+		<rule e="way" k="leisure" v="swimming_pool">
+			<area class="leisure-swimming-pool"/>
+		</rule>
+		<rule e="way" k="man_made" v="wastewater_plant" layer="-5" closed="yes">
+			<area class="man_made-wastewater" layer="-5"/>
+		</rule>
+		<rule e="way" k="man_made" v="wastewater_plant">
+			<symbol ref="wastewater" position="center"/>
+		</rule>
+		<rule e="node" k="man_made" v="wastewater_plant">
+			<symbol ref="wastewater" position="center"/>
+		</rule>
+		
+		<!-- Airports and runways -->
+		<rule e="way" k="aeroway" v="aerodrome" closed="yes">
+			<area class="aeroway-aerodrome"/>
+		</rule>
+		<rule e="way" k="aeroway" v="apron">
+			<area class="aeroway-apron"/>
+		</rule>
+		<rule e="way" k="landuse" v="runway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse-runway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse-runway-disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse-runway-dismantled"/>
+			</rule>
+		</rule>
+		
+		<!-- Raceways and racetracks (cars and horses etc) -->
+		<rule e="way" k="landuse" v="raceway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse-raceway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse-raceway-disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse-raceway-dismantled"/>
+			</rule>
+		</rule>
+		
+		<!-- Man-made areas -->
+		<rule e="way" k="leisure|landuse|amenity|tourism" v="~">
+			<rule e="way" k="building" v="~|no|false|0">
+				<rule e="way" k="sport" v="swimming|canoe|diving|scuba_diving">
+					<area class="sport-swimming"/>
+				</rule>
+				<else>
+					<rule e="way" k="sport" v="tennis">
+						<area class="sport-tennis"/>
+					</rule>
+					<else>
+						<rule e="way" k="sport" v="*" closed="yes">
+							<area class="sport"/>
+						</rule>
+					</else>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="amenity" v="parking">
+			<area class="amenity-parking"/>
+		</rule>
+		<rule e="way" k="tourism" v="attraction">
+			<rule e="way" k="highway" v="~">
+				<rule e="way" k="area" v="no" />
+				<else>
+					<area class="tourism-attraction"/>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="tourism" v="zoo|picnic_site|caravan_site|camp_site">
+			<area class="tourism-green-area"/>
+		</rule>
+		<rule e="node|way" k="tourism" v="camp_site">
+			<rule e="node|way" k="refugee" v="yes">
+				<symbol ref="earthquakeCamp" position="center"/>
+			</rule>
+		</rule>
+		<rule e="node|way" k="earthquake:damage" v="spontaneous_camp">
+			<symbol ref="earthquakeCamp" position="center"/>
+		</rule>
+		
+		<!-- access rules for parking -->
+		<rule e="way" k="amenity" v="parking">
+			<rule e="way" k="access" v="private">
+				<area class="access-private-small-area"/>
+			</rule>
+			<rule e="way" k="access" v="permissive|public">
+				<area class="access-permissive-small-area"/>
+			</rule>
+			<rule e="way" k="access" v="destination">
+				<area class="access-destination-small-area"/>
+			</rule>
+			<rule e="way" k="access" v="no">
+				<area class="access-no-small-area"/>
+			</rule>
+		</rule>
+		
+		<!-- Airfields and airports -->
+		<rule e="way" k="aeroway" v="runway">
+			<line class="aeroway-runway-casing"/>
+		</rule>
+		<rule e="way" k="aeroway" v="taxiway">
+			<line class="aeroway-taxiway-casing"/>
+		</rule>
+		
+		<!-- Waterways -->
+		<rule e="way" k="lock" v="yes|true">
+			<line class="waterway-lock-casing" smart-linecap="no" />
+			<line class="waterway-lock-core" smart-linecap="no" />
+		</rule>
+		<rule e="way" k="waterway" v="lock">
+			<line class="waterway-lock-casing" smart-linecap="no" />
+			<line class="waterway-lock-core" smart-linecap="no" />
+		</rule>
+		<rule e="way" k="waterway" v="river">
+			<line class="waterway-casing waterway-river-casing" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="stream">
+			<line class="waterway-casing waterway-stream-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+		</rule>
+		<rule e="way" k="waterway" v="canal">
+			<line class="waterway-casing waterway-canal-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="drain">
+			<line class="waterway-casing waterway-drain-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+		</rule>
+		<rule e="way" k="waterway" v="ditch">
+			<line class="waterway-casing waterway-ditch-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+		</rule>
+		<rule e="way" k="tunnel|culvert" v="yes|culvert">
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<line class="waterway-core waterway-stream-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</rule>
+		<else>
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-core" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<rule e="way" k="stream" v="ephemeral">
+					<line class="waterway-core waterway-stream-core-ephemeral" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+				</rule>
+				<else>
+					<rule e="way" k="stream" v="intermittent">
+						<line class="waterway-core waterway-stream-core-intermittent" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+					</rule>
+					<else>
+						<line class="waterway-core waterway-stream-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</else>
+		<rule e="way" k="waterway" v="dock">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="natural" v="water|pond|lake|bay">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="natural" v="marsh|wetland">
+			<area class="natural-water-marsh"/>
+		</rule>
+		<rule e="way" k="landuse" v="reservoir">
+			<rule e="way" k="reservoir_type" v="evaporator">
+			<area class="reservoir-evaporator"/>
+			</rule>
+			<else>
+				<rule e="way" k="reservoir_type" v="cooling">
+					<area class="reservoir-cooling"/>
+				</rule>
+				<else>
+					<rule e="way" k="reservoir_type" v="sewage">
+						<area class="reservoir-sewage"/>
+					</rule>
+					<else>
+						<rule e="way" k="reservoir_type" v="tailings">
+							<area class="reservoir-tailings"/>
+						</rule>
+						<else>
+							<rule e="way" k="reservoir_type" v="water_storage">
+								<area class="natural-water"/>
+							</rule>
+							<else>
+								<area class="natural-water"/>
+							</else>
+						</else>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="landuse" v="basin">
+			<rule e="way" k="basin" v="infiltration">
+				<area class="basin-infiltration"/>
+			</rule>
+			<else>
+				<rule e="way" k="basin" v="detention">
+					<area class="basin-detention"/>
+				</rule>
+				<else>
+					<rule e="way" k="basin" v="retention">
+						<area class="natural-water"/>
+						<area class="basin-retention"/>
+					</rule>
+					<else>
+						<area class="natural-water"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="waterway" v="riverbank">
+			<area class="waterway-riverbank"/>
+		</rule>
+		<rule e="way" k="waterway" v="weir">
+			<line class="waterway-weir"/>
+		</rule>
+		<rule e="way" k="waterway" v="dam">
+			<line class="waterway-dam"/>
+		</rule>
+		<rule e="node" k="waterway" v="lock_gate">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" k="lock" v="yes|true">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" s="way" k="lock" v="yes|true">
+			<wayMarker k="waterway" v="artificial|canal|ditch|drain|river|stream" class="canal-lock"/>
+		</rule>
+		<rule e="node" k="waterway" v="lock">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" s="way" k="waterway" v="lock">
+			<wayMarker k="waterway" v="artificial|canal|ditch|drain|river|stream" class="canal-lock"/>
+		</rule>
+
+		<rule e="way" k="boundary" v="national_park">
+			<area class="leisure-national_park"/>
+		</rule>
+		<rule e="way" k="leisure" v="landscape_reserve">
+			<area class="leisure-landscape_reserve"/>
+		</rule>
+		<rule e="way" k="leisure" v="nature_reserve">
+			<area class="leisure-nature_reserve"/>
+			<symbol ref="bird" position="center"/>
+		</rule>
+
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="highway" v="motorway|motorway_link|footway|steps|pedestrian|cycleway|bridleway|track|byway|path|cycleroad|living_street|construction|planned|proposed|disused|abandoned|dismantled">
+			</rule>
+			<else>
+				<rule e="way" k="motorroad" v="yes">
+				</rule>
+				<else>
+					<rule e="way" k="bicycle" v="no">
+						<line class="highway-nobicycle-1" smart-linecap="no" />
+						<line class="highway-nobicycle-2" smart-linecap="no" />
+					</rule>
+				</else>
+			</else>
+		</rule>
+
+		<!-- platforms casings -->
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="yes">
+			<line class="highway-platform-area-casing" />
+		</rule>
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="no">
+			<line class="highway-platform-way-casing" />
+		</rule>
+
+		<!-- Highway area casings -->
+		<rule e="way" k="area" v="yes|true">
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+
+			<rule e="way" k="highway" v="track">
+				<area class="highway-casing highway-track-area-back-casing" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<area class="highway-casing highway-footway-casing highway-footway-area-casing no-bezier" smart-area="no"/>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<area class="highway-casing highway-pedestrian-casing highway-pedestrian-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<area class="highway-casing highway-cycleway-casing highway-cycleway-area-casing no-bezier" smart-area="no"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<area class="highway-casing highway-cycleway-casing highway-cycleway-area-casing no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<area class="highway-casing highway-bridleway-casing highway-bridleway-area-casing no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-footway-casing highway-footway-area-casing no-bezier" smart-linecap="no"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<area class="highway-casing highway-bridleway-casing highway-bridleway-area-casing no-bezier" smart-area="no"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<area class="highway-casing highway-byway-1-casing highway-byway-1-area-casing no-bezier" smart-area="no"/>
+				<area class="highway-casing highway-byway-2-casing highway-byway-2-area-casing no-bezier" smart-area="no"/>
+				<area class="highway-casing highway-byway-3-casing highway-byway-3-area-casing no-bezier" smart-area="no"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<rule e="way" k="tracktype" v="grade1">
+					<area class="highway-casing highway-track-casing highway-track-grade1-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="tracktype" v="grade2">
+						<area class="highway-casing highway-track-casing highway-track-grade2-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade3">
+							<area class="highway-casing highway-track-casing highway-track-grade3-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade4">
+								<area class="highway-casing highway-track-casing highway-track-grade4-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade5">
+									<area class="highway-casing highway-track-casing highway-track-grade5-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+								</rule>
+								<else>
+									<area class="highway-casing highway-track-casing highway-track-gradex-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+								</else>
+							</else>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<area class="highway-casing highway-unsurfaced-casing highway-unsurfaced-area-casing no-bezier" smart-area="no"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+					<area class="highway-casing highway-aisle-casing highway-aisle-area-casing no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-casing highway-service-casing highway-service-area-casing no-bezier"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor|road">
+				<area class="highway-casing highway-unclassified-casing highway-unclassified-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="living_street">
+				<area class="highway-casing highway-livingstreet-casing highway-livingstreet-area-casing no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+						</else>
+					</rule>
+				</else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="tertiary_link">
+				<area class="highway-casing highway-tertiary-link-casing highway-tertiary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<area class="highway-casing highway-tertiary-casing highway-tertiary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<area class="highway-casing highway-secondary-link-casing highway-secondary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<area class="highway-casing highway-secondary-casing highway-secondary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<area class="highway-casing highway-primary-link-casing highway-primary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<area class="highway-casing highway-trunk-link-casing highway-trunk-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<area class="highway-casing highway-motorway-link-casing highway-motorway-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<area class="highway-casing highway-primary-casing highway-primary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<area class="highway-casing highway-trunk-casing highway-trunk-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<area class="highway-casing highway-motorway-casing highway-motorway-area-casing no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		</rule>
+		
+		<!-- Linear casings -->
+		<rule e="way" k="tunnel" v="~|no|false">
+			<rule e="way" k="area" v="~|no|false">
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="track">
+					<line class="highway-casing highway-track-back-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="raceway">
+					<rule e="way" k="use_status" v="~">
+						<line class="highway-raceway-casing"/>
+					</rule>
+					<rule e="way" k="use_status" v="disused">
+						<line class="highway-raceway-casing-disused"/>
+					</rule>
+					<rule e="way" k="use_status" v="dismantled">
+						<line class="highway-raceway-casing-dismantled"/>
+					</rule>
+				</rule>
+				<rule e="way" k="highway" v="steps">
+					<line class="highway-casing highway-steps-casing"/>
+				</rule>
+				<rule e="way" k="highway" v="footway|footpath">
+					<line class="highway-casing highway-footway-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="pedestrian">
+					<line class="highway-casing highway-pedestrian-casing"/>
+				</rule>
+				<rule e="way" k="highway" v="cycleway">
+					<line class="highway-casing highway-cycleway-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<line class="highway-casing highway-cycleway-casing" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<line class="highway-casing highway-bridleway-casing" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-footway-casing" smart-linecap="no"/>
+						</else></else>
+				</rule>
+				<rule e="way" k="highway" v="bridleway">
+					<line class="highway-casing highway-bridleway-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="byway">
+					<line class="highway-casing highway-byway-1-casing" smart-linecap="no"/>
+					<line class="highway-casing highway-byway-2-casing" smart-linecap="no"/>
+					<line class="highway-casing highway-byway-3-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="track">
+					<rule e="way" k="tracktype" v="grade1">
+						<line class="highway-casing highway-track-casing highway-track-grade1-casing" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade2">
+							<line class="highway-casing highway-track-casing highway-track-grade2-casing" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade3">
+								<line class="highway-casing highway-track-casing highway-track-grade3-casing" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade4">
+									<line class="highway-casing highway-track-casing highway-track-grade4-casing" smart-linecap="no"/>
+								</rule>
+								<else>
+									<rule e="way" k="tracktype" v="grade5">
+										<line class="highway-casing highway-track-casing highway-track-grade5-casing" smart-linecap="no"/>
+									</rule>
+									<else>
+										<rule e="way" k="track" v="racetrack">
+											<line class="highway-racetrack-casing-white" smart-linecap="no"/>
+											<line class="highway-racetrack-casing-red" smart-linecap="no"/>
+										</rule>
+										<else>
+											<line class="highway-casing highway-track-casing highway-track-gradex-casing" smart-linecap="no"/>
+										</else>
+									</else>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="unsurfaced">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<line class="highway-casing highway-unsurfaced-cy1-casing" smart-linecap="no"/>
+						<line class="highway-casing highway-unsurfaced-cy2-casing" smart-linecap="no"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-unsurfaced-casing" smart-linecap="no"/>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle">
+						<line class="highway-casing highway-aisle-casing"/>
+					</rule>
+					<else>
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<line class="highway-casing highway-service-cy1-casing"/>
+							<line class="highway-casing highway-service-cy2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-service-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="unclassified|minor|road|ford">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<line class="highway-casing highway-unclassified-cy1-casing"/>
+						<line class="highway-casing highway-unclassified-cy2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-unclassified-casing"/>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="residential">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<line class="highway-casing highway-residential-cy1-casing"/>
+						<line class="highway-casing highway-residential-cy2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-residential-casing"/>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="living_street">
+					<line class="highway-casing highway-livingstreet-casing"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-casing highway-cycleroad-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-cycleroad-casing"/>
+					</else>
+			  </rule>
+			  <else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-casing highway-cycleroad-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-cycleroad-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-casing highway-cycleroad-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-cycleroad-casing"/>
+							</else>
+						</rule>
+					</else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="tertiary_link">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-tertiary-link-mrcy1-casing"/>
+							<line class="highway-casing highway-tertiary-link-mrcy2-casing"/>
+							<line class="highway-casing highway-tertiary-link-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-tertiary-link-cy1-casing"/>
+							<line class="highway-casing highway-tertiary-link-cy2-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-tertiary-link-mr1-casing"/>
+							<line class="highway-casing highway-tertiary-link-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-tertiary-link-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="tertiary">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-tertiary-mrcy1-casing"/>
+							<line class="highway-casing highway-tertiary-mrcy2-casing"/>
+							<line class="highway-casing highway-tertiary-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-tertiary-cy1-casing"/>
+							<line class="highway-casing highway-tertiary-cy2-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-tertiary-mr1-casing"/>
+							<line class="highway-casing highway-tertiary-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-tertiary-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="secondary_link">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-secondary-link-mrcy1-casing"/>
+							<line class="highway-casing highway-secondary-link-mrcy2-casing"/>
+							<line class="highway-casing highway-secondary-link-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-secondary-link-cy1-casing"/>
+							<line class="highway-casing highway-secondary-link-cy2-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-secondary-link-mr1-casing"/>
+							<line class="highway-casing highway-secondary-link-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-secondary-link-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="secondary">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-secondary-mrcy1-casing"/>
+							<line class="highway-casing highway-secondary-mrcy2-casing"/>
+							<line class="highway-casing highway-secondary-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-secondary-cy1-casing"/>
+							<line class="highway-casing highway-secondary-cy2-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-secondary-mr1-casing"/>
+							<line class="highway-casing highway-secondary-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-secondary-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="primary_link">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-primary-link-mrcy1-casing"/>
+							<line class="highway-casing highway-primary-link-mrcy2-casing"/>
+							<line class="highway-casing highway-primary-link-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-primary-link-cy1-casing"/>
+							<line class="highway-casing highway-primary-link-cy2-casing"/>
+						</else>
+					</rule>
+
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-primary-link-mr1-casing"/>
+							<line class="highway-casing highway-primary-link-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-primary-link-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="primary">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-primary-mrcy1-casing"/>
+							<line class="highway-casing highway-primary-mrcy2-casing"/>
+							<line class="highway-casing highway-primary-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-primary-cy1-casing"/>
+							<line class="highway-casing highway-primary-cy2-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-primary-mr1-casing"/>
+							<line class="highway-casing highway-primary-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-primary-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="trunk_link">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-trunk-link-mrcy1-casing"/>
+							<line class="highway-casing highway-trunk-link-mrcy2-casing"/>
+							<line class="highway-casing highway-trunk-link-mrcy3-casing"/>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="no">
+								<line class="highway-casing highway-trunk-link-mrcy1-casing"/>
+								<line class="highway-casing highway-trunk-link-mrcy2-casing"/>
+								<line class="highway-casing highway-trunk-link-mrcy4-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-trunk-link-cy1-casing"/>
+								<line class="highway-casing highway-trunk-link-cy2-casing"/>
+							</else>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-trunk-link-mr1-casing"/>
+							<line class="highway-casing highway-trunk-link-mr2-casing"/>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="no">
+								<line class="highway-casing highway-trunk-link-mr1-casing"/>
+								<line class="highway-casing highway-trunk-link-mr3-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-trunk-link-casing"/>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="trunk">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-trunk-mrcy1-casing"/>
+							<line class="highway-casing highway-trunk-mrcy2-casing"/>
+							<line class="highway-casing highway-trunk-mrcy3-casing"/>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="no">
+								<line class="highway-casing highway-trunk-mrcy1-casing"/>
+								<line class="highway-casing highway-trunk-mrcy2-casing"/>
+								<line class="highway-casing highway-trunk-mrcy4-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-trunk-cy1-casing"/>
+								<line class="highway-casing highway-trunk-cy2-casing"/>
+							</else>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-trunk-mr1-casing"/>
+							<line class="highway-casing highway-trunk-mr2-casing"/>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="no">
+								<line class="highway-casing highway-trunk-mr1-casing"/>
+								<line class="highway-casing highway-trunk-mr3-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-trunk-casing"/>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="motorway_link">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<line class="highway-casing highway-motorway-link-cy1-casing"/>
+						<line class="highway-casing highway-motorway-link-cy2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-motorway-link-casing"/>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="motorway">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<line class="highway-casing highway-motorway-cy1-casing"/>
+						<line class="highway-casing highway-motorway-cy2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-motorway-casing"/>
+					</else>
+				</rule>
+
+			    </else>
+			  </else>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-casing railway-con-casing-color railway-casing" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-casing railway-pla-casing-color railway-casing" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-casing railway-dis-casing-color railway-casing" smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-casing railway-aba-casing-color railway-casing" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-casing railway-con-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-casing railway-pla-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-casing railway-dis-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-casing railway-aba-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<rule e="way" k="service" v="spur|yard|siding">
+											<line class="railway-yard-casing railway-yard-casing-color railway-casing" smart-linecap="no" />
+										</rule>
+										<else>
+											<line class="railway-rail-casing railway-rail-casing-color railway-casing" smart-linecap="no" />
+										</else>
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-casing railway-narrow-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-casing railway-preserved-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-casing railway-light-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-casing railway-tram-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-casing railway-subway-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-casing railway-funicular-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-casing railway-monorail-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-casing railway-yard-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+			</rule>
+		</rule>
+		
+		<!-- Turning circles -->
+		<rule e="node" k="highway" v="turning_circle">
+			<rule e="node" s="way" k="highway" v="unclassified|residential|minor|road">
+				<circle r="2.5" class="highway-unclassified-turningcircle"/>
+			</rule>
+		</rule>
+		
+		<!-- platforms cores -->
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="yes">
+			<line class="highway-platform-area" />
+		</rule>
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="no">
+			<line class="highway-platform-way-core" />
+		</rule>
+
+		<!-- Highway area cores -->
+		<rule e="way" k="area" v="yes|true">
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="footway|footpath">
+				<area class="highway-core highway-footway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<area class="highway-core highway-pedestrian-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<area class="highway-core highway-cycleway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<area class="highway-core highway-cycleway-area no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<area class="highway-core highway-bridleway-area no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-path-area no-bezier" smart-linecap="no"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<area class="highway-core highway-bridleway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<area class="highway-core highway-byway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<rule e="way" k="tracktype" v="grade1">
+					<area class="highway-core highway-track-grade1-area no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="tracktype" v="grade2">
+						<area class="highway-core highway-track-grade2-area no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade3">
+							<area class="highway-core highway-track-grade3-area no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade4">
+								<area class="highway-core highway-track-grade4-area no-bezier" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade5">
+									<area class="highway-core highway-track-grade5-area no-bezier" smart-linecap="no"/>
+								</rule>
+								<else>
+									<area class="highway-core highway-track-gradex-area no-bezier" smart-linecap="no"/>
+								</else>
+							</else>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<area class="highway-core highway-unsurfaced-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+					<area class="highway-core highway-aisle-area no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-core highway-service-area no-bezier"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor">
+				<area class="highway-core highway-unclassified-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="living_street">
+				<area class="highway-core highway-livingstreet-area-1 no-bezier"/>
+				<area class="highway-core highway-livingstreet-area-2 no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-core highway-cycleroad-area-1 no-bezier"/>
+					<area class="highway-core highway-cycleroad-area-2 no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-core highway-cycleroad-area-1 no-bezier"/>
+						<area class="highway-core highway-cycleroad-area-2 no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-core highway-cycleroad-area-1 no-bezier"/>
+							<area class="highway-core highway-cycleroad-area-2 no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+						</else>
+					</rule>
+				</else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="road">
+				<area class="highway-core highway-road-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<area class="highway-core highway-tertiary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<area class="highway-core highway-tertiary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<area class="highway-core highway-secondary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<area class="highway-core highway-secondary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<area class="highway-core highway-primary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<area class="highway-core highway-trunk-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<area class="highway-core highway-motorway-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<area class="highway-core highway-primary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<area class="highway-core highway-trunk-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<area class="highway-core highway-motorway-area no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+		</rule>
+		
+		<!-- Buildings -->
+		<rule e="way" k="aeroway" v="terminal">
+			<area class="building-block"/>
+		</rule>
+		<rule e="way" k="building" v="*">
+			<area class="building-block no-bezier"/>
+		</rule>
+		<rule e="node" k="building" v="*">
+			<rule e="node" k="building" v="entrance"></rule>
+			<else>
+				<symbol ref="building" position="center"/>
+			</else>
+		</rule>
+		
+		<!-- Linear cores -->
+		<rule e="way" k="tunnel" v="~|false|no">
+			<rule e="way" k="area" v="~|false|no">
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="ford">
+					<line class="highway-core highway-ford-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="raceway">
+					<rule e="way" k="use_status" v="~">
+						<line class="highway-raceway-core"/>
+					</rule>
+					<rule e="way" k="use_status" v="disused">
+						<line class="highway-raceway-core-disused"/>
+					</rule>
+					<rule e="way" k="use_status" v="dismantled">
+						<line class="highway-raceway-core-dismantled"/>
+					</rule>
+				</rule>
+				<rule e="way" k="scramble" v="*">
+					<line class="highway-core highway-scramble-core"/>
+				</rule>
+				<rule e="way" k="highway" v="steps">
+					<line class="highway-core highway-steps-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="footway|footpath">
+					<line class="highway-core highway-footway-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="pedestrian">
+					<line class="highway-core highway-pedestrian-core"/>
+				</rule>
+				<rule e="way" k="highway" v="cycleway">
+					<line class="highway-core highway-cycleway-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<line class="highway-core highway-cycleway-core" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<line class="highway-core highway-bridleway-core" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="foot" v="yes|designated">
+								<line class="highway-core highway-footway-core" smart-linecap="no"/>
+							</rule>
+							<else>
+								<line class="highway-core highway-path-core" smart-linecap="no"/>
+							</else></else></else>
+				</rule>
+				<rule e="way" k="highway" v="bridleway">
+					<line class="highway-core highway-bridleway-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="byway">
+					<line class="highway-core highway-byway-2-casing" smart-linecap="no"/>
+					<line class="highway-core highway-byway-3-casing" smart-linecap="no"/>
+					<line class="highway-core highway-byway-1-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="track">
+					<rule e="way" k="tracktype" v="race">
+						<line class="highway-racetrack-core"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade1">
+							<line class="highway-core highway-track-core2 highway-track-grade1-core" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade2">
+								<line class="highway-core highway-track-core2 highway-track-grade2-core" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade3">
+									<line class="highway-core highway-track-core highway-track-grade3-core" smart-linecap="no"/>
+								</rule>
+								<else>
+									<rule e="way" k="tracktype" v="grade4">
+										<line class="highway-core highway-track-core highway-track-grade4-core" smart-linecap="no"/>
+									</rule>
+									<else>
+										<rule e="way" k="tracktype" v="grade5">
+											<line class="highway-core highway-track-core  highway-track-grade5-core" smart-linecap="no"/>
+										</rule>
+										<else>
+											<line class="highway-core highway-track-core2 highway-track-gradex-core" smart-linecap="no"/>
+										</else>
+									</else>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="unsurfaced">
+					<line class="highway-core highway-unsurfaced-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle">
+						<line class="highway-core highway-aisle-core"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-service-core"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="unclassified|residential|minor">
+					<line class="highway-core highway-unclassified-core"/>
+				</rule>
+				<rule e="way" k="highway" v="living_street">
+					<line class="highway-core highway-livingstreet-core-1" smart-linecap="no"/>
+					<line class="highway-core highway-livingstreet-core-2" smart-linecap="no"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-core highway-cycleroad-core-1" smart-linecap="no"/>
+						<line class="highway-core highway-cycleroad-core-2" smart-linecap="no"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-cycleroad-core-3"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-core highway-cycleroad-core-1" smart-linecap="no"/>
+							<line class="highway-core highway-cycleroad-core-2" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="highway-core highway-cycleroad-core-3"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-core highway-cycleroad-core-1" smart-linecap="no"/>
+								<line class="highway-core highway-cycleroad-core-2" smart-linecap="no"/>
+							</rule>
+							<else>
+								<line class="highway-core highway-cycleroad-core-3"/>
+							</else>
+						</rule>
+					</else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="road">
+					<line class="highway-core highway-road-core"/>
+				</rule>
+				<rule e="way" k="highway" v="tertiary_link">
+					<line class="highway-core highway-tertiary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="tertiary">
+					<line class="highway-core highway-tertiary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary_link">
+					<line class="highway-core highway-secondary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary">
+					<line class="highway-core highway-secondary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="primary_link">
+					<line class="highway-core highway-primary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk_link">
+					<line class="highway-core highway-trunk-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway_link">
+					<line class="highway-core highway-motorway-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="primary">
+					<line class="highway-core highway-primary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk">
+					<line class="highway-core highway-trunk-core"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway">
+					<line class="highway-core highway-motorway-core"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-1-core railway-con-1-core-color railway-1-core" smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-1-core railway-pla-1-core-color railway-1-core" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-1-core railway-dis-1-core-color railway-1-core" smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-1-core railway-aba-1-core-color railway-1-core" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-1-core railway-con-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-1-core railway-pla-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-1-core railway-dis-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-1-core railway-aba-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<rule e="way" k="service" v="spur|yard|siding">
+											<line class="railway-yard-1-core railway-yard-1-core-color railway-1-core" smart-linecap="no" />
+										</rule>
+										<else>
+											<line class="railway-rail-1-core railway-rail-1-core-color railway-1-core" smart-linecap="no" />
+										</else>
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-1-core railway-narrow-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-1-core railway-preserved-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-1-core railway-light-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-1-core railway-tram-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-1-core railway-subway-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-1-core railway-funicular-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-1-core railway-monorail-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-1-core railway-yard-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core"/>
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<rule e="way" k="service" v="spur|yard|siding">
+											<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core" smart-linecap="no" />
+										</rule>
+										<else>
+											<rule e="way" k="usage" v="main">
+												<line class="railway-main-2-core railway-rail-2-core-color railway-2-core" smart-linecap="no" />
+											</rule>
+											<else>
+												<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core" smart-linecap="no" />
+											</else>
+										</else>
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-2-core railway-light-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="aeroway" v="runway">
+					<line class="aeroway-runway-core"/>
+				</rule>
+				<rule e="way" k="aeroway" v="taxiway">
+					<line class="aeroway-taxiway-core"/>
+				</rule>
+			</rule>
+		</rule>
+		
+		<!-- Tunnels -->
+		<rule e="way" k="tunnel" v="true|yes">
+			<rule e="way" k="highway" v="steps">
+				<line class="tunnel-casing highway-steps-casing tunnel" mask-class="tunnel-core highway-steps-core"/>
+				<line class="highway-steps-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+				<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<line class="tunnel-casing highway-pedestrian-casing tunnel" mask-class="tunnel-core highway-pedestrian-core"/>
+				<line class="highway-pedestrian-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+				<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+					<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+						<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</rule>
+					<else>
+						<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+						<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+				<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<line class="tunnel-casing highway-byway-1-casing tunnel" mask-class="tunnel-core highway-byway-1-core"/>
+				<line class="highway-byway-1-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<line class="tunnel-casing highway-track-casing tunnel" mask-class="tunnel-core highway-track-core"/>
+				<line class="highway-track-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<line class="tunnel-casing highway-unsurfaced-casing tunnel" mask-class="tunnel-core highway-unsurfaced-core"/>
+				<line class="highway-unsurfaced-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<line class="tunnel-casing highway-service-casing tunnel" mask-class="tunnel-core highway-service-core"/>
+				<line class="highway-service-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-unclassified-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="road">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-road-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<line class="tunnel-casing highway-tertiary-link-casing tunnel" mask-class="tunnel-core highway-tertiary-link-core"/>
+				<line class="highway-tertiary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<line class="tunnel-casing highway-tertiary-casing tunnel" mask-class="tunnel-core highway-tertiary-core"/>
+				<line class="highway-tertiary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<line class="tunnel-casing highway-secondary-link-casing tunnel" mask-class="tunnel-core highway-secondary-link-core"/>
+				<line class="highway-secondary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<line class="tunnel-casing highway-secondary-casing tunnel" mask-class="tunnel-core highway-secondary-core"/>
+				<line class="highway-secondary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<line class="tunnel-casing highway-primary-link-casing tunnel" mask-class="tunnel-core highway-primary-link-core"/>
+				<line class="highway-primary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<line class="tunnel-casing highway-trunk-link-casing tunnel" mask-class="tunnel-core highway-trunk-link-core"/>
+				<line class="highway-trunk-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<line class="tunnel-casing highway-motorway-link-casing tunnel" mask-class="tunnel-core highway-motorway-link-core"/>
+				<line class="highway-motorway-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<line class="tunnel-casing highway-primary-casing tunnel" mask-class="tunnel-core highway-primary-core"/>
+				<line class="highway-primary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<line class="tunnel-casing highway-trunk-casing tunnel" mask-class="tunnel-core highway-trunk-core"/>
+				<line class="highway-trunk-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<line class="tunnel-casing highway-motorway-casing tunnel" mask-class="tunnel-core highway-motorway-core"/>
+				<line class="highway-motorway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="railway" v="*">
+				<rule e="way" k="construction" v="yes|true">
+					<line class="railway-con-casing railway-con-casing-color tunnel-casing tunnel" mask-class="tunnel-core railway-con-1-core"/>
+					<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="planned|proposed" v="yes|true">
+						<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-1-core"/>
+						<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="disused" v="yes|true">
+							<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-1-core"/>
+							<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="abandoned|dismantled" v="yes|true">
+								<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-1-core"/>
+								<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="railway" v="construction">
+									<line class="railway-con-casing railway-con-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-con-1-core"/>
+									<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="planned|proposed">
+									<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-1-core"/>
+									<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="disused">
+									<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-1-core"/>
+									<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="abandoned|dismantled">
+									<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-1-core"/>
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="rail">
+									<rule e="way" k="service" v="spur|yard|siding">
+										<line class="railway-yard-casing railway-yard-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-yard-1-core"/>
+										<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core railway-yard-tunnel-core tunnel"  smart-linecap="no" />
+									</rule>
+									<else>
+										<line class="railway-rail-casing railway-rail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-rail-1-core"/>
+										<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core railway-rail-tunnel-core tunnel"  smart-linecap="no" />
+									</else>
+								</rule>
+								<rule e="way" k="railway" v="narrow_gauge">
+									<line class="railway-narrow-casing railway-narrow-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-narrow-1-core"/>
+									<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core railway-narrow-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="preserved">
+									<line class="railway-preserved-casing railway-preserved-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-preserved-1-core"/>
+									<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core railway-preserved-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="light_rail">
+									<line class="railway-light-casing railway-light-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-light-1-core"/>
+									<line class="railway-light-2-core railway-light-2-core-color railway-2-core railway-light-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="tram">
+									<line class="railway-tram-casing railway-tram-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-tram-1-core"/>
+									<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core railway-tram-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="subway">
+									<line class="railway-subway-casing railway-subway-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-subway-1-core"/>
+									<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core railway-subway-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="incline|funicular">
+									<line class="railway-funicular-casing railway-funicular-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-funicular-t-core"/>
+									<line class="railway-funicular-1-core railway-funicular-1-core-color railway-1-core railway-funicular-tunnel-core tunnel"  smart-linecap="no" />
+									<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core railway-funicular-tunnel-core tunnel-casing tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="monorail">
+									<line class="railway-monorail-casing railway-monorail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-monorail-1-core"/>
+									<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core railway-monorail-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="spur|yard|siding">
+									<line class="railway-yard-casing railway-yard-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-yard-1-core"/>
+									<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core railway-yard-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+							</else>
+						</else>
+					</else>
+				</else>
+				<line class="railway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+
+		</rule>
+		
+		<!-- highway motorway-junctions -->
+		<rule e="node" k="highway" v="motorway_junction">
+			<circle r="2" class="highway-motorway-junction"/>
+			<caption k="name" class="highway-motorway-junction-caption" dy="-2px"/>
+			<caption k="ref" class="highway-motorway-junction-caption" dy="+6px"/>
+		</rule>
+		
+		<!-- Linear cores (under construction) -->
+		<rule e="way" k="highway" v="construction">
+			<rule e="way" k="construction" v="steps">
+				<line class="highway-core highway-steps-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="footway|footpath">
+				<line class="highway-core highway-footway-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="pedestrian">
+				<line class="highway-core highway-pedestrian-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="cycleway">
+				<line class="highway-core highway-cycleway-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="highway-core highway-cycleway-core under-construction"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="highway-core highway-bridleway-core under-construction"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-footway-core under-construction"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="construction" v="bridleway">
+				<line class="highway-core highway-bridleway-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="byway">
+				<line class="highway-core highway-byway-1-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="track">
+				<line class="highway-core highway-track-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="unsurfaced">
+				<line class="highway-core highway-unsurfaced-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="service">
+				<line class="highway-core highway-service-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="unclassified|residential|minor|living_street|cycleroad">
+				<line class="highway-core highway-unclassified-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="~|road|yes">
+				<line class="highway-core highway-road-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary_link">
+				<line class="highway-core highway-tertiary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary">
+				<line class="highway-core highway-tertiary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary_link">
+				<line class="highway-core highway-secondary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary">
+				<line class="highway-core highway-secondary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="primary_link">
+				<line class="highway-core highway-primary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk_link">
+				<line class="highway-core highway-trunk-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway_link">
+				<line class="highway-core highway-motorway-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="primary">
+				<line class="highway-core highway-primary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk">
+				<line class="highway-core highway-trunk-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway">
+				<line class="highway-core highway-motorway-core under-construction"/>
+			</rule>
+		</rule>
+				
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="highway" v="motorway|motorway_link|footway|steps|pedestrian|living_street|construction|planned|proposed|disused|abandoned|dismantled">
+			</rule>
+			<else>
+				<rule e="way" k="bicycle" v="no">
+					<rule e="way" k="motorroad" v="yes">
+					</rule>
+					<else>
+						<line class="highway-nobicycle-3" smart-linecap="no" />
+					</else>
+				</rule>
+			</else>
+		</rule>
+
+		<!-- access restrictions -->
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="construction|planned|proposed|disused|abandoned|dismantled" v="yes|true">
+				<line class="wrong-under-construction" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="area" v="yes|true">
+				<rule e="way" k="access" v="private">
+					<area class="access-private-area"/>
+				</rule>
+				<rule e="way" k="access" v="permissive">
+					<area class="access-permissive-area"/>
+				</rule>
+				<rule e="way" k="access" v="destination">
+					<area class="access-destination-area"/>
+				</rule>
+				<rule e="way" k="access" v="no">
+					<area class="access-no-area"/>
+				</rule>
+			</rule>
+			<else>
+				<rule e="way" k="highway" v="footway|footpath|cycleway|path|bridleway|byway|unsurfaced">
+					<rule e="way" k="access" v="private">
+						<line class="access-private-line" smart-linecap="no"/>
+					</rule>
+					<rule e="way" k="access" v="permissive">
+						<line class="access-permissive-line" smart-linecap="no"/>
+					</rule>
+					<rule e="way" k="access" v="destination">
+						<line class="access-destination-line" smart-linecap="no"/>
+					</rule>
+					<rule e="way" k="access" v="no">
+						<line class="access-no-line" smart-linecap="no"/>
+					</rule>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="track">
+						<rule e="way" k="tracktype" v="grade3|grade4|grade5">
+							<rule e="way" k="access" v="private">
+								<line class="access-private-line" smart-linecap="no"/>
+							</rule>
+							<rule e="way" k="access" v="permissive">
+								<line class="access-permissive-line" smart-linecap="no"/>
+							</rule>
+							<rule e="way" k="access" v="destination">
+								<line class="access-destination-line" smart-linecap="no"/>
+							</rule>
+							<rule e="way" k="access" v="no">
+								<line class="access-no-line" smart-linecap="no"/>
+							</rule>
+						</rule>
+						<else>
+							<rule e="way" k="access" v="private">
+								<line class="access-private-line"/>
+							</rule>
+							<rule e="way" k="access" v="permissive">
+								<line class="access-permissive-line"/>
+							</rule>
+							<rule e="way" k="access" v="destination">
+								<line class="access-destination-line"/>
+							</rule>
+							<rule e="way" k="access" v="no">
+								<line class="access-no-line"/>
+							</rule>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="access" v="private">
+							<line class="access-private-line"/>
+						</rule>
+						<rule e="way" k="access" v="permissive">
+							<line class="access-permissive-line"/>
+						</rule>
+						<rule e="way" k="access" v="destination">
+							<line class="access-destination-line"/>
+						</rule>
+						<rule e="way" k="access" v="no">
+							<line class="access-no-line"/>
+						</rule>
+					</else>
+				</else>
+			</else>
+		</rule>
+		
+		<!-- Mini-roundabouts -->
+		<rule e="node" k="highway" v="mini_roundabout">
+			<rule e="node" k="direction" v="clockwise">
+				<symbol ref="roundabout_left" position="center" transform="scale(0.6)"/>
+			</rule>
+			<else>
+				<!-- Default is anti-clockwise -->
+				<symbol ref="roundabout_right" position="center" transform="scale(0.6)"/>
+			</else>
+		</rule>
+		
+		<!-- Piste maps: -->
+		<!-- piste areas -->
+		<rule e="way" k="piste:type" v="downhill" closed="yes">
+			<rule e="way" k="piste:difficulty" v="novice">
+				<line class="piste-area piste-area-difficulty-novice" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="easy">
+				<line class="piste-area piste-area-difficulty-easy" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="intermediate">
+				<line class="piste-area piste-area-difficulty-intermediate" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="advanced">
+				<line class="piste-area piste-area-difficulty-advanced" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="expert">
+				<line class="piste-area piste-area-difficulty-expert" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="freeride">
+				<line class="piste-area piste-area-difficulty-freeride" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="~">
+				<line class="piste-area piste-area-difficulty-other" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="name|ref" v="*">
+				<!-- prefer to render name, otherwise render ref -->
+				<rule e="way" k="name" v="~">
+					<rule e="way" k="ref" v="*">
+						<areaText k="ref" dy="0px" class="piste-downhill-ref" text-anchor="middle"/>
+					</rule>
+				</rule>
+				<else>
+					<rule e="way" k="ref" v="*">
+						<areaText k="ref" dy="-3px" class="piste-downhill-ref" text-anchor="middle"/>
+					</rule>
+					<rule e="way" k="name" v="*">
+						<areaText k="name" dy="3px" class="piste-downhill-name-casing" text-anchor="middle"/>
+						<areaText k="name" dy="3px" class="piste-downhill-name" text-anchor="middle"/>
+					</rule>
+				</else>
+			</rule>
+		</rule>
+		<!-- piste ways -->
+		<rule e="way" k="piste:type" v="downhill" closed="no">
+			<rule e="way" k="piste:difficulty" v="novice">
+				<line class="piste-core piste-difficulty-novice" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="easy">
+				<line class="piste-core piste-difficulty-easy" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="intermediate">
+				<line class="piste-core piste-difficulty-intermediate" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="advanced">
+				<line class="piste-core piste-difficulty-advanced" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="expert">
+				<line class="piste-core piste-difficulty-expert" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="freeride">
+				<line class="piste-core piste-difficulty-freeride" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="~">
+				<line class="piste-core piste-difficulty-other" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="name|ref" v="*">
+				<!-- prefer to render name, otherwise render ref -->
+				<rule e="way" k="name" v="~">
+					<rule e="way" k="ref" v="*">
+						<pathText k="ref" dy="2px" class="piste-downhill-ref" text-anchor="middle" startOffset="75%"/>
+					</rule>
+				</rule>
+				<else>
+					<rule e="way" k="ref" v="*">
+						<pathText k="ref" dy="2px" class="piste-downhill-ref" text-anchor="middle" startOffset="25%"/>
+					</rule>
+					<rule e="way" k="name" v="*">
+						<pathText k="name" dy="2px" class="piste-downhill-name" text-anchor="middle" startOffset="75%"/>
+					</rule>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="piste:type" v="sled">
+			<line class="piste-type-sled"/>
+		</rule>
+		<rule e="way" k="piste:type" v="nordic">
+			<line smart-linecap="no" class="piste-type-nordic"/>
+		</rule>
+		<rule e="way" k="man_made" v="piste:halfpipe">
+			<area class="man-made-piste-halfpipe"/>
+			<symbol ref="man-made-halfpipe" position="center"/>
+		</rule>
+		
+		<!-- Surface lifts (render over pistes) -->
+		<rule e="way" k="piste:lift" v="*">
+			<rule e="way" k="piste:lift" v="t-bar|j-bar|platter">
+				<line smart-linecap="no" class="aerialway-line piste-lift-t-bar-marker no-bezier"/>
+				<line smart-linecap="no" class="aerialway-struts no-bezier"/>
+			</rule>
+			<rule e="way" k="piste:lift" v="rope_tow">
+				<line smart-linecap="no" class="piste-lift-rope-tow no-bezier"/>
+			</rule>
+			<rule e="way" k="piste:lift" v="magic_carpet">
+				<line smart-linecap="no" class="piste-lift-magic-carpet no-bezier"/>
+			</rule>
+			<rule e="way" k="name" v="*">
+				<pathText k="name" dx="0px" dy="-3px" class="aerialway-name" text-anchor="middle" startOffset="50%"/>
+			</rule>
+		</rule>
+		
+		<!-- Aerialways (render over pistes) -->
+		<rule e="node|way" k="aerialway" v="*">
+			<rule e="way" k="aerialway" v="cable_car">
+				<line class="aerialway-line aerialway-cablecar-marker no-bezier" smart-linecap="no"/>
+			</rule>
+			<else>
+				<rule e="way" k="aerialway" v="gondola">
+					<line class="aerialway-line aerialway-gondola-marker no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="aerialway" v="chair_lift">
+						<rule e="way" k="piste:lift:occupancy" v="4|5|6">
+							<line class="aerialway-line aerialway-chairlift4-marker no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="aerialway-line aerialway-chairlift2-marker no-bezier" smart-linecap="no"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="aerialway" v="mixed_lift">
+							<line class="aerialway-line aerialway-mixedlift-marker no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="aerialway" v="*">
+								<line class="aerialway-line no-bezier" smart-linecap="no"/>
+							</rule>
+						</else>
+					</else>
+				</else>
+			</else>
+			<line smart-linecap="no" class="aerialway-struts no-bezier"/>
+			<rule e="node" k="aerialway" v="station">
+				<circle r="1.5px" class="aerialway-station"/>
+			</rule>
+			<rule e="way" k="name" v="*">
+				<pathText k="name" dx="0px" dy="-3px" class="aerialway-name" text-anchor="middle" startOffset="50%"/>
+			</rule>
+		</rule>
+		
+		<!-- Natural features -->
+		<rule e="node" k="natural" v="peak">
+			<symbol ref="peak" position="center"/>
+		</rule>
+		<rule e="node" k="natural" v="volcano">
+			<symbol ref="vulcan" position="center"/>
+		</rule>
+		<rule e="node" k="tourism" v="viewpoint">
+			<symbol ref="viewpoint" position="center"/>
+		</rule>
+		<rule e="node" k="natural" v="cave_entrance">
+			<symbol ref="cave_entrance" position="center"/>
+		</rule>
+		<rule e="node" k="mountain_pass" v="yes" layer="-5">
+			<rule e="node" s="way" k="highway|track" v="path|secondary|track|unclassified|tertiary|primary|footway|unclassified|trunk|service|motorway|residential|bridleway|road|cycleway">
+				<wayMarker k="highway" class="mountain_pass" layer="-5"/>
+			</rule>
+			<else>
+				<symbol ref="mountain_pass" position="center" layer="-5"/>
+			</else>
+		</rule>
+		
+		<!-- Draw marine features -->
+		<rule e="way" k="man_made" v="breakwater" closed="yes">
+			<line class="breakwater-area"/>
+		</rule>
+		<rule e="way" k="man_made" v="breakwater" closed="no">
+			<line class="breakwater"/>
+		</rule>
+		<rule e="way" k="man_made" v="pier" closed="yes">
+			<line class="artificial-pier-area"/>
+		</rule>
+		<rule e="way" k="man_made" v="pier" closed="no">
+			<line class="artificial-pier-casing"/>
+		</rule>
+		<rule e="way" k="man_made" v="pier" closed="no">
+			<line class="artificial-pier-core"/>
+		</rule>
+
+		<!-- Power lines and pylons -->
+		<rule e="way" k="power" v="line">
+			<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+			<line class="power-line no-bezier" smart-linecap="no"/>
+		</rule>
+		<rule e="node|way" k="power" v="tower">
+			<symbol ref="power-tower" position="center"/>
+		</rule>
+
+		<!-- Power generators -->
+		<rule e="node" k="power" v="generator">
+			<rule e="node" k="power_source" v="wind">
+				<symbol ref="power_wind" position="center"/>
+			</rule>
+			<else>
+				<rule e="node" k="power_source" v="hydro">
+					<symbol ref="power_hydro" position="center"/>
+				</rule>
+				<else>
+					<rule e="node" k="power_source" v="photovoltaic">
+						<symbol ref="power_photovoltaic" position="center"/>
+					</rule>
+					<else>
+						<symbol ref="power_generic" position="center"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="power" v="generator">
+			<rule e="way" k="power_source" v="wind">
+				<area class="power-wind"/>
+			</rule>
+			<else>
+				<rule e="way" k="power_source" v="hydro">
+					<area class="power-hydro"/>
+				</rule>
+				<else>
+					<rule e="way" k="power_source" v="photovoltaic">
+						<area class="power-photovoltaic"/>
+					</rule>
+					<else>
+						<area class="power-generic"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+
+		<!-- Electrical substations -->
+		<rule e="way" k="power" v="station|sub_station">
+			<area class="power-generic"/>
+		</rule>
+		
+		<!-- Non-physical routes -->
+		<rule e="way" k="route" v="ferry">
+			<line class="route-ferry"/>
+		</rule>
+		
+		<!-- platforms nodes -->
+		<rule e="node" k="highway|railway|public_transport" v="platform">
+			<circle r="0.6px" class="highway-platform-node" />
+		</rule>
+
+		<!-- Railway stations -->
+		<rule e="node" k="railway" v="station">
+			<rule e="node" s="way" k="railway" v="rail">
+				<circle r="2" class="railway-station"/>
+			</rule>
+			<else>
+				<circle r="1.5" class="railway-halt"/>
+			</else>
+		</rule>
+		<rule e="node" k="railway" v="halt">
+			<circle r="1.5" class="railway-halt"/>
+		</rule>
+		<!-- tram stops -->
+		<rule e="node" k="railway" v="tram_stop">
+			<circle r="1.5" class="railway-halt"/>
+		</rule>
+		
+		<!-- Amenities -->
+		<rule e="node|way" k="amenity" v="hospital">
+			<symbol ref="hospital" position="center"/>
+		</rule>
+		<rule e="node|way" k="tourism" v="alpine_hut">
+			<symbol ref="alpine_hut" position="center" transform="scale(0.7)"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="shelter">
+			<rule e="node|way" k="fireplace" v="yes">
+				<symbol ref="shelter-fireplace" position="center" transform="scale(0.7)"/>
+			</rule>
+			<else>
+				<symbol ref="shelter" position="center" transform="scale(0.7)"/>
+			</else>
+		</rule>
+		
+		<!-- ==================================== Layer -5 ======================================== -->
+		
+		<!-- Access restrictions for areas -->
+		<rule e="way" k="landuse" v="conservation" layer="-5">
+			<rule e="way" k="access" v="private" layer="-5">
+				<area class="access-private-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="permissive" layer="-5">
+				<area class="access-permissive-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="destination" layer="-5">
+				<area class="access-destination-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="no" layer="-5">
+				<area class="access-no-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="leisure" v="park" layer="-5">
+			<rule e="way" k="access" v="private" layer="-5">
+				<area class="access-private-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="permissive" layer="-5">
+				<area class="access-permissive-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="destination" layer="-5">
+				<area class="access-destination-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="no" layer="-5">
+				<area class="access-no-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="leisure" v="recreation_ground" layer="-5">
+			<rule e="way" k="access" v="private" layer="-5">
+				<area class="access-private-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="permissive" layer="-5">
+				<area class="access-permissive-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="destination" layer="-5">
+				<area class="access-destination-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="no" layer="-5">
+				<area class="access-no-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+		</rule>
+
+		<!-- Landuse -->
+		<rule e="way" k="landuse" v="residential|farmyard" layer="-5">
+			<area class="landuse-residential" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="retail" layer="-5">
+			<area class="landuse-retail" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="industrial|brownfield|railway" layer="-5">
+			<area class="landuse-industrial" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="commercial" layer="-5">
+			<area class="landuse-commercial" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="construction|greenfield" layer="-5">
+			<area class="landuse-construction" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="garages" layer="-5">
+			<area class="landuse-garages" layer="-5"/>
+		</rule>
+		
+		<!-- Artificial landuse -->
+		<rule e="way" k="amenity" v="kindergarten|school|college|university" layer="-5">
+			<area class="amenity-school" layer="-5"/>
+		</rule>
+		
+		<!-- Man-made areas -->
+		<rule e="way" k="landuse" v="military" layer="-5">
+			<rule e="way" k="military" v="~" layer="-5">
+				<area class="military-area" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="military" v="*" layer="-5">
+			<area class="military-area" layer="-5"/>
+		</rule>
+		
+		
+		<!-- ==================================== Layer 5 ======================================== -->
+		
+		<!-- Non-physical boundaries -->
+		<rule e="way" k="boundary" v="administrative" layer="5">
+			<rule e="way" k="admin_level" v="1|2|3|4|5|6|7|8|9|10" layer="5">
+				<rule e="way" k="admin_level" v="10" layer="5">
+					<line class="boundary boundary-level-10-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="9" layer="5">
+					<line class="boundary boundary-level-9-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="8" layer="5">
+					<line class="boundary boundary-level-8-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="7" layer="5">
+					<line class="boundary boundary-level-7-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="6" layer="5">
+					<line class="boundary boundary-level-6-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="5" layer="5">
+					<line class="boundary boundary-level-5-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="4" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="3" layer="5">
+					<line class="boundary boundary-level-3-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="2" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="1" layer="5">
+					<line class="boundary boundary-level-1-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-1-core no-bezier" layer="5"/>
+				</rule>
+			</rule>
+			<!-- If we don't have explicit admin_level then guess -->
+			<else>
+				<rule e="way" k="border_type" v="suburb" layer="5">
+					<line class="boundary boundary-level-10-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="municipality|city" layer="5">
+					<line class="boundary boundary-level-8-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="county|district" layer="5">
+					<line class="boundary boundary-level-6-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="region|state" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="nation|country" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+			</else>
+		</rule>
+		<rule e="way" k="boundary" v="national_park" layer="5">
+			<line class="boundary boundary-nationalpark-core no-bezier" layer="5"/>
+		</rule>
+		
+		<!-- Waterway and Street names -->
+		<rule e="way" k="osmarender:renderName" v="~|yes" layer="5">
+			<rule e="way" k="tunnel" v="~|no|false" layer="5"> <!-- no names in tunnels -->
+				<rule e="way" k="area" v="~|no|false" layer="5"> <!-- don't draw linear names around areas -->
+					<rule e="way" k="junction" v="~" layer="5"> <!-- no names on or along junctions -->
+						<rule e="way" k="junction" v="~" layer="5"> <!-- no names on or along junctions -->
+							<rule e="way" k="waterway" v="canal" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-canal-name-casing" dy="2px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-canal-name-core" dy="2px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="river" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-river-name-casing" dy="2px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-river-name-core" dy="2px" layer="5"/>
+							</rule>
+						</rule>
+						<else>
+							<rule e="way" k="waterway" v="canal" layer="5">
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-casing waterway-canal-name-casing" dy="2px" layer="5"/>
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-core waterway-canal-name-core" dy="2px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="river" layer="5">
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-casing waterway-river-name-casing" dy="2px" layer="5"/>
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-core waterway-river-name-core" dy="2px" layer="5"/>
+							</rule>
+						</else>
+						<rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad|road" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-unclassified-name" dy="1.6px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="tertiary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-tertiary-link-name" dy="1.8px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="tertiary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-tertiary-name" dy="1.8px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="secondary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-secondary-link-name" dy="1.8px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="secondary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-secondary-name" dy="1.8px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="primary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-primary-link-name" dy="2.1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="trunk_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-trunk-link-name" dy="2.1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="motorway_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-motorway-link-name" dy="2.1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="primary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-primary-name" dy="2.1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="trunk" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-trunk-name" dy="2.1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="motorway" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-motorway-name" dy="2.1px" layer="5" avoid-duplicates="true" />
+						</rule>
+					</rule>
+				</rule>
+				<rule e="way" k="natural" v="allotments|basin|brownfield|cemetery|commercial|construction|farm|farmyard|farmland|forest|garages|grass|greenfield|greenhouse_horticulture|industrial|landfill|meadow|military|orchard|quarry|railway|recreation_ground|reservoir|retail|salt_pond|street|village_green|vineyard" minSize="0.008" layer="5">
+					<caption k="name" class="caption-casing largefeature-caption-casing" text-anchor='middle' startOffset='50%' layer="1"/>
+					<caption k="name" class="caption-core largefeature-caption-core" text-anchor='middle' startOffset='50%' layer="1"/>
+				</rule>
+				<!-- Add landuse names, e.g. to display names of forest parcels teinted by a large wooden area -->
+				<rule e="way" k="landuse" v="*" minSize="0.008" layer="5">
+					<caption k="name" class="caption-casing largefeature-caption-casing" text-anchor='middle' startOffset='50%' layer="1"/>
+					<caption k="name" class="caption-core largefeature-caption-core" text-anchor='middle' startOffset='50%' layer="1"/>
+				</rule>
+			</rule>
+
+
+			<!-- Road numbers for all highways -->
+			<rule e="way" k="osmarender:renderRef" v="~|yes" layer="5">
+				<rule e="way" k="tunnel" v="~|no|false" layer="5"> <!-- no road numbers in tunnels -->
+					<rule e="way" k="junction" v="~" layer="5"> <!-- no ref on junctions / roundabouts -->
+						<!-- Use startOffset to prevent captions from colliding on dual carriageways -->
+						<rule e="way" k="highway" v="tertiary" layer="5">
+							<pathText k="ref" startOffset="30%" class="highway-ref highway-tertiary-ref" dy="-3.5px" textAttenuation="1.5" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="secondary" layer="5">
+							<pathText k="ref" startOffset="30%" class="highway-ref highway-secondary-ref" dy="-3.5px" textAttenuation="1.5" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="primary" layer="5">
+							<pathText k="ref" startOffset="30%" class="highway-ref highway-primary-ref" dy="-3.5px" textAttenuation="1.5" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="trunk" layer="5">
+							<pathText k="ref" startOffset="30%" class="highway-ref highway-trunk-ref" dy="-3.5px" textAttenuation="1.5" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="motorway" layer="5">
+							<pathText k="ref" startOffset="30%" class="highway-ref highway-motorway-ref" dy="-4px" textAttenuation="1.5" layer="5" avoid-duplicates="true" />
+						</rule>
+					</rule>
+				</rule>
+			</rule>
+		</rule>
+		
+		<!-- Place names  -->
+		<rule e="node|way" k="osmarender:renderName" v="~|yes" layer="5">
+			<rule e="node" k="natural" v="peak|volcano" layer="5">
+				<caption k="name" class="place-caption peak-caption" dy="-5px" layer="5"/>
+			</rule>
+			<rule e="node" k="natural" v="cave_entrance" layer="5">
+				<caption k="name" class="place-caption cave-caption" dy="-5px" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="island" layer="5">
+				<caption k="name" class="place-caption island-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="islet" layer="5">
+				<caption k="name" class="place-caption islet-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="village" layer="5">
+				<caption k="name" class="place-caption village-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="suburb" layer="5">
+				<caption k="name" class="place-caption suburb-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="hamlet" layer="5">
+				<caption k="name" class="place-caption hamlet-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="locality" layer="5">
+				<caption k="name" class="place-caption locality-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="farm" layer="5">
+				<caption k="name" class="place-caption farm-caption" layer="5"/>
+			</rule>
+			<rule e="node|way" k="tourism" v="attraction" layer="5">
+				<rule e="way" k="highway" v="~">
+					<caption k="name" class="tourism-attraction-caption" layer="5"/>
+				</rule>
+			</rule>
+
+			<rule e="node" k="railway" v="station" layer="5">
+				<rule e="node" s="way" k="railway" v="rail" layer="5">
+					<caption k="name" class="caption-casing railway-station-caption-casing" dy="-5px" layer="5"/>
+					<caption k="name" class="caption-core railway-station-caption-core" dy="-5px" layer="5"/>
+				</rule>
+			</rule>
+		</rule>
+	</rule>
+	
+	<!-- SVG Definitions - markers, symbols etc go here -->
+	<include ref="markers.xml"/>
+	<defs>
+		<style xmlns="http://www.w3.org/2000/svg" id="styles" type="text/css">
+			/* DO NOT DELETE - Used by osmarender.xsl */
+			.untagged-segments {
+			stroke-width: 0.5px;
+			stroke-linejoin: round;
+			stroke-linecap: butt;
+			stroke: #e0e0e0;
+			stroke-dasharray: 0.5,0.5;
+			}
+			
+			.canal-lock {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#canal-lock);
+			}
+			
+			/* Highways - generic styles */
+			.highway-casing {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.highway-core {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.highway-motorway-junction {
+			fill: yellow;
+			stroke: #4D5D73;
+			stroke-width: 1px;
+			}
+			
+			.highway-motorway-junction-caption {
+			fill: black;
+			stroke: black;
+			stroke-width: 0.2px;
+			font-family: "DejaVu Sans";
+			font-size: 5px;
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			.highway-ref {
+			fill: #606060;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			text-anchor: middle;
+			}
+			
+			.highway-name {
+			fill: black;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			text-anchor: middle;
+			}
+			
+			.highway-nobicycle-1 { stroke-width: 6.6px; stroke: #000080; stroke-dasharray: 0.3,4.7; stroke-linecap: butt; fill: none; stroke-miterlimit: 0.1; }
+			.highway-nobicycle-2 { stroke-width: 4.6px; stroke: #d1fad1; stroke-dasharray: 0.3,4.7; stroke-linecap: butt; fill: none; stroke-miterlimit: 0.1; }
+			.highway-nobicycle-3 { stroke-width: 1.0px; stroke: #000080; stroke-dasharray: 0.3,4.7; stroke-linecap: butt; fill: none; stroke-miterlimit: 0.1; }
+
+			.bridge-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			marker-start: url(#bridge-casing-start);
+			marker-end: url(#bridge-casing-end);
+			}
+			
+			.bridge-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #ffffff;
+			fill: none;
+			}
+			
+			.tunnel-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.tunnel-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.tunnel { stroke-dasharray: 1.4, 1.4; }
+			
+			.railway-casing { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-1-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-2-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-core   { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+
+			.railway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			stroke: #b0b0b0;
+			stroke-width: 4px;
+			}
+
+			.railway-rail-casing                    { stroke-width: 2.0px; }
+			.railway-rail-1-core                    { stroke-width: 1.2px; }
+			.railway-rail-2-core                    { stroke-width: 1.2px; stroke-dasharray: 4.5,4.5; }
+			.railway-rail-casing-color              { stroke: #333333; }
+			.railway-rail-1-core-color              { stroke: #e6e6e6; }
+			.railway-rail-2-core-color              { stroke: #333333; }
+			.railway-rail-tunnel-core               { stroke-opacity: 0.15; }
+			.railway-main-2-core                    { stroke-width: 1.2px; stroke-dasharray: 5.7,3.3; }
+
+			.railway-narrow-casing                    { stroke-width: 1.6px; }
+			.railway-narrow-1-core                    { stroke-width: 1.0px; }
+			.railway-narrow-2-core                    { stroke-width: 1.0px; stroke-dasharray: 5.5,5.5; }
+			.railway-narrow-casing-color              { stroke: #333333; }
+			.railway-narrow-1-core-color              { stroke: #e6e6e6; }
+			.railway-narrow-2-core-color              { stroke: #333333; }
+			.railway-narrow-tunnel-core               { stroke-opacity: 0.15; }
+
+			.railway-preserved-casing                    { stroke-width: 1.6px; }
+			.railway-preserved-1-core                    { stroke-width: 1.0px; }
+			.railway-preserved-2-core                    { stroke-width: 1.0px; stroke-dasharray: 4.5,4.5; }
+			.railway-preserved-casing-color              { stroke: #909090; }
+			.railway-preserved-1-core-color              { stroke: #e6e6e6; }
+			.railway-preserved-2-core-color              { stroke: #333333; }
+			.railway-preserved-tunnel-core               { stroke-opacity: 0.15; }
+
+			.railway-light-casing                    { stroke-width: 1.6px; }
+			.railway-light-1-core                    { stroke-width: 1.0px; }
+			.railway-light-2-core                    { stroke-width: 1.0px; stroke-dasharray: 3.8,5.4; }
+			.railway-light-casing-color              { stroke: #0f4c0f; }
+			.railway-light-1-core-color              { stroke: #b7e6e6; }
+			.railway-light-2-core-color              { stroke: #0f4c0f; }
+			.railway-light-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-tram-casing                    { stroke-width: 1.6px; }
+			.railway-tram-1-core                    { stroke-width: 1.0px; }
+			.railway-tram-2-core                    { stroke-width: 1.0px; stroke-dasharray: 3.6,5.4; }
+			.railway-tram-casing-color              { stroke: #4c0f4c; }
+			.railway-tram-1-core-color              { stroke: #e6b7e6; }
+			.railway-tram-2-core-color              { stroke: #4c0f4c; }
+			.railway-tram-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-subway-casing                    { stroke-width: 1.6px; }
+			.railway-subway-1-core                    { stroke-width: 1.0px; }
+			.railway-subway-2-core                    { stroke-width: 1.0px; stroke-dasharray: 3.6,5.4; }
+			.railway-subway-casing-color              { stroke: #0f0f4c; }
+			.railway-subway-1-core-color              { stroke: #b7b7e6; }
+			.railway-subway-2-core-color              { stroke: #0f0f4c; }
+			.railway-subway-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-funicular-casing                    { stroke-width: 1.6px; }
+			.railway-funicular-1-core                    { stroke-width: 1.0px; stroke-dasharray: 3.6,5.4; }
+			.railway-funicular-t-core                    { stroke-width: 1.0px; }
+			.railway-funicular-2-core                    { stroke-width: 0.25px; }
+			.railway-funicular-casing-color              { stroke: #4c0f0f; }
+			.railway-funicular-1-core-color              { stroke: #e6b7b7; }
+			.railway-funicular-2-core-color              { stroke: #4c0f0f; }
+			.railway-funicular-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-monorail-casing                    { stroke-width: 1.6px; }
+			.railway-monorail-1-core                    { stroke-width: 1.0px; }
+			.railway-monorail-2-core                    { stroke-width: 0.25px; }
+			.railway-monorail-casing-color              { stroke: #4c0f0f; }
+			.railway-monorail-1-core-color              { stroke: #e6b7b7; }
+			.railway-monorail-2-core-color              { stroke: #ffffff; }
+			.railway-monorail-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-yard-casing                    { stroke-width: 1.2px; }
+			.railway-yard-1-core                    { stroke-width: 0.7px; }
+			.railway-yard-2-core                    { stroke-width: 0.7px; stroke-dasharray: 3,6; }
+			.railway-yard-casing-color              { stroke: #333333; }
+			.railway-yard-1-core-color              { stroke: #e6e6e6; }
+			.railway-yard-2-core-color              { stroke: #333333; }
+			.railway-yard-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-con-casing                { stroke-width: 1.6px; stroke-dasharray: 1.5,1.5; }
+			.railway-con-1-core                { stroke-width: 1.0px; }
+			.railway-con-2-core                { stroke-width: 1.0px; stroke-dasharray: 1.5,1.5,1.5,4.5; }
+			.railway-con-casing-color          { stroke: #606060; }
+			.railway-con-1-core-color          { stroke: #f2f2f2; }
+			.railway-con-2-core-color          { stroke: #606060; }
+			.railway-con-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-pla-casing                { stroke-width: 1.6px; stroke-dasharray: 1.5,1.5; }
+			.railway-pla-1-core                { stroke-width: 1.0px; }
+			.railway-pla-2-core                { stroke-width: 1.0px; stroke-dasharray: 1.5,1.5,1.5,4.5; }
+			.railway-pla-casing-color          { stroke: #b2b2b2; }
+			.railway-pla-1-core-color          { stroke: #ffffff; }
+			.railway-pla-2-core-color          { stroke: #b2b2b2; }
+			.railway-pla-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-dis-casing                { stroke-width: 1.6px; stroke-opacity: 0.7; }
+			.railway-dis-1-core                { stroke-width: 1.0px; stroke-opacity: 0.7; }
+			.railway-dis-2-core                { stroke-width: 1.0px; stroke-opacity: 0.7; stroke-dasharray: 4.5,4.5; }
+			.railway-dis-casing-color          { stroke: #808080; }
+			.railway-dis-1-core-color          { stroke: #f2f2f2; }
+			.railway-dis-2-core-color          { stroke: #808080; }
+			.railway-dis-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-aba-casing                { stroke-width: 1.6px; stroke-opacity: 0.4; }
+			.railway-aba-1-core                { stroke-width: 1.0px; stroke-opacity: 0.4; }
+			.railway-aba-2-core                { stroke-width: 1.0px; stroke-opacity: 0.4; stroke-dasharray: 4.5,4.5; }
+			.railway-aba-casing-color          { stroke: #b2b2b2; }
+			.railway-aba-1-core-color          { stroke: #ffffff; }
+			.railway-aba-2-core-color          { stroke: #b2b2b2; }
+			.railway-aba-tunnel-core               { stroke-opacity: 0.1; }
+
+			.highway-motorway-casing                { stroke-width: 5.2px;  stroke: #707070; }
+			.highway-motorway-cy1-casing            { stroke-width: 6.9px;     stroke: #707070; }
+			.highway-motorway-cy2-casing            { stroke-width: 6.3px;     stroke: #d1fad1; }
+			.highway-motorway-area-casing           { stroke-width: 0.7px; }
+			.highway-motorway-core                  { stroke-width: 4.5px;  stroke: #809BC0; }
+			.highway-motorway-area                  { fill: #809BC0; }
+			.highway-motorway-name                  { stroke-width: 0px;     font-size: 6px; }
+			.highway-motorway-ref                   { stroke-width: 0px;     font-size: 6px; }
+						
+			.highway-motorway-link-casing           { stroke-width: 5.2px;     stroke: #707070; }
+			.highway-motorway-link-cy1-casing       { stroke-width: 6.9px;     stroke: #707070; }
+			.highway-motorway-link-cy2-casing       { stroke-width: 6.3px;     stroke: #d1fad1; }
+			.highway-motorway-link-area-casing      { stroke-width: 0.7px; }
+			.highway-motorway-link-core             { stroke-width: 4.5px;  stroke: #809BC0; }
+			.highway-motorway-link-area             { fill: #809BC0; }
+			.highway-motorway-link-name             { stroke-width: 0px;     font-size: 6px; }
+			.highway-motorway-link-ref              { stroke-width: 0px;     font-size: 6px; }
+
+			.highway-trunk-casing                   { stroke-width: 5.2px;     stroke: #707070; }
+			.highway-trunk-cy1-casing               { stroke-width: 6.9px;     stroke: #707070; }
+			.highway-trunk-cy2-casing               { stroke-width: 6.3px;     stroke: #d1fad1; }
+			.highway-trunk-mr1-casing               { stroke-width: 6.5px;     stroke: #707070; }
+			.highway-trunk-mr2-casing               { stroke-width: 6.0px;     stroke: #809BC0; }
+			.highway-trunk-mr3-casing               { stroke-width: 6.0px;     stroke: #FDBF6F; }
+			.highway-trunk-mrcy1-casing             { stroke-width: 7.7px;     stroke: #707070; }
+			.highway-trunk-mrcy2-casing             { stroke-width: 7.3px;     stroke: #d1fad1; }
+			.highway-trunk-mrcy3-casing             { stroke-width: 5.8px;     stroke: #809BC0; }
+			.highway-trunk-mrcy4-casing             { stroke-width: 5.8px;     stroke: #FDBF6F; }
+			.highway-trunk-area-casing              { stroke-width: 0.7px; }
+			.highway-trunk-core                     { stroke-width: 4.5px;  stroke: #7FC97F; }
+			.highway-trunk-area                     { fill: #7FC97F; }
+			.highway-trunk-name                     { stroke-width: 0px;     font-size: 6px; }
+			.highway-trunk-ref                      { stroke-width: 0px;     font-size: 6px; }
+			
+			.highway-trunk-link-casing              { stroke-width: 5.2px;     stroke: #707070; }
+			.highway-trunk-link-area-casing         { stroke-width: 0.7px; }
+			.highway-trunk-link-cy1-casing               { stroke-width: 6.9px;     stroke: #707070; }
+			.highway-trunk-link-cy2-casing               { stroke-width: 6.3px;     stroke: #d1fad1; }
+			.highway-trunk-link-mr1-casing               { stroke-width: 6.5px;     stroke: #707070; }
+			.highway-trunk-link-mr2-casing               { stroke-width: 6.0px;     stroke: #809BC0; }
+			.highway-trunk-link-mr3-casing               { stroke-width: 6.0px;     stroke: #FDBF6F; }
+			.highway-trunk-link-mrcy1-casing             { stroke-width: 7.7px;     stroke: #707070; }
+			.highway-trunk-link-mrcy2-casing             { stroke-width: 7.3px;     stroke: #d1fad1; }
+			.highway-trunk-link-mrcy3-casing             { stroke-width: 5.8px;     stroke: #809BC0; }
+			.highway-trunk-link-mrcy4-casing             { stroke-width: 5.8px;     stroke: #FDBF6F; }
+			.highway-trunk-link-core                { stroke-width: 4.5px;  stroke: #7FC97F; }
+			.highway-trunk-link-area                { fill: #7FC97F; }
+			.highway-trunk-link-name                { stroke-width: 0px;     font-size: 6px; }
+			.highway-trunk-link-ref                 { stroke-width: 0px;     font-size: 6px; }
+			
+			.highway-primary-casing                 { stroke-width: 5.2px;     stroke: #707070; }
+			.highway-primary-area-casing            { stroke-width: 0.7px; }
+			.highway-primary-cy1-casing               { stroke-width: 6.9px;     stroke: #707070; }
+			.highway-primary-cy2-casing               { stroke-width: 6.3px;     stroke: #d1fad1; }
+			.highway-primary-mr1-casing               { stroke-width: 6.5px;     stroke: #707070; }
+			.highway-primary-mr2-casing               { stroke-width: 6.0px;     stroke: #809BC0; }
+			.highway-primary-mrcy1-casing             { stroke-width: 7.7px;     stroke: #707070; }
+			.highway-primary-mrcy2-casing             { stroke-width: 7.3px;     stroke: #d1fad1; }
+			.highway-primary-mrcy3-casing             { stroke-width: 5.8px;     stroke: #809BC0; }
+			.highway-primary-core                   { stroke-width: 4.5px;  stroke: #e46d71; }
+			.highway-primary-area                   { fill: #e46d71; }
+			.highway-primary-name                   { stroke-width: 0px;     font-size: 6px; }
+			.highway-primary-ref                    { stroke-width: 0px;     font-size: 6px; }
+			
+			.highway-primary-link-casing            { stroke-width: 5.2px;  stroke: #707070; }
+			.highway-primary-link-area-casing       { stroke-width: 0.7px; }
+			.highway-primary-link-cy1-casing               { stroke-width: 6.9px;     stroke: #707070; }
+			.highway-primary-link-cy2-casing               { stroke-width: 6.3px;     stroke: #d1fad1; }
+			.highway-primary-link-mr1-casing               { stroke-width: 6.5px;     stroke: #707070; }
+			.highway-primary-link-mr2-casing               { stroke-width: 6.0px;     stroke: #809BC0; }
+			.highway-primary-link-mrcy1-casing             { stroke-width: 7.7px;     stroke: #707070; }
+			.highway-primary-link-mrcy2-casing             { stroke-width: 7.3px;     stroke: #d1fad1; }
+			.highway-primary-link-mrcy3-casing             { stroke-width: 5.8px;     stroke: #809BC0; }
+			.highway-primary-link-core              { stroke-width: 4.5px;   stroke: #e46d71; }
+			.highway-primary-link-area              { fill: #e46d71; }
+			.highway-primary-link-name              { stroke-width: 0px;     font-size: 6px; }
+			.highway-primary-link-ref               { stroke-width: 0px;     font-size: 6px; }
+			
+			.highway-secondary-casing               { stroke-width: 5.2px;   stroke: #707070; }
+			.highway-secondary-area-casing          { stroke-width: 0.7px; }
+			.highway-secondary-cy1-casing               { stroke-width: 6.9px;     stroke: #707070; }
+			.highway-secondary-cy2-casing               { stroke-width: 6.3px;     stroke: #d1fad1; }
+			.highway-secondary-mr1-casing               { stroke-width: 6.5px;     stroke: #707070; }
+			.highway-secondary-mr2-casing               { stroke-width: 6.0px;     stroke: #809BC0; }
+			.highway-secondary-mrcy1-casing             { stroke-width: 7.7px;     stroke: #707070; }
+			.highway-secondary-mrcy2-casing             { stroke-width: 7.3px;     stroke: #d1fad1; }
+			.highway-secondary-mrcy3-casing             { stroke-width: 5.8px;     stroke: #809BC0; }
+			.highway-secondary-core                 { stroke-width: 4.5px;  stroke: #FDBF6F; }
+			.highway-secondary-area                 { fill: #FDBF6F; }
+			.highway-secondary-name                 { stroke-width: 0px;     font-size: 5px;}
+			.highway-secondary-ref                  { stroke-width: 0px;     font-size: 5px; }
+
+			.highway-secondary-link-casing          { stroke-width: 5.2px;   stroke: #707070; }
+			.highway-secondary-link-area-casing     { stroke-width: 0.7px; }
+			.highway-secondary-link-cy1-casing               { stroke-width: 6.9px;     stroke: #707070; }
+			.highway-secondary-link-cy2-casing               { stroke-width: 6.3px;     stroke: #d1fad1; }
+			.highway-secondary-link-mr1-casing               { stroke-width: 6.5px;     stroke: #707070; }
+			.highway-secondary-link-mr2-casing               { stroke-width: 6.0px;     stroke: #809BC0; }
+			.highway-secondary-link-mrcy1-casing             { stroke-width: 7.7px;     stroke: #707070; }
+			.highway-secondary-link-mrcy2-casing             { stroke-width: 7.3px;     stroke: #d1fad1; }
+			.highway-secondary-link-mrcy3-casing             { stroke-width: 5.8px;     stroke: #809BC0; }
+			.highway-secondary-link-core            { stroke-width: 4.5px;  stroke: #FDBF6F; }
+			.highway-secondary-link-area            { fill: #FDBF6F; }
+			.highway-secondary-link-name            { stroke-width: 0px;     font-size: 5px;}
+			.highway-secondary-link-ref             { stroke-width: 0px;     font-size: 5px; }
+			
+			.highway-tertiary-casing                { stroke-width: 5.2px;  stroke: #707070; }
+			.highway-tertiary-area-casing           { stroke-width: 0.7px; }
+			.highway-tertiary-cy1-casing               { stroke-width: 6.9px;     stroke: #707070; }
+			.highway-tertiary-cy2-casing               { stroke-width: 6.3px;     stroke: #d1fad1; }
+			.highway-tertiary-mr1-casing               { stroke-width: 6.5px;     stroke: #707070; }
+			.highway-tertiary-mr2-casing               { stroke-width: 6.0px;     stroke: #809BC0; }
+			.highway-tertiary-mrcy1-casing             { stroke-width: 7.7px;     stroke: #707070; }
+			.highway-tertiary-mrcy2-casing             { stroke-width: 7.3px;     stroke: #d1fad1; }
+			.highway-tertiary-mrcy3-casing             { stroke-width: 5.8px;     stroke: #809BC0; }
+			.highway-tertiary-core                  { stroke-width: 4.5px;   stroke: #ffff90; }
+			.highway-tertiary-area                  { fill: #ffff90; }
+			.highway-tertiary-name                  { stroke-width: 0px;     font-size: 5px; }
+			.highway-tertiary-ref                   { stroke-width: 0px;     font-size: 5px; }
+
+			.highway-tertiary-link-casing           { stroke-width: 5.2px;  stroke: #707070; }
+			.highway-tertiary-link-area-casing     { stroke-width: 0.7px; }
+			.highway-tertiary-link-cy1-casing               { stroke-width: 6.9px;     stroke: #707070; }
+			.highway-tertiary-link-cy2-casing               { stroke-width: 6.3px;     stroke: #d1fad1; }
+			.highway-tertiary-link-mr1-casing               { stroke-width: 6.5px;     stroke: #707070; }
+			.highway-tertiary-link-mr2-casing               { stroke-width: 6.0px;     stroke: #809BC0; }
+			.highway-tertiary-link-mrcy1-casing             { stroke-width: 7.7px;     stroke: #707070; }
+			.highway-tertiary-link-mrcy2-casing             { stroke-width: 7.3px;     stroke: #d1fad1; }
+			.highway-tertiary-link-mrcy3-casing             { stroke-width: 5.8px;     stroke: #809BC0; }
+			.highway-tertiary-link-core             { stroke-width: 4.5px;   stroke: #ffff90; }
+			.highway-tertiary-link-area             { fill: #ffff90; }
+			.highway-tertiary-link-name             { stroke-width: 0px;     font-size: 5px; }
+			.highway-tertiary-link-ref              { stroke-width: 0px;     font-size: 5px; }
+
+			.highway-unclassified-casing            { stroke-width: 4.2px;  stroke: #707070; }
+			.highway-unclassified-cy1-casing        { stroke-width: 5.9px;     stroke: #707070; }
+			.highway-unclassified-cy2-casing        { stroke-width: 5.3px;     stroke: #d1fad1; }
+			.highway-unclassified-area-casing       { stroke-width: 0.7px; }
+			.highway-unclassified-core              { stroke-width: 3.5px;   stroke: #ffffff; }
+			.highway-residential-casing             { stroke-width: 3.9px;  stroke: #707070; }
+			.highway-residential-cy1-casing         { stroke-width: 5.6px;  stroke: #707070; }
+			.highway-residential-cy2-casing         { stroke-width: 5.2px;  stroke: #d1fad1; }
+			.highway-residential-area-casing        { stroke-width: 0.4px; }
+			.highway-residential-core               { stroke-width: 3.5px; stroke: #ffffff; }
+			.highway-ford-core                      { stroke-width: 3.5px;   stroke: #b5d6f1; stroke-linecap: butt; }
+			.highway-unclassified-area              { fill: #ffffff; }
+			.highway-unclassified-name              { stroke-width: 0px;     font-size: 4.5px; }
+			.highway-unclassified-ref               { stroke-width: 0px;     font-size: 4.5px; }
+			.highway-unclassified-turningcircle     { fill: #ffffff; stroke-width: 0.1px; stroke: #707070; }
+			.highway-road-core                      { stroke-width: 3.5px;   stroke: #d0d0d0; }
+			.highway-road-area                      { fill: #d0d0d0; }
+
+			.highway-livingstreet-casing            { stroke-width: 3.9px;  stroke: #707070; }
+			.highway-livingstreet-area-casing       { stroke-width: 0.4px; }
+			.highway-livingstreet-core-1            { stroke-width: 3.5px; stroke: #ffffff; }
+			.highway-livingstreet-core-2            { stroke-width: 3.5px; stroke: #e5e0c2; stroke-dasharray: 0.85,1.2; stroke-linecap: butt; }
+			.highway-livingstreet-area-1            { fill: #ffffff; }
+			.highway-livingstreet-area-2            { fill: url(#livingstreet-pattern); stroke: #e5e0c2; stroke-width: 0px; }
+			
+			.highway-cycleroad-casing               { stroke-width: 3.9px;  stroke: #707070; }
+			.highway-cycleroad-area-casing          { stroke-width: 0.4px; }
+			.highway-cycleroad-core-1               { stroke-width: 3.5px; stroke: #ffffff; }
+			.highway-cycleroad-core-2               { stroke-width: 3.5px; stroke: #d1fad1; stroke-dasharray: 0.85,1.2; stroke-linecap: butt; }
+			.highway-cycleroad-area-1               { fill: #ffffff; }
+			.highway-cycleroad-area-2               { fill: url(#cycleroad-pattern); stroke: #d1fad1; stroke-width: 0px; }
+			.highway-cycleroad-core-3               { stroke-width: 3.5px;   stroke: #d1fad1; }
+			.highway-cycleroad-area-3               { fill: #d1fad1; }
+			
+			.highway-service-casing                 { stroke-width: 2px;   stroke: #707070; }
+			.highway-service-cy1-casing               { stroke-width: 3.7px;     stroke: #707070; }
+			.highway-service-cy2-casing               { stroke-width: 3.3px;     stroke: #d1fad1; }
+			.highway-service-area-casing            { stroke-width: 0.4px; }
+			.highway-service-core                   { stroke-width: 1.6px;   stroke: #ffffff; }
+			.highway-service-area                   { fill: #ffffff; }
+			.highway-service-name                   { stroke-width: 0px;     font-size: 4px; }
+			.highway-service-ref                    { stroke-width: 0px;     font-size: 4px; }
+
+			.highway-aisle-casing                   { stroke-width: 0.8px;   stroke: #707070; }
+			.highway-aisle-area-casing              { stroke-width: 0.3px; }
+			.highway-aisle-core                     { stroke-width: 0.5px;   stroke: #ffffff; }
+			.highway-aisle-area                     { fill: #ffffff; }
+
+			.highway-unsurfaced-casing              { stroke-width: 2.4px;   stroke: #707070; stroke-dasharray: 2, 1; stroke-linecap: butt; }
+			.highway-unsurfaced-cy1-casing               { stroke-width: 4.2px;     stroke: #707070; }
+			.highway-unsurfaced-cy2-casing               { stroke-width: 3.7px;     stroke: #d1fad1; }
+			.highway-unsurfaced-area-casing         { stroke-width: 0.4px; stroke-dasharray: 2, 1; stroke-linecap: butt; }
+			.highway-unsurfaced-core                { stroke-width: 2px;   stroke: #ffffff; }
+			.highway-unsurfaced-area                { fill: #ffffff; }
+			.highway-unsurfaced-name                { stroke-width: 0px;     font-size: 4.5px; }
+			.highway-unsurfaced-ref                 { stroke-width: 0px;     font-size: 4.5px; }
+
+			.highway-track-name                     { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-track-ref                      { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-track-back-casing              { stroke-width: 2.6px;   stroke: #ffffff; stroke-linecap: round; stroke-opacity: 0.8; }
+			.highway-track-casing                   { stroke-width: 2.0px;   stroke: #d79331; }
+			.highway-track-area-back-casing         { stroke-width: 0.9px;   stroke: #ffffff; }
+			.highway-track-area-casing              { stroke-width: 0.6px;   stroke: #d79331; }
+			.highway-track-core                     { stroke-width: 1.4px;   }
+			.highway-track-core2                    { stroke-width: 1.4px;   }
+			.highway-track-area                     { fill: #ffffff; }
+			.highway-track-name                     { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-track-ref                      { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-track-gradex-casing            { stroke-dasharray: 3.6, 0.4; stroke-linecap: butt; }
+			.highway-track-grade1-casing            { }
+			.highway-track-grade2-casing            { stroke-dasharray: 3.6, 1.8; stroke-linecap: butt; }
+			.highway-track-grade3-casing            { stroke-dasharray: 2.0, 2.6; stroke-linecap: butt; }
+			.highway-track-grade4-casing            { stroke-dasharray: 1.0, 2.0, 0.6, 2.0; stroke-linecap: butt; }
+			.highway-track-grade5-casing            { stroke-dasharray: 0.6, 2.0; stroke-linecap: butt; }
+			
+			.highway-track-gradex-core                     { stroke: #fff2de; }
+			.highway-track-grade1-core                     { stroke: #fffaf2; }
+			.highway-track-grade2-core                     { stroke: #fff2de; }
+			.highway-track-grade3-core                     { stroke: #fff2de; }
+			.highway-track-grade4-core                     { stroke: #fff2de; }
+			.highway-track-grade5-core                     { stroke: #fff2de; }
+			.highway-track-gradex-area                     { fill: #fff2de; }
+			.highway-track-grade1-area                     { fill: #fffaf2; }
+			.highway-track-grade2-area                     { fill: #fff2de; }
+			.highway-track-grade3-area                     { fill: #fff2de; }
+			.highway-track-grade4-area                     { fill: #fff2de; }
+			.highway-track-grade5-area                     { fill: #fff2de; }
+
+			.highway-byway-1-casing                 { stroke-width: 2px;     stroke: #505050;  stroke-dasharray: 1.4, 0.4; stroke-linecap: butt;}
+			.highway-byway-1-area-casing            { stroke-width: 0.4px; }
+			.highway-byway-2-casing                 { stroke-width: 1.6px;   stroke: #efadaa; }
+			.highway-byway-2-area-casing            { stroke-width: 0.0px; }
+			.highway-byway-3-casing                 { stroke-width: 2.8px;   stroke: #505050;  stroke-dasharray: 0.2, 1.6; stroke-dashoffset: 1.2; stroke-linecap: butt; }
+			.highway-byway-3-area-casing            { stroke-width: 1.4px; }
+			.highway-byway-1-core                   { stroke-width: 0.8px;   stroke: #efadaa; }
+			.highway-byway-area                     { fill: #efadaa; }
+			.highway-byway-name                     { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-byway-ref                      { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-bridleway-casing               { stroke-width: 2px;     stroke: #707070;  stroke-dasharray: 1.4, 0.4; stroke-linecap: butt; }
+			.highway-bridleway-area-casing          { stroke-width: 0.4px; }
+			.highway-bridleway-core                 { stroke-width: 1.6px;   stroke: #d3cb98; }
+			.highway-bridleway-area                 { fill: #d3cb98; }
+			.highway-bridleway-name                 { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-bridleway-ref                  { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-cycleway-casing                { stroke-width: 2px;   stroke: #707070; stroke-dasharray: 0.4, 0.4; stroke-linecap: butt;}
+			.highway-cycleway-area-casing           { stroke-width: 0.4px; }
+			.highway-cycleway-core                  { stroke-width: 1.6px;   stroke: #d1fad1; }
+			.highway-cycleway-area                  { fill: #d1fad1; }
+			.highway-cycleway-name                  { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-cycleway-ref                   { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-pedestrian-casing              { stroke-width: 3.9px;   stroke: #707070; }
+			.highway-pedestrian-area-casing         { stroke-width: 0.4px; }
+			.highway-pedestrian-core                { stroke-width: 3.5px;   stroke: #e5e0c2; }
+			.highway-pedestrian-area                { fill: #e5e0c2; }
+			.highway-pedestrian-name                { stroke-width: 0px;     font-size: 2px; }
+			.highway-pedestrian-ref                 { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-footway-casing                 { stroke-width: 1.4px;   stroke: #707070; stroke-dasharray: 0.4, 0.4; stroke-linecap: butt;}
+			.highway-footway-area-casing            { stroke-width: 0.4px; }
+			.highway-footway-core                   { stroke-width: 1.0px;   stroke: #e5e0c2; }
+			.highway-footway-area                   { fill: #e5e0c2; }
+			.highway-footway-name                   { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-footway-ref                    { stroke-width: 0px;     font-size: 2.5px; }
+			
+			/* render unmarked paths in the same color as highway=road */
+			.highway-path-core                      { stroke-width: 1px;   stroke: #d0d0d0; }
+			.highway-path-area                      { fill: #d0d0d0; }
+			
+			.highway-steps-casing                   { stroke-width: 1.4px;   stroke: #707070; }
+			.highway-steps-area-casing              { stroke-width: 0.4px; }
+			.highway-steps-core                     { stroke-width: 1px;   stroke: #e5e0c2; stroke-dasharray: 0.6, 0.2; stroke-linecap: butt;}
+			.highway-steps-name                     { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-steps-ref                      { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-scramble-core                  { stroke-width: 0.6px;   stroke: #707070; stroke-dasharray: 3.2, 0.8; stroke-linecap: butt;}
+			
+			/* Aeroways */
+			.aeroway-aerodrome {
+			stroke-width: 1px;
+			stroke: #000000;
+			fill: #d8dcce;
+			}
+
+			.aeroway-apron {
+			stroke-width: 0.6px;
+			stroke: none;
+			fill: #f0f0f0;
+			}
+			
+			.aeroway-taxiway-casing {
+			stroke-width: 6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #000000;
+			fill: none;
+			}
+			
+			.aeroway-taxiway-core {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #d4dcbd;
+			fill: none;
+			}
+			
+			.aeroway-runway-core {
+			stroke-width: 10px;
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			stroke: #d4dcbd;
+			fill: none;
+			}
+			
+			.aeroway-runway-casing {
+			stroke-width: 14px;
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			stroke: #000000;
+			fill: none;
+			}
+			
+			.aeroway-aerodrome-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.6px;
+			font-family: "DejaVu Sans";
+			font-size: 12px;
+			font-weight: bold;
+			}
+			
+			.aeroway-airport-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.6px;
+			font-family: "DejaVu Sans";
+			font-size: 20px;
+			font-weight: bold;
+			}
+			
+			
+			/* Waterways */
+			.waterway-name-casing {
+			stroke: #303030;
+			fill: white;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.waterway-name-core {
+			stroke: green;
+			fill: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.waterway-casing {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b0b0b0;
+			fill: none;
+			}
+			
+			.waterway-core {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b5d6f1;
+			fill: none;
+			}
+			
+			.waterway-riverbank {
+			fill: #b5d6f1;
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+			
+			.waterway-lock-casing                   { stroke: #000000; stroke-width: 5.0px; stroke-linecap: butt; }
+			.waterway-lock-core                     { stroke: #f8f8f8; stroke-width: 4.5px; stroke-linecap: butt; }
+
+			.waterway-river-casing                  { stroke-width: 2.5px; }
+			.waterway-river-core                    { stroke-width: 2.5px; }
+			.waterway-river-tunnel-core             { stroke-width: 2.0px; stroke-dasharray: 3.7, 3.7; }
+			.waterway-river-name-casing             { font-size: 3px; stroke-width: 0.3px;}
+			.waterway-river-name-core               { font-size: 3px; }
+			
+			.waterway-stream-casing                 { stroke-width: 1px; }
+			.waterway-stream-core-ephemeral         { stroke-width: 1px; stroke-dasharray: 0.8, 0.8; stroke-linecap: butt; }
+			.waterway-stream-core-intermittent      { stroke-width: 1px; stroke-dasharray: 1.2, 0.4; stroke-linecap: butt; }
+			.waterway-stream-core                   { stroke-width: 1px; }
+			.waterway-stream-tunnel-core            { stroke-width: 0.8px; stroke-dasharray: 1.5, 1.5; }
+			.waterway-stream-name-casing            { font-size: 3px; stroke-width: 0.2px;}
+			.waterway-stream-name-core              { font-size: 3px; }
+			
+			.waterway-canal-casing                  { stroke-width: 2.5px; }
+			.waterway-canal-core                    { stroke-width: 2px; }
+			.waterway-canal-tunnel-core             { stroke-width: 2px; stroke-dasharray: 3.7, 3.7; }
+			.waterway-canal-name-casing             { font-size: 6px; stroke-width: 0.4px;}
+			.waterway-canal-name-core               { font-size: 6px; }
+			
+			.waterway-drain-casing                  { stroke-width: 1.75px; }
+			.waterway-drain-core                    { stroke-width: 1.4px; }
+			.waterway-drain-tunnel-core             { stroke-width: 1.4px; stroke-dasharray: 2.6, 2.6; }
+			.waterway-drain-name-casing             { font-size: 3px; stroke-width: 0.2px;}
+			.waterway-drain-name-core               { font-size: 3px; }
+			
+			.waterway-ditch-casing                  { stroke-width: 0.3px; }
+			.waterway-ditch-core                    { stroke-width: 0.3px; }
+			.waterway-ditch-tunnel-core             { stroke-width: 0.2px; stroke-dasharray: 1.5, 1.5; }
+			.waterway-ditch-name-casing             { font-size: 3px; stroke-width: 0.2px;}
+			.waterway-ditch-name-core               { font-size: 3px; }
+
+			.waterway-dam {
+			stroke: #000000;
+			stroke-width: 0.75px;
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			}
+			.waterway-weir {
+			stroke: #000044;
+			stroke-width: 0.5px;
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			}
+			
+			
+			/* Generic under-construction style - makes any way dashed */
+			.under-construction { stroke-dasharray: 8, 10; }
+			.wrong-under-construction { stroke-width: 3px; stroke: #ffffff; stroke-dasharray: 6, 6; fill:none; }
+			
+			/* Ferry */
+			.route-ferry {
+			stroke-width: 1px;
+			stroke-dasharray: 4,3;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			}
+			
+			
+			/* Place names */
+			/* General style for captions */
+			.place-caption {
+			fill: black;
+			stroke: none;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			.caption-casing {
+			fill: white;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.caption-core {
+			stroke: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.peak-caption           { font-size: 6px; }
+			.cave-caption           { font-size: 6px; }
+			.island-caption         { font-size: 8px; }
+			.islet-caption          { font-size: 6px; }
+			.village-caption        { font-size: 8px; }
+			.suburb-caption         { font-size: 8px; }
+			.hamlet-caption         { font-size: 6px; }
+			.locality-caption       { font-size: 6px; }
+			.farm-caption           { font-size: 4px; }
+			
+			
+			
+			/* Natural */
+			.natural-water {
+			fill: #b5d6f1;
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+			
+			.natural-water-marsh {
+			fill: url(#marsh-pattern);
+			stroke: #007fff;
+			stroke-width: 0px;
+			}
+			
+			.natural-coastline {
+			fill: #b5d6f1;
+			stroke: #b5d6f1;
+			stroke-width: 0.8px;
+			}
+
+			.natural-glacier {
+			fill: #fafaff;
+			stroke: lightblue;
+			stroke-width: 0.8px;
+			}
+			
+			.natural-land {
+			fill: #f8f8f8;
+			stroke: #e0e0e0;
+			stroke-width: 0.2px;
+			}
+			
+			.natural-heath {
+			fill: #ffffc0;
+			stroke: #ffff90;
+			stroke-width: 0.2px;
+			}
+			
+			.wetland-bog {
+			fill: #946e50;
+			stroke: #3f1f06;
+			stroke-width: 0.2px;
+			}
+			
+			.natural-beach {
+			fill: #eecc55;
+			stroke: none;
+			}
+			
+			.mountain_pass {
+			fill: none;
+			<!-- don't remove. otherwise the waymarker will get clipped -->
+			stroke: red;
+			stroke-opacity: 0;
+			marker-mid: url(#mountain-pass);
+			}
+			
+			/* Landuse */
+			.landuse-wood {
+			fill: #6fc18e;
+			stroke: #6fc18e;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-wood-coniferous {
+			fill: url(#wood-coniferous-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-wood-deciduous {
+			fill: url(#wood-deciduous-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-wood-mixed {
+			fill: url(#wood-mixed-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-cemetery {
+			fill: url(#cemetery-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-cemetery-christian {
+			fill: url(#cemetery-christian-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-vineyard {
+			fill: url(#vineyard-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-field {
+			fill: #ebfff2;
+			stroke: #9ee673;
+			stroke-width: 0.2px;
+			}
+			.landuse-allotment-village {
+			fill: #bde3cb;
+			stroke: #6fc13d;
+			stroke-width: 0.4px;
+			}
+
+			.access-area-border-width-landuse-field {
+			stroke-width: 1.6px;
+			}
+			
+			.landuse-residential {
+			stroke: none;
+			fill: #e4e4e4;
+			}
+			
+			.landuse-industrial {
+			fill: #ecd8ff;
+			stroke: #e4e4e4;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-construction {
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			fill: #a47c41;
+			}
+			
+			.landuse-commercial {
+			fill: #ffffc0;
+			stroke: #e4e4e4;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-garages {
+			stroke: none;
+			fill: #d6d6e4;
+			}
+
+			.landuse-quarry {
+			fill: #e9dd72;
+			stroke: #556b2f;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-retail {
+			fill: #ffebeb;
+			stroke: #e4e4e4;
+			stroke-width: 0.4px;
+			}
+			
+			.landuse-runway {
+			stroke-width: 0.6px;
+			stroke: #808080;
+			fill: #d4dcbd;
+			}
+			
+			.landuse-runway-disused {
+			stroke-width: 0.6px;
+			stroke: #808080;
+			fill: #d4dcbd;
+			stroke-dasharray: 2, 2;
+			}
+			
+			.landuse-runway-dismantled {
+			stroke-width: 0.6px;
+			stroke: #808080;
+			fill: #fcffef;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			.breakwater {
+			fill: none;
+			stroke-width: 1.0px;
+			stroke: #707070;
+			}
+
+			.breakwater-area {
+			fill: #707070;
+			stroke-width: 1.0px;
+			stroke: #707070;
+			}
+
+			.artificial-pier-area {
+			stroke: #d0d0d0;
+			stroke-width: 0.1px;
+			fill: #e4e4e4;
+			}
+
+			.artificial-pier-core {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #e4e4e4;
+			fill: none;
+			}
+			
+			.artificial-pier-casing {
+			stroke-width: 0.8px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #d0d0d0;
+			fill: none;
+			}
+			
+			.landuse-conservation {
+			fill: #cfeca8;
+			stroke: #6fc18e;
+			stroke-width: 0.4px
+			}
+			.access-area-border-width-landuse-conservation {
+			stroke-width: 1.6px;
+			}
+			
+			/* Leisure */
+			.leisure-park {
+			fill: #c7f1a3;
+			stroke: #6fc18e;
+			stroke-width: 0.4px;
+			}
+			.access-area-border-width-leisure-park {
+			stroke-width: 1.6px;
+			}
+			
+			.leisure-stadium {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.4px;
+			}
+			
+			.leisure-track-area {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.025px;
+			}
+			
+			.leisure-track-casing {
+			fill: none;
+			stroke: #6fc18e;
+			stroke-width: 1.45px;
+			}
+			
+			.leisure-track-core {
+			fill: none;
+			stroke: #bde3cb;
+			stroke-width: 1.4px;
+			}
+			
+			.leisure-swimming-pool {
+			fill: #b5d6f1;
+			stroke: #6060ff;
+			stroke-width: 0.2px;
+			}
+			
+			.leisure-national_park {
+			fill: url(#national-park-pattern);
+			}
+			.leisure-nature_reserve {
+			fill: url(#nature-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.leisure-landscape_reserve {
+			fill: url(#landscape-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.sport {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.4px;
+			}
+			
+			.sport-swimming {
+			fill: #b5d6f1;
+			stroke: #6060ff;
+			stroke-width: 0.2px;
+			}
+			
+			.sport-tennis {
+			fill: #d18a6a;
+			stroke: #B36C4C;
+			stroke-width: 0.2px;
+			}
+			
+			.amenity-parking {
+			fill: #ffffc0;
+			stroke: #e9dd72;
+			stroke-width: 0.4px;
+			}
+			
+			.amenity-school {
+			fill: #cdabde;
+			stroke: #e9dd72;
+			stroke-width: 0.4px;
+			}
+			
+			
+			/* Non-physical boundaries */
+			.boundary {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.boundary-level-1-casing {
+			stroke-width: 7px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+			
+			.boundary-level-1-core {
+			stroke-width: 1px;
+			stroke: #f9574b;
+			stroke-dasharray: 6, 2, 2, 2;
+			}
+			
+			.boundary-level-2-casing {
+			stroke-width: 3px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+			
+			.boundary-level-2-core {
+			stroke-width: 1px;
+			stroke: #f9574b;
+			stroke-dasharray: 6, 6;
+			}
+			
+			.boundary-level-3-core {
+			stroke-width: 1px;
+			stroke: #f9574b;
+			}
+			
+			.boundary-level-4-core {
+			stroke-width: 1px;
+			stroke: #f9574b;
+			stroke-dasharray: 6, 2, 2, 2;
+			}
+			
+			.boundary-level-5-core {
+			stroke-width: 1px;
+			stroke: #f9574b;
+			stroke-dasharray: 6, 6;
+			}
+			
+			.boundary-level-6-core {
+			stroke-width: 1px;
+			stroke: #f9574b;
+			stroke-dasharray: 2, 10;
+			}
+			
+			.boundary-level-7-core {
+			stroke-width: 0.4px;
+			stroke: #f9574b;
+			}
+			
+			.boundary-level-8-core {
+			stroke-width: 0.4px;
+			stroke: #f9574b;
+			stroke-dasharray: 6, 2, 2, 2;
+			}
+			
+			.boundary-level-9-core {
+			stroke-width: 0.4px;
+			stroke: #f9574b;
+			stroke-dasharray: 6, 6;
+			}
+			
+			.boundary-level-10-core {
+			stroke-width: 0.4px;
+			stroke: #f9574b;
+			stroke-dasharray: 2, 10;
+			}
+			
+			.boundary-nationalpark-core {
+			stroke-width: 1px;
+			stroke: #4ef94b;
+			stroke-dasharray: 6, 2, 2, 2;
+			}
+			
+			
+			/* Racetracks */
+			.highway-racetrack-core {
+			stroke-width: 1.5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-racetrack-casing-red {
+			stroke-width: 1.7px;
+			stroke-dasharray: 0.2, 0.2;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ff0000;
+			}
+			
+			.highway-racetrack-casing-white {
+			stroke-width: 1.7px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ffffff;
+			}
+			
+			.highway-raceway-casing {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #101010;
+			}
+			
+			.highway-raceway-casing-disused {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 2, 2;
+			}
+			
+			.highway-raceway-casing-dismantled {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			.highway-raceway-core {
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-raceway-core-disused {
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke-dasharray: 2, 2;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-raceway-core-dismantled {
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ffffff;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			.landuse-raceway {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #101010;
+			}
+			
+			.landuse-raceway-disused {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #808080;
+			stroke-dasharray: 2, 2;
+			}
+			
+			.landuse-raceway-dismantled {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #ffffff;
+			stroke: #808080;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			
+			.railway-station                        { fill: #ec2d2d;        stroke: #606060; stroke-width: 1px; }
+			.railway-station-caption-casing         { stroke-width: 1px;  font-size: 6px; }
+			.railway-station-caption-core           { fill: #ec2d2d;        font-size: 6px; }
+			
+			.railway-halt                           { fill: #ec2d2d;        stroke: #606060; stroke-width: 0.4px; }
+			.railway-halt-caption-casing            { stroke-width: 0.8px;  font-size: 5px; }
+			.railway-halt-caption-core              { fill: #ec2d2d;        font-size: 5px; }
+			
+			.highway-platform-area                  { stroke: none; fill: #9b9b79; }
+			.highway-platform-area-casing           { stroke: #707070; stroke-width: 0.4px; fill: none; }
+			.highway-platform-way-casing            { stroke: #707070; stroke-width: 1.0px; fill: none; stroke-linecap: square; }
+			.highway-platform-way-core              { stroke: #9b9b79; stroke-width: 0.6px; fill: none; }
+			.highway-platform-node                  { stroke: #707070; stroke-width: 0.2px; fill: #9b9b79; }
+			
+			/* Tourism */
+			.tourism-attraction {
+			fill: #f2caea;
+			stroke: #ff00ff;
+			stroke-width: 0px;
+			}
+			.tourism-green-area {
+			fill: #c7f1a3;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.tourism-attraction-caption {
+			fill: #ff00ff;
+			stroke: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-size: 4px;
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			.largefeature-caption-casing         { stroke-width: 2px;   font-size: 4px; }
+			.largefeature-caption-core           { fill: #4040ff;       font-size: 4px; }
+			
+			.generic-caption-casing              { stroke-width: 1px;   font-size: 2px; }
+			.generic-caption-core                { fill: #4040ff;        font-size: 2px; }
+			
+			.generic-poi {
+			fill: #4040ff;
+			stroke: #606060;
+			stroke-width: 0.2px;
+			}
+			
+			/* Building */
+			.building {
+			fill: #e0e0e0;
+			stroke: #d0d0d0;
+			stroke-width: 0.1px;
+			}
+			
+			.building-block {
+			fill: #F3D6B6;
+			stroke: #6a5a8e;
+			stroke-width: 0.1px;
+			}
+			
+			.building-residential {
+			fill: #c95e2a;
+			stroke: #800000;
+			stroke-width: 0.1px;
+			}
+			
+			
+			/* Aerialway */
+			.aerialway-line {
+			fill: none;
+			stroke: #202020;
+			stroke-width: 0.4px;
+			}
+			
+			.aerialway-cablecar-marker {
+			marker-start:url(#marker-cablecar);
+			}
+			
+			.aerialway-gondola-marker {
+			marker-start:url(#marker-gondola);
+			}
+			
+			.aerialway-chairlift2-marker {
+			marker-start:url(#marker-chair-lift-2);
+			}
+			
+			.aerialway-chairlift4-marker {
+			marker-start:url(#marker-chair-lift-4);
+			}
+			
+			.aerialway-mixedlift-marker {
+			marker-start:url(#marker-mixed-lift);
+			}
+			
+			.aerialway-struts {
+			fill: none;
+			stroke: #202020;
+			stroke-width: 4px;
+			stroke-dasharray: 0.4,20;
+			}
+			
+			.aerialway-station {
+			fill: #ec2d2d;  
+			stroke: #606060;
+			stroke-width: 0.4px; 
+			}
+			
+			.aerialway-name {
+			fill: #606060;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 5px;
+			stroke: none;
+			text-anchor: middle;
+			}
+			
+			.military-area {
+			fill: url(#military-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			/* surface lifts */
+			
+			.piste-lift-t-bar-marker {
+			marker-start:url(#marker-piste-lift-t-bar);
+			}
+			
+			.piste-lift-rope-tow {
+			fill: none;
+			stroke: #a47c41;
+			stroke-width: 0.5px;
+			stroke-dasharray: 1,1;
+			stroke-linecap: square;
+			}
+			
+			.piste-lift-magic-carpet {
+			fill: none;
+			stroke: #101010;
+			stroke-width: 0.8px;
+			}
+			
+			/* Piste maps */
+			.piste-core {
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke-width: 5px;
+			opacity: 0.66;
+			}
+			
+			.piste-area {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke-width: 5px;
+			opacity: 0.66;
+			}
+			
+			.piste-difficulty-novice       { stroke: #40ff40; }
+			.piste-difficulty-easy         { stroke: #4040ff; }
+			.piste-difficulty-intermediate { stroke: #ff4040; }
+			.piste-difficulty-advanced     { stroke: #000000; }
+			.piste-difficulty-expert       { stroke: #f6800a; }
+			.piste-difficulty-freeride     { stroke: #f6dd0a; }
+			.piste-difficulty-other        { stroke: #505050; }
+			.piste-area-difficulty-novice       { stroke: #40ff40; fill: #40ff40; }
+			.piste-area-difficulty-easy         { stroke: #4040ff; fill: #4040ff; }
+			.piste-area-difficulty-intermediate { stroke: #ff4040; fill: #ff4040; }
+			.piste-area-difficulty-advanced     { stroke: #000000; fill: #000000; }
+			.piste-area-difficulty-expert       { stroke: #f6800a; fill: #f6800a; }
+			.piste-area-difficulty-freeride     { stroke: #f6dd0a; fill: #f6dd0a; }
+			.piste-area-difficulty-other        { stroke: #505050; fill: #505050; }
+			
+			.piste-type-sled {
+			fill: none;
+			stroke: #cdabde;
+			stroke-width: 2.5px;
+			marker-start:url(#marker-piste-type-sled);
+			}
+			
+			.piste-type-nordic {
+			fill: none;
+			stroke: #c00000;
+			stroke-width: 1px;
+			stroke-dasharray: 3,0.5;
+			stroke-linejoin: bevel;
+			stroke-linecap: butt;
+			marker-start:url(#marker-piste-type-nordic);
+			}
+			
+			.piste-downhill-name-casing {
+			fill: #555555;
+			stroke: #555555;
+			stroke-width: 0.25px;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 5px;
+			text-anchor: middle;
+			}
+
+			.piste-downhill-name {
+			fill: #ffffff;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 5px;
+			text-anchor: middle;
+			}
+			
+			.piste-downhill-ref {
+			fill: #000000;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 5px;
+			text-anchor: middle;
+			}
+			
+			.man-made-piste-halfpipe {
+			fill: #a0f0ff;
+			stroke: #00bcdf;
+			stroke-width: 0.4px;
+			}
+			
+			.man_made-wastewater {
+			fill: #e4e4e4;
+			}
+			
+			/* Power line */
+			.powerline-pipeline-casing {
+			stroke-width: 0.4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #ffffff;
+			stroke-opacity: 0.5;
+			fill: none;
+			}
+			.power-line {
+			stroke-width: 0.4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #808080;
+			stroke-dasharray: 8, 4;
+			fill: none;
+			}
+
+			/* Power Generator */
+			.power-wind {
+			fill: url(#power-wind-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-hydro {
+			fill: url(#power-hydro-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-photovoltaic {
+			fill: url(#power-photovoltaic-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-generic {
+			fill: url(#power-generic-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+
+			.reservoir-evaporator {
+			fill: url(#reservoir-evaporator-pattern);
+			stroke: none;
+			}
+
+			.reservoir-cooling {
+			fill: url(#reservoir-cooling-pattern);
+			stroke: none;
+			}
+
+			.reservoir-sewage {
+			fill: url(#reservoir-sewage-pattern);
+			stroke: none;
+			}
+
+			.reservoir-tailings {
+			fill: url(#reservoir-tailings-pattern);
+			stroke: none;
+			}
+
+			.basin-infiltration {
+			fill: url(#basin-infiltration-pattern);
+			stroke: none;
+			}
+			.basin-detention {
+			fill: url(#basin-detention-pattern);
+			stroke: none;
+			}
+			.basin-retention {
+			fill: url(#basin-retention-pattern);
+			stroke: none;
+			}
+
+			/* Area captions */
+			.park-name {
+			fill: #404040;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			font-size: 4.5px;
+			stroke-width: 0.0px;
+			}
+			
+			.landuse-reservoir-name {
+			fill: #404040;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			font-size: 4.5px;
+			stroke-width: 0.0px;
+			}
+			
+			
+			/* Access restrictions */
+			.access-private-line {
+			fill: none;
+			stroke: url(#access-private-pattern);
+			stroke-width: 4px;
+			}
+			.access-private-area {
+			fill: url(#access-private-pattern);
+			stroke: url(#access-private-pattern);
+			stroke-width: 4px;
+			}
+			.access-private-small-area {
+			fill: url(#access-private-pattern);
+			stroke: url(#access-private-pattern);
+			stroke-width: 2px;
+			}
+			.access-private-area-border {
+			stroke: #ff4040;
+			}
+			
+			.access-permissive-line {
+			fill: none;
+			stroke: url(#access-permissive-pattern);
+			stroke-width: 4px;
+			}
+			.access-permissive-area {
+			fill: url(#access-permissive-pattern);
+			stroke: url(#access-permissive-pattern);
+			stroke-width: 4px;
+			}
+			.access-permissive-small-area {
+			fill: url(#access-permissive-pattern);
+			stroke: url(#access-permissive-pattern);
+			stroke-width: 2px;
+			}
+			.access-permissive-area-border {
+			stroke: #40ff40;
+			}
+			
+			.access-destination-line {
+			fill: none;
+			stroke: url(#access-destination-pattern);
+			stroke-width: 4px;
+			}
+			.access-destination-area {
+			fill: url(#access-destination-pattern);
+			stroke: url(#access-destination-pattern);
+			stroke-width: 4px;
+			}
+			.access-destination-small-area {
+			fill: url(#access-destination-pattern);
+			stroke: url(#access-destination-pattern);
+			stroke-width: 2px;
+			}
+			.access-destination-area-border {
+			stroke: #40ff40;
+			}
+			
+			.access-no-line {
+			fill: none;
+			stroke: url(#access-no-pattern);
+			stroke-width: 4px;
+			}
+			.access-no-area {
+			fill: url(#access-no-pattern);
+			stroke: url(#access-no-pattern);
+			stroke-width: 4px;
+			}
+			.access-no-small-area {
+			fill: url(#access-no-pattern);
+			stroke: url(#access-no-pattern);
+			stroke-width: 2px;
+			}
+			.access-no-area-border {
+			stroke: #40ff40;
+			}
+			
+			/* Map decoration */
+			.map-grid-line {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0.5;
+			}
+			
+			.map-border-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 3px;
+			stroke-miterlimit: 4;
+			stroke-dasharray: none;
+			stroke-opacity: 1;
+			stroke-linecap: round;
+			}
+			
+			.map-border-core {
+			fill: none;
+			fill-opacity: 1;
+			fill-rule: nonzero;
+			stroke: #ffffff;
+			stroke-width: 2px;
+			stroke-miterlimit: 0;
+			stroke-dashoffset: -0.5px;
+			stroke-opacity: 1;
+			}
+			
+			.map-scale-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-core {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-bookend {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 1px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-caption {
+			font-family: "DejaVu Sans";
+			font-size: 10px;
+			fill: #8080ff;
+			}
+			
+			<!-- map background must be the same for all zooms or else empty tile detection will fail -->
+			.map-background {
+			fill: #f8f8f8;
+			stroke: none;
+			}
+			
+			.map-title {
+			font-family: "DejaVu Sans";
+			font-size: 20px;
+			text-anchor: middle;
+			fill: black;
+			}
+			
+			.map-title-background {
+			fill: white;
+			}
+			
+			.map-marginalia-background {
+			fill: white;
+			}
+			
+			.highway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			}
+			
+			/* Osmarender built-in styles - do not remove */
+			.osmarender-stroke-linecap-round { stroke-linecap: round; }
+			.osmarender-stroke-linecap-butt { stroke-linecap: butt; }
+			.osmarender-mask-black { stroke: black; }
+			.osmarender-mask-white { stroke: white; }
+			.osmarender-no-marker-start { marker-start: none; }
+			.osmarender-no-marker-end { marker-end: none; }
+			
+		</style>
+		
+		<svg:pattern x="0" y="0" width="200" height="200" id="wood-deciduous-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.08)">
+			<svg:rect fill="#6fc18e" width="205" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 27,1 C 20,1 13,7 13,14 C 13,16 13,18 15,20 C 11,22 8,26 8,29 C 8,36 16,43 28,43 L 28,63 L 37,63 L 37,43 C 48,43 57,36 57,29 C 57,26 55,23 52,21 C 55,14 45,4 37,6 C 36,3 33,1 27,1"/>
+			<svg:path fill="#2b743f" d="M 77,101 C 70,101 63,107 63,114 C 63,116 63,118 65,120 C 61,122 58,126 58,129 C 58,136 66,143 78,143 L 78,163 L 87,163 L 87,143 C 98,143 107,136 107,129 C 107,126 105,123 102,121 C 105,114 95,104 87,106 C 86,103 83,101 77,101"/>
+		</svg:pattern>
+		<svg:pattern x="0" y="0" width="200" height="200" id="wood-coniferous-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.08)">
+			<svg:rect fill="#6fc18e" width="205" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 15,24 L 25,24 L 10,39 L 25,39 L 5,54 L 25,54 L 25,64 L 35,64 L 35,54 L 55,54 L 35,39 L 50,39 L 35,24 L 45,24 L 30,4 L 15,24"/>
+			<svg:path fill="#2b743f" d="M 65,124 L 75,124 L 60,139 L 75,139 L 55,154 L 75,154 L 75,164 L 85,164 L 85,154 L 105,154 L 85,139 L 100,139 L 85,124 L 95,124 L 80,104 L 65,124"/>
+		</svg:pattern>
+		<svg:pattern x="0" y="0" width="300" height="200" id="wood-mixed-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.08)">
+			<svg:rect fill="#6fc18e" width="305" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 27,1 C 20,1 13,7 13,14 C 13,16 13,18 15,20 C 11,22 8,26 8,29 C 8,36 16,43 28,43 L 28,63 L 37,63 L 37,43 C 48,43 57,36 57,29 C 57,26 55,23 52,21 C 55,14 45,4 37,6 C 36,3 33,1 27,1"/>
+			<svg:path fill="#2b743f" d="M 65,54 L 75,54 L 60,69 L 75,69 L 55,84 L 75,84 L 75,94 L 85,94 L 85,84 L 105,84 L 85,69 L 100,69 L 85,54 L 95,54 L 80,34 L 65,54"/>
+			<svg:path fill="#2b743f" d="M 165,104 L 175,104 L 160,119 L 175,119 L 155,134 L 175,134 L175,144 L 185,144 L 185,134 L 205,134 L 185,119 L 200,119 L 185,104 L 195,104 L 180,84 L 165,104"/>
+			<svg:path fill="#2b743f" d="M 227,101 C 220,101 213,107 213,114 C 213,116 213,118 215,120 C 211,122 208,126 208,129 C 208,136 216,143 228,143 L 228,163 L 237,163 L 237,143 C 248,143 257,136 257,129 C 257,126 255,123 252,121 C 255,114 245,104 237,106 C 236,103 233,101 227,101"/>
+		</svg:pattern>
+		
+		<svg:pattern id="marsh-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.3)">
+			<svg:path stroke="#007fff" stroke-width="0.2" stroke-linecap="round" d="M 0,4 C 1.33,4 2.67,4 4,4 M 2,4 C 2,3 2,2 2,1 M 3,3 L 2,4 M 3,2 L 2,4 M 1,3 L 2,4 M 1,2 L 2,4 M 7,9 L 10,9 M 2,9 C 3,9 4,9 5,9 M 6,4 C 6.71,4 7.35,4 8,4 M 2,6 C 2.67,6 3.33,6 4,6 M 7,1 C 7.70,1 8.33,1 9,1 M 0,9 L 1,9 M 9,6 L 9,9 M 10,7 L 9,9 M 10,8 L 9,9 M 8,8 L 9,9 M 8,7 L 9,9"/>
+		</svg:pattern>
+		
+		<svg:pattern id="military-pattern" x="0" y="0" width="500" height="500" patternUnits="userSpaceOnUse" patternTransform="scale(0.01)">
+			<svg:rect width="510" height="510" x="0" y="0" fill-opacity="0.5" fill="#d0d050"/>
+			<svg:path fill="#808000" d="M 311.4875,112.4725 L 240.86574,112.4725 L 219.18975,100.81875 L 219.18975,67.95515 L 358.10253,55.13602 L 358.10253,98.02185 L 311.4875,107.11177 L 311.4875,112.4725 z "/>
+			<svg:path fill="#808000" d="M 86.10386,157.81856 L 404.48447,158.3883 L 404.43115,99.18722 L 313.11903,119.23168 L 180.26621,119.23168 L 86.10386,144.40379 C 80.55682,146.64725 78.71816,157.81856 86.10386,157.81856 z "/>
+			<svg:path fill="#808000" d="M 176.69134,184.53979 C 176.69131,195.84684 167.54017,205.02094 156.23316,205.04931 C 144.92615,205.07768 135.72909,195.94962 135.67232,184.64271 C 135.61555,173.33581 144.72048,164.11585 156.02721,164.03068 C 167.33393,163.94551 176.57673,173.02726 176.6903,184.33373"/>
+			<svg:path fill="#808000" d="M 222.85374,184.53979 C 222.85371,195.84684 213.70257,205.02094 202.39556,205.04931 C 191.08855,205.07768 181.89149,195.94962 181.83472,184.64271 C 181.77795,173.33581 190.88288,164.11585 202.18961,164.03068 C 213.49633,163.94551 222.73913,173.02726 222.8527,184.33373"/>
+			<svg:path fill="#808000" d="M 268.20674,184.53979 C 268.20671,195.84684 259.05557,205.02094 247.74856,205.04931 C 236.44155,205.07768 227.24449,195.94962 227.18772,184.64271 C 227.13095,173.33581 236.23588,164.11585 247.54261,164.03068 C 258.84933,163.94551 268.09213,173.02726 268.2057,184.33373"/>
+			<svg:path fill="#808000" d="M 314.63974,184.53979 C 314.63971,195.84684 305.48857,205.02094 294.18156,205.04931 C 282.87455,205.07768 273.67749,195.94962 273.62072,184.64271 C 273.56395,173.33581 282.66888,164.11585 293.97561,164.03068 C 305.28233,163.94551 314.52513,173.02726 314.6387,184.33373"/>
+			<svg:path fill="#808000" d="M 104.62906,164.30601 L 95.06656,164.74351 C 89.7409,177.99161 94.17664,190.11388 108.81656,199.08726 C 125.31404,209.1992 145.13754,218.93662 150.87906,219.08726 L 345.94156,219.14976 C 351.68308,218.99912 371.50659,209.26172 388.00406,199.14976 C 402.64398,190.17638 407.07972,178.02286 401.75406,164.77476 L 392.19156,164.36851 C 395.0692,176.76396 397.55281,185.1301 379.62906,193.61851 C 364.95912,200.56595 349.45269,208.83667 347.03531,209.33726 L 149.78531,209.30601 C 147.36794,208.8054 131.89275,200.50345 117.22281,193.55601 C 99.29906,185.06761 101.75142,176.70146 104.62906,164.30601 z M 81.325,74.26296 L 81.325,87.85048 L 214.52384,92.37965 L 214.52384,74.05709 L 81.325,74.26296 z "/>
+			<svg:path fill="#808000" d="M 360.71264,185.61239 C 360.71261,196.91944 351.56147,206.09354 340.25446,206.12191 C 328.94745,206.15028 319.75039,197.02222 319.69362,185.71531 C 319.63685,174.40841 328.74178,165.18845 340.04851,165.10328 C 351.35523,165.01811 360.59803,174.09986 360.7116,185.40633"/>
+			<svg:path fill="#808000" d="M 389.14837,176.08104 C 389.14835,182.52632 383.93199,187.75578 377.48672,187.77195 C 371.04145,187.78813 365.79891,182.58491 365.76655,176.1397 C 365.73419,169.6945 370.92422,164.4389 377.36932,164.39035 C 383.81443,164.3418 389.08304,169.51862 389.14778,175.96358"/>
+			<svg:path fill="#808000" d="M 130.88767,176.08104 C 130.88765,182.52632 125.67129,187.75578 119.22602,187.77195 C 112.78075,187.78813 107.53821,182.58491 107.50585,176.1397 C 107.47349,169.6945 112.66352,164.4389 119.10862,164.39035 C 125.55373,164.3418 130.82234,169.51862 130.88708,175.96358"/>
+		</svg:pattern>
+		
+		<svg:pattern id="cemetery-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(1)">
+			<svg:rect fill="#bde3cb" width="10" height="10" x="0" y="0"/>
+			<svg:path fill="#b0b0b0" stroke-width="0.1" d="M 1.48,0.13 C 2.12,0.13 2.63,0.64 2.63,1.28 L 2.63,4.27 L 0.33,4.27 L 0.33,1.28 C 0.33,0.64 0.85,0.13 1.48,0.13 z "/>
+			<svg:path fill="#b0b0b0" stroke-width="0.1" d="M 6.64,5.78 C 7.27,5.78 7.79,6.29 7.79,6.92 L 7.79,9.91 L 5.49,9.91 L 5.49,6.92 C 5.49,6.29 6.00,5.78 6.64,5.78 z "/>
+		</svg:pattern>
+		<svg:pattern id="cemetery-christian-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(1)">
+			<svg:rect fill="#bde3cb" width="11" height="11" x="0" y="0"/>
+			<svg:path stroke="black" stroke-width="0.2" d="M1,1 L3,1 M2,0 L2,3 M6,6 L8,6 M7,5 L7,8"/>
+		</svg:pattern>
+		
+		<svg:pattern id="livingstreet-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#e5e0c2" stroke-width="2" d="M10,0 L0,10 M0,0 L10,10"/>
+		</svg:pattern>
+		<svg:pattern id="cycleroad-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#d1fad1" stroke-width="2" d="M10,0 L0,10 M0,0 L10,10"/>
+		</svg:pattern>
+		<svg:pattern id="access-private-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#ff4040" stroke-width="0.2" d="M10,0 L0,10 M0,0 L10,10"/>
+		</svg:pattern>
+		<svg:pattern id="access-permissive-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#40ff40" stroke-width="0.2" d="M10,0 L0,10 M0,0 L10,10"/>
+		</svg:pattern>
+		<svg:pattern id="access-destination-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#4040ff" stroke-width="0.2" d="M10,0 L0,10 M0,0 L10,10"/>
+		</svg:pattern>
+		<svg:pattern id="access-no-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#ff4040" stroke-width="0.2" d="M10,0 L0,10 M0,0 L10,10"/>
+		</svg:pattern>
+		
+		<svg:pattern patternUnits="userSpaceOnUse" width="104.8886" height="112.38862" patternTransform="scale(0.05,0.05)" id="vineyard-pattern">
+			<svg:rect fill="#d1ead1" width="104.8886" height="112.38862" x="0" y="0"/>
+			<svg:g transform="translate(-35,-59.111382)">
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="105" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="104.54168" y="95.686478"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="91.572838" y="95.066086"/>
+				<svg:path style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#bf5bc3;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 102.72166,94.632518 C 102.72166,94.632518 102.51202,95.733107 102.51202,86.247077 C 102.51202,84.082553 104.39875,79.905587 96.851849,75.974911"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-1.4674523,16.770883)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-4.6119891,6.2890801)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(10.27217,-2.7252699)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-6.7083494,-4.4023583)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(4.1927244,9.8528923)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(2.096364,0.6289069)"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="90" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="95" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="115" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="60" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="59.541687" y="133.18648"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="46.572845" y="132.56609"/>
+				<svg:path style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#bf5bc3;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 57.72166,132.13252 C 57.72166,132.13252 57.51202,133.23311 57.51202,123.74708 C 57.51202,121.58255 59.39875,117.40559 51.85185,113.47491"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-46.467452,54.270883)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-49.611989,43.78908)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-34.72783,34.77473)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-51.708349,33.097642)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-40.807276,47.352892)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-42.903636,38.128907)"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="45" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="50" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="90" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="95" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="70" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="55" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="105" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="115" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="60" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="45" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="50" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="55" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="70" y="94"/>
+				<svg:rect style="fill:none;fill-opacity:0.92941176;stroke:none;stroke-width:0.22276554;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="104.87722" height="112.37724" x="35.011383" y="59.111382"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="144"/>
+			</svg:g>
+		</svg:pattern>
+		<svg:pattern id="power-wind-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.4)">
+		<!-- power_wind.svg -->
+			<svg:g style="fill:#000000">
+				<rect width="0.77532399" height="8.1394444" x="8.3448029" y="7.860559" style="fill:#000000" />
+				<path d="M 9.4685289,7.5398227 C 9.5951548,7.3769778 10.64679,8.1902804 11.817421,9.3563852 C 12.988052,10.52249 13.834385,11.599816 13.707759,11.762661 C 13.581133,11.925506 12.529499,11.112204 11.358868,9.9460989 C 10.188236,8.7799942 9.341903,7.7026676 9.4685289,7.5398227 z" />
+				<path d="M 9.0179241,5.7934416 C 8.8242005,5.7429518 9.0001786,4.4242539 9.4109824,2.8480475 C 9.8217862,1.2718412 10.311853,0.03500359 10.505576,0.085493431 C 10.6993,0.13598327 10.523322,1.4546811 10.112518,3.0308874 C 9.7017142,4.6070939 9.2116477,5.8439315 9.0179241,5.7934416 z" />
+				<path d="M 7.7057548,7.0801563 C 7.7567258,7.273754 6.5211097,7.7668916 4.9459289,8.1816099 C 3.3707482,8.5963282 2.0524917,8.7755817 2.0015207,8.5819841 C 1.9505497,8.3883865 3.1861658,7.8952488 4.7613465,7.4805306 C 6.3365273,7.0658123 7.6547838,6.8865587 7.7057548,7.0801563 z" />
+				<path d="M 9.7448924,6.787931 C 9.7450023,7.3521951 9.2876067,7.8096797 8.7233428,7.8096797 C 8.1590787,7.8096797 7.7016831,7.3521951 7.701793,6.787931 C 7.7016831,6.2236669 8.1590787,5.7661823 8.7233428,5.7661823 C 9.2876067,5.7661823 9.7450023,6.2236669 9.7448924,6.787931 L 9.7448924,6.787931 z" />
+			</svg:g>
+		</svg:pattern>
+		<svg:pattern id="power-hydro-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.4)">
+		<!-- power_hydro.svg -->
+			<path d="M 8.5,12.8 L 11.9,6.5 L 7.1,7.6 L 10.8,1.5 L 8.2,0.17 L 4.1,10.1 L 9,8.6 L 7.4,12.3 L 7.1,11.6 L 6.65,15.7 L 9.3,12.5 L 8.5,12.8 z" style="fill:#00ccff;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;" />
+		</svg:pattern>
+		<svg:pattern id="power-photovoltaic-pattern" x="0" y="0" width="16" height="16" patternUnits="userSpaceOnUse" patternTransform="scale(0.42)">
+		<!-- power_photovoltaic.svg -->
+		<svg:g transform="matrix(1,0,-0.26,1,0.15,0)">
+				<svg:rect x="3.4" y="3.4" width="13" height="8.9" style="fill:#ffffff;stroke:#000000;stroke-width:0.4"/>
+				<svg:g style="stroke-width:0;fill:#000084" >
+					<svg:rect x="3.9" y="8" width="3.8" height="3.8" />
+					<svg:rect x="8" y="8" width="3.8" height="3.8" />
+					<svg:rect x="12.1" y="8" width="3.8" height="3.8" />
+					<svg:rect x="3.9" y="3.9" width="3.8" height="3.8" />
+					<svg:rect x="8" y="3.9" width="3.8" height="3.8" />
+					<svg:rect x="12.1" y="3.9" width="3.8" height="3.8" />
+				</svg:g>
+			</svg:g>
+			<svg:path d="M 2.72 0.34 L 2.97 2.59 L 1.38 2.13 L 2.44 3.25 L 0.38 3.98 L 2.59 4.38 L 1.59 5.72 L 3.13 5.03 L 3.16 7.22 L 4.25 5.34 L 5.22 6.63 L 5.03 5 L 7.22 5.66 L 5.72 4.06 L 7.25 3.59 L 5.59 3.28 L 6.97 1.41 L 4.88 2.34 L 4.88 0.78 L 4.09 2.13 L 2.72 0.34 z" style="fill:#ffff00;stroke:#000000;stroke-width:0.1" />
+		</svg:pattern>
+		<svg:pattern id="power-generic-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.4)">
+		<!-- power_generic.svg -->
+			<svg:path d="M 8.5,12.8 L 11.9,6.5 L 7.1,7.6 L 10.8,1.5 L 8.2,0.17 L 4.1,10.1 L 9,8.6 L 7.4,12.3 L 7.1,11.6 L 6.65,15.7 L 9.3,12.5 L 8.5,12.8 z" style="fill:#ffff00;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;" />
+		</svg:pattern>
+		<!-- reservoir patterns -->
+		<svg:pattern id="reservoir-evaporator-pattern" patternUnits="userSpaceOnUse" width="2" height="2" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;stroke-linecap:round;" d="M 0.1,1.9 L 1.9,1.9" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.96,1.8 C 1.25,1.4 0.75,1.4 1.04,1" />
+			<svg:path style="stroke:#007fff;stroke-width:.035px;fill:none" d="M 0.61,1.8 C 0.8,1.55 0.5,1.55 .69,1.3" />
+			<svg:path style="stroke:#007fff;stroke-width:.035px;fill:none" d="M 1.31,1.8 C 1.5,1.55 1.2,1.55 1.39,1.3" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-cooling-pattern" patternUnits="userSpaceOnUse" width="2" height="2" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;stroke-linecap:round;" d="M 0.1,1.9 L 1.9,1.9" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1,1.25 L 0.784,1.125 L 0.784,0.875 L 1,0.75 L 1.217,0.875 L 1.217,1.125 z" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1,1.25 L 1,1.75" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 0.784,1.125 L 0.35,1.375" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 0.784,0.875 L 0.35,0.625" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1,0.75 L 1,0.25" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1.217,0.875 L 1.65,0.625" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1.217,1.125 L 1.65,1.375" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.257,1.705 L 1.000,1.550 L 0.743,1.705" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.518,1.575 L 0.524,1.275 L 0.261,1.130" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.261,0.870 L 0.524,0.725 L 0.518,0.425" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.743,0.295 L 1.000,0.450 L 1.257,0.295" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.482,0.425 L 1.476,0.725 L 1.739,0.870" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.739,1.139 L 1.476,1.275 L 1.482,1.575" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-sewage-pattern" patternUnits="userSpaceOnUse" width="0.5" height="0.5" >
+			<svg:path style="stroke:#997700;stroke-width:.1px;" d="M -0.01,-0.01 L 0.51,0.51" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-tailings-pattern" patternUnits="userSpaceOnUse" width="0.5" height="0.5" >
+		<svg:path style="stroke:black;stroke-width:.1px;" d="M -0.01,-0.01 L 0.51,0.51" />
+		</svg:pattern>
+
+		<svg:pattern id="basin-infiltration-pattern" patternUnits="userSpaceOnUse" width="2" height="2" patternTransform="scale(3.)" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.1,0.2 L 1.9,0.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.4,0.6 L 1.6,0.6" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.1,1.2 L 0.9,1.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.4,1.6 L 0.6,1.6" />
+		</svg:pattern>
+
+		<svg:pattern id="basin-detention-pattern" patternUnits="userSpaceOnUse" width="2" height="2" patternTransform="scale(3.)" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.4,0.2 L 1.6,0.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.1,0.6 L 1.9,0.6" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.4,1.2 L 0.6,1.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.1,1.6 L 0.9,1.6" />
+		</svg:pattern>
+
+		<svg:pattern id="basin-retention-pattern" patternUnits="userSpaceOnUse" width="2" height="2" patternTransform="scale(3.)" >
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.4,0.2 L 1.6,0.2" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.1,0.6 L 1.9,0.6" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.4,1.2 L 0.6,1.2" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.1,1.6 L 0.9,1.6" />
+		</svg:pattern>
+
+		<svg:pattern id="nature-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(4.5777)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.1" d="
+		M0.2,0.1 L1.8,0.9 M2.2,0.9 L3.8,0.1   M4.2,0.1 L5.8,0.9 M6.2,0.9 L7.8,0.1   M8.2,0.1 L9.8,0.9 M10.2,0.9 L11.8,0.1
+		M0.2,1.9 L1.8,1.1 M2.2,1.1 L3.8,1.9   M4.2,1.9 L5.8,1.1 M6.2,1.1 L7.8,1.9   M8.2,1.9 L9.8,1.1 M10.2,1.1 L11.8,1.9
+		M0.2,2.1 L1.8,2.9 M2.2,2.9 L3.8,2.1   M4.2,2.1 L5.8,2.9 M6.2,2.9 L7.8,2.1   M8.2,2.1 L9.8,2.9 M10.2,2.9 L11.8,2.1
+		M0.2,3.9 L1.8,3.1 M2.2,3.1 L3.8,3.9   M4.2,3.9 L5.8,3.1 M6.2,3.1 L7.8,3.9   M8.2,3.9 L9.8,3.1 M10.2,3.1 L11.8,3.9
+		M0.2,4.1 L1.8,4.9 M2.2,4.9 L3.8,4.1   M4.2,4.1 L5.8,4.9 M6.2,4.9 L7.8,4.1   M8.2,4.1 L9.8,4.9 M10.2,4.9 L11.8,4.1
+		M0.2,5.9 L1.8,5.1 M2.2,5.1 L3.8,5.9   M4.2,5.9 L5.8,5.1 M6.2,5.1 L7.8,5.9   M8.2,5.9 L9.8,5.1 M10.2,5.1 L11.8,5.9
+
+		M0.2,6.1 L1.8,6.9 M2.2,6.9 L3.8,6.1   M4.2,6.1 L5.8,6.9 M6.2,6.9 L7.8,6.1   M8.2,6.1 L9.8,6.9 M10.2,6.9 L11.8,6.1
+		M0.2,7.9 L1.8,7.1 M2.2,7.1 L3.8,7.9   M4.2,7.9 L5.8,7.1 M6.2,7.1 L7.8,7.9   M8.2,7.9 L9.8,7.1 M10.2,7.1 L11.8,7.9
+		M0.2,8.1 L1.8,8.9 M2.2,8.9 L3.8,8.1   M4.2,8.1 L5.8,8.9 M6.2,8.9 L7.8,8.1   M8.2,8.1 L9.8,8.9 M10.2,8.9 L11.8,8.1
+		M0.2,9.9 L1.8,9.1 M2.2,9.1 L3.8,9.9   M4.2,9.9 L5.8,9.1 M6.2,9.1 L7.8,9.9   M8.2,9.9 L9.8,9.1 M10.2,9.1 L11.8,9.9
+		M0.2,10.1 L1.8,10.9 M2.2,10.9 L3.8,10.1   M4.2,10.1 L5.8,10.9 M6.2,10.9 L7.8,10.1   M8.2,10.1 L9.8,10.9 M10.2,10.9 L11.8,10.1
+		M0.2,11.9 L1.8,11.1 M2.2,11.1 L3.8,11.9   M4.2,11.9 L5.8,11.1 M6.2,11.1 L7.8,11.9   M8.2,11.9 L9.8,11.1 M10.2,11.1 L11.8,11.9"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.15;stroke-linecap:round;stroke-linejoin:round;" d="
+		M1.2,2.6 L1.2,1.4 L1.8,2.6 L1.8,1.4
+		M2.2,2.1 L2.45,2.1 A 0.25 0.25 0 0 0 2.45,1.4 L2.2,1.4 L2.2,2.6  M2.8,2.6 L2.3,2.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="landscape-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(4.6)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.05" d="
+		M0.4,0.2 L1.6,0.8 M2.4,0.8 L3.6,0.2   M4.4,0.2 L5.6,0.8 M6.4,0.8 L7.6,0.2   M8.4,0.2 L9.6,0.8 M10.4,0.8 L11.6,0.2
+		M0.4,1.8 L1.6,1.2 M2.4,1.2 L3.6,1.8   M4.4,1.8 L5.6,1.2 M6.4,1.2 L7.6,1.8   M8.4,1.8 L9.6,1.2 M10.4,1.2 L11.6,1.8
+		M0.4,2.2 L1.6,2.8 M2.4,2.8 L3.6,2.2   M4.4,2.2 L5.6,2.8 M6.4,2.8 L7.6,2.2   M8.4,2.2 L9.6,2.8 M10.4,2.8 L11.6,2.2
+		M0.4,3.8 L1.6,3.2 M2.4,3.2 L3.6,3.8   M4.4,3.8 L5.6,3.2 M6.4,3.2 L7.6,3.8   M8.4,3.8 L9.6,3.2 M10.4,3.2 L11.6,3.8
+		M0.4,4.2 L1.6,4.8 M2.4,4.8 L3.6,4.2   M4.4,4.2 L5.6,4.8 M6.4,4.8 L7.6,4.2   M8.4,4.2 L9.6,4.8 M10.4,4.8 L11.6,4.2
+		M0.4,5.8 L1.6,5.2 M2.4,5.2 L3.6,5.8   M4.4,5.8 L5.6,5.2 M6.4,5.2 L7.6,5.8   M8.4,5.8 L9.6,5.2 M10.4,5.2 L11.6,5.8
+
+		M0.4,6.2 L1.6,6.8 M2.4,6.8 L3.6,6.2   M4.4,6.2 L5.6,6.8 M6.4,6.8 L7.6,6.2   M8.4,6.2 L9.6,6.8 M10.4,6.8 L11.6,6.2
+		M0.4,7.8 L1.6,7.2 M2.4,7.2 L3.6,7.8   M4.4,7.8 L5.6,7.2 M6.4,7.2 L7.6,7.8   M8.4,7.8 L9.6,7.2 M10.4,7.2 L11.6,7.8
+		M0.4,8.2 L1.6,8.8 M2.4,8.8 L3.6,8.2   M4.4,8.2 L5.6,8.8 M6.4,8.8 L7.6,8.2   M8.4,8.2 L9.6,8.8 M10.4,8.8 L11.6,8.2
+		M0.4,9.8 L1.6,9.2 M2.4,9.2 L3.6,9.8   M4.4,9.8 L5.6,9.2 M6.4,9.2 L7.6,9.8   M8.4,9.8 L9.6,9.2 M10.4,9.2 L11.6,9.8
+		M0.4,10.2 L1.6,10.8 M2.4,10.8 L3.6,10.2   M4.4,10.2 L5.6,10.8 M6.4,10.8 L7.6,10.2   M8.4,10.2 L9.6,10.8 M10.4,10.8 L11.6,10.2
+		M0.4,11.8 L1.6,11.2 M2.4,11.2 L3.6,11.8   M4.4,11.8 L5.6,11.2 M6.4,11.2 L7.6,11.8   M8.4,11.8 L9.6,11.2 M10.4,11.2 L11.6,11.8"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:round;" d="
+		M5.2,3.4 L5.2,4.6 L5.8,4.6
+		M6.2,4.1 L6.45,4.1 A 0.25 0.25 0 0 0 6.45,3.4 L6.2,3.4 L6.2,4.6  M6.8,4.6 L6.3,4.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="national-park-pattern" x="0" y="0" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(4.6)">
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.5;" d="
+		M9.2,6.6 L9.2,5.4 L9.8,6.6 L9.8,5.4
+		M10.2,6.1 L10.45,6.1 A 0.25 0.25 0 0 0 10.45,5.4 L10.2,5.4 L10.2,6.6 "/>
+		</svg:pattern>
+
+		<svg:marker fill="none" id="bridge-casing-start" markerHeight="1px" markerWidth="1px" orient="auto" stroke="#707070" stroke-width="0.1px">
+		<svg:path d="M-0.25,0.75 L0.5,0 L-0.25,-0.75"/>
+		</svg:marker>
+		<svg:marker fill="none" id="bridge-casing-end" markerHeight="1px" markerWidth="1px" orient="auto" stroke="#707070" stroke-width="0.1px">
+		<svg:path d="M0.25,0.75 L-0.5,0 L0.25,-0.75"/>
+		</svg:marker>
+		<svg:marker fill="none" id="canal-lock" markerHeight="5px" markerUnits="userSpaceOnUse" markerWidth="5px" orient="auto" refX="1px" refY="5px" stroke="#000000" stroke-width="0.5px" stroke-opacity="1" viewBox="0 0 10 10">
+		<svg:path d="M 1,0 L -2,5 L 1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="mountain-pass" markerHeight="48px" markerUnits="userSpaceOnUse" markerWidth="24px" orient="auto" refX="64px" refY="32px" stroke="#000000" stroke-width="0.66px" viewBox="0 0 64 128">
+		<svg:path d="M 1,1 L 16,21 L 112,21 L 127,1"/>
+		<svg:path d="M 1,63 L 16,43 L 112,43 L 127,63"/>
+		</svg:marker>
+		</defs>
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z16.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z16.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z16.xml	(revision 35743)
@@ -0,0 +1,5858 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Tiles@Home Rules File for zoom level 16 -->
+<rules
+	  xmlns:xlink="http://www.w3.org/1999/xlink"
+	  xmlns:svg="http://www.w3.org/2000/svg"
+	  data="data.osm"
+	  svgBaseProfile="full"
+	  scale="1"
+	  symbolScale="0.21"
+	  textAttenuation="7"
+	  minimumMapWidth="0.5"
+	  minimumMapHeight="0.5"
+	  withOSMLayers="yes"
+	  withUntaggedSegments="no"
+	  showScale="no"
+	  showGrid="no"
+	  showBorder="no"
+	  showLicense="no"
+	  interactive="no"
+	  symbolsDir="../stylesheets/symbols"
+	  meter2pixel="0.1375">
+	
+	
+	<!-- Select all nodes and ways (unless they have an osmarender:render=no tag) -->
+	<rule e="node|way" k="osmarender:render" v="~|yes">
+		
+		<!-- Landuse -->
+		<rule e="way" k="landuse" v="landfill|quarry">
+			<area class="landuse-quarry"/>
+		</rule>
+		<rule e="way" k="landuse" v="cemetery">
+			<rule e="way" k="religion" v="christian">
+				<area class="landuse-cemetery-christian"/>
+			</rule>
+			<else>
+				<area class="landuse-cemetery"/>
+			</else>
+		</rule>
+		<rule e="way" k="amenity" v="grave_yard">
+			<rule e="way" k="religion" v="christian">
+				<area class="landuse-cemetery-christian"/>
+			</rule>
+			<else>
+				<area class="landuse-cemetery"/>
+			</else>
+		</rule>
+		<rule e="way" k="landuse" v="vineyard">
+			<area class="landuse-vineyard"/>
+		</rule>
+		
+		<!-- Natural features -->
+		<rule e="way" k="natural" v="coastline">
+			<area class="natural-coastline"/>
+		</rule>
+		<rule e="way" k="natural" v="glacier">
+			<line class='natural-glacier'/>
+		</rule>
+		<rule e="way" k="natural" v="land">
+			<area class="natural-land"/>
+		</rule>
+		<rule e="way" k="natural" v="beach">
+			<area class="natural-beach"/>
+		</rule>
+		<rule e="way" k="natural|landuse" v="forest|wood|scrub">
+			<rule e="way" k="wood" v="coniferous">
+				<area class="landuse-wood-coniferous"/>
+			</rule>
+			<else>
+				<rule e="way" k="wood" v="deciduous">
+					<area class="landuse-wood-deciduous"/>
+				</rule>
+				<else>
+					<rule e="way" k="wood" v="mixed">
+						<area class="landuse-wood-mixed"/>
+					</rule>
+					<else>
+						<area class="landuse-wood"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="natural" v="heath">
+			<area class="natural-heath"/>
+		</rule>
+		<rule e="way" k="natural" v="wetland">
+			<rule e="way" k="wetland" v="bog">
+				<area class="wetland-bog"/>
+			</rule>
+		</rule>
+		<rule e="way" k="landuse" v="conservation">
+			<area class="landuse-conservation"/>
+		</rule>
+		
+		<!-- Artificial landuse -->
+		<rule e="way" k="landuse" v="field|farm|farmland|meadow|grass">
+			<area class="landuse-field"/>
+		</rule>
+		<rule e="way" k="landuse" v="allotments|village_green|recreation_ground">
+			<area class="landuse-allotment-village"/>
+		</rule>
+		<rule e="way" k="leisure" v="park|garden|golf_course|common|green">
+			<area class="leisure-park"/>
+		</rule>
+		<rule e="way" k="leisure" v="playground|playing_fields|pitch|dog_park">
+			<rule e="way" k="sport" v="tennis">
+				<area class="sport-tennis"/>
+			</rule>
+			<else>
+				<!-- Done separately from the above rule to layer these above. Tend to be smaller and inside parks. -->
+				<area class="leisure-park"/>
+			</else>
+		</rule>
+
+		<rule e="node" k="natural" v="tree">
+			<symbol ref="tree" position="center" transform="scale(0.5)"/>
+		</rule>
+		<rule e="way" k="leisure" v="stadium|sports_centre|water_park">
+			<area class="leisure-stadium"/>
+		</rule>
+		<rule e="way" k="leisure" v="track">
+			<rule e="way" k="area" v="yes|true">
+				<area class="leisure-track-area"/>
+			</rule>
+			<else>
+				<line class="leisure-track-casing"/>
+				<line class="leisure-track-core"/>
+			</else>
+		</rule>
+		<rule e="way" k="leisure" v="swimming_pool">
+			<area class="leisure-swimming-pool"/>
+		</rule>
+		<rule e="way" k="amenity" v="fountain" closed="yes">
+			<area class="fountain" />
+		</rule>
+		<rule e="way" k="man_made" v="wastewater_plant" layer="-5" closed="yes">
+			<area class="man_made-wastewater" layer="-5"/>
+		</rule>
+		<rule e="way" k="man_made" v="wastewater_plant">
+			<symbol ref="wastewater" position="center"/>
+		</rule>
+		<rule e="node" k="man_made" v="wastewater_plant">
+			<symbol ref="wastewater" position="center"/>
+		</rule>
+		
+		<!-- Airports and runways -->
+		<rule e="way" k="aeroway" v="aerodrome" closed="yes">
+			<area class="aeroway-aerodrome"/>
+		</rule>
+		<rule e="way" k="aeroway" v="apron">
+			<area class="aeroway-apron"/>
+		</rule>
+		<rule e="way" k="landuse" v="runway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse-runway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse-runway-disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse-runway-dismantled"/>
+			</rule>
+		</rule>
+		
+		<!-- Raceways and racetracks (cars and horses etc) -->
+		<rule e="way" k="landuse" v="raceway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse-raceway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse-raceway-disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse-raceway-dismantled"/>
+			</rule>
+		</rule>
+		
+		<!-- Man-made areas -->
+		<rule e="way" k="leisure|landuse|amenity|tourism" v="~">
+			<rule e="way" k="building" v="~|no|false|0">
+				<rule e="way" k="sport" v="swimming|canoe|diving|scuba_diving">
+					<area class="sport-swimming"/>
+				</rule>
+				<else>
+					<rule e="way" k="sport" v="tennis">
+						<area class="sport-tennis"/>
+					</rule>
+					<else>
+						<rule e="way" k="sport" v="*" closed="yes">
+							<area class="sport"/>
+						</rule>
+					</else>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="amenity" v="parking">
+			<area class="amenity-parking"/>
+		</rule>
+		<rule e="way" k="tourism" v="attraction">
+			<rule e="way" k="highway" v="~">
+				<rule e="way" k="area" v="no" />
+				<else>
+					<area class="tourism-attraction"/>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="tourism" v="zoo|picnic_site|caravan_site|camp_site">
+			<area class="tourism-green-area"/>
+		</rule>
+		<rule e="node|way" k="tourism" v="camp_site">
+			<rule e="node|way" k="refugee" v="yes">
+				<symbol ref="earthquakeCamp" position="center"/>
+			</rule>
+		</rule>
+		<rule e="node|way" k="earthquake:damage" v="spontaneous_camp">
+			<symbol ref="earthquakeCamp" position="center"/>
+		</rule>
+		
+		<!-- access rules for parking -->
+		<rule e="way" k="amenity" v="parking">
+			<rule e="way" k="access" v="private">
+				<area class="access-private-small-area"/>
+			</rule>
+			<rule e="way" k="access" v="permissive|public">
+				<area class="access-permissive-small-area"/>
+			</rule>
+			<rule e="way" k="access" v="destination">
+				<area class="access-destination-small-area"/>
+			</rule>
+			<rule e="way" k="access" v="no">
+				<area class="access-no-small-area"/>
+			</rule>
+		</rule>
+		
+		<!-- Airfields and airports -->
+		<rule e="way" k="aeroway" v="runway">
+			<line class="aeroway-runway-casing"/>
+		</rule>
+		<rule e="way" k="aeroway" v="taxiway">
+			<line class="aeroway-taxiway-casing"/>
+		</rule>
+		
+		<!-- Waterways -->
+		<rule e="way" k="lock" v="yes|true">
+			<line class="waterway-lock-casing" smart-linecap="no" />
+			<line class="waterway-lock-core" smart-linecap="no" />
+		</rule>
+		<rule e="way" k="waterway" v="lock">
+			<line class="waterway-lock-casing" smart-linecap="no" />
+			<line class="waterway-lock-core" smart-linecap="no" />
+		</rule>
+		<rule e="way" k="waterway" v="river">
+			<line class="waterway-casing waterway-river-casing" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="stream">
+			<line class="waterway-casing waterway-stream-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+		</rule>
+		<rule e="way" k="waterway" v="canal">
+			<line class="waterway-casing waterway-canal-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="drain">
+			<line class="waterway-casing waterway-drain-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+		</rule>
+		<rule e="way" k="waterway" v="ditch">
+			<line class="waterway-casing waterway-ditch-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+		</rule>
+		<rule e="way" k="tunnel|culvert" v="yes|culvert">
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<line class="waterway-core waterway-stream-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</rule>
+		<else>
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-core" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<rule e="way" k="stream" v="ephemeral">
+					<line class="waterway-core waterway-stream-core-ephemeral" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+				</rule>
+				<else>
+					<rule e="way" k="stream" v="intermittent">
+						<line class="waterway-core waterway-stream-core-intermittent" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+					</rule>
+					<else>
+						<line class="waterway-core waterway-stream-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</else>
+		<rule e="way" k="waterway" v="dock">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="natural" v="water|pond|lake|bay">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="natural" v="marsh|wetland">
+			<area class="natural-water-marsh"/>
+		</rule>
+		<rule e="way" k="landuse" v="reservoir">
+			<rule e="way" k="reservoir_type" v="evaporator">
+				<area class="reservoir-evaporator"/>
+			</rule>
+			<else>
+				<rule e="way" k="reservoir_type" v="cooling">
+					<area class="reservoir-cooling"/>
+				</rule>
+				<else>
+					<rule e="way" k="reservoir_type" v="sewage">
+						<area class="reservoir-sewage"/>
+					</rule>
+					<else>
+						<rule e="way" k="reservoir_type" v="tailings">
+							<area class="reservoir-tailings"/>
+						</rule>
+						<else>
+							<rule e="way" k="reservoir_type" v="water_storage">
+								<area class="natural-water"/>
+							</rule>
+							<else>
+								<area class="natural-water"/>
+							</else>
+						</else>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="landuse" v="basin">
+			<rule e="way" k="basin" v="infiltration">
+				<area class="basin-infiltration"/>
+			</rule>
+			<else>
+				<rule e="way" k="basin" v="detention">
+					<area class="basin-detention"/>
+				</rule>
+				<else>
+					<rule e="way" k="basin" v="retention">
+						<area class="natural-water"/>
+						<area class="basin-retention"/>
+					</rule>
+					<else>
+						<area class="natural-water"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="waterway" v="riverbank">
+			<area class="waterway-riverbank"/>
+		</rule>
+		<rule e="way" k="waterway" v="weir">
+			<line class="waterway-weir"/>
+		</rule>
+		<rule e="way" k="waterway" v="dam">
+			<line class="waterway-dam"/>
+		</rule>
+		<rule e="node" k="waterway" v="lock_gate">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" k="lock" v="yes|lock">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" s="way" k="lock" v="yes|lock">
+			<wayMarker k="waterway" v="artificial|canal|ditch|drain|river|stream" class="canal-lock"/>
+		</rule>
+		<rule e="node" k="waterway" v="lock">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" s="way" k="waterway" v="lock">
+			<wayMarker k="waterway" v="artificial|canal|ditch|drain|river|stream" class="canal-lock"/>
+		</rule>
+		
+		<rule e="way" k="boundary" v="national_park">
+			<area class="leisure-national_park"/>
+		</rule>
+		<rule e="way" k="leisure" v="landscape_reserve">
+			<area class="leisure-landscape_reserve"/>
+		</rule>
+		<rule e="way" k="leisure" v="nature_reserve">
+			<area class="leisure-nature_reserve"/>
+			<symbol ref="bird" position="center"/>
+		</rule>
+
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="highway" v="motorway|motorway_link|footway|steps|pedestrian|cycleway|bridleway|track|byway|path|cycleroad|living_street|construction|planned|proposed|disused|abandoned|dismantled">
+			</rule>
+			<else>
+				<rule e="way" k="motorroad" v="yes">
+				</rule>
+				<else>
+					<rule e="way" k="bicycle" v="no">
+						<line class="highway-nobicycle-1" smart-linecap="no" />
+						<line class="highway-nobicycle-2" smart-linecap="no" />
+					</rule>
+				</else>
+			</else>
+		</rule>
+
+		<!-- embankments & cutings -->
+		<rule e="way" k="man_made" v="dyke|dike|levee|embankment">
+			<rule e="way" k="highway" v="*">
+				<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+					<line class="dyke embankment-wide-long-casing"   smart-linecap="no" />
+					<line class="dyke embankment-wide-short-casing"  smart-linecap="no" />
+					<line class="dyke embankment-wide-middle-casing" smart-linecap="no" />
+					<line class="dyke embankment-wide-core"          smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="motorroad" v="yes">
+						<line class="dyke embankment-wide-long-casing"   smart-linecap="no" />
+						<line class="dyke embankment-wide-short-casing"  smart-linecap="no" />
+						<line class="dyke embankment-wide-middle-casing" smart-linecap="no" />
+						<line class="dyke embankment-wide-core"          smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="motorway|trunk">
+							<line class="dyke embankment-wide-long-casing"   smart-linecap="no" />
+							<line class="dyke embankment-wide-short-casing"  smart-linecap="no" />
+							<line class="dyke embankment-wide-middle-casing" smart-linecap="no" />
+							<line class="dyke embankment-wide-core"          smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="highway" v="path|footway|cycleway|bridleway|service|track|steps">
+								<line class="dyke embankment-small-long-casing"   smart-linecap="no" />
+								<line class="dyke embankment-small-short-casing"  smart-linecap="no" />
+								<line class="dyke embankment-small-middle-casing" smart-linecap="no" />
+								<line class="dyke embankment-small-core"          smart-linecap="no" />
+							</rule>
+							<else>
+								<line class="dyke embankment-long-casing"   smart-linecap="no" />
+								<line class="dyke embankment-short-casing"  smart-linecap="no" />
+								<line class="dyke embankment-middle-casing" smart-linecap="no" />
+								<line class="dyke embankment-core"          smart-linecap="no" />
+							</else>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<else>
+				<line class="dyke embankment-small-long-casing"   smart-linecap="no" />
+				<line class="dyke embankment-small-short-casing"  smart-linecap="no" />
+				<line class="dyke embankment-small-middle-casing" smart-linecap="no" />
+				<line class="dyke embankment-small-core"          smart-linecap="no" />
+			</else>
+		</rule>
+		<else>
+			<rule e="way" k="embankment" v="yes|true">
+				<rule e="way" k="highway" v="*">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<line class="embankment-cutting embankment-wide-long-casing"   smart-linecap="no" />
+						<line class="embankment-cutting embankment-wide-short-casing"  smart-linecap="no" />
+						<line class="embankment-cutting embankment-wide-middle-casing" smart-linecap="no" />
+						<line class="embankment-cutting embankment-wide-core"          smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="embankment-cutting embankment-wide-long-casing"   smart-linecap="no" />
+							<line class="embankment-cutting embankment-wide-short-casing"  smart-linecap="no" />
+							<line class="embankment-cutting embankment-wide-middle-casing" smart-linecap="no" />
+							<line class="embankment-cutting embankment-wide-core"          smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="highway" v="motorway|trunk">
+								<line class="embankment-cutting embankment-wide-long-casing"   smart-linecap="no" />
+								<line class="embankment-cutting embankment-wide-short-casing"  smart-linecap="no" />
+								<line class="embankment-cutting embankment-wide-middle-casing" smart-linecap="no" />
+								<line class="embankment-cutting embankment-wide-core"          smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="highway" v="path|footway|cycleway|bridleway|service|track|steps">
+									<line class="embankment-cutting embankment-small-long-casing"   smart-linecap="no" />
+									<line class="embankment-cutting embankment-small-short-casing"  smart-linecap="no" />
+									<line class="embankment-cutting embankment-small-middle-casing" smart-linecap="no" />
+									<line class="embankment-cutting embankment-small-core"          smart-linecap="no" />
+								</rule>
+								<else>
+									<line class="embankment-cutting embankment-long-casing"   smart-linecap="no" />
+									<line class="embankment-cutting embankment-short-casing"  smart-linecap="no" />
+									<line class="embankment-cutting embankment-middle-casing" smart-linecap="no" />
+									<line class="embankment-cutting embankment-core"          smart-linecap="no" />
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+				<else>
+					<line class="embankment-cutting embankment-small-long-casing"   smart-linecap="no" />
+					<line class="embankment-cutting embankment-small-short-casing"  smart-linecap="no" />
+					<line class="embankment-cutting embankment-small-middle-casing" smart-linecap="no" />
+					<line class="embankment-cutting embankment-small-core"          smart-linecap="no" />
+				</else>
+			</rule>
+		</else>
+
+		<rule e="way" k="cutting" v="yes|true">
+			<rule e="way" k="highway" v="*">
+				<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+					<line class="embankment-cutting cutting-wide-casing"           smart-linecap="no" />
+					<line class="embankment-cutting cutting-wide-long-core"        smart-linecap="no" />
+					<line class="embankment-cutting cutting-wide-short-core"       smart-linecap="no" />
+					<line class="embankment-cutting cutting-wide-middle-core"      smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="motorroad" v="yes">
+						<line class="embankment-cutting cutting-wide-casing"           smart-linecap="no" />
+						<line class="embankment-cutting cutting-wide-long-core"        smart-linecap="no" />
+						<line class="embankment-cutting cutting-wide-short-core"       smart-linecap="no" />
+						<line class="embankment-cutting cutting-wide-middle-core"      smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="motorway|trunk">
+							<line class="embankment-cutting cutting-wide-casing"           smart-linecap="no" />
+							<line class="embankment-cutting cutting-wide-long-core"        smart-linecap="no" />
+							<line class="embankment-cutting cutting-wide-short-core"       smart-linecap="no" />
+							<line class="embankment-cutting cutting-wide-middle-core"      smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="highway" v="path|footway|cycleway|bridleway|service|track|steps">
+								<line class="embankment-cutting cutting-small-casing"           smart-linecap="no" />
+								<line class="embankment-cutting cutting-small-long-core"        smart-linecap="no" />
+								<line class="embankment-cutting cutting-small-short-core"       smart-linecap="no" />
+								<line class="embankment-cutting cutting-small-middle-core"      smart-linecap="no" />
+							</rule>
+							<else>
+								<line class="embankment-cutting cutting-casing"           smart-linecap="no" />
+								<line class="embankment-cutting cutting-long-core"        smart-linecap="no" />
+								<line class="embankment-cutting cutting-short-core"       smart-linecap="no" />
+								<line class="embankment-cutting cutting-middle-core"      smart-linecap="no" />
+							</else>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<else>
+				<line class="embankment-cutting cutting-small-casing"           smart-linecap="no" />
+				<line class="embankment-cutting cutting-small-long-core"        smart-linecap="no" />
+				<line class="embankment-cutting cutting-small-short-core"       smart-linecap="no" />
+				<line class="embankment-cutting cutting-small-middle-core"      smart-linecap="no" />
+			</else>
+		</rule>
+
+		<!-- Bridge casings -->
+		<rule e="way" k="bridge" v="yes|true">
+			<rule e="way" k="railway" v="rail|narrow_gauge|preserved|light_rail|tram|subway|incline|funicular|monorail|spur|yard|siding">
+				<rule e="way" k="disused|abandoned|dismantled|construction|planned|proposed" v="yes|true">
+					<line class="bridge-casing railway-bridge-casing railway-pla-casing-color" smart-linecap="no" suppress-markers-tag="bridge"/>
+				</rule>
+				<else>
+					<line class="bridge-casing railway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+				</else>
+			</rule>
+			<rule e="way" k="railway" v="disused|abandoned|dismantled|construction|planned|proposed">
+				<line class="bridge-casing railway-bridge-casing railway-pla-casing-color" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+
+			<rule e="way" k="highway" v="motorway">
+				<line class="bridge-casing highway-motorway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<line class="bridge-casing highway-trunk-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<line class="bridge-casing highway-primary-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<line class="bridge-casing highway-motorway-link-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<line class="bridge-casing highway-trunk-link-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<line class="bridge-casing highway-primary-link-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<line class="bridge-casing highway-secondary-link-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<line class="bridge-casing highway-secondary-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<line class="bridge-casing highway-tertiary-link-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<line class="bridge-casing highway-tertiary-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|minor|road">
+				<line class="bridge-casing highway-unclassified-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="residential|living_street|cycleroad">
+				<line class="bridge-casing highway-residential-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+					<line class="bridge-casing highway-aisle-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+				</rule>
+				<else>
+					<line class="bridge-casing highway-service-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<line class="bridge-casing highway-unsurfaced-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<line class="bridge-casing highway-track-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<line class="bridge-casing highway-byway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<line class="bridge-casing highway-bridleway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<line class="bridge-casing highway-cycleway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="bridge-casing highway-cycleway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="bridge-casing highway-bridleway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+					</rule>
+					<else>
+						<line class="bridge-casing highway-footway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<line class="bridge-casing highway-pedestrian-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<line class="bridge-casing highway-footway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="steps">
+				<line class="bridge-casing highway-steps-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+		</rule>
+		
+		<!-- Bridge cores -->
+		<rule e="way" k="bridge" v="yes|true">
+			<rule e="way" k="railway" v="rail|narrow_gauge|preserved|light_rail|tram|subway|incline|funicular|monorail|spur|yard|siding|disused|abandoned|dismantled|construction|planned|proposed">
+				<line class="bridge-core railway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<line class="bridge-core highway-motorway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<line class="bridge-core highway-trunk-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<line class="bridge-core highway-primary-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<line class="bridge-core highway-motorway-link-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<line class="bridge-core highway-trunk-link-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<line class="bridge-core highway-primary-link-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<line class="bridge-core highway-secondary-link-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<line class="bridge-core highway-secondary-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<line class="bridge-core highway-tertiary-link-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<line class="bridge-core highway-tertiary-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|minor|road">
+				<line class="bridge-core highway-unclassified-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="residential|living_street|cycleroad">
+				<line class="bridge-core highway-residential-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+					<line class="bridge-core highway-aisle-bridge-core" smart-linecap="no"/>
+				</rule>
+				<else>
+					<line class="bridge-core highway-service-bridge-core" smart-linecap="no"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<line class="bridge-core highway-unsurfaced-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<line class="bridge-core highway-track-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<line class="bridge-core highway-byway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<line class="bridge-core highway-bridleway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<line class="bridge-core highway-cycleway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="bridge-core highway-cycleway-bridge-core" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="bridge-core highway-bridleway-bridge-core" smart-linecap="no"/>
+					</rule>
+					<else>
+						<line class="bridge-core highway-footway-bridge-core" smart-linecap="no"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<line class="bridge-core highway-pedestrian-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<line class="bridge-core highway-footway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="steps">
+				<line class="bridge-core highway-steps-bridge-core" smart-linecap="no"/>
+			</rule>
+		</rule>
+		
+		<!-- platforms casings -->
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="yes">
+			<line class="highway-platform-area-casing" />
+		</rule>
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="no">
+			<line class="highway-platform-way-casing" />
+		</rule>
+
+		<!-- Highway area casings -->
+		<rule e="way" k="area" v="yes|true">
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="track">
+				<area class="highway-casing highway-track-area-back-casing" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<area class="highway-casing highway-footway-casing highway-footway-area-casing no-bezier" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<area class="highway-casing highway-pedestrian-casing highway-pedestrian-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<area class="highway-casing highway-cycleway-casing highway-cycleway-area-casing no-bezier" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<area class="highway-casing highway-cycleway-casing highway-cycleway-area-casing no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<area class="highway-casing highway-bridleway-casing highway-bridleway-area-casing no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-footway-casing highway-footway-area-casing no-bezier" smart-linecap="no"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<area class="highway-casing highway-bridleway-casing highway-bridleway-area-casing no-bezier" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<area class="highway-casing highway-byway-1-casing highway-byway-1-area-casing no-bezier" smart-linecap="no"/>
+				<area class="highway-casing highway-byway-2-casing highway-byway-2-area-casing no-bezier" smart-linecap="no"/>
+				<area class="highway-casing highway-byway-3-casing highway-byway-3-area-casing no-bezier" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<rule e="way" k="tracktype" v="grade1">
+					<area class="highway-casing highway-track-casing highway-track-grade1-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="tracktype" v="grade2">
+						<area class="highway-casing highway-track-casing highway-track-grade2-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade3">
+							<area class="highway-casing highway-track-casing highway-track-grade3-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade4">
+								<area class="highway-casing highway-track-casing highway-track-grade4-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade5">
+									<area class="highway-casing highway-track-casing highway-track-grade5-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+								</rule>
+								<else>
+									<area class="highway-casing highway-track-casing highway-track-gradex-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+								</else>
+							</else>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<area class="highway-casing highway-unsurfaced-casing highway-unsurfaced-area-casing no-bezier" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+					<area class="highway-casing highway-aisle-casing highway-aisle-area-casing no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-casing highway-service-casing highway-service-area-casing no-bezier"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor|road">
+				<area class="highway-casing highway-unclassified-casing highway-unclassified-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="living_street">
+				<area class="highway-casing highway-livingstreet-casing highway-livingstreet-area-casing no-bezier"/>
+			</rule>
+		    </else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+						</else>
+					</rule>
+				</else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="tertiary_link">
+				<area class="highway-casing highway-tertiary-link-casing highway-tertiary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<area class="highway-casing highway-tertiary-casing highway-tertiary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<area class="highway-casing highway-secondary-link-casing highway-secondary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<area class="highway-casing highway-secondary-casing highway-secondary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<area class="highway-casing highway-primary-link-casing highway-primary-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<area class="highway-casing highway-trunk-link-casing highway-trunk-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<area class="highway-casing highway-motorway-link-casing highway-motorway-link-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<area class="highway-casing highway-primary-casing highway-primary-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<area class="highway-casing highway-trunk-casing highway-trunk-area-casing no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<area class="highway-casing highway-motorway-casing highway-motorway-area-casing no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+		</rule>
+
+		<!-- Linear casings -->
+		<rule e="way" k="tunnel" v="~|no|false">
+			<rule e="way" k="area" v="~|no|false">
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="track">
+					<line class="highway-casing highway-track-back-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="raceway">
+					<rule e="way" k="use_status" v="~">
+						<line class="highway-raceway-casing"/>
+					</rule>
+					<rule e="way" k="use_status" v="disused">
+						<line class="highway-raceway-casing-disused"/>
+					</rule>
+					<rule e="way" k="use_status" v="dismantled">
+						<line class="highway-raceway-casing-dismantled"/>
+					</rule>
+				</rule>
+				<rule e="way" k="highway" v="steps">
+					<line class="highway-casing highway-steps-casing"/>
+				</rule>
+				<rule e="way" k="highway" v="footway|footpath">
+					<line class="highway-casing highway-footway-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="pedestrian">
+					<line class="highway-casing highway-pedestrian-casing"/>
+				</rule>
+				<rule e="way" k="highway" v="cycleway">
+					<line class="highway-casing highway-cycleway-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<line class="highway-casing highway-cycleway-casing" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<line class="highway-casing highway-bridleway-casing" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-footway-casing" smart-linecap="no"/>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="bridleway">
+					<line class="highway-casing highway-bridleway-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="byway">
+					<line class="highway-casing highway-byway-1-casing" smart-linecap="no"/>
+					<line class="highway-casing highway-byway-2-casing" smart-linecap="no"/>
+					<line class="highway-casing highway-byway-3-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="track">
+					<rule e="way" k="tracktype" v="grade1">
+						<line class="highway-casing highway-track-casing highway-track-grade1-casing" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade2">
+							<line class="highway-casing highway-track-casing highway-track-grade2-casing" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade3">
+								<line class="highway-casing highway-track-casing highway-track-grade3-casing" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade4">
+									<line class="highway-casing highway-track-casing highway-track-grade4-casing" smart-linecap="no"/>
+								</rule>
+								<else>
+									<rule e="way" k="tracktype" v="grade5">
+										<line class="highway-casing highway-track-casing highway-track-grade5-casing" smart-linecap="no"/>
+									</rule>
+									<else>
+										<rule e="way" k="track" v="racetrack">
+											<line class="highway-racetrack-casing-white" smart-linecap="no"/>
+											<line class="highway-racetrack-casing-red" smart-linecap="no"/>
+										</rule>
+										<else>
+											<line class="highway-casing highway-track-casing highway-track-gradex-casing" smart-linecap="no"/>
+										</else>
+									</else>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="unsurfaced">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<line class="highway-casing highway-unsurfaced-cy1-casing" smart-linecap="no"/>
+						<line class="highway-casing highway-unsurfaced-cy2-casing" smart-linecap="no"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-unsurfaced-casing" smart-linecap="no"/>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle">
+						<line class="highway-casing highway-aisle-casing"/>
+					</rule>
+					<else>
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<line class="highway-casing highway-service-cy1-casing"/>
+							<line class="highway-casing highway-service-cy2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-service-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="unclassified|minor|road|ford">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<line class="highway-casing highway-unclassified-cy1-casing"/>
+						<line class="highway-casing highway-unclassified-cy2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-unclassified-casing"/>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="residential">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<line class="highway-casing highway-residential-cy1-casing"/>
+						<line class="highway-casing highway-residential-cy2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-residential-casing"/>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="living_street">
+					<line class="highway-casing highway-livingstreet-casing"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-casing highway-cycleroad-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-cycleroad-casing"/>
+					</else>
+			  </rule>
+			  <else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-casing highway-cycleroad-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-cycleroad-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-casing highway-cycleroad-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-cycleroad-casing"/>
+							</else>
+						</rule>
+					</else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="tertiary_link">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-tertiary-link-mrcy1-casing"/>
+							<line class="highway-casing highway-tertiary-link-mrcy2-casing"/>
+							<line class="highway-casing highway-tertiary-link-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-tertiary-link-cy1-casing"/>
+							<line class="highway-casing highway-tertiary-link-cy2-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-tertiary-link-mr1-casing"/>
+							<line class="highway-casing highway-tertiary-link-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-tertiary-link-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="tertiary">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-tertiary-mrcy1-casing"/>
+							<line class="highway-casing highway-tertiary-mrcy2-casing"/>
+							<line class="highway-casing highway-tertiary-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-tertiary-cy1-casing"/>
+							<line class="highway-casing highway-tertiary-cy2-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-tertiary-mr1-casing"/>
+							<line class="highway-casing highway-tertiary-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-tertiary-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="secondary_link">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-secondary-link-mrcy1-casing"/>
+							<line class="highway-casing highway-secondary-link-mrcy2-casing"/>
+							<line class="highway-casing highway-secondary-link-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-secondary-link-cy1-casing"/>
+							<line class="highway-casing highway-secondary-link-cy2-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-secondary-link-mr1-casing"/>
+							<line class="highway-casing highway-secondary-link-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-secondary-link-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="secondary">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-secondary-mrcy1-casing"/>
+							<line class="highway-casing highway-secondary-mrcy2-casing"/>
+							<line class="highway-casing highway-secondary-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-secondary-cy1-casing"/>
+							<line class="highway-casing highway-secondary-cy2-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-secondary-mr1-casing"/>
+							<line class="highway-casing highway-secondary-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-secondary-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="primary_link">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-primary-link-mrcy1-casing"/>
+							<line class="highway-casing highway-primary-link-mrcy2-casing"/>
+							<line class="highway-casing highway-primary-link-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-primary-link-cy1-casing"/>
+							<line class="highway-casing highway-primary-link-cy2-casing"/>
+						</else>
+					</rule>
+
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-primary-link-mr1-casing"/>
+							<line class="highway-casing highway-primary-link-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-primary-link-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="primary">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-primary-mrcy1-casing"/>
+							<line class="highway-casing highway-primary-mrcy2-casing"/>
+							<line class="highway-casing highway-primary-mrcy3-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-primary-cy1-casing"/>
+							<line class="highway-casing highway-primary-cy2-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-primary-mr1-casing"/>
+							<line class="highway-casing highway-primary-mr2-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-primary-casing"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="trunk_link">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-trunk-link-mrcy1-casing"/>
+							<line class="highway-casing highway-trunk-link-mrcy2-casing"/>
+							<line class="highway-casing highway-trunk-link-mrcy3-casing"/>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="no">
+								<line class="highway-casing highway-trunk-link-mrcy1-casing"/>
+								<line class="highway-casing highway-trunk-link-mrcy2-casing"/>
+								<line class="highway-casing highway-trunk-link-mrcy4-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-trunk-link-cy1-casing"/>
+								<line class="highway-casing highway-trunk-link-cy2-casing"/>
+							</else>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-trunk-link-mr1-casing"/>
+							<line class="highway-casing highway-trunk-link-mr2-casing"/>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="no">
+								<line class="highway-casing highway-trunk-link-mr1-casing"/>
+								<line class="highway-casing highway-trunk-link-mr3-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-trunk-link-casing"/>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="trunk">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-trunk-mrcy1-casing"/>
+							<line class="highway-casing highway-trunk-mrcy2-casing"/>
+							<line class="highway-casing highway-trunk-mrcy3-casing"/>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="no">
+								<line class="highway-casing highway-trunk-mrcy1-casing"/>
+								<line class="highway-casing highway-trunk-mrcy2-casing"/>
+								<line class="highway-casing highway-trunk-mrcy4-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-trunk-cy1-casing"/>
+								<line class="highway-casing highway-trunk-cy2-casing"/>
+							</else>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="highway-casing highway-trunk-mr1-casing"/>
+							<line class="highway-casing highway-trunk-mr2-casing"/>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="no">
+								<line class="highway-casing highway-trunk-mr1-casing"/>
+								<line class="highway-casing highway-trunk-mr3-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-trunk-casing"/>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="motorway_link">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<line class="highway-casing highway-motorway-link-cy1-casing"/>
+						<line class="highway-casing highway-motorway-link-cy2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-motorway-link-casing"/>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="motorway">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<line class="highway-casing highway-motorway-cy1-casing"/>
+						<line class="highway-casing highway-motorway-cy2-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-motorway-casing"/>
+					</else>
+				</rule>
+
+			    </else>
+			  </else>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-casing railway-con-casing-color railway-casing" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-casing railway-pla-casing-color railway-casing" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-casing railway-dis-casing-color railway-casing" smart-linecap="no" />
+							</rule>
+							<else>
+							   <rule e="way" k="razed" v="*">
+									<line class="railway-raz-casing railway-raz-casing-color railway-casing" smart-linecap="no" />
+							   </rule>
+							   <else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-casing railway-aba-casing-color railway-casing" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-casing railway-con-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-casing railway-pla-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-casing railway-dis-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="razed">
+										<line class="railway-raz-casing railway-raz-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-casing railway-aba-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<rule e="way" k="service" v="spur|yard|siding">
+											<line class="railway-yard-casing railway-yard-casing-color railway-casing" smart-linecap="no" />
+										</rule>
+										<else>
+											<line class="railway-rail-casing railway-rail-casing-color railway-casing" smart-linecap="no" />
+										</else>
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-casing railway-narrow-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-casing railway-preserved-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-casing railway-light-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-casing railway-tram-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-casing railway-subway-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-casing railway-funicular-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-casing railway-monorail-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-casing railway-yard-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+								</else>
+							   </else>
+							</else>
+						</else>
+					</else>
+				</rule>
+			</rule>
+		</rule>
+		
+		<!-- Turning circles -->
+		<rule e="node" k="highway" v="turning_circle">
+			<rule e="node" s="way" k="highway" v="unclassified|residential|minor|road">
+				<circle r="1.75" class="highway-unclassified-turningcircle"/>
+			</rule>
+		</rule>
+		
+		<!-- platforms cores -->
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="yes">
+			<line class="highway-platform-area" />
+		</rule>
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="no">
+			<line class="highway-platform-way-core" />
+		</rule>
+
+		<!-- Highway area cores -->
+		<rule e="way" k="area" v="yes|true">
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="footway|footpath">
+				<area class="highway-core highway-footway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<area class="highway-core highway-pedestrian-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<area class="highway-core highway-cycleway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<area class="highway-core highway-cycleway-area no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<area class="highway-core highway-bridleway-area no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-path-area no-bezier" smart-linecap="no"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<area class="highway-core highway-bridleway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<area class="highway-core highway-byway-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<rule e="way" k="tracktype" v="grade1">
+					<area class="highway-core highway-track-grade1-area no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="tracktype" v="grade2">
+						<area class="highway-core highway-track-grade2-area no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade3">
+							<area class="highway-core highway-track-grade3-area no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade4">
+								<area class="highway-core highway-track-grade4-area no-bezier" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade5">
+									<area class="highway-core highway-track-grade5-area no-bezier" smart-linecap="no"/>
+								</rule>
+								<else>
+									<area class="highway-core highway-track-gradex-area no-bezier" smart-linecap="no"/>
+								</else>
+							</else>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<area class="highway-core highway-unsurfaced-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+					<area class="highway-core highway-aisle-area no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-core highway-service-area no-bezier"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor">
+				<area class="highway-core highway-unclassified-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="road">
+				<area class="highway-core highway-road-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="living_street">
+				<area class="highway-core highway-livingstreet-area-1 no-bezier"/>
+				<area class="highway-core highway-livingstreet-area-2 no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-core highway-cycleroad-area-1 no-bezier"/>
+					<area class="highway-core highway-cycleroad-area-2 no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-core highway-cycleroad-area-1 no-bezier"/>
+						<area class="highway-core highway-cycleroad-area-2 no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-core highway-cycleroad-area-1 no-bezier"/>
+							<area class="highway-core highway-cycleroad-area-2 no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+						</else>
+					</rule>
+				</else>
+		  </else>
+
+		  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+		  <else>
+		    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+		    <else>
+
+			<rule e="way" k="highway" v="tertiary_link">
+				<area class="highway-core highway-tertiary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<area class="highway-core highway-tertiary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<area class="highway-core highway-secondary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<area class="highway-core highway-secondary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<area class="highway-core highway-primary-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<area class="highway-core highway-trunk-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<area class="highway-core highway-motorway-link-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<area class="highway-core highway-primary-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<area class="highway-core highway-trunk-area no-bezier"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<area class="highway-core highway-motorway-area no-bezier"/>
+			</rule>
+
+		    </else>
+		  </else>
+		</rule>
+		
+		<!-- Buildings -->
+		<rule e="way" k="aeroway" v="terminal">
+			<area class="building-block"/>
+		</rule>
+		<rule e="way" k="building" v="*">
+			<area class="building-block no-bezier"/>
+		</rule>
+		<rule e="node" k="building" v="*">
+			<rule e="node" k="building" v="entrance">
+				<symbol ref="entrance" position="center"/>
+			</rule>
+			<else>
+				<symbol ref="building" position="center"/>
+			</else>
+		</rule>
+		<rule e="node" k="entrance" v="*">
+			<symbol ref="entrance" position="center"/>
+		</rule>
+		
+		<!-- Linear cores -->
+		<rule e="way" k="tunnel" v="~|false|no">
+			<rule e="way" k="area" v="~|false|no">
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="ford">
+					<line class="highway-core highway-ford-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="raceway">
+					<rule e="way" k="use_status" v="~">
+						<line class="highway-raceway-core"/>
+					</rule>
+					<rule e="way" k="use_status" v="disused">
+						<line class="highway-raceway-core-disused"/>
+					</rule>
+					<rule e="way" k="use_status" v="dismantled">
+						<line class="highway-raceway-core-dismantled"/>
+					</rule>
+				</rule>
+				<rule e="way" k="scramble" v="*">
+					<line class="highway-core highway-scramble-core"/>
+				</rule>
+				<rule e="way" k="highway" v="steps">
+					<line class="highway-core highway-steps-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="footway|footpath">
+					<line class="highway-core highway-footway-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="pedestrian">
+					<line class="highway-core highway-pedestrian-core"/>
+				</rule>
+				<rule e="way" k="highway" v="cycleway">
+					<line class="highway-core highway-cycleway-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<line class="highway-core highway-cycleway-core" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<line class="highway-core highway-bridleway-core" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="foot" v="yes|designated">
+								<line class="highway-core highway-footway-core" smart-linecap="no"/>
+							</rule>
+							<else>
+								<line class="highway-core highway-path-core" smart-linecap="no"/>
+							</else></else></else>
+				</rule>
+				<rule e="way" k="highway" v="bridleway">
+					<line class="highway-core highway-bridleway-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="byway">
+					<line class="highway-core highway-byway-2-casing" smart-linecap="no"/>
+					<line class="highway-core highway-byway-3-casing" smart-linecap="no"/>
+					<line class="highway-core highway-byway-1-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="track">
+					<rule e="way" k="track" v="racetrack">
+						<line class="highway-racetrack-core" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade1">
+							<line class="highway-core highway-track-core2 highway-track-grade1-core" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade2">
+								<line class="highway-core highway-track-core2 highway-track-grade2-core" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade3">
+									<line class="highway-core highway-track-core highway-track-grade3-core" smart-linecap="no"/>
+								</rule>
+								<else>
+									<rule e="way" k="tracktype" v="grade4">
+										<line class="highway-core highway-track-core highway-track-grade4-core" smart-linecap="no"/>
+									</rule>
+									<else>
+										<rule e="way" k="tracktype" v="grade5">
+											<line class="highway-core highway-track-core  highway-track-grade5-core" smart-linecap="no"/>
+										</rule>
+										<else>
+											<line class="highway-core highway-track-core2 highway-track-gradex-core" smart-linecap="no"/>
+										</else>
+									</else>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="unsurfaced">
+					<line class="highway-core highway-unsurfaced-core" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle">
+						<line class="highway-core highway-aisle-core"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-service-core"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="unclassified|minor">
+					<line class="highway-core highway-unclassified-core"/>
+				</rule>
+				<rule e="way" k="highway" v="residential">
+					<line class="highway-core highway-residential-core"/>
+				</rule>
+				<rule e="way" k="highway" v="road">
+					<line class="highway-core highway-road-core"/>
+				</rule>
+				<rule e="way" k="highway" v="living_street">
+					<line class="highway-core highway-livingstreet-core-1" smart-linecap="no"/>
+					<line class="highway-core highway-livingstreet-core-2" smart-linecap="no"/>
+				</rule>
+
+			    </else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-core highway-cycleroad-core-1" smart-linecap="no"/>
+						<line class="highway-core highway-cycleroad-core-2" smart-linecap="no"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-cycleroad-core-3"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-core highway-cycleroad-core-1" smart-linecap="no"/>
+							<line class="highway-core highway-cycleroad-core-2" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="highway-core highway-cycleroad-core-3"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-core highway-cycleroad-core-1" smart-linecap="no"/>
+								<line class="highway-core highway-cycleroad-core-2" smart-linecap="no"/>
+							</rule>
+							<else>
+								<line class="highway-core highway-cycleroad-core-3"/>
+							</else>
+						</rule>
+					</else>
+			  </else>
+
+			  <rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			  <else>
+			    <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			    <else>
+
+				<rule e="way" k="highway" v="tertiary_link">
+					<line class="highway-core highway-tertiary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="tertiary">
+					<line class="highway-core highway-tertiary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary_link">
+					<line class="highway-core highway-secondary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary">
+					<line class="highway-core highway-secondary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="primary_link">
+					<line class="highway-core highway-primary-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk_link">
+					<line class="highway-core highway-trunk-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway_link">
+					<line class="highway-core highway-motorway-link-core"/>
+				</rule>
+				<rule e="way" k="highway" v="primary">
+					<line class="highway-core highway-primary-core"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk">
+					<line class="highway-core highway-trunk-core"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway">
+					<line class="highway-core highway-motorway-core"/>
+				</rule>
+			    </else>
+			  </else>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-1-core railway-con-1-core-color railway-1-core" smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-1-core railway-pla-1-core-color railway-1-core" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-1-core railway-dis-1-core-color railway-1-core" smart-linecap="no" />
+							</rule>
+							<else>
+							   <rule e="way" k="razed" v="*">
+								<line class="railway-raz-1-core railway-raz-1-core-color railway-1-core" smart-linecap="no" />
+							   </rule>
+							   <else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-1-core railway-aba-1-core-color railway-1-core" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-1-core railway-con-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-1-core railway-pla-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-1-core railway-dis-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="razed">
+										<line class="railway-raz-1-core railway-raz-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-1-core railway-aba-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<rule e="way" k="service" v="spur|yard|siding">
+											<line class="railway-yard-1-core railway-yard-1-core-color railway-1-core" smart-linecap="no" />
+										</rule>
+										<else>
+											<line class="railway-rail-1-core railway-rail-1-core-color railway-1-core" smart-linecap="no" />
+										</else>
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-1-core railway-narrow-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-1-core railway-preserved-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-1-core railway-light-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-1-core railway-tram-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-1-core railway-subway-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-1-core railway-funicular-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-1-core railway-monorail-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-1-core railway-yard-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+								</else>
+							   </else>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+							</rule>
+							<else>
+							   <rule e="way" k="razed" v="*">
+									<line class="railway-raz-2-core railway-raz-2-core-color railway-2-core" smart-linecap="no" />
+							   </rule>
+							   <else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core"/>
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="razed">
+										<line class="railway-raz-2-core railway-raz-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<rule e="way" k="service" v="spur|yard|siding">
+											<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core" smart-linecap="no" />
+										</rule>
+										<else>
+											<rule e="way" k="usage" v="main">
+												<line class="railway-main-2-core railway-rail-2-core-color railway-2-core" smart-linecap="no" />
+											</rule>
+											<else>
+												<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core" smart-linecap="no" />
+											</else>
+										</else>
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-2-core railway-light-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+								</else>
+							   </else>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="aeroway" v="runway">
+					<line class="aeroway-runway-core"/>
+				</rule>
+				<rule e="way" k="aeroway" v="taxiway">
+					<line class="aeroway-taxiway-core"/>
+				</rule>
+			</rule>
+		</rule>
+		
+		<!-- Tunnels -->
+		<rule e="way" k="tunnel" v="true|yes">
+			<rule e="way" k="highway" v="steps">
+				<line class="tunnel-casing highway-steps-casing tunnel" mask-class="tunnel-core highway-steps-core"/>
+				<line class="highway-steps-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+				<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<line class="tunnel-casing highway-pedestrian-casing tunnel" mask-class="tunnel-core highway-pedestrian-core"/>
+				<line class="highway-pedestrian-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+				<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+					<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+						<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</rule>
+					<else>
+						<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+						<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+				<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<line class="tunnel-casing highway-byway-1-casing tunnel" mask-class="tunnel-core highway-byway-1-core"/>
+				<line class="highway-byway-1-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<line class="tunnel-casing highway-track-casing tunnel" mask-class="tunnel-core highway-track-core"/>
+				<line class="highway-track-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<line class="tunnel-casing highway-unsurfaced-casing tunnel" mask-class="tunnel-core highway-unsurfaced-core"/>
+				<line class="highway-unsurfaced-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle">
+					<line class="tunnel-casing highway-aisle-casing tunnel" mask-class="tunnel-core highway-aisle-core"/>
+					<line class="highway-aisle-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</rule>
+				<else>
+					<line class="tunnel-casing highway-service-casing tunnel" mask-class="tunnel-core highway-service-core"/>
+					<line class="highway-service-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-unclassified-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="road">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-road-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<line class="tunnel-casing highway-tertiary-link-casing tunnel" mask-class="tunnel-core highway-tertiary-link-core"/>
+				<line class="highway-tertiary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<line class="tunnel-casing highway-tertiary-casing tunnel" mask-class="tunnel-core highway-tertiary-core"/>
+				<line class="highway-tertiary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<line class="tunnel-casing highway-secondary-link-casing tunnel" mask-class="tunnel-core highway-secondary-link-core"/>
+				<line class="highway-secondary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<line class="tunnel-casing highway-secondary-casing tunnel" mask-class="tunnel-core highway-secondary-core"/>
+				<line class="highway-secondary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<line class="tunnel-casing highway-primary-link-casing tunnel" mask-class="tunnel-core highway-primary-link-core"/>
+				<line class="highway-primary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<line class="tunnel-casing highway-trunk-link-casing tunnel" mask-class="tunnel-core highway-trunk-link-core"/>
+				<line class="highway-trunk-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<line class="tunnel-casing highway-motorway-link-casing tunnel" mask-class="tunnel-core highway-motorway-link-core"/>
+				<line class="highway-motorway-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<line class="tunnel-casing highway-primary-casing tunnel" mask-class="tunnel-core highway-primary-core"/>
+				<line class="highway-primary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<line class="tunnel-casing highway-trunk-casing tunnel" mask-class="tunnel-core highway-trunk-core"/>
+				<line class="highway-trunk-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<line class="tunnel-casing highway-motorway-casing tunnel" mask-class="tunnel-core highway-motorway-core"/>
+				<line class="highway-motorway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="railway" v="*">
+				<rule e="way" k="construction" v="yes|true">
+					<line class="railway-con-casing railway-con-casing-color tunnel-casing tunnel" mask-class="tunnel-core railway-con-1-core"/>
+					<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="planned|proposed" v="yes|true">
+						<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-1-core"/>
+						<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="disused" v="yes|true">
+							<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-1-core"/>
+							<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="abandoned|dismantled" v="yes|true">
+								<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-1-core"/>
+								<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="railway" v="construction">
+									<line class="railway-con-casing railway-con-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-con-1-core"/>
+									<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="planned|proposed">
+									<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-1-core"/>
+									<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="disused">
+									<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-1-core"/>
+									<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="abandoned|dismantled">
+									<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-1-core"/>
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="rail">
+									<rule e="way" k="service" v="spur|yard|siding">
+										<line class="railway-yard-casing railway-yard-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-yard-1-core"/>
+										<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core railway-yard-tunnel-core tunnel"  smart-linecap="no" />
+									</rule>
+									<else>
+										<line class="railway-rail-casing railway-rail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-rail-1-core"/>
+										<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core railway-rail-tunnel-core tunnel"  smart-linecap="no" />
+									</else>
+								</rule>
+								<rule e="way" k="railway" v="narrow_gauge">
+									<line class="railway-narrow-casing railway-narrow-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-narrow-1-core"/>
+									<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core railway-narrow-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="preserved">
+									<line class="railway-preserved-casing railway-preserved-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-preserved-1-core"/>
+									<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core railway-preserved-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="light_rail">
+									<line class="railway-light-casing railway-light-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-light-1-core"/>
+									<line class="railway-light-2-core railway-light-2-core-color railway-2-core railway-light-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="tram">
+									<line class="railway-tram-casing railway-tram-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-tram-1-core"/>
+									<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core railway-tram-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="subway">
+									<line class="railway-subway-casing railway-subway-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-subway-1-core"/>
+									<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core railway-subway-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="incline|funicular">
+									<line class="railway-funicular-casing railway-funicular-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-funicular-t-core"/>
+									<line class="railway-funicular-1-core railway-funicular-1-core-color railway-1-core railway-funicular-tunnel-core tunnel"  smart-linecap="no" />
+									<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core railway-funicular-tunnel-core tunnel-casing tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="monorail">
+									<line class="railway-monorail-casing railway-monorail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-monorail-1-core"/>
+									<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core railway-monorail-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="spur|yard|siding">
+									<line class="railway-yard-casing railway-yard-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-yard-1-core"/>
+									<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core railway-yard-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+							</else>
+						</else>
+					</else>
+				</else>
+				<line class="railway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+		</rule>
+		
+		<!-- highway motorway-junctions -->
+		<rule e="node" k="highway" v="motorway_junction">
+			<circle r="2.25" class="highway-motorway-junction"/>
+			<caption k="name" class="highway-motorway-junction-caption" dy="-2px"/>
+			<caption k="ref" class="highway-motorway-junction-caption" dy="+6px"/>
+		</rule>
+		
+		<!-- Linear cores (under construction) -->
+		<rule e="way" k="highway" v="construction">
+			<rule e="way" k="construction" v="steps">
+				<line class="highway-core highway-steps-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="footway|footpath">
+				<line class="highway-core highway-footway-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="pedestrian">
+				<line class="highway-core highway-pedestrian-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="cycleway">
+				<line class="highway-core highway-cycleway-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="highway-core highway-cycleway-core under-construction"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="highway-core highway-bridleway-core under-construction"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-footway-core under-construction"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="construction" v="bridleway">
+				<line class="highway-core highway-bridleway-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="byway">
+				<line class="highway-core highway-byway-1-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="track">
+				<line class="highway-core highway-track-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="unsurfaced">
+				<line class="highway-core highway-unsurfaced-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="service">
+				<line class="highway-core highway-service-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="unclassified|residential|minor|living_street|cycleroad">
+				<line class="highway-core highway-unclassified-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="~|road|yes">
+				<line class="highway-core highway-road-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary_link">
+				<line class="highway-core highway-tertiary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary">
+				<line class="highway-core highway-tertiary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary_link">
+				<line class="highway-core highway-secondary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary">
+				<line class="highway-core highway-secondary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="primary_link">
+				<line class="highway-core highway-primary-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk_link">
+				<line class="highway-core highway-trunk-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway_link">
+				<line class="highway-core highway-motorway-link-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="primary">
+				<line class="highway-core highway-primary-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk">
+				<line class="highway-core highway-trunk-core under-construction"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway">
+				<line class="highway-core highway-motorway-core under-construction"/>
+			</rule>
+		</rule>
+		
+		
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="highway" v="motorway|motorway_link|footway|steps|pedestrian|living_street|construction|planned|proposed|disused|abandoned|dismantled">
+			</rule>
+			<else>
+				<rule e="way" k="bicycle" v="no">
+					<rule e="way" k="motorroad" v="yes">
+					</rule>
+					<else>
+						<line class="highway-nobicycle-3" smart-linecap="no" />
+					</else>
+				</rule>
+			</else>
+		</rule>
+
+		<!-- access restrictions -->
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="construction|planned|disused|abandoned|proposed" v="yes|true">
+				<line class="wrong-under-construction" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="area" v="yes|true">
+				<rule e="way" k="access" v="private">
+					<area class="access-private-area"/>
+				</rule>
+				<rule e="way" k="access" v="permissive">
+					<area class="access-permissive-area"/>
+				</rule>
+				<rule e="way" k="access" v="destination">
+					<area class="access-destination-area"/>
+				</rule>
+				<rule e="way" k="access" v="no">
+					<area class="access-no-area"/>
+				</rule>
+			</rule>
+			<else>
+				<rule e="way" k="highway" v="footway|footpath|cycleway|path|bridleway|byway|unsurfaced">
+					<rule e="way" k="access" v="private">
+						<line class="access-private-line" smart-linecap="no"/>
+					</rule>
+					<rule e="way" k="access" v="permissive">
+						<line class="access-permissive-line" smart-linecap="no"/>
+					</rule>
+					<rule e="way" k="access" v="destination">
+						<line class="access-destination-line" smart-linecap="no"/>
+					</rule>
+					<rule e="way" k="access" v="no">
+						<line class="access-no-line" smart-linecap="no"/>
+					</rule>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="track">
+						<rule e="way" k="tracktype" v="grade3|grade4|grade5">
+							<rule e="way" k="access" v="private">
+								<line class="access-private-line" smart-linecap="no"/>
+							</rule>
+							<rule e="way" k="access" v="permissive">
+								<line class="access-permissive-line" smart-linecap="no"/>
+							</rule>
+							<rule e="way" k="access" v="destination">
+								<line class="access-destination-line" smart-linecap="no"/>
+							</rule>
+							<rule e="way" k="access" v="no">
+								<line class="access-no-line" smart-linecap="no"/>
+							</rule>
+						</rule>
+						<else>
+							<rule e="way" k="access" v="private">
+								<line class="access-private-line"/>
+							</rule>
+							<rule e="way" k="access" v="permissive">
+								<line class="access-permissive-line"/>
+							</rule>
+							<rule e="way" k="access" v="destination">
+								<line class="access-destination-line"/>
+							</rule>
+							<rule e="way" k="access" v="no">
+								<line class="access-no-line"/>
+							</rule>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="access" v="private">
+							<line class="access-private-line"/>
+						</rule>
+						<rule e="way" k="access" v="permissive">
+							<line class="access-permissive-line"/>
+						</rule>
+						<rule e="way" k="access" v="destination">
+							<line class="access-destination-line"/>
+						</rule>
+						<rule e="way" k="access" v="no">
+							<line class="access-no-line"/>
+						</rule>
+					</else>
+				</else>
+			</else>
+		</rule>
+		
+		<!-- Mini-roundabouts -->
+		<rule e="node" k="highway" v="mini_roundabout">
+			<rule e="node" k="direction" v="clockwise">
+				<symbol ref="roundabout_left" position="center" transform="scale(0.83)"/>
+			</rule>
+			<else>
+				<!-- Default is anti-clockwise -->
+				<symbol ref="roundabout_right" position="center" transform="scale(0.83)"/>
+			</else>
+		</rule>
+		
+		<!-- Oneway markers -->
+		<rule e="way" k="tunnel" v="~|false|no">
+			<rule e="way" k="area" v="~|false|no">
+				<rule e="way" k="highway" v="*">
+					<rule e="way" k="oneway" v="1|yes|true">
+						<rule e="way" k="cycleway" v="opposite|opposite_track|opposite_lane">
+							<line class="oneway-exclcycle-casing oneway-casing-1" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-2" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-3" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-4" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-5" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-6" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-7" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-8" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-1" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-2" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-3" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-4" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-5" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-6" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-7" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="oneway-casing oneway-casing-1" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-2" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-3" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-4" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-5" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-6" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-7" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-8" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-1" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-2" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-3" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-4" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-5" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-6" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-7" smart-linecap="no"/>
+						</else>
+					</rule>
+					<rule e="way" k="oneway" v="-1">
+						<rule e="way" k="cycleway" v="opposite|opposite_track|opposite_lane">
+							<line class="oneway-exclcycle-casing oneway-casing-r1" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r2" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r3" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r4" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r5" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r6" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r7" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r8" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r1" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r2" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r3" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r4" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r5" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r6" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r7" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="oneway-casing oneway-casing-r1" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r2" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r3" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r4" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r5" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r6" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r7" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r8" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r1" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r2" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r3" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r4" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r5" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r6" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r7" smart-linecap="no"/>
+						</else>
+					</rule>
+				</rule>				<!-- Motorway implies oneway-ness -->
+				<rule e="way" k="highway" v="motorway|motorway_link">
+					<rule e="way" k="oneway" v="~|yes|true|1">
+						<line class="oneway-casing oneway-casing-1" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-2" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-3" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-4" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-5" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-6" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-7" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-8" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-1" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-2" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-3" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-4" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-5" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-6" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-7" smart-linecap="no"/>
+					</rule>
+				</rule>
+				<!-- Roundabouts are oneway in the direction of the segments -->
+				<rule e="way" k="junction" v="roundabout">
+					<line class="oneway-casing oneway-casing-1" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-2" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-3" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-4" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-5" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-6" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-7" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-8" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-1" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-2" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-3" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-4" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-5" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-6" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-7" smart-linecap="no"/>
+				</rule>
+			</rule>
+		</rule>
+		
+		<!-- SAC scale for paths and footways -->
+		<rule e="way" k="highway" v="path|footway">
+			<rule e="way" k="sac_scale" v="hiking|t1|T1">
+				<line class="sac-scale-t1" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="sac_scale" v="mountain_hiking|t2|T2">
+				<line class="sac-scale-t2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="sac_scale" v="demanding_mountain_hiking|t3|T3">
+				<line class="sac-scale-t3" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="sac_scale" v="alpine_hiking|t4|T4">
+				<line class="sac-scale-t4" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="sac_scale" v="demanding_alpine_hiking|t5|T5">
+				<line class="sac-scale-t5" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="sac_scale" v="difficult_alpine_hiking|t6|T6">
+				<line class="sac-scale-t6" smart-linecap="no"/>
+			</rule>
+		</rule>
+		
+		<!-- Piste maps: -->
+		<!-- Piste areas -->
+		<rule e="way" k="piste:type" v="downhill" closed="yes">
+			<rule e="way" k="piste:difficulty" v="novice">
+				<line class="piste-area piste-area-difficulty-novice" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="easy">
+				<line class="piste-area piste-area-difficulty-easy" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="intermediate">
+				<line class="piste-area piste-area-difficulty-intermediate" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="advanced">
+				<line class="piste-area piste-area-difficulty-advanced" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="expert">
+				<line class="piste-area piste-area-difficulty-expert" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="freeride">
+				<line class="piste-area piste-area-difficulty-freeride" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="~">
+				<line class="piste-area piste-area-difficulty-other" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="name|ref" v="*">
+				<!-- prefer to render name, otherwise render ref -->
+				<rule e="way" k="name" v="~">
+					<rule e="way" k="ref" v="*">
+						<areaText k="ref" dy="0px" class="piste-downhill-ref" text-anchor="middle"/>
+					</rule>
+				</rule>
+				<else>
+					<rule e="way" k="ref" v="*">
+						<areaText k="ref" dy="-3px" class="piste-downhill-ref" text-anchor="middle"/>
+					</rule>
+					<rule e="way" k="name" v="*">
+						<areaText k="name" dy="3px" class="piste-downhill-name-casing" text-anchor="middle"/>
+						<areaText k="name" dy="3px" class="piste-downhill-name" text-anchor="middle"/>
+					</rule>
+				</else>
+			</rule>
+		</rule>
+		<!-- piste ways -->
+		<rule e="way" k="piste:type" v="downhill" closed="no">
+			<rule e="way" k="piste:difficulty" v="novice">
+				<line class="piste-core piste-difficulty-novice" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="easy">
+				<line class="piste-core piste-difficulty-easy" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="intermediate">
+				<line class="piste-core piste-difficulty-intermediate" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="advanced">
+				<line class="piste-core piste-difficulty-advanced" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="expert">
+				<line class="piste-core piste-difficulty-expert" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="freeride">
+				<line class="piste-core piste-difficulty-freeride" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="~">
+				<line class="piste-core piste-difficulty-other" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="name|ref" v="*">
+				<!-- prefer to render name, otherwise render ref -->
+				<!-- text is rendered at 75%, refs at 25%, aerialway name at 50% -->
+				<rule e="way" k="name" v="~">
+					<rule e="way" k="ref" v="*">
+						<pathText k="ref" dy="2px" class="piste-downhill-ref" text-anchor="middle" startOffset="75%"/>
+					</rule>
+				</rule>
+				<else>
+					<rule e="way" k="ref" v="*">
+						<pathText k="ref" dy="2px" class="piste-downhill-ref" text-anchor="middle" startOffset="25%"/>
+					</rule>
+					<rule e="way" k="name" v="*">
+						<pathText k="name" dy="2px" class="piste-downhill-name" text-anchor="middle" startOffset="75%"/>
+					</rule>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="piste:type" v="sled">
+			<line class="piste-type-sled"/>
+		</rule>
+		<rule e="way" k="piste:type" v="nordic">
+			<line smart-linecap="no" class="piste-type-nordic"/>
+		</rule>
+		<rule e="way" k="man_made" v="piste:halfpipe">
+			<area class="man-made-piste-halfpipe"/>
+			<symbol ref="man-made-halfpipe" position="center"/>
+		</rule>
+		
+		<!-- Surface lifts (render over pistes) -->
+		<rule e="way" k="piste:lift" v="*">
+			<rule e="way" k="piste:lift" v="t-bar|j-bar|platter">
+				<line smart-linecap="no" class="aerialway-line piste-lift-t-bar-marker no-bezier"/>
+				<line smart-linecap="no" class="aerialway-struts"/>
+			</rule>
+			<rule e="way" k="piste:lift" v="rope_tow">
+				<line smart-linecap="no" class="piste-lift-rope-tow no-bezier"/>
+			</rule>
+			<rule e="way" k="piste:lift" v="magic_carpet">
+				<line smart-linecap="no" class="piste-lift-magic-carpet no-bezier"/>
+			</rule>
+			<rule e="way" k="name" v="*">
+				<pathText k="name" dx="0px" dy="-3px" class="aerialway-name" text-anchor="middle" startOffset="50%"/>
+			</rule>
+		</rule>
+		
+		<!-- Aerialways (render over pistes) -->
+		<rule e="node|way" k="aerialway" v="*">
+			<rule e="way" k="aerialway" v="cable_car">
+				<line class="aerialway-line aerialway-cablecar-marker no-bezier" smart-linecap="no"/>
+			</rule>
+			<else>
+				<rule e="way" k="aerialway" v="gondola">
+					<line class="aerialway-line aerialway-gondola-marker no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="aerialway" v="chair_lift">
+						<rule e="way" k="piste:lift:occupancy" v="4|5|6">
+							<line class="aerialway-line aerialway-chairlift4-marker no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="aerialway-line aerialway-chairlift2-marker no-bezier" smart-linecap="no"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="aerialway" v="mixed_lift">
+							<line class="aerialway-line aerialway-mixedlift-marker no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="aerialway" v="*">
+								<line class="aerialway-line no-bezier" smart-linecap="no"/>
+							</rule>
+						</else>
+					</else>
+				</else>
+			</else>
+			<line smart-linecap="no" class="aerialway-struts no-bezier"/>
+			<rule e="node" k="aerialway" v="station">
+				<circle r="1px" class="aerialway-station"/>
+			</rule>
+			<rule e="node" s="way" k="aerialway" v="*">
+				<rule e="node" k="ele" v="*">
+					<caption k="ele" dx="0px" dy="-2px" class="aerialway-elevation-text"/>
+				</rule>
+			</rule>
+			<rule e="way" k="name" v="*">
+				<pathText k="name" dx="0px" dy="-3px" class="aerialway-name" text-anchor="middle" startOffset="50%"/>
+			</rule>
+		</rule>
+		
+		<!-- Natural features -->
+		<rule e="node" k="natural" v="peak">
+			<symbol ref="peak" position="center"/>
+		</rule>
+		<rule e="node" k="natural" v="volcano">
+			<symbol ref="vulcan" position="center"/>
+		</rule>
+		<rule e="node" k="tourism" v="viewpoint">
+			<symbol ref="viewpoint" position="center"/>
+		</rule>
+		<rule e="node" k="natural" v="cave_entrance">
+			<symbol ref="cave_entrance" position="center"/>
+		</rule>
+		<rule e="node" k="mountain_pass" v="yes" layer="-5">
+			<rule e="node" s="way" k="highway|track" v="path|secondary|track|unclassified|tertiary|primary|footway|unclassified|trunk|service|motorway|residential|bridleway|road|cycleway">
+				<wayMarker k="highway" class="mountain_pass" layer="-5"/>
+			</rule>
+			<else>
+				<symbol ref="mountain_pass" position="center" layer="-5"/>
+			</else>
+		</rule>
+		
+		<!-- Draw marine features -->
+		<rule e="way" k="man_made" v="breakwater" closed="yes">
+			<line class="breakwater-area"/>
+		</rule>
+		<rule e="way" k="man_made" v="breakwater" closed="no">
+			<line class="breakwater"/>
+		</rule>
+		<rule e="way" k="man_made" v="pier" closed="yes">
+			<line class="artificial-pier-area"/>
+		</rule>
+		<rule e="way" k="man_made" v="pier" closed="no">
+			<line class="artificial-pier-casing"/>
+		</rule>
+		<rule e="way" k="man_made" v="pier" closed="no">
+			<line class="artificial-pier-core"/>
+		</rule>
+		
+		<!-- Power lines and pylons -->
+		<rule e="way" k="power" v="line">
+			<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+			<rule e="way" k="submarine|tunnel" v="yes">
+				<line class="power-line power-dash-tunnel no-bezier" smart-linecap="no"/>
+			</rule>
+			<else>
+				<rule e="way" k="location" v="underground|submarine">
+					<line class="power-line power-dash-tunnel no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<line class="power-line power-dash no-bezier" smart-linecap="no"/>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="power" v="minor_line">
+			<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+			<rule e="way" k="submarine|tunnel" v="yes">
+				<line class="power-minor-line minor-dash-tunnel no-bezier" smart-linecap="no"/>
+			</rule>
+			<else>
+				<rule e="way" k="location" v="underground|submarine">
+				</rule>
+					<line class="power-minor-line minor-dash-tunnel no-bezier" smart-linecap="no"/>
+				<else>
+					<line class="power-minor-line minor-dash no-bezier" smart-linecap="no"/>
+				</else>
+			</else>
+		</rule>
+		<rule e="node|way" k="power" v="tower">
+			<symbol ref="power-tower" position="center"/>
+		</rule>
+		<rule e="node|way" k="power" v="pole">
+			<symbol ref="power-pole" position="center"/>
+		</rule>
+
+		<!-- Power generators -->
+		<rule e="node" k="power" v="generator">
+			<rule e="node" k="power_source" v="wind">
+				<symbol ref="power_wind" position="center"/>
+			</rule>
+			<else>
+				<rule e="node" k="power_source" v="hydro">
+					<symbol ref="power_hydro" position="center"/>
+				</rule>
+				<else>
+					<rule e="node" k="power_source" v="photovoltaic">
+						<symbol ref="power_photovoltaic" position="center"/>
+					</rule>
+					<else>
+						<symbol ref="power_generic" position="center"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="power" v="generator">
+			<rule e="way" k="power_source" v="wind">
+				<area class="power-wind"/>
+			</rule>
+			<else>
+				<rule e="way" k="power_source" v="hydro">
+					<area class="power-hydro"/>
+				</rule>
+				<else>
+					<rule e="way" k="power_source" v="photovoltaic">
+						<area class="power-photovoltaic"/>
+					</rule>
+					<else>
+						<area class="power-generic"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+
+		<!-- Electrical substations -->
+		<rule e="way" k="power" v="station|sub_station">
+			<area class="power-generic"/>
+		</rule>
+
+		<!-- Pipelines -->
+		<rule e="way" k="communication" v="line">
+			<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+			<rule e="way" k="submarine|tunnel" v="yes">
+				<line class="communication-line pipeline-dash-tunnel no-bezier" smart-linecap="no"/>
+			</rule>
+			<else>
+				<rule e="way" k="location" v="underground|submarine">
+					<line class="communication-line pipeline-dash-tunnel no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<line class="communication-line pipeline-dash no-bezier" smart-linecap="no"/>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="man_made" v="pipeline">
+			<rule e="way" k="type" v="water">
+				<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+				<rule e="way" k="location" v="overground">
+					<line class="pipeline-water pipeline-dash no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<line class="pipeline-water pipeline-dash-tunnel no-bezier" smart-linecap="no"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="type" v="oil">
+					<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+					<rule e="way" k="location" v="overground">
+						<line class="pipeline-oil pipeline-dash no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<line class="pipeline-oil pipeline-dash-tunnel no-bezier" smart-linecap="no"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="type" v="gas|natural_gas">
+						<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+						<rule e="way" k="location" v="overground">
+							<line class="pipeline-gas pipeline-dash no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="pipeline-gas pipeline-dash-tunnel no-bezier" smart-linecap="no"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="type" v="sewage">
+							<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+							<rule e="way" k="location" v="overground">
+								<line class="pipeline-sewage pipeline-dash no-bezier" smart-linecap="no"/>
+							</rule>
+							<else>
+								<line class="pipeline-sewage pipeline-dash-tunnel no-bezier" smart-linecap="no"/>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="type" v="hot_water|heat">
+								<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+								<rule e="way" k="location" v="overground">
+									<line class="pipeline-heat pipeline-dash no-bezier" smart-linecap="no"/>
+								</rule>
+								<else>
+									<line class="pipeline-heat pipeline-dash-tunnel no-bezier" smart-linecap="no"/>
+								</else>
+							</rule>
+							<else>
+								<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+								<rule e="way" k="location" v="overground">
+									<line class="pipeline-unknown pipeline-dash no-bezier" smart-linecap="no"/>
+								</rule>
+								<else>
+									<line class="pipeline-unknown pipeline-dash-tunnel no-bezier" smart-linecap="no"/>
+								</else>
+							</else>
+						</else>
+					</else>
+				</else>
+			</else>
+		</rule>
+		
+		<!-- Non-physical routes -->
+		<rule e="way" k="route" v="ferry">
+			<line class="route-ferry"/>
+		</rule>
+		
+		<!-- platforms nodes -->
+		<rule e="node" k="highway|railway|public_transport" v="platform">
+			<circle r="0.6px" class="highway-platform-node" />
+		</rule>
+
+		<!-- Railway stations -->
+		<rule e="node" k="railway" v="station">
+			<rule e="node" s="way" k="railway" v="rail">
+				<circle r="1.5" class="railway-station"/>
+			</rule>
+			<else>
+				<circle r="1" class="railway-halt"/>
+			</else>
+		</rule>
+		<rule e="node" k="railway" v="halt">
+			<circle r="1" class="railway-halt"/>
+		</rule>
+		
+		<!-- tram stops -->
+		<rule e="node" k="railway" v="tram_stop">
+			<circle r="1" class="railway-halt"/>
+		</rule>
+		
+		<!-- Level crossings -->
+		<!-- If tagged explicitly -->
+		<rule e="node" k="railway" v="level_crossing">
+			<symbol ref="railway-crossing" position="center"/>
+		</rule>
+		<rule e="node" k="railway" v="crossing">
+			<symbol ref="railway-crossing-small" position="center"/>
+		</rule>
+
+		<!-- For everything, except trams, if it shares a node with a road then render a railroad crossing symbol. 
+			not feasible
+			beware for historic reasons and as example fpr s="..."
+		else
+			rule e="node" s="way" k="railway" v="rail|light_rail|subway|narrow_gauge|preserved|monorail|incline|funicular"
+				rule e="node" s="way" k="railway" v="rail"
+					rule e="node" s="way" k="highway" v="motorway|trunk|primary|secondary|tertiary|minor|unclassified|residential|service|unsurfaced|track|living_street|cycleroad|road|cycleway|path|footway"
+						symbol ref="railway-crossing-small" position="center"
+					/rule
+				/rule
+			/rule
+		/else
+		-->
+
+		<!-- Barriers -->
+		<rule e="way" k="barrier" v="bollard|hedge|fence|wall|retaining_wall|city_wall">
+			<rule e="way" k="barrier" v="bollard">
+				<line class="barrier barrier-bollard"/>
+			</rule>
+			<rule e="way" k="barrier" v="hedge">
+				<line class="barrier barrier-hedge-1"/>
+				<line class="barrier barrier-hedge-2"/>
+			</rule>
+			<rule e="way" k="barrier" v="fence">
+				<line class="barrier barrier-fence-1"/>
+				<line class="barrier barrier-fence-2"/>
+			</rule>
+			<rule e="way" k="barrier" v="wall">
+				<line class="barrier barrier-wall"/>
+			</rule>
+			<rule e="way" k="barrier" v="retaining_wall">
+				<line class="barrier barrier-retaining-wall-1"/>
+				<line class="barrier barrier-retaining-wall-2"/>
+			</rule>
+			<rule e="way" k="barrier" v="city_wall">
+				<rule e="way" k="two_sided" v="yes">
+					<line class="barrier barrier-city-wall-ts-1"/>
+					<line class="barrier barrier-city-wall-ts-2"/>
+				</rule>
+				<else>
+					<!-- We can't move the dot of to one side yet -->
+					<line class="barrier barrier-city-wall-1"/>
+					<line class="barrier barrier-city-wall-2"/>
+				</else>
+			</rule>
+		</rule>
+		<else>
+			<rule e="way" k="barrier">
+				<line class="barrier"/>
+			</rule>
+		</else>
+
+		<rule e="node" k="noexit:foot" v="yes|true">
+			<wayMarker k="highway" class="noexit-all"/>
+		</rule>
+		<else>
+			<rule e="node" k="noexit:bicycle|noexit:vehicle" v="yes|true">
+				<wayMarker k="highway" class="noexit-veh"/>
+			</rule>
+			<else>
+				<rule e="node" k="noexit:motor_bicycle|noexit:motorcar|noexit:hgv|noexit:goods" v="yes|true">
+					<wayMarker k="highway" class="noexit-mot"/>
+				</rule>
+				<else>
+
+
+					<rule e="node" k="noexit" v="yes|true">
+						<wayMarker k="highway" class="noexit-all"/>
+					</rule>
+					<rule e="node" k="noexit" v="vehicle">
+						<wayMarker k="highway" class="noexit-veh"/>
+					</rule>
+					<rule e="node" k="noexit" v="motor_vehicle|motorcar">
+						<wayMarker k="highway" class="noexit-mot"/>
+					</rule>
+					<rule e="node" k="noexit" v="no|false">
+						<wayMarker k="highway" class="noexit-no"/>
+					</rule>
+
+				</else>
+			</else>
+		</else>
+		<rule e="node" k="FIXME|fixme" v="continue|continuation">
+			<wayMarker k="highway" class="noexit-no"/>
+		</rule>
+		<rule e="node" k="railway" v="buffer_stop">
+			<wayMarker k="railway" class="noexit-rail"/>
+		</rule>
+
+		<rule e="node" k="barrier|highway" v="gate|lift_gate">
+			<rule e="node" k="status" v="open">
+				<wayMarker k="highway" class="gate-open"/>
+			</rule>
+			<else>
+				<rule e="node" k="status" v="locked">
+					<wayMarker k="highway" class="gate-locked"/>
+				</rule>
+				<else>
+					<wayMarker k="highway" class="gate-closed"/>
+				</else>
+			</else>
+		</rule>
+		<rule e="node" k="highway|barrier" v="bollard">
+			<circle r='0.3px' class='bollard' />
+		</rule>
+		<rule e="node" k="barrier" v="cycle_barrier|chicane">
+			<wayMarker k="highway" class="chicane"/>
+		</rule>
+
+		<!-- Traffic calming -->
+		<rule e="node" k="traffic_calming" v="*">
+			<wayMarker k="highway" class="traffic-calming"/>
+		</rule>
+		
+		<!-- Bus stops -->
+		<rule e="node|way" k="highway" v="bus_stop">
+			<symbol ref="bus" position="center"/>
+		</rule>
+		<!-- bus stations -->
+		<rule e="node|way" k="amenity" v="bus_station">
+			<symbol ref="bus_sta" position="center"/>
+		</rule>
+		<!-- subway entrance -->
+		<rule e="node|way" k="railway" v="subway_entrance">
+			<symbol ref="subway" position="center"/>
+		</rule>
+		<!-- Amenities -->
+		<rule e="node|way" k="amenity" v="hospital">
+			<symbol ref="hospital" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="speed_trap">
+			<symbol ref="speed_trap" position="center"/>
+		</rule>
+		<rule e="node|way" k="tourism" v="alpine_hut">
+			<symbol ref="alpine_hut" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="shelter">
+			<rule e="node|way" k="fireplace" v="yes">
+				<symbol ref="shelter-fireplace" position="center"/>
+			</rule>
+			<else>
+				<symbol ref="shelter" position="center"/>
+			</else>
+		</rule>
+		<rule e="node|way" k="amenity" v="fountain">
+			<symbol ref="fountain" position="center"/>
+		</rule>
+		
+		<!-- ==================================== Layer -5 ======================================== -->
+		
+		<!-- Access restrictions for areas -->
+		<rule e="way" k="landuse" v="conservation" layer="-5">
+			<rule e="way" k="access" v="private" layer="-5">
+				<area class="access-private-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="permissive" layer="-5">
+				<area class="access-permissive-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="destination" layer="-5">
+				<area class="access-destination-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="no" layer="-5">
+				<area class="access-no-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="leisure" v="park" layer="-5">
+			<rule e="way" k="access" v="private" layer="-5">
+				<area class="access-private-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="permissive" layer="-5">
+				<area class="access-permissive-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="destination" layer="-5">
+				<area class="access-destination-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="no" layer="-5">
+				<area class="access-no-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="leisure" v="recreation_ground" layer="-5">
+			<rule e="way" k="access" v="private" layer="-5">
+				<area class="access-private-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="permissive" layer="-5">
+				<area class="access-permissive-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="destination" layer="-5">
+				<area class="access-destination-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="no" layer="-5">
+				<area class="access-no-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+		</rule>
+
+		<!-- Landuse -->
+		<rule e="way" k="landuse" v="residential|farmyard" layer="-5">
+			<area class="landuse-residential" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="retail" layer="-5">
+			<area class="landuse-retail" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="industrial|brownfield|railway" layer="-5">
+			<area class="landuse-industrial" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="commercial" layer="-5">
+			<area class="landuse-commercial" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="construction|greenfield" layer="-5">
+			<area class="landuse-construction" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="garages" layer="-5">
+			<area class="landuse-garages" layer="-5"/>
+		</rule>
+		
+		<!-- Artificial landuse -->
+		<rule e="way" k="amenity" v="kindergarten|school|college|university" layer="-5">
+			<area class="amenity-school" layer="-5"/>
+		</rule>
+		
+		<!-- Man-made areas -->
+		<rule e="way" k="landuse" v="military" layer="-5">
+			<rule e="way" k="military" v="~" layer="-5">
+				<area class="military-area" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="military" v="*" layer="-5">
+			<area class="military-area" layer="-5"/>
+		</rule>
+		
+		<!-- ==================================== Layer 5 ======================================== -->
+		
+		<!-- Non-physical boundaries -->
+		<rule e="way" k="boundary" v="administrative" layer="5">
+			<rule e="way" k="admin_level" v="1|2|3|4|5|6|7|8|9|10" layer="5">
+				<rule e="way" k="admin_level" v="10" layer="5">
+					<line class="boundary boundary-level-10-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="9" layer="5">
+					<line class="boundary boundary-level-9-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="8" layer="5">
+					<line class="boundary boundary-level-8-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="7" layer="5">
+					<line class="boundary boundary-level-7-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="6" layer="5">
+					<line class="boundary boundary-level-6-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="5" layer="5">
+					<line class="boundary boundary-level-5-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="4" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="3" layer="5">
+					<line class="boundary boundary-level-3-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="2" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="1" layer="5">
+					<line class="boundary boundary-level-1-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-1-core no-bezier" layer="5"/>
+				</rule>
+			</rule>
+			<!-- If we don't have explicit admin_level then guess -->
+			<else>
+				<rule e="way" k="border_type" v="suburb" layer="5">
+					<line class="boundary boundary-level-10-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="municipality|city" layer="5">
+					<line class="boundary boundary-level-8-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="county|district" layer="5">
+					<line class="boundary boundary-level-6-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="region|state" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="nation|country" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+			</else>
+		</rule>
+		<rule e="way" k="boundary" v="national_park" layer="5">
+			<line class="boundary boundary-nationalpark-core no-bezier" layer="5"/>
+		</rule>
+		
+		<!-- Waterway and Street names -->
+		<rule e="way" k="osmarender:renderName" v="~|yes" layer="5">
+			<rule e="way" k="tunnel" v="~|no|false" layer="5"> <!-- no names in tunnels -->
+				<rule e="way" k="area" v="~|no|false" layer="5"> <!-- area names are done elsewhere -->
+					<rule e="way" k="junction" v="~" layer="5"> <!-- no names on or along junctions -->
+						<!-- Waterway names -->
+						<rule e="way" k="lock_name" v="~" layer="5"> <!-- locks get their name below -->
+							<rule e="way" k="waterway" v="ditch" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-ditch-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-ditch-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="drain" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-drain-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-drain-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="canal" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-canal-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-canal-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="stream" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-stream-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-stream-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="river" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-river-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-river-name-core" dy="0.5px" layer="5"/>
+							</rule>
+						</rule>
+						<else> <!-- names on locks -->
+							<rule e="way" k="waterway" v="canal" layer="5">
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-casing waterway-canal-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-core waterway-canal-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="stream" layer="5">
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-casing waterway-stream-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-core waterway-stream-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="river" layer="5">
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-casing waterway-river-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-core waterway-river-name-core" dy="0.5px" layer="5"/>
+							</rule>
+						</else>
+						
+						<!-- Scramble names -->
+						<rule e="way" k="scramble" v="*" layer="5">
+							<pathText k="name" startOffset="50%" class="caption-casing highway-scramble-name" dy="0.7px" layer="5"/>
+							<pathText k="name" startOffset="50%" class="caption-core highway-scramble-name" dy="0.7px" layer="5"/>
+						</rule>
+						
+						<!-- Highway names -->
+						<rule e="way" k="highway" v="steps" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-steps-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="footway|footpath" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-footway-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="pedestrian" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-pedestrian-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="cycleway" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-cycleway-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="path" layer="5">
+							<rule e="way" k="bicycle" v="yes|designated" layer="5">
+								<pathText k="name" startOffset="50%" class="highway-name highway-cycleway-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+							</rule>
+							<else>
+								<rule e="way" k="horse" v="yes|designated" layer="5">
+									<pathText k="name" startOffset="50%" class="highway-name highway-bridleway-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+								</rule>
+								<else>
+									<pathText k="name" startOffset="50%" class="highway-name highway-footway-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+								</else></else>
+						</rule>
+						<rule e="way" k="highway" v="bridleway" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-bridleway-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="byway" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-byway-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="track" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-track-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="unsurfaced" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-unsurfaced-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="service" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-service-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad|road" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-unclassified-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="tertiary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-tertiary-link-name" dy="1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="tertiary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-tertiary-name" dy="1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="secondary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-secondary-link-name" dy="1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="secondary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-secondary-name" dy="1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="primary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-primary-link-name" dy="1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="trunk_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-trunk-link-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="motorway_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-motorway-link-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="primary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-primary-name" dy="1px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="trunk" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-trunk-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="motorway" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-motorway-name" dy="0.7px" layer="5" avoid-duplicates="true" />
+						</rule>
+					</rule>
+					
+					<rule e="way" k="junction" v="*" notConnectedSameTag="name" layer="5"> <!-- Roundabouts, motorway exits etc -->
+						<rule e="way" k="highway" v="secondary|secondary_link" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-secondary-name" dy="2px" layer="5"/>
+						</rule>
+						<rule e="way" k="highway" v="primary|primary_link" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-primary-name" dy="2px" layer="5"/>
+						</rule>
+						<rule e="way" k="highway" v="trunk|trunk_link" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-trunk-name" dy="3px" layer="5"/>
+						</rule>
+						<rule e="way" k="highway" v="motorway|motorway_link" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-motorway-name" dy="3px" layer="5"/>
+						</rule>
+					</rule>
+				</rule>
+				<else> <!-- area!=yes -->
+					<rule e="way" k="highway" v="*" notConnectedSameTag="name" layer="5">
+						<caption k="name" class="caption-casing generic-caption-casing" text-anchor="middle" startOffset="50%" layer="5"/>
+						<caption k="name" class="caption-core generic-caption-core" text-anchor="middle" startOffset="50%" layer="5"/>
+					</rule>
+				</else>
+			</rule>
+			<rule e="way" k="natural" v="*" minSize="0.008" layer="5">
+				<caption k="name" class="caption-casing largefeature-caption-casing" text-anchor='middle' startOffset='50%' layer="1"/>
+				<caption k="name" class="caption-core largefeature-caption-core" text-anchor='middle' startOffset='50%' layer="1"/>
+			</rule>
+			<!-- Add landuse names, e.g. to display names of forest parcels teinted by a large wooden area -->
+			<rule e="way" k="landuse" v="allotments|basin|brownfield|cemetery|commercial|construction|farm|farmyard|farmland|forest|garages|grass|greenfield|greenhouse_horticulture|industrial|landfill|meadow|military|orchard|quarry|railway|recreation_ground|reservoir|retail|salt_pond|street|village_green|vineyard" minSize="0.008" layer="5">
+				<caption k="name" class="caption-casing largefeature-caption-casing" text-anchor='middle' startOffset='50%' dx="0px" dy="0px" layer="1"/>
+				<caption k="name" class="caption-core largefeature-caption-core" text-anchor='middle' startOffset='50%' dx="0px" dy="0px" layer="1"/>
+			</rule>
+		</rule>
+
+		<!-- Road numbers for all highways -->
+		<rule e="way" k="osmarender:renderRef" v="~|yes" layer="5">
+			<rule e="way" k="tunnel" v="~|no|false" layer="5"> <!-- no road numbers in tunnels -->
+				<rule e="way" k="junction" v="~" layer="5"> <!-- no ref on junctions / roundabouts -->
+					<!-- Use startOffset to prevent captions from colliding on dual carriageways -->
+					<rule e="way" k="highway" v="steps" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-steps-ref" dy="-1px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="footway|footpath" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-footway-ref" dy="-1px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="pedestrian" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-pedestrian-ref" dy="-2px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="cycleway" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-cycleway-ref" dy="-1.6px" layer="5" avoid-duplicates="true" />
+						<pathText k="ncn_ref" startOffset="60%" class="highway-ref highway-cycleway-ref" dy="-1.6px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="path" layer="5">
+						<rule e="way" k="bicycle" v="yes|designated" layer="5">
+							<pathText k="ref" startOffset="30%" class="highway-ref highway-cycleway-ref" dy="-0.8px" layer="5" avoid-duplicates="true" />
+							<pathText k="ncn_ref" startOffset="60%" class="highway-ref highway-cycleway-ref" dy="-0.8px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<else>
+							<rule e="way" k="horse" v="yes|designated" layer="5">
+								<pathText k="ref" startOffset="30%" class="highway-ref highway-bridleway-ref" dy="-0.8px" layer="5" avoid-duplicates="true" />
+							</rule>
+							<else>
+								<pathText k="ref" startOffset="30%" class="highway-ref highway-footway-ref" dy="-0.5px" layer="5" avoid-duplicates="true" />
+							</else></else>
+					</rule>
+					<rule e="way" k="highway" v="bridleway" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-bridleway-ref" dy="-1.6px" layer="5"/>
+					</rule>
+					<rule e="way" k="highway" v="byway" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-byway-ref" dy="-2px" layer="5"/>
+					</rule>
+					<rule e="way" k="highway" v="track" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-track-ref" dy="-2px" layer="5"/>
+					</rule>
+					<rule e="way" k="highway" v="unsurfaced" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-unsurfaced-ref" dy="-2px" layer="5"/>
+					</rule>
+					<rule e="way" k="highway" v="service" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-service-ref" dy="-2px" layer="5"/>
+					</rule>
+					<rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad|road" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-unclassified-ref" dy="-2.4px" layer="5"/>
+					</rule>
+					<rule e="way" k="highway" v="tertiary" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-tertiary-ref" dy="-2.5px" textAttenuation="1.5" layer="5"/>
+					</rule>
+					<rule e="way" k="highway" v="secondary" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-secondary-ref" dy="-2.5px" textAttenuation="1.5" layer="5"/>
+					</rule>
+					<rule e="way" k="highway" v="primary" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-primary-ref" dy="-2.5px" textAttenuation="1.5" layer="5"/>
+					</rule>
+					<rule e="way" k="highway" v="trunk" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-trunk-ref" dy="-2.5px" textAttenuation="1.5" layer="5"/>
+					</rule>
+					<rule e="way" k="highway" v="motorway" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-motorway-ref" dy="-3px" textAttenuation="1.5" layer="5"/>
+					</rule>
+				</rule>
+			</rule>
+		</rule>
+		
+		<!-- Place names  -->
+		<rule e="node|way" k="osmarender:renderName" v="~|yes" layer="5">
+			<rule e="node|way" k="natural" v="peak|volcano" layer="5">
+				<caption k="name" class="place-caption peak-caption" dy="-3px" layer="5"/>
+			</rule>
+			<rule e="node" k="mountain_pass" v="yes" layer="5">
+				<caption k="name" class="place-caption pass-caption" dy="-3px" layer="5"/>
+			</rule>
+			<rule e="node|way" k="natural" v="cave_entrance" layer="5">
+				<caption k="name" class="place-caption cave-caption" dy="-3px" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="island" layer="5">
+				<caption k="name" class="place-caption island-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="islet" layer="5">
+				<caption k="name" class="place-caption islet-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="village" layer="5">
+				<caption k="name" class="place-caption village-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="suburb" layer="5">
+				<caption k="name" class="place-caption suburb-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="hamlet" layer="5">
+				<caption k="name" class="place-caption hamlet-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="locality" layer="5">
+				<caption k="name" class="place-caption locality-caption" layer="5"/>
+			</rule>
+			<rule e="node" k="place" v="farm" layer="5">
+				<caption k="name" class="place-caption farm-caption" layer="5"/>
+			</rule>
+			<rule e="node|way" k="tourism" v="attraction" layer="5">
+				<rule e="way" k="highway" v="~">
+					<caption k="name" class="tourism-attraction-caption" layer="5"/>
+				</rule>
+			</rule>
+
+			<!-- platforms text -->
+			<rule e="way" k="highway|railway|public_transport" v="platform" closed="yes">
+				<caption k="ref" startOffset="50%" class="highway-platform-ref" dy="0.3px" layer="5" />
+			</rule>
+			<rule e="way" k="highway|railway|public_transport" v="platform" closed="no">
+				<caption k="ref" startOffset="50%" class="highway-platform-ref" dy="0.3px" layer="5" />
+			</rule>
+			<rule e="node" k="highway|railway|public_transport" v="platform">
+				<caption k="ref" startOffset="50%" class="highway-platform-ref" dy="0.3px" layer="5" />
+			</rule>
+
+			<rule e="node" k="railway" v="station" layer="5">
+				<rule e="node" s="way" k="railway" v="rail" layer="5">
+					<caption k="name" class="caption-casing railway-station-caption-casing" dy="-3px" layer="5"/>
+					<caption k="name" class="caption-core railway-station-caption-core" dy="-3px" layer="5"/>
+				</rule>
+				<else>
+					<caption k="name" class="caption-casing railway-halt-caption-casing" dy="-2px" layer="5"/>
+					<caption k="name" class="caption-core railway-halt-caption-core" dy="-2px" layer="5"/>
+				</else>
+			</rule>
+			<rule e="node|way" k="railway" v="halt" layer="5">
+				<caption k="name" class="caption-casing railway-halt-caption-casing" dy="-2px" layer="5"/>
+				<caption k="name" class="caption-core railway-halt-caption-core" dy="-2px" layer="5"/>
+			</rule>
+			<rule e="node|way" k="railway" v="tram_stop" layer="5">
+				<caption k="name" class="caption-casing railway-halt-caption-casing" dy="-2px" layer="5"/>
+				<caption k="name" class="caption-core railway-halt-caption-core" dy="-2px" layer="5"/>
+			</rule>
+			<rule e="node|way" k="aerialway" v="station" layer="5">
+				<caption k="name" class="caption-casing railway-halt-caption-casing" dy="-2px" layer="5"/>
+				<caption k="name" class="caption-core railway-halt-caption-core" dy="-2px" layer="5"/>
+			</rule>
+		</rule>
+	</rule>
+	
+	<!-- SVG Definitions - markers, symbols etc go here -->
+	<include ref="markers.xml"/>
+	<defs>
+		<style xmlns="http://www.w3.org/2000/svg" id="styles" type="text/css">
+			/* DO NOT DELETE - Used by osmarender.xsl */
+			.untagged-segments {
+			stroke-width: 0.5px;
+			stroke-linejoin: round;
+			stroke-linecap: butt;
+			stroke: #e0e0e0;
+			stroke-dasharray: 0.5,0.5;
+			}
+			
+			.canal-lock {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#canal-lock);
+			}
+			
+			.noexit-all {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#noexit-all);
+			}
+			.noexit-veh {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#noexit-veh);
+			}
+			.noexit-mot {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#noexit-mot);
+			}
+			.noexit-no {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#noexit-no);
+			}
+			.noexit-rail {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#noexit-rail);
+			}
+
+			.gate-locked {
+			fill: none;
+			stroke: red;
+			stroke-width: 2px;
+			stroke-opacity: 0;
+			marker-mid: url(#marker-gate-locked);
+			}
+			
+			.gate-closed {
+			fill: none;
+			stroke: red;
+			stroke-width: 2px;
+			stroke-opacity: 0;
+			marker-mid: url(#marker-gate-closed);
+			}
+			
+			.gate-open {
+			fill: none;
+			stroke: red;
+			stroke-width: 2px;
+			stroke-opacity: 0;
+			marker-mid: url(#marker-gate-open);
+			}
+			
+			.bollard {
+			fill: #707070;
+			stroke: none;
+			}
+			
+			.chicane {
+			fill: none;
+			stroke: red;
+			stroke-width: 2px;
+			stroke-opacity: 0;
+			marker-mid: url(#marker-chicane);
+			}
+
+			.traffic-calming {
+			fill: none;
+			stroke: red;
+			stroke-width: 2px;
+			stroke-opacity: 0;
+			marker-mid: url(#marker-traffic-calming);
+			}
+					
+			
+			/* Highways - generic styles */
+			.highway-casing {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.highway-core {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.highway-ref {
+			fill: #606060;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			text-anchor: middle;
+			}
+			
+			.highway-name {
+			fill: black;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			text-anchor: middle;
+			}
+			
+			
+			.highway-motorway-junction {
+			fill: yellow;
+			stroke: #4D5D73;
+			stroke-width: 1.5px;
+			}
+			
+			.highway-motorway-junction-caption {
+			fill: black;
+			stroke: black;
+			stroke-width: 0.2px;
+			font-family: "DejaVu Sans";
+			font-size: 4px;
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			.highway-nobicycle-1 { stroke-width: 5.2px; stroke: #000080; stroke-dasharray: 0.2,3.8; stroke-linecap: butt; fill: none; stroke-miterlimit: 0.1; }
+			.highway-nobicycle-2 { stroke-width: 3.6px; stroke: #d1fad1; stroke-dasharray: 0.2,3.8; stroke-linecap: butt; fill: none; stroke-miterlimit: 0.1; }
+			.highway-nobicycle-3 { stroke-width: 0.4px; stroke: #000080; stroke-dasharray: 0.2,3.8; stroke-linecap: butt; fill: none; stroke-miterlimit: 0.1; }
+
+			.bridge-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			marker-start: url(#bridge-casing-start);
+			marker-end: url(#bridge-casing-end);
+			}
+			
+			.bridge-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #ffffff;
+			fill: none;
+			}
+			
+			.tunnel-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.tunnel-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.tunnel { stroke-dasharray: 0.8, 0.8; }
+			
+			.embankment-cutting              { fill: none; stroke-linejoin: bevel; stroke-linecap: butt; stroke: #6f4a18; }
+			.dyke                            { fill: none; stroke-linejoin: bevel; stroke-linecap: butt; stroke: #3a7019; }
+
+			.embankment-long-casing          { stroke-width: 7.2px; stroke-dasharray: 0.1, 2.1; }
+			.embankment-short-casing         { stroke-width: 6.0px; stroke-dasharray: 0.1, 1.0, 0.1, 1.0;  }
+			.embankment-middle-casing        { stroke-width: 3.8px; stroke-dasharray: none; }
+			.embankment-core                 { stroke-width: 3.6px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.embankment-small-long-casing    { stroke-width: 6.2px; stroke-dasharray: 0.1, 2.1; }
+			.embankment-small-short-casing   { stroke-width: 5.0px; stroke-dasharray: 0.1, 1.0, 0.1, 1.0;  }
+			.embankment-small-middle-casing  { stroke-width: 2.8px; stroke-dasharray: none; }
+			.embankment-small-core           { stroke-width: 2.6px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.embankment-wide-long-casing     { stroke-width: 8.6px; stroke-dasharray: 0.1, 2.1; }
+			.embankment-wide-short-casing    { stroke-width: 7.2px; stroke-dasharray: 0.1, 1.0, 0.1, 1.0;  }
+			.embankment-wide-middle-casing   { stroke-width: 4.8px; stroke-dasharray: none; }
+			.embankment-wide-core            { stroke-width: 4.6px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.cutting-casing                  { stroke-width: 7.0px; stroke-dasharray: none; }
+			.cutting-long-core               { stroke-width: 6.8px; stroke: #f8f8f8; stroke-dasharray: 1.0, 0.1, 1.0, 0.1; }
+			.cutting-short-core              { stroke-width: 5.8px; stroke: #f8f8f8; stroke-dasharray: 2.1, 0.1; }
+			.cutting-middle-core             { stroke-width: 4.2px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.cutting-small-casing            { stroke-width: 6.0px; stroke-dasharray: none; }
+			.cutting-small-long-core         { stroke-width: 5.8px; stroke: #f8f8f8; stroke-dasharray: 1.0, 0.1, 1.0, 0.1; }
+			.cutting-small-short-core        { stroke-width: 4.8px; stroke: #f8f8f8; stroke-dasharray: 2.1, 0.1; }
+			.cutting-small-middle-core       { stroke-width: 3.2px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.cutting-wide-casing             { stroke-width: 8.4px; stroke-dasharray: none; }
+			.cutting-wide-long-core          { stroke-width: 8.2px; stroke: #f8f8f8; stroke-dasharray: 1.0, 0.1, 1.0, 0.1; }
+			.cutting-wide-short-core         { stroke-width: 6.8px; stroke: #f8f8f8; stroke-dasharray: 2.1, 0.1; }
+			.cutting-wide-middle-core        { stroke-width: 5.2px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.railway-casing { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-1-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-2-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-core   { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+
+			.railway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			stroke: #b0b0b0;
+			stroke-width: 2.5px;
+			}
+
+			.railway-bridge-casing             { stroke-width: 2.4px; }
+			.railway-bridge-core               { stroke-width: 1.6px; }
+
+			.railway-rail-casing                    { stroke-width: 1.0px; }
+			.railway-rail-1-core                    { stroke-width: 0.6px; }
+			.railway-rail-2-core                    { stroke-width: 0.6px; stroke-dasharray: 3,3; }
+			.railway-rail-casing-color              { stroke: #333333; }
+			.railway-rail-1-core-color              { stroke: #e6e6e6; }
+			.railway-rail-2-core-color              { stroke: #333333; }
+			.railway-rail-tunnel-core               { stroke-opacity: 0.15; }
+			.railway-main-2-core                    { stroke-width: 0.6px; stroke-dasharray: 3.8,2.2; }
+
+			.railway-narrow-casing                    { stroke-width: 0.8px; }
+			.railway-narrow-1-core                    { stroke-width: 0.5px; }
+			.railway-narrow-2-core                    { stroke-width: 0.5px; stroke-dasharray: 3.5,3.5; }
+			.railway-narrow-casing-color              { stroke: #333333; }
+			.railway-narrow-1-core-color              { stroke: #e6e6e6; }
+			.railway-narrow-2-core-color              { stroke: #333333; }
+			.railway-narrow-tunnel-core               { stroke-opacity: 0.15; }
+
+			.railway-preserved-casing                    { stroke-width: 0.8px; }
+			.railway-preserved-1-core                    { stroke-width: 0.5px; }
+			.railway-preserved-2-core                    { stroke-width: 0.5px; stroke-dasharray: 3,3; }
+			.railway-preserved-casing-color              { stroke: #909090; }
+			.railway-preserved-1-core-color              { stroke: #e6e6e6; }
+			.railway-preserved-2-core-color              { stroke: #333333; }
+			.railway-preserved-tunnel-core               { stroke-opacity: 0.15; }
+
+			.railway-light-casing                    { stroke-width: 0.8px; }
+			.railway-light-1-core                    { stroke-width: 0.5px; }
+			.railway-light-2-core                    { stroke-width: 0.5px; stroke-dasharray: 2.4,3.6; }
+			.railway-light-casing-color              { stroke: #0f4c0f; }
+			.railway-light-1-core-color              { stroke: #b7e6e6; }
+			.railway-light-2-core-color              { stroke: #0f4c0f; }
+			.railway-light-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-tram-casing                    { stroke-width: 0.8px; }
+			.railway-tram-1-core                    { stroke-width: 0.5px; }
+			.railway-tram-2-core                    { stroke-width: 0.5px; stroke-dasharray: 2.4,3.6; }
+			.railway-tram-casing-color              { stroke: #4c0f4c; }
+			.railway-tram-1-core-color              { stroke: #e6b7e6; }
+			.railway-tram-2-core-color              { stroke: #4c0f4c; }
+			.railway-tram-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-subway-casing                    { stroke-width: 0.8px; }
+			.railway-subway-1-core                    { stroke-width: 0.5px; }
+			.railway-subway-2-core                    { stroke-width: 0.5px; stroke-dasharray: 2.4,3.6; }
+			.railway-subway-casing-color              { stroke: #0f0f4c; }
+			.railway-subway-1-core-color              { stroke: #b7b7e6; }
+			.railway-subway-2-core-color              { stroke: #0f0f4c; }
+			.railway-subway-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-funicular-casing                    { stroke-width: 0.8px; }
+			.railway-funicular-1-core                    { stroke-width: 0.5px; stroke-dasharray: 2.4,3.6; }
+			.railway-funicular-t-core                    { stroke-width: 0.5px; }
+			.railway-funicular-2-core                    { stroke-width: 0.15px; }
+			.railway-funicular-casing-color              { stroke: #4c0f0f; }
+			.railway-funicular-1-core-color              { stroke: #e6b7b7; }
+			.railway-funicular-2-core-color              { stroke: #4c0f0f; }
+			.railway-funicular-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-monorail-casing                    { stroke-width: 0.8px; }
+			.railway-monorail-1-core                    { stroke-width: 0.5px; }
+			.railway-monorail-2-core                    { stroke-width: 0.15px; }
+			.railway-monorail-casing-color              { stroke: #4c0f0f; }
+			.railway-monorail-1-core-color              { stroke: #e6b7b7; }
+			.railway-monorail-2-core-color              { stroke: #ffffff; }
+			.railway-monorail-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-yard-casing                    { stroke-width: 0.6px; }
+			.railway-yard-1-core                    { stroke-width: 0.3px; }
+			.railway-yard-2-core                    { stroke-width: 0.3px; stroke-dasharray: 2,4; }
+			.railway-yard-casing-color              { stroke: #333333; }
+			.railway-yard-1-core-color              { stroke: #e6e6e6; }
+			.railway-yard-2-core-color              { stroke: #333333; }
+			.railway-yard-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-con-casing                { stroke-width: 0.8px; stroke-dasharray: 1,1; }
+			.railway-con-1-core                { stroke-width: 0.6px; }
+			.railway-con-2-core                { stroke-width: 0.6px; stroke-dasharray: 1,1,1,3; }
+			.railway-con-casing-color          { stroke: #606060; }
+			.railway-con-1-core-color          { stroke: #f2f2f2; }
+			.railway-con-2-core-color          { stroke: #606060; }
+			.railway-con-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-pla-casing                { stroke-width: 0.8px; stroke-dasharray: 1,1; }
+			.railway-pla-1-core                { stroke-width: 0.6px; }
+			.railway-pla-2-core                { stroke-width: 0.6px; stroke-dasharray: 1,1,1,3; }
+			.railway-pla-casing-color          { stroke: #b2b2b2; }
+			.railway-pla-1-core-color          { stroke: #ffffff; }
+			.railway-pla-2-core-color          { stroke: #b2b2b2; }
+			.railway-pla-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-dis-casing                { stroke-width: 0.8px; stroke-opacity: 0.7; }
+			.railway-dis-1-core                { stroke-width: 0.6px; stroke-opacity: 0.7; }
+			.railway-dis-2-core                { stroke-width: 0.6px; stroke-opacity: 0.7; stroke-dasharray: 3,3; }
+			.railway-dis-casing-color          { stroke: #808080; }
+			.railway-dis-1-core-color          { stroke: #f2f2f2; }
+			.railway-dis-2-core-color          { stroke: #808080; }
+			.railway-dis-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-aba-casing                { stroke-width: 0.8px; stroke-opacity: 0.4; }
+			.railway-aba-1-core                { stroke-width: 0.6px; stroke-opacity: 0.4; }
+			.railway-aba-2-core                { stroke-width: 0.6px; stroke-opacity: 0.4; stroke-dasharray: 3,3; }
+			.railway-aba-casing-color          { stroke: #b2b2b2; }
+			.railway-aba-1-core-color          { stroke: #ffffff; }
+			.railway-aba-2-core-color          { stroke: #b2b2b2; }
+			.railway-aba-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-raz-casing                { stroke-width: 0.8px; stroke-opacity: 0.3; stroke-dasharray: 0.6,0.6; }
+			.railway-raz-1-core                { stroke-width: 0.6px; stroke-opacity: 0.3; }
+			.railway-raz-2-core                { stroke-width: 0.6px; stroke-opacity: 0.3; stroke-dasharray: 0.6,0.6,0.6,0.6,0.6,3; }
+			.railway-raz-casing-color          { stroke: #c2c2c2; }
+			.railway-raz-1-core-color          { stroke: #ffffff; }
+			.railway-raz-2-core-color          { stroke: #c2c2c2; }
+
+			.highway-motorway-bridge-casing         { stroke-width: 5.0px; }
+			.highway-motorway-bridge-core           { stroke-width: 4.6px; }
+			.highway-motorway-casing                { stroke-width: 3.8px;  stroke: #707070; }
+			.highway-motorway-cy1-casing            { stroke-width: 4.9px;     stroke: #707070; }
+			.highway-motorway-cy2-casing            { stroke-width: 4.6px;     stroke: #d1fad1; }
+			.highway-motorway-area-casing               { stroke-width: 0.4px; }
+			.highway-motorway-core                  { stroke-width: 3.4px;  stroke: #809BC0; }
+			.highway-motorway-area                  { fill: #809BC0; }
+			.highway-motorway-name                  { stroke-width: 0px;     font-size: 3px; }
+			.highway-motorway-ref                   { stroke-width: 0px;     font-size: 4px; }
+			
+			.highway-motorway-link-bridge-casing    { stroke-width: 4.6px; }
+			.highway-motorway-link-bridge-core      { stroke-width: 4.2px; }
+			.highway-motorway-link-casing           { stroke-width: 3.4px;     stroke: #707070; }
+			.highway-motorway-link-cy1-casing            { stroke-width: 4.5px;     stroke: #707070; }
+			.highway-motorway-link-cy2-casing            { stroke-width: 4.2px;     stroke: #d1fad1; }
+			.highway-motorway-link-area-casing      { stroke-width: 0.4px; }
+			.highway-motorway-link-core             { stroke-width: 3px;  stroke: #809BC0; }
+			.highway-motorway-link-area             { fill: #809BC0; }
+			.highway-motorway-link-name             { stroke-width: 0px;     font-size: 3px; }
+			.highway-motorway-link-ref              { stroke-width: 0px;     font-size: 4px; }
+
+			.highway-trunk-bridge-casing            { stroke-width: 4.6px; }
+			.highway-trunk-bridge-core              { stroke-width: 4.2px; }
+			.highway-trunk-casing                   { stroke-width: 3.4px;     stroke: #707070; }
+			.highway-trunk-cy1-casing               { stroke-width: 4.5px;     stroke: #707070; }
+			.highway-trunk-cy2-casing               { stroke-width: 4.2px;     stroke: #d1fad1; }
+			.highway-trunk-mr1-casing               { stroke-width: 4.2px;     stroke: #707070; }
+			.highway-trunk-mr2-casing               { stroke-width: 3.9px;     stroke: #809BC0; }
+			.highway-trunk-mr3-casing               { stroke-width: 3.9px;     stroke: #FDBF6F; }
+			.highway-trunk-mrcy1-casing               { stroke-width: 4.9px;     stroke: #707070; }
+			.highway-trunk-mrcy2-casing               { stroke-width: 4.7px;     stroke: #d1fad1; }
+			.highway-trunk-mrcy3-casing               { stroke-width: 3.7px;     stroke: #809BC0; }
+			.highway-trunk-mrcy4-casing               { stroke-width: 3.7px;     stroke: #FDBF6F; }
+			.highway-trunk-area-casing              { stroke-width: 0.4px; }
+			.highway-trunk-core                     { stroke-width: 3px;  stroke: #7FC97F; }
+			.highway-trunk-area                     { fill: #7FC97F; }
+			.highway-trunk-name                     { stroke-width: 0px;     font-size: 3px; }
+			.highway-trunk-ref                      { stroke-width: 0px;     font-size: 4px; }
+			
+			.highway-trunk-link-bridge-casing       { stroke-width: 4.6px; }
+			.highway-trunk-link-bridge-core         { stroke-width: 4.2px; }
+			.highway-trunk-link-casing              { stroke-width: 3.4px;     stroke: #707070; }
+			.highway-trunk-link-cy1-casing               { stroke-width: 4.5px;     stroke: #707070; }
+			.highway-trunk-link-cy2-casing               { stroke-width: 4.2px;     stroke: #d1fad1; }
+			.highway-trunk-link-mr1-casing               { stroke-width: 4.2px;     stroke: #707070; }
+			.highway-trunk-link-mr2-casing               { stroke-width: 3.9px;     stroke: #809BC0; }
+			.highway-trunk-link-mr3-casing               { stroke-width: 3.9px;     stroke: #FDBF6F; }
+			.highway-trunk-link-mrcy1-casing               { stroke-width: 4.9px;     stroke: #707070; }
+			.highway-trunk-link-mrcy2-casing               { stroke-width: 4.7px;     stroke: #d1fad1; }
+			.highway-trunk-link-mrcy3-casing               { stroke-width: 3.7px;     stroke: #809BC0; }
+			.highway-trunk-link-mrcy4-casing               { stroke-width: 3.7px;     stroke: #FDBF6F; }
+			.highway-trunk-link-area-casing         { stroke-width: 0.4px; }
+			.highway-trunk-link-core                { stroke-width: 3px;  stroke: #7FC97F; }
+			.highway-trunk-link-area                { fill: #7FC97F; }
+			.highway-trunk-link-name                { stroke-width: 0px;     font-size: 3px; }
+			.highway-trunk-link-ref                 { stroke-width: 0px;     font-size: 4px; }
+			
+			.highway-primary-bridge-casing          { stroke-width: 4.6px; }
+			.highway-primary-bridge-core            { stroke-width: 4.2px; }
+			.highway-primary-casing                 { stroke-width: 3.4px;     stroke: #707070; }
+			.highway-primary-cy1-casing               { stroke-width: 4.5px;     stroke: #707070; }
+			.highway-primary-cy2-casing               { stroke-width: 4.2px;     stroke: #d1fad1; }
+			.highway-primary-mr1-casing               { stroke-width: 4.2px;     stroke: #707070; }
+			.highway-primary-mr2-casing               { stroke-width: 3.9px;     stroke: #809BC0; }
+			.highway-primary-mrcy1-casing               { stroke-width: 4.9px;     stroke: #707070; }
+			.highway-primary-mrcy2-casing               { stroke-width: 4.7px;     stroke: #d1fad1; }
+			.highway-primary-mrcy3-casing               { stroke-width: 3.7px;     stroke: #809BC0; }
+			.highway-primary-mrcy4-casing               { stroke-width: 3.7px;     stroke: #FDBF6F; }
+			.highway-primary-area-casing            { stroke-width: 0.4px; }
+			.highway-primary-core                   { stroke-width: 3px;  stroke: #e46d71; }
+			.highway-primary-area                   { fill: #e46d71; }
+			.highway-primary-name                   { stroke-width: 0px;     font-size: 3px; }
+			.highway-primary-ref                    { stroke-width: 0px;     font-size: 4px; }
+			
+			.highway-primary-link-bridge-casing     { stroke-width: 4.6px; }
+			.highway-primary-link-bridge-core       { stroke-width: 4.2px; }
+			.highway-primary-link-casing            { stroke-width: 3.4px;  stroke: #707070; }
+			.highway-primary-link-cy1-casing               { stroke-width: 4.5px;     stroke: #707070; }
+			.highway-primary-link-cy2-casing               { stroke-width: 4.2px;     stroke: #d1fad1; }
+			.highway-primary-link-mr1-casing               { stroke-width: 4.2px;     stroke: #707070; }
+			.highway-primary-link-mr2-casing               { stroke-width: 3.9px;     stroke: #809BC0; }
+			.highway-primary-link-mrcy1-casing               { stroke-width: 4.9px;     stroke: #707070; }
+			.highway-primary-link-mrcy2-casing               { stroke-width: 4.7px;     stroke: #d1fad1; }
+			.highway-primary-link-mrcy3-casing               { stroke-width: 3.7px;     stroke: #809BC0; }
+			.highway-primary-link-mrcy4-casing               { stroke-width: 3.7px;     stroke: #FDBF6F; }
+			.highway-primary-link-area-casing       { stroke-width: 0.4px; }
+			.highway-primary-link-core              { stroke-width: 3px;   stroke: #e46d71; }
+			.highway-primary-link-area              { fill: #e46d71; }
+			.highway-primary-link-name              { stroke-width: 0px;     font-size: 3px; }
+			.highway-primary-link-ref               { stroke-width: 0px;     font-size: 4px; }
+			
+			.highway-secondary-bridge-casing        { stroke-width: 4.6px; }
+			.highway-secondary-bridge-core          { stroke-width: 4.2px; }
+			.highway-secondary-casing               { stroke-width: 3.4px;   stroke: #707070; }
+			.highway-secondary-cy1-casing               { stroke-width: 4.5px;     stroke: #707070; }
+			.highway-secondary-cy2-casing               { stroke-width: 4.2px;     stroke: #d1fad1; }
+			.highway-secondary-mr1-casing               { stroke-width: 4.2px;     stroke: #707070; }
+			.highway-secondary-mr2-casing               { stroke-width: 3.9px;     stroke: #809BC0; }
+			.highway-secondary-mrcy1-casing               { stroke-width: 4.9px;     stroke: #707070; }
+			.highway-secondary-mrcy2-casing               { stroke-width: 4.7px;     stroke: #d1fad1; }
+			.highway-secondary-mrcy3-casing               { stroke-width: 3.7px;     stroke: #809BC0; }
+			.highway-secondary-mrcy4-casing               { stroke-width: 3.7px;     stroke: #FDBF6F; }
+			.highway-secondary-area-casing          { stroke-width: 0.4px; }
+			.highway-secondary-core                 { stroke-width: 3px;  stroke: #FDBF6F; }
+			.highway-secondary-area                 { fill: #FDBF6F; }
+			.highway-secondary-name                 { stroke-width: 0px;     font-size: 3px;}
+			.highway-secondary-ref                  { stroke-width: 0px;     font-size: 4px; }
+			
+			.highway-secondary-link-bridge-casing   { stroke-width: 4.6px; }
+			.highway-secondary-link-bridge-core     { stroke-width: 4.2px; }
+			.highway-secondary-link-casing          { stroke-width: 3.4px;   stroke: #707070; }
+			.highway-secondary-link-cy1-casing               { stroke-width: 4.5px;     stroke: #707070; }
+			.highway-secondary-link-cy2-casing               { stroke-width: 4.2px;     stroke: #d1fad1; }
+			.highway-secondary-link-mr1-casing               { stroke-width: 4.2px;     stroke: #707070; }
+			.highway-secondary-link-mr2-casing               { stroke-width: 3.9px;     stroke: #809BC0; }
+			.highway-secondary-link-mrcy1-casing               { stroke-width: 4.9px;     stroke: #707070; }
+			.highway-secondary-link-mrcy2-casing               { stroke-width: 4.7px;     stroke: #d1fad1; }
+			.highway-secondary-link-mrcy3-casing               { stroke-width: 3.7px;     stroke: #809BC0; }
+			.highway-secondary-link-mrcy4-casing               { stroke-width: 3.7px;     stroke: #FDBF6F; }
+			.highway-secondary-area-casing          { stroke-width: 0.4px; }
+			.highway-secondary-link-area-casing     { stroke-width: 0.4px; }
+			.highway-secondary-link-core            { stroke-width: 3px;  stroke: #FDBF6F; }
+			.highway-secondary-link-area            { fill: #FDBF6F; }
+			.highway-secondary-link-name            { stroke-width: 0px;     font-size: 3px;}
+			.highway-secondary-link-ref             { stroke-width: 0px;     font-size: 4px; }
+			
+			.highway-tertiary-bridge-casing         { stroke-width: 4.6px; }
+			.highway-tertiary-bridge-core           { stroke-width: 4.2px; }
+			.highway-tertiary-casing                { stroke-width: 3.4px;  stroke: #707070; }
+			.highway-tertiary-cy1-casing               { stroke-width: 4.5px;     stroke: #707070; }
+			.highway-tertiary-cy2-casing               { stroke-width: 4.2px;     stroke: #d1fad1; }
+			.highway-tertiary-mr1-casing               { stroke-width: 4.2px;     stroke: #707070; }
+			.highway-tertiary-mr2-casing               { stroke-width: 3.9px;     stroke: #809BC0; }
+			.highway-tertiary-mrcy1-casing               { stroke-width: 4.9px;     stroke: #707070; }
+			.highway-tertiary-mrcy2-casing               { stroke-width: 4.7px;     stroke: #d1fad1; }
+			.highway-tertiary-mrcy3-casing               { stroke-width: 3.7px;     stroke: #809BC0; }
+			.highway-tertiary-mrcy4-casing               { stroke-width: 3.7px;     stroke: #FDBF6F; }
+			.highway-tertiary-area-casing           { stroke-width: 0.4px; }
+			.highway-tertiary-core                  { stroke-width: 3px;   stroke: #ffff90; }
+			.highway-tertiary-area                  { fill: #ffff90; }
+			.highway-tertiary-name                  { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-tertiary-ref                   { stroke-width: 0px;     font-size: 3px; }
+			
+			.highway-tertiary-link-bridge-casing    { stroke-width: 4.6px; }
+			.highway-tertiary-link-bridge-core      { stroke-width: 4.2px; }
+			.highway-tertiary-link-casing           { stroke-width: 3.4px;  stroke: #707070; }
+			.highway-tertiary-link-cy1-casing               { stroke-width: 4.5px;     stroke: #707070; }
+			.highway-tertiary-link-cy2-casing               { stroke-width: 4.2px;     stroke: #d1fad1; }
+			.highway-tertiary-link-mr1-casing               { stroke-width: 4.2px;     stroke: #707070; }
+			.highway-tertiary-link-mr2-casing               { stroke-width: 3.9px;     stroke: #809BC0; }
+			.highway-tertiary-link-mrcy1-casing               { stroke-width: 4.9px;     stroke: #707070; }
+			.highway-tertiary-link-mrcy2-casing               { stroke-width: 4.7px;     stroke: #d1fad1; }
+			.highway-tertiary-link-mrcy3-casing               { stroke-width: 3.7px;     stroke: #809BC0; }
+			.highway-tertiary-link-mrcy4-casing               { stroke-width: 3.7px;     stroke: #FDBF6F; }
+			.highway-tertiary-link-area-casing      { stroke-width: 0.4px; }
+			.highway-tertiary-link-core             { stroke-width: 3px;   stroke: #ffff90; }
+			.highway-tertiary-link-area             { fill: #ffff90; }
+			.highway-tertiary-link-name             { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-tertiary-link-ref              { stroke-width: 0px;     font-size: 3px; }
+			
+			.highway-unclassified-bridge-casing     { stroke-width: 3.8px; }
+			.highway-unclassified-bridge-core       { stroke-width: 3.4px; }
+			.highway-unclassified-casing            { stroke-width: 2.6px;  stroke: #707070; }
+			.highway-unclassified-cy1-casing        { stroke-width: 3.75px;     stroke: #707070; }
+			.highway-unclassified-cy2-casing        { stroke-width: 3.45px;     stroke: #d1fad1; }
+			.highway-unclassified-area-casing       { stroke-width: 0.4px; }
+			.highway-unclassified-core              { stroke-width: 2.2px;   stroke: #ffffff; }
+			.highway-residential-bridge-casing      { stroke-width: 3.5px; }
+			.highway-residential-bridge-core        { stroke-width: 3.3px; }
+			.highway-residential-casing             { stroke-width: 2.5px;  stroke: #707070; }
+			.highway-residential-cy1-casing         { stroke-width: 3.65px;  stroke: #707070; }
+			.highway-residential-cy2-casing         { stroke-width: 3.45px;  stroke: #d1fad1; }
+			.highway-residential-area-casing        { stroke-width: 0.25px; }
+			.highway-residential-core               { stroke-width: 2.25px; stroke: #ffffff; }
+			.highway-ford-core                      { stroke-width: 2.25px;   stroke: #b5d6f1; stroke-linecap: butt; }
+			.highway-unclassified-area              { fill: #ffffff; }
+			.highway-unclassified-name              { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-unclassified-ref               { stroke-width: 0px;     font-size: 3px; }
+			.highway-unclassified-turningcircle     { fill: #ffffff; stroke-width: 0.125px; stroke: #707070; }
+			.highway-road-core                      { stroke-width: 2.25px;   stroke: #d0d0d0; }
+			.highway-road-area                      { fill: #d0d0d0; }
+			
+			.highway-livingstreet-casing            { stroke-width: 2.5px;  stroke: #707070; }
+			.highway-livingstreet-area-casing       { stroke-width: 0.25px; }
+			.highway-livingstreet-core-1            { stroke-width: 2.25px; stroke: #ffffff; }
+			.highway-livingstreet-core-2            { stroke-width: 2.25px; stroke: #e5e0c2; stroke-dasharray: 0.55,0.8; stroke-linecap: butt; }
+			.highway-livingstreet-area-1            { fill: #ffffff; }
+			.highway-livingstreet-area-2            { fill: url(#livingstreet-pattern); stroke: #e5e0c2; stroke-width: 0px; }
+			
+			.highway-cycleroad-casing               { stroke-width: 2.5px;  stroke: #707070; }
+			.highway-cycleroad-area-casing          { stroke-width: 0.25px; }
+			.highway-cycleroad-core-1               { stroke-width: 2.25px; stroke: #ffffff; }
+			.highway-cycleroad-core-2               { stroke-width: 2.25px; stroke: #d1fad1; stroke-dasharray: 0.55,0.8; stroke-linecap: butt; }
+			.highway-cycleroad-area-1               { fill: #ffffff; }
+			.highway-cycleroad-area-2               { fill: url(#cycleroad-pattern); stroke: #d1fad1; stroke-width: 0px; }
+			.highway-cycleroad-core-3               { stroke-width: 2.25px;   stroke: #d1fad1; }
+			.highway-cycleroad-area-3               { fill: #d1fad1; }
+
+			.highway-service-bridge-casing          { stroke-width: 2.8px; }
+			.highway-service-bridge-core            { stroke-width: 2.6px; }
+			.highway-service-casing                 { stroke-width: 1.8px;   stroke: #707070; }
+			.highway-service-cy1-casing               { stroke-width: 3.0px;     stroke: #707070; }
+			.highway-service-cy2-casing               { stroke-width: 2.8px;     stroke: #d1fad1; }
+			.highway-service-area-casing            { stroke-width: 0.2px; }
+			.highway-service-core                   { stroke-width: 1.6px;   stroke: #ffffff; }
+			.highway-service-area                   { fill: #ffffff; }
+			.highway-service-name                   { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-service-ref                    { stroke-width: 0px;     font-size: 2.5px; }
+
+			.highway-aisle-bridge-casing            { stroke-width: 1.6px; }
+			.highway-aisle-bridge-core              { stroke-width: 1.4px; }
+			.highway-aisle-casing                   { stroke-width: 0.6px;   stroke: #707070; }
+			.highway-aisle-area-casing              { stroke-width: 0.1px; }
+			.highway-aisle-core                     { stroke-width: 0.5px;   stroke: #ffffff; }
+			.highway-aisle-area                     { fill: #ffffff; }
+
+			.highway-unsurfaced-bridge-casing       { stroke-width: 3.25px; }
+			.highway-unsurfaced-bridge-core         { stroke-width: 3.05px; }
+			.highway-unsurfaced-casing              { stroke-width: 2.25px;   stroke: #707070; stroke-dasharray: 2, 1; stroke-linecap: butt; }
+			.highway-unsurfaced-cy1-casing               { stroke-width: 3.5px;     stroke: #707070; }
+			.highway-unsurfaced-cy2-casing               { stroke-width: 3.2px;     stroke: #d1fad1; }
+			.highway-unsurfaced-area-casing         { stroke-width: 0.25px; }
+			.highway-unsurfaced-core                { stroke-width: 2.0px;   stroke: #ffffff; }
+			.highway-unsurfaced-area                { fill: #ffffff; }
+			.highway-unsurfaced-name                { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-unsurfaced-ref                 { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-track-bridge-casing            { stroke-width: 2.8px; }
+			.highway-track-bridge-core              { stroke-width: 2.6px; }
+			.highway-track-back-casing              { stroke-width: 2.1px;   stroke: #ffffff; stroke-linecap: round; stroke-opacity: 0.7; }
+			.highway-track-casing                   { stroke-width: 1.8px;   stroke: #d79331; }
+			.highway-track-area-back-casing         { stroke-width: 0.55px;  stroke: #ffffff; }
+			.highway-track-area-casing              { stroke-width: 0.375px; stroke: #d79331; }
+			.highway-track-core                     { stroke-width: 1.4px;   }
+			.highway-track-core2                    { stroke-width: 1.45px;  }
+			.highway-track-area                     { fill: #ffffff; }
+			.highway-track-name                     { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-track-ref                      { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-track-gradex-casing            { stroke-dasharray: 3.6, 0.4; stroke-linecap: butt; }
+			.highway-track-grade1-casing            { }
+			.highway-track-grade2-casing            { stroke-dasharray: 3.6, 1.8; stroke-linecap: butt; }
+			.highway-track-grade3-casing            { stroke-dasharray: 2.0, 2.6; stroke-linecap: butt; }
+			.highway-track-grade4-casing            { stroke-dasharray: 1.0, 2.0, 0.6, 2.0; stroke-linecap: butt; }
+			.highway-track-grade5-casing            { stroke-dasharray: 0.6, 2.0; stroke-linecap: butt; }
+			
+			.highway-track-gradex-core                     { stroke: #fff2de; }
+			.highway-track-grade1-core                     { stroke: #fffaf2; }
+			.highway-track-grade2-core                     { stroke: #fff2de; }
+			.highway-track-grade3-core                     { stroke: #fff2de; }
+			.highway-track-grade4-core                     { stroke: #fff2de; }
+			.highway-track-grade5-core                     { stroke: #fff2de; } 
+			.highway-track-gradex-area                     { fill: #fff2de; }
+			.highway-track-grade1-area                     { fill: #fffaf2; }
+			.highway-track-grade2-area                     { fill: #fff2de; }
+			.highway-track-grade3-area                     { fill: #fff2de; }
+			.highway-track-grade4-area                     { fill: #fff2de; }
+			.highway-track-grade5-area                     { fill: #fff2de; }
+
+			.highway-byway-bridge-casing            { stroke-width: 2.8px; }
+			.highway-byway-bridge-core              { stroke-width: 2.6px; }
+			.highway-byway-1-casing                 { stroke-width: 2px;     stroke: #505050;  stroke-dasharray: 1.4, 0.4; stroke-linecap: butt;}
+			.highway-byway-1-area-casing            { stroke-width: 0.4px; }
+			.highway-byway-2-casing                 { stroke-width: 1.6px;   stroke: #efadaa; }
+			.highway-byway-2-area-casing            { stroke-width: 0.0px; }
+			.highway-byway-3-casing                 { stroke-width: 2.8px;   stroke: #505050;  stroke-dasharray: 0.2, 1.6; stroke-dashoffset: 1.2; stroke-linecap: butt; }
+			.highway-byway-3-area-casing            { stroke-width: 1.4px; }
+			.highway-byway-1-core                   { stroke-width: 0.8px;   stroke: #efadaa; }
+			.highway-byway-area                     { fill: #efadaa; }
+			.highway-byway-name                     { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-byway-ref                      { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-bridleway-bridge-casing        { stroke-width: 2.8px; }
+			.highway-bridleway-bridge-core          { stroke-width: 2.6px; }
+			.highway-bridleway-casing               { stroke-width: 1.8px;     stroke: #707070;  stroke-dasharray: 1.4, 0.4; stroke-linecap: butt; }
+			.highway-bridleway-area-casing          { stroke-width: 0.2px; }
+			.highway-bridleway-core                 { stroke-width: 1.6px;   stroke: #d3cb98; }
+			.highway-bridleway-area                 { fill: #d3cb98; }
+			.highway-bridleway-name                 { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-bridleway-ref                  { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-cycleway-bridge-casing         { stroke-width: 2.8px; }
+			.highway-cycleway-bridge-core           { stroke-width: 2.6px; }
+			.highway-cycleway-casing                { stroke-width: 1.8px;     stroke: #707070; stroke-dasharray: 0.4, 0.4; stroke-linecap: butt;}
+			.highway-cycleway-area-casing           { stroke-width: 0.2px; }
+			.highway-cycleway-core                  { stroke-width: 1.6px;   stroke: #d1fad1; }
+			.highway-cycleway-area                  { fill: #d1fad1; }
+			.highway-cycleway-name                  { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-cycleway-ref                   { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-pedestrian-bridge-casing       { stroke-width: 3.5px; }
+			.highway-pedestrian-bridge-core         { stroke-width: 3.3px; }
+			.highway-pedestrian-casing              { stroke-width: 2.5px;   stroke: #707070; }
+			.highway-pedestrian-area-casing         { stroke-width: 0.25px; }
+			.highway-pedestrian-core                { stroke-width: 2.25px;     stroke: #e5e0c2; }
+			.highway-pedestrian-area                { fill: #e5e0c2; }
+			.highway-pedestrian-name                { stroke-width: 0px;     font-size: 2px; }
+			.highway-pedestrian-ref                 { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-footway-bridge-casing          { stroke-width: 2.2px; }
+			.highway-footway-bridge-core            { stroke-width: 2px; }
+			.highway-footway-casing                 { stroke-width: 1.2px;   stroke: #707070; stroke-dasharray: 0.4, 0.4; stroke-linecap: butt;}
+			.highway-footway-area-casing            { stroke-width: 0.2px; }
+			.highway-footway-core                   { stroke-width: 1px;     stroke: #e5e0c2; }
+			.highway-footway-area                   { fill: #e5e0c2; }
+			.highway-footway-name                   { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-footway-ref                    { stroke-width: 0px;     font-size: 2.5px; }
+			
+			/* render unmarked paths in the same color as highway=road */
+			.highway-path-core                      { stroke-width: 1px;   stroke: #d0d0d0; }
+			.highway-path-area                      { fill: #d0d0d0; }
+
+			.highway-steps-bridge-casing            { stroke-width: 2.2px; }
+			.highway-steps-bridge-core              { stroke-width: 2px; }
+			.highway-steps-casing                   { stroke-width: 1.2px;   stroke: #707070; }
+			.highway-steps-area-casing              { stroke-width: 0.2px; }
+			.highway-steps-core                     { stroke-width: 1px;     stroke: #e5e0c2; stroke-dasharray: 0.6, 0.2; stroke-linecap: butt;}
+			.highway-steps-name                     { stroke-width: 0px;     font-size: 2.5px; }
+			.highway-steps-ref                      { stroke-width: 0px;     font-size: 2.5px; }
+			
+			.highway-scramble-core                  { stroke-width: 0.3px;   stroke: #707070; stroke-dasharray: 1.6, 0.4; stroke-linecap: butt;}
+			.highway-scramble-name                  { stroke-width: 1.0px;   fill: black;  font-size: 2.5px; }
+			
+			/* Aeroways */
+			.aeroway-aerodrome {
+			stroke-width: 1px;
+			stroke: #000000;
+			fill: #d8dcce;
+			}
+
+			.aeroway-apron {
+			stroke-width: 0.6px;
+			stroke: none;
+			fill: #f0f0f0;
+			}
+			
+			.aeroway-taxiway-casing {
+			stroke-width: 6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #000000;
+			fill: none;
+			}
+			
+			.aeroway-taxiway-core {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #d4dcbd;
+			fill: none;
+			}
+			
+			.aeroway-runway-core {
+			stroke-width: 10px;
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			stroke: #d4dcbd;
+			fill: none;
+			}
+			
+			.aeroway-runway-casing {
+			stroke-width: 14px;
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			stroke: #000000;
+			fill: none;
+			}
+			
+			.aeroway-aerodrome-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.6px;
+			font-family: "DejaVu Sans";
+			font-size: 12px;
+			font-weight: bold;
+			}
+			
+			.aeroway-airport-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.6px;
+			font-family: "DejaVu Sans";
+			font-size: 20px;
+			font-weight: bold;
+			}
+			
+			
+			/* Waterways */
+
+			.waterway-name-casing {
+			stroke: #303030;
+			fill: white;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.waterway-name-core {
+			stroke: green;
+			fill: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.waterway-casing {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b0b0b0;
+			fill: none;
+			}
+			
+			.waterway-core {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b5d6f1;
+			fill: none;
+			}
+			
+			.waterway-riverbank {
+			fill: #b5d6f1;
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+			
+			.waterway-lock-casing                   { stroke: #000000; stroke-width: 3.0px; stroke-linecap: butt; }
+			.waterway-lock-core                     { stroke: #f8f8f8; stroke-width: 2.5px; stroke-linecap: butt; }
+
+			.waterway-river-casing                  { stroke-width: 1.5px; }
+			.waterway-river-core                    { stroke-width: 1.5px; }
+			.waterway-river-tunnel-core             { stroke-width: 1.2px; stroke-dasharray: 2.2, 2.2; }
+			.waterway-river-name-casing             { font-size: 2px; stroke-width: 0.1px;}
+			.waterway-river-name-core               { font-size: 2px; }
+			
+			.waterway-stream-casing                 { stroke-width: 0.5px; }
+			.waterway-stream-core-ephemeral         { stroke-width: 0.5px; stroke-dasharray: 0.4, 0.4; stroke-linecap: butt; }
+			.waterway-stream-core-intermittent      { stroke-width: 0.5px; stroke-dasharray: 0.6, 0.2; stroke-linecap: butt; }
+			.waterway-stream-core                   { stroke-width: 0.5px; }
+			.waterway-stream-tunnel-core            { stroke-width: 0.3px; stroke-dasharray: 0.75, 0.75; }
+			.waterway-stream-name-casing            { font-size: 3px; stroke-width: 0.2px;}
+			.waterway-stream-name-core              { font-size: 3px; }
+			
+			.waterway-canal-casing                  { stroke-width: 1.5px; }
+			.waterway-canal-core                    { stroke-width: 1.2px; }
+			.waterway-canal-tunnel-core             { stroke-width: 1.2px; stroke-dasharray: 2.2, 2.2; }
+			.waterway-canal-name-casing             { font-size: 3px; stroke-width: 0.2px;}
+			.waterway-canal-name-core               { font-size: 3px; }
+			
+			.waterway-drain-casing                  { stroke-width: 1.3px; }
+			.waterway-drain-core                    { stroke-width: 1px; }
+			.waterway-drain-tunnel-core             { stroke-width: 1px; stroke-dasharray: 2,2; }
+			.waterway-drain-name-casing             { font-size: 3px; stroke-width: 0.2px;}
+			.waterway-drain-name-core               { font-size: 3px; }
+			
+			.waterway-ditch-casing                  { stroke-width: 0.15px; }
+			.waterway-ditch-core                    { stroke-width: 0.15px; }
+			.waterway-ditch-tunnel-core             { stroke-width: 0.1px; stroke-dasharray: 0.75, 0.75; }
+			.waterway-ditch-name-casing             { font-size: 3px; stroke-width: 0.2px;}
+			.waterway-ditch-name-core               { font-size: 3px; }
+
+			.waterway-dam {
+			stroke: #000000;
+			stroke-width: 0.75px;
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			}
+			.waterway-weir {
+			stroke: #000044;
+			stroke-width: 0.5px;
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			}
+			
+			
+			/* Generic under-construction style - makes any way dashed */
+			.under-construction { stroke-dasharray: 8, 10; }
+			.wrong-under-construction { stroke-width: 3px; stroke: #ffffff; stroke-dasharray: 4, 4; fill:none; }
+
+			
+			/* Ferry */
+			.route-ferry {
+			stroke-width: 0.6px;
+			stroke-dasharray: 3,2;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			}
+			
+			
+			/* Place names */
+			/* General style for captions */
+			.place-caption {
+			fill: black;
+			stroke: none;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			.caption-casing {
+			fill: white;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.caption-core {
+			stroke: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+			
+			.peak-caption           { font-size: 4px; }
+			.pass-caption           { font-size: 4px; }
+			.cave-caption           { font-size: 4px; }
+			.island-caption         { font-size: 6px; }
+			.islet-caption          { font-size: 4px; }
+			.village-caption        { font-size: 6px; }
+			.suburb-caption         { font-size: 6px; }
+			.hamlet-caption         { font-size: 4px; }
+			.locality-caption       { font-size: 4px; }
+			.farm-caption           { font-size: 3px; }
+			
+			
+			/* Natural */
+			.natural-water {
+			fill: #b5d6f1;
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+			
+			.natural-water-marsh {
+			fill: url(#marsh-pattern);
+			stroke: #007fff;
+			stroke-width: 0px;
+			}
+			
+			.natural-coastline {
+			fill: #b5d6f1;
+			stroke: #b5d6f1;
+			stroke-width: 0.8px;
+			}
+
+			.natural-glacier {
+			fill: #fafaff;
+			stroke: lightblue;
+			stroke-width: 0.8px;
+			}
+			
+			.natural-land {
+			fill: #f8f8f8;
+			stroke: #e0e0e0;
+			stroke-width: 0.2px;
+			}
+			
+			.natural-heath {
+			fill: #ffffc0;
+			stroke: #ffff90;
+			stroke-width: 0.2px;
+			}
+			
+			.wetland-bog {
+			fill: #946e50;
+			stroke: #3f1f06;
+			stroke-width: 0.2px;
+			}
+			
+			.natural-beach {
+			fill: #eecc55;
+			stroke: none;
+			}
+			
+			.mountain_pass {
+			fill: none;
+			<!-- don't remove. otherwise the waymarker will get clipped -->
+			stroke: red;
+			stroke-opacity: 0;
+			marker-mid: url(#mountain-pass);
+			}
+			
+			/* Landuse */
+			.landuse-wood {
+			fill: #6fc18e;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-wood-coniferous {
+			fill: url(#wood-coniferous-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-wood-deciduous {
+			fill: url(#wood-deciduous-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-wood-mixed {
+			fill: url(#wood-mixed-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-cemetery {
+			fill: url(#cemetery-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-cemetery-christian {
+			fill: url(#cemetery-christian-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-vineyard {
+			fill: url(#vineyard-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-field {
+			fill: #ebfff2;
+			stroke: #9ee673;
+			stroke-width: 0.1px;
+			}
+			.landuse-allotment-village {
+			fill: #bde3cb;
+			stroke: #6fc13d;
+			stroke-width: 0.2px;
+			}
+			.access-area-border-width-landuse-field {
+			stroke-width: 0.8px;
+			}
+			
+			.landuse-residential {
+			stroke: none;
+			fill: #e4e4e4;
+			}
+			
+			.landuse-industrial {
+			fill: #ecd8ff;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-construction {
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			fill: #a47c41;
+			}
+			.access-area-border-width-landuse-conservation {
+			stroke-width: 0.8px;
+			}
+			
+			.landuse-commercial {
+			fill: #ffffc0;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-garages {
+			stroke: none;
+			fill: #d6d6e4;
+			}
+
+			.landuse-quarry {
+			fill: #e9dd72;
+			stroke: #556b2f;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-retail {
+			fill: #ffebeb;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			.landuse-runway {
+			stroke-width: 0.6px;
+			stroke: #808080;
+			fill: #d4dcbd;
+			}
+			
+			.landuse-runway-disused {
+			stroke-width: 0.6px;
+			stroke: #808080;
+			fill: #d4dcbd;
+			stroke-dasharray: 2, 2;
+			}
+			
+			.landuse-runway-dismantled {
+			stroke-width: 0.6px;
+			stroke: #808080;
+			fill: #fcffef;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			.breakwater {
+			fill: none;
+			stroke-width: 1.0px;
+			stroke: #707070;
+			}
+
+			.breakwater-area {
+			fill: #707070;
+			stroke-width: 1.0px;
+			stroke: #707070;
+			}
+
+			.artificial-pier-area {
+			stroke: #d0d0d0;
+			stroke-width: 0.1px;
+			fill: #e4e4e4;
+			}
+
+			.artificial-pier-core {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #e4e4e4;
+			fill: none;
+			}
+			
+			.artificial-pier-casing {
+			stroke-width: 0.8px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #d0d0d0;
+			fill: none;
+			}
+			
+			.landuse-conservation {
+			fill: #cfeca8;
+			stroke: #6fc18e;
+			stroke-width: 0.2px
+			}
+			
+			/* Leisure */
+			.leisure-park {
+			fill: #c7f1a3;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.access-area-border-width-leisure-park {
+			stroke-width: 0.8px;
+			}
+			
+			.leisure-stadium {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.leisure-track-area {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.025px;
+			}
+			
+			.leisure-track-casing {
+			fill: none;
+			stroke: #6fc18e;
+			stroke-width: 1.45px;
+			}
+			
+			.leisure-track-core {
+			fill: none;
+			stroke: #bde3cb;
+			stroke-width: 1.4px;
+			}
+			
+			.leisure-swimming-pool {
+			fill: #b5d6f1;
+			stroke: #6060ff;
+			stroke-width: 0.2px;
+			}
+			
+			.leisure-national_park {
+			fill: url(#national-park-pattern);
+			}
+			.leisure-nature_reserve {
+			fill: url(#nature-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.leisure-landscape_reserve {
+			fill: url(#landscape-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.sport {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			
+			.sport-swimming {
+			fill: #b5d6f1;
+			stroke: #6060ff;
+			stroke-width: 0.2px;
+			}
+			
+			.sport-tennis {
+			fill: #d18a6a;
+			stroke: #B36C4C;
+			stroke-width: 0.2px;
+			}
+			
+			.amenity-parking {
+			fill: #ffffc0;
+			stroke: #e9dd72;
+			stroke-width: 0.2px;
+			}
+			
+			.amenity-school {
+			fill: #cdabde;
+			stroke: #e9dd72;
+			stroke-width: 0.2px;
+			}
+			
+			
+			/* Non-physical boundaries */
+			.boundary {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+			
+			.boundary-level-1-casing {
+			stroke-width: 3.5px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+			
+			.boundary-level-1-core {
+			stroke-width: 0.5px;
+			stroke: #f9574b;
+			stroke-dasharray: 3, 1, 1, 1;
+			}
+			
+			.boundary-level-2-casing {
+			stroke-width: 1.5px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+			
+			.boundary-level-2-core {
+			stroke-width: 0.5px;
+			stroke: #f9574b;
+			stroke-dasharray: 3, 3;
+			}
+			
+			.boundary-level-3-core {
+			stroke-width: 0.5px;
+			stroke: #f9574b;
+			}
+			
+			.boundary-level-4-core {
+			stroke-width: 0.5px;
+			stroke: #f9574b;
+			stroke-dasharray: 3, 1, 1, 1;
+			}
+			
+			.boundary-level-5-core {
+			stroke-width: 0.5px;
+			stroke: #f9574b;
+			stroke-dasharray: 3, 3;
+			}
+			
+			.boundary-level-6-core {
+			stroke-width: 0.5px;
+			stroke: #f9574b;
+			stroke-dasharray: 1, 5;
+			}
+			
+			.boundary-level-7-core {
+			stroke-width: 0.2px;
+			stroke: #f9574b;
+			}
+			
+			.boundary-level-8-core {
+			stroke-width: 0.2px;
+			stroke: #f9574b;
+			stroke-dasharray: 3, 1, 1, 1;
+			}
+			
+			.boundary-level-9-core {
+			stroke-width: 0.2px;
+			stroke: #f9574b;
+			stroke-dasharray: 3, 3;
+			}
+			
+			.boundary-level-10-core {
+			stroke-width: 0.2px;
+			stroke: #f9574b;
+			stroke-dasharray: 1, 5;
+			}
+			
+			.boundary-nationalpark-core {
+			stroke-width: 0.5px;
+			stroke: #4ef94b;
+			stroke-dasharray: 3, 1, 1, 1;
+			}
+			
+			
+			/* Racetracks */
+			.highway-racetrack-core {
+			stroke-width: 1.5 px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-racetrack-casing-red {
+			stroke-width: 1.7 px;
+			stroke-dasharray: 0.2, 0.2;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ff0000;
+			}
+			
+			.highway-racetrack-casing-white {
+			stroke-width: 1.7 px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ffffff;
+			}
+			
+			.highway-raceway-casing {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #101010;
+			}
+			
+			.highway-raceway-casing-disused {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 2, 2;
+			}
+			
+			.highway-raceway-casing-dismantled {
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			.highway-raceway-core {
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-raceway-core-disused {
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke-dasharray: 2, 2;
+			stroke: #f0f0f0;
+			}
+			
+			.highway-raceway-core-dismantled {
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ffffff;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			.landuse-raceway {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #101010;
+			}
+			
+			.landuse-raceway-disused {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #808080;
+			stroke-dasharray: 2, 2;
+			}
+			
+			.landuse-raceway-dismantled {
+			stroke-width: 0.6px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #ffffff;
+			stroke: #808080;
+			stroke-dasharray: 0.6, 3.4;
+			opacity: 0.5;
+			}
+			
+			
+			.railway-station                        { fill: #ec2d2d;        stroke: #606060; stroke-width: 0.5px; }
+			.railway-station-caption-casing         { stroke-width: 0.5px;  font-size: 3px; }
+			.railway-station-caption-core           { fill: #ec2d2d;        font-size: 3px; }
+			
+			.railway-halt                           { fill: #ec2d2d;        stroke: #606060; stroke-width: 0.2px; }
+			.railway-halt-caption-casing            { stroke-width: 0.4px;  font-size: 2.5px; }
+			.railway-halt-caption-core              { fill: #ec2d2d;        font-size: 2.5px; }
+
+			.highway-platform-area                  { stroke: none; fill: #9b9b79; }
+			.highway-platform-area-casing           { stroke: #707070; stroke-width: 0.4px; fill: none; }
+			.highway-platform-way-casing            { stroke: #707070; stroke-width: 1.0px; fill: none; stroke-linecap: square; }
+			.highway-platform-way-core              { stroke: #9b9b79; stroke-width: 0.6px; fill: none; }
+			.highway-platform-node                  { stroke: #707070; stroke-width: 0.2px; fill: #9b9b79; }
+			.highway-platform-ref                   { font-family: "DejaVu Sans"; font-size: 1.6px; stroke: #707070; stroke-width: 0.01px; text-anchor: middle;}
+
+			/* Tourism */
+			.tourism-attraction {
+			fill: #f2caea;
+			stroke: #ff00ff;
+			stroke-width: 0px;
+			}
+			.tourism-green-area {
+			fill: #c7f1a3;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.tourism-attraction-caption {
+			fill: #ff00ff;
+			stroke: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-size: 2.5px;
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			
+			.largefeature-caption-casing         { stroke-width: 1px;   font-size: 2px; }
+			.largefeature-caption-core           { fill: #4040ff;       font-size: 2px; }
+			
+			.generic-caption-casing              { stroke-width: 1px;   font-size: 2px; }
+			.generic-caption-core                { fill: #4040ff;        font-size: 2px; }
+			
+			.generic-poi {
+			fill: #4040ff;
+			stroke: #606060;
+			stroke-width: 0.2px;
+			}
+			
+			/* Building */
+			.building {
+			fill: #e0e0e0;
+			stroke: #d0d0d0;
+			stroke-width: 0.2px;
+			}
+			
+			.building-block {
+			fill: #F3D6B6;
+			stroke: #6a5a8e;
+			stroke-width: 0.2px;
+			}
+			
+			.building-residential {
+			fill: #c95e2a;
+			stroke: #800000;
+			stroke-width: 0.2px;
+			}
+
+			.fountain {
+				stroke: #000080;
+				stroke-width: 0.15px;
+				fill: #b5d6f1;
+			}
+			
+			/* Aerialway */
+			.aerialway-line {
+			fill: none;
+			stroke: #202020;
+			stroke-width: 0.4px;
+			}
+			
+			.aerialway-cablecar-marker {
+			marker-start:url(#marker-cablecar);
+			}
+			
+			.aerialway-gondola-marker {
+			marker-start:url(#marker-gondola);
+			}
+			
+			.aerialway-chairlift2-marker {
+			marker-start:url(#marker-chair-lift-2);
+			}
+			
+			.aerialway-chairlift4-marker {
+			marker-start:url(#marker-chair-lift-4);
+			}
+			
+			.aerialway-mixedlift-marker {
+			marker-start:url(#marker-mixed-lift);
+			}
+			
+			.aerialway-struts {
+			fill: none;
+			stroke: #202020;
+			stroke-width: 4px;
+			stroke-dasharray: 0.4,20;
+			}
+			
+			.aerialway-station {
+			fill: #ec2d2d;  
+			stroke: #606060;
+			stroke-width: 0.2px; 
+			}
+			
+			.aerialway-name {
+			fill: #606060;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 4px;
+			stroke: none;
+			text-anchor: middle;
+			}
+			
+			.aerialway-elevation-text {
+			fill: #606060;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 3px;
+			text-anchor: middle;
+			}
+			
+			.military-area {
+			fill: url(#military-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+			
+			/* surface lifts */
+			
+			.piste-lift-t-bar-marker {
+			marker-start:url(#marker-piste-lift-t-bar);
+			}
+			
+			.piste-lift-rope-tow {
+			fill: none;
+			stroke: #a47c41;
+			stroke-width: 0.5px;
+			stroke-dasharray: 1,1;
+			stroke-linecap: square;
+			}
+			
+			.piste-lift-magic-carpet {
+			fill: none;
+			stroke: #101010;
+			stroke-width: 0.8px;
+			}
+			
+			/* Piste maps */
+			.piste-core {
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke-width: 5px;
+			opacity: 0.66;
+			}
+
+			.piste-area {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke-width: 5px;
+			opacity: 0.66;
+			}
+			
+			.piste-difficulty-novice       { stroke: #40ff40; }
+			.piste-difficulty-easy         { stroke: #4040ff; }
+			.piste-difficulty-intermediate { stroke: #ff4040; }
+			.piste-difficulty-advanced     { stroke: #000000; }
+			.piste-difficulty-expert       { stroke: #f6800a; }
+			.piste-difficulty-freeride     { stroke: #f6dd0a; }
+			.piste-difficulty-other        { stroke: #505050; }
+			.piste-area-difficulty-novice       { stroke: #40ff40; fill: #40ff40; }
+			.piste-area-difficulty-easy         { stroke: #4040ff; fill: #4040ff; }
+			.piste-area-difficulty-intermediate { stroke: #ff4040; fill: #ff4040; }
+			.piste-area-difficulty-advanced     { stroke: #000000; fill: #000000; }
+			.piste-area-difficulty-expert       { stroke: #f6800a; fill: #f6800a; }
+			.piste-area-difficulty-freeride     { stroke: #f6dd0a; fill: #f6dd0a; }
+			.piste-area-difficulty-other        { stroke: #505050; fill: #505050; }
+			
+			.piste-type-sled {
+			fill: none;
+			stroke: #cdabde;
+			stroke-width: 2.5px;
+			marker-start:url(#marker-piste-type-sled);
+			}
+			
+			.piste-type-nordic {
+			fill: none;
+			stroke: #c00000;
+			stroke-width: 1px;
+			stroke-dasharray: 3,0.5;
+			stroke-linejoin: bevel;
+			stroke-linecap: butt;
+			marker-start:url(#marker-piste-type-nordic);
+			}
+			
+			.piste-downhill-name-casing {
+			fill: #555555;
+			stroke: #555555;
+			stroke-width: 0.25px;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 5px;
+			text-anchor: middle;
+			}
+			
+			.piste-downhill-name {
+			fill: #ffffff;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 5px;
+			text-anchor: middle;
+			}
+			
+			.piste-downhill-ref {
+			fill: #000000;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 5px;
+			text-anchor: middle;
+			}
+			
+			.man-made-piste-halfpipe {
+			fill: #a0f0ff;
+			stroke: #00bcdf;
+			stroke-width: 0.4px;
+			}
+			
+			.man_made-wastewater {
+			fill: #e4e4e4;
+			}
+			
+			/* Power Generator */
+			.power-wind {
+			fill: url(#power-wind-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-hydro {
+			fill: url(#power-hydro-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-photovoltaic {
+			fill: url(#power-photovoltaic-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-generic {
+			fill: url(#power-generic-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+
+			/* Power line and pipeline casing */
+			.powerline-pipeline-casing {
+			stroke-width: 0.4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #ffffff;
+			stroke-opacity: 0.5;
+			fill: none;
+			}
+			/* Power line */
+			/* Power line */
+			.power-dash {
+			stroke-dasharray: 4 ,2;
+			}
+			.minor-dash {
+			stroke-dasharray: 2, 1;
+			}
+			.power-dash-tunnel {
+			stroke-dasharray: 0.6, 1, 0.6, 1, 0.6 ,2.2;
+			}
+			.minor-dash-tunnel {
+			stroke-dasharray: 0.3, 0.5, 0.3, 0.5, 0.3, 1.1;
+			}
+
+			.power-line {
+			stroke-width: 0.2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #808080;
+			fill: none;
+			}
+			.power-minor-line {
+			stroke-width: 0.2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #808080;
+			fill: none;
+			}
+
+			/* Pipelines */
+			.pipeline-dash {
+			stroke-dasharray: 2, 1;
+			}
+			.pipeline-dash-tunnel {
+			stroke-dasharray: 0.3, 0.5, 0.3, 0.5, 0.3, 1.1;
+			}
+
+			.pipeline-unknown {
+			stroke-width: 0.2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #a0a0a0;
+			fill: none;
+			}
+			.pipeline-water {
+			stroke-width: 0.2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #4080f0;
+			fill: none;
+			}
+			.pipeline-gas {
+			stroke-width: 0.2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #e0f000;
+			fill: none;
+			}
+			.pipeline-oil {
+			stroke-width: 0.2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #40f040;
+			fill: none;
+			}
+			.pipeline-sewage {
+			stroke-width: 0.2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #908030;
+			fill: none;
+			}
+			.pipeline-heat {
+			stroke-width: 0.2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #f03050;
+			fill: none;
+			}
+
+			.communication-line {
+			stroke-width: 0.1px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #f080f0;
+			fill: none;
+			}
+
+			.reservoir-evaporator {
+			fill: url(#reservoir-evaporator-pattern);
+			stroke: none;
+			}
+
+			.reservoir-cooling {
+			fill: url(#reservoir-cooling-pattern);
+			stroke: none;
+			}
+
+			.reservoir-sewage {
+			fill: url(#reservoir-sewage-pattern);
+			stroke: none;
+			}
+
+			.reservoir-tailings {
+			fill: url(#reservoir-tailings-pattern);
+			stroke: none;
+			}
+
+			.basin-infiltration {
+			fill: url(#basin-infiltration-pattern);
+			stroke: none;
+			}
+			.basin-detention {
+			fill: url(#basin-detention-pattern);
+			stroke: none;
+			}
+			.basin-retention {
+			fill: url(#basin-retention-pattern);
+			stroke: none;
+			}
+
+			/* Area captions */
+			.park-name {
+			fill: #404040;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			font-size: 4.5px;
+			stroke-width: 0.0px;
+			}
+			
+			.landuse-reservoir-name {
+			fill: #404040;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			font-size: 4.5px;
+			stroke-width: 0.0px;
+			}
+			
+			
+			/* Oneway */
+			.oneway-casing { fill: none; stroke-linecap: butt; stroke: #0000a0; }
+			/*    stroke: #a2aee9; */
+			.oneway-core { fill: none; stroke-linecap: butt; stroke: #ffffff; }
+			.oneway-exclcycle-casing { fill: none; stroke-linecap: butt; stroke: #7070a0; }
+			.oneway-exclcycle-core { fill: none; stroke-linecap: butt; stroke: #90ff70; }
+			
+			.oneway-casing-1 { stroke-width: 0.6px; stroke-dasharray: 4.2,55.8; stroke-dashoffset: 46.2; }
+			.oneway-casing-2 { stroke-width: 1.15px; stroke-dasharray: 0.6,59.4; stroke-dashoffset: 43.4; }
+			.oneway-casing-3 { stroke-width: 1.0px; stroke-dasharray: 0.6,59.4; stroke-dashoffset: 43.2; }
+			.oneway-casing-4 { stroke-width: 0.85px; stroke-dasharray: 0.8,59.2; stroke-dashoffset: 43.2; }
+			.oneway-casing-5 { stroke-width: 0.7px; stroke-dasharray: 1.0,59; stroke-dashoffset: 43.2; }
+			.oneway-casing-6 { stroke-width: 0.55px; stroke-dasharray: 1.2,58.8; stroke-dashoffset: 43.2; }
+			.oneway-casing-7 { stroke-width: 0.4px; stroke-dasharray: 1.4,58.6; stroke-dashoffset: 43.2; }
+			.oneway-casing-8 { stroke-width: 0.2px; stroke-dasharray: 1.6,58.4; stroke-dashoffset: 43.2; }
+			
+			.oneway-core-1 { stroke-width: 0.2px; stroke-dasharray: 4,56; stroke-dashoffset: 46.1; }
+			.oneway-core-2 { stroke-width: 0.85px; stroke-dasharray: 0.4,59.6; stroke-dashoffset: 43.3; }
+			.oneway-core-3 { stroke-width: 0.7px; stroke-dasharray: 0.6,59.4; stroke-dashoffset: 43.3; }
+			.oneway-core-4 { stroke-width: 0.55px; stroke-dasharray: 0.8,59.2; stroke-dashoffset: 43.3; }
+			.oneway-core-5 { stroke-width: 0.4px; stroke-dasharray: 1.0,59; stroke-dashoffset: 43.3; }
+			.oneway-core-6 { stroke-width: 0.25px; stroke-dasharray: 1.2,58.8; stroke-dashoffset: 43.3; }
+			.oneway-core-7 { stroke-width: 0.1px; stroke-dasharray: 1.4,58.6; stroke-dashoffset: 43.3; }
+			
+			.oneway-casing-r1 { stroke-width: 0.6px; stroke-dasharray: 4.2,55.8; stroke-dashoffset: 45.2; }
+			.oneway-casing-r2 { stroke-width: 1.15px; stroke-dasharray: 0.6,59.4; stroke-dashoffset: 45.6; }
+			.oneway-casing-r3 { stroke-width: 1.0px; stroke-dasharray: 0.6,59.4; stroke-dashoffset: 45.8; }
+			.oneway-casing-r4 { stroke-width: 0.85px; stroke-dasharray: 0.8,59.2; stroke-dashoffset: 46; }
+			.oneway-casing-r5 { stroke-width: 0.7px; stroke-dasharray: 1.0,59; stroke-dashoffset: 46.2; }
+			.oneway-casing-r6 { stroke-width: 0.55px; stroke-dasharray: 1.2,58.8; stroke-dashoffset: 46.4; }
+			.oneway-casing-r7 { stroke-width: 0.4px; stroke-dasharray: 1.4,58.6; stroke-dashoffset: 46.6; }
+			.oneway-casing-r8 { stroke-width: 0.2px; stroke-dasharray: 1.6,58.4; stroke-dashoffset: 46.8; }
+			
+			.oneway-core-r1 { stroke-width: 0.2px; stroke-dasharray: 4,56; stroke-dashoffset: 45.1; }
+			.oneway-core-r2 { stroke-width: 0.85px; stroke-dasharray: 0.4,59.6; stroke-dashoffset: 45.5; }
+			.oneway-core-r3 { stroke-width: 0.7px; stroke-dasharray: 0.6,59.4; stroke-dashoffset: 45.7; }
+			.oneway-core-r4 { stroke-width: 0.55px; stroke-dasharray: 0.8,59.2; stroke-dashoffset: 45.9; }
+			.oneway-core-r5 { stroke-width: 0.4px; stroke-dasharray: 1.0,59; stroke-dashoffset: 46.1; }
+			.oneway-core-r6 { stroke-width: 0.25px; stroke-dasharray: 1.2,58.8; stroke-dashoffset: 46.3; }
+			.oneway-core-r7 { stroke-width: 0.1px; stroke-dasharray: 1.4,58.6; stroke-dashoffset: 46.5; }
+
+			.otherway {
+			fill: none;
+			stroke: red;
+			stroke-width: 2px;
+			stroke-opacity: 0;
+			/* marker-start: url(#marker-otherway-start); */
+			marker-end: url(#marker-otherway-end);
+			}
+			
+			/* SAC scales for paths and footways
+			colors taken from:
+			http://www.sac-cas.ch/uploads/media/SAC_Wanderskala_Vergleich_01.pdf
+			*/
+			.sac-scale-t1 {
+			stroke: red;
+			stroke-width: 0.3px;
+			fill: none;
+			}
+			
+			.sac-scale-t2 {
+			stroke-dasharray: 0.5, 0.5;
+			stroke: red;
+			stroke-width: 0.3px;
+			fill: none;
+			}
+			
+			.sac-scale-t3 {
+			stroke-dasharray: 0.04, 0.6;
+			stroke-linecap: round;
+			stroke: red;
+			stroke-width: 0.3px;
+			fill: none;
+			}
+			
+			.sac-scale-t4 {
+			stroke: blue;
+			stroke-width: 0.3px;
+			fill: none;
+			}
+			
+			.sac-scale-t5 {
+			stroke-dasharray: 0.5, 0.5;
+			stroke: blue;
+			stroke-width: 0.3px;
+			fill: none;
+			}
+			
+			.sac-scale-t6 {
+			stroke-dasharray: 0.04, 0.6;
+			stroke-linecap: round;
+			stroke: blue;
+			stroke-width: 0.3px;
+			fill: none;
+			}
+			
+			/* Access restrictions */
+			.access-private-line {
+			fill: none;
+			stroke: url(#access-private-pattern);
+			stroke-width: 2px;
+			}
+			.access-private-area {
+			fill: url(#access-private-pattern);
+			stroke: url(#access-private-pattern);
+			stroke-width: 2px;
+			}
+			.access-private-small-area {
+			fill: url(#access-private-pattern);
+			stroke: url(#access-private-pattern);
+			stroke-width: 1px;
+			}
+			.access-private-area-border {
+			stroke: #ff4040;
+			}
+			
+			.access-permissive-line {
+			fill: none;
+			stroke: url(#access-permissive-pattern);
+			stroke-width: 2px;
+			}
+			.access-permissive-area {
+			fill: url(#access-permissive-pattern);
+			stroke: url(#access-permissive-pattern);
+			stroke-width: 2px;
+			}
+			.access-permissive-small-area {
+			fill: url(#access-permissive-pattern);
+			stroke: url(#access-permissive-pattern);
+			stroke-width: 1px;
+			}
+			.access-permissive-area-border {
+			stroke: #40ff40;
+			}
+			
+			.access-destination-line {
+			fill: none;
+			stroke: url(#access-destination-pattern);
+			stroke-width: 2px;
+			}
+			.access-destination-area {
+			fill: url(#access-destination-pattern);
+			stroke: url(#access-destination-pattern);
+			stroke-width: 2px;
+			}
+			.access-destination-small-area {
+			fill: url(#access-destination-pattern);
+			stroke: url(#access-destination-pattern);
+			stroke-width: 1px;
+			}
+			.access-destination-area-border {
+			stroke: #4040ff;
+			}
+			
+			.access-no-line {
+			fill: none;
+			stroke: url(#access-no-pattern);
+			stroke-width: 2px;
+			}
+			.access-no-area {
+			fill: url(#access-no-pattern);
+			stroke: url(#access-no-pattern);
+			stroke-width: 2px;
+			}
+			.access-no-small-area {
+			fill: url(#access-no-pattern);
+			stroke: url(#access-no-pattern);
+			stroke-width: 1px;
+			}
+			.access-no-area-border {
+			stroke: #4040ff;
+			}
+
+			/* Barriers */
+			.barrier { stroke: #000000; stroke-linecap: butt; stroke-width: 0.05px; fill: none; }
+			.barrier-bollard { stroke: #ff0000; stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.1px; }
+			.barrier-hedge-1 { stroke: #00ff00; stroke-width: 0.1px; }
+			.barrier-hedge-2 { stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.1px; }
+			.barrier-fence-1 { stroke-width: 0.1px; }
+			.barrier-fence-2 { stroke: #888888; stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.1px; }
+			.barrier-wall { stroke-width: 0.1px; }
+			.barrier-retaining-wall-1 { stroke: #888888; stroke-width: 0.1px; }
+			.barrier-retaining-wall-2 { stroke: #888888; stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.2px; }
+			.barrier-city-wall-ts-1 { stroke-width: 0.1px; }
+			.barrier-city-wall-ts-2 { stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.2px; }
+			.barrier-city-wall-1 { stroke-width: 0.1px; }
+			.barrier-city-wall-2 { stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.2px; }
+
+			/* Map decoration */
+			.map-grid-line {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0.5;
+			}
+			
+			.map-border-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 3px;
+			stroke-miterlimit: 4;
+			stroke-dasharray: none;
+			stroke-opacity: 1;
+			stroke-linecap: round;
+			}
+			
+			.map-border-core {
+			fill: none;
+			fill-opacity: 1;
+			fill-rule: nonzero;
+			stroke: #ffffff;
+			stroke-width: 2px;
+			stroke-miterlimit: 0;
+			stroke-dashoffset: -0.5px;
+			stroke-opacity: 1;
+			}
+			
+			.map-scale-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-core {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-bookend {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 1px;
+			stroke-linecap: butt;
+			}
+			
+			.map-scale-caption {
+			font-family: "DejaVu Sans";
+			font-size: 10px;
+			fill: #8080ff;
+			}
+			
+			<!-- map background must be the same for all zooms or else empty tile detection will fail -->
+			.map-background {
+			fill: #f8f8f8;
+			stroke: none;
+			}
+			
+			.map-title {
+			font-family: "DejaVu Sans";
+			font-size: 20px;
+			text-anchor: middle;
+			fill: black;
+			}
+			
+			.map-title-background {
+			fill: white;
+			}
+			
+			.map-marginalia-background {
+			fill: white;
+			}
+			
+			.highway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			}
+			
+			/* Osmarender built-in styles - do not remove */
+			.osmarender-stroke-linecap-round { stroke-linecap: round; }
+			.osmarender-stroke-linecap-butt { stroke-linecap: butt; }
+			.osmarender-mask-black { stroke: black; }
+			.osmarender-mask-white { stroke: white; }
+			.osmarender-no-marker-start { marker-start: none; }
+			.osmarender-no-marker-end { marker-end: none; }
+			
+		</style>
+		
+		<svg:pattern x="0" y="0" width="200" height="200" id="wood-deciduous-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.06)">
+			<svg:rect fill="#6fc18e" width="205" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 27,1 C 20,1 13,7 13,14 C 13,16 13,18 15,20 C 11,22 8,26 8,29 C 8,36 16,43 28,43 L 28,63 L 37,63 L 37,43 C 48,43 57,36 57,29 C 57,26 55,23 52,21 C 55,14 45,4 37,6 C 36,3 33,1 27,1"/>
+			<svg:path fill="#2b743f" d="M 77,101 C 70,101 63,107 63,114 C 63,116 63,118 65,120 C 61,122 58,126 58,129 C 58,136 66,143 78,143 L 78,163 L 87,163 L 87,143 C 98,143 107,136 107,129 C 107,126 105,123 102,121 C 105,114 95,104 87,106 C 86,103 83,101 77,101"/>
+		</svg:pattern>
+		<svg:pattern x="0" y="0" width="200" height="200" id="wood-coniferous-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.06)">
+			<svg:rect fill="#6fc18e" width="205" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 15,24 L 25,24 L 10,39 L 25,39 L 5,54 L 25,54 L 25,64 L 35,64 L 35,54 L 55,54 L 35,39 L 50,39 L 35,24 L 45,24 L 30,4 L 15,24"/>
+			<svg:path fill="#2b743f" d="M 65,124 L 75,124 L 60,139 L 75,139 L 55,154 L 75,154 L 75,164 L 85,164 L 85,154 L 105,154 L 85,139 L 100,139 L 85,124 L 95,124 L 80,104 L 65,124"/>
+		</svg:pattern>
+		<svg:pattern x="0" y="0" width="300" height="200" id="wood-mixed-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.06)">
+			<svg:rect fill="#6fc18e" width="305" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 27,1 C 20,1 13,7 13,14 C 13,16 13,18 15,20 C 11,22 8,26 8,29 C 8,36 16,43 28,43 L 28,63 L 37,63 L 37,43 C 48,43 57,36 57,29 C 57,26 55,23 52,21 C 55,14 45,4 37,6 C 36,3 33,1 27,1"/>
+			<svg:path fill="#2b743f" d="M 65,54 L 75,54 L 60,69 L 75,69 L 55,84 L 75,84 L 75,94 L 85,94 L 85,84 L 105,84 L 85,69 L 100,69 L 85,54 L 95,54 L 80,34 L 65,54"/>
+			<svg:path fill="#2b743f" d="M 165,104 L 175,104 L 160,119 L 175,119 L 155,134 L 175,134 L175,144 L 185,144 L 185,134 L 205,134 L 185,119 L 200,119 L 185,104 L 195,104 L 180,84 L 165,104"/>
+			<svg:path fill="#2b743f" d="M 227,101 C 220,101 213,107 213,114 C 213,116 213,118 215,120 C 211,122 208,126 208,129 C 208,136 216,143 228,143 L 228,163 L 237,163 L 237,143 C 248,143 257,136 257,129 C 257,126 255,123 252,121 C 255,114 245,104 237,106 C 236,103 233,101 227,101"/>
+		</svg:pattern>
+		
+		<svg:pattern id="marsh-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.3)">
+			<svg:path stroke="#007fff" stroke-width="0.2" stroke-linecap="round" d="M 0,4 C 1.33,4 2.67,4 4,4 M 2,4 C 2,3 2,2 2,1 M 3,3 L 2,4 M 3,2 L 2,4 M 1,3 L 2,4 M 1,2 L 2,4 M 7,9 L 10,9 M 2,9 C 3,9 4,9 5,9 M 6,4 C 6.71,4 7.35,4 8,4 M 2,6 C 2.67,6 3.33,6 4,6 M 7,1 C 7.70,1 8.33,1 9,1 M 0,9 L 1,9 M 9,6 L 9,9 M 10,7 L 9,9 M 10,8 L 9,9 M 8,8 L 9,9 M 8,7 L 9,9"/>
+		</svg:pattern>
+		
+		<svg:pattern id="military-pattern" x="0" y="0" width="500" height="500" patternUnits="userSpaceOnUse" patternTransform="scale(0.01)">
+			<svg:rect width="510" height="510" x="0" y="0" fill-opacity="0.5" fill="#d0d050"/>
+			<svg:path fill="#808000" d="M 311.4875,112.4725 L 240.86574,112.4725 L 219.18975,100.81875 L 219.18975,67.95515 L 358.10253,55.13602 L 358.10253,98.02185 L 311.4875,107.11177 L 311.4875,112.4725 z "/>
+			<svg:path fill="#808000" d="M 86.10386,157.81856 L 404.48447,158.3883 L 404.43115,99.18722 L 313.11903,119.23168 L 180.26621,119.23168 L 86.10386,144.40379 C 80.55682,146.64725 78.71816,157.81856 86.10386,157.81856 z "/>
+			<svg:path fill="#808000" d="M 176.69134,184.53979 C 176.69131,195.84684 167.54017,205.02094 156.23316,205.04931 C 144.92615,205.07768 135.72909,195.94962 135.67232,184.64271 C 135.61555,173.33581 144.72048,164.11585 156.02721,164.03068 C 167.33393,163.94551 176.57673,173.02726 176.6903,184.33373"/>
+			<svg:path fill="#808000" d="M 222.85374,184.53979 C 222.85371,195.84684 213.70257,205.02094 202.39556,205.04931 C 191.08855,205.07768 181.89149,195.94962 181.83472,184.64271 C 181.77795,173.33581 190.88288,164.11585 202.18961,164.03068 C 213.49633,163.94551 222.73913,173.02726 222.8527,184.33373"/>
+			<svg:path fill="#808000" d="M 268.20674,184.53979 C 268.20671,195.84684 259.05557,205.02094 247.74856,205.04931 C 236.44155,205.07768 227.24449,195.94962 227.18772,184.64271 C 227.13095,173.33581 236.23588,164.11585 247.54261,164.03068 C 258.84933,163.94551 268.09213,173.02726 268.2057,184.33373"/>
+			<svg:path fill="#808000" d="M 314.63974,184.53979 C 314.63971,195.84684 305.48857,205.02094 294.18156,205.04931 C 282.87455,205.07768 273.67749,195.94962 273.62072,184.64271 C 273.56395,173.33581 282.66888,164.11585 293.97561,164.03068 C 305.28233,163.94551 314.52513,173.02726 314.6387,184.33373"/>
+			<svg:path fill="#808000" d="M 104.62906,164.30601 L 95.06656,164.74351 C 89.7409,177.99161 94.17664,190.11388 108.81656,199.08726 C 125.31404,209.1992 145.13754,218.93662 150.87906,219.08726 L 345.94156,219.14976 C 351.68308,218.99912 371.50659,209.26172 388.00406,199.14976 C 402.64398,190.17638 407.07972,178.02286 401.75406,164.77476 L 392.19156,164.36851 C 395.0692,176.76396 397.55281,185.1301 379.62906,193.61851 C 364.95912,200.56595 349.45269,208.83667 347.03531,209.33726 L 149.78531,209.30601 C 147.36794,208.8054 131.89275,200.50345 117.22281,193.55601 C 99.29906,185.06761 101.75142,176.70146 104.62906,164.30601 z M 81.325,74.26296 L 81.325,87.85048 L 214.52384,92.37965 L 214.52384,74.05709 L 81.325,74.26296 z "/>
+			<svg:path fill="#808000" d="M 360.71264,185.61239 C 360.71261,196.91944 351.56147,206.09354 340.25446,206.12191 C 328.94745,206.15028 319.75039,197.02222 319.69362,185.71531 C 319.63685,174.40841 328.74178,165.18845 340.04851,165.10328 C 351.35523,165.01811 360.59803,174.09986 360.7116,185.40633"/>
+			<svg:path fill="#808000" d="M 389.14837,176.08104 C 389.14835,182.52632 383.93199,187.75578 377.48672,187.77195 C 371.04145,187.78813 365.79891,182.58491 365.76655,176.1397 C 365.73419,169.6945 370.92422,164.4389 377.36932,164.39035 C 383.81443,164.3418 389.08304,169.51862 389.14778,175.96358"/>
+			<svg:path fill="#808000" d="M 130.88767,176.08104 C 130.88765,182.52632 125.67129,187.75578 119.22602,187.77195 C 112.78075,187.78813 107.53821,182.58491 107.50585,176.1397 C 107.47349,169.6945 112.66352,164.4389 119.10862,164.39035 C 125.55373,164.3418 130.82234,169.51862 130.88708,175.96358"/>
+		</svg:pattern>
+		
+		<svg:pattern id="cemetery-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.5)">
+			<svg:rect fill="#bde3cb" width="10" height="10" x="0" y="0"/>
+			<svg:path fill="#b0b0b0" stroke-width="0.1" d="M 1.48,0.13 C 2.12,0.13 2.63,0.64 2.63,1.28 L 2.63,4.27 L 0.33,4.27 L 0.33,1.28 C 0.33,0.64 0.85,0.13 1.48,0.13 z "/>
+			<svg:path fill="#b0b0b0" stroke-width="0.1" d="M 6.64,5.78 C 7.27,5.78 7.79,6.29 7.79,6.92 L 7.79,9.91 L 5.49,9.91 L 5.49,6.92 C 5.49,6.29 6.00,5.78 6.64,5.78 z "/>
+		</svg:pattern>
+		<svg:pattern id="cemetery-christian-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.5)">
+			<svg:rect fill="#bde3cb" width="11" height="11" x="0" y="0"/>
+			<svg:path stroke="black" stroke-width="0.2" d="M1,1 L3,1 M2,0 L2,3 M6,6 L8,6 M7,5 L7,8"/>
+		</svg:pattern>
+		
+		<svg:pattern id="livingstreet-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#e5e0c2" stroke-width="2" d="M10,0 L0,10 M0,0 L10,10"/>
+		</svg:pattern>
+		<svg:pattern id="cycleroad-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#d1fad1" stroke-width="2" d="M10,0 L0,10 M0,0 L10,10"/>
+		</svg:pattern>
+		<svg:pattern id="access-private-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#ff4040" stroke-width="0.2" d="M5,0 L0,5 M0,0 L5,5"/>
+		</svg:pattern>
+		<svg:pattern id="access-permissive-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#40ff40" stroke-width="0.2" d="M5,0 L0,5 M0,0 L5,5"/>
+		</svg:pattern>
+		<svg:pattern id="access-destination-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#4040ff" stroke-width="0.2" d="M5,0 L0,5 M0,0 L5,5"/>
+		</svg:pattern>
+		<svg:pattern id="access-no-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#ff4040" stroke-width="0.2" d="M5,0 L0,5 M0,0 L5,5"/>
+		</svg:pattern>
+		
+		<svg:pattern patternUnits="userSpaceOnUse" width="104.8886" height="112.38862" patternTransform="scale(0.05,0.05)" id="vineyard-pattern">
+			<svg:rect fill="#d1ead1" width="104.8886" height="112.38862" x="0" y="0"/>
+			<svg:g transform="translate(-35,-59.111382)">
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="105" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="104.54168" y="95.686478"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="91.572838" y="95.066086"/>
+				<svg:path style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#bf5bc3;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 102.72166,94.632518 C 102.72166,94.632518 102.51202,95.733107 102.51202,86.247077 C 102.51202,84.082553 104.39875,79.905587 96.851849,75.974911"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-1.4674523,16.770883)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-4.6119891,6.2890801)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(10.27217,-2.7252699)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-6.7083494,-4.4023583)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(4.1927244,9.8528923)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(2.096364,0.6289069)"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="90" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="95" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="115" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="60" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="59.541687" y="133.18648"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="46.572845" y="132.56609"/>
+				<svg:path style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#bf5bc3;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 57.72166,132.13252 C 57.72166,132.13252 57.51202,133.23311 57.51202,123.74708 C 57.51202,121.58255 59.39875,117.40559 51.85185,113.47491"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-46.467452,54.270883)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-49.611989,43.78908)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-34.72783,34.77473)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-51.708349,33.097642)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-40.807276,47.352892)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-42.903636,38.128907)"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="45" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="50" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="90" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="95" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="70" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="55" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="105" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="115" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="60" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="45" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="50" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="55" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="70" y="94"/>
+				<svg:rect style="fill:none;fill-opacity:0.92941176;stroke:none;stroke-width:0.22276554;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="104.87722" height="112.37724" x="35.011383" y="59.111382"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="144"/>
+			</svg:g>
+		</svg:pattern>
+		<svg:pattern id="power-wind-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.21)">
+		<!-- power_wind.svg -->
+			<svg:g style="fill:#000000">
+				<rect width="0.77532399" height="8.1394444" x="8.3448029" y="7.860559" style="fill:#000000" />
+				<path d="M 9.4685289,7.5398227 C 9.5951548,7.3769778 10.64679,8.1902804 11.817421,9.3563852 C 12.988052,10.52249 13.834385,11.599816 13.707759,11.762661 C 13.581133,11.925506 12.529499,11.112204 11.358868,9.9460989 C 10.188236,8.7799942 9.341903,7.7026676 9.4685289,7.5398227 z" />
+				<path d="M 9.0179241,5.7934416 C 8.8242005,5.7429518 9.0001786,4.4242539 9.4109824,2.8480475 C 9.8217862,1.2718412 10.311853,0.03500359 10.505576,0.085493431 C 10.6993,0.13598327 10.523322,1.4546811 10.112518,3.0308874 C 9.7017142,4.6070939 9.2116477,5.8439315 9.0179241,5.7934416 z" />
+				<path d="M 7.7057548,7.0801563 C 7.7567258,7.273754 6.5211097,7.7668916 4.9459289,8.1816099 C 3.3707482,8.5963282 2.0524917,8.7755817 2.0015207,8.5819841 C 1.9505497,8.3883865 3.1861658,7.8952488 4.7613465,7.4805306 C 6.3365273,7.0658123 7.6547838,6.8865587 7.7057548,7.0801563 z" />
+				<path d="M 9.7448924,6.787931 C 9.7450023,7.3521951 9.2876067,7.8096797 8.7233428,7.8096797 C 8.1590787,7.8096797 7.7016831,7.3521951 7.701793,6.787931 C 7.7016831,6.2236669 8.1590787,5.7661823 8.7233428,5.7661823 C 9.2876067,5.7661823 9.7450023,6.2236669 9.7448924,6.787931 L 9.7448924,6.787931 z" />
+			</svg:g>
+		</svg:pattern>
+		<svg:pattern id="power-hydro-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.21)">
+		<!-- power_hydro.svg -->
+			<path d="M 8.5,12.8 L 11.9,6.5 L 7.1,7.6 L 10.8,1.5 L 8.2,0.17 L 4.1,10.1 L 9,8.6 L 7.4,12.3 L 7.1,11.6 L 6.65,15.7 L 9.3,12.5 L 8.5,12.8 z" style="fill:#00ccff;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;" />
+		</svg:pattern>
+		<svg:pattern id="power-photovoltaic-pattern" x="0" y="0" width="16" height="16" patternUnits="userSpaceOnUse" patternTransform="scale(0.21)">
+		<!-- power_photovoltaic.svg -->
+		<svg:g transform="matrix(1,0,-0.26,1,0.15,0)">
+				<svg:rect x="3.4" y="3.4" width="13" height="8.9" style="fill:#ffffff;stroke:#000000;stroke-width:0.4"/>
+				<svg:g style="stroke-width:0;fill:#000084" >
+					<svg:rect x="3.9" y="8" width="3.8" height="3.8" />
+					<svg:rect x="8" y="8" width="3.8" height="3.8" />
+					<svg:rect x="12.1" y="8" width="3.8" height="3.8" />
+					<svg:rect x="3.9" y="3.9" width="3.8" height="3.8" />
+					<svg:rect x="8" y="3.9" width="3.8" height="3.8" />
+					<svg:rect x="12.1" y="3.9" width="3.8" height="3.8" />
+				</svg:g>
+			</svg:g>
+			<svg:path d="M 2.72 0.34 L 2.97 2.59 L 1.38 2.13 L 2.44 3.25 L 0.38 3.98 L 2.59 4.38 L 1.59 5.72 L 3.13 5.03 L 3.16 7.22 L 4.25 5.34 L 5.22 6.63 L 5.03 5 L 7.22 5.66 L 5.72 4.06 L 7.25 3.59 L 5.59 3.28 L 6.97 1.41 L 4.88 2.34 L 4.88 0.78 L 4.09 2.13 L 2.72 0.34 z" style="fill:#ffff00;stroke:#000000;stroke-width:0.1" />
+		</svg:pattern>
+		<svg:pattern id="power-generic-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.21)">
+		<!-- power_generic.svg -->
+			<svg:path d="M 8.5,12.8 L 11.9,6.5 L 7.1,7.6 L 10.8,1.5 L 8.2,0.17 L 4.1,10.1 L 9,8.6 L 7.4,12.3 L 7.1,11.6 L 6.65,15.7 L 9.3,12.5 L 8.5,12.8 z" style="fill:#ffff00;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;" />
+		</svg:pattern>
+		<!-- reservoir patterns -->
+		<svg:pattern id="reservoir-evaporator-pattern" patternUnits="userSpaceOnUse" width="2" height="2" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;stroke-linecap:round;" d="M 0.1,1.9 L 1.9,1.9" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.96,1.8 C 1.25,1.4 0.75,1.4 1.04,1" />
+			<svg:path style="stroke:#007fff;stroke-width:.035px;fill:none" d="M 0.61,1.8 C 0.8,1.55 0.5,1.55 .69,1.3" />
+			<svg:path style="stroke:#007fff;stroke-width:.035px;fill:none" d="M 1.31,1.8 C 1.5,1.55 1.2,1.55 1.39,1.3" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-cooling-pattern" patternUnits="userSpaceOnUse" width="2" height="2" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;stroke-linecap:round;" d="M 0.1,1.9 L 1.9,1.9" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1,1.25 L 0.784,1.125 L 0.784,0.875 L 1,0.75 L 1.217,0.875 L 1.217,1.125 z" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1,1.25 L 1,1.75" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 0.784,1.125 L 0.35,1.375" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 0.784,0.875 L 0.35,0.625" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1,0.75 L 1,0.25" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1.217,0.875 L 1.65,0.625" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1.217,1.125 L 1.65,1.375" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.257,1.705 L 1.000,1.550 L 0.743,1.705" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.518,1.575 L 0.524,1.275 L 0.261,1.130" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.261,0.870 L 0.524,0.725 L 0.518,0.425" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.743,0.295 L 1.000,0.450 L 1.257,0.295" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.482,0.425 L 1.476,0.725 L 1.739,0.870" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.739,1.139 L 1.476,1.275 L 1.482,1.575" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-sewage-pattern" patternUnits="userSpaceOnUse" width="0.5" height="0.5" >
+			<svg:path style="stroke:#997700;stroke-width:.1px;" d="M -0.01,-0.01 L 0.51,0.51" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-tailings-pattern" patternUnits="userSpaceOnUse" width="0.5" height="0.5" >
+			<svg:path style="stroke:black;stroke-width:.1px;" d="M -0.01,-0.01 L 0.51,0.51" />
+		</svg:pattern>
+
+		<svg:pattern id="basin-infiltration-pattern" patternUnits="userSpaceOnUse" width="2" height="2" patternTransform="scale(1.75)" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.1,0.2 L 1.9,0.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.4,0.6 L 1.6,0.6" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.1,1.2 L 0.9,1.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.4,1.6 L 0.6,1.6" />
+		</svg:pattern>
+
+		<svg:pattern id="basin-detention-pattern" patternUnits="userSpaceOnUse" width="2" height="2" patternTransform="scale(1.75)" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.4,0.2 L 1.6,0.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.1,0.6 L 1.9,0.6" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.4,1.2 L 0.6,1.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.1,1.6 L 0.9,1.6" />
+		</svg:pattern>
+
+		<svg:pattern id="basin-retention-pattern" patternUnits="userSpaceOnUse" width="2" height="2" patternTransform="scale(1.75)" >
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.4,0.2 L 1.6,0.2" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.1,0.6 L 1.9,0.6" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.4,1.2 L 0.6,1.2" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.1,1.6 L 0.9,1.6" />
+		</svg:pattern>
+
+		<svg:pattern id="nature-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(2.28885)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.1" d="
+		M0.2,0.1 L1.8,0.9 M2.2,0.9 L3.8,0.1   M4.2,0.1 L5.8,0.9 M6.2,0.9 L7.8,0.1   M8.2,0.1 L9.8,0.9 M10.2,0.9 L11.8,0.1
+		M0.2,1.9 L1.8,1.1 M2.2,1.1 L3.8,1.9   M4.2,1.9 L5.8,1.1 M6.2,1.1 L7.8,1.9   M8.2,1.9 L9.8,1.1 M10.2,1.1 L11.8,1.9
+		M0.2,2.1 L1.8,2.9 M2.2,2.9 L3.8,2.1   M4.2,2.1 L5.8,2.9 M6.2,2.9 L7.8,2.1   M8.2,2.1 L9.8,2.9 M10.2,2.9 L11.8,2.1
+		M0.2,3.9 L1.8,3.1 M2.2,3.1 L3.8,3.9   M4.2,3.9 L5.8,3.1 M6.2,3.1 L7.8,3.9   M8.2,3.9 L9.8,3.1 M10.2,3.1 L11.8,3.9
+		M0.2,4.1 L1.8,4.9 M2.2,4.9 L3.8,4.1   M4.2,4.1 L5.8,4.9 M6.2,4.9 L7.8,4.1   M8.2,4.1 L9.8,4.9 M10.2,4.9 L11.8,4.1
+		M0.2,5.9 L1.8,5.1 M2.2,5.1 L3.8,5.9   M4.2,5.9 L5.8,5.1 M6.2,5.1 L7.8,5.9   M8.2,5.9 L9.8,5.1 M10.2,5.1 L11.8,5.9
+
+		M0.2,6.1 L1.8,6.9 M2.2,6.9 L3.8,6.1   M4.2,6.1 L5.8,6.9 M6.2,6.9 L7.8,6.1   M8.2,6.1 L9.8,6.9 M10.2,6.9 L11.8,6.1
+		M0.2,7.9 L1.8,7.1 M2.2,7.1 L3.8,7.9   M4.2,7.9 L5.8,7.1 M6.2,7.1 L7.8,7.9   M8.2,7.9 L9.8,7.1 M10.2,7.1 L11.8,7.9
+		M0.2,8.1 L1.8,8.9 M2.2,8.9 L3.8,8.1   M4.2,8.1 L5.8,8.9 M6.2,8.9 L7.8,8.1   M8.2,8.1 L9.8,8.9 M10.2,8.9 L11.8,8.1
+		M0.2,9.9 L1.8,9.1 M2.2,9.1 L3.8,9.9   M4.2,9.9 L5.8,9.1 M6.2,9.1 L7.8,9.9   M8.2,9.9 L9.8,9.1 M10.2,9.1 L11.8,9.9
+		M0.2,10.1 L1.8,10.9 M2.2,10.9 L3.8,10.1   M4.2,10.1 L5.8,10.9 M6.2,10.9 L7.8,10.1   M8.2,10.1 L9.8,10.9 M10.2,10.9 L11.8,10.1
+		M0.2,11.9 L1.8,11.1 M2.2,11.1 L3.8,11.9   M4.2,11.9 L5.8,11.1 M6.2,11.1 L7.8,11.9   M8.2,11.9 L9.8,11.1 M10.2,11.1 L11.8,11.9"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.15;stroke-linecap:round;stroke-linejoin:round;" d="
+		M1.2,2.6 L1.2,1.4 L1.8,2.6 L1.8,1.4
+		M2.2,2.1 L2.45,2.1 A 0.25 0.25 0 0 0 2.45,1.4 L2.2,1.4 L2.2,2.6  M2.8,2.6 L2.3,2.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="landscape-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(2.6)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.05" d="
+		M0.4,0.2 L1.6,0.8 M2.4,0.8 L3.6,0.2   M4.4,0.2 L5.6,0.8 M6.4,0.8 L7.6,0.2   M8.4,0.2 L9.6,0.8 M10.4,0.8 L11.6,0.2
+		M0.4,1.8 L1.6,1.2 M2.4,1.2 L3.6,1.8   M4.4,1.8 L5.6,1.2 M6.4,1.2 L7.6,1.8   M8.4,1.8 L9.6,1.2 M10.4,1.2 L11.6,1.8
+		M0.4,2.2 L1.6,2.8 M2.4,2.8 L3.6,2.2   M4.4,2.2 L5.6,2.8 M6.4,2.8 L7.6,2.2   M8.4,2.2 L9.6,2.8 M10.4,2.8 L11.6,2.2
+		M0.4,3.8 L1.6,3.2 M2.4,3.2 L3.6,3.8   M4.4,3.8 L5.6,3.2 M6.4,3.2 L7.6,3.8   M8.4,3.8 L9.6,3.2 M10.4,3.2 L11.6,3.8
+		M0.4,4.2 L1.6,4.8 M2.4,4.8 L3.6,4.2   M4.4,4.2 L5.6,4.8 M6.4,4.8 L7.6,4.2   M8.4,4.2 L9.6,4.8 M10.4,4.8 L11.6,4.2
+		M0.4,5.8 L1.6,5.2 M2.4,5.2 L3.6,5.8   M4.4,5.8 L5.6,5.2 M6.4,5.2 L7.6,5.8   M8.4,5.8 L9.6,5.2 M10.4,5.2 L11.6,5.8
+
+		M0.4,6.2 L1.6,6.8 M2.4,6.8 L3.6,6.2   M4.4,6.2 L5.6,6.8 M6.4,6.8 L7.6,6.2   M8.4,6.2 L9.6,6.8 M10.4,6.8 L11.6,6.2
+		M0.4,7.8 L1.6,7.2 M2.4,7.2 L3.6,7.8   M4.4,7.8 L5.6,7.2 M6.4,7.2 L7.6,7.8   M8.4,7.8 L9.6,7.2 M10.4,7.2 L11.6,7.8
+		M0.4,8.2 L1.6,8.8 M2.4,8.8 L3.6,8.2   M4.4,8.2 L5.6,8.8 M6.4,8.8 L7.6,8.2   M8.4,8.2 L9.6,8.8 M10.4,8.8 L11.6,8.2
+		M0.4,9.8 L1.6,9.2 M2.4,9.2 L3.6,9.8   M4.4,9.8 L5.6,9.2 M6.4,9.2 L7.6,9.8   M8.4,9.8 L9.6,9.2 M10.4,9.2 L11.6,9.8
+		M0.4,10.2 L1.6,10.8 M2.4,10.8 L3.6,10.2   M4.4,10.2 L5.6,10.8 M6.4,10.8 L7.6,10.2   M8.4,10.2 L9.6,10.8 M10.4,10.8 L11.6,10.2
+		M0.4,11.8 L1.6,11.2 M2.4,11.2 L3.6,11.8   M4.4,11.8 L5.6,11.2 M6.4,11.2 L7.6,11.8   M8.4,11.8 L9.6,11.2 M10.4,11.2 L11.6,11.8"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:round;" d="
+		M5.2,3.4 L5.2,4.6 L5.8,4.6
+		M6.2,4.1 L6.45,4.1 A 0.25 0.25 0 0 0 6.45,3.4 L6.2,3.4 L6.2,4.6  M6.8,4.6 L6.3,4.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="national-park-pattern" x="0" y="0" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(2.6)">
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.5;" d="
+		M9.2,6.6 L9.2,5.4 L9.8,6.6 L9.8,5.4
+		M10.2,6.1 L10.45,6.1 A 0.25 0.25 0 0 0 10.45,5.4 L10.2,5.4 L10.2,6.6 "/>
+		</svg:pattern>
+
+
+		<svg:marker fill="none" id="bridge-casing-start" markerHeight="2" markerUnits="strokeWidth" markerWidth="2" orient="auto" refX="1" refY="1" stroke="#707070" stroke-width="0.045px" viewBox="0 0 2 2">
+			<svg:path d="M 1.05,1.45 L 0.7,1.8 M 1.05,0.55 L 0.7,0.2"/>
+		</svg:marker>
+		<svg:marker fill="none" id="bridge-casing-end" markerHeight="2" markerUnits="strokeWidth" markerWidth="2" orient="auto" refX="1" refY="1" stroke="#707070" stroke-width="0.045px" viewBox="0 0 2 2">
+			<svg:path d="M 0.95,1.45 L 1.3,1.8 M 0.95,0.55 L 1.3, 0.2"/>
+		</svg:marker>
+		<svg:marker fill="none" id="marker-gate-locked" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="2px" refY="5px" stroke="#707070" stroke-width="0.5px" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L 1,10 M 3,0 L 3,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="marker-gate-closed" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#707070" stroke-width="0.5px" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L 1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="marker-gate-open" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#707070" stroke-width="0.5px" viewBox="0 0 10 10">
+			<svg:path d="M1,0 L1,2 M1,4 L1,6 M1,8 L1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="noexit-all" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#ff5555" stroke-width="2px" stroke-opacity="0.5" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L 1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="noexit-veh" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#eeaa55" stroke-width="1.75px" stroke-opacity="0.6" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L 1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="noexit-mot" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#dddd55" stroke-width="1.5px" stroke-opacity="0.7" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L 1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="noexit-no" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#55dd55" stroke-width="1.5px" stroke-opacity="0.7" viewBox="0 0 10 10">
+			<svg:path d="M 1,2 L 1,8"/>
+		</svg:marker>
+		<svg:marker fill="none" id="noexit-rail" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#000000" stroke-width="1.5px" stroke-opacity="0.7" viewBox="0 0 10 10">
+			<svg:path d="M 1,3 L 1,7"/>
+		</svg:marker>
+		<svg:marker fill="none" id="canal-lock" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#000000" stroke-width="1px" stroke-opacity="1" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L -2,5 L 1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="mountain-pass" markerHeight="24px" markerUnits="userSpaceOnUse" markerWidth="12px" orient="auto" refX="64px" refY="32px" stroke="#000000" stroke-width="0.66px" viewBox="0 0 64 128">
+			<svg:path d="M 1,1 L 16,21 L 112,21 L 127,1"/>
+			<svg:path d="M 1,63 L 16,43 L 112,43 L 127,63"/>
+		</svg:marker>
+	</defs>
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z17.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z17.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z17.xml	(revision 35743)
@@ -0,0 +1,7217 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+
+<!-- Tiles@Home Rules File for zoom level 17 -->
+
+<rules
+	xmlns:xlink="http://www.w3.org/1999/xlink"
+	xmlns:svg="http://www.w3.org/2000/svg"
+	data="data.osm"
+	svgBaseProfile="full"
+	scale="1"
+	symbolScale="0.107"
+	textAttenuation="14"
+	minimumMapWidth="0.5"
+	minimumMapHeight="0.5"
+	withOSMLayers="yes"
+	withUntaggedSegments="no"
+	showScale="no"
+	showGrid="no"
+	showBorder="no"
+	showLicense="no"
+	interactive="no"
+	showRelationRoute="no"
+	symbolsDir="../stylesheets/symbols"
+	meter2pixel="0.1375">
+
+
+	<!-- Select all nodes and ways (unless they have an osmarender:render=no tag) -->
+	<rule e="node|way" k="osmarender:render" v="~|yes">
+
+		<!-- Landuse -->
+		<rule e="way" k="landuse" v="landfill|quarry">
+			<area class="landuse-quarry"/>
+		</rule>
+		<rule e="way" k="landuse" v="cemetery">
+			<rule e="way" k="religion" v="christian">
+				<area class="landuse-cemetery-christian"/>
+			</rule>
+			<else>
+				<area class="landuse-cemetery"/>
+			</else>
+		</rule>
+		<rule e="way" k="amenity" v="grave_yard">
+			<rule e="way" k="religion" v="christian">
+				<area class="landuse-cemetery-christian"/>
+			</rule>
+			<else>
+				<area class="landuse-cemetery"/>
+			</else>
+		</rule>
+		<rule e="way" k="landuse" v="vineyard">
+			<area class="landuse-vineyard"/>
+		</rule>
+
+		<!-- Natural features -->
+		<rule e="way" k="natural" v="coastline">
+			<area class="natural-coastline"/>
+		</rule>
+		<rule e="way" k="natural" v="glacier">
+			<line class='natural-glacier'/>
+		</rule>
+		<rule e="way" k="natural" v="land">
+			<area class="natural-land"/>
+		</rule>
+		<rule e="way" k="natural" v="beach">
+			<area class="natural-beach"/>
+		</rule>
+		<rule e="way" k="natural|landuse" v="forest|wood|scrub">
+			<rule e="way" k="wood" v="coniferous">
+				<area class="landuse-wood-coniferous"/>
+			</rule>
+			<else>
+				<rule e="way" k="wood" v="deciduous">
+					<area class="landuse-wood-deciduous"/>
+				</rule>
+				<else>
+					<rule e="way" k="wood" v="mixed">
+						<area class="landuse-wood-mixed"/>
+					</rule>
+					<else>
+						<area class="landuse-wood"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="natural" v="heath">
+			<area class="natural-heath"/>
+		</rule>
+		<rule e="way" k="natural" v="wetland">
+			<rule e="way" k="wetland" v="bog">
+				<area class="wetland-bog"/>
+			</rule>
+		</rule>
+		<rule e="way" k="landuse" v="conservation">
+			<area class="landuse-conservation"/>
+		</rule>
+
+		<!-- Artificial landuse -->
+		<rule e="way" k="landuse" v="field|farm|farmland|meadow|grass">
+			<area class="landuse-field"/>
+		</rule>
+		<rule e="way" k="landuse" v="allotments|village_green|recreation_ground">
+			<area class="landuse-allotment-village"/>
+		</rule>
+		<rule e="way" k="leisure" v="park|garden|golf_course|common|green">
+			<area class="leisure-park"/>
+		</rule>
+		<!-- Done separately from the above rule to layer these above. Tend to be smaller and inside parks. -->
+		<rule e="way" k="leisure" v="playground|playing_fields|pitch|dog_park">
+			<rule e="way" k="sport" v="tennis">
+				<area class="sport-tennis"/>
+			</rule>
+			<else>
+				<rule e="way" k="leisure" v="dog_park">
+					<area class="leisure-dog_park"/>
+				</rule>
+				<else>
+					<area class="leisure-park"/>
+				</else>
+			</else>
+		</rule>
+		<rule e="node" k="natural" v="tree">
+			<symbol ref="tree" position="center"/>
+		</rule>
+		<rule e="way" k="leisure" v="stadium|sports_centre|water_park">
+			<area class="leisure-stadium"/>
+		</rule>
+		<rule e="way" k="leisure" v="track">
+			<rule e="way" k="area" v="yes|true">
+				<area class="leisure-track-area"/>
+			</rule>
+			<else>
+				<line class="leisure-track-casing"/>
+				<line class="leisure-track-core"/>
+			</else>
+		</rule>
+		<rule e="way" k="leisure" v="swimming_pool">
+			<area class="leisure-swimming-pool"/>
+		</rule>
+		<rule e="way" k="amenity" v="fountain" closed="yes">
+			<area class="fountain" />
+		</rule>
+
+		<!-- Airports and runways -->
+		<rule e="way" k="aeroway" v="aerodrome" closed="yes">
+			<area class="aeroway-aerodrome"/>
+		</rule>
+		<rule e="way" k="aeroway" v="apron">
+			<area class="aeroway-apron"/>
+		</rule>
+		<rule e="way" k="landuse" v="runway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse-runway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse-runway-disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse-runway-dismantled"/>
+			</rule>
+		</rule>
+
+		<!-- Raceways and racetracks (cars and horses etc) -->
+		<rule e="way" k="landuse" v="raceway">
+			<rule e="way" k="use_status" v="~">
+				<area class="landuse-raceway"/>
+			</rule>
+			<rule e="way" k="use_status" v="disused">
+				<area class="landuse-raceway-disused"/>
+			</rule>
+			<rule e="way" k="use_status" v="dismantled">
+				<area class="landuse-raceway-dismantled"/>
+			</rule>
+		</rule>
+
+		<!-- Man-made areas -->
+		<rule e="way" k="leisure|landuse|amenity|tourism" v="~">
+			<rule e="way" k="building" v="~|no|false|0">
+				<rule e="way" k="sport" v="swimming|canoe|diving|scuba_diving">
+					<area class="sport-swimming"/>
+				</rule>
+				<else>
+					<rule e="way" k="sport" v="tennis">
+						<area class="sport-tennis"/>
+					</rule>
+					<else>
+						<rule e="way" k="sport" v="*" closed="yes">
+							<area class="sport"/>
+						</rule>
+					</else>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="amenity" v="parking">
+			<area class="amenity-parking"/>
+		</rule>
+		<rule e="way" k="tourism" v="attraction">
+			<rule e="way" k="highway" v="~">
+				<rule e="way" k="area" v="no" />
+				<else>
+					<area class="tourism-attraction"/>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="tourism" v="zoo|picnic_site|caravan_site|camp_site">
+			<area class="tourism-green-area"/>
+		</rule>
+
+		<!-- access rules for parking -->
+		<rule e="way" k="amenity" v="parking">
+			<rule e="way" k="access" v="private">
+				<area class="access-private-small-area"/>
+			</rule>
+			<rule e="way" k="access" v="permissive|public">
+				<area class="access-permissive-small-area"/>
+			</rule>
+			<rule e="way" k="access" v="destination">
+				<area class="access-destination-small-area"/>
+			</rule>
+			<rule e="way" k="access" v="no">
+				<area class="access-no-small-area"/>
+			</rule>
+		</rule>
+
+		<!-- house number interpolation lines -->
+		<rule e="way" k="addr:interpolation" v="odd">
+			<line class="housenumber-interpolation housenumber-interpolation-odd"/>
+		</rule>
+		<rule e="way" k="addr:interpolation" v="even">
+			<line class="housenumber-interpolation housenumber-interpolation-even"/>
+		</rule>
+		<rule e="way" k="addr:interpolation" v="all">
+			<line class="housenumber-interpolation housenumber-interpolation-all"/>
+		</rule>
+
+		<!-- Airfields and airports -->
+		<rule e="way" k="aeroway" v="runway">
+			<line class="aeroway-runway-casing"/>
+		</rule>
+		<rule e="way" k="aeroway" v="taxiway">
+			<line class="aeroway-taxiway-casing"/>
+		</rule>
+
+		<!-- Waterways -->
+		<rule e="way" k="lock" v="yes|true">
+			<line class="waterway-lock-casing" smart-linecap="no" />
+			<line class="waterway-lock-core" smart-linecap="no" />
+		</rule>
+		<rule e="way" k="waterway" v="lock">
+			<line class="waterway-lock-casing" smart-linecap="no" />
+			<line class="waterway-lock-core" smart-linecap="no" />
+		</rule>
+		<rule e="way" k="waterway" v="river">
+			<line class="waterway-casing waterway-river-casing" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="stream">
+			<line class="waterway-casing waterway-stream-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+		</rule>
+		<rule e="way" k="waterway" v="canal">
+			<line class="waterway-casing waterway-canal-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+		</rule>
+		<rule e="way" k="waterway" v="drain">
+			<line class="waterway-casing waterway-drain-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+		</rule>
+		<rule e="way" k="waterway" v="ditch">
+			<line class="waterway-casing waterway-ditch-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+		</rule>
+		<rule e="way" k="tunnel|culvert" v="yes|culvert">
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-tunnel-core" width-scale-factor="1" honor-width="yes"	minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<line class="waterway-core waterway-stream-tunnel-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-tunnel-core" width-scale-factor="1" honor-width="yes"	minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-tunnel-core" width-scale-factor="1" honor-width="yes"	minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-tunnel-core" width-scale-factor="1" honor-width="yes"	minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</rule>
+		<else>
+			<rule e="way" k="waterway" v="river">
+				<line class="waterway-core waterway-river-core" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="stream">
+				<rule e="way" k="stream" v="intermittent">
+					<line class="waterway-core waterway-stream-core-intermittent" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+				</rule>
+				<else>
+					<rule e="way" k="stream" v="ephemeral">
+						<line class="waterway-core waterway-stream-core-ephemeral" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+					</rule>
+					<else>
+						<line class="waterway-core waterway-stream-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="3"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="waterway" v="canal">
+				<line class="waterway-core waterway-canal-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/>
+			</rule>
+			<rule e="way" k="waterway" v="drain">
+				<line class="waterway-core waterway-drain-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="20"/>
+			</rule>
+			<rule e="way" k="waterway" v="ditch">
+				<line class="waterway-core waterway-ditch-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="10"/>
+			</rule>
+		</else>
+		<rule e="way" k="waterway" v="dock">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="natural" v="water|pond|lake|bay">
+			<area class="natural-water"/>
+		</rule>
+		<rule e="way" k="natural" v="marsh|wetland">
+			<area class="natural-water-marsh"/>
+		</rule>
+		<rule e="way" k="landuse" v="reservoir">
+			<rule e="way" k="reservoir_type" v="evaporator">
+				<area class="reservoir-evaporator"/>
+			</rule>
+			<else>
+				<rule e="way" k="reservoir_type" v="cooling">
+					<area class="reservoir-cooling"/>
+				</rule>
+				<else>
+					<rule e="way" k="reservoir_type" v="sewage">
+						<area class="reservoir-sewage"/>
+					</rule>
+					<else>
+						<rule e="way" k="reservoir_type" v="tailings">
+							<area class="reservoir-tailings"/>
+						</rule>
+						<else>
+							<rule e="way" k="reservoir_type" v="water_storage">
+								<area class="natural-water"/>
+							</rule>
+							<else>
+								<area class="natural-water"/>
+							</else>
+						</else>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="landuse" v="basin">
+			<rule e="way" k="basin" v="infiltration">
+				<area class="basin-infiltration"/>
+			</rule>
+			<else>
+				<rule e="way" k="basin" v="detention">
+					<area class="basin-detention"/>
+				</rule>
+				<else>
+					<rule e="way" k="basin" v="retention">
+						<area class="natural-water"/>
+						<area class="basin-retention"/>
+					</rule>
+					<else>
+						<area class="natural-water"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="waterway" v="riverbank">
+			<area class="waterway-riverbank"/>
+		</rule>
+		<rule e="way" k="waterway" v="weir">
+			<line class="waterway-weir"/>
+		</rule>
+		<rule e="way" k="waterway" v="dam">
+			<line class="waterway-dam"/>
+		</rule>
+		<rule e="node" k="waterway" v="lock_gate">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" k="lock" v="yes|true">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" s="way" k="lock" v="yes|true">
+			<wayMarker k="waterway" v="artificial|canal|ditch|drain|river|stream" class="canal-lock"/>
+		</rule>
+		<rule e="node" k="waterway" v="lock">
+			<wayMarker k="waterway" class="canal-lock"/>
+		</rule>
+		<rule e="node" s="way" k="waterway" v="lock">
+			<wayMarker k="waterway" v="artificial|canal|ditch|drain|river|stream" class="canal-lock"/>
+		</rule>
+
+		<rule e="way" k="boundary" v="national_park">
+			<area class="leisure-national_park"/>
+		</rule>
+		<rule e="way" k="leisure" v="landscape_reserve">
+			<area class="leisure-landscape_reserve"/>
+		</rule>
+		<rule e="way" k="leisure" v="nature_reserve">
+			<area class="leisure-nature_reserve"/>
+			<symbol ref="bird" position="center"/>
+		</rule>
+
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="highway" v="motorway|motorway_link|footway|steps|pedestrian|cycleway|bridleway|track|byway|path|cycleroad|living_street|construction|planned|proposed|disused|abandoned|dismantled">
+			</rule>
+			<else>
+				<rule e="way" k="motorroad" v="yes">
+				</rule>
+				<else>
+					<rule e="way" k="bicycle" v="no">
+						<line class="highway-nobicycle-1" smart-linecap="no" />
+						<line class="highway-nobicycle-2" smart-linecap="no" />
+					</rule>
+				</else>
+			</else>
+		</rule>
+
+		<!-- embankments & cutings -->
+		<rule e="way" k="man_made" v="dyke|dike|levee|embankment">
+			<rule e="way" k="highway" v="*">
+				<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+					<line class="dyke embankment-wide-long-casing"   smart-linecap="no" />
+					<line class="dyke embankment-wide-short-casing"  smart-linecap="no" />
+					<line class="dyke embankment-wide-middle-casing" smart-linecap="no" />
+					<line class="dyke embankment-wide-core"          smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="motorroad" v="yes">
+						<line class="dyke embankment-wide-long-casing"   smart-linecap="no" />
+						<line class="dyke embankment-wide-short-casing"  smart-linecap="no" />
+						<line class="dyke embankment-wide-middle-casing" smart-linecap="no" />
+						<line class="dyke embankment-wide-core"          smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="motorway|trunk">
+							<line class="dyke embankment-wide-long-casing"   smart-linecap="no" />
+							<line class="dyke embankment-wide-short-casing"  smart-linecap="no" />
+							<line class="dyke embankment-wide-middle-casing" smart-linecap="no" />
+							<line class="dyke embankment-wide-core"          smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="highway" v="path|footway|cycleway|bridleway|service|track|steps">
+								<line class="dyke embankment-small-long-casing"   smart-linecap="no" />
+								<line class="dyke embankment-small-short-casing"  smart-linecap="no" />
+								<line class="dyke embankment-small-middle-casing" smart-linecap="no" />
+								<line class="dyke embankment-small-core"          smart-linecap="no" />
+							</rule>
+							<else>
+								<line class="dyke embankment-long-casing"   smart-linecap="no" />
+								<line class="dyke embankment-short-casing"  smart-linecap="no" />
+								<line class="dyke embankment-middle-casing" smart-linecap="no" />
+								<line class="dyke embankment-core"          smart-linecap="no" />
+							</else>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<else>
+				<line class="dyke embankment-small-long-casing"   smart-linecap="no" />
+				<line class="dyke embankment-small-short-casing"  smart-linecap="no" />
+				<line class="dyke embankment-small-middle-casing" smart-linecap="no" />
+				<line class="dyke embankment-small-core"          smart-linecap="no" />
+			</else>
+		</rule>
+		<else>
+			<rule e="way" k="embankment" v="yes|true">
+				<rule e="way" k="highway" v="*">
+					<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+						<line class="embankment-cutting embankment-wide-long-casing"   smart-linecap="no" />
+						<line class="embankment-cutting embankment-wide-short-casing"  smart-linecap="no" />
+						<line class="embankment-cutting embankment-wide-middle-casing" smart-linecap="no" />
+						<line class="embankment-cutting embankment-wide-core"          smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="motorroad" v="yes">
+							<line class="embankment-cutting embankment-wide-long-casing"   smart-linecap="no" />
+							<line class="embankment-cutting embankment-wide-short-casing"  smart-linecap="no" />
+							<line class="embankment-cutting embankment-wide-middle-casing" smart-linecap="no" />
+							<line class="embankment-cutting embankment-wide-core"          smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="highway" v="motorway|trunk">
+								<line class="embankment-cutting embankment-wide-long-casing"   smart-linecap="no" />
+								<line class="embankment-cutting embankment-wide-short-casing"  smart-linecap="no" />
+								<line class="embankment-cutting embankment-wide-middle-casing" smart-linecap="no" />
+								<line class="embankment-cutting embankment-wide-core"          smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="highway" v="path|footway|cycleway|bridleway|service|track|steps">
+									<line class="embankment-cutting embankment-small-long-casing"   smart-linecap="no" />
+									<line class="embankment-cutting embankment-small-short-casing"  smart-linecap="no" />
+									<line class="embankment-cutting embankment-small-middle-casing" smart-linecap="no" />
+									<line class="embankment-cutting embankment-small-core"          smart-linecap="no" />
+								</rule>
+								<else>
+									<line class="embankment-cutting embankment-long-casing"   smart-linecap="no" />
+									<line class="embankment-cutting embankment-short-casing"  smart-linecap="no" />
+									<line class="embankment-cutting embankment-middle-casing" smart-linecap="no" />
+									<line class="embankment-cutting embankment-core"          smart-linecap="no" />
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+				<else>
+					<line class="embankment-cutting embankment-small-long-casing"   smart-linecap="no" />
+					<line class="embankment-cutting embankment-small-short-casing"  smart-linecap="no" />
+					<line class="embankment-cutting embankment-small-middle-casing" smart-linecap="no" />
+					<line class="embankment-cutting embankment-small-core"          smart-linecap="no" />
+				</else>
+			</rule>
+		</else>
+
+		<rule e="way" k="cutting" v="yes|true">
+			<rule e="way" k="highway" v="*">
+				<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+					<line class="embankment-cutting cutting-wide-casing"           smart-linecap="no" />
+					<line class="embankment-cutting cutting-wide-long-core"        smart-linecap="no" />
+					<line class="embankment-cutting cutting-wide-short-core"       smart-linecap="no" />
+					<line class="embankment-cutting cutting-wide-middle-core"      smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="motorroad" v="yes">
+						<line class="embankment-cutting cutting-wide-casing"           smart-linecap="no" />
+						<line class="embankment-cutting cutting-wide-long-core"        smart-linecap="no" />
+						<line class="embankment-cutting cutting-wide-short-core"       smart-linecap="no" />
+						<line class="embankment-cutting cutting-wide-middle-core"      smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="motorway|trunk">
+							<line class="embankment-cutting cutting-wide-casing"           smart-linecap="no" />
+							<line class="embankment-cutting cutting-wide-long-core"        smart-linecap="no" />
+							<line class="embankment-cutting cutting-wide-short-core"       smart-linecap="no" />
+							<line class="embankment-cutting cutting-wide-middle-core"      smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="highway" v="path|footway|cycleway|bridleway|service|track|steps">
+								<line class="embankment-cutting cutting-small-casing"           smart-linecap="no" />
+								<line class="embankment-cutting cutting-small-long-core"        smart-linecap="no" />
+								<line class="embankment-cutting cutting-small-short-core"       smart-linecap="no" />
+								<line class="embankment-cutting cutting-small-middle-core"      smart-linecap="no" />
+							</rule>
+							<else>
+								<line class="embankment-cutting cutting-casing"           smart-linecap="no" />
+								<line class="embankment-cutting cutting-long-core"        smart-linecap="no" />
+								<line class="embankment-cutting cutting-short-core"       smart-linecap="no" />
+								<line class="embankment-cutting cutting-middle-core"      smart-linecap="no" />
+							</else>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<else>
+				<line class="embankment-cutting cutting-small-casing"           smart-linecap="no" />
+				<line class="embankment-cutting cutting-small-long-core"        smart-linecap="no" />
+				<line class="embankment-cutting cutting-small-short-core"       smart-linecap="no" />
+				<line class="embankment-cutting cutting-small-middle-core"      smart-linecap="no" />
+			</else>
+		</rule>
+
+		<!-- Bridge casings -->
+		<rule e="way" k="bridge" v="yes|true">
+			<rule e="way" k="railway" v="rail|narrow_gauge|preserved|light_rail|tram|subway|incline|funicular|monorail|spur|yard|siding">
+				<rule e="way" k="disused|abandoned|dismantled|construction|planned|proposed" v="yes|true">
+					<line class="bridge-casing railway-bridge-casing railway-pla-casing-color" smart-linecap="no" suppress-markers-tag="bridge"/>
+				</rule>
+				<else>
+					<line class="bridge-casing railway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+				</else>
+			</rule>
+			<rule e="way" k="railway" v="disused|abandoned|dismantled|construction|planned|proposed">
+				<line class="bridge-casing railway-bridge-casing railway-pla-casing-color" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+
+			<rule e="way" k="highway" v="motorway">
+				<line class="bridge-casing highway-motorway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<line class="bridge-casing highway-trunk-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<line class="bridge-casing highway-primary-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<line class="bridge-casing highway-motorway-link-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<line class="bridge-casing highway-trunk-link-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<line class="bridge-casing highway-primary-link-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<line class="bridge-casing highway-secondary-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<line class="bridge-casing highway-secondary-link-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<line class="bridge-casing highway-tertiary-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<line class="bridge-casing highway-tertiary-link-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|minor|road">
+				<line class="bridge-casing highway-unclassified-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="residential|living_street|cycleroad">
+				<line class="bridge-casing highway-residential-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle|driveway|driveway">
+					<line class="bridge-casing highway-aisle-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+				</rule>
+				<else>
+					<line class="bridge-casing highway-service-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<line class="bridge-casing highway-unsurfaced-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<line class="bridge-casing highway-track-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<line class="bridge-casing highway-byway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<line class="bridge-casing highway-bridleway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<line class="bridge-casing highway-cycleway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="bridge-casing highway-cycleway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="bridge-casing highway-bridleway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+					</rule>
+					<else>
+						<line class="bridge-casing highway-footway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+					</else>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<line class="bridge-casing highway-pedestrian-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<line class="bridge-casing highway-footway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+			<rule e="way" k="highway" v="steps">
+				<line class="bridge-casing highway-steps-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/>
+			</rule>
+		</rule>
+
+		<!-- Bridge cores -->
+		<rule e="way" k="bridge" v="yes|true">
+			<rule e="way" k="railway" v="rail|narrow_gauge|preserved|light_rail|tram|subway|incline|funicular|monorail|spur|yard|siding|disused|abandoned|dismantled|construction|planned|proposed">
+				<line class="bridge-core railway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<line class="bridge-core highway-motorway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<line class="bridge-core highway-trunk-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<line class="bridge-core highway-primary-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<line class="bridge-core highway-motorway-link-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<line class="bridge-core highway-trunk-link-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<line class="bridge-core highway-primary-link-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<line class="bridge-core highway-secondary-link-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<line class="bridge-core highway-secondary-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<line class="bridge-core highway-tertiary-link-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<line class="bridge-core highway-tertiary-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|minor|road">
+				<line class="bridge-core highway-unclassified-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="residential|living_street|cycleroad">
+				<line class="bridge-core highway-residential-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle|driveway|driveway">
+					<line class="bridge-core highway-aisle-bridge-core" smart-linecap="no"/>
+				</rule>
+				<else>
+					<line class="bridge-core highway-service-bridge-core" smart-linecap="no"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<line class="bridge-core highway-unsurfaced-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<line class="bridge-core highway-track-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<line class="bridge-core highway-byway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<line class="bridge-core highway-bridleway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<line class="bridge-core highway-cycleway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="bridge-core highway-cycleway-bridge-core" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="bridge-core highway-bridleway-bridge-core" smart-linecap="no"/>
+					</rule>
+					<else>
+						<line class="bridge-core highway-footway-bridge-core" smart-linecap="no"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<line class="bridge-core highway-pedestrian-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<line class="bridge-core highway-footway-bridge-core" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="highway" v="steps">
+				<line class="bridge-core highway-steps-bridge-core" smart-linecap="no"/>
+			</rule>
+		</rule>
+
+		<!-- Highway area casings -->
+		<rule e="way" k="area" v="yes|true">
+			<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			<else>
+			   <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			   <else>
+
+				<rule e="way" k="highway" v="track">
+					<area class="highway-casing highway-track-area-back-casing" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="footway|footpath">
+					<area class="highway-casing highway-footway-casing highway-footway-area-casing no-bezier" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="pedestrian">
+					<area class="highway-casing highway-pedestrian-casing highway-pedestrian-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="cycleway">
+					<area class="highway-casing highway-cycleway-casing highway-cycleway-area-casing no-bezier" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<area class="highway-casing highway-cycleway-casing highway-cycleway-area-casing no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<area class="highway-casing highway-bridleway-casing highway-bridleway-area-casing no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<area class="highway-casing highway-footway-casing highway-footway-area-casing no-bezier" smart-linecap="no"/>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="bridleway">
+					<area class="highway-casing highway-bridleway-casing highway-bridleway-area-casing no-bezier" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="byway">
+					<area class="highway-casing highway-byway-1-casing highway-byway-1-area-casing no-bezier" smart-linecap="no"/>
+					<area class="highway-casing highway-byway-2-casing highway-byway-2-area-casing no-bezier" smart-linecap="no"/>
+					<area class="highway-casing highway-byway-3-casing highway-byway-3-area-casing no-bezier" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="track">
+					<rule e="way" k="tracktype" v="grade1">
+						<area class="highway-casing highway-track-casing highway-track-grade1-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade2">
+							<area class="highway-casing highway-track-casing highway-track-grade2-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade3">
+								<area class="highway-casing highway-track-casing highway-track-grade3-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade4">
+									<area class="highway-casing highway-track-casing highway-track-grade4-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+								</rule>
+								<else>
+									<rule e="way" k="tracktype" v="grade5">
+										<area class="highway-casing highway-track-casing highway-track-grade5-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+									</rule>
+									<else>
+										<area class="highway-casing highway-track-casing highway-track-gradex-casing highway-track-area-casing no-bezier" smart-linecap="no"/>
+									</else>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="unsurfaced">
+					<area class="highway-casing highway-unsurfaced-casing highway-unsurfaced-area-casing no-bezier" smart-linecap="no"/>
+				</rule>
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle|driveway">
+						<area class="highway-casing highway-aisle-casing highway-aisle-area-casing no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-service-casing highway-service-area-casing no-bezier"/>
+					</else>
+				</rule>
+				<rule e="way" k="highway" v="unclassified|minor|road">
+					<area class="highway-casing highway-unclassified-casing highway-unclassified-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="residential">
+					<area class="highway-casing highway-residential-casing highway-residential-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="living_street">
+					<area class="highway-casing highway-livingstreet-casing highway-livingstreet-area-casing no-bezier"/>
+				</rule>
+			   </else>
+			</else>
+
+			<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-casing highway-cycleroad-casing highway-cycleroad-area-casing no-bezier"/>
+						</else>
+					</rule>
+				</else>
+			</else>
+
+			<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			<else>
+			   <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			   <else>
+
+				<rule e="way" k="highway" v="tertiary_link">
+					<area class="highway-casing highway-tertiary-link-casing highway-tertiary-link-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="tertiary">
+					<area class="highway-casing highway-tertiary-casing highway-tertiary-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary_link">
+					<area class="highway-casing highway-secondary-link-casing highway-secondary-link-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="secondary">
+					<area class="highway-casing highway-secondary-casing highway-secondary-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="primary_link">
+					<area class="highway-casing highway-primary-link-casing highway-primary-link-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk_link">
+					<area class="highway-casing highway-trunk-link-casing highway-trunk-link-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway_link">
+					<area class="highway-casing highway-motorway-link-casing highway-motorway-link-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="primary">
+					<area class="highway-casing highway-primary-casing highway-primary-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="trunk">
+					<area class="highway-casing highway-trunk-casing highway-trunk-area-casing no-bezier"/>
+				</rule>
+				<rule e="way" k="highway" v="motorway">
+					<area class="highway-casing highway-motorway-casing highway-motorway-area-casing no-bezier"/>
+				</rule>
+			   </else>
+			</else>
+		</rule>
+
+		<!-- Linear casings -->
+		<rule e="way" k="tunnel" v="~|no|false">
+			<rule e="way" k="area" v="~|no|false">
+
+				<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+				<else>
+				   <rule e="way" k="cycleway" v="cyclestreet"></rule>
+				   <else>
+
+					<rule e="way" k="highway" v="track">
+						<line class="highway-casing highway-track-back-casing" smart-linecap="no"/>
+					</rule>
+					<rule e="way" k="highway" v="raceway">
+						<rule e="way" k="use_status" v="~">
+							<line class="highway-raceway-casing"/>
+						</rule>
+						<rule e="way" k="use_status" v="disused">
+							<line class="highway-raceway-casing-disused"/>
+						</rule>
+						<rule e="way" k="use_status" v="dismantled">
+							<line class="highway-raceway-casing-dismantled"/>
+						</rule>
+					</rule>
+
+					<rule e="way" k="highway" v="steps">
+						<rule e="way" k="ramp:wheelchair" v="yes">
+							<line class="highway-casing highway-steps-casing-ramp-wheelchair"/>
+							<line class="highway-casing highway-steps-casing-ramp"/>
+						</rule>
+						<else>
+							<rule e="way" k="ramp:stroller" v="yes">
+								<line class="highway-casing highway-steps-casing-ramp-stroller"/>
+								<line class="highway-casing highway-steps-casing-ramp"/>
+							</rule>
+							<else>
+								<rule e="way" k="ramp:bicycle" v="yes">
+									<line class="highway-casing highway-steps-casing-ramp-bicycle"/>
+									<line class="highway-casing highway-steps-casing-ramp"/>
+								</rule>
+								<else>
+									<rule e="way" k="ramp" v="yes">
+										<line class="highway-casing highway-steps-casing-ramp-yes"/>
+										<line class="highway-casing highway-steps-casing-ramp"/>
+									</rule>
+									<else>
+										<rule e="way" k="ramp" v="no">
+											<line class="highway-casing highway-steps-casing-ramp-no"/>
+											<line class="highway-casing highway-steps-casing-ramp"/>
+										</rule>
+										<else>
+											<line class="highway-casing highway-steps-casing"/>
+										</else>
+									</else>
+								</else>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="footway|footpath">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<line class="highway-casing highway-footway-cy1-casing" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-footway-casing" smart-linecap="no"/>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="pedestrian">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<line class="highway-casing highway-pedestrian-cy1-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-pedestrian-casing"/>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="cycleway">
+						<line class="highway-casing highway-cycleway-casing" smart-linecap="no"/>
+					</rule>
+
+					<rule e="way" k="highway" v="path">
+						<rule e="way" k="bicycle" v="yes|designated">
+							<line class="highway-casing highway-cycleway-casing" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="horse" v="yes|designated">
+								<line class="highway-casing highway-bridleway-casing" smart-linecap="no"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-footway-casing" smart-linecap="no"/>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="bridleway">
+						<line class="highway-casing highway-bridleway-casing" smart-linecap="no"/>
+					</rule>
+					<rule e="way" k="highway" v="byway">
+						<line class="highway-casing highway-byway-1-casing" smart-linecap="no"/>
+						<line class="highway-casing highway-byway-2-casing" smart-linecap="no"/>
+						<line class="highway-casing highway-byway-3-casing" smart-linecap="no"/>
+					</rule>
+
+					<rule e="way" k="highway" v="track">
+						<rule e="way" k="tracktype" v="grade1">
+							<line class="highway-casing highway-track-casing highway-track-grade1-casing" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade2">
+								<line class="highway-casing highway-track-casing highway-track-grade2-casing" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade3">
+									<line class="highway-casing highway-track-casing highway-track-grade3-casing" smart-linecap="no"/>
+								</rule>
+								<else>
+									<rule e="way" k="tracktype" v="grade4">
+										<line class="highway-casing highway-track-casing highway-track-grade4-casing" smart-linecap="no"/>
+									</rule>
+									<else>
+										<rule e="way" k="tracktype" v="grade5">
+											<line class="highway-casing highway-track-casing highway-track-grade5-casing" smart-linecap="no"/>
+										</rule>
+										<else>
+											<rule e="way" k="track" v="racetrack">
+												<line class="highway-racetrack-casing-white" smart-linecap="no"/>
+												<line class="highway-racetrack-casing-red" smart-linecap="no"/>
+											</rule>
+											<else>
+												<line class="highway-casing highway-track-casing highway-track-gradex-casing" smart-linecap="no"/>
+											</else>
+										</else>
+									</else>
+								</else>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="unsurfaced">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<line class="highway-casing highway-unsurfaced-cy1-casing" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-unsurfaced-casing" smart-linecap="no"/>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="service">
+						<rule e="way" k="service" v="parking_aisle|driveway">
+							<line class="highway-casing highway-aisle-casing"/>
+						</rule>
+						<else>
+							<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+								<line class="highway-casing highway-service-cy1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-service-casing"/>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="unclassified|minor|road|ford">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<line class="highway-casing highway-unclassified-cy1-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-unclassified-casing"/>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="residential">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<line class="highway-casing highway-residential-cy1-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-residential-casing"/>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="living_street">
+						<line class="highway-casing highway-livingstreet-casing"/>
+					</rule>
+				   </else>
+				</else>
+
+				<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-casing highway-cycleroad-casing"/>
+					</rule>
+					<else>
+						<line class="highway-casing highway-cycleroad-casing"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-casing highway-cycleroad-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-cycleroad-casing"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-casing highway-cycleroad-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-cycleroad-casing"/>
+							</else>
+						</rule>
+					</else>
+				</else>
+
+				<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+				<else>
+				   <rule e="way" k="cycleway" v="cyclestreet"></rule>
+				   <else>
+
+					<rule e="way" k="highway" v="tertiary_link">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-tertiary-link-mrcy1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-tertiary-link-cy1-casing"/>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-tertiary-link-mr1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-tertiary-link-casing"/>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="tertiary">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-tertiary-mrcy1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-tertiary-cy1-casing"/>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-tertiary-mr1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-tertiary-casing"/>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="secondary_link">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-secondary-link-mrcy1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-secondary-link-cy1-casing"/>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-secondary-link-mr1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-secondary-link-casing"/>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="secondary">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-secondary-mrcy1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-secondary-cy1-casing"/>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-secondary-mr1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-secondary-casing"/>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="primary_link">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-primary-link-mrcy1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-primary-link-cy1-casing"/>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-primary-link-mr1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-primary-link-casing"/>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="primary">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-primary-mrcy1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-primary-cy1-casing"/>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-primary-mr1-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-primary-casing"/>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="trunk_link">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-trunk-link-mrcy1-casing"/>
+							</rule>
+							<else>
+								<rule e="way" k="motorroad" v="no">
+									<line class="highway-casing highway-trunk-link-mrcy1-casing"/>
+								</rule>
+								<else>
+									<line class="highway-casing highway-trunk-link-cy1-casing"/>
+								</else>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-trunk-link-mr1-casing"/>
+							</rule>
+							<else>
+								<rule e="way" k="motorroad" v="no">
+									<line class="highway-casing highway-trunk-link-mr1-casing"/>
+								</rule>
+								<else>
+									<line class="highway-casing highway-trunk-link-casing"/>
+								</else>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="trunk">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-trunk-mrcy1-casing"/>
+							</rule>
+							<else>
+								<rule e="way" k="motorroad" v="no">
+									<line class="highway-casing highway-trunk-mrcy1-casing"/>
+								</rule>
+								<else>
+									<line class="highway-casing highway-trunk-cy1-casing"/>
+								</else>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-trunk-mr1-casing"/>
+							</rule>
+							<else>
+								<rule e="way" k="motorroad" v="no">
+									<line class="highway-casing highway-trunk-mr1-casing"/>
+								</rule>
+								<else>
+									<line class="highway-casing highway-trunk-casing"/>
+								</else>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="motorway_link">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<line class="highway-casing highway-motorway-link-cy1-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-motorway-link-casing"/>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="motorway">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<line class="highway-casing highway-motorway-cy1-casing"/>
+						</rule>
+						<else>
+							<line class="highway-casing highway-motorway-casing"/>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="footway|footpath">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<line class="highway-casing highway-footway-cy2-casing" smart-linecap="no"/>
+						</rule>
+					</rule>
+
+					<rule e="way" k="highway" v="pedestrian">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<line class="highway-casing highway-pedestrian-cy2-casing"/>
+						</rule>
+					</rule>
+
+					<rule e="way" k="highway" v="unsurfaced">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<line class="highway-casing highway-unsurfaced-cy2-casing" smart-linecap="no"/>
+						</rule>
+					</rule>
+
+					<rule e="way" k="highway" v="service">
+						<rule e="way" k="service" v="parking_aisle|driveway">
+							<line class="highway-casing highway-aisle-casing"/>
+						</rule>
+						<else>
+							<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+								<line class="highway-casing highway-service-cy2-casing"/>
+							</rule>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="unclassified|minor|road|ford">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<line class="highway-casing highway-unclassified-cy2-casing"/>
+						</rule>
+					</rule>
+
+					<rule e="way" k="highway" v="residential">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<line class="highway-casing highway-residential-cy2-casing"/>
+						</rule>
+					</rule>
+
+					<rule e="way" k="highway" v="tertiary_link|tertiary|secondary_link|secondary|primary_link|primary">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-tertiary-link-mrcy2-casing"/>
+							</rule>
+							<else>
+								<line class="highway-casing highway-tertiary-link-cy2-casing"/>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-tertiary-link-mr2-casing"/>
+							</rule>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="trunk_link">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-trunk-link-mrcy2-casing"/>
+							</rule>
+							<else>
+								<rule e="way" k="motorroad" v="no">
+									<line class="highway-casing highway-trunk-link-mrcy2-casing"/>
+								</rule>
+								<else>
+									<line class="highway-casing highway-trunk-link-cy2-casing"/>
+								</else>
+							</else>
+						</rule>
+					</rule>
+
+					<rule e="way" k="highway" v="trunk">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-trunk-mrcy2-casing"/>
+								<line class="highway-casing highway-trunk-mrcy3-casing"/>
+							</rule>
+							<else>
+								<rule e="way" k="motorroad" v="no">
+									<line class="highway-casing highway-trunk-mrcy2-casing"/>
+									<line class="highway-casing highway-trunk-mrcy4-casing"/>
+								</rule>
+								<else>
+									<line class="highway-casing highway-trunk-cy2-casing"/>
+								</else>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-trunk-mr2-casing"/>
+							</rule>
+							<else>
+								<rule e="way" k="motorroad" v="no">
+									<line class="highway-casing highway-trunk-mr3-casing"/>
+								</rule>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="motorway_link">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<line class="highway-casing highway-motorway-link-cy2-casing"/>
+						</rule>
+					</rule>
+
+					<rule e="way" k="highway" v="motorway">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<line class="highway-casing highway-motorway-cy2-casing"/>
+						</rule>
+					</rule>
+
+					<rule e="way" k="highway" v="tertiary_link|tertiary|secondary_link|secondary|primary_link|primary">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-tertiary-link-mrcy3-casing"/>
+							</rule>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-tertiary-link-mr2-casing"/>
+							</rule>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="trunk_link">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-trunk-link-mrcy3-casing"/>
+							</rule>
+							<else>
+								<rule e="way" k="motorroad" v="no">
+									<line class="highway-casing highway-trunk-link-mrcy4-casing"/>
+								</rule>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-trunk-link-mr2-casing"/>
+							</rule>
+							<else>
+								<rule e="way" k="motorroad" v="no">
+									<line class="highway-casing highway-trunk-link-mr3-casing"/>
+								</rule>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="trunk">
+						<rule e="way" k="cycleway|cycleway:left|cycleway:right" v="yes|track|lane|both|left|right|opposite_track|opposite_lane">
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-trunk-mrcy3-casing"/>
+							</rule>
+							<else>
+								<rule e="way" k="motorroad" v="no">
+									<line class="highway-casing highway-trunk-mrcy4-casing"/>
+								</rule>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="motorroad" v="yes">
+								<line class="highway-casing highway-trunk-mr2-casing"/>
+							</rule>
+							<else>
+								<rule e="way" k="motorroad" v="no">
+									<line class="highway-casing highway-trunk-mr3-casing"/>
+								</rule>
+							</else>
+						</else>
+					</rule>
+				   </else>
+				</else>
+
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-casing railway-con-casing-color railway-casing" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-casing railway-pla-casing-color railway-casing" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-casing railway-dis-casing-color railway-casing" smart-linecap="no" />
+							</rule>
+							<else>
+							   <rule e="way" k="razed" v="*">
+									<line class="railway-raz-casing railway-raz-casing-color railway-casing" smart-linecap="no" />
+							   </rule>
+							   <else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-casing railway-aba-casing-color railway-casing" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-casing railway-con-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-casing railway-pla-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-casing railway-dis-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-casing railway-aba-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="razed">
+										<line class="railway-raz-casing railway-raz-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<rule e="way" k="service" v="spur|yard|siding">
+											<line class="railway-yard-casing railway-yard-casing-color railway-casing" smart-linecap="no" />
+										</rule>
+										<else>
+											<line class="railway-rail-casing railway-rail-casing-color railway-casing" smart-linecap="no" />
+										</else>
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-casing railway-narrow-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-casing railway-preserved-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-casing railway-light-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-casing railway-tram-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-casing railway-subway-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-casing railway-funicular-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-casing railway-monorail-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-casing railway-yard-casing-color railway-casing" smart-linecap="no" />
+									</rule>
+								</else>
+							   </else>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+			</rule>
+		</rule>
+
+		<!-- Turning circles -->
+		<rule e="node" k="highway" v="turning_circle">
+			<rule e="node" s="way" k="highway" v="unclassified|residential|minor|road">
+				<circle r="1.5" class="highway-unclassified-turningcircle-casing"/>
+			</rule>
+			<rule e="node" s="way" k="highway" v="unclassified|residential|minor|road">
+				<circle r="1.4" class="highway-unclassified-turningcircle-core"/>
+			</rule>
+		</rule>
+
+		<!-- platforms casings -->
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="yes">
+			<line class="highway-platform-area-casing" />
+		</rule>
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="no">
+			<line class="highway-platform-way-casing" />
+		</rule>
+
+		<!-- Highway area cores -->
+		<rule e="way" k="area" v="yes|true">
+
+			<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			<else>
+			   <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			   <else>
+
+				<rule e="way" k="highway" v="footway|footpath">
+					<area class="highway-core highway-footway-area no-bezier" smart-linecap="no"/>
+				</rule>
+
+				<rule e="way" k="highway" v="pedestrian">
+					<area class="highway-core highway-pedestrian-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="cycleway">
+					<area class="highway-core highway-cycleway-area no-bezier" smart-linecap="no"/>
+				</rule>
+
+				<rule e="way" k="highway" v="path">
+					<rule e="way" k="bicycle" v="yes|designated">
+						<area class="highway-core highway-cycleway-area no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="horse" v="yes|designated">
+							<area class="highway-core highway-bridleway-area no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<area class="highway-core highway-path-area no-bezier" smart-linecap="no"/>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="bridleway">
+					<area class="highway-core highway-bridleway-area no-bezier" smart-linecap="no"/>
+				</rule>
+
+				<rule e="way" k="highway" v="byway">
+					<area class="highway-core highway-byway-area no-bezier" smart-linecap="no"/>
+				</rule>
+
+				<rule e="way" k="highway" v="track">
+					<rule e="way" k="tracktype" v="grade1">
+						<area class="highway-core highway-track-grade1-area no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<rule e="way" k="tracktype" v="grade2">
+							<area class="highway-core highway-track-grade2-area no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade3">
+								<area class="highway-core highway-track-grade3-area no-bezier" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade4">
+									<area class="highway-core highway-track-grade4-area no-bezier" smart-linecap="no"/>
+								</rule>
+								<else>
+									<rule e="way" k="tracktype" v="grade5">
+										<area class="highway-core highway-track-grade5-area no-bezier" smart-linecap="no"/>
+									</rule>
+									<else>
+										<area class="highway-core highway-track-gradex-area no-bezier" smart-linecap="no"/>
+									</else>
+								</else>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="unsurfaced">
+					<area class="highway-core highway-unsurfaced-area no-bezier" smart-linecap="no"/>
+				</rule>
+
+				<rule e="way" k="highway" v="service">
+					<rule e="way" k="service" v="parking_aisle|driveway">
+						<area class="highway-core highway-aisle-area no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-service-area no-bezier"/>
+					</else>
+				</rule>
+
+				<rule e="way" k="highway" v="unclassified|minor">
+					<area class="highway-core highway-unclassified-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="residential">
+					<area class="highway-core highway-residential-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="road">
+					<area class="highway-core highway-road-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="living_street">
+					<area class="highway-core highway-livingstreet-area-1 no-bezier"/>
+					<area class="highway-core highway-livingstreet-area-2 no-bezier"/>
+				</rule>
+
+			   </else>
+			</else>
+
+			<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+				<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+					<area class="highway-core highway-cycleroad-area-1 no-bezier"/>
+					<area class="highway-core highway-cycleroad-area-2 no-bezier"/>
+				</rule>
+				<else>
+					<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="cycleway" v="cyclestreet">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<area class="highway-core highway-cycleroad-area-1 no-bezier"/>
+						<area class="highway-core highway-cycleroad-area-2 no-bezier"/>
+					</rule>
+					<else>
+						<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="cycleroad">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<area class="highway-core highway-cycleroad-area-1 no-bezier"/>
+							<area class="highway-core highway-cycleroad-area-2 no-bezier"/>
+						</rule>
+						<else>
+							<area class="highway-core highway-cycleroad-area-3 no-bezier"/>
+						</else>
+					</rule>
+				</else>
+			</else>
+
+			<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+			<else>
+			   <rule e="way" k="cycleway" v="cyclestreet"></rule>
+			   <else>
+
+				<rule e="way" k="highway" v="tertiary_link">
+					<area class="highway-core highway-tertiary-link-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="tertiary">
+					<area class="highway-core highway-tertiary-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="secondary_link">
+					<area class="highway-core highway-secondary-link-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="secondary">
+					<area class="highway-core highway-secondary-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="primary_link">
+					<area class="highway-core highway-primary-link-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="trunk_link">
+					<area class="highway-core highway-trunk-link-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="motorway_link">
+					<area class="highway-core highway-motorway-link-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="primary">
+					<area class="highway-core highway-primary-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="trunk">
+					<area class="highway-core highway-trunk-area no-bezier"/>
+				</rule>
+
+				<rule e="way" k="highway" v="motorway">
+					<area class="highway-core highway-motorway-area no-bezier"/>
+				</rule>
+			   </else>
+			</else>
+		</rule>
+
+		<!-- Buildings -->
+		<rule e="way" k="aeroway" v="terminal">
+			<area class="building-block"/>
+		</rule>
+		<rule e="way" k="building" v="*">
+			<area class="building-block no-bezier"/>
+		</rule>
+		<rule e="node" k="building" v="*">
+			<rule e="node" k="building" v="entrance">
+				<symbol ref="entrance" position="center"/>
+			</rule>
+			<else>
+				<symbol ref="building" position="center"/>
+			</else>
+		</rule>
+		<rule e="node" k="entrance" v="*">
+			<symbol ref="entrance" position="center"/>
+		</rule>
+
+		<!-- Linear cores -->
+		<rule e="way" k="tunnel" v="~|false|no">
+			<rule e="way" k="area" v="~|false|no">
+
+				<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+				<else>
+				   <rule e="way" k="cycleway" v="cyclestreet"></rule>
+				   <else>
+
+					<rule e="way" k="highway" v="ford">
+						<line class="highway-core highway-ford-core" smart-linecap="no"/>
+					</rule>
+
+					<rule e="way" k="highway" v="raceway">
+						<rule e="way" k="use_status" v="~">
+							<line class="highway-raceway-core"/>
+						</rule>
+						<rule e="way" k="use_status" v="disused">
+							<line class="highway-raceway-core-disused"/>
+						</rule>
+						<rule e="way" k="use_status" v="dismantled">
+							<line class="highway-raceway-core-dismantled"/>
+						</rule>
+					</rule>
+
+					<rule e="way" k="scramble" v="*">
+						<line class="highway-core highway-scramble-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="steps">
+						<line class="highway-core highway-steps-core" smart-linecap="no"/>
+					</rule>
+
+					<rule e="way" k="highway" v="footway|footpath">
+						<line class="highway-core highway-footway-core" smart-linecap="no"/>
+					</rule>
+
+					<rule e="way" k="highway" v="pedestrian">
+						<line class="highway-core highway-pedestrian-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="cycleway">
+						<line class="highway-core highway-cycleway-core" smart-linecap="no"/>
+					</rule>
+
+					<rule e="way" k="highway" v="path">
+						<rule e="way" k="bicycle" v="yes|designated">
+							<line class="highway-core highway-cycleway-core" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="horse" v="yes|designated">
+								<line class="highway-core highway-bridleway-core" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="foot" v="yes|designated">
+									<line class="highway-core highway-footway-core" smart-linecap="no"/>
+								</rule>
+								<else>
+									<line class="highway-core highway-path-core" smart-linecap="no"/>
+								</else>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="bridleway">
+						<line class="highway-core highway-bridleway-core" smart-linecap="no"/>
+					</rule>
+
+					<rule e="way" k="highway" v="byway">
+						<line class="highway-core highway-byway-2-casing" smart-linecap="no"/>
+						<line class="highway-core highway-byway-3-casing" smart-linecap="no"/>
+						<line class="highway-core highway-byway-1-core" smart-linecap="no"/>
+					</rule>
+
+					<rule e="way" k="highway" v="track">
+						<rule e="way" k="track" v="racetrack">
+							<line class="highway-racetrack-core" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="tracktype" v="grade1">
+								<line class="highway-core highway-track-core2 highway-track-grade1-core" smart-linecap="no"/>
+							</rule>
+							<else>
+								<rule e="way" k="tracktype" v="grade2">
+									<line class="highway-core highway-track-core2 highway-track-grade2-core" smart-linecap="no"/>
+								</rule>
+								<else>
+									<rule e="way" k="tracktype" v="grade3">
+										<line class="highway-core highway-track-core highway-track-grade3-core" smart-linecap="no"/>
+									</rule>
+									<else>
+										<rule e="way" k="tracktype" v="grade4">
+											<line class="highway-core highway-track-core highway-track-grade4-core" smart-linecap="no"/>
+										</rule>
+										<else>
+											<rule e="way" k="tracktype" v="grade5">
+												<line class="highway-core highway-track-core  highway-track-grade5-core" smart-linecap="no"/>
+											</rule>
+											<else>
+												<line class="highway-core highway-track-core2 highway-track-gradex-core" smart-linecap="no"/>
+											</else>
+										</else>
+									</else>
+								</else>
+							</else>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="unsurfaced">
+						<line class="highway-core highway-unsurfaced-core" smart-linecap="no"/>
+					</rule>
+
+					<rule e="way" k="highway" v="service">
+						<rule e="way" k="service" v="parking_aisle|driveway">
+							<line class="highway-core highway-aisle-core"/>
+						</rule>
+						<else>
+							<line class="highway-core highway-service-core"/>
+						</else>
+					</rule>
+
+					<rule e="way" k="highway" v="unclassified|minor">
+						<line class="highway-core highway-unclassified-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="residential">
+						<line class="highway-core highway-residential-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="road">
+						<line class="highway-core highway-road-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="living_street">
+						<line class="highway-core highway-livingstreet-core-1" smart-linecap="no"/>
+						<line class="highway-core highway-livingstreet-core-2" smart-linecap="no"/>
+					</rule>
+
+				   </else>
+				</else>
+
+				<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes">
+					<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+						<line class="highway-core highway-cycleroad-core-1" smart-linecap="no"/>
+						<line class="highway-core highway-cycleroad-core-2" smart-linecap="no"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-cycleroad-core-3"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="cycleway" v="cyclestreet">
+						<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+							<line class="highway-core highway-cycleroad-core-1" smart-linecap="no"/>
+							<line class="highway-core highway-cycleroad-core-2" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="highway-core highway-cycleroad-core-3"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="highway" v="cycleroad">
+							<rule e="way" k="motorcar|motor_vehicle" v="yes|destination|private">
+								<line class="highway-core highway-cycleroad-core-1" smart-linecap="no"/>
+								<line class="highway-core highway-cycleroad-core-2" smart-linecap="no"/>
+							</rule>
+							<else>
+								<line class="highway-core highway-cycleroad-core-3"/>
+							</else>
+						</rule>
+					</else>
+				</else>
+
+				<rule e="way" k="bicycle_road|cycleroad|cyclestreet" v="yes"></rule>
+				<else>
+				   <rule e="way" k="cycleway" v="cyclestreet"></rule>
+				   <else>
+
+					<rule e="way" k="highway" v="tertiary_link">
+						<line class="highway-core highway-tertiary-link-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="tertiary">
+						<line class="highway-core highway-tertiary-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="secondary_link">
+						<line class="highway-core highway-secondary-link-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="secondary">
+						<line class="highway-core highway-secondary-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="primary_link">
+						<line class="highway-core highway-primary-link-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="trunk_link">
+						<line class="highway-core highway-trunk-link-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="motorway_link">
+						<line class="highway-core highway-motorway-link-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="primary">
+						<line class="highway-core highway-primary-core"/>
+					</rule>
+					<rule e="way" k="highway" v="trunk">
+						<line class="highway-core highway-trunk-core"/>
+					</rule>
+
+					<rule e="way" k="highway" v="motorway">
+						<line class="highway-core highway-motorway-core"/>
+					</rule>
+				   </else>
+				</else>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-1-core railway-con-1-core-color railway-1-core" smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-1-core railway-pla-1-core-color railway-1-core" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-1-core railway-dis-1-core-color railway-1-core" smart-linecap="no" />
+							</rule>
+							<else>
+							   <rule e="way" k="razed" v="*">
+								<line class="railway-raz-1-core railway-raz-1-core-color railway-1-core" smart-linecap="no" />
+							   </rule>
+							   <else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-1-core railway-aba-1-core-color railway-1-core" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-1-core railway-con-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-1-core railway-pla-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-1-core railway-dis-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="razed">
+										<line class="railway-raz-1-core railway-raz-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-1-core railway-aba-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<rule e="way" k="service" v="spur|yard|siding">
+											<line class="railway-yard-1-core railway-yard-1-core-color railway-1-core" smart-linecap="no" />
+										</rule>
+										<else>
+											<line class="railway-rail-1-core railway-rail-1-core-color railway-1-core" smart-linecap="no" />
+										</else>
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-1-core railway-narrow-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-1-core railway-preserved-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-1-core railway-light-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-1-core railway-tram-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-1-core railway-subway-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-1-core railway-funicular-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-1-core railway-monorail-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-1-core railway-yard-1-core-color railway-1-core" smart-linecap="no" />
+									</rule>
+								</else>
+							   </else>
+							</else>
+						</else>
+					</else>
+				</rule>
+
+				<rule e="way" k="railway" v="*">
+					<rule e="way" k="construction" v="*">
+						<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="planned|proposed" v="*">
+							<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core" smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="disused" v="*">
+								<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+							</rule>
+							<else>
+							   <rule e="way" k="razed" v="*">
+									<line class="railway-raz-2-core railway-raz-2-core-color railway-2-core" smart-linecap="no" />
+							   </rule>
+							   <else>
+								<rule e="way" k="abandoned|dismantled" v="*">
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+								</rule>
+								<else>
+									<rule e="way" k="railway" v="construction">
+										<line class="railway-con-2-core railway-con-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="planned|proposed">
+										<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core"/>
+									</rule>
+									<rule e="way" k="railway" v="disused">
+										<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="razed">
+										<line class="railway-raz-2-core railway-raz-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="abandoned|dismantled">
+										<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="rail">
+										<rule e="way" k="service" v="spur|yard|siding">
+											<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core" smart-linecap="no" />
+										</rule>
+										<else>
+											<rule e="way" k="usage" v="main">
+												<line class="railway-main-2-core railway-rail-2-core-color railway-2-core" smart-linecap="no" />
+											</rule>
+											<else>
+												<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core" smart-linecap="no" />
+											</else>
+										</else>
+									</rule>
+									<rule e="way" k="railway" v="narrow_gauge">
+										<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="preserved">
+										<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="light_rail">
+										<line class="railway-light-2-core railway-light-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="tram">
+										<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="subway">
+										<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="incline|funicular">
+										<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="monorail">
+										<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+									<rule e="way" k="railway" v="spur|yard|siding">
+										<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core" smart-linecap="no" />
+									</rule>
+								</else>
+							   </else>
+							</else>
+						</else>
+					</else>
+					<rule e="way" k="electrified" v="contact_line|yes|rail|contact_rail|line">
+						<line class="electrified" smart-linecap="no" />
+					</rule>
+				</rule>
+
+				<rule e="way" k="aeroway" v="runway">
+					<line class="aeroway-runway-core"/>
+				</rule>
+				<rule e="way" k="aeroway" v="taxiway">
+					<line class="aeroway-taxiway-core"/>
+				</rule>
+			</rule>
+		</rule>
+
+		<!-- Tunnels -->
+		<rule e="way" k="tunnel" v="true|yes">
+			<rule e="way" k="highway" v="steps">
+				<line class="tunnel-casing highway-steps-casing tunnel" mask-class="tunnel-core highway-steps-core"/>
+				<line class="highway-steps-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="footway|footpath">
+				<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+				<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="pedestrian">
+				<line class="tunnel-casing highway-pedestrian-casing tunnel" mask-class="tunnel-core highway-pedestrian-core"/>
+				<line class="highway-pedestrian-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="cycleway">
+				<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+				<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/>
+					<line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+						<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</rule>
+					<else>
+						<line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/>
+						<line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="highway" v="bridleway">
+				<line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/>
+				<line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="byway">
+				<line class="tunnel-casing highway-byway-1-casing tunnel" mask-class="tunnel-core highway-byway-1-core"/>
+				<line class="highway-byway-1-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="track">
+				<line class="tunnel-casing highway-track-casing tunnel" mask-class="tunnel-core highway-track-core"/>
+				<line class="highway-track-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="unsurfaced">
+				<line class="tunnel-casing highway-unsurfaced-casing tunnel" mask-class="tunnel-core highway-unsurfaced-core"/>
+				<line class="highway-unsurfaced-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="service">
+				<rule e="way" k="service" v="parking_aisle|driveway">
+					<line class="tunnel-casing highway-aisle-casing tunnel" mask-class="tunnel-core highway-aisle-core"/>
+					<line class="highway-aisle-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</rule>
+				<else>
+					<line class="tunnel-casing highway-service-casing tunnel" mask-class="tunnel-core highway-service-core"/>
+					<line class="highway-service-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+				</else>
+			</rule>
+			<rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-unclassified-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="road">
+				<line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-road-core"/>
+				<line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary_link">
+				<line class="tunnel-casing highway-tertiary-link-casing tunnel" mask-class="tunnel-core highway-tertiary-link-core"/>
+				<line class="highway-secondary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="tertiary">
+				<line class="tunnel-casing highway-tertiary-casing tunnel" mask-class="tunnel-core highway-tertiary-core"/>
+				<line class="highway-tertiary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary_link">
+				<line class="tunnel-casing highway-secondary-link-casing tunnel" mask-class="tunnel-core highway-secondary-link-core"/>
+				<line class="highway-secondary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="secondary">
+				<line class="tunnel-casing highway-secondary-casing tunnel" mask-class="tunnel-core highway-secondary-core"/>
+				<line class="highway-secondary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary_link">
+				<line class="tunnel-casing highway-primary-link-casing tunnel" mask-class="tunnel-core highway-primary-link-core"/>
+				<line class="highway-primary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk_link">
+				<line class="tunnel-casing highway-trunk-link-casing tunnel" mask-class="tunnel-core highway-trunk-link-core"/>
+				<line class="highway-trunk-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway_link">
+				<line class="tunnel-casing highway-motorway-link-casing tunnel" mask-class="tunnel-core highway-motorway-link-core"/>
+				<line class="highway-motorway-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="primary">
+				<line class="tunnel-casing highway-primary-casing tunnel" mask-class="tunnel-core highway-primary-core"/>
+				<line class="highway-primary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="trunk">
+				<line class="tunnel-casing highway-trunk-casing tunnel" mask-class="tunnel-core highway-trunk-core"/>
+				<line class="highway-trunk-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+			<rule e="way" k="highway" v="motorway">
+				<line class="tunnel-casing highway-motorway-casing tunnel" mask-class="tunnel-core highway-motorway-core"/>
+				<line class="highway-motorway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+
+			<rule e="way" k="railway" v="*">
+				<rule e="way" k="construction" v="yes|true">
+					<line class="railway-con-casing railway-con-casing-color tunnel-casing tunnel" mask-class="tunnel-core railway-con-1-core"/>
+					<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="planned|proposed" v="yes|true">
+						<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-1-core"/>
+						<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+					</rule>
+					<else>
+						<rule e="way" k="disused" v="yes|true">
+							<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-1-core"/>
+							<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+						</rule>
+						<else>
+							<rule e="way" k="abandoned|dismantled" v="yes|true">
+								<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-1-core"/>
+								<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+							</rule>
+							<else>
+								<rule e="way" k="railway" v="construction">
+									<line class="railway-con-casing railway-con-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-con-1-core"/>
+									<line class="railway-con-2-core railway-con-2-core-color railway-2-core railway-con-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="planned|proposed">
+									<line class="railway-pla-casing railway-pla-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-pla-1-core"/>
+									<line class="railway-pla-2-core railway-pla-2-core-color railway-2-core railway-pla-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="disused">
+									<line class="railway-dis-casing railway-dis-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-dis-1-core"/>
+									<line class="railway-dis-2-core railway-dis-2-core-color railway-2-core railway-dis-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="abandoned|dismantled">
+									<line class="railway-aba-casing railway-aba-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-aba-1-core"/>
+									<line class="railway-aba-2-core railway-aba-2-core-color railway-2-core railway-aba-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="rail">
+									<rule e="way" k="service" v="spur|yard|siding">
+										<line class="railway-yard-casing railway-yard-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-yard-1-core"/>
+										<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core railway-yard-tunnel-core tunnel"  smart-linecap="no" />
+									</rule>
+									<else>
+										<line class="railway-rail-casing railway-rail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-rail-1-core"/>
+										<line class="railway-rail-2-core railway-rail-2-core-color railway-2-core railway-rail-tunnel-core tunnel"  smart-linecap="no" />
+									</else>
+								</rule>
+								<rule e="way" k="railway" v="narrow_gauge">
+									<line class="railway-narrow-casing railway-narrow-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-narrow-1-core"/>
+									<line class="railway-narrow-2-core railway-narrow-2-core-color railway-2-core railway-narrow-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="preserved">
+									<line class="railway-preserved-casing railway-preserved-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-preserved-1-core"/>
+									<line class="railway-preserved-2-core railway-preserved-2-core-color railway-2-core railway-preserved-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="light_rail">
+									<line class="railway-light-casing railway-light-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-light-1-core"/>
+									<line class="railway-light-2-core railway-light-2-core-color railway-2-core railway-light-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="tram">
+									<line class="railway-tram-casing railway-tram-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-tram-1-core"/>
+									<line class="railway-tram-2-core railway-tram-2-core-color railway-2-core railway-tram-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="subway">
+									<line class="railway-subway-casing railway-subway-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-subway-1-core"/>
+									<line class="railway-subway-2-core railway-subway-2-core-color railway-2-core railway-subway-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="incline|funicular">
+									<line class="railway-funicular-casing railway-funicular-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-funicular-t-core"/>
+									<line class="railway-funicular-1-core railway-funicular-1-core-color railway-1-core railway-funicular-tunnel-core tunnel"  smart-linecap="no" />
+									<line class="railway-funicular-2-core railway-funicular-2-core-color railway-2-core railway-funicular-tunnel-core tunnel-casing tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="monorail">
+									<line class="railway-monorail-casing railway-monorail-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-monorail-1-core"/>
+									<line class="railway-monorail-2-core railway-monorail-2-core-color railway-2-core railway-monorail-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+								<rule e="way" k="railway" v="spur|yard|siding">
+									<line class="railway-yard-casing railway-yard-casing-color railway-casing tunnel-casing tunnel" mask-class="tunnel-core railway-yard-1-core"/>
+									<line class="railway-yard-2-core railway-yard-2-core-color railway-2-core railway-yard-tunnel-core tunnel"  smart-linecap="no" />
+								</rule>
+							</else>
+						</else>
+					</else>
+				</else>
+				<line class="railway-tunnel-ends" suppress-markers-tag="tunnel"/>
+			</rule>
+
+		</rule>
+
+		<!-- platforms cores -->
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="yes">
+			<line class="highway-platform-area" />
+		</rule>
+		<rule e="way" k="highway|railway|public_transport" v="platform" closed="no">
+			<line class="highway-platform-way-core" />
+		</rule>
+
+		<!-- Linear cores (under construction) -->
+		<rule e="way" k="highway" v="construction">
+			<rule e="way" k="construction" v="steps">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-steps-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="footway|footpath">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-footway-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="pedestrian">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-pedestrian-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="cycleway">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-cycleway-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="under-construction-1" smart-linecap="no"/>
+					<line class="highway-core highway-cycleway-core under-construction-2" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="under-construction-1" smart-linecap="no"/>
+						<line class="highway-core highway-bridleway-core under-construction-2" smart-linecap="no"/>
+					</rule>
+					<else>
+						<line class="under-construction-1" smart-linecap="no"/>
+						<line class="highway-core highway-footway-core under-construction-2" smart-linecap="no"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="construction" v="bridleway">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-bridleway-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="byway">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-byway-1-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="track">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-track-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="unsurfaced">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-unsurfaced-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="service">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-service-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="unclassified|residential|minor|living_street|cycleroad">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-unclassified-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="~|road|yes">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-road-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary_link">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-tertiary-link-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="tertiary">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-tertiary-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary_link">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-secondary-link-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="secondary">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-secondary-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="primary_link">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-primary-link-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk_link">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-trunk-link-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway_link">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-motorway-link-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="primary">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-primary-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="trunk">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-trunk-core under-construction-2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="construction" v="motorway">
+				<line class="under-construction-1" smart-linecap="no"/>
+				<line class="highway-core highway-motorway-core under-construction-2" smart-linecap="no"/>
+			</rule>
+		</rule>
+
+		<!-- Linear cores (planned) -->
+		<rule e="way" k="highway" v="planned|proposed">
+			<rule e="way" k="planned|proposed" v="steps">
+				<line class="highway-core highway-steps-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="footway|footpath">
+				<line class="highway-core highway-footway-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="pedestrian">
+				<line class="highway-core highway-pedestrian-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="cycleway">
+				<line class="highway-core highway-cycleway-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="highway-core highway-cycleway-core planned" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="highway-core highway-bridleway-core planned" smart-linecap="no"/>
+					</rule>
+					<else>
+						<line class="highway-core highway-footway-core planned" smart-linecap="no"/>
+					</else></else>
+			</rule>
+			<rule e="way" k="planned|proposed" v="bridleway">
+				<line class="highway-core highway-bridleway-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="byway">
+				<line class="highway-core highway-byway-1-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="track">
+				<line class="highway-core highway-track-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="unsurfaced">
+				<line class="highway-core highway-unsurfaced-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="service">
+				<line class="highway-core highway-service-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="unclassified|residential|minor|living_street|cycleroad">
+				<line class="highway-core highway-unclassified-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="~|road|yes">
+				<line class="highway-core highway-road-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="tertiary_link">
+				<line class="highway-core highway-tertiary-link-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="tertiary">
+				<line class="highway-core highway-tertiary-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="secondary_link">
+				<line class="highway-core highway-secondary-link-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="secondary">
+				<line class="highway-core highway-secondary-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="primary_link">
+				<line class="highway-core highway-primary-link-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="trunk_link">
+				<line class="highway-core highway-trunk-link-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="motorway_link">
+				<line class="highway-core highway-motorway-link-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="primary">
+				<line class="highway-core highway-primary-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="trunk">
+				<line class="highway-core highway-trunk-core planned" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="planned|proposed" v="motorway">
+				<line class="highway-core highway-motorway-core planned" smart-linecap="no"/>
+			</rule>
+		</rule>
+
+		<!-- Linear cores (disused) -->
+		<rule e="way" k="highway" v="disused">
+			<rule e="way" k="disused" v="steps">
+				<line class="highway-core highway-steps-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="footway|footpath">
+				<line class="highway-core highway-footway-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="pedestrian">
+				<line class="highway-core highway-pedestrian-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="cycleway">
+				<line class="highway-core highway-cycleway-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="highway-core highway-cycleway-core disused-1" smart-linecap="no"/>
+					<line class="disused-2" smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="highway-core highway-bridleway-core disused-1" smart-linecap="no"/>
+						<line class="disused-2" smart-linecap="no" />
+					</rule>
+					<else>
+						<line class="highway-core highway-footway-core disused-1" smart-linecap="no"/>
+						<line class="disused-2" smart-linecap="no" />
+					</else></else>
+			</rule>
+			<rule e="way" k="disused" v="bridleway">
+				<line class="highway-core highway-bridleway-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="byway">
+				<line class="highway-core highway-byway-1-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="track">
+				<line class="highway-core highway-track-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="unsurfaced">
+				<line class="highway-core highway-unsurfaced-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="service">
+				<line class="highway-core highway-service-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="unclassified|residential|minor|living_street|cycleroad">
+				<line class="highway-core highway-unclassified-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="~|road|yes">
+				<line class="highway-core highway-road-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="tertiary_link">
+				<line class="highway-core highway-tertiary-link-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="tertiary">
+				<line class="highway-core highway-tertiary-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="secondary_link">
+				<line class="highway-core highway-secondary-link-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="secondary">
+				<line class="highway-core highway-secondary-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="primary_link">
+				<line class="highway-core highway-primary-link-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="trunk_link">
+				<line class="highway-core highway-trunk-link-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="motorway_link">
+				<line class="highway-core highway-motorway-link-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="primary">
+				<line class="highway-core highway-primary-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="trunk">
+				<line class="highway-core highway-trunk-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="disused" v="motorway">
+				<line class="highway-core highway-motorway-core disused-1" smart-linecap="no"/>
+				<line class="disused-2" smart-linecap="no" />
+			</rule>
+		</rule>
+
+		<!-- Linear cores (abandoned) -->
+		<rule e="way" k="highway" v="abandoned|dismantled">
+			<rule e="way" k="abandoned|dismantled" v="steps">
+				<line class="highway-core highway-steps-core abandoned-1"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="footway|footpath">
+				<line class="highway-core highway-footway-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="pedestrian">
+				<line class="highway-core highway-pedestrian-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="cycleway">
+				<line class="highway-core highway-cycleway-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="path">
+				<rule e="way" k="bicycle" v="yes|designated">
+					<line class="highway-core highway-cycleway-core abandoned-1" smart-linecap="no"/>
+					<line class="abandoned-2" smart-linecap="no" />
+				</rule>
+				<else>
+					<rule e="way" k="horse" v="yes|designated">
+						<line class="highway-core highway-bridleway-core abandoned-1" smart-linecap="no"/>
+						<line class="abandoned-2" smart-linecap="no" />
+					</rule>
+					<else>
+						<line class="highway-core highway-footway-core abandoned-1" smart-linecap="no"/>
+						<line class="abandoned-2" smart-linecap="no" />
+					</else></else>
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="bridleway">
+				<line class="highway-core highway-bridleway-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="byway">
+				<line class="highway-core highway-byway-1-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="track">
+				<line class="highway-core highway-track-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="unsurfaced">
+				<line class="highway-core highway-unsurfaced-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="service">
+				<line class="highway-core highway-service-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="unclassified|residential|minor|living_street|cycleroad">
+				<line class="highway-core highway-unclassified-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="~|road|yes">
+				<line class="highway-core highway-road-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="tertiary_link">
+				<line class="highway-core highway-tertiary-link-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="tertiary">
+				<line class="highway-core highway-tertiary-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="secondary_link">
+				<line class="highway-core highway-secondary-link-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="secondary">
+				<line class="highway-core highway-secondary-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="primary_link">
+				<line class="highway-core highway-primary-link-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="trunk_link">
+				<line class="highway-core highway-trunk-link-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="motorway_link">
+				<line class="highway-core highway-motorway-link-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="primary">
+				<line class="highway-core highway-primary-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="trunk">
+				<line class="highway-core highway-trunk-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+			<rule e="way" k="abandoned|dismantled" v="motorway">
+				<line class="highway-core highway-motorway-core abandoned-1" smart-linecap="no"/>
+				<line class="abandoned-2" smart-linecap="no" />
+			</rule>
+		</rule>
+
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="highway" v="motorway|motorway_link|footway|steps|pedestrian|living_street|construction|planned|proposed|disused|abandoned|dismantled">
+			</rule>
+			<else>
+				<rule e="way" k="bicycle" v="no">
+					<rule e="way" k="motorroad" v="yes">
+					</rule>
+					<else>
+						<line class="highway-nobicycle-3" smart-linecap="no" />
+					</else>
+				</rule>
+			</else>
+		</rule>
+
+
+
+
+
+		<!-- access restrictions -->
+		<rule e="way" k="highway" v="*">
+			<rule e="way" k="construction|planned|proposed|disused|abandoned|dismantled" v="yes|true">
+				<line class="wrong-under-construction" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="area" v="yes|true">
+				<rule e="way" k="access" v="private">
+					<area class="access-private-area"/>
+				</rule>
+				<rule e="way" k="access" v="permissive">
+					<area class="access-permissive-area"/>
+				</rule>
+				<rule e="way" k="access" v="destination">
+					<area class="access-destination-area"/>
+				</rule>
+				<rule e="way" k="access" v="no">
+					<area class="access-no-area"/>
+				</rule>
+			</rule>
+			<else>
+				<rule e="way" k="highway" v="footway|footpath|cycleway|path|bridleway|byway|unsurfaced">
+					<rule e="way" k="access" v="private">
+						<line class="access-private-line" smart-linecap="no"/>
+					</rule>
+					<rule e="way" k="access" v="permissive">
+						<line class="access-permissive-line" smart-linecap="no"/>
+					</rule>
+					<rule e="way" k="access" v="destination">
+						<line class="access-destination-line" smart-linecap="no"/>
+					</rule>
+					<rule e="way" k="access" v="no">
+						<line class="access-no-line" smart-linecap="no"/>
+					</rule>
+				</rule>
+				<else>
+					<rule e="way" k="highway" v="track">
+						<rule e="way" k="tracktype" v="grade3|grade4|grade5">
+							<rule e="way" k="access" v="private">
+								<line class="access-private-line" smart-linecap="no"/>
+							</rule>
+							<rule e="way" k="access" v="permissive">
+								<line class="access-permissive-line" smart-linecap="no"/>
+							</rule>
+							<rule e="way" k="access" v="destination">
+								<line class="access-destination-line" smart-linecap="no"/>
+							</rule>
+							<rule e="way" k="access" v="no">
+								<line class="access-no-line" smart-linecap="no"/>
+							</rule>
+						</rule>
+						<else>
+							<rule e="way" k="access" v="private">
+								<line class="access-private-line"/>
+							</rule>
+							<rule e="way" k="access" v="permissive">
+								<line class="access-permissive-line"/>
+							</rule>
+							<rule e="way" k="access" v="destination">
+								<line class="access-destination-line"/>
+							</rule>
+							<rule e="way" k="access" v="no">
+								<line class="access-no-line"/>
+							</rule>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="access" v="private">
+							<line class="access-private-line"/>
+						</rule>
+						<rule e="way" k="access" v="permissive">
+							<line class="access-permissive-line"/>
+						</rule>
+						<rule e="way" k="access" v="destination">
+							<line class="access-destination-line"/>
+						</rule>
+						<rule e="way" k="access" v="no">
+							<line class="access-no-line"/>
+						</rule>
+					</else>
+				</else>
+			</else>
+		</rule>
+
+		<!-- Mini-roundabouts -->
+		<rule e="node" k="highway" v="mini_roundabout">
+			<rule e="node" k="direction" v="clockwise">
+				<symbol ref="roundabout_left" position="center"/>
+			</rule>
+			<else>
+				<!-- Default is anti-clockwise -->
+				<symbol ref="roundabout_right" position="center"/>
+			</else>
+		</rule>
+
+		<!-- highway crossing -->
+		<rule e="node" s="way" k="highway" v="trunk|primary|secondary|tertiary|residential|unclassified">
+			<rule e="node" k="highway" v="crossing">
+				<rule e="node" k="crossing" v="~|uncontrolled|zebra|island">
+					<!-- Order in the v tag is important to make the zebra
+					     crossing render in the direction of the "smaller"
+					     way across the "bigger" way. If both are the same
+					     priority you basically loose -->
+					<wayMarker k="highway" v="motorway|motorway_link|trunk|trunk_link|primary|primary_link|secondary|secondary_link|tertiary|tertiary_link|road|unclassified|residential|living_street|service|bridleway|steps|pedestrian|path|cycleway|footway|*" class="highway-crossing"/>
+				</rule>
+			</rule>
+		</rule>
+
+		<!-- Oneway markers -->
+		<rule e="way" k="tunnel" v="~|false|no">
+			<rule e="way" k="area" v="~|false|no">
+				<rule e="way" k="highway" v="*">
+					<rule e="way" k="oneway" v="1|yes|true">
+						<rule e="way" k="cycleway" v="opposite|opposite_track|opposite_lane">
+							<line class="oneway-exclcycle-casing oneway-casing-1" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-2" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-3" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-4" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-5" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-6" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-7" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-8" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-1" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-2" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-3" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-4" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-5" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-6" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-7" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="oneway-casing oneway-casing-1" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-2" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-3" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-4" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-5" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-6" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-7" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-8" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-1" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-2" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-3" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-4" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-5" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-6" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-7" smart-linecap="no"/>
+						</else>
+					</rule>
+					<rule e="way" k="oneway" v="-1">
+						<rule e="way" k="cycleway" v="opposite|opposite_track|opposite_lane">
+							<line class="oneway-exclcycle-casing oneway-casing-r1" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r2" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r3" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r4" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r5" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r6" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r7" smart-linecap="no"/>
+							<line class="oneway-exclcycle-casing oneway-casing-r8" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r1" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r2" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r3" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r4" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r5" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r6" smart-linecap="no"/>
+							<line class="oneway-exclcycle-core oneway-core-r7" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="oneway-casing oneway-casing-r1" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r2" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r3" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r4" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r5" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r6" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r7" smart-linecap="no"/>
+							<line class="oneway-casing oneway-casing-r8" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r1" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r2" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r3" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r4" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r5" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r6" smart-linecap="no"/>
+							<line class="oneway-core oneway-core-r7" smart-linecap="no"/>
+						</else>
+					</rule>
+				</rule>
+				<!-- Motorway implies oneway-ness -->
+				<rule e="way" k="highway" v="motorway|motorway_link">
+					<!-- exclude explicit oneway=no -->
+					<rule e="way" k="oneway" v="~|yes|true|1">
+						<line class="oneway-casing oneway-casing-1" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-2" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-3" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-4" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-5" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-6" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-7" smart-linecap="no"/>
+						<line class="oneway-casing oneway-casing-8" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-1" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-2" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-3" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-4" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-5" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-6" smart-linecap="no"/>
+						<line class="oneway-core oneway-core-7" smart-linecap="no"/>
+					</rule>
+				</rule>
+				<!-- Roundabouts are oneway in the direction of the segments -->
+				<rule e="way" k="junction" v="roundabout">
+					<line class="oneway-casing oneway-casing-1" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-2" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-3" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-4" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-5" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-6" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-7" smart-linecap="no"/>
+					<line class="oneway-casing oneway-casing-8" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-1" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-2" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-3" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-4" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-5" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-6" smart-linecap="no"/>
+					<line class="oneway-core oneway-core-7" smart-linecap="no"/>
+				</rule>
+			</rule>
+		</rule>
+
+		<!-- SAC scale for paths and footways -->
+		<rule e="way" k="highway" v="path|footway">
+			<rule e="way" k="sac_scale" v="hiking|t1|T1">
+				<line class="sac-scale-t1" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="sac_scale" v="mountain_hiking|t2|T2">
+				<line class="sac-scale-t2" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="sac_scale" v="demanding_mountain_hiking|t3|T3">
+				<line class="sac-scale-t3" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="sac_scale" v="alpine_hiking|t4|T4">
+				<line class="sac-scale-t4" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="sac_scale" v="demanding_alpine_hiking|t5|T5">
+				<line class="sac-scale-t5" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="sac_scale" v="difficult_alpine_hiking|t6|T6">
+				<line class="sac-scale-t6" smart-linecap="no"/>
+			</rule>
+		</rule>
+
+		<!-- Piste maps: -->
+		<!-- piste areas -->
+		<rule e="way" k="piste:type" v="downhill" closed="yes">
+			<rule e="way" k="piste:difficulty" v="novice">
+				<line class="piste-area piste-area-difficulty-novice" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="easy">
+				<line class="piste-area piste-area-difficulty-easy" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="intermediate">
+				<line class="piste-area piste-area-difficulty-intermediate" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="advanced">
+				<line class="piste-area piste-area-difficulty-advanced" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="expert">
+				<line class="piste-area piste-area-difficulty-expert" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="freeride">
+				<line class="piste-area piste-area-difficulty-freeride" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="~">
+				<line class="piste-area piste-area-difficulty-other" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="name|ref" v="*">
+				<!-- prefer to render name, otherwise render ref -->
+				<rule e="way" k="name" v="~">
+					<rule e="way" k="ref" v="*">
+						<areaText k="ref" dy="0px" class="piste-downhill-ref" text-anchor="middle"/>
+					</rule>
+				</rule>
+				<else>
+					<rule e="way" k="ref" v="*">
+						<areaText k="ref" dy="-3px" class="piste-downhill-ref" text-anchor="middle"/>
+					</rule>
+					<rule e="way" k="name" v="*">
+						<areaText k="name" dy="3px" class="piste-downhill-name-casing" text-anchor="middle"/>
+						<areaText k="name" dy="3px" class="piste-downhill-name" text-anchor="middle"/>
+					</rule>
+				</else>
+			</rule>
+		</rule>
+		<!-- piste ways -->
+		<rule e="way" k="piste:type" v="downhill" closed="no">
+			<rule e="way" k="piste:difficulty" v="novice">
+				<line class="piste-core piste-difficulty-novice" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="easy">
+				<line class="piste-core piste-difficulty-easy" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="intermediate">
+				<line class="piste-core piste-difficulty-intermediate" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="advanced">
+				<line class="piste-core piste-difficulty-advanced" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="expert">
+				<line class="piste-core piste-difficulty-expert" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="freeride">
+				<line class="piste-core piste-difficulty-freeride" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="piste:difficulty" v="~">
+				<line class="piste-core piste-difficulty-other" smart-linecap="no"/>
+			</rule>
+			<rule e="way" k="name|ref" v="*">
+				<!-- prefer to render name, otherwise render ref -->
+				<!-- text is rendered at 75%, refs at 25%, aerialway name at 50% -->
+				<rule e="way" k="name" v="~">
+					<rule e="way" k="ref" v="*">
+						<pathText k="ref" dy="2px" class="piste-downhill-ref" text-anchor="middle" startOffset="75%"/>
+					</rule>
+				</rule>
+				<else>
+					<rule e="way" k="ref" v="*">
+						<pathText k="ref" dy="2px" class="piste-downhill-ref" text-anchor="middle" startOffset="25%"/>
+					</rule>
+					<rule e="way" k="name" v="*">
+						<pathText k="name" dy="2px" class="piste-downhill-name" text-anchor="middle" startOffset="75%"/>
+					</rule>
+				</else>
+			</rule>
+		</rule>
+		<!-- piste nodes -->
+		<rule e="node" k="piste:type" v="downhill">
+			<rule e="node" k="name|ref" v="*">
+				<!-- prefer to render name, otherwise render ref -->
+				<rule e="node" k="name" v="~">
+					<rule e="node" k="ref" v="*">
+						<caption k="ref" dy="2px" class="piste-downhill-ref" />
+					</rule>
+				</rule>
+				<else>
+					<rule e="node" k="name" v="*">
+						<caption k="name" dy="2px" class="piste-downhill-name" />
+					</rule>
+				</else>
+			</rule>
+		</rule>
+
+		<rule e="way" k="piste:type" v="sled">
+			<line class="piste-type-sled"/>
+		</rule>
+		<rule e="way" k="piste:type" v="nordic">
+			<line smart-linecap="no" class="piste-type-nordic"/>
+		</rule>
+		<rule e="way" k="man_made" v="piste:halfpipe">
+			<area class="man-made-piste-halfpipe"/>
+			<symbol ref="man-made-halfpipe" position="center"/>
+		</rule>
+
+		<!-- Surface lifts (render over pistes) -->
+		<rule e="way" k="piste:lift" v="*">
+			<rule e="way" k="piste:lift" v="t-bar|j-bar|platter">
+				<line class="aerialway-line piste-lift-t-bar-marker"/>
+				<line smart-linecap="no" class="aerialway-struts no-bezier"/>
+			</rule>
+			<rule e="way" k="piste:lift" v="rope_tow">
+				<line smart-linecap="no" class="piste-lift-rope-tow no-bezier"/>
+			</rule>
+			<rule e="way" k="piste:lift" v="magic_carpet">
+				<line smart-linecap="no" class="piste-lift-magic-carpet no-bezier"/>
+			</rule>
+			<rule e="way" k="name" v="*">
+				<pathText k="name" dx="0px" dy="-3px" class="aerialway-name" text-anchor="middle" startOffset="50%"/>
+			</rule>
+		</rule>
+
+		<!-- Aerialways (render over pistes) -->
+		<rule e="node|way" k="aerialway" v="*">
+			<rule e="way" k="aerialway" v="cable_car">
+				<line class="aerialway-line aerialway-cablecar-marker no-bezier" smart-linecap="no"/>
+			</rule>
+			<else>
+				<rule e="way" k="aerialway" v="gondola">
+					<line class="aerialway-line aerialway-gondola-marker no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<rule e="way" k="aerialway" v="chair_lift">
+						<rule e="way" k="piste:lift:occupancy" v="4|5|6">
+							<line class="aerialway-line aerialway-chairlift4-marker no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="aerialway-line aerialway-chairlift2-marker no-bezier" smart-linecap="no"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="aerialway" v="mixed_lift">
+							<line class="aerialway-line aerialway-mixedlift-marker no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<rule e="way" k="aerialway" v="*">
+								<line class="aerialway-line no-bezier" smart-linecap="no"/>
+							</rule>
+						</else>
+					</else>
+				</else>
+			</else>
+			<line smart-linecap="no" class="aerialway-struts no-bezier"/>
+			<rule e="node" k="aerialway" v="station">
+				<circle r="0.4px" class="aerialway-station"/>
+			</rule>
+			<rule e="node" s="way" k="aerialway" v="*">
+				<rule e="node" k="ele" v="*">
+					<caption k="ele" dx="0px" dy="-2.5px" class="aerialway-elevation-text"/>
+				</rule>
+			</rule>
+			<rule e="way" k="name" v="*">
+				<pathText k="name" dx="0px" dy="-3px" class="aerialway-name" text-anchor="middle" startOffset="50%"/>
+			</rule>
+		</rule>
+
+		<!-- Natural features -->
+		<rule e="node" k="natural" v="peak">
+			<symbol ref="peak" position="center"/>
+		</rule>
+		<rule e="node" k="natural" v="volcano">
+			<symbol ref="vulcan" position="center"/>
+		</rule>
+		<rule e="node" k="natural" v="cave_entrance">
+			<symbol ref="cave_entrance" position="center"/>
+		</rule>
+		<rule e="node" k="mountain_pass" v="yes" layer="-5">
+			<rule e="node" s="way" k="highway|track" v="path|secondary|track|unclassified|tertiary|primary|footway|unclassified|trunk|service|motorway|residential|bridleway|road|cycleway">
+				<wayMarker k="highway" class="mountain_pass" layer="-5"/>
+			</rule>
+			<else>
+				<symbol ref="mountain_pass" position="center" layer="-5"/>
+			</else>
+		</rule>
+
+		<!-- Draw marine features -->
+		<rule e="way" k="man_made" v="breakwater" closed="yes">
+			<line class="breakwater-area"/>
+		</rule>
+		<rule e="way" k="man_made" v="breakwater" closed="no">
+			<line class="breakwater"/>
+		</rule>
+		<rule e="way" k="man_made" v="pier" closed="yes">
+			<line class="artificial-pier-area"/>
+		</rule>
+		<rule e="way" k="man_made" v="pier" closed="no">
+			<line class="artificial-pier-casing"/>
+		</rule>
+		<rule e="way" k="man_made" v="pier" closed="no">
+			<line class="artificial-pier-core"/>
+		</rule>
+
+		<!-- Power lines and pylons -->
+		<rule e="way" k="power" v="line">
+			<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+			<rule e="way" k="submarine|tunnel" v="yes">
+				<line class="power-line power-dash-tunnel no-bezier" smart-linecap="no"/>
+			</rule>
+			<else>
+				<rule e="way" k="location" v="underground|submarine">
+					<line class="power-line power-dash-tunnel no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<line class="power-line power-dash no-bezier" smart-linecap="no"/>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="power" v="minor_line">
+			<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+			<rule e="way" k="submarine|tunnel" v="yes">
+				<line class="power-minor-line minor-dash-tunnel no-bezier" smart-linecap="no"/>
+			</rule>
+			<else>
+				<rule e="way" k="location" v="underground|submarine">
+				</rule>
+					<line class="power-minor-line minor-dash-tunnel no-bezier" smart-linecap="no"/>
+				<else>
+					<line class="power-minor-line minor-dash no-bezier" smart-linecap="no"/>
+				</else>
+			</else>
+		</rule>
+
+		<rule e="node|way" k="power" v="tower">
+			<symbol ref="power-tower" position="center"/>
+		</rule>
+		<rule e="node|way" k="power" v="pole">
+			<symbol ref="power-pole" position="center"/>
+		</rule>
+
+		<!-- Power generators -->
+		<rule e="node" k="power" v="generator">
+			<rule e="node" k="power_source" v="wind">
+				<symbol ref="power_wind" position="center"/>
+			</rule>
+			<else>
+				<rule e="node" k="power_source" v="hydro">
+					<symbol ref="power_hydro" position="center"/>
+				</rule>
+				<else>
+					<rule e="node" k="power_source" v="photovoltaic">
+						<symbol ref="power_photovoltaic" position="center"/>
+					</rule>
+					<else>
+						<symbol ref="power_generic" position="center"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="power" v="generator">
+			<rule e="way" k="power_source" v="wind">
+				<area class="power-wind"/>
+			</rule>
+			<else>
+				<rule e="way" k="power_source" v="hydro">
+					<area class="power-hydro"/>
+				</rule>
+				<else>
+					<rule e="way" k="power_source" v="photovoltaic">
+						<area class="power-photovoltaic"/>
+					</rule>
+					<else>
+						<area class="power-generic"/>
+					</else>
+				</else>
+			</else>
+		</rule>
+
+		<!-- Electrical substations -->
+		<rule e="way" k="power" v="station|sub_station">
+			<area class="power-generic"/>
+		</rule>
+
+		<!-- Pipelines -->
+		<rule e="way" k="communication" v="line">
+			<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+			<rule e="way" k="submarine|tunnel" v="yes">
+				<line class="communication-line pipeline-dash-tunnel no-bezier" smart-linecap="no"/>
+			</rule>
+			<else>
+				<rule e="way" k="location" v="underground|submarine">
+					<line class="communication-line pipeline-dash-tunnel no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<line class="communication-line pipeline-dash no-bezier" smart-linecap="no"/>
+				</else>
+			</else>
+		</rule>
+		<rule e="way" k="man_made" v="pipeline">
+			<rule e="way" k="type" v="water">
+				<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+				<rule e="way" k="location" v="overground">
+					<line class="pipeline-water pipeline-dash no-bezier" smart-linecap="no"/>
+				</rule>
+				<else>
+					<line class="pipeline-water pipeline-dash-tunnel no-bezier" smart-linecap="no"/>
+				</else>
+			</rule>
+			<else>
+				<rule e="way" k="type" v="oil">
+					<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+					<rule e="way" k="location" v="overground">
+						<line class="pipeline-oil pipeline-dash no-bezier" smart-linecap="no"/>
+					</rule>
+					<else>
+						<line class="pipeline-oil pipeline-dash-tunnel no-bezier" smart-linecap="no"/>
+					</else>
+				</rule>
+				<else>
+					<rule e="way" k="type" v="gas|natural_gas">
+						<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+						<rule e="way" k="location" v="overground">
+							<line class="pipeline-gas pipeline-dash no-bezier" smart-linecap="no"/>
+						</rule>
+						<else>
+							<line class="pipeline-gas pipeline-dash-tunnel no-bezier" smart-linecap="no"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="way" k="type" v="sewage">
+							<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+							<rule e="way" k="location" v="overground">
+								<line class="pipeline-sewage pipeline-dash no-bezier" smart-linecap="no"/>
+							</rule>
+							<else>
+								<line class="pipeline-sewage pipeline-dash-tunnel no-bezier" smart-linecap="no"/>
+							</else>
+						</rule>
+						<else>
+							<rule e="way" k="type" v="hot_water|heat">
+								<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+								<rule e="way" k="location" v="overground">
+									<line class="pipeline-heat pipeline-dash no-bezier" smart-linecap="no"/>
+								</rule>
+								<else>
+									<line class="pipeline-heat pipeline-dash-tunnel no-bezier" smart-linecap="no"/>
+								</else>
+							</rule>
+							<else>
+								<line class="powerline-pipeline-casing no-bezier" smart-linecap="no"/>
+								<rule e="way" k="location" v="overground">
+									<line class="pipeline-unknown pipeline-dash no-bezier" smart-linecap="no"/>
+								</rule>
+								<else>
+									<line class="pipeline-unknown pipeline-dash-tunnel no-bezier" smart-linecap="no"/>
+								</else>
+							</else>
+						</else>
+					</else>
+				</else>
+			</else>
+		</rule>
+
+		<!-- Non-physical routes -->
+		<rule e="way" k="route" v="ferry">
+			<line class="route-ferry"/>
+		</rule>
+
+		<!-- Tourist features -->
+		<rule e="node|way" k="tourism" v="hotel">
+			<rule e="node|way" k="amenity" v="restaurant">
+			</rule>
+			<else>
+				<symbol ref="hotel" position="center"/>
+			</else>
+		</rule>
+		<rule e="node|way" k="tourism" v="hostel">
+			<symbol ref="hostel" position="center"/>
+		</rule>
+		<rule e="node|way" k="tourism" v="camp_site">
+			<rule e="node|way" k="refugee" v="yes">
+				<symbol ref="earthquakeCamp" position="center"/>
+			</rule>
+			<else>
+				<symbol ref="campSite" position="center"/>
+			</else>
+		</rule>
+		<rule e="node|way" k="earthquake:damage" v="spontaneous_camp">
+			<symbol ref="earthquakeCamp" position="center"/>
+		</rule>
+		<rule e="node|way" k="tourism" v="information">
+			<rule e="node" k="information" v="guidepost">
+				<symbol ref="information-guidepost" position="center"/>			
+			</rule>
+			<else>
+				<rule e="node" k="information" v="office">
+					<symbol ref="information-office" position="center"/>			
+				</rule>
+				<else>
+					<symbol ref="information" position="center"/>
+				</else>	
+			</else>	
+		</rule>
+		<rule e="node" k="tourism" v="viewpoint">
+			<symbol ref="viewpoint" position="center"/>
+		</rule>
+
+		<!-- platforms nodes -->
+		<rule e="node" k="highway|railway|public_transport" v="platform">
+			<circle r="0.6px" class="highway-platform-node" />
+		</rule>
+
+		<!-- Railway stations -->
+		<rule e="node" k="railway" v="station">
+			<rule e="node" s="way" k="railway" v="rail">
+				<circle r="0.7" class="railway-station"/>
+			</rule>
+			<else>
+				<circle r="0.4" class="railway-halt"/>
+			</else>
+		</rule>
+		<rule e="node" k="railway" v="halt">
+			<circle r="0.4" class="railway-halt"/>
+		</rule>
+
+		<!-- tram stops -->
+		<rule e="node" k="railway" v="tram_stop">
+			<circle r="0.4" class="railway-halt"/>
+		</rule>
+
+		<!-- Level crossings -->
+		<!-- If tagged explicitly -->
+		<rule e="node" k="railway" v="level_crossing">
+			<symbol ref="railway-crossing" position="center"/>
+		</rule>
+		<rule e="node" k="railway" v="crossing">
+			<symbol ref="railway-crossing-small" position="center"/>
+		</rule>
+
+		<!-- For everything, except trams, if it shares a node with a road then render a railroad crossing symbol. 
+			not feasible
+			beware for historic reasons and as example fpr s="..."
+		else
+			rule e="node" s="way" k="railway" v="rail|light_rail|subway|narrow_gauge|preserved|monorail|incline|funicular"
+				rule e="node" s="way" k="railway" v="rail"
+					rule e="node" s="way" k="highway" v="motorway|trunk|primary|secondary|tertiary|minor|unclassified|residential|service|unsurfaced|track|living_street|cycleroad|road|cycleway|path|footway"
+						symbol ref="railway-crossing-small" position="center"
+					/rule
+				/rule
+			/rule
+		/else
+		-->
+
+		<!-- Barriers -->
+		<rule e="way" k="barrier" v="bollard|hedge|fence|wall|retaining_wall|city_wall">
+			<rule e="way" k="barrier" v="bollard">
+				<line class="barrier barrier-bollard"/>
+			</rule>
+			<rule e="way" k="barrier" v="hedge">
+				<line class="barrier barrier-hedge-1"/>
+				<line class="barrier barrier-hedge-2"/>
+			</rule>
+			<rule e="way" k="barrier" v="fence">
+				<line class="barrier barrier-fence-1"/>
+				<line class="barrier barrier-fence-2"/>
+			</rule>
+			<rule e="way" k="barrier" v="wall">
+				<line class="barrier barrier-wall"/>
+			</rule>
+			<rule e="way" k="barrier" v="retaining_wall">
+				<line class="barrier barrier-retaining-wall-1"/>
+				<line class="barrier barrier-retaining-wall-2"/>
+			</rule>
+			<rule e="way" k="barrier" v="city_wall">
+				<rule e="way" k="two_sided" v="yes">
+					<line class="barrier barrier-city-wall-ts-1"/>
+					<line class="barrier barrier-city-wall-ts-2"/>
+				</rule>
+				<else>
+					<!-- We can't move the dot of to one side yet -->
+					<line class="barrier barrier-city-wall-1"/>
+					<line class="barrier barrier-city-wall-2"/>
+				</else>
+			</rule>
+		</rule>
+		<else>
+			<rule e="way" k="barrier">
+				<line class="barrier"/>
+			</rule>
+		</else>
+
+		<rule e="node" k="noexit:foot" v="yes|true">
+			<wayMarker k="highway" class="noexit-all"/>
+		</rule>
+		<else>
+			<rule e="node" k="noexit:bicycle|noexit:vehicle" v="yes|true">
+				<wayMarker k="highway" class="noexit-veh"/>
+			</rule>
+			<else>
+				<rule e="node" k="noexit:motor_bicycle|noexit:motorcar|noexit:hgv|noexit:goods" v="yes|true">
+					<wayMarker k="highway" class="noexit-mot"/>
+				</rule>
+				<else>
+
+
+					<rule e="node" k="noexit" v="yes|true">
+						<wayMarker k="highway" class="noexit-all"/>
+					</rule>
+					<rule e="node" k="noexit" v="vehicle">
+						<wayMarker k="highway" class="noexit-veh"/>
+					</rule>
+					<rule e="node" k="noexit" v="motor_vehicle|motorcar">
+						<wayMarker k="highway" class="noexit-mot"/>
+					</rule>
+					<rule e="node" k="noexit" v="no|false">
+						<wayMarker k="highway" class="noexit-no"/>
+					</rule>
+
+				</else>
+			</else>
+		</else>
+		<rule e="node" k="FIXME|fixme" v="continue|continuation">
+			<wayMarker k="highway" class="noexit-no"/>
+		</rule>
+		<rule e="node" k="railway" v="buffer_stop">
+			<wayMarker k="railway" class="noexit-rail"/>
+		</rule>
+
+		<rule e="node" k="barrier|highway" v="gate|lift_gate">
+			<rule e="node" k="status" v="open">
+				<wayMarker k="highway" class="gate-open"/>
+			</rule>
+			<else>
+				<rule e="node" k="status" v="locked">
+					<wayMarker k="highway" class="gate-locked"/>
+				</rule>
+				<else>
+					<wayMarker k="highway" class="gate-closed"/>
+				</else>
+			</else>
+		</rule>
+		<rule e="node" k="highway|barrier" v="stile">
+			<wayMarker k="highway" fill="none" stroke="red" stroke-width="1px" stroke-opacity="0" marker-mid="url(#marker-stile)"/>
+		</rule>
+		<rule e="node" k="highway|barrier" v="bollard">
+			<circle r='0.2px' class='bollard' />
+		</rule>
+		<rule e="node" k="barrier" v="cycle_barrier|chicane">
+			<wayMarker k="highway" class="chicane"/>
+		</rule>
+
+		<!-- Traffic calming -->
+		<rule e="node" k="traffic_calming" v="*">
+			<wayMarker k="highway" class="traffic-calming"/>
+		</rule>
+
+
+		<!-- Bus stops -->
+		<rule e="node|way" k="highway" v="bus_stop">
+			<symbol ref="bus" position="center"/>
+		</rule>
+		<!-- bus stations -->
+		<rule e="node|way" k="amenity" v="bus_station">
+			<symbol ref="bus_sta" position="center"/>
+		</rule>
+		<!-- subway entrance -->
+		<rule e="node|way" k="railway" v="subway_entrance">
+			<symbol ref="subway" position="center"/>
+		</rule>
+		<!-- highway motorway_junctions -->
+		<rule e="node" k="highway" v="motorway_junction">
+			<circle r="1.825" class="highway-motorway-junction"/>
+			<caption k="name" class="highway-motorway-junction-caption" dy="-2.3px"/>
+			<caption k="ref" class="highway-motorway-junction-caption" dy="0.7px"/>
+		</rule>
+
+		<!-- Amenities -->
+		<rule e="node|way" k="aeroway" v="helipad">
+			<symbol ref="helipad" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="hospital">
+			<symbol ref="hospital" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="doctors">
+			<symbol ref="doctor" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="pharmacy">
+			<symbol ref="pharmacy" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="post_office">
+			<symbol ref="postoffice" position="center"/>
+		</rule>
+		<rule e="node" k="amenity" v="post_box">
+			<symbol ref="postbox" position="center"/>
+		</rule>
+		<rule e="node" k="amenity" v="speed_trap">
+			<symbol ref="speed_trap" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="pub">
+			<symbol ref="pub" position="center"/>
+		</rule>
+		 <rule e="node|way" k="amenity" v="bar">
+                        <symbol ref="bar" position="center"/>
+                </rule>
+		<rule e="node|way" k="amenity" v="cafe">
+			<symbol ref="cafe" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="restaurant">
+			<rule e="node|way" k="tourism" v="hotel">
+				<symbol ref="hotel_and_restaurant" position="center"/>
+			</rule>
+			<else>
+				<symbol ref="restaurant" position="center"/>
+                                <rule e="node|way" k="cuisine" v="vegetarian|vegan">
+                                  <circle r="0.3px" transform="translate(-0.8,-0.4)" fill="#42FF29"/>
+                       		</rule>         
+			</else>
+		</rule>
+		<rule e="node|way" k="amenity" v="cinema">
+			<symbol ref="cinema" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="theatre">
+			<symbol ref="theatre" position="center"/>
+		</rule>
+		<rule e="node|way" k="man_made" v="lighthouse">
+			<symbol ref="lighthouse" position="center"/>
+		</rule>
+		<rule e="node" k="man_made" v="survey_point">
+			<symbol ref="survey_point" position="center"/>
+		</rule>
+		<rule e="node|way" k="man_made" v="windmill">
+			<symbol ref="windmill" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="place_of_worship">
+			<rule e="node|way" k="denomination|religion" v="jewish">
+				<symbol ref="synagogue" position="center"/>
+			</rule>
+			<else>
+				<rule e="node|way" k="denomination|religion" v="muslim|moslem">
+					<symbol ref="mosque" position="center"/>
+				</rule>
+				<else>
+					<rule e="node|way" k="denomination|religion" v="christian">
+						<symbol ref="church" position="center"/>
+					</rule>
+					<else>
+						<rule e="node|way" k="denomination|religion" v="sikhism|sikh">
+							<symbol ref="khanda" position="center"/>
+						</rule>
+						<else>
+							<symbol ref="religion" position="center"/>
+						</else>
+					</else>
+				</else>
+			</else>
+		</rule>
+		<rule e="node" k="tourism" v="picnic_site">
+			<symbol ref="picnic" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="bench">
+			<symbol ref="bench" position="center"/>
+		</rule>
+
+		<!-- Parking -->
+		<rule e="node|way" k="amenity" v="parking">
+			<rule e="node|way" k="access" v="~">
+				<rule e="node|way" k="parking" v="park_and_ride">
+					<symbol ref="park_and_ride" position="center"/>
+				</rule>
+				<else>
+					<rule e="node|way" k="parking" v="multi-storey|underground">
+						<rule e="node|way" k="fee" v="yes">
+							<symbol ref="parking_roof_fee" position="center"/>
+						</rule>
+						<else>
+							<symbol ref="parking_roof" position="center"/>
+						</else>
+					</rule>
+					<else>
+						<rule e="node|way" k="fee" v="yes">
+							<symbol ref="parking_fee" position="center"/>
+						</rule>
+						<else>
+							<symbol ref="parking" position="center"/>
+						</else>
+					</else>
+				</else>
+			</rule>
+			<else>
+				<rule e="node|way" k="access" v="permissive|public">
+					<rule e="node|way" k="parking" v="park_and_ride">
+						<symbol ref="park_and_ride-permissive" position="center"/>
+					</rule>
+					<else>
+						<rule e="node|way" k="parking" v="multi-storey|underground">
+							<rule e="node|way" k="fee" v="yes">
+								<symbol ref="parking_roof_fee-permissive" position="center"/>
+							</rule>
+							<else>
+								<symbol ref="parking_roof-permissive" position="center"/>
+							</else>
+						</rule>
+						<else>
+							<rule e="node|way" k="fee" v="yes">
+								<symbol ref="parking_fee-permissive" position="center"/>
+							</rule>
+							<else>
+								<symbol ref="parking-permissive" position="center"/>
+							</else>
+						</else>
+					</else>
+				</rule>
+			</else>
+		</rule>
+
+		<rule e="node" k="highway" v="traffic_signals">
+			<symbol ref="traffic_signal" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="kindergarten">
+			<symbol ref="kindergarten" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="school">
+			<symbol ref="school" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="university|college">
+			<symbol ref="university" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity|shop" v="supermarket|organic">
+			<symbol ref="supermarket" position="center"/>
+		</rule>
+		<rule e="node|way" k="shop" v="bakery">
+			<symbol ref="bakery" position="center"/>
+		</rule>
+		<rule e="node|way" k="shop" v="hairdresser">
+			<symbol ref="hairdresser" position="center"/>
+		</rule>
+		<rule e="node|way" k="shop" v="florist">
+			<symbol ref="florist" position="center"/>
+		</rule>
+		<rule e="node|way" k="tourism" v="alpine_hut">
+			<symbol ref="alpine_hut" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="shelter">
+			<rule e="node|way" k="fireplace" v="yes">
+				<symbol ref="shelter-fireplace" position="center"/>
+			</rule>
+			<else>
+				<symbol ref="shelter" position="center"/>
+			</else>
+		</rule>
+		<rule e="node|way" k="amenity" v="hunting_stand">
+			<symbol ref="hunting_closed_high" position="center"/>
+		</rule>
+		<rule e="node|way" k="historic" v="battlefield">
+			<symbol ref="cannon" position="center"/>
+		</rule>
+		<rule e="node|way" k="military" v="bunker">
+			<symbol ref="cannon" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="library">
+			<symbol ref="library" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="fire_station">
+			<symbol ref="firebrigade" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="fuel">
+			<symbol ref="petrolStation" position="center"/>
+		</rule>
+		<rule e="node" k="amenity" v="bicycle_rental">
+			<symbol ref="bicycle_rental"  position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="recycling">
+			<symbol ref="recycling" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="toilets">
+			<symbol ref="toilets" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="fountain">
+			<symbol ref="fountain" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="drinking_water">
+			<symbol ref="drinking_water" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="bank">
+			<symbol ref="bank" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="atm">
+			<symbol ref="atm" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="bureau_de_change">
+			<symbol ref="bureau_de_change" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="car_sharing">
+			<symbol ref="car_sharing" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="telephone">
+			<symbol ref="telephone" position="center"/>
+		</rule>
+		<rule e="node|way" k="amenity" v="fast_food">
+			<symbol ref="fastfood" position="center"/>
+		</rule>
+
+		<!-- Leisure symbols -->
+		<rule e="node|way" k="leisure" v="golf_course">
+			<symbol ref="golfCourse" position="center"/>
+		</rule>
+		<rule e="node|way" k="leisure" v="slipway">
+			<symbol ref="slipway" position="center"/>
+		</rule>
+		<rule e="node|way" k="leisure" v="playground">
+			<symbol ref="playground" position="center"/>
+		</rule>
+
+		<!-- Sport symbols with border on nodes -->
+		<rule e="node" k="sport" v="archery">
+			<symbol ref="archery" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="athletics">
+			<symbol ref="athletics" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="baseball">
+			<symbol ref="baseball" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="basketball">
+			<symbol ref="basketball" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="bowls">
+			<symbol ref="bowls" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="cricket">
+			<symbol ref="cricket" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="curling">
+			<symbol ref="curling" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="diving|scuba_diving">
+			<symbol ref="diving" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="equestrian">
+			<symbol ref="equestrian" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="gymnastics">
+			<symbol ref="gymnastics" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="football|australian_football|american_football">
+			<symbol ref="football" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="handball">
+			<symbol ref="handball" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="shooting">
+			<symbol ref="shooting" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="soccer">
+			<symbol ref="soccer" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="swimming">
+			<symbol ref="swimming" position="center"/>
+		</rule>
+		<rule e="node" k="sport" v="tennis">
+			<symbol ref="tennis" position="center"/>
+		</rule>
+		
+		<!-- Sport symbols without borders on ways -->
+		<rule e="way" k="sport" v="archery">
+			<symbol ref="archery-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="athletics">
+			<symbol ref="athletics-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="baseball">
+			<symbol ref="baseball-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="basketball">
+			<symbol ref="basketball-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="bowls">
+			<symbol ref="bowls-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="cricket">
+			<symbol ref="cricket-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="curling">
+			<symbol ref="curling-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="diving|scuba_diving">
+			<symbol ref="diving-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="equestrian">
+			<symbol ref="equestrian-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="football|australian_football|american_football">
+			<symbol ref="football-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="gymnastics">
+			<symbol ref="gymnastics-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="handball">
+			<symbol ref="handball-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="shooting">
+			<symbol ref="shooting-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="soccer">
+			<symbol ref="soccer-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="swimming">
+			<symbol ref="swimming-borderless" position="center"/>
+		</rule>
+		<rule e="way" k="sport" v="tennis">
+			<symbol ref="tennis-borderless" position="center"/>
+		</rule>
+		
+		<!-- Historic symbols -->
+		<rule e="node" k="historic" v="*">
+			<rule e="node" k="historic" v="museum">
+				<symbol ref="museum" position="center"/>
+			</rule>
+			<else>
+				<circle r="0.4" class="generic-poi"/>
+			</else>
+		</rule>
+		<rule e="way" k="historic" v="museum">
+				<area ref="museum" position="center"/>
+				<symbol ref="museum" position="center"/>
+		</rule>
+		<rule e="node" k="man_made" v="cairn">
+			<circle r="0.4" stroke="black" stroke-width="0.1px" fill="white"/>
+			<circle r="0.1" stroke="black" stroke-width="0.1px" fill="black"/>
+		</rule>
+		<rule e="node|way" k="amenity|man_made|leisure|shop|tourism|building" v="*">
+			<rule e="node|way" k="disused|abandoned" v="yes|true">
+				<symbol ref="disused" position="center"/>
+			</rule>
+		</rule>
+		<!-- ==================================== Layer -5 ======================================== -->
+
+		<!-- Access restrictions for areas -->
+		<rule e="way" k="landuse" v="conservation" layer="-5">
+			<rule e="way" k="access" v="private" layer="-5">
+				<area class="access-private-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="permissive" layer="-5">
+				<area class="access-permissive-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="destination" layer="-5">
+				<area class="access-destination-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="no" layer="-5">
+				<area class="access-no-area-border access-area-border-width-landuse-conservation" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="leisure" v="park" layer="-5">
+			<rule e="way" k="access" v="private" layer="-5">
+				<area class="access-private-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="permissive" layer="-5">
+				<area class="access-permissive-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="destination" layer="-5">
+				<area class="access-destination-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="no" layer="-5">
+				<area class="access-no-area-border access-area-border-width-leisure-park" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="leisure" v="recreation_ground" layer="-5">
+			<rule e="way" k="access" v="private" layer="-5">
+				<area class="access-private-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="permissive" layer="-5">
+				<area class="access-permissive-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="destination" layer="-5">
+				<area class="access-destination-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+			<rule e="way" k="access" v="no" layer="-5">
+				<area class="access-no-area-border access-area-border-width-landuse-field" layer="-5"/>
+			</rule>
+		</rule>
+
+		<!-- Man-made areas -->
+		<rule e="way" k="landuse" v="military" layer="-5">
+			<rule e="way" k="military" v="~" layer="-5">
+				<area class="military-area" layer="-5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="military" v="*" layer="-5">
+			<area class="military-area" layer="-5"/>
+		</rule>
+
+		<!-- Landuse -->
+		<rule e="way" k="landuse" v="residential|farmyard" layer="-5">
+			<area class="landuse-residential" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="retail" layer="-5">
+			<area class="landuse-retail" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="industrial|brownfield|railway" layer="-5">
+			<area class="landuse-industrial" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="commercial" layer="-5">
+			<area class="landuse-commercial" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="construction|greenfield" layer="-5">
+			<area class="landuse-construction" layer="-5"/>
+		</rule>
+		<rule e="way" k="landuse" v="garages" layer="-5">
+			<area class="landuse-garages" layer="-5"/>
+		</rule>
+
+		<!-- Artificial landuse -->
+		<rule e="way" k="man_made" v="wastewater_plant" layer="-5" closed="yes">
+			<area class="man_made-wastewater" layer="-5"/>
+		</rule>
+		<rule e="way" k="man_made" v="wastewater_plant">
+			<symbol ref="wastewater" position="center"/>
+		</rule>
+		<rule e="node" k="man_made" v="wastewater_plant">
+			<symbol ref="wastewater" position="center"/>
+		</rule>
+		<rule e="way" k="amenity" v="kindergarten|school|college|university" layer="-5">
+			<area class="amenity-school" layer="-5"/>
+		</rule>
+
+
+		<!-- ==================================== Layer 5 ======================================== -->
+
+		<!-- Non-physical boundaries -->
+		<rule e="way" k="boundary" v="postal_code|postcode_area" layer="5">
+			<line class="boundary-postalcode-casing no-bezier" layer="5"/>
+		</rule>
+		<rule e="way" k="boundary" v="administrative" layer="5">
+			<rule e="way" k="admin_level" v="1|2|3|4|5|6|7|8|9|10|11" layer="5">
+				<rule e="way" k="admin_level" v="11" layer="5">
+					<line class="boundary boundary-level-11-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="10" layer="5">
+					<line class="boundary boundary-level-10-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="9" layer="5">
+					<line class="boundary boundary-level-9-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="8" layer="5">
+					<line class="boundary boundary-level-8-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="7" layer="5">
+					<line class="boundary boundary-level-7-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="6" layer="5">
+					<line class="boundary boundary-level-6-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="5" layer="5">
+					<line class="boundary boundary-level-5-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="4" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="3" layer="5">
+					<line class="boundary boundary-level-3-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="2" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="admin_level" v="1" layer="5">
+					<line class="boundary boundary-level-1-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-1-core no-bezier" layer="5"/>
+				</rule>
+			</rule>
+			<!-- If we don't have explicit admin_level then guess -->
+			<else>
+				<rule e="way" k="border_type" v="suburb" layer="5">
+					<line class="boundary boundary-level-10-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="municipality|city" layer="5">
+					<line class="boundary boundary-level-8-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="county|district" layer="5">
+					<line class="boundary boundary-level-6-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="region|state" layer="5">
+					<line class="boundary boundary-level-4-core no-bezier" layer="5"/>
+				</rule>
+				<rule e="way" k="border_type" v="nation|country" layer="5">
+					<line class="boundary boundary-level-2-casing no-bezier" layer="5"/>
+					<line class="boundary boundary-level-2-core no-bezier" layer="5"/>
+				</rule>
+			</else>
+		</rule>
+		<rule e="way" k="boundary" v="national_park" layer="5">
+			<line class="boundary boundary-nationalpark-core no-bezier" layer="5"/>
+		</rule>
+
+		<!-- Waterway and Street names -->
+		<rule e="way" k="osmarender:renderName" v="~|yes" layer="5">
+			<rule e="way" k="tunnel" v="~|no|false" layer="5"> <!-- no names in tunnels -->
+				<rule e="way" k="area" v="~|no|false" layer="5"> <!-- area names are done elsewhere -->
+					<rule e="way" k="junction" v="~" layer="5"> <!-- no names on or along junctions -->
+						<!-- Waterway names -->
+						<rule e="way" k="lock_name" v="~" layer="5"> <!-- locks get their name below -->
+							<rule e="way" k="waterway" v="ditch" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-ditch-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-ditch-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="drain" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-drain-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-drain-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="canal" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-canal-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-canal-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="stream" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-stream-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-stream-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="river" layer="5">
+								<pathText k="name" startOffset="50%" class="waterway-name-casing waterway-river-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="name" startOffset="50%" class="waterway-name-core waterway-river-name-core" dy="0.5px" layer="5"/>
+							</rule>
+						</rule>
+						<else> <!-- names on locks -->
+							<rule e="way" k="waterway" v="canal" layer="5">
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-casing waterway-canal-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-core waterway-canal-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="stream" layer="5">
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-casing waterway-stream-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-core waterway-stream-name-core" dy="0.5px" layer="5"/>
+							</rule>
+							<rule e="way" k="waterway" v="river" layer="5">
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-casing waterway-river-name-casing" dy="0.5px" layer="5"/>
+								<pathText k="lock_name" startOffset="50%" class="waterway-name-core waterway-river-name-core" dy="0.5px" layer="5"/>
+							</rule>
+						</else>
+
+						<!-- Scramble names -->
+						<rule e="way" k="scramble" v="*" layer="5">
+							<pathText startOffset="50%" class="caption-casing highway-scramble-name" dy="0.35px" layer="5"><tag k="name"/> ( <tag k="scramble"/> )</pathText>
+							<pathText startOffset="50%" class="caption-core highway-scramble-name" dy="0.35px" layer="5"><tag k="name"/> ( <tag k="scramble"/> )</pathText>
+						</rule>
+
+						<!-- Highway names -->
+						<rule e="way" k="highway" v="steps" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-steps-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="footway|footpath" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-footway-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="pedestrian" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-pedestrian-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="cycleway" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-cycleway-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="path" layer="5">
+							<rule e="way" k="bicycle" v="yes|designated" layer="5">
+								<pathText k="name" startOffset="50%" class="highway-name highway-cycleway-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+							</rule>
+							<else>
+								<rule e="way" k="horse" v="yes|designated" layer="5">
+									<pathText k="name" startOffset="50%" class="highway-name highway-bridleway-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+								</rule>
+								<else>
+									<pathText k="name" startOffset="50%" class="highway-name highway-footway-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+								</else></else>
+						</rule>
+						<rule e="way" k="highway" v="bridleway" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-bridleway-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="byway" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-byway-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="track" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-track-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="unsurfaced" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-unsurfaced-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="service" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-service-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad|road" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-unclassified-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="tertiary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-tertiary-link-name" dy="0.5px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="tertiary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-tertiary-name" dy="0.5px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="secondary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-secondary-link-name" dy="0.5px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="secondary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-secondary-name" dy="0.5px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="primary_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-primary-link-name" dy="0.5px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="trunk_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-trunk-link-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="motorway_link" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-motorway-link-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="primary" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-primary-name" dy="0.5px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="trunk" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-trunk-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<rule e="way" k="highway" v="motorway" layer="5">
+							<pathText k="name" startOffset="50%" class="highway-name highway-motorway-name" dy="0.35px" layer="5" avoid-duplicates="true" />
+						</rule>
+					</rule>
+
+					<!-- Roundabouts, motorway exits etc -->
+					<rule e="way" k="junction" v="*" layer="5" notConnectedSameTag="name">
+						<rule e="way" k="highway" v="unsurfaced|track" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-unsurfaced-name" dy="0.75px" layer="5"/>
+						</rule>
+						<rule e="way" k="highway" v="pedestrian" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-pedestrian-name" dy="0.75px" layer="5"/>
+						</rule>
+						<rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad|road" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-unclassified-name" dy="0.75px" layer="5"/>
+						</rule>
+						<rule e="way" k="highway" v="tertiary|tertiary_link" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-tertiary-name" dy="0.75px" layer="5"/>
+						</rule>
+						<rule e="way" k="highway" v="secondary|secondary_link" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-secondary-name" dy="1px" layer="5"/>
+						</rule>
+						<rule e="way" k="highway" v="primary|primary_link" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-primary-name" dy="1px" layer="5"/>
+						</rule>
+						<rule e="way" k="highway" v="trunk|trunk_link" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-trunk-name" dy="1.5px" layer="5"/>
+						</rule>
+						<rule e="way" k="highway" v="motorway|motorway_link" layer="5">
+							<caption k="name" startOffset="50%" class="highway-name highway-motorway-name" dy="1.5px" layer="5"/>
+						</rule>
+					</rule>
+				</rule>
+				<else> <!-- area!=yes -->
+					<rule e="way" k="highway" v="*" notConnectedSameTag="name" layer="5">
+						<caption k="name" class="caption-casing generic-caption-casing" text-anchor="middle" startOffset="50%" layer="5"/>
+						<caption k="name" class="caption-core generic-caption-core" text-anchor="middle" startOffset="50%" layer="5"/>
+					</rule>
+				</else>
+			</rule>
+		</rule>
+
+		<!-- Road numbers for all highways -->
+		<rule e="way" k="osmarender:renderRef" v="~|yes" layer="5">
+			<rule e="way" k="tunnel" v="~|no|false" layer="5"> <!-- no road numbers in tunnels -->
+				<rule e="way" k="junction" v="~" layer="5"> <!-- no ref on junctions / roundabouts -->
+					<!-- Use startOffset to prevent captions from colliding on dual carriageways -->
+					<rule e="way" k="highway" v="steps" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-steps-ref" dy="-0.5px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="footway|footpath" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-footway-ref" dy="-0.5px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="pedestrian" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-pedestrian-ref" dy="-1px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="cycleway" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-cycleway-ref" dy="-0.8px" avoid-duplicates="true" />
+						<pathText k="ncn_ref" startOffset="60%" class="highway-ref highway-cycleway-ref" dy="-0.8px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="path" layer="5">
+						<rule e="way" k="bicycle" v="yes|designated" layer="5">
+							<pathText k="ref" startOffset="30%" class="highway-ref highway-cycleway-ref" dy="-0.8px" layer="5" avoid-duplicates="true" />
+							<pathText k="ncn_ref" startOffset="60%" class="highway-ref highway-cycleway-ref" dy="-0.8px" layer="5" avoid-duplicates="true" />
+						</rule>
+						<else>
+							<rule e="way" k="horse" v="yes|designated" layer="5">
+								<pathText k="ref" startOffset="30%" class="highway-ref highway-bridleway-ref" dy="-0.8px" layer="5" avoid-duplicates="true" />
+							</rule>
+							<else>
+								<pathText k="ref" startOffset="30%" class="highway-ref highway-footway-ref" dy="-0.5px" layer="5" avoid-duplicates="true" />
+							</else></else>
+					</rule>
+					<rule e="way" k="highway" v="bridleway" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-bridleway-ref" dy="-0.8px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="byway" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-byway-ref" dy="-1px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="track" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-track-ref" dy="-1px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="unsurfaced" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-unsurfaced-ref" dy="-1px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="service" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-service-ref" dy="-1px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="unclassified|residential|minor|living_street|cycleroad|road" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-unclassified-ref" dy="-1.2px" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="tertiary" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-tertiary-ref" dy="-1.25px" textAttenuation="3" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="secondary" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-secondary-ref" dy="-1.25px" textAttenuation="3" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="primary" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-primary-ref" dy="-1.25px" textAttenuation="3" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="trunk" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-trunk-ref" dy="-1.25px" textAttenuation="3" layer="5" avoid-duplicates="true" />
+					</rule>
+					<rule e="way" k="highway" v="motorway" layer="5">
+						<pathText k="ref" startOffset="30%" class="highway-ref highway-motorway-ref" dy="-1.50px" textAttenuation="3" layer="5" avoid-duplicates="true" />
+					</rule>
+				</rule>
+			</rule>
+		</rule>
+
+		<!-- House numbers -->
+		<rule e="node|way" k="addr:housenumber" v="*" layer="5">
+			<rule e="node|way" k="power|tourism|amenity|man_made|shop|historic" v="tower|hotel|hostel|information|camp_site|hospital|doctor|pharmacy|postoffice|pub|bar|cafe|cinema|theatre|windmill|place_of_worship|parking|kindergarten|school|university|college|supermarket|bakery|hairdresser|florist|organic|shelter|library|fire_station|fuel|recycling|toilets|drinking_water|bank|atm|bureau_de_change|museum|telephone|fast_food|restaurant" layer="5">
+				<!-- circle r="0.9px" class="housenumber-node" transform="translate(1.6,0)" layer="5"/ testweise raus ... -->
+				<caption k="addr:housenumber" startOffset="50%" class="housenumber-casing housenumber-left"  dy="0.3px" dx="0.9px" layer="5"/>
+				<caption k="addr:housenumber" startOffset="50%" class="housenumber-caption housenumber-left" dy="0.3px" dx="0.9px" layer="5"/>
+			</rule>
+			<else>
+				<!-- circle r="0.9px" class="housenumber-node" layer="5"/ -->
+				<caption k="addr:housenumber" startOffset="50%" class="housenumber-casing housenumber-center"  dy="0.3px" layer="5"/>
+				<caption k="addr:housenumber" startOffset="50%" class="housenumber-caption housenumber-center" dy="0.3px" layer="5"/>
+			</else>
+		</rule>
+
+		<!-- Place names  -->
+		<rule e="node|way" k="osmarender:renderName" v="~|yes" layer="5">
+			<rule e="node|way" k="aeroway" v="gate" layer="5">
+				<caption k="ref" class="place-caption" font-size="1px" layer="5"/>
+			</rule>
+			<rule e="node|way" k="natural" v="peak|volcano" layer="5">
+				<caption k="name" class="place-caption peak-caption" dy="-1.5px" layer="5"/>
+				<caption k="ele" class="place-caption" font-size="1px" dy="2.0px" layer="5"/>
+			</rule>
+			<rule e="node" k="mountain_pass" v="yes" layer="5">
+				<caption k="name" class="place-caption pass-caption" dy="-1.5px" layer="5"/>
+				<caption k="ele" class="place-caption" font-size="1px" dy="2.0px" layer="5"/>
+			</rule>
+			<rule e="node|way" k="natural" v="cave_entrance" layer="5">
+				<caption k="name" class="place-caption cave-caption" dy="-1.5px" layer="5"/>
+			</rule>
+			<rule e="node|way" k="place" v="island" layer="5">
+				<caption k="name" class="place-caption island-caption" layer="5"/>
+			</rule>
+			<rule e="node|way" k="place" v="islet" layer="5">
+				<caption k="name" class="place-caption islet-caption" layer="5"/>
+			</rule>
+			<rule e="node|way" k="place" v="village" layer="5">
+				<caption k="name" class="place-caption village-caption" layer="5"/>
+			</rule>
+			<rule e="node|way" k="place" v="suburb" layer="5">
+				<caption k="name" class="place-caption suburb-caption" layer="5"/>
+			</rule>
+			<rule e="node|way" k="place" v="hamlet" layer="5">
+				<caption k="name" class="place-caption hamlet-caption" layer="5"/>
+			</rule>
+			<rule e="node|way" k="place" v="locality" layer="5">
+				<caption k="name" class="place-caption locality-caption" layer="5"/>
+			</rule>
+			<rule e="node|way" k="place" v="farm" layer="5">
+				<caption k="name" class="place-caption farm-caption" layer="5"/>
+			</rule>
+			<rule e="node|way" k="tourism" v="attraction" layer="5">
+				<rule e="node|way" k="amenity|historic" v="place_of_worship|ruins" />
+				<else>
+					<rule e="node|way" k="highway" v="~">
+						<caption k="name" class="tourism-attraction-caption" layer="5"/>
+					</rule>
+				</else>
+			</rule>
+
+			<!-- platforms text -->
+			<rule e="way" k="highway|railway|public_transport" v="platform" closed="yes">
+				<caption k="ref" startOffset="50%" class="highway-platform-ref" dy="0.3px" layer="5" />
+			</rule>
+			<rule e="way" k="highway|railway|public_transport" v="platform" closed="no">
+				<caption k="ref" startOffset="50%" class="highway-platform-ref" dy="0.3px" layer="5" />
+			</rule>
+			<rule e="node" k="highway|railway|public_transport" v="platform">
+				<caption k="ref" startOffset="50%" class="highway-platform-ref" dy="0.3px" layer="5" />
+			</rule>
+
+			<rule e="node" k="railway" v="station" layer="5">
+				<rule e="node" s="way" k="railway" v="rail" layer="5">
+					<caption k="name" class="caption-casing railway-station-caption-casing" dy="-1.5px" layer="5"/>
+					<caption k="name" class="caption-core railway-station-caption-core" dy="-1.5px" layer="5"/>
+				</rule>
+				<else>
+					<caption k="name" class="caption-casing railway-halt-caption-casing" dy="-1px" layer="5"/>
+					<caption k="name" class="caption-core railway-halt-caption-core" dy="-1px" layer="5"/>
+				</else>
+			</rule>
+			<rule e="node" k="railway" v="halt" layer="5">
+				<caption k="name" class="caption-casing railway-halt-caption-casing" dy="-1px" layer="5"/>
+				<caption k="name" class="caption-core railway-halt-caption-core" dy="-1px" layer="5"/>
+			</rule>
+			<rule e="node" k="railway" v="tram_stop" layer="5">
+				<caption k="name" class="caption-casing railway-halt-caption-casing" dy="-1px" layer="5"/>
+				<caption k="name" class="caption-core railway-halt-caption-core" dy="-1px" layer="5"/>
+			</rule>
+			<rule e="node" k="aerialway" v="station" layer="5">
+				<caption k="name" class="caption-casing railway-halt-caption-casing" dy="-1px" layer="5"/>
+				<caption k="name" class="caption-core railway-halt-caption-core" dy="-1px" layer="5"/>
+			</rule>
+			
+			<!-- Limit POI captions  -->
+                        <rule e="node|way" k="amenity|man_made|tourism|shop|historic" v="*" horizontalProximity="0.0002" verticalProximity="0.0004" layer="5">
+                          <rule e="node|way" k="amenity" v="pub|cafe|bar"   layer="5">
+                            <caption k="name" class="caption-casing amenity-pub-caption-casing" dy="-1.2px" layer="5"/>
+                            <caption k="name" class="caption-core amenity-pub-caption-core" dy="-1.2px" layer="5"/>
+                          </rule>
+                          <rule e="node|way" k="man_made" v="lighthouse" layer="5">
+                            <caption k="name" class="caption-casing man_made-lighthouse-caption-casing" dy="-1.2px" layer="5"/>
+                            <caption k="name" class="caption-core man_made-lighthouse-caption-core" dy="-1.2px" layer="5"/>
+                          </rule>
+                          <rule e="node|way" k="amenity" v="cinema" layer="5">
+                            <caption k="name" class="caption-casing amenity-cinema-caption-casing" dy="-1px" layer="5"/>
+                            <caption k="name" class="caption-core amenity-cinema-caption-core" dy="-1px" layer="5"/>
+                          </rule>
+                          <rule e="node|way" k="amenity" v="theatre" layer="5">
+                            <caption k="name" class="caption-casing amenity-theatre-caption-casing" dy="-0.9px" layer="5"/>
+                            <caption k="name" class="caption-core amenity-theatre-caption-core" dy="-0.9px" layer="5"/>
+                          </rule>
+                          
+                          <rule e="node|way" k="amenity" v="kindergarten|school|college|university" layer="5">
+                            <caption k="name" class="caption-casing generic-caption-casing" dy="-1px" layer="5"/>
+                            <caption k="name" class="caption-core generic-caption-core" dy="-1px" layer="5"/>
+                          </rule>
+                          <rule e="node|way" k="amenity" v="restaurant|shelter|supermarket|hairdresser|bakery|library|fire_station|doctors|pharmacy|place_of_worship|parking|post_office|hospital|hotel|hostel|camp_site|bank|atm|bureau_de_change|bus_station|fast_food|fuel" layer="5">
+                            <caption k="name" class="caption-casing generic-caption-casing" dy="-1.2px" layer="5"/>
+                            <caption k="name" class="caption-core generic-caption-core" dy="-1.2px" layer="5"/>
+                          </rule>
+                          <rule e="node|way" k="shop" v="supermarket|organic|bakery|florist|hairdresser" layer="5">
+                            <caption k="name" class="caption-casing generic-caption-casing" dy="-1.2px" layer="5"/>
+                            <caption k="name" class="caption-core generic-caption-core" dy="-1.2px" layer="5"/>
+                          </rule>
+                          <rule e="node|way" k="tourism" v="hotel|hostel|camp_site|information" layer="5">
+                            <rule e="node|way" k="amenity" v="restaurant" layer="5">
+                            </rule>
+                            <else>
+                              <caption k="name" class="caption-casing generic-caption-casing" dy="0.6px" layer="5"/>
+                              <caption k="name" class="caption-core generic-caption-core" dy="0.6px" layer="5"/>
+                            </else>
+                          </rule>
+                          <rule e="node|way" k="historic" v="*" layer="5">
+                            <rule e="node|way" k="building" v="~|no">
+                              <caption k="name" class="caption-casing generic-caption-casing" dy="-1px" layer="5"/>
+                              <caption k="name" class="caption-core generic-caption-core" dy="-1px" layer="5"/>
+                            </rule>
+                          </rule>
+			</rule> <!-- end limit POI captions -->
+                </rule>
+
+		<!-- Area captions -->
+		<rule e="way" k="natural" v="*" layer="5">
+			<rule e="way" k="place" v="island|islet">
+			</rule>
+			<else>
+				<caption k="name" class="caption-casing generic-caption-casing" text-anchor="middle" startOffset="50%" layer="5"/>
+				<caption k="name" class="caption-core generic-caption-core" text-anchor="middle" startOffset="50%" layer="5"/>
+			</else>
+		</rule>
+
+		<rule e="way" k="sport" v="~" layer="5"> <!-- omit rendering captions for leisure, if sport is also set -->
+			<rule e="way" k="leisure" v="*" layer="5">
+				<caption k="name" class="caption-casing generic-caption-casing" text-anchor="middle" startOffset="50%" layer="5"/>
+				<caption k="name" class="caption-core generic-caption-core" text-anchor="middle" startOffset="50%" layer="5"/>
+			</rule>
+		</rule>
+		<rule e="way" k="sport" v="*" layer="5">
+			<!-- Offset captions for areas with icons -->
+			<rule e="way" k="sport" v="archery|athletics|baseball|basketball|bowls|cricket|curling|diving|equestrian|football|australian_football|american_football|gymnastics|handball|scuba_diving|shooting|soccer|swimming|tennis" layer="5">
+				<caption k="name" class="caption-core sport-caption-core" text-anchor="middle" startOffset="50%" dy="3.4px" layer="5"/>
+			</rule>
+			<else>
+				<caption k="name" class="caption-core sport-caption-core" text-anchor="middle" startOffset="50%" layer="5"/>
+			</else>
+		</rule>
+		<rule e="way" k="landuse|military" v="*" layer="5">
+			<!-- Only render landuse caption when no other caption is rendered for the area. -->
+			<rule e="way" k="amenity|shop|tourism" v="pub|bar|cafe|cinema|theatre|kindergarten|school|college|university|restaurant|shelter|supermarket|bakery|hairdresser|florist|library|fire_station|doctors|pharmacy|place_of_worship|parking|post_office|hospital|hotel|hostel|camp_site|bank|atm|bureau_de_change|bus_station|supermarket|organic|hotel|hostel|camp_site|information" />
+			<else>
+				<caption k="name" class="caption-casing generic-caption-casing" text-anchor="middle" startOffset="50%" layer="5"/>
+				<caption k="name" class="caption-core generic-caption-core" text-anchor="middle" startOffset="50%" layer="5"/>
+			</else>
+		</rule>
+
+		<rule e="node" k="sport" v="~" layer="5"> <!-- don't render captions for buildings, if sport is also set, thus honor offsets -->
+			<rule e="node" k="building" v="*" layer="5">
+				<!-- same goes if one of the following is set -->
+				<rule e="node" k="amenity|shop|tourism" v="pub|bar|cafe|cinema|theatre|kindergarten|school|college|university|restaurant|shelter|supermarket|bakery|hairdresser|florist|library|fire_station|doctors|pharmacy|place_of_worship|parking|post_office|hospital|hotel|hostel|camp_site|bank|atm|bureau_de_change|bus_station|supermarket|organic|hotel|hostel|camp_site|information|fast_food|fuel" layer="5">
+				</rule>
+				<else>
+					<caption k="name" class="caption-casing generic-caption-casing" text-anchor='middle' startOffset='50%' dy="-0.7px" layer="5"/>
+					<caption k="name" class="caption-core generic-caption-core" text-anchor='middle' startOffset='50%' dy="-0.7px" layer="5"/>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="sport" v="~" layer="5"> <!-- don't render captions for buildings, if sport is also set, thus honor offsets -->
+			<rule e="way" k="building" v="*" layer="5">
+				<!-- same goes if one of the following is set -->
+				<rule e="way" k="amenity|shop|tourism" v="pub|bar|cafe|cinema|theatre|kindergarten|school|college|university|restaurant|shelter|supermarket|bakery|hairdresser|florist|library|fire_station|doctors|pharmacy|place_of_worship|parking|post_office|hospital|hotel|hostel|camp_site|bank|atm|bureau_de_change|bus_station|supermarket|organic|hotel|hostel|camp_site|information|fast_food|fuel" layer="5">
+				</rule>
+				<else>
+					<rule e="way" k="addr:housenumber" v="*">
+						<!-- Offset caption if housenumber is present -->
+						<caption k="name" class="caption-casing generic-caption-casing" text-anchor='middle' startOffset='50%' dy="-0.7px" layer="5"/>
+						<caption k="name" class="caption-core generic-caption-core" text-anchor='middle' startOffset='50%' dy="-0.7px" layer="5"/>
+					</rule>
+					<else>
+						<caption k="name" class="caption-casing generic-caption-casing" text-anchor='middle' startOffset='50%' layer="5"/>
+						<caption k="name" class="caption-core generic-caption-core" text-anchor='middle' startOffset='50%' layer="5"/>
+					</else>
+				</else>
+			</rule>
+		</rule>
+		<rule e="way" k="tourism" v="tourism-attraction|zoo|picnic_site|caravan_site|camp_site" layer="5">
+			<caption k="name" class="caption-casing generic-caption-casing" text-anchor="middle" startOffset="50%" layer="5"/>
+			<caption k="name" class="caption-core generic-caption-core" text-anchor="middle" startOffset="50%" layer="5"/>
+		</rule>
+	</rule>
+
+	<!-- Relation/Routes SDW -->
+	<!--
+		<rule e="relation" k="type" v="route">
+			<rule e="relation" k="prefered_color" v="*">
+				<rule e="relation" k="prefered_color" v="white">
+					<line class="relationroute-way relationroute-white" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="silver">
+					<line class="relationroute-way relationroute-silver" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="gray">
+					<line class="relationroute-way relationroute-gray" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="black">
+					<line class="relationroute-way relationroute-black" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="red">
+					<line class="relationroute-way relationroute-red" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="maroon">
+					<line class="relationroute-way relationroute-maroon" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="green">
+					<line class="relationroute-way relationroute-green" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="lime">
+					<line class="relationroute-way relationroute-lime" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="blue">
+					<line class="relationroute-way relationroute-blue" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="navy">
+					<line class="relationroute-way relationroute-navy" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="fuchsia">
+					<line class="relationroute-way relationroute-fuchsia" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="purple">
+					<line class="relationroute-way relationroute-purple" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="yellow">
+					<line class="relationroute-way relationroute-yellow" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="olive">
+					<line class="relationroute-way relationroute-olive" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="aqua">
+					<line class="relationroute-way relationroute-aqua" smart-linecap="no"/>
+				</rule>
+				<rule e="relation" k="prefered_color" v="teal">
+					<line class="relationroute-way relationroute-teal" smart-linecap="no"/>
+				</rule>
+			</rule>
+			<else>
+				<rule e="relation" k="route" v="road">
+					<line class="relationroute-way relationroute-yellow" smart-linecap="no"/>
+					<circle class="relationroute-yellow relationroute-stop" r="0.5px"/>
+				</rule>
+				<rule e="relation" k="route" v="bicycle">
+					<line class="relationroute-way relationroute-blue" smart-linecap="no"/>
+					<circle class="relationroute-blue relationroute-stop" r="0.5px"/>
+				</rule>
+				<rule e="relation" k="route" v="hiking">
+					<line class="relationroute-way relationroute-red" smart-linecap="no"/>
+					<circle class="relationroute-red relationroute-stop" r="0.5px"/>
+				</rule>
+				<rule e="relation" k="route" v="bus">
+					<line class="relationroute-way relationroute-green" smart-linecap="no"/>
+					<circle class="relationroute-green relationroute-stop" r="0.5px"/>
+				</rule>
+			</else>
+		</rule>
+		-->
+
+	<!-- SVG Definitions - markers, symbols etc go here -->
+	<include ref="markers.xml"/>
+	<defs>
+		<style xmlns="http://www.w3.org/2000/svg" id="styles" type="text/css">
+			/* DO NOT DELETE - Used by osmarender.xsl */
+			.untagged-segments {
+			stroke-width: 0.5px;
+			stroke-linejoin: round;
+			stroke-linecap: butt;
+			stroke: #e0e0e0;
+			stroke-dasharray: 0.5,0.5;
+			}
+
+			.canal-lock {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#canal-lock);
+			}
+
+			.noexit-all {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#noexit-all);
+			}
+			.noexit-veh {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#noexit-veh);
+			}
+			.noexit-mot {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#noexit-mot);
+			}
+			.noexit-no {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#noexit-no);
+			}
+			.noexit-rail {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0;
+			marker-mid: url(#noexit-rail);
+			}
+
+			.gate-locked {
+			fill: none;
+			stroke: red;
+			stroke-width: 1px;
+			stroke-opacity: 0;
+			marker-mid: url(#marker-gate-locked);
+			}
+
+			.gate-closed {
+			fill: none;
+			stroke: red;
+			stroke-width: 1px;
+			stroke-opacity: 0;
+			marker-mid: url(#marker-gate-closed);
+			}
+
+			.gate-open {
+			fill: none;
+			stroke: red;
+			stroke-width: 1px;
+			stroke-opacity: 0;
+			marker-mid: url(#marker-gate-open);
+			}
+
+			.bollard {
+			fill: #707070;
+			stroke: none;
+			}
+
+			.chicane {
+			fill: none;
+			stroke: red;
+			stroke-width: 2px;
+			stroke-opacity: 0;
+			marker-mid: url(#marker-chicane);
+			}
+
+			.traffic-calming {
+			fill: none;
+			stroke: red;
+			stroke-width: 2px;
+			stroke-opacity: 0;
+			marker-mid: url(#marker-traffic-calming);
+			}
+
+			.highway-crossing {
+			fill: none;
+			stroke: red;
+			stroke-opacity: 0;
+			marker-mid: url(#highway-crossing);
+			}
+
+			/* RelationRoute - generic styles */
+			.relationroute-way {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			smart-linecap: no;
+			fill: none;
+			stroke-width: 2.5px;
+			opacity: 0.75;
+			}
+
+			.relationroute-stop {
+			stroke-width: 4px;
+			fill: none;
+			opacity: 0.75;
+			}
+
+			/* VGA colours supported, add more if necessary */
+			.relationroute-white                      { stroke: #FFFFFF; }
+			.relationroute-silver                     { stroke: #C0C0C0; }
+			.relationroute-gray                       { stroke: #808080; }
+			.relationroute-black                      { stroke: #000000; }
+			.relationroute-red                        { stroke: #FF0000; }
+			.relationroute-maroon                     { stroke: #800000; }
+			.relationroute-green                      { stroke: #008000; }
+			.relationroute-lime                       { stroke: #00FF00; }
+			.relationroute-blue                       { stroke: #0000FF; }
+			.relationroute-navy                       { stroke: #000080; }
+			.relationroute-fuchsia                    { stroke: #FF00FF; }
+			.relationroute-purple                     { stroke: #800080; }
+			.relationroute-yellow                     { stroke: #FFFF00; }
+			.relationroute-olive                      { stroke: #808000; }
+			.relationroute-aqua                       { stroke: #00FFFF; }
+			.relationroute-teal                       { stroke: #008080; }
+
+			/* Highways - generic styles */
+			.highway-casing {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+
+			.highway-core {
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			fill: none;
+			}
+
+			.highway-motorway-junction {
+			fill: yellow;
+			stroke: #4D5D73;
+			stroke-width: 0.75px;
+			}
+
+			.highway-motorway-junction-caption {
+			fill: black;
+			stroke: black;
+			stroke-width: 0.05px;
+			font-family: "DejaVu Sans";
+			font-size: 1.5px;
+			font-weight: bold;
+			text-anchor: middle;
+			}
+
+			.highway-ref {
+			fill: #606060;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			text-anchor: middle;
+			}
+
+			.highway-name {
+			fill: black;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			text-anchor: middle;
+			}
+
+			.highway-user {
+			stroke-width: 0px;
+			font-size: 1.0px; fill: #c0c0c0;
+			}
+
+			.highway-nobicycle-1 { stroke-width: 2.7px; stroke: #000080; stroke-dasharray: 0.1,1.9; stroke-linecap: butt; fill: none; stroke-miterlimit: 0.1; }
+			.highway-nobicycle-2 { stroke-width: 2.0px; stroke: #d1fad1; stroke-dasharray: 0.1,1.9; stroke-linecap: butt; fill: none; stroke-miterlimit: 0.1; }
+			.highway-nobicycle-3 { stroke-width: 0.2px; stroke: #000080; stroke-dasharray: 0.1,1.9; stroke-linecap: butt; fill: none; stroke-miterlimit: 0.1; }
+
+			.bridge-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			marker-start: url(#bridge-casing-start);
+			marker-end: url(#bridge-casing-end);
+			}
+
+			.bridge-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #ffffff;
+			fill: none;
+			}
+
+			.tunnel-casing {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+
+			.tunnel-core {
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			}
+
+			.tunnel { stroke-dasharray: 0.4, 0.4; }
+
+			.embankment-cutting              { fill: none; stroke-linejoin: bevel; stroke-linecap: butt; stroke: #6f4a18; }
+			.dyke                            { fill: none; stroke-linejoin: bevel; stroke-linecap: butt; stroke: #3a7019; }
+
+			.embankment-long-casing          { stroke-width: 3.6px; stroke-dasharray: 0.1, 1.1; }
+			.embankment-short-casing         { stroke-width: 3.0px; stroke-dasharray: 0.1, 0.5, 0.1, 0.5;  }
+			.embankment-middle-casing        { stroke-width: 1.9px; stroke-dasharray: none; }
+			.embankment-core                 { stroke-width: 1.7px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.embankment-small-long-casing    { stroke-width: 3.1px; stroke-dasharray: 0.1, 1.1; }
+			.embankment-small-short-casing   { stroke-width: 2.5px; stroke-dasharray: 0.1, 0.5, 0.1, 0.5;  }
+			.embankment-small-middle-casing  { stroke-width: 1.4px; stroke-dasharray: none; }
+			.embankment-small-core           { stroke-width: 1.2px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.embankment-wide-long-casing     { stroke-width: 4.3px; stroke-dasharray: 0.1, 1.1; }
+			.embankment-wide-short-casing    { stroke-width: 3.6px; stroke-dasharray: 0.1, 0.5, 0.1, 0.5;  }
+			.embankment-wide-middle-casing   { stroke-width: 2.4px; stroke-dasharray: none; }
+			.embankment-wide-core            { stroke-width: 2.2px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.cutting-casing                  { stroke-width: 3.6px; stroke-dasharray: none; }
+			.cutting-long-core               { stroke-width: 3.4px; stroke: #f8f8f8; stroke-dasharray: 0.5, 0.1, 0.5, 0.1; }
+			.cutting-short-core              { stroke-width: 2.9px; stroke: #f8f8f8; stroke-dasharray: 1.1, 0.1; }
+			.cutting-middle-core             { stroke-width: 2.1px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.cutting-small-casing            { stroke-width: 3.1px; stroke-dasharray: none; }
+			.cutting-small-long-core         { stroke-width: 2.9px; stroke: #f8f8f8; stroke-dasharray: 0.5, 0.1, 0.5, 0.1; }
+			.cutting-small-short-core        { stroke-width: 2.4px; stroke: #f8f8f8; stroke-dasharray: 1.1, 0.1; }
+			.cutting-small-middle-core       { stroke-width: 1.6px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.cutting-wide-casing             { stroke-width: 4.3px; stroke-dasharray: none; }
+			.cutting-wide-long-core          { stroke-width: 4.1px; stroke: #f8f8f8; stroke-dasharray: 0.5, 0.1, 0.5, 0.1; }
+			.cutting-wide-short-core         { stroke-width: 3.4px; stroke: #f8f8f8; stroke-dasharray: 1.1, 0.1; }
+			.cutting-wide-middle-core        { stroke-width: 2.6px; stroke: #f8f8f8; stroke-dasharray: none; }
+
+			.railway-casing { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-1-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-2-core { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+			.railway-core   { stroke-linecap: butt; stroke-linejoin: round; fill: none; }
+
+			.railway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			stroke: #b0b0b0;
+			stroke-width: 1.5px;
+			}
+
+			.electrified { stroke-width: 0.1px; stroke: #ff0000; stroke-dasharray: 0.2, 0.4; stroke-linecap: butt; stroke-linejoin: round; fill: none;  }
+
+			.railway-bridge-casing             { stroke-width: 1.5px; }
+			.railway-bridge-core               { stroke-width: 1.0px; }
+
+			.railway-rail-casing                    { stroke-width: 0.55px; }
+			.railway-rail-1-core                    { stroke-width: 0.4px; }
+			.railway-rail-2-core                    { stroke-width: 0.4px; stroke-dasharray: 1.5,1.5; }
+			.railway-rail-casing-color              { stroke: #333333; }
+			.railway-rail-1-core-color              { stroke: #e6e6e6; }
+			.railway-rail-2-core-color              { stroke: #333333; }
+			.railway-rail-tunnel-core               { stroke-opacity: 0.15; }
+			.railway-main-2-core                    { stroke-width: 0.4px; stroke-dasharray: 1.9,1.1; }
+
+			.railway-narrow-casing                    { stroke-width: 0.4px; }
+			.railway-narrow-1-core                    { stroke-width: 0.25px; }
+			.railway-narrow-2-core                    { stroke-width: 0.25px; stroke-dasharray: 1.8,1.8; }
+			.railway-narrow-casing-color              { stroke: #333333; }
+			.railway-narrow-1-core-color              { stroke: #e6e6e6; }
+			.railway-narrow-2-core-color              { stroke: #333333; }
+			.railway-narrow-tunnel-core               { stroke-opacity: 0.15; }
+
+			.railway-preserved-casing                    { stroke-width: 0.4px; }
+			.railway-preserved-1-core                    { stroke-width: 0.25px; }
+			.railway-preserved-2-core                    { stroke-width: 0.25px; stroke-dasharray: 1.5,1.5; }
+			.railway-preserved-casing-color              { stroke: #909090; }
+			.railway-preserved-1-core-color              { stroke: #e6e6e6; }
+			.railway-preserved-2-core-color              { stroke: #333333; }
+			.railway-preserved-tunnel-core               { stroke-opacity: 0.15; }
+
+			.railway-light-casing                    { stroke-width: 0.4px; }
+			.railway-light-1-core                    { stroke-width: 0.25px; }
+			.railway-light-2-core                    { stroke-width: 0.25px; stroke-dasharray: 1.2,1.8; }
+			.railway-light-casing-color              { stroke: #0f4c0f; }
+			.railway-light-1-core-color              { stroke: #b7e6e6; }
+			.railway-light-2-core-color              { stroke: #0f4c0f; }
+			.railway-light-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-tram-casing                    { stroke-width: 0.4px; }
+			.railway-tram-1-core                    { stroke-width: 0.25px; }
+			.railway-tram-2-core                    { stroke-width: 0.25px; stroke-dasharray: 1.2,1.8; }
+			.railway-tram-casing-color              { stroke: #4c0f4c; }
+			.railway-tram-1-core-color              { stroke: #e6b7e6; }
+			.railway-tram-2-core-color              { stroke: #4c0f4c; }
+			.railway-tram-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-subway-casing                    { stroke-width: 0.4px; }
+			.railway-subway-1-core                    { stroke-width: 0.25px; }
+			.railway-subway-2-core                    { stroke-width: 0.25px; stroke-dasharray: 1.2,1.8; }
+			.railway-subway-casing-color              { stroke: #0f0f4c; }
+			.railway-subway-1-core-color              { stroke: #b7b7e6; }
+			.railway-subway-2-core-color              { stroke: #0f0f4c; }
+			.railway-subway-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-funicular-casing                    { stroke-width: 0.4px; }
+			.railway-funicular-1-core                    { stroke-width: 0.25px; stroke-dasharray: 1.2,1.8; }
+			.railway-funicular-t-core                    { stroke-width: 0.25px; }
+			.railway-funicular-2-core                    { stroke-width: 0.08px; }
+			.railway-funicular-casing-color              { stroke: #4c0f0f; }
+			.railway-funicular-1-core-color              { stroke: #e6b7b7; }
+			.railway-funicular-2-core-color              { stroke: #4c0f0f; }
+			.railway-funicular-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-monorail-casing                    { stroke-width: 0.4px; }
+			.railway-monorail-1-core                    { stroke-width: 0.25px; }
+			.railway-monorail-2-core                    { stroke-width: 0.08px; }
+			.railway-monorail-casing-color              { stroke: #4c0f0f; }
+			.railway-monorail-1-core-color              { stroke: #e6b7b7; }
+			.railway-monorail-2-core-color              { stroke: #ffffff; }
+			.railway-monorail-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-yard-casing                    { stroke-width: 0.3px; }
+			.railway-yard-1-core                    { stroke-width: 0.17px; }
+			.railway-yard-2-core                    { stroke-width: 0.17px; stroke-dasharray: 0.9,2.1; }
+			.railway-yard-casing-color              { stroke: #333333; }
+			.railway-yard-1-core-color              { stroke: #e6e6e6; }
+			.railway-yard-2-core-color              { stroke: #333333; }
+			.railway-yard-tunnel-core               { stroke-opacity: 0.3; }
+
+			.railway-con-casing                { stroke-width: 0.4px; stroke-dasharray: 0.5,0.5; }
+			.railway-con-1-core                { stroke-width: 0.25px; }
+			.railway-con-2-core                { stroke-width: 0.25px; stroke-dasharray: 0.5,0.5,0.5,1.5; }
+			.railway-con-casing-color          { stroke: #606060; }
+			.railway-con-1-core-color          { stroke: #f2f2f2; }
+			.railway-con-2-core-color          { stroke: #606060; }
+			.railway-con-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-pla-casing                { stroke-width: 0.4px; stroke-dasharray: 0.5,0.5; }
+			.railway-pla-1-core                { stroke-width: 0.25px; }
+			.railway-pla-2-core                { stroke-width: 0.25px; stroke-dasharray: 0.5,0.5,0.5,1.5; }
+			.railway-pla-casing-color          { stroke: #b2b2b2; }
+			.railway-pla-1-core-color          { stroke: #ffffff; }
+			.railway-pla-2-core-color          { stroke: #b2b2b2; }
+			.railway-pla-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-dis-casing                { stroke-width: 0.4px; stroke-opacity: 0.7; }
+			.railway-dis-1-core                { stroke-width: 0.25px; stroke-opacity: 0.7; }
+			.railway-dis-2-core                { stroke-width: 0.25px; stroke-opacity: 0.7; stroke-dasharray: 1.5,1.5; }
+			.railway-dis-casing-color          { stroke: #808080; }
+			.railway-dis-1-core-color          { stroke: #f2f2f2; }
+			.railway-dis-2-core-color          { stroke: #808080; }
+			.railway-dis-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-aba-casing                { stroke-width: 0.4px; stroke-opacity: 0.4; }
+			.railway-aba-1-core                { stroke-width: 0.25px; stroke-opacity: 0.4; }
+			.railway-aba-2-core                { stroke-width: 0.25px; stroke-opacity: 0.4; stroke-dasharray: 1.5,1.5; }
+			.railway-aba-casing-color          { stroke: #b2b2b2; }
+			.railway-aba-1-core-color          { stroke: #ffffff; }
+			.railway-aba-2-core-color          { stroke: #b2b2b2; }
+			.railway-aba-tunnel-core               { stroke-opacity: 0.1; }
+
+			.railway-raz-casing                { stroke-width: 0.4px; stroke-opacity: 0.3; stroke-dasharray: 0.3,0.3; }
+			.railway-raz-1-core                { stroke-width: 0.25px; stroke-opacity: 0.3; }
+			.railway-raz-2-core                { stroke-width: 0.25px; stroke-opacity: 0.3; stroke-dasharray: 0.3,0.3,0.3,0.3,0.3,1.5; }
+			.railway-raz-casing-color          { stroke: #c2c2c2; }
+			.railway-raz-1-core-color          { stroke: #ffffff; }
+			.railway-raz-2-core-color          { stroke: #c2c2c2; }
+
+			.highway-motorway-bridge-casing         { stroke-width: 2.70px; }
+			.highway-motorway-bridge-core           { stroke-width: 2.40px; }
+			.highway-motorway-casing                { stroke-width: 2.0px;  stroke: #707070; }
+			.highway-motorway-cy1-casing            { stroke-width: 2.75px;     stroke: #707070; }
+			.highway-motorway-cy2-casing            { stroke-width: 2.5px;     stroke: #d1fad1; }
+			.highway-motorway-area-casing           { stroke-width: 0.3px; }
+			.highway-motorway-core                  { stroke-width: 1.7px;  stroke: #809BC0; }
+			.highway-motorway-area                  { fill: #809BC0; }
+			.highway-motorway-name                  { stroke-width: 0px;     font-size: 1.5px; }
+			.highway-motorway-ref                   { stroke-width: 0px;     font-size: 2px; }
+
+			.highway-motorway-link-bridge-casing    { stroke-width: 2.5px; }
+			.highway-motorway-link-bridge-core      { stroke-width: 2.2px; }
+			.highway-motorway-link-casing           { stroke-width: 1.8px;     stroke: #707070; }
+			.highway-motorway-link-cy1-casing       { stroke-width: 2.55px;     stroke: #707070; }
+			.highway-motorway-link-cy2-casing       { stroke-width: 2.3px;     stroke: #d1fad1; }
+			.highway-motorway-link-area-casing      { stroke-width: 0.3px; }
+			.highway-motorway-link-core             { stroke-width: 1.5px;  stroke: #809BC0; }
+			.highway-motorway-link-area             { fill: #809BC0; }
+			.highway-motorway-link-name             { stroke-width: 0px;     font-size: 1.5px; }
+			.highway-motorway-link-ref              { stroke-width: 0px;     font-size: 2px; }
+
+			.highway-trunk-bridge-casing            { stroke-width: 2.5px; }
+			.highway-trunk-bridge-core              { stroke-width: 2.2px; }
+			.highway-trunk-casing                   { stroke-width: 1.8px;     stroke: #707070; }
+			.highway-trunk-cy1-casing               { stroke-width: 2.55px;     stroke: #707070; }
+			.highway-trunk-cy2-casing               { stroke-width: 2.3px;      stroke: #d1fad1; }
+			.highway-trunk-mr1-casing               { stroke-width: 2.3px;      stroke: #707070; }
+			.highway-trunk-mr2-casing               { stroke-width: 2.15px;     stroke: #809BC0; }
+			.highway-trunk-mr3-casing               { stroke-width: 2.15px;     stroke: #FDBF6F; }
+			.highway-trunk-mrcy1-casing               { stroke-width: 2.8px;      stroke: #707070; }
+			.highway-trunk-mrcy2-casing               { stroke-width: 2.6px;      stroke: #d1fad1; }
+			.highway-trunk-mrcy3-casing               { stroke-width: 2.0px;     stroke: #809BC0; }
+			.highway-trunk-mrcy4-casing               { stroke-width: 2.0px;     stroke: #FDBF6F; }
+			.highway-trunk-area-casing              { stroke-width: 0.3px; }
+			.highway-trunk-core                     { stroke-width: 1.5px;  stroke: #7FC97F; }
+			.highway-trunk-area                     { fill: #7FC97F; }
+			.highway-trunk-name                     { stroke-width: 0px;     font-size: 1.5px; }
+			.highway-trunk-ref                      { stroke-width: 0px;     font-size: 2px; }
+
+			.highway-trunk-link-bridge-casing       { stroke-width: 2.5px; }
+			.highway-trunk-link-bridge-core         { stroke-width: 2.2px; }
+			.highway-trunk-link-casing              { stroke-width: 1.8px;     stroke: #707070; }
+			.highway-trunk-link-cy1-casing          { stroke-width: 2.55px;     stroke: #707070; }
+			.highway-trunk-link-cy2-casing          { stroke-width: 2.3px;      stroke: #d1fad1; }
+			.highway-trunk-link-mr1-casing          { stroke-width: 2.3px;      stroke: #707070; }
+			.highway-trunk-link-mr2-casing          { stroke-width: 2.15px;     stroke: #809BC0; }
+			.highway-trunk-link-mr3-casing          { stroke-width: 2.15px;     stroke: #FDBF6F; }
+			.highway-trunk-link-mrcy1-casing               { stroke-width: 2.8px;      stroke: #707070; }
+			.highway-trunk-link-mrcy2-casing               { stroke-width: 2.6px;      stroke: #d1fad1; }
+			.highway-trunk-link-mrcy3-casing               { stroke-width: 2.0px;     stroke: #809BC0; }
+			.highway-trunk-link-mrcy4-casing               { stroke-width: 2.0px;     stroke: #FDBF6F; }
+			.highway-trunk-link-area-casing         { stroke-width: 0.3px; }
+			.highway-trunk-link-core                { stroke-width: 1.5px;  stroke: #7FC97F; }
+			.highway-trunk-link-area                { fill: #7FC97F; }
+			.highway-trunk-link-name                { stroke-width: 0px;     font-size: 1.5px; }
+			.highway-trunk-link-ref                 { stroke-width: 0px;     font-size: 2px; }
+
+			.highway-primary-bridge-casing          { stroke-width: 2.5px; }
+			.highway-primary-bridge-core            { stroke-width: 2.2px; }
+			.highway-primary-casing                 { stroke-width: 1.8px;     stroke: #707070; }
+			.highway-primary-cy1-casing             { stroke-width: 2.55px;     stroke: #707070; }
+			.highway-primary-cy2-casing             { stroke-width: 2.3px;      stroke: #d1fad1; }
+			.highway-primary-mr1-casing             { stroke-width: 2.3px;      stroke: #707070; }
+			.highway-primary-mr2-casing             { stroke-width: 2.15px;     stroke: #809BC0; }
+			.highway-primary-mrcy1-casing               { stroke-width: 2.8px;      stroke: #707070; }
+			.highway-primary-mrcy2-casing               { stroke-width: 2.6px;      stroke: #d1fad1; }
+			.highway-primary-mrcy3-casing               { stroke-width: 2.0px;     stroke: #809BC0; }
+			.highway-primary-mrcy4-casing               { stroke-width: 2.0px;     stroke: #FDBF6F; }
+			.highway-primary-area-casing            { stroke-width: 0.3px; }
+			.highway-primary-core                   { stroke-width: 1.5px;  stroke: #e46d71; }
+			.highway-primary-area                   { fill: #e46d71; }
+			.highway-primary-name                   { stroke-width: 0px;     font-size: 1.5px; }
+			.highway-primary-ref                    { stroke-width: 0px;     font-size: 2px; }
+
+			.highway-primary-link-bridge-casing     { stroke-width: 2.5px; }
+			.highway-primary-link-bridge-core       { stroke-width: 2.2px; }
+			.highway-primary-link-casing            { stroke-width: 1.8px;  stroke: #707070; }
+			.highway-primary-link-cy1-casing        { stroke-width: 2.55px;     stroke: #707070; }
+			.highway-primary-link-cy2-casing        { stroke-width: 2.3px;      stroke: #d1fad1; }
+			.highway-primary-link-mr1-casing        { stroke-width: 2.3px;      stroke: #707070; }
+			.highway-primary-link-mr2-casing        { stroke-width: 2.15px;     stroke: #809BC0; }
+			.highway-primary-link-mrcy1-casing               { stroke-width: 2.8px;      stroke: #707070; }
+			.highway-primary-link-mrcy2-casing               { stroke-width: 2.6px;      stroke: #d1fad1; }
+			.highway-primary-link-mrcy3-casing               { stroke-width: 2.0px;     stroke: #809BC0; }
+			.highway-primary-link-mrcy4-casing               { stroke-width: 2.0px;     stroke: #FDBF6F; }
+			.highway-primary-link-area-casing       { stroke-width: 0.3px; }
+			.highway-primary-link-core              { stroke-width: 1.5px;   stroke: #e46d71; }
+			.highway-primary-link-area              { fill: #e46d71; }
+			.highway-primary-link-name              { stroke-width: 0px;     font-size: 1.5px; }
+			.highway-primary-link-ref               { stroke-width: 0px;     font-size: 2px; }
+
+			.highway-secondary-bridge-casing        { stroke-width: 2.5px; }
+			.highway-secondary-bridge-core          { stroke-width: 2.2px; }
+			.highway-secondary-casing               { stroke-width: 1.8px;     stroke: #707070; }
+			.highway-secondary-cy1-casing           { stroke-width: 2.55px;     stroke: #707070; }
+			.highway-secondary-cy2-casing           { stroke-width: 2.3px;      stroke: #d1fad1; }
+			.highway-secondary-mr1-casing           { stroke-width: 2.3px;      stroke: #707070; }
+			.highway-secondary-mr2-casing           { stroke-width: 2.15px;     stroke: #809BC0; }
+			.highway-secondary-mrcy1-casing               { stroke-width: 2.8px;      stroke: #707070; }
+			.highway-secondary-mrcy2-casing               { stroke-width: 2.6px;      stroke: #d1fad1; }
+			.highway-secondary-mrcy3-casing               { stroke-width: 2.0px;     stroke: #809BC0; }
+			.highway-secondary-mrcy4-casing               { stroke-width: 2.0px;     stroke: #FDBF6F; }
+			.highway-secondary-area-casing          { stroke-width: 0.3px; }
+			.highway-secondary-core                 { stroke-width: 1.5px;  stroke: #FDBF6F; }
+			.highway-secondary-area                 { fill: #FDBF6F; }
+			.highway-secondary-name                 { stroke-width: 0px;     font-size: 1.5px;}
+			.highway-secondary-ref                  { stroke-width: 0px;     font-size: 2px; }
+
+			.highway-secondary-link-bridge-casing   { stroke-width: 2.5px; }
+			.highway-secondary-link-bridge-core     { stroke-width: 2.2px; }
+			.highway-secondary-link-casing          { stroke-width: 1.8px;     stroke: #707070; }
+			.highway-secondary-link-cy1-casing      { stroke-width: 2.55px;     stroke: #707070; }
+			.highway-secondary-link-cy2-casing      { stroke-width: 2.3px;      stroke: #d1fad1; }
+			.highway-secondary-link-mr1-casing      { stroke-width: 2.3px;      stroke: #707070; }
+			.highway-secondary-link-mr2-casing      { stroke-width: 2.15px;     stroke: #809BC0; }
+			.highway-secondary-link-mrcy1-casing               { stroke-width: 2.8px;      stroke: #707070; }
+			.highway-secondary-link-mrcy2-casing               { stroke-width: 2.6px;      stroke: #d1fad1; }
+			.highway-secondary-link-mrcy3-casing               { stroke-width: 2.0px;     stroke: #809BC0; }
+			.highway-secondary-link-mrcy4-casing               { stroke-width: 2.0px;     stroke: #FDBF6F; }
+			.highway-secondary-link-area-casing     { stroke-width: 0.3px; }
+			.highway-secondary-link-core            { stroke-width: 1.5px;  stroke: #FDBF6F; }
+			.highway-secondary-link-area            { fill: #FDBF6F; }
+			.highway-secondary-link-name            { stroke-width: 0px;     font-size: 1.5px;}
+			.highway-secondary-link-ref             { stroke-width: 0px;     font-size: 2px; }
+
+			.highway-tertiary-bridge-casing         { stroke-width: 2.5px; }
+			.highway-tertiary-bridge-core           { stroke-width: 2.2px; }
+			.highway-tertiary-casing                { stroke-width: 1.8px;  stroke: #707070; }
+			.highway-tertiary-cy1-casing            { stroke-width: 2.55px;  stroke: #707070; }
+			.highway-tertiary-cy2-casing            { stroke-width: 2.3px;   stroke: #d1fad1; }
+			.highway-tertiary-mr1-casing            { stroke-width: 2.3px;      stroke: #707070; }
+			.highway-tertiary-mr2-casing            { stroke-width: 2.15px;     stroke: #809BC0; }
+			.highway-tertiary-mrcy1-casing               { stroke-width: 2.8px;      stroke: #707070; }
+			.highway-tertiary-mrcy2-casing               { stroke-width: 2.6px;      stroke: #d1fad1; }
+			.highway-tertiary-mrcy3-casing               { stroke-width: 2.0px;     stroke: #809BC0; }
+			.highway-tertiary-mrcy4-casing               { stroke-width: 2.0px;     stroke: #FDBF6F; }
+			.highway-tertiary-area-casing           { stroke-width: 0.3px; }
+			.highway-tertiary-core                  { stroke-width: 1.5px;   stroke: #ffff90; }
+			.highway-tertiary-area                  { fill: #ffff90; }
+			.highway-tertiary-name                  { stroke-width: 0px;     font-size: 1.25px; }
+			.highway-tertiary-ref                    { stroke-width: 0px;     font-size: 1.5px; }
+
+			.highway-tertiary-link-bridge-casing    { stroke-width: 2.5px; }
+			.highway-tertiary-link-bridge-core      { stroke-width: 2.2px; }
+			.highway-tertiary-link-casing           { stroke-width: 1.8px;  stroke: #707070; }
+			.highway-tertiary-link-cy1-casing       { stroke-width: 2.55px;  stroke: #707070; }
+			.highway-tertiary-link-cy2-casing       { stroke-width: 2.3px;   stroke: #d1fad1; }
+			.highway-tertiary-link-mr1-casing       { stroke-width: 2.3px;      stroke: #707070; }
+			.highway-tertiary-link-mr2-casing       { stroke-width: 2.15px;     stroke: #809BC0; }
+			.highway-tertiary-link-mrcy1-casing               { stroke-width: 2.8px;      stroke: #707070; }
+			.highway-tertiary-link-mrcy2-casing               { stroke-width: 2.6px;      stroke: #d1fad1; }
+			.highway-tertiary-link-mrcy3-casing               { stroke-width: 2.0px;     stroke: #809BC0; }
+			.highway-tertiary-link-mrcy4-casing               { stroke-width: 2.0px;     stroke: #FDBF6F; }
+			.highway-tertiary-link-area-casing      { stroke-width: 0.3px; }
+			.highway-tertiary-link-core             { stroke-width: 1.5px;   stroke: #ffff90; }
+			.highway-tertiary-link-area             { fill: #ffff90; }
+			.highway-tertiary-link-name             { stroke-width: 0px;     font-size: 1.25px; }
+			.highway-tertiary-link-ref              { stroke-width: 0px;     font-size: 1.5px; }
+
+			.highway-unclassified-bridge-casing     { stroke-width: 2.35px; }
+			.highway-unclassified-bridge-core       { stroke-width: 2.05px; }
+			.highway-unclassified-casing            { stroke-width: 1.65px;  stroke: #707070; }
+			.highway-unclassified-cy1-casing        { stroke-width: 2.4px;  stroke: #707070; }
+			.highway-unclassified-cy2-casing        { stroke-width: 2.1px;  stroke: #d1fad1; }
+			.highway-unclassified-area-casing       { stroke-width: 0.3px; }
+			.highway-unclassified-core              { stroke-width: 1.35px; stroke: #ffffff; }
+			.highway-residential-bridge-casing      { stroke-width: 2.2px; }
+			.highway-residential-bridge-core        { stroke-width: 1.9px; }
+			.highway-residential-casing             { stroke-width: 1.5px;  stroke: #707070; }
+			.highway-residential-cy1-casing         { stroke-width: 2.3px;  stroke: #707070; }
+			.highway-residential-cy2-casing         { stroke-width: 2.15px; stroke: #d1fad1; }
+			.highway-residential-area-casing        { stroke-width: 0.15px; }
+			.highway-residential-core               { stroke-width: 1.35px; stroke: #ffffff; }
+			.highway-ford-core                      { stroke-width: 1.25px; stroke: #b5d6f1; stroke-linecap: butt; }
+			.highway-unclassified-area              { fill: #ffffff; }
+			.highway-residential-area               { fill: #ffffff; }
+			.highway-unclassified-name              { stroke-width: 0px;     font-size: 1.25px; }
+			.highway-unclassified-ref               { stroke-width: 0px;     font-size: 1.5px; }
+			.highway-unclassified-turningcircle-casing     { fill: #707070; }
+			.highway-unclassified-turningcircle-core     { fill: #ffffff; }
+			.highway-road-core                      { stroke-width: 1.25px;   stroke: #d0d0d0; }
+			.highway-road-area                      { fill: #d0d0d0; }
+
+			.highway-livingstreet-casing            { stroke-width: 1.5px;  stroke: #707070; }
+			.highway-livingstreet-area-casing       { stroke-width: 0.15px; }
+			.highway-livingstreet-core-1            { stroke-width: 1.35px; stroke: #ffffff; }
+			.highway-livingstreet-core-2            { stroke-width: 1.35px; stroke: #e5e0c2; stroke-dasharray: 0.35,0.5; stroke-linecap: butt; }
+			.highway-livingstreet-area-1            { fill: #ffffff; }
+			.highway-livingstreet-area-2            { fill: url(#livingstreet-pattern); stroke: #e5e0c2; stroke-width: 0px; }
+
+			.highway-cycleroad-casing               { stroke-width: 1.5px;  stroke: #707070; }
+			.highway-cycleroad-area-casing          { stroke-width: 0.15px; }
+			.highway-cycleroad-core-1               { stroke-width: 1.35px; stroke: #ffffff; }
+			.highway-cycleroad-core-2               { stroke-width: 1.35px; stroke: #d1fad1; stroke-dasharray: 0.35,0.5; stroke-linecap: butt; }
+			.highway-cycleroad-area-1               { fill: #ffffff; }
+			.highway-cycleroad-area-2               { fill: url(#cycleroad-pattern); stroke: #d1fad1; stroke-width: 0px; }
+			.highway-cycleroad-core-3               { stroke-width: 1.35px;   stroke: #d1fad1; }
+			.highway-cycleroad-area-3               { fill: #d1fad1; }
+
+			.highway-service-bridge-casing          { stroke-width: 1.6px; }
+			.highway-service-bridge-core            { stroke-width: 1.4px; }
+			.highway-service-casing                 { stroke-width: 1.0px;   stroke: #707070; }
+			.highway-service-cy1-casing             { stroke-width: 1.8px;   stroke: #707070; }
+			.highway-service-cy2-casing             { stroke-width: 1.65px;   stroke: #d1fad1; }
+			.highway-service-area-casing            { stroke-width: 0.15px; }
+			.highway-service-core                   { stroke-width: 0.85px;   stroke: #ffffff; }
+			.highway-service-area                   { fill: #ffffff; }
+			.highway-service-name                   { stroke-width: 0px;     font-size: 1.25px; }
+			.highway-service-ref                    { stroke-width: 0px;     font-size: 1.25px; }
+
+			.highway-aisle-bridge-casing            { stroke-width: 1.2px; }
+			.highway-aisle-bridge-core              { stroke-width: 1.0px; }
+			.highway-aisle-casing                   { stroke-width: 0.6px;   stroke: #707070; }
+			.highway-aisle-area-casing              { stroke-width: 0.1px; }
+			.highway-aisle-core                     { stroke-width: 0.5px;   stroke: #ffffff; }
+			.highway-aisle-area                     { fill: #ffffff; }
+
+			.highway-unsurfaced-bridge-casing       { stroke-width: 1.95px; }
+			.highway-unsurfaced-bridge-core         { stroke-width: 1.65px; }
+			.highway-unsurfaced-casing              { stroke-width: 1.25px;   stroke: #707070; stroke-dasharray: 1, 0.5; stroke-linecap: butt; }
+			.highway-unsurfaced-cy1-casing          { stroke-width: 2.05px;   stroke: #707070; stroke-dasharray: 1, 0.5; stroke-linecap: butt; }
+			.highway-unsurfaced-cy2-casing          { stroke-width: 1.8px;    stroke: #d1fad1;                           stroke-linecap: butt; }
+			.highway-unsurfaced-area-casing         { stroke-width: 0.25px; }
+			.highway-unsurfaced-core                { stroke-width: 1px;   stroke: #ffffff; }
+			.highway-unsurfaced-area                { fill: #ffffff; }
+			.highway-unsurfaced-name                { stroke-width: 0px;     font-size: 1.25px; }
+			.highway-unsurfaced-ref                 { stroke-width: 0px;     font-size: 1.25px; }
+
+			.highway-track-bridge-casing            { stroke-width: 1.6px; }
+			.highway-track-bridge-core              { stroke-width: 1.4px; }
+			.highway-track-back-casing              { stroke-width: 1.15px;  stroke: #ffffff; stroke-linecap: round; stroke-opacity: 0.7; }
+			.highway-track-casing                   { stroke-width: 1.0px;   stroke: #d79331; }
+			.highway-track-area-back-casing         { stroke-width: 0.4px;   stroke: #ffffff; }
+			.highway-track-area-casing              { stroke-width: 0.275px; stroke: #d79331; }
+			.highway-track-core                     { stroke-width: 0.7px;   }
+			.highway-track-core2                    { stroke-width: 0.75px;  }
+			.highway-track-area                     { fill: #ffffff; }
+			.highway-track-name                     { stroke-width: 0px;     font-size: 1.25px; }
+			.highway-track-ref                      { stroke-width: 0px;     font-size: 1.25px; }
+
+			.highway-track-gradex-casing            { stroke-dasharray: 1.8, 0.2; stroke-linecap: butt; }
+			.highway-track-grade1-casing            { }
+			.highway-track-grade2-casing            { stroke-dasharray: 1.8, 0.9; stroke-linecap: butt; }
+			.highway-track-grade3-casing            { stroke-dasharray: 1.0, 1.3; stroke-linecap: butt; }
+			.highway-track-grade4-casing            { stroke-dasharray: 0.5, 1.0, 0.3, 1.0; stroke-linecap: butt; }
+			.highway-track-grade5-casing            { stroke-dasharray: 0.3, 1.0; stroke-linecap: butt; }
+
+			.highway-track-gradex-core                     { stroke: #fff2de; }
+			.highway-track-grade1-core                     { stroke: #fffaf2; }
+			.highway-track-grade2-core                     { stroke: #fff2de; }
+			.highway-track-grade3-core                     { stroke: #fff2de; }
+			.highway-track-grade4-core                     { stroke: #fff2de; }
+			.highway-track-grade5-core                     { stroke: #fff2de; }
+			.highway-track-gradex-area                     { fill: #fff2de; }
+			.highway-track-grade1-area                     { fill: #fffaf2; }
+			.highway-track-grade2-area                     { fill: #fff2de; }
+			.highway-track-grade3-area                     { fill: #fff2de; }
+			.highway-track-grade4-area                     { fill: #fff2de; }
+			.highway-track-grade5-area                     { fill: #fff2de; }
+
+			.highway-byway-bridge-casing            { stroke-width: 1.6px; }
+			.highway-byway-bridge-core              { stroke-width: 1.4px; }
+			.highway-byway-1-casing                 { stroke-width: 1px;     stroke: #505050;  stroke-dasharray: 0.7, 0.2; stroke-linecap: butt;}
+			.highway-byway-1-area-casing            { stroke-width: 0.2px;}
+			.highway-byway-2-casing                 { stroke-width: 0.8px;   stroke: #efadaa; }
+			.highway-byway-2-area-casing            { stroke-width: 0.0px; }
+			.highway-byway-3-casing                 { stroke-width: 1.4px;   stroke: #505050;  stroke-dasharray: 0.1, 0.8; stroke-dashoffset: 0.6; stroke-linecap: butt; }
+			.highway-byway-3-area-casing            { stroke-width: 0.7px; }
+			.highway-byway-1-core                   { stroke-width: 0.4px;   stroke: #efadaa; }
+			.highway-byway-area                     { fill: #efadaa; }
+			.highway-byway-name                     { stroke-width: 0px;     font-size: 1.25px; }
+			.highway-byway-ref                      { stroke-width: 0px;     font-size: 1.25px; }
+
+			.highway-bridleway-bridge-casing        { stroke-width: 1.6px; }
+			.highway-bridleway-bridge-core          { stroke-width: 1.4px; }
+			.highway-bridleway-casing               { stroke-width: 1px;     stroke: #707070;  stroke-dasharray: 0.7, 0.2; stroke-linecap: butt; }
+			.highway-bridleway-area-casing          { stroke-width: 0.15px; }
+			.highway-bridleway-core                 { stroke-width: 0.85px;   stroke: #d3cb98; }
+			.highway-bridleway-area                 { fill: #d3cb98; }
+			.highway-bridleway-name                 { stroke-width: 0px;     font-size: 1.25px; }
+			.highway-bridleway-ref                  { stroke-width: 0px;     font-size: 1.25px; }
+
+			.highway-cycleway-bridge-casing         { stroke-width: 1.6px; }
+			.highway-cycleway-bridge-core           { stroke-width: 1.4px; }
+			.highway-cycleway-casing                { stroke-width: 1px;     stroke: #707070; stroke-dasharray: 0.2, 0.2; stroke-linecap: butt;}
+			.highway-cycleway-area-casing           { stroke-width: 0.15px; }
+			.highway-cycleway-core                  { stroke-width: 0.85px;   stroke: #d1fad1; }
+			.highway-cycleway-area                  { fill: #d1fad1; }
+			.highway-cycleway-name                  { stroke-width: 0px;     font-size: 1.25px; }
+			.highway-cycleway-ref                   { stroke-width: 0px;     font-size: 1.25px; }
+
+			.highway-pedestrian-bridge-casing       { stroke-width: 2.35px; }
+			.highway-pedestrian-bridge-core         { stroke-width: 2.05px; }
+			.highway-pedestrian-casing              { stroke-width: 1.5px;   stroke: #707070; }
+			.highway-pedestrian-cy1-casing          { stroke-width: 2.3px;   stroke: #707070; }
+			.highway-pedestrian-cy2-casing          { stroke-width: 2.15px;   stroke: #d1fad1; }
+			.highway-pedestrian-area-casing         { stroke-width: 0.15px; }
+			.highway-pedestrian-core                { stroke-width: 1.35px;   stroke: #e5e0c2; }
+			.highway-pedestrian-area                { fill: #e5e0c2; }
+			.highway-pedestrian-name                { stroke-width: 0px;     font-size: 1px; }
+			.highway-pedestrian-ref                 { stroke-width: 0px;     font-size: 1.25px; }
+
+			.highway-footway-bridge-casing          { stroke-width: 1.2px; }
+			.highway-footway-bridge-core            { stroke-width: 1px; }
+			.highway-footway-casing                 { stroke-width: 0.6px;   stroke: #707070; stroke-dasharray: 0.2, 0.2; stroke-linecap: butt; }
+			.highway-footway-cy1-casing             { stroke-width: 1.4px;   stroke: #707070; stroke-dasharray: 0.2, 0.2; stroke-linecap: butt; }
+			.highway-footway-cy2-casing             { stroke-width: 1.25px;  stroke: #d1fad1;                             stroke-linecap: butt; }
+			.highway-footway-area-casing            { stroke-width: 0.15px;}
+			.highway-footway-core                   { stroke-width: 0.45px;   stroke: #e5e0c2; }
+			.highway-footway-area                   { fill: #e5e0c2; }
+			.highway-footway-name                   { stroke-width: 0px;     font-size: 1.25px; }
+			.highway-footway-ref                    { stroke-width: 0px;     font-size: 1.25px; }
+
+			/* render unmarked paths in the same color as highway=road */
+			.highway-path-core                      { stroke-width: 0.45px;   stroke: #d0d0d0; }
+			.highway-path-area                      { fill: #d0d0d0; }
+
+			.highway-steps-bridge-casing            { stroke-width: 1.2px; }
+			.highway-steps-bridge-core              { stroke-width: 1.0px; }
+			.highway-steps-casing                   { stroke-width: 0.6px;    stroke: #707070; }
+			.highway-steps-casing-ramp              { stroke-width: 0.45px;   stroke: #707070; }
+			.highway-steps-casing-ramp-bicycle      { stroke-width: 0.75px;   stroke: #30c030; }
+			.highway-steps-casing-ramp-stroller     { stroke-width: 0.75px;   stroke: #c03030; }
+			.highway-steps-casing-ramp-wheelchair   { stroke-width: 0.75px;   stroke: #3030c0; }
+			.highway-steps-casing-ramp-yes          { stroke-width: 0.75px;   stroke: #30c0c0; }
+			.highway-steps-casing-ramp-no	          { stroke-width: 0.75px;   stroke: #303030; }
+
+			.highway-steps-area-casing              { stroke-width: 0.15px; }
+			.highway-steps-core                     { stroke-width: 0.45px;   stroke: #e5e0c2; stroke-dasharray: 0.3, 0.1; stroke-linecap: butt;}
+			.highway-steps-name                     { stroke-width: 0px;     font-size: 1.25px; }
+			.highway-steps-ref                      { stroke-width: 0px;     font-size: 1.25px; }
+
+			.highway-scramble-core                  { stroke-width: 0.15px;  stroke: #707070; stroke-dasharray: 0.8, 0.2; stroke-linecap: butt;}
+			.highway-scramble-name                  { stroke-width: 0.5px;   fill: black;  font-size: 1.25px; }
+
+			/* Aeroways */
+			.aeroway-aerodrome {
+			stroke-width: 0.5px;
+			stroke: #000000;
+			fill: #d8dcce;
+			}
+
+			.aeroway-apron {
+			stroke-width: 0.3px;
+			stroke: none;
+			fill: #f0f0f0;
+			}
+
+			.aeroway-taxiway-casing {
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #000000;
+			fill: none;
+			}
+
+			.aeroway-taxiway-core {
+			stroke-width: 2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #d4dcbd;
+			fill: none;
+			}
+
+			.aeroway-runway-core {
+			stroke-width: 5px;
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			stroke: #d4dcbd;
+			fill: none;
+			}
+
+			.aeroway-runway-casing {
+			stroke-width: 7px;
+			stroke-linecap: square;
+			stroke-linejoin: round;
+			stroke: #000000;
+			fill: none;
+			}
+
+			.aeroway-aerodrome-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.3px;
+			font-family: "DejaVu Sans";
+			font-size: 6px;
+			font-weight: bold;
+			}
+
+			.aeroway-airport-caption {
+			fill: black;
+			stroke: white;
+			stroke-width: 0.3px;
+			font-family: "DejaVu Sans";
+			font-size: 10px;
+			font-weight: bold;
+			}
+
+			/* Waterways */
+			.waterway-name-casing {
+			stroke: #303030;
+			fill: white;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+
+			.waterway-name-core {
+			stroke: green;
+			fill: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+
+			.waterway-casing {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b0b0b0;
+			fill: none;
+			}
+
+			.waterway-core {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke: #b5d6f1;
+			fill: none;
+			}
+
+			.waterway-riverbank {
+			fill: #b5d6f1;
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+
+			.waterway-lock-casing                   { stroke: #000000; stroke-width: 2.0px; stroke-linecap: butt; }
+			.waterway-lock-core                     { stroke: #f8f8f8; stroke-width: 1.5px; stroke-linecap: butt; }
+
+			.waterway-river-casing                  { stroke-width: 1px; }
+			.waterway-river-core                    { stroke-width: 1px; }
+			.waterway-river-tunnel-core             { stroke-width: 0.8px; stroke-dasharray: 1.5, 1.5; }
+			.waterway-river-name-casing             { font-size: 1.5px; stroke-width: 0.1px;}
+			.waterway-river-name-core               { font-size: 1.5px; }
+
+			.waterway-stream-casing                 { stroke-width: 0.275px; }
+			.waterway-stream-core-ephemeral         { stroke-width: 0.275px; stroke-dasharray: 0.2, 0.2; stroke-linecap: butt; }
+			.waterway-stream-core-intermittent      { stroke-width: 0.275px; stroke-dasharray: 0.3, 0.1; stroke-linecap: butt; }
+			.waterway-stream-core                   { stroke-width: 0.275px; }
+			.waterway-stream-tunnel-core            { stroke-width: 0.2px; stroke-dasharray: 0.4, 0.4; }
+			.waterway-stream-name-casing            { stroke-width: 0.1px; font-size: 1.5px; }
+			.waterway-stream-name-core              { font-size: 1.5px; }
+
+			.waterway-canal-casing                  { stroke-width: 1px; }
+			.waterway-canal-core                    { stroke-width: 0.8px; }
+			.waterway-canal-tunnel-core             { stroke-width: 0.8px; stroke-dasharray: 1.5, 1.5; }
+			.waterway-canal-name-casing             { stroke-width: 0.1px; font-size: 1.5px; }
+			.waterway-canal-name-core               { font-size: 1.5px; }
+
+			.waterway-drain-casing                  { stroke-width: 1px; }
+			.waterway-drain-core                    { stroke-width: 0.8px; }
+			.waterway-drain-tunnel-core             { stroke-width: 0.8px; stroke-dasharray: 1.5, 1.5; }
+			.waterway-drain-name-casing             { stroke-width: 0.1px; font-size: 1.5px; }
+			.waterway-drain-name-core               { font-size: 1.5px; }
+
+			.waterway-ditch-casing                  { stroke-width: 0.1px; }
+			.waterway-ditch-core                    { stroke-width: 0.1px; }
+			.waterway-ditch-tunnel-core             { stroke-width: 0.08px; stroke-dasharray: 0.4, 0.4; }
+			.waterway-ditch-name-casing             { stroke-width: 0.08px; font-size: 1.5px; }
+			.waterway-ditch-name-core               { font-size: 1.5px; }
+
+			.waterway-dam {
+			stroke: #000000;
+			stroke-width: 0.5px;
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			}
+			.waterway-weir {
+			stroke: #000044;
+			stroke-width: 0.375px;
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			}
+
+
+			/* Generic under-construction style - makes any way dashed */
+			.under-construction-1 { stroke-width: 0.1px; stroke: #707070; stroke-dasharray: 0.5, 0.5; stroke-linecap: butt; fill:none; }
+			.under-construction-2 { stroke-dasharray: 4, 4; stroke-linecap: butt;}
+			.wrong-under-construction { stroke-width: 1.5px; stroke: #ffffff; stroke-dasharray: 4, 4; fill:none; }
+
+			/* Generic planned style - makes any way dashed */
+			.planned { stroke-dasharray: 0.5, 3; stroke-linecap: butt;}
+
+			/* Generic disused style - makes any way dashed */
+			.disused-1 { stroke-dasharray: 1, 2; stroke-linecap: butt;}
+			.disused-2 { stroke-width: 3px; stroke: #600000; stroke-dasharray: 0.1, 2.9; stroke-dashoffset: 2.55; stroke-linecap: butt; fill:none; }
+
+			/* Generic abandoned style - makes any way dashed */
+			.abandoned-1 { stroke-dasharray: 0.7, 5.8; stroke-linecap: butt; }
+			.abandoned-2 { stroke-linecap: butt; stroke-width: 3px; stroke: #600000; stroke-dasharray: 0.3, 6.2; stroke-dashoffset: 6.2; fill:none; }
+
+			/* Ferry */
+			.route-ferry {
+			stroke-width: 0.3px;
+			stroke-dasharray: 1.5,1;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #707070;
+			fill: none;
+			}
+
+			/* Place names */
+			/* General style for captions */
+			.place-caption {
+			fill: black;
+			stroke: none;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			}
+
+			.caption-casing {
+			fill: white;
+			stroke-opacity: 1;
+			stroke: white;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+
+			.caption-core {
+			stroke: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-weight: bold;
+			text-anchor: middle;
+			stroke-miterlimit: 1.5;
+			}
+
+			.peak-caption           { font-size: 2px; }
+			.pass-caption           { font-size: 2px; }
+			.cave-caption           { font-size: 2px; }
+			.island-caption         { font-size: 2px; }
+			.islet-caption          { font-size: 1.5px; }
+			.village-caption        { font-size: 3px; }
+			.suburb-caption         { font-size: 3px; }
+			.hamlet-caption         { font-size: 2px; }
+			.locality-caption       { font-size: 2px; }
+			.farm-caption           { font-size: 1.5px; }
+
+			.housenumber-interpolation {
+			fill: none;
+			stroke: #b0b0b0;
+			stroke-width: 0.125px;
+			}
+
+			.housenumber-interpolation-all {
+			}
+
+			.housenumber-interpolation-even {
+			stroke-dasharray: 0.5 0.5;
+			}
+
+			.housenumber-interpolation-odd {
+			stroke-dasharray: 0.2 0.2;
+			}
+
+			.housenumber-node {
+			stroke: #b0b0b0;
+			stroke-width: 0.005;
+			fill-opacity: 0.5;
+			fill: #ffffff;
+			}
+			
+			.housenumber-left {
+			text-anchor: start;
+			}
+			
+			.housenumber-center {
+			text-anchor: middle;
+			}
+
+			.housenumber-casing {
+			stroke-width: 0.2px;
+			fill: #ffffff;
+			stroke: #ffffff;
+			stroke-opacity: 1;
+			font-family: "DejaVu Sans";
+			stroke-miterlimit: 1.5;
+			font-size: 0.8px;
+			}
+
+			.housenumber-caption {
+			stroke-width: 0px;
+			fill: #606060;
+			font-family: "DejaVu Sans";
+			stroke-miterlimit: 1.5;
+			font-size: 0.8px;
+			}
+
+			/* Natural */
+			.natural-water {
+			fill: #b5d6f1;
+			stroke: #b0b0b0;
+			stroke-width: 0px;
+			}
+
+			.natural-water-marsh {
+			fill: url(#marsh-pattern);
+			stroke: #007fff;
+			stroke-width: 0px;
+			}
+
+			.natural-coastline {
+			fill: #b5d6f1;
+			stroke: #b5d6f1;
+			stroke-width: 0.4px;
+			}
+
+			.natural-glacier {
+			fill: #fafaff;
+			stroke: lightblue;
+			stroke-width: 0.8px;
+			}
+
+			.natural-land {
+			fill: #f8f8f8;
+			stroke: #e0e0e0;
+			stroke-width: 0.1px;
+			}
+
+			.natural-heath {
+			fill: #ffffc0;
+			stroke: #ffff90;
+			stroke-width: 0.2px;
+			}
+
+			.wetland-bog {
+			fill: #946e50;
+			stroke: #3f1f06;
+			stroke-width: 0.2px;
+			}
+
+			.natural-beach {
+			fill: #eecc55;
+			stroke: none;
+			}
+
+			.mountain_pass {
+			fill: none;
+			<!-- don't remove. otherwise the waymarker will get clipped -->
+			stroke: red;
+			stroke-opacity: 0;
+			marker-mid: url(#mountain-pass);
+			}
+
+			/* Landuse */
+			.landuse-wood {
+			fill: #6fc18e;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-wood-coniferous {
+			fill: url(#wood-coniferous-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-wood-deciduous {
+			fill: url(#wood-deciduous-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-wood-mixed {
+			fill: url(#wood-mixed-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-cemetery {
+			fill: url(#cemetery-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-cemetery-christian {
+			fill: url(#cemetery-christian-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-vineyard {
+			fill: url(#vineyard-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-field {
+			fill: #ebfff2;
+			stroke: #9ee673;
+			stroke-width: 0.1px;
+			}
+			.landuse-allotment-village {
+			fill: #bde3cb;
+			stroke: #6fc13d;
+			stroke-width: 0.2px;
+			}
+			.access-area-border-width-landuse-field {
+			stroke-width: 0.3px;
+			}
+
+			.landuse-residential {
+			stroke: none;
+			fill: #e4e4e4;
+			}
+
+			.landuse-industrial {
+			fill: #ecd8ff;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-construction {
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			fill: #a47c41;
+			}
+
+			.landuse-commercial {
+			fill: #ffffc0;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-garages {
+			stroke: none;
+			fill: #d6d6e4;
+			}
+
+			.landuse-quarry {
+			fill: #e9dd72;
+			stroke: #556b2f;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-retail {
+			fill: #ffebeb;
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+
+			.landuse-runway {
+			stroke-width: 0.3px;
+			stroke: #808080;
+			fill: #d4dcbd;
+			}
+
+			.landuse-runway-disused {
+			stroke-width: 0.3px;
+			stroke: #808080;
+			fill: #d4dcbd;
+			stroke-dasharray: 1, 1;
+			}
+
+			.landuse-runway-dismantled {
+			stroke-width: 0.3px;
+			stroke: #808080;
+			fill: #fcffef;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+
+			.breakwater {
+			fill: none;
+			stroke-width: 0.8px;
+			stroke: #707070;
+			}
+
+			.breakwater-area {
+			fill: #707070;
+			stroke-width: 0.8px;
+			stroke: #707070;
+			}
+
+			.artificial-pier-area {
+			stroke: #d0d0d0;
+			stroke-width: 0.05px;
+			fill: #e4e4e4;
+			}
+
+			.artificial-pier-core {
+			stroke-width: 0.3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #e4e4e4;
+			fill: none;
+			}
+
+			.artificial-pier-casing {
+			stroke-width: 0.4px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #d0d0d0;
+			fill: none;
+			}
+
+			.landuse-conservation {
+			fill: #cfeca8;
+			stroke: #6fc18e;
+			stroke-width: 0.2px
+			}
+			.access-area-border-width-landuse-conservation {
+			stroke-width: 0.8px;
+			}
+
+			/* Leisure */
+			.leisure-park {
+			fill: #c7f1a3;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.access-area-border-width-leisure-park {
+			stroke-width: 0.8px;
+			}
+
+			.leisure-dog_park {
+			fill: url(#leisure-dog_park-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.leisure-stadium {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.leisure-track-area {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.025px;
+			}
+
+			.leisure-track-casing {
+			fill: none;
+			stroke: #6fc18e;
+			stroke-width: 0.75px;
+			}
+
+			.leisure-track-core {
+			fill: none;
+			stroke: #bde3cb;
+			stroke-width: 0.7px;
+			}
+
+			.leisure-swimming-pool {
+			fill: #b5d6f1;
+			stroke: #6060ff;
+			stroke-width: 0.2px;
+			}
+
+			.leisure-national_park {
+			fill: url(#national-park-pattern);
+			}
+			.leisure-nature_reserve {
+			fill: url(#nature-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.leisure-landscape_reserve {
+			fill: url(#landscape-reserve-pattern);
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.sport {
+			fill: #bde3cb;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+
+			.sport-swimming {
+			fill: #b5d6f1;
+			stroke: #6060ff;
+			stroke-width: 0.2px;
+			}
+
+			.sport-tennis {
+			fill: #d18a6a;
+			stroke: #B36C4C;
+			stroke-width: 0.2px;
+			}
+
+			.amenity-parking {
+			fill: #ffffc0;
+			stroke: #e9dd72;
+			stroke-width: 0.2px;
+			}
+
+			.amenity-school {
+			fill: #cdabde;
+			stroke: #e9dd72;
+			stroke-width: 0.2px;
+			}
+
+			/* Non-physical boundaries */
+			.boundary {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			fill: none;
+			}
+
+			.boundary-level-1-casing {
+			stroke-width: 1.75px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+
+			.boundary-level-1-core {
+			stroke-width: 0.25px;
+			stroke: #f9574b;
+			stroke-dasharray: 1.5, 0.5, 0.5, 0.5;
+			}
+
+			.boundary-level-2-casing {
+			stroke-width: 0.75px;
+			stroke: #ffff00;
+			opacity: 0.5;
+			}
+
+			.boundary-level-2-core {
+			stroke-width: 0.25px;
+			stroke: #f9574b;
+			stroke-dasharray: 1.5, 1.5;
+			}
+
+			.boundary-level-3-core {
+			stroke-width: 0.25px;
+			stroke: #f9574b;
+			}
+
+			.boundary-level-4-core {
+			stroke-width: 0.25px;
+			stroke: #f9574b;
+			stroke-dasharray: 1.5, 0.5, 0.5, 0.5;
+			}
+
+			.boundary-level-5-core {
+			stroke-width: 0.25px;
+			stroke: #f9574b;
+			stroke-dasharray: 1.5, 1.5;
+			}
+
+			.boundary-level-6-core {
+			stroke-width: 0.25px;
+			stroke: #f9574b;
+			stroke-dasharray: 0.5, 2.5;
+			}
+
+			.boundary-level-7-core {
+			stroke-width: 0.1px;
+			stroke: #f9574b;
+			}
+
+			.boundary-level-8-core {
+			stroke-width: 0.1px;
+			stroke: #f9574b;
+			stroke-dasharray: 1.5, 0.5, 0.5, 0.5;
+			}
+
+			.boundary-level-9-core {
+			stroke-width: 0.1px;
+			stroke: #f9574b;
+			stroke-dasharray: 1.5, 1.5;
+			}
+
+			.boundary-level-10-core {
+			stroke-width: 0.1px;
+			stroke: #f9574b;
+			stroke-dasharray: 0.5, 2.5;
+			}
+
+			.boundary-level-11-core {
+			stroke-width: 0.1px;
+			stroke: #f9574b;
+			stroke-dasharray: 0.1, 0.65;
+			}
+
+			.boundary-nationalpark-core {
+			stroke-width: 0.25px;
+			stroke: #4ef94b;
+			stroke-dasharray: 1.5, 0.5, 0.5, 0.5;
+			}
+
+			.boundary-postalcode-casing {
+			stroke-width: 1px;
+			stroke: #ffff00;
+			stroke-dasharray: 5, 5;
+			opacity: 0.5;
+			fill: none;
+			}
+
+			/* Racetracks */
+			.highway-racetrack-core {
+			stroke-width: 1.5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #f0f0f0;
+			}
+
+			.highway-racetrack-casing-red {
+			stroke-width: 1.7px;
+			stroke-dasharray: 0.2, 0.2;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ff0000;
+			}
+
+			.highway-racetrack-casing-white {
+			stroke-width: 1.7px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ffffff;
+			}
+
+			.highway-raceway-casing {
+			stroke-width: 2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #101010;
+			}
+
+			.highway-raceway-casing-disused {
+			stroke-width: 2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 1, 1;
+			}
+
+			.highway-raceway-casing-dismantled {
+			stroke-width: 2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #808080;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+
+			.highway-raceway-core {
+			stroke-width: 1.5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #f0f0f0;
+			}
+
+			.highway-raceway-core-disused {
+			stroke-width: 1.5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke-dasharray: 1, 1;
+			stroke: #f0f0f0;
+			}
+
+			.highway-raceway-core-dismantled {
+			stroke-width: 1.5px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: none;
+			stroke: #ffffff;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+
+			.landuse-raceway {
+			stroke-width: 0.3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #101010;
+			}
+
+			.landuse-raceway-disused {
+			stroke-width: 0.3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #f0f0f0;
+			stroke: #808080;
+			stroke-dasharray: 1, 1;
+			}
+
+			.landuse-raceway-dismantled {
+			stroke-width: 0.3px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			fill: #ffffff;
+			stroke: #808080;
+			stroke-dasharray: 0.3, 1.7;
+			opacity: 0.5;
+			}
+
+			.railway-station                        { fill: #ec2d2d;        stroke: #606060; stroke-width: 0.25px; }
+			.railway-station-caption-casing         { stroke-width: 0.5px;  font-size: 1.5px; }
+			.railway-station-caption-core           { fill: #ec2d2d;        font-size: 1.5px; }
+
+			.railway-halt                           { fill: #ec2d2d;        stroke: #606060; stroke-width: 0.1px; }
+			.railway-halt-caption-casing            { stroke-width: 0.4px;  font-size: 1.25px; }
+			.railway-halt-caption-core              { fill: #ec2d2d;        font-size: 1.25px; }
+
+			.highway-platform-area                  { stroke: none; fill: #9b9b79; }
+			.highway-platform-area-casing           { stroke: #707070; stroke-width: 0.3px; fill: none; }
+			.highway-platform-way-casing            { stroke: #707070; stroke-width: 0.6px; fill: none; stroke-linecap: square; }
+			.highway-platform-way-core              { stroke: #9b9b79; stroke-width: 0.3px; fill: none; }
+			.highway-platform-node                  { stroke: #707070; stroke-width: 0.15px; fill: #9b9b79; }
+			.highway-platform-ref                   { font-family: "DejaVu Sans"; font-size: 0.8px; stroke: #707070; stroke-width: 0.005px; text-anchor: middle;}
+
+			/* Tourism */
+			.tourism-attraction {
+			fill: #f2caea;
+			stroke: #ff00ff;
+			stroke-width: 0px;
+			}
+			.tourism-green-area {
+			fill: #c7f1a3;
+			stroke: #6fc18e;
+			stroke-width: 0.2px;
+			}
+			.tourism-attraction-caption {
+			fill: #ff00ff;
+			stroke: white;
+			stroke-width: 0px;
+			font-family: "DejaVu Sans";
+			font-size: 1px;
+			font-weight: bold;
+			text-anchor: middle;
+			}
+			.fountain {
+				stroke: #000080;
+				stroke-width: 0.15px;
+				fill: #b5d6f1;
+			}
+
+			.man_made-lighthouse-caption-casing  { stroke-width: .5px;   font-size: 1px; }
+			.man_made-lighthouse-caption-core    { fill: #ec2d2d;        font-size: 1px; }
+
+			.man_made-wastewater {
+			fill: #e4e4e4;
+			}
+
+			.amenity-pub-caption-casing          { stroke-width: .3px;   font-size: 1px; }
+			.amenity-pub-caption-core            { fill: #ec2d2d;        font-size: 1px; }
+			
+			.amenity-bar-caption-casing          { stroke-width: .3px;   font-size: 1px; }
+                        .amenity-bar-caption-core            { fill: #ec2d2d;        font-size: 1px; }
+
+
+			.amenity-cinema-caption-casing       { stroke-width: .3px;   font-size: 1px; }
+			.amenity-cinema-caption-core         { fill: #ff00ff;        font-size: 1px; }
+
+			.amenity-theatre-caption-casing      { stroke-width: .3px;   font-size: 1px; }
+			.amenity-theatre-caption-core        { fill: #ff00ff;        font-size: 1px; }
+
+			.sport-caption-core { font-weight: bold; fill: #590904; font-size: 1.3px; }
+
+			.generic-caption-casing              { stroke-width: .18px;  font-size: 1px; }
+			.generic-caption-core                { fill: #4040ff;        font-size: 1px; }
+
+			.generic-poi {
+			fill: #4040ff;
+			stroke: #606060;
+			stroke-width: 0.1px;
+			}
+
+			/* Building */
+			.building {
+			fill: #e0e0e0;
+			stroke: #d0d0d0;
+			stroke-width: 0.2px;
+			}
+
+			.building-block {
+			fill: #F3D6B6;
+			stroke: #6a5a8e;
+			stroke-width: 0.2px;
+			}
+
+			.building-residential {
+			fill: #c95e2a;
+			stroke: #800000;
+			stroke-width: 0.2px;
+			}
+
+			/* Aerialway */
+			.aerialway-line {
+			fill: none;
+			stroke: #202020;
+			stroke-width: 0.4px;
+			}
+
+			.aerialway-cablecar-marker {
+			marker-start:url(#marker-cablecar);
+			}
+
+			.aerialway-gondola-marker {
+			marker-start:url(#marker-gondola);
+			}
+
+			.aerialway-chairlift2-marker {
+			marker-start:url(#marker-chair-lift-2);
+			}
+
+			.aerialway-chairlift4-marker {
+			marker-start:url(#marker-chair-lift-4);
+			}
+
+			.aerialway-mixedlift-marker {
+			marker-start:url(#marker-mixed-lift);
+			}
+
+			.aerialway-struts {
+			fill: none;
+			stroke: #202020;
+			stroke-width: 4px;
+			stroke-dasharray: 0.2,20;
+			}
+
+			.aerialway-station {
+			fill: #ec2d2d;
+			stroke: #606060;
+			stroke-width: 0.1px;
+			}
+
+			.aerialway-name {
+			fill: #606060;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 4px;
+			stroke: none;
+			text-anchor: middle;
+			}
+
+			.aerialway-elevation-text {
+			fill: #606060;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 3px;
+			text-anchor: middle;
+			}
+
+			.military-area {
+			fill: url(#military-pattern);
+			stroke: #e4e4e4;
+			stroke-width: 0.2px;
+			}
+
+			/* surface lifts */
+			.piste-lift-t-bar-marker {
+			marker-start:url(#marker-piste-lift-t-bar);
+			}
+
+			.piste-lift-rope-tow {
+			fill: none;
+			stroke: #a47c41;
+			stroke-width: 0.5px;
+			stroke-dasharray: 1,1;
+			stroke-linecap: square;
+			}
+
+			.piste-lift-magic-carpet {
+			fill: none;
+			stroke: #101010;
+			stroke-width: 0.8px;
+			}
+
+			/* Piste maps */
+			.piste-core {
+			fill: none;
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke-width: 5px;
+			opacity: 0.66;
+			}
+
+			.piste-area {
+			stroke-linecap: round;
+			stroke-linejoin: round;
+			stroke-width: 5px;
+			opacity: 0.66;
+			}
+
+			.piste-difficulty-novice       { stroke: #40ff40; }
+			.piste-difficulty-easy         { stroke: #4040ff; }
+			.piste-difficulty-intermediate { stroke: #ff4040; }
+			.piste-difficulty-advanced     { stroke: #000000; }
+			.piste-difficulty-expert       { stroke: #f6800a; }
+			.piste-difficulty-freeride     { stroke: #f6dd0a; }
+			.piste-difficulty-other        { stroke: #505050; }
+			.piste-area-difficulty-novice       { stroke: #40ff40; fill: #40ff40; }
+			.piste-area-difficulty-easy         { stroke: #4040ff; fill: #4040ff; }
+			.piste-area-difficulty-intermediate { stroke: #ff4040; fill: #ff4040; }
+			.piste-area-difficulty-advanced     { stroke: #000000; fill: #000000; }
+			.piste-area-difficulty-expert       { stroke: #f6800a; fill: #f6800a; }
+			.piste-area-difficulty-freeride     { stroke: #f6dd0a; fill: #f6dd0a; }
+			.piste-area-difficulty-other        { stroke: #505050; fill: #505050; }
+
+			.piste-downhill-name-casing {
+			fill: #555555;
+			stroke: #555555;
+			stroke-opacity: 1;
+			stroke-width: 0.25px;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 5px;
+			text-anchor: middle;
+			}
+
+			.piste-downhill-name {
+			fill: #ffffff;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 5px;
+			text-anchor: middle;
+			}
+
+			.piste-downhill-ref {
+			fill: #000000;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			font-size: 5px;
+			text-anchor: middle;
+			}
+
+			.piste-type-sled {
+			fill: none;
+			stroke: #cdabde;
+			stroke-width: 2.5px;
+			marker-start:url(#marker-piste-type-sled);
+			}
+
+			.piste-type-nordic {
+			fill: none;
+			stroke: #c00000;
+			stroke-width: 1px;
+			stroke-dasharray: 3,0.5;
+			stroke-linejoin: bevel;
+			stroke-linecap: butt;
+			marker-start:url(#marker-piste-type-nordic);
+			}
+
+			.man-made-piste-halfpipe {
+			fill: #a0f0ff;
+			stroke: #00bcdf;
+			stroke-width: 0.4px;
+			}
+
+			/* Power Generator */
+			.power-wind {
+			fill: url(#power-wind-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-hydro {
+			fill: url(#power-hydro-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-photovoltaic {
+			fill: url(#power-photovoltaic-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+			.power-generic {
+			fill: url(#power-generic-pattern);
+			stroke: #333333;
+			stroke-width: 0.05px;
+			}
+
+			/* Power line and pipeline casing */
+			.powerline-pipeline-casing {
+			stroke-width: 0.2px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #ffffff;
+			stroke-opacity: 0.5;
+			fill: none;
+			}
+
+			/* Power line */
+			.power-dash {
+			stroke-dasharray: 2 ,1;
+			}
+			.minor-dash {
+			stroke-dasharray: 1, 0.5;
+			}
+			.power-dash-tunnel {
+			stroke-dasharray: 0.3, 0.5, 0.3, 0.5, 0.3 ,1.1;
+			}
+			.minor-dash-tunnel {
+			stroke-dasharray: 0.15, 0.25, 0.15, 0.25, 0.15, 0.55;
+			}
+
+			.power-line {
+			stroke-width: 0.1px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #808080;
+			fill: none;
+			}
+			.power-minor-line {
+			stroke-width: 0.1px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #808080;
+			fill: none;
+			}
+
+			/* Pipelines */
+			.pipeline-dash {
+			stroke-dasharray: 1, 0.5;
+			}
+			.pipeline-dash-tunnel {
+			stroke-dasharray: 0.15, 0.25, 0.15, 0.25, 0.15, 0.55;
+			}
+
+			.pipeline-unknown {
+			stroke-width: 0.1px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #a0a0a0;
+			fill: none;
+			}
+
+			.pipeline-water {
+			stroke-width: 0.1px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #4080f0;
+			fill: none;
+			}
+
+			.pipeline-gas {
+			stroke-width: 0.1px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #e0f000;
+			fill: none;
+			}
+
+			.pipeline-oil {
+			stroke-width: 0.1px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #40f040;
+			fill: none;
+			}
+
+			.pipeline-sewage {
+			stroke-width: 0.1px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #908030;
+			fill: none;
+			}
+
+			.pipeline-heat {
+			stroke-width: 0.1px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #f03050;
+			fill: none;
+			}
+
+			.communication-line {
+			stroke-width: 0.1px;
+			stroke-linecap: butt;
+			stroke-linejoin: round;
+			stroke: #f080f0;
+			fill: none;
+			}
+
+			.reservoir-evaporator {
+			fill: url(#reservoir-evaporator-pattern);
+			stroke: none;
+			}
+
+			.reservoir-cooling {
+			fill: url(#reservoir-cooling-pattern);
+			stroke: none;
+			}
+
+			.reservoir-sewage {
+			fill: url(#reservoir-sewage-pattern);
+			stroke: none;
+			}
+
+			.reservoir-tailings {
+			fill: url(#reservoir-tailings-pattern);
+			stroke: none;
+			}
+
+			.basin-infiltration {
+			fill: url(#basin-infiltration-pattern);
+			stroke: none;
+			}
+			.basin-detention {
+			fill: url(#basin-detention-pattern);
+			stroke: none;
+			}
+			.basin-retention {
+			fill: url(#basin-retention-pattern);
+			stroke: none;
+			}
+
+			/* Area captions */
+			.park-name {
+			fill: #404040;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			font-size: 2.25px;
+			stroke-width: 0.0px;
+			}
+
+			.landuse-reservoir-name {
+			fill: #404040;
+			font-family: "DejaVu Sans";
+			font-weight: normal;
+			stroke: white;
+			font-size: 2.25px;
+			stroke-width: 0.0px;
+			}
+
+			/* Oneway */
+			.oneway-casing { fill: none; stroke-linecap: butt; stroke: #0000a0; }
+			/*    stroke: #a2aee9; */
+			.oneway-core { fill: none; stroke-linecap: butt; stroke: #ffffff; }
+			.oneway-exclcycle-casing { fill: none; stroke-linecap: butt; stroke: #7070a0; }
+			.oneway-exclcycle-core { fill: none; stroke-linecap: butt; stroke: #90ff70; }
+
+			.oneway-casing-1 { stroke-width: 0.3px; stroke-dasharray: 2.1,27.9; stroke-dashoffset: 23.1; }   /* Pfeilstrich */
+			.oneway-casing-2 { stroke-width: 0.575px; stroke-dasharray: 0.3,29.7; stroke-dashoffset: 21.7; } /* Pfeilspitzenbasis */
+			.oneway-casing-3 { stroke-width: 0.5px; stroke-dasharray: 0.3,29.7; stroke-dashoffset: 21.6; }   /* weiter nach vorne */
+			.oneway-casing-4 { stroke-width: 0.425px; stroke-dasharray: 0.4,29.6; stroke-dashoffset: 21.6; } /* ... */
+			.oneway-casing-5 { stroke-width: 0.35px; stroke-dasharray: 0.5,29.5; stroke-dashoffset: 21.6; }
+			.oneway-casing-6 { stroke-width: 0.275px; stroke-dasharray: 0.6,29.4; stroke-dashoffset: 21.6; }
+			.oneway-casing-7 { stroke-width: 0.2px; stroke-dasharray: 0.7,29.3; stroke-dashoffset: 21.6; }
+			.oneway-casing-8 { stroke-width: 0.1px; stroke-dasharray: 0.8,29.2; stroke-dashoffset: 21.6; }
+
+			.oneway-core-1 { stroke-width: 0.1px; stroke-dasharray: 2,28; stroke-dashoffset: 23.05; }
+			.oneway-core-2 { stroke-width: 0.425px; stroke-dasharray: 0.2,29.8; stroke-dashoffset: 21.65; }
+			.oneway-core-3 { stroke-width: 0.35px; stroke-dasharray: 0.3,29.7; stroke-dashoffset: 21.65; }
+			.oneway-core-4 { stroke-width: 0.275px; stroke-dasharray: 0.4,29.6; stroke-dashoffset: 21.65; }
+			.oneway-core-5 { stroke-width: 0.2px; stroke-dasharray: 0.5,29.5; stroke-dashoffset: 21.65; }
+			.oneway-core-6 { stroke-width: 0.125px; stroke-dasharray: 0.6,29.4; stroke-dashoffset: 21.65; }
+			.oneway-core-7 { stroke-width: 0.05px; stroke-dasharray: 0.7,29.3; stroke-dashoffset: 21.65; }
+
+			.oneway-casing-r1 { stroke-width: 0.3px; stroke-dasharray: 2.1,27.9; stroke-dashoffset: 23.1; }
+			.oneway-casing-r2 { stroke-width: 0.575px; stroke-dasharray: 0.3,29.7; stroke-dashoffset: 23.3; }
+			.oneway-casing-r3 { stroke-width: 0.5px; stroke-dasharray: 0.3,29.7; stroke-dashoffset: 23.4; }
+			.oneway-casing-r4 { stroke-width: 0.425px; stroke-dasharray: 0.4,29.6; stroke-dashoffset: 23.5; }
+			.oneway-casing-r5 { stroke-width: 0.35px; stroke-dasharray: 0.5,29.5; stroke-dashoffset: 23.6; }
+			.oneway-casing-r6 { stroke-width: 0.275px; stroke-dasharray: 0.6,29.4; stroke-dashoffset: 23.7; }
+			.oneway-casing-r7 { stroke-width: 0.2px; stroke-dasharray: 0.7,29.3; stroke-dashoffset: 23.8; }
+			.oneway-casing-r8 { stroke-width: 0.1px; stroke-dasharray: 0.8,29.2; stroke-dashoffset: 23.9; }
+
+			.oneway-core-r1 { stroke-width: 0.1px; stroke-dasharray: 2.05,27.95; stroke-dashoffset: 23.1; }
+			.oneway-core-r2 { stroke-width: 0.425px; stroke-dasharray: 0.2,29.8; stroke-dashoffset: 23.25; }
+			.oneway-core-r3 { stroke-width: 0.35px; stroke-dasharray: 0.3,29.7; stroke-dashoffset: 23.35; }
+			.oneway-core-r4 { stroke-width: 0.275px; stroke-dasharray: 0.4,29.6; stroke-dashoffset: 23.45; }
+			.oneway-core-r5 { stroke-width: 0.2px; stroke-dasharray: 0.5,29.5; stroke-dashoffset: 23.55; }
+			.oneway-core-r6 { stroke-width: 0.125px; stroke-dasharray: 0.6,29.4; stroke-dashoffset: 23.65; }
+			.oneway-core-r7 { stroke-width: 0.05px; stroke-dasharray: 0.7,29.3; stroke-dashoffset: 23.75; }
+
+			.otherway {
+			fill: none;
+			stroke: red;
+			stroke-width: 2px;
+			stroke-opacity: 0;
+			/* marker-start: url(#marker-otherway-start); */
+			marker-end: url(#marker-otherway-end);
+			}
+
+			/* SAC scales for paths and footways
+			colors taken from:
+			http://www.sac-cas.ch/uploads/media/SAC_Wanderskala_Vergleich_01.pdf
+			*/
+			.sac-scale-t1 {
+			stroke: red;
+			stroke-width: 0.1px;
+			fill: none;
+			}
+
+			.sac-scale-t2 {
+			stroke-dasharray: 0.5, 0.5;
+			stroke: red;
+			stroke-width: 0.1px;
+			fill: none;
+			}
+
+			.sac-scale-t3 {
+			stroke-dasharray: 0.01, 0.15;
+			stroke-linecap: round;
+			stroke: red;
+			stroke-width: 0.1px;
+			fill: none;
+			}
+
+			.sac-scale-t4 {
+			stroke: blue;
+			stroke-width: 0.1px;
+			fill: none;
+			}
+
+			.sac-scale-t5 {
+			stroke-dasharray: 0.5, 0.5;
+			stroke: blue;
+			stroke-width: 0.1px;
+			fill: none;
+			}
+
+			.sac-scale-t6 {
+			stroke-dasharray: 0.01, 0.15;
+			stroke-linecap: round;
+			stroke: blue;
+			stroke-width: 0.1px;
+			fill: none;
+			}
+
+			/* Access restrictions */
+			.access-private-line {
+			fill: none;
+			stroke: url(#access-private-pattern);
+			stroke-width: 1.5px;
+			}
+			.access-private-area {
+			fill: url(#access-private-pattern);
+			stroke: url(#access-private-pattern);
+			stroke-width: 1px;
+			}
+			.access-private-small-area {
+			fill: url(#access-private-pattern);
+			stroke: url(#access-private-pattern);
+			stroke-width: 0.5px;
+			}
+			.access-private-area-border {
+			stroke: #ff4040;
+			}
+			.access-permissive-line {
+			fill: none;
+			stroke: url(#access-permissive-pattern);
+			stroke-width: 1.5px;
+			}
+			.access-permissive-area {
+			fill: url(#access-permissive-pattern);
+			stroke: url(#access-permissive-pattern);
+			stroke-width: 1px;
+			}
+			.access-permissive-small-area {
+			fill: url(#access-permissive-pattern);
+			stroke: url(#access-permissive-pattern);
+			stroke-width: 0.5px;
+			}
+			.access-permissive-area-border {
+			stroke: #40ff40;
+			}
+			.access-destination-line {
+			fill: none;
+			stroke: url(#access-destination-pattern);
+			stroke-width: 1.5px;
+			}
+			.access-destination-area {
+			fill: url(#access-destination-pattern);
+			stroke: url(#access-destination-pattern);
+			stroke-width: 1px;
+			}
+			.access-destination-small-area {
+			fill: url(#access-destination-pattern);
+			stroke: url(#access-destination-pattern);
+			stroke-width: 0.5px;
+			}
+			.access-destination-area-border {
+			stroke: #4040ff;
+			}
+			.access-no-line {
+			fill: none;
+			stroke: url(#access-no-pattern);
+			stroke-width: 1.5px;
+			}
+			.access-no-area {
+			fill: url(#access-no-pattern);
+			stroke: url(#access-no-pattern);
+			stroke-width: 1px;
+			}
+			.access-no-small-area {
+			fill: url(#access-no-pattern);
+			stroke: url(#access-no-pattern);
+			stroke-width: 0.5px;
+			}
+			.access-no-area-border {
+			stroke: #ff4040;
+			}
+
+			/* Barriers */
+			.barrier { stroke: #000000; stroke-linecap: butt; stroke-width: 0.05px; fill: none; }
+			.barrier-bollard { stroke: #ff0000; stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.1px; }
+			.barrier-hedge-1 { stroke: #00ff00; stroke-width: 0.1px; }
+			.barrier-hedge-2 { stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.1px; }
+			.barrier-fence-1 { stroke-width: 0.1px; }
+			.barrier-fence-2 { stroke: #888888; stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.1px; }
+			.barrier-wall { stroke-width: 0.1px; }
+			.barrier-retaining-wall-1 { stroke: #888888; stroke-width: 0.1px; }
+			.barrier-retaining-wall-2 { stroke: #888888; stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.2px; }
+			.barrier-city-wall-ts-1 { stroke-width: 0.1px; }
+			.barrier-city-wall-ts-2 { stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.2px; }
+			.barrier-city-wall-1 { stroke-width: 0.1px; }
+			.barrier-city-wall-2 { stroke-dasharray: 0.0001, 0.4999; stroke-linecap: round; stroke-width: 0.2px; }
+
+			/* Map decoration */
+			.map-grid-line {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 0.1px;
+			stroke-opacity: 0.5;
+			}
+
+			.map-border-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 3px;
+			stroke-miterlimit: 4;
+			stroke-dasharray: none;
+			stroke-opacity: 1;
+			stroke-linecap: round;
+			}
+
+			.map-border-core {
+			fill: none;
+			fill-opacity: 1;
+			fill-rule: nonzero;
+			stroke: #ffffff;
+			stroke-width: 2px;
+			stroke-miterlimit: 0;
+			stroke-dashoffset: -0.5px;
+			stroke-opacity: 1;
+			}
+
+			.map-scale-casing {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 4px;
+			stroke-linecap: butt;
+			}
+
+			.map-scale-core {
+			fill: none;
+			stroke: #ffffff;
+			stroke-width: 3px;
+			stroke-linecap: butt;
+			}
+
+			.map-scale-bookend {
+			fill: none;
+			stroke: #8080ff;
+			stroke-width: 1px;
+			stroke-linecap: butt;
+			}
+
+			.map-scale-caption {
+			font-family: "DejaVu Sans";
+			font-size: 10px;
+			fill: #8080ff;
+			}
+
+			<!-- map background must be the same for all zooms or else empty tile detection will fail -->
+			.map-background {
+			fill: #f8f8f8
+			;
+			stroke: none;
+			}
+
+			.map-title {
+			font-family: "DejaVu Sans";
+			font-size: 20px;
+			text-anchor: middle;
+			fill: black;
+			}
+
+			.map-title-background {
+			fill: white;
+			}
+
+			.map-marginalia-background {
+			fill: white;
+			}
+
+			.highway-tunnel-ends {
+			stroke-opacity: 0;
+			fill: none;
+			marker-start: url(#marker-tunnel-start);
+			marker-end: url(#marker-tunnel-end);
+			}
+
+			/* Osmarender built-in styles - do not remove */
+			.osmarender-stroke-linecap-round { stroke-linecap: round; }
+			.osmarender-stroke-linecap-butt { stroke-linecap: butt; }
+			.osmarender-mask-black { stroke: black; }
+			.osmarender-mask-white { stroke: white; }
+			.osmarender-no-marker-start { marker-start: none; }
+			.osmarender-no-marker-end { marker-end: none; }
+
+
+		</style>
+
+		<svg:pattern x="0" y="0" width="200" height="200" id="wood-deciduous-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.05)">
+			<svg:rect fill="#6fc18e" width="205" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 27,1 C 20,1 13,7 13,14 C 13,16 13,18 15,20 C 11,22 8,26 8,29 C 8,36 16,43 28,43 L 28,63 L 37,63 L 37,43 C 48,43 57,36 57,29 C 57,26 55,23 52,21 C 55,14 45,4 37,6 C 36,3 33,1 27,1"/>
+			<svg:path fill="#2b743f" d="M 77,101 C 70,101 63,107 63,114 C 63,116 63,118 65,120 C 61,122 58,126 58,129 C 58,136 66,143 78,143 L 78,163 L 87,163 L 87,143 C 98,143 107,136 107,129 C 107,126 105,123 102,121 C 105,114 95,104 87,106 C 86,103 83,101 77,101"/>
+		</svg:pattern>
+		<svg:pattern x="0" y="0" width="200" height="200" id="wood-coniferous-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.05)">
+			<svg:rect fill="#6fc18e" width="205" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 15,24 L 25,24 L 10,39 L 25,39 L 5,54 L 25,54 L 25,64 L 35,64 L 35,54 L 55,54 L 35,39 L 50,39 L 35,24 L 45,24 L 30,4 L 15,24"/>
+			<svg:path fill="#2b743f" d="M 65,124 L 75,124 L 60,139 L 75,139 L 55,154 L 75,154 L 75,164 L 85,164 L 85,154 L 105,154 L 85,139 L 100,139 L 85,124 L 95,124 L 80,104 L 65,124"/>
+		</svg:pattern>
+		<svg:pattern x="0" y="0" width="300" height="200" id="wood-mixed-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.05)">
+			<svg:rect fill="#6fc18e" width="305" height="205" x="0" y="0"/>
+			<svg:path fill="#2b743f" d="M 27,1 C 20,1 13,7 13,14 C 13,16 13,18 15,20 C 11,22 8,26 8,29 C 8,36 16,43 28,43 L 28,63 L 37,63 L 37,43 C 48,43 57,36 57,29 C 57,26 55,23 52,21 C 55,14 45,4 37,6 C 36,3 33,1 27,1"/>
+			<svg:path fill="#2b743f" d="M 65,54 L 75,54 L 60,69 L 75,69 L 55,84 L 75,84 L 75,94 L 85,94 L 85,84 L 105,84 L 85,69 L 100,69 L 85,54 L 95,54 L 80,34 L 65,54"/>
+			<svg:path fill="#2b743f" d="M 165,104 L 175,104 L 160,119 L 175,119 L 155,134 L 175,134 L175,144 L 185,144 L 185,134 L 205,134 L 185,119 L 200,119 L 185,104 L 195,104 L 180,84 L 165,104"/>
+			<svg:path fill="#2b743f" d="M 227,101 C 220,101 213,107 213,114 C 213,116 213,118 215,120 C 211,122 208,126 208,129 C 208,136 216,143 228,143 L 228,163 L 237,163 L 237,143 C 248,143 257,136 257,129 C 257,126 255,123 252,121 C 255,114 245,104 237,106 C 236,103 233,101 227,101"/>
+		</svg:pattern>
+
+		<svg:pattern id="marsh-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.3)">
+			<svg:path stroke="#007fff" stroke-width="0.2" stroke-linecap="round" d="M 0,4 C 1.33,4 2.67,4 4,4 M 2,4 C 2,3 2,2 2,1 M 3,3 L 2,4 M 3,2 L 2,4 M 1,3 L 2,4 M 1,2 L 2,4 M 7,9 L 10,9 M 2,9 C 3,9 4,9 5,9 M 6,4 C 6.71,4 7.35,4 8,4 M 2,6 C 2.67,6 3.33,6 4,6 M 7,1 C 7.70,1 8.33,1 9,1 M 0,9 L 1,9 M 9,6 L 9,9 M 10,7 L 9,9 M 10,8 L 9,9 M 8,8 L 9,9 M 8,7 L 9,9"/>
+		</svg:pattern>
+
+		<svg:pattern x="0" y="0" width="35" height="35" id="leisure-dog_park-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.08)">
+			<svg:rect style="fill:#c7f1a3;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.1;stroke-dasharray:none" width="36" height="36" x="0" y="0"/>
+			<svg:path style="fill:#000000;stroke-width:0" d="M 6.46,8.48 C 8.51,7.4 10.33,8.05 10.8,9.7 C 11.33,11.59 12.7,14.29 11.31,14.9 C 10.43,15.29 8.98,12.87 7.42,12.1 C 5.86,11.34 3.25,12.26 3,10.92 C 2.78,9.73 5.15,9.17 6.46,8.48 L 6.46,8.48 z"/>
+			<svg:path style="fill:#000000;stroke-width:0" d="M 3.71,6.22 C 4,5.35 4.81,4.93 5.52,5.23 C 6.23,5.64 6.57,6.63 6.28,7.49 C 5.99,8.36 5.18,8.77 4.47,8.42 C 3.76,8.07 3.42,7.08 3.71,6.22 L 3.71,6.22 z"/>
+			<svg:path style="fill:#000000;stroke-width:0" d="M 7.90,3.61 C 8.51,2.67 9.49,2.46 10.1,3.15 C 10.7,3.83 10.7,5.15 10.1,6.09 C 9.49,7.04 8.51,7.24 7.9,6.56 C 7.3,5.87 7.3,4.55 7.9,3.61 L 7.9,3.61 z"/>
+			<svg:path style="fill:#000000;stroke-width:0" d="M 12,5.23 C 12.94,4.57 13.97,4.72 14.29,5.56 C 14.6,6.4 14.08,7.61 13.13,8.27 C 12.18,8.93 11.15,8.78 10.84,7.94 C 10.53,7.1 11.04,5.89 11.99,5.23 L 11.99,5.23 z"/>
+			<svg:path style="fill:#000000;stroke-width:0" d="M 13.09,9.83 C 13.96,9.6 14.78,10.02 14.92,10.78 C 15.05,11.53 14.46,12.33 13.59,12.56 C 12.72,12.79 11.9,12.37 11.76,11.61 C 11.63,10.86 12.22,10.07 13.09,9.83 L 13.09,9.83 z"/>
+		</svg:pattern>
+		<svg:pattern id="military-pattern" x="0" y="0" width="500" height="500" patternUnits="userSpaceOnUse" patternTransform="scale(0.01)">
+			<svg:rect width="510" height="510" x="0" y="0" fill-opacity="0.5" fill="#d0d050"/>
+			<svg:path fill="#808000" d="M 311.4875,112.4725 L 240.86574,112.4725 L 219.18975,100.81875 L 219.18975,67.95515 L 358.10253,55.13602 L 358.10253,98.02185 L 311.4875,107.11177 L 311.4875,112.4725 z "/>
+			<svg:path fill="#808000" d="M 86.10386,157.81856 L 404.48447,158.3883 L 404.43115,99.18722 L 313.11903,119.23168 L 180.26621,119.23168 L 86.10386,144.40379 C 80.55682,146.64725 78.71816,157.81856 86.10386,157.81856 z "/>
+			<svg:path fill="#808000" d="M 176.69134,184.53979 C 176.69131,195.84684 167.54017,205.02094 156.23316,205.04931 C 144.92615,205.07768 135.72909,195.94962 135.67232,184.64271 C 135.61555,173.33581 144.72048,164.11585 156.02721,164.03068 C 167.33393,163.94551 176.57673,173.02726 176.6903,184.33373"/>
+			<svg:path fill="#808000" d="M 222.85374,184.53979 C 222.85371,195.84684 213.70257,205.02094 202.39556,205.04931 C 191.08855,205.07768 181.89149,195.94962 181.83472,184.64271 C 181.77795,173.33581 190.88288,164.11585 202.18961,164.03068 C 213.49633,163.94551 222.73913,173.02726 222.8527,184.33373"/>
+			<svg:path fill="#808000" d="M 268.20674,184.53979 C 268.20671,195.84684 259.05557,205.02094 247.74856,205.04931 C 236.44155,205.07768 227.24449,195.94962 227.18772,184.64271 C 227.13095,173.33581 236.23588,164.11585 247.54261,164.03068 C 258.84933,163.94551 268.09213,173.02726 268.2057,184.33373"/>
+			<svg:path fill="#808000" d="M 314.63974,184.53979 C 314.63971,195.84684 305.48857,205.02094 294.18156,205.04931 C 282.87455,205.07768 273.67749,195.94962 273.62072,184.64271 C 273.56395,173.33581 282.66888,164.11585 293.97561,164.03068 C 305.28233,163.94551 314.52513,173.02726 314.6387,184.33373"/>
+			<svg:path fill="#808000" d="M 104.62906,164.30601 L 95.06656,164.74351 C 89.7409,177.99161 94.17664,190.11388 108.81656,199.08726 C 125.31404,209.1992 145.13754,218.93662 150.87906,219.08726 L 345.94156,219.14976 C 351.68308,218.99912 371.50659,209.26172 388.00406,199.14976 C 402.64398,190.17638 407.07972,178.02286 401.75406,164.77476 L 392.19156,164.36851 C 395.0692,176.76396 397.55281,185.1301 379.62906,193.61851 C 364.95912,200.56595 349.45269,208.83667 347.03531,209.33726 L 149.78531,209.30601 C 147.36794,208.8054 131.89275,200.50345 117.22281,193.55601 C 99.29906,185.06761 101.75142,176.70146 104.62906,164.30601 z M 81.325,74.26296 L 81.325,87.85048 L 214.52384,92.37965 L 214.52384,74.05709 L 81.325,74.26296 z "/>
+			<svg:path fill="#808000" d="M 360.71264,185.61239 C 360.71261,196.91944 351.56147,206.09354 340.25446,206.12191 C 328.94745,206.15028 319.75039,197.02222 319.69362,185.71531 C 319.63685,174.40841 328.74178,165.18845 340.04851,165.10328 C 351.35523,165.01811 360.59803,174.09986 360.7116,185.40633"/>
+			<svg:path fill="#808000" d="M 389.14837,176.08104 C 389.14835,182.52632 383.93199,187.75578 377.48672,187.77195 C 371.04145,187.78813 365.79891,182.58491 365.76655,176.1397 C 365.73419,169.6945 370.92422,164.4389 377.36932,164.39035 C 383.81443,164.3418 389.08304,169.51862 389.14778,175.96358"/>
+			<svg:path fill="#808000" d="M 130.88767,176.08104 C 130.88765,182.52632 125.67129,187.75578 119.22602,187.77195 C 112.78075,187.78813 107.53821,182.58491 107.50585,176.1397 C 107.47349,169.6945 112.66352,164.4389 119.10862,164.39035 C 125.55373,164.3418 130.82234,169.51862 130.88708,175.96358"/>
+		</svg:pattern>
+
+		<svg:pattern id="cemetery-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:rect fill="#bde3cb" width="10" height="10" x="0" y="0"/>
+			<svg:path fill="#b0b0b0" stroke-width="0.1" d="M 1.48,0.13 C 2.12,0.13 2.63,0.64 2.63,1.28 L 2.63,4.27 L 0.33,4.27 L 0.33,1.28 C 0.33,0.64 0.85,0.13 1.48,0.13 z "/>
+			<svg:path fill="#b0b0b0" stroke-width="0.1" d="M 6.64,5.78 C 7.27,5.78 7.79,6.29 7.79,6.92 L 7.79,9.91 L 5.49,9.91 L 5.49,6.92 C 5.49,6.29 6.00,5.78 6.64,5.78 z "/>
+		</svg:pattern>
+		<svg:pattern id="cemetery-christian-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:rect fill="#bde3cb" width="11" height="11" x="0" y="0"/>
+			<svg:path stroke="black" stroke-width="0.2" d="M1,1 L3,1 M2,0 L2,3 M6,6 L8,6 M7,5 L7,8"/>
+		</svg:pattern>
+
+		<svg:pattern patternUnits="userSpaceOnUse" width="104.8886" height="112.38862" patternTransform="scale(0.05,0.05)" id="vineyard-pattern">
+			<svg:rect fill="#d1ead1" width="104.8886" height="112.38862" x="0" y="0"/>
+			<svg:g transform="translate(-35,-59.111382)">
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="105" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="104.54168" y="95.686478"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="91.572838" y="95.066086"/>
+				<svg:path style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#bf5bc3;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 102.72166,94.632518 C 102.72166,94.632518 102.51202,95.733107 102.51202,86.247077 C 102.51202,84.082553 104.39875,79.905587 96.851849,75.974911"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-1.4674523,16.770883)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-4.6119891,6.2890801)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(10.27217,-2.7252699)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-6.7083494,-4.4023583)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(4.1927244,9.8528923)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(2.096364,0.6289069)"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="90" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="95" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="115" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="60" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="59.541687" y="133.18648"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5156324" height="2.3059964" x="46.572845" y="132.56609"/>
+				<svg:path style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#bf5bc3;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 57.72166,132.13252 C 57.72166,132.13252 57.51202,133.23311 57.51202,123.74708 C 57.51202,121.58255 59.39875,117.40559 51.85185,113.47491"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-46.467452,54.270883)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-49.611989,43.78908)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-34.72783,34.77473)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-51.708349,33.097642)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-40.807276,47.352892)"/>
+				<svg:path style="fill:#ffffff;fill-opacity:1;stroke:#bf5bc3;stroke-width:1.20000005;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 106.28547 97.357788 A 5.4505372 5.4505372 0 1 1  95.384393,97.357788 A 5.4505372 5.4505372 0 1 1  106.28547 97.357788 z" transform="translate(-42.903636,38.128907)"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="45" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="50" y="119"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="131.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="90" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="75" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="95" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="80" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="100" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="70" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="85" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="55" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="120" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="105" y="144"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="125" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="110" y="156.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="115" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="130" y="169"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="35" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="40" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="60" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="45" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="65" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="50" y="81.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="55" y="94"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="70" y="94"/>
+				<svg:rect style="fill:none;fill-opacity:0.92941176;stroke:none;stroke-width:0.22276554;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="104.87722" height="112.37724" x="35.011383" y="59.111382"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="69"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="106.5"/>
+				<svg:rect style="fill:#7ba274;fill-opacity:0.92941176;stroke:none;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" width="2.5" height="2.5" x="135" y="144"/>
+			</svg:g>
+		</svg:pattern>
+
+		<svg:pattern id="livingstreet-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#e5e0c2" stroke-width="1" d="M5,0 L0,5 M0,0 L5,5"/>
+		</svg:pattern>
+		<svg:pattern id="cycleroad-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#d1fad1" stroke-width="2" d="M5,0 L0,5 M0,0 L5,5"/>
+		</svg:pattern>
+
+		<svg:pattern id="access-private-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#ff4040" stroke-width="0.1" d="M5,0 L0,5 M0,0 L5,5"/>
+		</svg:pattern>
+		<svg:pattern id="access-permissive-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#40ff40" stroke-width="0.1" d="M5,0 L0,5 M0,0 L5,5"/>
+		</svg:pattern>
+		<svg:pattern id="access-destination-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#4040ff" stroke-width="0.1" d="M5,0 L0,5 M0,0 L5,5"/>
+		</svg:pattern>
+		<svg:pattern id="access-no-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)">
+			<svg:path fill="none" stroke="#ff4040" stroke-width="0.1" d="M5,0 L0,5 M0,0 L5,5"/>
+		</svg:pattern>
+		<svg:pattern id="power-photovoltaic-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.107)">
+		<svg:pattern id="power-wind-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.107)">
+		<!-- power_wind.svg -->
+			<svg:g style="fill:#000000">
+				<rect width="0.77532399" height="8.1394444" x="8.3448029" y="7.860559" style="fill:#000000" />
+				<path d="M 9.4685289,7.5398227 C 9.5951548,7.3769778 10.64679,8.1902804 11.817421,9.3563852 C 12.988052,10.52249 13.834385,11.599816 13.707759,11.762661 C 13.581133,11.925506 12.529499,11.112204 11.358868,9.9460989 C 10.188236,8.7799942 9.341903,7.7026676 9.4685289,7.5398227 z" />
+				<path d="M 9.0179241,5.7934416 C 8.8242005,5.7429518 9.0001786,4.4242539 9.4109824,2.8480475 C 9.8217862,1.2718412 10.311853,0.03500359 10.505576,0.085493431 C 10.6993,0.13598327 10.523322,1.4546811 10.112518,3.0308874 C 9.7017142,4.6070939 9.2116477,5.8439315 9.0179241,5.7934416 z" />
+				<path d="M 7.7057548,7.0801563 C 7.7567258,7.273754 6.5211097,7.7668916 4.9459289,8.1816099 C 3.3707482,8.5963282 2.0524917,8.7755817 2.0015207,8.5819841 C 1.9505497,8.3883865 3.1861658,7.8952488 4.7613465,7.4805306 C 6.3365273,7.0658123 7.6547838,6.8865587 7.7057548,7.0801563 z" />
+				<path d="M 9.7448924,6.787931 C 9.7450023,7.3521951 9.2876067,7.8096797 8.7233428,7.8096797 C 8.1590787,7.8096797 7.7016831,7.3521951 7.701793,6.787931 C 7.7016831,6.2236669 8.1590787,5.7661823 8.7233428,5.7661823 C 9.2876067,5.7661823 9.7450023,6.2236669 9.7448924,6.787931 L 9.7448924,6.787931 z" />
+			</svg:g>
+		</svg:pattern>
+		<svg:pattern id="power-hydro-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.107)">
+		<!-- power_hydro.svg -->
+			<path d="M 8.5,12.8 L 11.9,6.5 L 7.1,7.6 L 10.8,1.5 L 8.2,0.17 L 4.1,10.1 L 9,8.6 L 7.4,12.3 L 7.1,11.6 L 6.65,15.7 L 9.3,12.5 L 8.5,12.8 z" style="fill:#00ccff;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;" />
+		</svg:pattern>
+		<!-- power_photovoltaic.svg -->
+		<svg:g transform="matrix(1,0,-0.26,1,0.15,0)">
+				<svg:rect x="3.4" y="3.4" width="13" height="8.9" style="fill:#ffffff;stroke:#000000;stroke-width:0.4"/>
+				<svg:g style="stroke-width:0;fill:#000084" >
+					<svg:rect x="3.9" y="8" width="3.8" height="3.8" />
+					<svg:rect x="8" y="8" width="3.8" height="3.8" />
+					<svg:rect x="12.1" y="8" width="3.8" height="3.8" />
+					<svg:rect x="3.9" y="3.9" width="3.8" height="3.8" />
+					<svg:rect x="8" y="3.9" width="3.8" height="3.8" />
+					<svg:rect x="12.1" y="3.9" width="3.8" height="3.8" />
+				</svg:g>
+			</svg:g>
+			<svg:path d="M 2.72 0.34 L 2.97 2.59 L 1.38 2.13 L 2.44 3.25 L 0.38 3.98 L 2.59 4.38 L 1.59 5.72 L 3.13 5.03 L 3.16 7.22 L 4.25 5.34 L 5.22 6.63 L 5.03 5 L 7.22 5.66 L 5.72 4.06 L 7.25 3.59 L 5.59 3.28 L 6.97 1.41 L 4.88 2.34 L 4.88 0.78 L 4.09 2.13 L 2.72 0.34 z" style="fill:#ffff00;stroke:#000000;stroke-width:0.1" />
+		</svg:pattern>
+		<svg:pattern id="power-generic-pattern" x="4" y="4" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(0.107)">
+		<!-- power_generic.svg -->
+			<svg:path d="M 8.5,12.8 L 11.9,6.5 L 7.1,7.6 L 10.8,1.5 L 8.2,0.17 L 4.1,10.1 L 9,8.6 L 7.4,12.3 L 7.1,11.6 L 6.65,15.7 L 9.3,12.5 L 8.5,12.8 z" style="fill:#ffff00;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;" />
+		</svg:pattern>
+		<!-- reservoir patterns -->
+		<svg:pattern id="reservoir-evaporator-pattern" patternUnits="userSpaceOnUse" width="2" height="2" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;stroke-linecap:round;" d="M 0.1,1.9 L 1.9,1.9" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.96,1.8 C 1.25,1.4 0.75,1.4 1.04,1" />
+			<svg:path style="stroke:#007fff;stroke-width:.035px;fill:none" d="M 0.61,1.8 C 0.8,1.55 0.5,1.55 .69,1.3" />
+			<svg:path style="stroke:#007fff;stroke-width:.035px;fill:none" d="M 1.31,1.8 C 1.5,1.55 1.2,1.55 1.39,1.3" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-cooling-pattern" patternUnits="userSpaceOnUse" width="2" height="2" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;stroke-linecap:round;" d="M 0.1,1.9 L 1.9,1.9" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1,1.25 L 0.784,1.125 L 0.784,0.875 L 1,0.75 L 1.217,0.875 L 1.217,1.125 z" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1,1.25 L 1,1.75" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 0.784,1.125 L 0.35,1.375" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 0.784,0.875 L 0.35,0.625" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1,0.75 L 1,0.25" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1.217,0.875 L 1.65,0.625" />
+			<svg:path style="stroke:#007fff;stroke-width:.04px;fill:none" d="M 1.217,1.125 L 1.65,1.375" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.257,1.705 L 1.000,1.550 L 0.743,1.705" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.518,1.575 L 0.524,1.275 L 0.261,1.130" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.261,0.870 L 0.524,0.725 L 0.518,0.425" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 0.743,0.295 L 1.000,0.450 L 1.257,0.295" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.482,0.425 L 1.476,0.725 L 1.739,0.870" />
+			<svg:path style="stroke:#007fff;stroke-width:.02px;fill:none" d="M 1.739,1.139 L 1.476,1.275 L 1.482,1.575" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-sewage-pattern" patternUnits="userSpaceOnUse" width="0.5" height="0.5" >
+			<svg:path style="stroke:#997700;stroke-width:.1px;" d="M -0.01,-0.01 L 0.51,0.51" />
+		</svg:pattern>
+		<svg:pattern id="reservoir-tailings-pattern" patternUnits="userSpaceOnUse" width="0.5" height="0.5" >
+			<svg:path style="stroke:black;stroke-width:.1px;" d="M -0.01,-0.01 L 0.51,0.51" />
+		</svg:pattern>
+
+
+
+		<svg:pattern id="basin-infiltration-pattern" patternUnits="userSpaceOnUse" width="2" height="2" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.1,0.2 L 1.9,0.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.4,0.6 L 1.6,0.6" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.1,1.2 L 0.9,1.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.4,1.6 L 0.6,1.6" />
+		</svg:pattern>
+
+		<svg:pattern id="basin-detention-pattern" patternUnits="userSpaceOnUse" width="2" height="2" >
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.4,0.2 L 1.6,0.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 1.1,0.6 L 1.9,0.6" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.4,1.2 L 0.6,1.2" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#007fff;stroke-width:.06px;fill:none" d="M 0.1,1.6 L 0.9,1.6" />
+		</svg:pattern>
+
+		<svg:pattern id="basin-retention-pattern" patternUnits="userSpaceOnUse" width="2" height="2">
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.5,1.0 C 1.5,1.25 1.2,1.375 1.2,1.625 C 1.2,1.95 1.8,1.95 1.8,1.625 C 1.8,1.375 1.5,1.25 1.5,1.0" />
+
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.5,0.0 C 0.5,0.25 0.2,0.375 0.2,0.625 C 0.2,0.95 0.8,0.95 0.8,0.625 C 0.8,0.375 0.5,0.25 0.5,0.0" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.4,0.2 L 1.6,0.2" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.25,0.4 L 1.75,0.4" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 1.1,0.6 L 1.9,0.6" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.4,1.2 L 0.6,1.2" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.25,1.4 L 0.75,1.4" />
+			<svg:path style="stroke:#ffffff;stroke-width:.06px;fill:none" d="M 0.1,1.6 L 0.9,1.6" />
+		</svg:pattern>
+
+
+
+
+		<svg:pattern id="nature-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(1.144425)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.1" d="
+		M0.2,0.1 L1.8,0.9 M2.2,0.9 L3.8,0.1   M4.2,0.1 L5.8,0.9 M6.2,0.9 L7.8,0.1   M8.2,0.1 L9.8,0.9 M10.2,0.9 L11.8,0.1
+		M0.2,1.9 L1.8,1.1 M2.2,1.1 L3.8,1.9   M4.2,1.9 L5.8,1.1 M6.2,1.1 L7.8,1.9   M8.2,1.9 L9.8,1.1 M10.2,1.1 L11.8,1.9
+		M0.2,2.1 L1.8,2.9 M2.2,2.9 L3.8,2.1   M4.2,2.1 L5.8,2.9 M6.2,2.9 L7.8,2.1   M8.2,2.1 L9.8,2.9 M10.2,2.9 L11.8,2.1
+		M0.2,3.9 L1.8,3.1 M2.2,3.1 L3.8,3.9   M4.2,3.9 L5.8,3.1 M6.2,3.1 L7.8,3.9   M8.2,3.9 L9.8,3.1 M10.2,3.1 L11.8,3.9
+		M0.2,4.1 L1.8,4.9 M2.2,4.9 L3.8,4.1   M4.2,4.1 L5.8,4.9 M6.2,4.9 L7.8,4.1   M8.2,4.1 L9.8,4.9 M10.2,4.9 L11.8,4.1
+		M0.2,5.9 L1.8,5.1 M2.2,5.1 L3.8,5.9   M4.2,5.9 L5.8,5.1 M6.2,5.1 L7.8,5.9   M8.2,5.9 L9.8,5.1 M10.2,5.1 L11.8,5.9
+
+		M0.2,6.1 L1.8,6.9 M2.2,6.9 L3.8,6.1   M4.2,6.1 L5.8,6.9 M6.2,6.9 L7.8,6.1   M8.2,6.1 L9.8,6.9 M10.2,6.9 L11.8,6.1
+		M0.2,7.9 L1.8,7.1 M2.2,7.1 L3.8,7.9   M4.2,7.9 L5.8,7.1 M6.2,7.1 L7.8,7.9   M8.2,7.9 L9.8,7.1 M10.2,7.1 L11.8,7.9
+		M0.2,8.1 L1.8,8.9 M2.2,8.9 L3.8,8.1   M4.2,8.1 L5.8,8.9 M6.2,8.9 L7.8,8.1   M8.2,8.1 L9.8,8.9 M10.2,8.9 L11.8,8.1
+		M0.2,9.9 L1.8,9.1 M2.2,9.1 L3.8,9.9   M4.2,9.9 L5.8,9.1 M6.2,9.1 L7.8,9.9   M8.2,9.9 L9.8,9.1 M10.2,9.1 L11.8,9.9
+		M0.2,10.1 L1.8,10.9 M2.2,10.9 L3.8,10.1   M4.2,10.1 L5.8,10.9 M6.2,10.9 L7.8,10.1   M8.2,10.1 L9.8,10.9 M10.2,10.9 L11.8,10.1
+		M0.2,11.9 L1.8,11.1 M2.2,11.1 L3.8,11.9   M4.2,11.9 L5.8,11.1 M6.2,11.1 L7.8,11.9   M8.2,11.9 L9.8,11.1 M10.2,11.1 L11.8,11.9"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.15;stroke-linecap:round;stroke-linejoin:round;" d="
+		M1.2,2.6 L1.2,1.4 L1.8,2.6 L1.8,1.4
+		M2.2,2.1 L2.45,2.1 A 0.25 0.25 0 0 0 2.45,1.4 L2.2,1.4 L2.2,2.6  M2.8,2.6 L2.3,2.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="landscape-reserve-pattern" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" patternTransform="scale(1.5)">
+			<svg:path fill="none" stroke="#c7f1a3" stroke-width="0.05" d="
+		M0.4,0.2 L1.6,0.8 M2.4,0.8 L3.6,0.2   M4.4,0.2 L5.6,0.8 M6.4,0.8 L7.6,0.2   M8.4,0.2 L9.6,0.8 M10.4,0.8 L11.6,0.2
+		M0.4,1.8 L1.6,1.2 M2.4,1.2 L3.6,1.8   M4.4,1.8 L5.6,1.2 M6.4,1.2 L7.6,1.8   M8.4,1.8 L9.6,1.2 M10.4,1.2 L11.6,1.8
+		M0.4,2.2 L1.6,2.8 M2.4,2.8 L3.6,2.2   M4.4,2.2 L5.6,2.8 M6.4,2.8 L7.6,2.2   M8.4,2.2 L9.6,2.8 M10.4,2.8 L11.6,2.2
+		M0.4,3.8 L1.6,3.2 M2.4,3.2 L3.6,3.8   M4.4,3.8 L5.6,3.2 M6.4,3.2 L7.6,3.8   M8.4,3.8 L9.6,3.2 M10.4,3.2 L11.6,3.8
+		M0.4,4.2 L1.6,4.8 M2.4,4.8 L3.6,4.2   M4.4,4.2 L5.6,4.8 M6.4,4.8 L7.6,4.2   M8.4,4.2 L9.6,4.8 M10.4,4.8 L11.6,4.2
+		M0.4,5.8 L1.6,5.2 M2.4,5.2 L3.6,5.8   M4.4,5.8 L5.6,5.2 M6.4,5.2 L7.6,5.8   M8.4,5.8 L9.6,5.2 M10.4,5.2 L11.6,5.8
+
+		M0.4,6.2 L1.6,6.8 M2.4,6.8 L3.6,6.2   M4.4,6.2 L5.6,6.8 M6.4,6.8 L7.6,6.2   M8.4,6.2 L9.6,6.8 M10.4,6.8 L11.6,6.2
+		M0.4,7.8 L1.6,7.2 M2.4,7.2 L3.6,7.8   M4.4,7.8 L5.6,7.2 M6.4,7.2 L7.6,7.8   M8.4,7.8 L9.6,7.2 M10.4,7.2 L11.6,7.8
+		M0.4,8.2 L1.6,8.8 M2.4,8.8 L3.6,8.2   M4.4,8.2 L5.6,8.8 M6.4,8.8 L7.6,8.2   M8.4,8.2 L9.6,8.8 M10.4,8.8 L11.6,8.2
+		M0.4,9.8 L1.6,9.2 M2.4,9.2 L3.6,9.8   M4.4,9.8 L5.6,9.2 M6.4,9.2 L7.6,9.8   M8.4,9.8 L9.6,9.2 M10.4,9.2 L11.6,9.8
+		M0.4,10.2 L1.6,10.8 M2.4,10.8 L3.6,10.2   M4.4,10.2 L5.6,10.8 M6.4,10.8 L7.6,10.2   M8.4,10.2 L9.6,10.8 M10.4,10.8 L11.6,10.2
+		M0.4,11.8 L1.6,11.2 M2.4,11.2 L3.6,11.8   M4.4,11.8 L5.6,11.2 M6.4,11.2 L7.6,11.8   M8.4,11.8 L9.6,11.2 M10.4,11.2 L11.6,11.8"/>
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:round;" d="
+		M5.2,3.4 L5.2,4.6 L5.8,4.6
+		M6.2,4.1 L6.45,4.1 A 0.25 0.25 0 0 0 6.45,3.4 L6.2,3.4 L6.2,4.6  M6.8,4.6 L6.3,4.1 "/>
+		</svg:pattern>
+
+		<svg:pattern id="national-park-pattern" x="0" y="0" width="24" height="24" patternUnits="userSpaceOnUse" patternTransform="scale(1.5)">
+			<svg:path style="fill:none;stroke:#c7f1a3;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.5;" d="
+		M9.2,6.6 L9.2,5.4 L9.8,6.6 L9.8,5.4
+		M10.2,6.1 L10.45,6.1 A 0.25 0.25 0 0 0 10.45,5.4 L10.2,5.4 L10.2,6.6 "/>
+		</svg:pattern>
+
+		<svg:marker fill="none" id="bridge-casing-start" markerHeight="2" markerUnits="strokeWidth" markerWidth="2" orient="auto" refX="1" refY="1" stroke="#707070" stroke-width="0.06px" viewBox="0 0 2 2">
+			<svg:path d="M 1.05,1.45 L 0.7,1.8 M 1.05,0.55 L 0.7, 0.2"/>
+		</svg:marker>
+		<svg:marker fill="none" id="bridge-casing-end" markerHeight="2" markerUnits="strokeWidth" markerWidth="2" orient="auto" refX="1" refY="1" stroke="#707070" stroke-width="0.06px" viewBox="0 0 2 2">
+			<svg:path d="M 0.95,1.45 L 1.3,1.8 M 0.95,0.55 L 1.3,0.2"/>
+		</svg:marker>
+		<svg:marker fill="none" id="marker-gate-locked" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="2px" refY="5px" stroke="#707070" stroke-width="0.4px" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L 1,10 M 3,0 L 3,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="marker-gate-closed" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#707070" stroke-width="0.4px" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L 1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="marker-gate-open" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#707070" stroke-width="0.4px" viewBox="0 0 11 11">
+			<svg:path d="M1,0 L1,1 M1,2 L1,3 M1,4 L1,5 M1,6 L1,7 M1,8 L1,9 M1,10 L1,11"/>
+		</svg:marker>
+		<svg:marker fill="#949494" id="highway-crossing" markerHeight="1px" markerUnits="userSpaceOnUse" markerWidth="0.6px" orient="auto" refX="0.3px" refY="0.5px" viewBox="0 0 0.6 1">
+			<svg:rect x="0" y="0" width="0.6" height="0.2"/>
+			<svg:rect x="0" y="0.4" width="0.6" height="0.2"/>
+			<svg:rect x="0" y="0.8" width="0.6" height="0.2"/>
+		</svg:marker>
+		<svg:marker fill="none" id="noexit-all" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#ff5555" stroke-width="2px" stroke-opacity="0.5" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L 1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="noexit-veh" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#eeaa55" stroke-width="1.75px" stroke-opacity="0.6" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L 1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="noexit-mot" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#dddd55" stroke-width="1.5px" stroke-opacity="0.7" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L 1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="noexit-no" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#55dd55" stroke-width="1.5px" stroke-opacity="0.7" viewBox="0 0 10 10">
+			<svg:path d="M 1,2 L 1,8"/>
+		</svg:marker>
+		<svg:marker fill="none" id="noexit-rail" markerHeight="3px" markerUnits="userSpaceOnUse" markerWidth="3px" orient="auto" refX="1px" refY="5px" stroke="#000000" stroke-width="1.5px" stroke-opacity="0.7" viewBox="0 0 10 10">
+			<svg:path d="M 1,3 L 1,7"/>
+		</svg:marker>
+		<svg:marker fill="none" id="canal-lock" markerHeight="2px" markerUnits="userSpaceOnUse" markerWidth="2px" orient="auto" refX="1px" refY="5px" stroke="#000000" stroke-width="1px" stroke-opacity="1" viewBox="0 0 10 10">
+			<svg:path d="M 1,0 L -2,5 L 1,10"/>
+		</svg:marker>
+		<svg:marker fill="none" id="mountain-pass" markerHeight="12px" markerUnits="userSpaceOnUse" markerWidth="6px" orient="auto" refX="64px" refY="32px" stroke="#000000" stroke-width="0.66px" viewBox="0 0 64 128">
+			<svg:path d="M 1,1 L 16,21 L 112,21 L 127,1"/>
+			<svg:path d="M 1,63 L 16,43 L 112,43 L 127,63"/>
+		</svg:marker>
+	</defs>
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z6.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z6.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z6.xml	(revision 35743)
@@ -0,0 +1,1492 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Tiles@Home Rules File for zoom level 7 -->
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+    minimumMapWidth="1"
+    minimumMapHeight="1"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+    <!-- Select all nodes and ways (unless they have an osmarender:render=no tag) -->
+    <rule e="node|way" k="osmarender:render" v="~|yes">
+
+        <!-- Draw land areas first -->
+        <rule e="way" k="natural" v="land">
+            <area class="natural-land"/>
+        </rule>
+
+        <!-- Landuse -->
+        <!-- at zoom 12 render all landuse in the same colour so it doesn't look too psychedelic -->
+        <rule e="way" k="landuse" v="residential|farmyard|retail|industrial|commercial|cemetery">
+            <area class="landuse-all"/>
+        </rule>
+
+        <!-- Natural features -->
+        <rule e="way" k="natural" v="coastline">
+            <area class="natural-coastline"/>
+        </rule>
+        <rule e="way" k="landuse|natural" v="forest|wood">
+            <area class="landuse-wood"/>
+        </rule>
+        <rule e="way" k="landuse" v="field|village_green|meadow">
+            <area class="landuse-field"/>
+        </rule>
+        <rule e="way" k="amenity" v="kindergarten|school|college|university">
+            <area class="landuse-all"/>
+        </rule>
+        <rule e="way" k="leisure" v="park|playing_fields|garden|pitch|golf_course|common|green">
+            <area class="leisure-park"/>
+        </rule>
+        <rule e="way" k="leisure" v="stadium|sports_centre">
+            <area class="leisure-stadium"/>
+        </rule>
+        <rule e="way" k="leisure" v="track">
+            <area class="leisure-track"/>
+        </rule>
+
+        <!-- Airports and runways -->
+        <rule e="way" k="aeroway" v="apron">
+            <area class="aeroway-apron"/>
+        </rule>
+        <rule e="way" k="landuse" v="runway">
+            <rule e="way" k="use_status" v="~">
+                <area class="landuse-runway"/>
+            </rule>
+            <rule e="way" k="use_status" v="disused">
+                <area class="landuse-runway-disused"/>
+            </rule>
+            <rule e="way" k="use_status" v="dismantled">
+                <area class="landuse-runway-dismantled"/>
+            </rule>
+        </rule>
+
+        <!-- Raceways and racetracks -->
+        <rule e="way" k="landuse" v="raceway">
+            <rule e="way" k="use_status" v="~">
+                <area class="landuse-raceway"/>
+            </rule>
+            <rule e="way" k="use_status" v="disused">
+                <area class="landuse-raceway-disused"/>
+            </rule>
+            <rule e="way" k="use_status" v="dismantled">
+                <area class="landuse-raceway-dismantled"/>
+            </rule>
+        </rule>
+
+        <!-- Man-made areas -->
+        <rule e="way" k="sport" v="*">
+            <area class="sport"/>
+        </rule>
+        <rule e="way" k="amenity" v="parking">
+            <area class="amenity-parking"/>
+        </rule>
+        <rule e="way" k="tourism" v="attraction">
+            <area class="tourism-attraction"/>
+        </rule>
+        <rule e="way" k="aeroway" v="terminal">
+            <area class="building-block"/>
+        </rule>
+        <rule e="way" k="building" v="*">
+            <area class="building-block"/>
+        </rule>
+
+        <!-- Waterways, lakes and ponds -->
+        <rule e="way" k="waterway" v="riverbank">
+            <area class="waterway-riverbank"/>
+        </rule>
+        <rule e="way" k="waterway" v="river">
+            <line class="waterway-river-casing"/>
+        </rule>
+        <rule e="way" k="waterway" v="stream">
+            <line class="waterway-stream-casing"/>
+        </rule>
+        <rule e="way" k="waterway" v="canal">
+            <line class="waterway-canal-casing"/>
+        </rule>
+        <rule e="way" k="waterway" v="drain">
+            <line class="waterway-drain-casing"/>
+        </rule>
+        <rule e="way" k="waterway" v="river">
+            <line class="waterway-river-core"/>
+        </rule>
+        <rule e="way" k="waterway" v="stream">
+            <line class="waterway-stream-core"/>
+        </rule>
+        <rule e="way" k="waterway" v="canal">
+            <line class="waterway-canal-core"/>
+        </rule>
+        <rule e="way" k="waterway" v="drain">
+            <line class="waterway-drain-core"/>
+        </rule>
+        <rule e="way" k="waterway" v="dock">
+            <area class="natural-water"/>
+        </rule>
+        <rule e="way" k="natural" v="water|pond|lake|bay">
+            <area class="natural-water"/>
+        </rule>
+        <rule e="way" k="landuse" v="reservoir">
+            <area class="natural-water"/>
+        </rule>
+        <rule e="way" k="landuse" v="basin">
+            <area class="natural-water"/>
+        </rule>
+
+        <!-- Non-physical boundaries -->
+        <rule e="way" k="boundary" v="administrative">
+            <rule e="way" k="border_type" v="state">
+                <line class="boundary boundary-administrative-state-casing"/>
+                <line class="boundary boundary-administrative-state-core"/>
+            </rule>
+        </rule>
+
+        <!-- Highway casings -->
+        <rule e="way" k="tunnel" v="~|no|false">
+            <rule e="way" k="highway" v="raceway">
+                <rule e="way" k="use_status" v="~">
+                    <line class="highway-raceway-casing"/>
+                </rule>
+                <rule e="way" k="use_status" v="disused">
+                    <line class="highway-raceway-casing-disused"/>
+                </rule>
+                <rule e="way" k="use_status" v="dismantled">
+                    <line class="highway-raceway-casing-dismantled"/>
+                </rule>
+            </rule>
+            <rule e="way" k="highway" v="pedestrian">
+                <line class="highway-casing highway-pedestrian-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="track">
+                <line class="highway-casing highway-track-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="unclassified|residential|minor|road">
+                <line class="highway-casing highway-unclassified-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="unsurfaced">
+                <line class="highway-casing highway-unsurfaced-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="service">
+                <line class="highway-casing highway-service-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="tertiary">
+                <line class="highway-casing highway-tertiary-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="secondary">
+                <line class="highway-casing highway-secondary-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="primary|primary_link">
+                <line class="highway-casing highway-primary-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="trunk|trunk_link">
+                <line class="highway-casing highway-trunk-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="motorway_link">
+                <line class="highway-casing highway-motorway-link-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="motorway">
+                <line class="highway-casing highway-motorway-casing"/>
+            </rule>
+        </rule>
+
+        <!-- Paths in tunnels -->
+        <rule e="way" k="tunnel" v="yes|true">
+            <rule e="way" k="highway" v="footway|steps|cycleway|bridleway|byway">
+                <tunnel width="0" class="highway-tunnel-narrow"/>
+            </rule>
+        </rule>
+
+        <!-- Paths not in tunnels -->
+        <rule e="way" k="tunnel" v="~|no|false">
+            <rule e="way" k="highway" v="footway|steps">
+                <line class="highway-core highway-footway"/>
+            </rule>
+            <rule e="way" k="highway" v="steps">
+                <line class="highway-core highway-steps"/>
+            </rule>
+            <rule e="way" k="highway" v="cycleway">
+                <line class="highway-core highway-cycleway"/>
+            </rule>
+            <rule e="way" k="highway" v="bridleway">
+                <line class="highway-core highway-bridleway"/>
+            </rule>
+            <rule e="way" k="highway" v="byway">
+                <line class="highway-core highway-byway"/>
+            </rule>
+        </rule>
+
+        <!-- Highway cores (not in tunnel) -->
+        <rule e="way" k="tunnel" v="~|false|no">
+            <addclass e="way" k="bridge" v="yes|true" class="round">
+                <rule e="way" k="highway" v="raceway">
+                    <rule e="way" k="use_status" v="~">
+                        <line class="highway-raceway-core"/>
+                    </rule>
+                    <rule e="way" k="use_status" v="disused">
+                        <line class="highway-raceway-core-disused"/>
+                    </rule>
+                    <rule e="way" k="use_status" v="dismantled">
+                        <line class="highway-raceway-core-dismantled"/>
+                    </rule>
+                </rule>
+                <rule e="way" k="highway" v="pedestrian">
+                    <line class="highway-core highway-pedestrian-core"/>
+                </rule>
+                <rule e="way" k="highway" v="track">
+                    <line class="highway-core highway-track-core"/>
+                </rule>
+                <rule e="way" k="highway" v="unclassified|residential|minor">
+                    <line class="highway-core highway-unclassified-core"/>
+                </rule>
+                <rule e="way" k="highway" v="road">
+                    <line class="highway-core highway-road-core"/>
+                </rule>
+                <rule e="way" k="highway" v="unsurfaced">
+                    <line class="highway-core highway-unsurfaced-core"/>
+                </rule>
+                <rule e="way" k="highway" v="service">
+                    <line class="highway-core highway-service-core"/>
+                </rule>
+                <rule e="way" k="highway" v="tertiary">
+                    <line class="highway-core highway-tertiary-core"/>
+                </rule>
+                <rule e="way" k="highway" v="secondary">
+                    <line class="highway-core highway-secondary-core"/>
+                </rule>
+                <rule e="way" k="highway" v="primary|primary_link">
+                    <line class="highway-core highway-primary-core"/>
+                </rule>
+                <rule e="way" k="highway" v="trunk|trunk_link">
+                    <line class="highway-core highway-trunk-core"/>
+                </rule>
+                <rule e="way" k="highway" v="motorway_link">
+                    <line class="highway-core highway-motorway-link-core"/>
+                </rule>
+                <rule e="way" k="highway" v="motorway">
+                    <line class="highway-core highway-motorway-core"/>
+                </rule>
+            </addclass>
+        </rule>
+
+        <!-- Highway cores in tunnels -->
+        <rule e="way" k="tunnel" v="true|yes">
+            <rule e="way" k="highway" v="pedestrian">
+                <tunnel width="2" class="highway-core highway-pedestrian"/>
+            </rule>
+            <rule e="way" k="highway" v="track">
+                <tunnel width="2" class="highway-core highway-track"/>
+            </rule>
+            <rule e="way" k="highway" v="unclassified|residential|minor">
+                <tunnel width="2" class="highway-core highway-unclassified"/>
+            </rule>
+            <rule e="way" k="highway" v="road">
+                <tunnel width="2" class="highway-core highway-road"/>
+            </rule>
+            <rule e="way" k="highway" v="unsurfaced">
+                <tunnel width="2" class="highway-core highway-unsurfaced"/>
+            </rule>
+            <rule e="way" k="highway" v="service">
+                <tunnel width="1" class="highway-core highway-service"/>
+            </rule>
+            <rule e="way" k="highway" v="tertiary">
+                <tunnel width="2" class="highway-core highway-tertiary"/>
+            </rule>
+            <rule e="way" k="highway" v="secondary">
+                <tunnel width="3" class="highway-core highway-secondary"/>
+            </rule>
+            <rule e="way" k="highway" v="primary|primary_link">
+                <tunnel width="3" class="highway-core highway-primary"/>
+            </rule>
+            <rule e="way" k="highway" v="trunk|trunk_link">
+                <tunnel width="4" class="highway-core highway-trunk"/>
+            </rule>
+            <rule e="way" k="highway" v="motorway|motorway_link">
+                <tunnel width="4" class="highway-core highway-motorway"/>
+            </rule>
+        </rule>
+
+        <rule e="node" k="highway" v="mini_roundabout">
+            <circle r="0.8px" class="mini-roundabout-core"/>
+            <circle r="0.2px" class="mini-roundabout-dot"/>
+        </rule>
+
+        <!-- highway motorway-junctions -->
+        <rule e="node" k="highway" v="motorway_junction">
+            <circle r="7" class="highway-motorway-junction"/>
+            <text k="name" class="highway-motorway-junction-caption" dy="-2px"/>
+            <text k="ref" class="highway-motorway-junction-caption" dy="+5px"/>
+        </rule>
+
+        <!-- Railway lines -->
+        <!-- not in tunnel -->
+        <rule e="way" k="tunnel" v="~|no|false">
+            <rule e="way" k="railway" v="rail">
+                <line class="railway-rail"/>
+            </rule>
+            <rule e="way" k="railway" v="light_rail|tram">
+                <line class="railway-light-rail"/>
+            </rule>
+            <rule e="way" k="railway" v="subway">
+                <line class="railway-subway-rail"/>
+            </rule>
+            <rule e="way" k="railway" v="preserved">
+                <line class="railway-preserved"/>
+            </rule>
+        </rule>
+
+        <!-- in tunnel -->
+        <rule e="way" k="tunnel" v="true|yes">
+            <rule e="way" k="railway" v="rail">
+                <tunnel width="1" class="railway-rail"/>
+            </rule>
+            <rule e="way" k="railway" v="light_rail|subway|tram">
+                <tunnel width="0" class="railway-tunnel-narrow"/>
+            </rule>
+            <rule e="way" k="railway" v="preserved">
+                <tunnel width="1" class="railway-preserved"/>
+            </rule>
+        </rule>
+
+        <!-- Airfields and airports -->
+        <rule e="way" k="aeroway" v="runway">
+            <line class="aeroway-runway-casing"/>
+        </rule>
+        <rule e="way" k="aeroway" v="taxiway">
+            <line class="aeroway-taxiway-casing"/>
+        </rule>
+        <rule e="way" k="aeroway" v="runway">
+            <line class="aeroway-runway-core"/>
+        </rule>
+        <rule e="way" k="aeroway" v="taxiway">
+            <line class="aeroway-taxiway-core"/>
+        </rule>
+        <rule e="node" k="aeroway" v="airport">
+            <symbol xlink:href="#airport" width="40px" height="40px" transform="translate(-20,-20)"/>
+        </rule>
+
+        <!-- Non-physical routes -->
+        <rule e="way" k="route" v="ferry">
+            <line class="route-ferry"/>
+        </rule>
+
+        <!-- Place names  -->
+        <!-- z12 and below have only limited names
+        <rule e="node" k="place" v="continent">
+            <text k="name" class='continent-caption' />
+        </rule>
+        <rule e="node" k="place" v="country">
+            <text k="name" class='country-caption' />
+        </rule>
+        <rule e="node" k="place" v="state">
+            <text k="name" class='state-caption' />
+        </rule>
+        <rule e="node" k="place" v="region">
+            <text k="name" class='region-caption' />
+        </rule>
+        -->
+        <rule k="osmarender:renderName" v="~|yes">
+            <rule e="node" k="place" v="county">
+                <text k="name" class="county-caption"/>
+            </rule>
+            <rule e="node" k="place" v="city">
+                <text k="name" class="city-caption"/>
+            </rule>
+            <rule e="node" k="place" v="town">
+                <text k="name" class="town-caption"/>
+            </rule>
+        </rule>
+    </rule>
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+        <style xmlns="http://www.w3.org/2000/svg" id="styles" type="text/css">
+            .debug {
+                stroke-width: 0.1px;
+                stroke-linecap: round;
+                stroke: gray;
+                /* marker-end: url(#segment-direction); */
+            }
+
+            .error {
+                stroke-width: 2px;
+                stroke-linecap: round;
+                stroke: red;
+            }
+
+            .untagged-segments {
+                stroke-width: 0.5px;
+                stroke-linejoin: butt;
+                stroke-linecap: butt;
+                stroke: #e0e0e0;
+                stroke-dasharray: 0.5,0.5;
+            }
+
+            /* Bridge casing */
+            .bridge-casing-35 {
+                stroke-width: 24px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-30 {
+                stroke-width: 16px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-25 {
+                stroke-width: 10px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-20 {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-15 {
+                stroke-width: 1.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-10 {
+                stroke-width: 1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+
+            /* Bridge core */
+            .bridge-core-35 {
+                stroke-width: 22;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-30 {
+                stroke-width: 15px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-25 {
+                stroke-width: 9px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-20 {
+                stroke-width: 1.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-15 {
+                stroke-width: 1.25px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-10 {
+                stroke-width: 0.75px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+
+            /* Tunnels */
+            .tunnel-casing {
+                stroke-width: 2px;
+                stroke-dasharray: 0.01,100000;
+                stroke: #222222;
+                fill: none;
+            }
+
+            /* Highways - generic style */
+            .highway-casing {
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+            .highway-core {
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+            .highway-motorway-junction {
+            fill: yellow;
+            stroke: #4D5D73;
+            stroke-width: 3px;
+            }
+
+            .highway-motorway-junction-caption {
+            fill: black;
+            stroke: blue;
+            stroke-width: 0.2px;
+            font-family: "DejaVu Sans",sans-serif;
+            font-size: 10px;
+            font-weight: bold;
+            display: none;
+            }
+
+            .highway-ref {
+                fill: #666666;
+                stroke: white;
+                font-family: "DejaVu Sans",sans-serif;
+                font-weight: normal;
+            }
+
+            .highway-name {
+                fill: black;
+                font-family: "DejaVu Sans",sans-serif;
+                font-weight: normal;
+                stroke: white;
+             }
+
+
+            /* Highways - street specific style */
+            .highway-motorway-casing {
+                stroke-width: 22px;
+                stroke: #222222;
+            }
+
+            .highway-motorway-core {
+                stroke-width: 20px;
+                stroke: #809BC0;
+            }
+
+            .highway-motorway-link-casing {
+                stroke-width: 9px;
+                stroke: #222222;
+            }
+
+            .highway-motorway-link-core {
+                stroke-width: 8.5px;
+                stroke: #809BC0;
+            }
+
+            .highway-trunk-casing {
+                stroke-width: 18px;
+                stroke: #222222;
+            }
+
+            .highway-trunk-core {
+                stroke-width: 16px;
+                stroke: #7fc97f;
+            }
+
+            .highway-primary-casing {
+                stroke-width: 14px;
+                stroke: #222222;
+            }
+
+            .highway-primary-core {
+                stroke-width: 13px;
+                stroke: #e46d71;
+            }
+
+            .highway-secondary-casing {
+                stroke-width: 12px;
+                stroke: #222222;
+            }
+
+            .highway-secondary-core {
+                stroke-width: 11px;
+                stroke: #FDBF6F;
+            }
+
+            .highway-tertiary-casing {
+                stroke-width: 5px;
+                stroke: #222222;
+            }
+            
+            .highway-tertiary-core {
+                stroke-width: 4.75px;
+                stroke: #f7f496;
+            }
+
+            .highway-unclassified-casing {
+                stroke-width: 5px;
+                stroke: #c0c0c0;
+            }
+
+            .highway-unclassified-core {
+                stroke-width: 1.2px;
+                stroke: #ffffff;
+            }
+
+            .highway-road-core {
+                stroke-width: 1.2px;
+                stroke: #d0d0d0;
+            }
+
+            .highway-unsurfaced-casing {
+                stroke-width: 1.5px;
+                stroke: #222222;
+                stroke-dasharray: 1px, .5px;
+            }
+
+            .highway-unsurfaced-core {
+                stroke-width: 1.2px;
+                stroke: #ffffff;
+            }
+
+            .highway-track-casing {
+                stroke-width: 1.5px;
+                stroke: #d79331;
+            }
+
+            .highway-track-core {
+                stroke-width: 1.2px;
+                stroke: #ffffff;
+            }
+
+            .highway-pedestrian-casing {
+                stroke-width: 1.5px;
+                stroke: #aaaaaa;
+            }
+
+            .highway-pedestrian-core {
+                stroke-width: 1.2px;
+                stroke: #eeeeee;
+            }
+
+            .highway-service-casing {
+                stroke-width: 0.7px;
+                stroke: #222222;
+            }
+
+            .highway-service-core {
+                stroke-width: 0.4px;
+                stroke: #ffffff;
+            }
+
+            .highway-bridleway {
+                stroke-width: 1px;
+                stroke: #70b971;
+            }
+
+            .highway-byway {
+                stroke-width: 1px;
+                stroke: #ef7771;
+            }
+
+            .highway-cycleway {
+                stroke-width: 1px;
+                stroke: #008102;
+            }
+
+            .highway-footway {
+                stroke-width: 0.5px;
+                stroke: #d79331;
+            }
+
+            .highway-steps {
+                stroke-width: 0.5px;
+                stroke: #707070;
+                stroke-dasharray: 0.1px, 0.3px;
+            }
+
+            .highway-tunnel-narrow {
+                stroke-width: 0.1px;
+                stroke-dasharray: 0.2,0.2;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .round {
+                stroke-linecap: round;
+            }
+
+
+            /* Mini roundabouts */
+            .mini-roundabout-casing {
+                fill: #222222;
+                stroke: #222222;
+            }
+
+            .mini-roundabout-core {
+                stroke: #ffffff;
+                fill: #ffffff;
+            }
+
+            .mini-roundabout-dot {
+                stroke: none;
+                fill: #222222;
+            }
+
+
+            /* Aeroways */
+            .aeroway-apron {
+                stroke-width: 0.3px;
+                stroke: none;
+                fill: #f0f0f0;
+            }
+
+            .aeroway-taxiway-core {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #d4dcbd;
+                fill: none;
+            }
+
+            .aeroway-taxiway-casing {
+                stroke-width: 3px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .aeroway-runway-core {
+                stroke-width: 5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #d4dcbd;
+                fill: none;
+            }
+
+            .aeroway-runway-casing {
+                stroke-width: 7px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .aeroway-aerodrome-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 6px;
+                font-weight: bold;
+            }
+
+            .aeroway-airport-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                font-weight: bold;
+            }
+
+
+            /* Waterways */
+            .waterway-riverbank {
+                fill: #b5d6f1;
+                stroke: #aaaaaa;
+                stroke-width: 0px;
+            }
+
+            .waterway-river-casing {
+                stroke-width: 10px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #aaaaaa;
+                fill: none;
+            }
+
+            .waterway-river-core {
+                stroke-width: 8px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .waterway-stream-casing {
+                stroke-width: 0.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #aaaaaa;
+                fill: none;
+            }
+
+            .waterway-stream-core {
+                stroke-width: 0.4px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .waterway-canal-casing {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #aaaaaa;
+                fill: none;
+            }
+
+            .waterway-canal-core {
+                stroke-width: 1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .waterway-drain-casing {
+                stroke-width: 1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #aaaaaa;
+                fill: none;
+            }
+
+            .waterway-drain-core {
+                stroke-width: 0.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .railway-rail {
+                stroke-width: 14px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #666666;
+                fill: none;
+            }
+
+            .railway-preserved {
+                stroke-width: 8px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #666666;
+                fill: none;
+            }
+
+            .railway-light-rail {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #666666;
+                fill: none;
+            }
+
+            .railway-tunnel-narrow {
+                stroke-width: 1px;
+                stroke-dasharray: 1,2;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .railway-subway-rail {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #666666;
+                fill: none;
+                stroke-dasharray: 3px, 1px;
+                stroke-dashoffset: 0;
+                stroke-opacity: 1;
+            }
+
+            /* Ferry */
+            .route-ferry {
+                stroke-width: 2px;
+                stroke-dasharray: 3,2;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #777777;
+                fill: none;
+            }
+
+
+            /* Place names */
+            .continent-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.6px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 2000px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .country-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.5px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 1800px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .state-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.5px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 1600px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .region-caption {
+            display: none;
+                fill: black;
+                stroke: white;
+                stroke-width: 0.4px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 140px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .county-caption {
+            display: none;
+                fill: black;
+                stroke: white;
+                stroke-width: 0.4px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 120px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .city-caption {
+                fill: black;
+                stroke: none;
+                stroke-width: 0.4px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 2000px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .town-caption {
+            display: none;
+                fill: black;
+                stroke: none;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 1000px;
+                opacity: 0.7;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .village-caption {
+            display: none;
+                fill: black;
+                stroke: none;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 60px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .suburb-caption {
+                fill: black;
+                stroke: none;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 6px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .church-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 5px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+
+            /* Natural */
+            .natural-water {
+                fill: #b5d6f1;
+                stroke: #aaaaaa;
+                stroke-width: 0px;
+            }
+
+            .natural-coastline {
+                fill: #b5d6f1;
+                stroke: #b5d6f1;
+                stroke-width: 1.5px;
+            }
+
+            .natural-glacier {
+                fill: #fafaff;
+                stroke: lightblue;
+                stroke-width: 1.5px;
+            }
+
+            .natural-land {
+                fill: #ffffff;
+                stroke: #e0e0e0;
+                stroke-width: 0.1px;
+            }
+
+
+            /* Landuse */
+            .landuse-all {
+                stroke: none;
+                fill: #f0f0f0;
+            }
+
+            .landuse-wood {
+                fill: #72bf81;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-cemetery {
+                fill: #bde3cb;
+                stroke: #eeeeee;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-field {
+                fill: #bde3cb;
+                stroke: #6fc13d;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-residential {
+                stroke: none;
+                fill: #f0f0f0;
+            }
+
+            .landuse-retail {
+                stroke: none;
+                fill: #ffebeb;
+            }
+
+            .landuse-industrial {
+                fill: #ecd8ff;
+                stroke: #eeeeee;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-commercial {
+                fill: #fcffc9;
+                stroke: #eeeeee;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-retail {
+                fill: #ffebeb;
+                stroke: #eeeeee;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-runway {
+              stroke-width: 0.3px;
+              stroke: #808080;
+              fill: #d4dcbd;
+              }
+
+            .landuse-runway-disused {
+              stroke-width: 0.3px;
+              stroke: #808080;
+              fill: #d4dcbd;
+              stroke-dasharray: 1px, 1px;
+              }
+
+            .landuse-runway-dismantled {
+              stroke-width: 0.3px;
+              stroke: #808080;
+              fill: #fcffef;
+              stroke-dasharray: 0.3px, 1.7px;
+              opacity: 0.5;
+              }
+
+
+            /* Leisure */
+            .leisure-park {
+                fill: #c7f1a3;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .leisure-stadium {
+                fill: #bde3cb;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .leisure-track {
+                fill: #bde3cb;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .sport {
+                fill: #bde3cb;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .amenity-parking {
+                fill: #f7efb7;
+                stroke: #e9dd72;
+                stroke-width: 0.2px;
+            }
+
+
+
+            /* Non-physical boundaries */
+            .boundary {
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+            .boundary-administrative-state-casing {
+                stroke-width: 80px;
+                stroke: #ffff00;
+                opacity: 0.5;
+            }
+
+            .boundary-administrative-state-core {
+                stroke-width: 16px;
+                stroke: #f9574b;
+                stroke-dasharray: 80, 16, 16, 16;
+            }
+
+
+
+            /* Racetracks */
+            .highway-raceway-casing {
+              stroke-width: 2px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke: #101010;
+              }
+
+            .highway-raceway-casing-disused {
+              stroke-width: 2px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke: #808080;
+              stroke-dasharray: 1px, 1px;
+              }
+
+            .highway-raceway-casing-dismantled {
+              stroke-width: 2px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke: #808080;
+              stroke-dasharray: 0.3px, 1.7px;
+              opacity: 0.5;
+              }
+
+            .highway-raceway-core {
+              stroke-width: 1.5px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke: #f0f0f0;
+              }
+
+            .highway-raceway-core-disused {
+              stroke-width: 1.5px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke-dasharray: 1px, 1px;
+              stroke: #f7f7f7;
+              }
+
+            .highway-raceway-core-dismantled {
+              stroke-width: 1.5px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke: #fbfbfb;
+              stroke-dasharray: 0.3px, 1.7px;
+              opacity: 0.5;
+              }
+            
+            .landuse-raceway {
+              stroke-width: 0.3px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: #f0f0f0;
+              stroke: #101010;
+              }
+
+            .landuse-raceway-disused {
+              stroke-width: 0.3px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: #f7f7f7;
+              stroke: #808080;
+              stroke-dasharray: 1px, 1px;
+              }
+
+            .landuse-raceway-dismantled {
+              stroke-width: 0.3px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: #fbfbfb;
+              stroke: #808080;
+              stroke-dasharray: 0.3px, 1.7px;
+              opacity: 0.5;
+              }
+
+            /* Tourism */
+            .tourism-attraction {
+                fill: #f2caea;
+                stroke: #f124cb;
+                stroke-width: 0px;
+            }
+
+            /* Building */
+            .building {
+                fill: #dddddd;
+                stroke: #cccccc;
+                stroke-width: 0.2px;
+            }
+
+            .building-block {
+                fill: #F3D6B6;
+                stroke: #6a5a8e;
+                stroke-width: 0.2px;
+            }
+
+            .building-residential {
+                fill: #c95e2a;
+                stroke: #80290a;
+                stroke-width: 0.2px;
+            }
+
+
+            /* Map decoration */
+            .map-grid-line {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 0.1px;
+                stroke-opacity: 0.5;
+            }
+
+            .map-border-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 3px;
+                stroke-miterlimit: 4;
+                stroke-dasharray: none;
+                stroke-opacity: 1;
+                stroke-linecap: round;
+            }
+
+            .map-border-core {
+                fill: none;
+                fill-opacity: 1;
+                fill-rule: nonzero;
+                stroke: #ffffff;
+                stroke-width: 2px;
+                stroke-miterlimit: 0;
+                stroke-dashoffset: -0.5px;
+                stroke-opacity: 1;
+            }
+
+            .map-scale-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 4px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-core {
+                fill: none;
+                stroke: #ffffff;
+                stroke-width: 3px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-bookend {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 1px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-caption {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                fill: #8080ff;
+            }
+
+            <!-- map background must be the same for all zooms or else empty tile detection will fail -->
+            .map-background {
+                fill: #f8f8f8;
+                stroke: none;
+            }
+
+            .map-title {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 20px;
+                text-anchor: middle;
+                fill: black;
+            }
+
+            .map-title-background {
+                fill: white;
+            }
+
+            .map-marginalia-background {
+                fill: white;
+            }
+        </style>
+
+        <svg:pattern id="pedestrian-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse">
+            <svg:path d="M0,10 L10,0" fill="none" stroke="red" width="1"/>
+        </svg:pattern>
+
+        <svg:symbol id="church" viewBox="0 0 5 10" fill="#000000">
+            <svg:path d="M 0 10 L 0 5 L 5 5 L 5 10 z M 0 2 L 5 2 L 5 3 L 0 3 z M 2 0 L 2 5 L 3 5 L 3 0 z"/>
+        </svg:symbol>
+        <svg:symbol id="mosque" viewBox="0 0 120 120" fill="#00ab00">
+            <svg:path d="M 4,60 C 11,75 60,107 84,73 C 103,40 76,22 50,7 C 76,6 130,35 103,84 C 72,124 8,97 4,60 z M 35,52 C 35,52 20,55 20,55 L 30,43 C 30,43 21,30 21,30 L 35,35 L 45,23 L 45,38 L 60,45 L 45,50 L 45,65 L 35,52 z"/>
+        </svg:symbol>
+        <svg:symbol id="synagogue" viewBox="0 0 20 20" stroke="#0000d0" fill="none" stroke-width="1.5px" stroke-linecap="butt" stroke-linejoin="miter">
+            <svg:path d="M 10,0 L 20,15 L 0,15 L 10,0 z M 10,20 L 0,5 L 20,5 L 10,20 z"/>
+        </svg:symbol>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol id="campSite" viewBox="0 0 100 100" fill="#0000dc" fill-opacity="1">
+            <svg:path d="M 35,0 L 50,24 L 65,0 L 80,0 L 60,35 L 100,100 L 0,100 L 40,35 L 20,0 L 35,0 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="gate" viewBox="0 0 10 10" fill="none" stroke-width="0.8px" stroke="#000000">
+            <!--            <svg:path d="M 0,7 L 10,7 M 0,6 L 10,6 M 0,5 L 10,5 M 0,4 L 10,4 M 0,3 L 10,3 M 0,7 L 0,3 M 10,7 L 10,3 M 0,7 L 10,3" />-->
+            <svg:path d="M 0,7 L 10,7 M 0,3 L 10,3 M 0,7 L 0,3 M 10,7 L 10,3 M 0,7 L 10,3"/>
+        </svg:symbol>
+
+        <svg:symbol id="airport" viewBox="0 0 10 10" fill="black" fill-opacity="1" fill-rule="evenodd" stroke="none">
+            <svg:path d="M 9.2,5 C 9.2,4.5 9.8,3.2 10,3 L 9,3 L 8,4 L 5.5,4 L 8,0 L 6,0 L 3,4 C 2,4 1,4.2 0.5,4.5 C 0,5 0,5 0.5,5.5 C 1,5.8 2,6 3,6 L 6,10 L 8,10 L 5.5,6 L 7.8,6 L 9,7 L 10,7 C 9.8,6.8 9.2,5.5 9.2,5 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="power-tower" viewBox="0 0 10 10" stroke-width="1px" stroke="#cccccc">
+            <svg:path d="M 0 0 L 10 10 M 0 10 L 10 0"/>
+        </svg:symbol>
+
+        <svg:symbol id="bar" viewBox="0 0 100 100" fill="#000000" stroke-width="0.4px" stroke="#000000">
+            <svg:path d="M 16.8725 9.81954 L 96.3004 9.81954 L 59.4774 46.3164 L 59.4774 94.9796 C 59.575 94.9796 57.9896 100.587 84.2324 102.6 L 84.2324 103.99 L 31.0262 103.99 L 31.0275 102.6 C 56.4414 100.587 54.9906 94.9796 54.9906 94.9796 L 54.9906 46.3164 L 16.8725 9.81954 z "/>
+        </svg:symbol>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol id="petrolStation" viewBox="0 0 100 100" fill="#000000" fill-rule="evenodd" stroke-width="3px">
+            <svg:path d="M 22.7283 108.087 C 4.26832 107.546 23.6818 43.3596 32.6686 21.0597 C 33.8491 17.0245 60.28 18.4952 60.0056 19.8857 C 59.0889 25.9148 54.8979 23.2429 52.0142 26.8579 L 51.7464 36.8066 C 48.6085 40.8144 40.2357 34.4677 38.078 42.8773 C 31.3694 92.5727 45.0689 108.819 22.7283 108.087 z M 85.3122 9.52799 L 29.1766 9.52847 C 28.4855 17.5896 -11.559 113.573 22.9292 113.284 C 48.5214 113.073 39.5312 104.08 42.6984 51.03 C 41.8513 49.3228 50.871 48.6585 50.8739 51.4448 L 51.0453 116.604 L 97.6129 116.188 L 97.6129 26.544 C 96.0669 24.2073 93.899 25.2958 90.584 22.394 C 87.7907 19.4131 92.2353 9.52799 85.3122 9.52799 z M 64.0766 35.3236 C 61.5443 36.7258 61.5443 45.2814 64.0766 46.6836 C 68.3819 49.0684 80.2848 49.0684 84.5902 46.6836 C 87.1225 45.2814 87.1225 36.7258 84.5902 35.3236 C 80.2848 32.9393 68.3819 32.9393 64.0766 35.3236 z "/>
+        </svg:symbol>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol id="golfCourse" viewBox="0 0 100 100" fill="#000000" fill-rule="evenodd" fill-opacity="1" stroke="none">
+            <svg:path d="M 61.6421 25.2514 C 61.6421 25.2514 48.7712 34.4528 48.1727 38.766 C 47.574 43.0787 56.5537 48.8295 56.8529 52.2802 C 57.1522 55.7303 56.5537 87.3594 56.5537 87.3594 C 56.5537 87.3594 37.3978 104.036 36.7993 105.474 C 36.2006 106.912 41.5878 117.55 43.9826 117.263 C 46.3769 116.975 43.3841 109.787 44.2819 108.349 C 45.1798 106.912 64.0363 92.5353 65.2335 90.5221 C 65.5327 91.0979 65.8321 76.7208 65.5327 76.7208 L 66.7305 76.7208 L 66.1319 91.0979 C 66.1319 91.0979 59.2473 108.349 60.1451 113.237 C 60.1451 115.824 70.6212 122.15 72.1176 121 C 73.6145 119.85 68.5261 115.536 68.8254 112.375 C 67.6283 109.212 73.016 97.4233 73.3153 94.2605 C 73.6145 91.0979 73.9138 56.3053 72.7167 51.9927 C 72.7161 48.542 69.424 42.5037 67.9276 40.2035 C 67.6283 37.9029 65.8326 31.2897 65.8326 31.2897 C 65.8326 31.2897 59.547 39.341 59.5465 39.341 C 58.0501 37.9035 68.2268 28.702 68.2268 25.8268 C 68.2268 22.9513 49.9689 9.72452 49.9689 9.72452 C 49.9689 9.72452 25.126 63.2064 25.4254 65.5065 C 25.7246 67.8065 29.9146 72.9824 32.908 70.6823 C 35.9009 68.3822 27.8197 62.9194 27.8197 62.9194 L 49.3703 14.6122 L 52.6624 18.3506 L 58.3494 18.638 L 58.0501 19.5005 C 58.0501 19.5005 51.7645 18.9255 50.5675 19.788 C 49.3703 20.6506 47.574 22.0887 47.574 25.5388 C 47.574 28.9896 52.0638 30.4271 53.5603 30.7146 L 60.8936 24.6764 L 61.6421 25.2514 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="slipway" viewBox="0 0 50 45" fill="#0087ff" stroke="none" fill-opacity="0.7">
+            <svg:path d="M 45,33 L 45,45 L 2,45 C 2,45 45,33 45,33 z M 0,35 L 43,22 L 43,26 C 43,26 37,32 26,36 C 15,40 0,35 0,35 z M 3,32 C 3,32 13,0 13,0 L 22,26 L 3,32 z M 16,0 L 42,20 L 25,25 L 16,0 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="pub" viewBox="0 0 6 9" stroke="none">
+            <svg:path fill="#aa5605" d="M 1.2,9 C 1.2,9 1,3 0.3,1.7 L 5.7,1.7 C 5,3 4.8,9 4.8,9"/>
+            <svg:path fill="#ffe680" d="M 5.7,1.7 L 0.3,1.7 C 0,1 0,1 0,0 L 6,0 C 6,1 6,1 5.7,1.7 z"/>
+        </svg:symbol>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol id="hotel" viewBox="0 0 90 90" fill="black" fill-opacity="1" stroke="black" stroke-width="1px" stroke-miterlimit="4">
+            <svg:path d="M 0,60 C 0,65 10,65 10,60 L 10,50 L 35,70 L 35,85 C 35,90 45,90 45,85 L 45,70 L 75,70 L 75,85 C 75,90 85,90 85,85 L 85,60 L 40,60 L 5,30 C 9,20 45,20 50,25 L 50,10 C 50,5 40,5 40,10 L 40,15 L 10,15 L 10,10 C 10,5 0,5 0,10 C 0,10 0,60 0,60 z M 10,35 C 15,25 45,25 55,35 L 85,60 C 75,50 40,50 40,60 L 10,35 z "/>
+        </svg:symbol>
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol id="hostel" viewBox="0 0 12.5 8" fill="#286a9d" fill-opacity="1" fill-rule="nonzero" stroke="none">
+            <svg:path d="M 5.5,4 L 9,0 L 12.5,4 L 11.5,4 L 11.5,8 L 10,8 L 10,5 L 8,5 L 8,8 L 6.5,8 L 6.5,4 L 5.5,4 z M 0.5,3.5 C 2,2.5 2.3,1 2.5,0 C 2.7,1 3,2.5 4.5,3.5 L 3.3,3.5 C 3.3,4 4,5 5,6 L 3,6 L 3,8 L 2,8 L 2,6 L 0,6 C 1,5 1.7,4 1.7,3.5 L 0.5,3.5 z M 0,8 L 0,7.5 L 12.5,7.5 L 12.5,8 L 0,8 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="recycling" viewBox="0 0 100 100" stroke="none" fill="#00ba00">
+            <svg:path d="M 55.0,37.3 L 72.1,27.0 L 79.8,41.9 C 81.6,50.0 71.5,52.9 63.3,52.4 L 55.0,37.3 z"/>
+            <svg:path d="M 51.1,47.9 L 42.1,63.8 L 51.1,80.0 L 51.3,73.5 L 59.5,73.5 C 62.5,73.8 66.4,71.8 67.9,69.0 L 78.4,49.5 C 75.0,53.0 70.5,53.9 65.3,53.9 L 51.4,53.9 L 51.1,47.9 z "/>
+            <svg:path d="M 31.0,28.2 L 13.7,18.2 L 22.9,4.2 C 29.0,-1.3 36.6,6.1 40.1,13.5 L 30.9,28.2 z "/>
+            <svg:path d="M 42.1,26.5 L 60.4,26.6 L 70.1,10.9 L 64.3,13.8 L 60.3,6.6 C 59.1,3.9 55.5,1.4 52.3,1.5 L 30.2,1.7 C 34.9,3.1 37.9,6.6 40.4,11.1 L 47.2,23.3 L 42.1,26.5 z "/>
+            <svg:path d="M 0.4,27.4 L 5.8,31.5 L 0.8,40.5 C -1.8,45.3 2.6,49.6 5.3,51.0 C 8.0,52.5 12.2,52.7 16.2,52.7 L 23.3,41.3 L 28.6,44.1 L 19.3,27.2 L 0.4,27.4 z "/>
+            <svg:path d="M 1.2,49.3 L 12.7,70.1 C 15.0,73.0 19.4,73.7 23.9,73.6 L 36.0,73.6 L 36.0,53.9 L 13.0,53.7 C 9.5,53.9 4.8,53.2 1.2,49.3 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="hospital" viewBox="0 0 15 15" stroke="red" stroke-width="2px" fill="none">
+            <svg:path d="M 12.5,7.5 L 2.5,7.5 L 2.5,7.5 L 12.5,7.5 z M 7.5,2.3 L 7.5,12.5 L 7.5,12.5"/>
+            <svg:path stroke-width="1px" d="M 14.5 7.5 A 7 7 0 1 1 0.5,7.5 A 7 7 0 1 1 14.5 7.5 z"/>
+        </svg:symbol>
+
+        <svg:symbol id="postoffice" viewBox="0 0 14 8" fill="none" stroke="red" stroke-width="1.5px">
+            <svg:path d="M 0,0 L 14,0 L 14,8 L 0,8 L 0,0 z M 0,0 L 7,4 L 14,0"/>
+        </svg:symbol>
+        <svg:symbol id="postbox" viewBox="0 0 14 8" fill="none" stroke="red" stroke-width="1.5px">
+            <svg:path d="M 0,0 L 14,0 L 14,8 L 0,8 L 0,0 z M 0,0 L 7,4 L 14,0"/>
+        </svg:symbol>
+
+        <svg:symbol id="parking" viewBox="0 -10 20 20" stroke="none" fill-opacity="1" fill-rule="nonzero">
+            <svg:rect fill="#0087ff" width="20" height="20" x="0" y="-10" rx="4" ry="4"/>
+            <svg:path fill="white" d="M 5,8 L 5,-7 L 12,-7 C 14,-7 15.5,-5.3 16,-4 C 16.5,-2.77 16.5,-1.23 16,0 C 15.41,1.42 14,3 12,3 L 8,3 L 8,8 L 5,8 z M 8,-4 L 8,0 C 9.3,0 11,0 12.32,-0.31 C 13.6,-0.76 13.5,-2.8 12.5,-3.48 C 11.5,-4.1 8.6,-4 8,-4 z "/>
+        </svg:symbol>
+    </defs>
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z7.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z7.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z7.xml	(revision 35743)
@@ -0,0 +1,1491 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Tiles@Home Rules File for zoom level 7 -->
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+    minimumMapWidth="1"
+    minimumMapHeight="1"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+    <!-- Select all nodes and ways (unless they have an osmarender:render=no tag) -->
+    <rule e="node|way" k="osmarender:render" v="~|yes">
+
+        <!-- Draw land areas first -->
+        <rule e="way" k="natural" v="land">
+            <area class="natural-land"/>
+        </rule>
+
+        <!-- Landuse -->
+        <!-- below zoom 12 render all landuse in the same colour so it doesn't look too psychedelic -->
+        <rule e="way" k="landuse" v="residential|farmyard|retail|industrial|commercial|cemetery">
+            <area class="landuse-all"/>
+        </rule>
+
+        <!-- Natural features -->
+        <rule e="way" k="natural" v="coastline">
+            <area class="natural-coastline"/>
+        </rule>
+        <rule e="way" k="natural" v="glacier">
+           <line class='natural-glacier'/>
+        </rule>
+        <rule e="way" k="landuse|natural" v="forest|wood">
+            <area class="landuse-wood"/>
+        </rule>
+        <rule e="way" k="landuse" v="field|village_green|meadow">
+            <area class="landuse-field"/>
+        </rule>
+        <rule e="way" k="amenity" v="kindergarten|school|college|university">
+            <area class="landuse-all"/>
+        </rule>
+        <rule e="way" k="leisure" v="park|playing_fields|garden|pitch|golf_course|common|green">
+            <area class="leisure-park"/>
+        </rule>
+        <rule e="way" k="leisure" v="stadium|sports_centre">
+            <area class="leisure-stadium"/>
+        </rule>
+        <rule e="way" k="leisure" v="track">
+            <area class="leisure-track"/>
+        </rule>
+
+        <!-- Airports and runways -->
+        <rule e="way" k="aeroway" v="apron">
+            <area class="aeroway-apron"/>
+        </rule>
+        <rule e="way" k="landuse" v="runway">
+            <rule e="way" k="use_status" v="~">
+                <area class="landuse-runway"/>
+            </rule>
+            <rule e="way" k="use_status" v="disused">
+                <area class="landuse-runway-disused"/>
+            </rule>
+            <rule e="way" k="use_status" v="dismantled">
+                <area class="landuse-runway-dismantled"/>
+            </rule>
+        </rule>
+
+        <!-- Raceways and racetracks -->
+        <rule e="way" k="landuse" v="raceway">
+            <rule e="way" k="use_status" v="~">
+                <area class="landuse-raceway"/>
+            </rule>
+            <rule e="way" k="use_status" v="disused">
+                <area class="landuse-raceway-disused"/>
+            </rule>
+            <rule e="way" k="use_status" v="dismantled">
+                <area class="landuse-raceway-dismantled"/>
+            </rule>
+        </rule>
+
+        <!-- Man-made areas -->
+        <rule e="way" k="sport" v="*">
+            <area class="sport"/>
+        </rule>
+        <rule e="way" k="amenity" v="parking">
+            <area class="amenity-parking"/>
+        </rule>
+        <rule e="way" k="tourism" v="attraction">
+            <area class="tourism-attraction"/>
+        </rule>
+        <rule e="way" k="aeroway" v="terminal">
+            <area class="building-block"/>
+        </rule>
+        <rule e="way" k="building" v="*">
+            <area class="building-block"/>
+        </rule>
+
+        <!-- Waterways, lakes and ponds -->
+        <rule e="way" k="waterway" v="riverbank">
+            <area class="waterway-riverbank"/>
+        </rule>
+        <rule e="way" k="waterway" v="river">
+            <line class="waterway-river-casing"/>
+        </rule>
+        <rule e="way" k="waterway" v="stream">
+            <line class="waterway-stream-casing"/>
+        </rule>
+        <rule e="way" k="waterway" v="canal">
+            <line class="waterway-canal-casing"/>
+        </rule>
+        <rule e="way" k="waterway" v="drain">
+            <line class="waterway-drain-casing"/>
+        </rule>
+        <rule e="way" k="waterway" v="river">
+            <line class="waterway-river-core"/>
+        </rule>
+        <rule e="way" k="waterway" v="stream">
+            <line class="waterway-stream-core"/>
+        </rule>
+        <rule e="way" k="waterway" v="canal">
+            <line class="waterway-canal-core"/>
+        </rule>
+        <rule e="way" k="waterway" v="drain">
+            <line class="waterway-drain-core"/>
+        </rule>
+        <rule e="way" k="waterway" v="dock">
+            <area class="natural-water"/>
+        </rule>
+        <rule e="way" k="natural" v="water|pond|lake|bay">
+            <area class="natural-water"/>
+        </rule>
+        <rule e="way" k="landuse" v="reservoir">
+            <area class="natural-water"/>
+        </rule>
+        <rule e="way" k="landuse" v="basin">
+            <area class="natural-water"/>
+        </rule>
+
+        <!-- Non-physical boundaries -->
+        <rule e="way" k="boundary" v="administrative">
+            <rule e="way" k="border_type" v="state">
+                <line class="boundary boundary-administrative-state-casing"/>
+                <line class="boundary boundary-administrative-state-core"/>
+            </rule>
+        </rule>
+
+        <!-- Highway casings -->
+        <rule e="way" k="tunnel" v="~|no|false">
+            <rule e="way" k="highway" v="raceway">
+                <rule e="way" k="use_status" v="~">
+                    <line class="highway-raceway-casing"/>
+                </rule>
+                <rule e="way" k="use_status" v="disused">
+                    <line class="highway-raceway-casing-disused"/>
+                </rule>
+                <rule e="way" k="use_status" v="dismantled">
+                    <line class="highway-raceway-casing-dismantled"/>
+                </rule>
+            </rule>
+            <rule e="way" k="highway" v="pedestrian">
+                <line class="highway-casing highway-pedestrian-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="track">
+                <line class="highway-casing highway-track-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="unclassified|residential|minor|road">
+                <line class="highway-casing highway-unclassified-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="unsurfaced">
+                <line class="highway-casing highway-unsurfaced-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="service">
+                <line class="highway-casing highway-service-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="tertiary">
+                <line class="highway-casing highway-tertiary-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="secondary">
+                <line class="highway-casing highway-secondary-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="primary|primary_link">
+                <line class="highway-casing highway-primary-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="trunk|trunk_link">
+                <line class="highway-casing highway-trunk-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="motorway_link">
+                <line class="highway-casing highway-motorway-link-casing"/>
+            </rule>
+            <rule e="way" k="highway" v="motorway">
+                <line class="highway-casing highway-motorway-casing"/>
+            </rule>
+        </rule>
+
+        <!-- Paths in tunnels -->
+        <rule e="way" k="tunnel" v="yes|true">
+            <rule e="way" k="highway" v="footway|steps|cycleway|bridleway|byway">
+                <tunnel width="0" class="highway-tunnel-narrow"/>
+            </rule>
+        </rule>
+
+        <!-- Paths not in tunnels -->
+        <rule e="way" k="tunnel" v="~|no|false">
+            <rule e="way" k="highway" v="footway|steps">
+                <line class="highway-core highway-footway"/>
+            </rule>
+            <rule e="way" k="highway" v="steps">
+                <line class="highway-core highway-steps"/>
+            </rule>
+            <rule e="way" k="highway" v="cycleway">
+                <line class="highway-core highway-cycleway"/>
+            </rule>
+            <rule e="way" k="highway" v="bridleway">
+                <line class="highway-core highway-bridleway"/>
+            </rule>
+            <rule e="way" k="highway" v="byway">
+                <line class="highway-core highway-byway"/>
+            </rule>
+        </rule>
+
+        <!-- Highway cores (not in tunnel) -->
+        <rule e="way" k="tunnel" v="~|false|no">
+            <addclass e="way" k="bridge" v="yes|true" class="round">
+                <rule e="way" k="highway" v="raceway">
+                    <rule e="way" k="use_status" v="~">
+                        <line class="highway-raceway-core"/>
+                    </rule>
+                    <rule e="way" k="use_status" v="disused">
+                        <line class="highway-raceway-core-disused"/>
+                    </rule>
+                    <rule e="way" k="use_status" v="dismantled">
+                        <line class="highway-raceway-core-dismantled"/>
+                    </rule>
+                </rule>
+                <rule e="way" k="highway" v="pedestrian">
+                    <line class="highway-core highway-pedestrian-core"/>
+                </rule>
+                <rule e="way" k="highway" v="track">
+                    <line class="highway-core highway-track-core"/>
+                </rule>
+                <rule e="way" k="highway" v="unclassified|residential|minor">
+                    <line class="highway-core highway-unclassified-core"/>
+                </rule>
+                <rule e="way" k="highway" v="road">
+                    <line class="highway-core highway-road-core"/>
+                </rule>
+                <rule e="way" k="highway" v="unsurfaced">
+                    <line class="highway-core highway-unsurfaced-core"/>
+                </rule>
+                <rule e="way" k="highway" v="service">
+                    <line class="highway-core highway-service-core"/>
+                </rule>
+                <rule e="way" k="highway" v="tertiary">
+                    <line class="highway-core highway-tertiary-core"/>
+                </rule>
+                <rule e="way" k="highway" v="secondary">
+                    <line class="highway-core highway-secondary-core"/>
+                </rule>
+                <rule e="way" k="highway" v="primary|primary_link">
+                    <line class="highway-core highway-primary-core"/>
+                </rule>
+                <rule e="way" k="highway" v="trunk|trunk_link">
+                    <line class="highway-core highway-trunk-core"/>
+                </rule>
+                <rule e="way" k="highway" v="motorway_link">
+                    <line class="highway-core highway-motorway-link-core"/>
+                </rule>
+                <rule e="way" k="highway" v="motorway">
+                    <line class="highway-core highway-motorway-core"/>
+                </rule>
+            </addclass>
+        </rule>
+
+        <!-- Highway cores in tunnels -->
+        <rule e="way" k="tunnel" v="true|yes">
+            <rule e="way" k="highway" v="pedestrian">
+                <tunnel width="2" class="highway-core highway-pedestrian"/>
+            </rule>
+            <rule e="way" k="highway" v="track">
+                <tunnel width="2" class="highway-core highway-track"/>
+            </rule>
+            <rule e="way" k="highway" v="unclassified|residential|minor">
+                <tunnel width="2" class="highway-core highway-unclassified"/>
+            </rule>
+            <rule e="way" k="highway" v="road">
+                <tunnel width="2" class="highway-core highway-road"/>
+            </rule>
+            <rule e="way" k="highway" v="unsurfaced">
+                <tunnel width="2" class="highway-core highway-unsurfaced"/>
+            </rule>
+            <rule e="way" k="highway" v="service">
+                <tunnel width="1" class="highway-core highway-service"/>
+            </rule>
+            <rule e="way" k="highway" v="tertiary">
+                <tunnel width="2" class="highway-core highway-tertiary"/>
+            </rule>
+            <rule e="way" k="highway" v="secondary">
+                <tunnel width="3" class="highway-core highway-secondary"/>
+            </rule>
+            <rule e="way" k="highway" v="primary|primary_link">
+                <tunnel width="3" class="highway-core highway-primary"/>
+            </rule>
+            <rule e="way" k="highway" v="trunk|trunk_link">
+                <tunnel width="4" class="highway-core highway-trunk"/>
+            </rule>
+            <rule e="way" k="highway" v="motorway|motorway_link">
+                <tunnel width="4" class="highway-core highway-motorway"/>
+            </rule>
+        </rule>
+
+        <rule e="node" k="highway" v="mini_roundabout">
+            <circle r="0.8px" class="mini-roundabout-core"/>
+            <circle r="0.2px" class="mini-roundabout-dot"/>
+        </rule>
+
+        <!-- highway motorway-junctions -->
+        <rule e="node" k="highway" v="motorway_junction">
+            <circle r="7" class="highway-motorway-junction"/>
+            <text k="name" class="highway-motorway-junction-caption" dy="-2px"/>
+            <text k="ref" class="highway-motorway-junction-caption" dy="+5px"/>
+        </rule>
+
+        <!-- Railway lines -->
+        <!-- not in tunnel -->
+        <rule e="way" k="tunnel" v="~|no|false">
+            <rule e="way" k="railway" v="rail">
+                <line class="railway-rail"/>
+            </rule>
+            <rule e="way" k="railway" v="light_rail|tram">
+                <line class="railway-light-rail"/>
+            </rule>
+            <rule e="way" k="railway" v="subway">
+                <line class="railway-subway-rail"/>
+            </rule>
+            <rule e="way" k="railway" v="preserved">
+                <line class="railway-preserved"/>
+            </rule>
+        </rule>
+
+        <!-- in tunnel -->
+        <rule e="way" k="tunnel" v="true|yes">
+            <rule e="way" k="railway" v="rail">
+                <tunnel width="1" class="railway-rail"/>
+            </rule>
+            <rule e="way" k="railway" v="light_rail|subway|tram">
+                <tunnel width="0" class="railway-tunnel-narrow"/>
+            </rule>
+            <rule e="way" k="railway" v="preserved">
+                <tunnel width="1" class="railway-preserved"/>
+            </rule>
+        </rule>
+
+        <!-- Airfields and airports -->
+        <rule e="way" k="aeroway" v="runway">
+            <line class="aeroway-runway-casing"/>
+        </rule>
+        <rule e="way" k="aeroway" v="taxiway">
+            <line class="aeroway-taxiway-casing"/>
+        </rule>
+        <rule e="way" k="aeroway" v="runway">
+            <line class="aeroway-runway-core"/>
+        </rule>
+        <rule e="way" k="aeroway" v="taxiway">
+            <line class="aeroway-taxiway-core"/>
+        </rule>
+        <rule e="node" k="aeroway" v="airport">
+            <symbol xlink:href="#airport" width="40px" height="40px" transform="translate(-20,-20)"/>
+        </rule>
+
+        <!-- Non-physical routes -->
+        <rule e="way" k="route" v="ferry">
+            <line class="route-ferry"/>
+        </rule>
+
+        <!-- Place names  -->
+        <!-- z12 and below have only limited names
+        <rule e="node" k="place" v="continent">
+            <text k="name" class='continent-caption' />
+        </rule>
+        <rule e="node" k="place" v="country">
+            <text k="name" class='country-caption' />
+        </rule>
+        <rule e="node" k="place" v="state">
+            <text k="name" class='state-caption' />
+        </rule>
+        <rule e="node" k="place" v="region">
+            <text k="name" class='region-caption' />
+        </rule>
+        -->
+        <rule k="osmarender:renderName" v="~|yes">
+            <rule e="node" k="place" v="county">
+                <text k="name" class="county-caption"/>
+            </rule>
+            <rule e="node" k="place" v="city">
+                <text k="name" class="city-caption"/>
+            </rule>
+            <rule e="node" k="place" v="town">
+                <text k="name" class="town-caption"/>
+            </rule>
+        </rule>
+    </rule>
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+        <style xmlns="http://www.w3.org/2000/svg" id="styles" type="text/css">
+            .debug {
+                stroke-width: 0.1px;
+                stroke-linecap: round;
+                stroke: gray;
+                /* marker-end: url(#segment-direction); */
+            }
+
+            .error {
+                stroke-width: 2px;
+                stroke-linecap: round;
+                stroke: red;
+            }
+
+            .untagged-segments {
+                stroke-width: 0.5px;
+                stroke-linejoin: butt;
+                stroke-linecap: butt;
+                stroke: #e0e0e0;
+                stroke-dasharray: 0.5,0.5;
+            }
+
+            /* Bridge casing */
+            .bridge-casing-35 {
+                stroke-width: 24px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-30 {
+                stroke-width: 16px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-25 {
+                stroke-width: 10px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-20 {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-15 {
+                stroke-width: 1.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-10 {
+                stroke-width: 1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+
+            /* Bridge core */
+            .bridge-core-35 {
+                stroke-width: 22;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-30 {
+                stroke-width: 15px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-25 {
+                stroke-width: 9px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-20 {
+                stroke-width: 1.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-15 {
+                stroke-width: 1.25px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-10 {
+                stroke-width: 0.75px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+
+            /* Tunnels */
+            .tunnel-casing {
+                stroke-width: 2px;
+                stroke-dasharray: 0.01,100000;
+                stroke: #222222;
+                fill: none;
+            }
+
+            /* Highways - generic style */
+            .highway-casing {
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+            .highway-core {
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+            .highway-motorway-junction {
+            fill: yellow;
+            stroke: #4D5D73;
+            stroke-width: 3px;
+            }
+
+            .highway-motorway-junction-caption {
+            fill: black;
+            stroke: blue;
+            stroke-width: 0.2px;
+            font-family: "DejaVu Sans",sans-serif;
+            font-size: 10px;
+            font-weight: bold;
+            display: none;
+            }
+
+            .highway-ref {
+                fill: #666666;
+                stroke: white;
+                font-family: "DejaVu Sans",sans-serif;
+                font-weight: normal;
+            }
+
+            .highway-name {
+                fill: black;
+                font-family: "DejaVu Sans",sans-serif;
+                font-weight: normal;
+                stroke: white;
+             }
+
+
+            /* Highways - street specific style */
+            .highway-motorway-casing {
+                stroke-width: 22px;
+                stroke: #222222;
+            }
+
+            .highway-motorway-core {
+                stroke-width: 20px;
+                stroke: #809BC0;
+            }
+
+            .highway-motorway-link-casing {
+                stroke-width: 9px;
+                stroke: #222222;
+            }
+
+            .highway-motorway-link-core {
+                stroke-width: 8.5px;
+                stroke: #809BC0;
+            }
+
+            .highway-trunk-casing {
+                stroke-width: 18px;
+                stroke: #222222;
+            }
+
+            .highway-trunk-core {
+                stroke-width: 16px;
+                stroke: #7fc97f;
+            }
+
+            .highway-primary-casing {
+                stroke-width: 14px;
+                stroke: #222222;
+            }
+
+            .highway-primary-core {
+                stroke-width: 13px;
+                stroke: #e46d71;
+            }
+
+            .highway-secondary-casing {
+                stroke-width: 12px;
+                stroke: #222222;
+            }
+
+            .highway-secondary-core {
+                stroke-width: 11px;
+                stroke: #FDBF6F;
+            }
+
+            .highway-tertiary-casing {
+                stroke-width: 5px;
+                stroke: #222222;
+            }
+            
+            .highway-tertiary-core {
+                stroke-width: 4.75px;
+                stroke: #f7f496;
+            }
+
+            .highway-unclassified-casing {
+                stroke-width: 5px;
+                stroke: #c0c0c0;
+            }
+
+            .highway-unclassified-core {
+                stroke-width: 1.2px;
+                stroke: #ffffff;
+            }
+
+            .highway-unclassified-core {
+                stroke-width: 1.2px;
+                stroke: #d0d0d0;
+            }
+
+            .highway-unsurfaced-casing {
+                stroke-width: 1.5px;
+                stroke: #222222;
+                stroke-dasharray: 1px, .5px;
+            }
+
+            .highway-unsurfaced-core {
+                stroke-width: 1.2px;
+                stroke: #ffffff;
+            }
+
+            .highway-track-casing {
+                stroke-width: 1.5px;
+                stroke: #d79331;
+            }
+
+            .highway-track-core {
+                stroke-width: 1.2px;
+                stroke: #ffffff;
+            }
+
+            .highway-pedestrian-casing {
+                stroke-width: 1.5px;
+                stroke: #aaaaaa;
+            }
+
+            .highway-pedestrian-core {
+                stroke-width: 1.2px;
+                stroke: #eeeeee;
+            }
+
+            .highway-service-casing {
+                stroke-width: 0.7px;
+                stroke: #222222;
+            }
+
+            .highway-service-core {
+                stroke-width: 0.4px;
+                stroke: #ffffff;
+            }
+
+            .highway-bridleway {
+                stroke-width: 1px;
+                stroke: #70b971;
+            }
+
+            .highway-byway {
+                stroke-width: 1px;
+                stroke: #ef7771;
+            }
+
+            .highway-cycleway {
+                stroke-width: 1px;
+                stroke: #008102;
+            }
+
+            .highway-footway {
+                stroke-width: 0.5px;
+                stroke: #d79331;
+            }
+
+            .highway-steps {
+                stroke-width: 0.5px;
+                stroke: #707070;
+                stroke-dasharray: 0.1px, 0.3px;
+            }
+
+            .highway-tunnel-narrow {
+                stroke-width: 0.1px;
+                stroke-dasharray: 0.2,0.2;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .round {
+                stroke-linecap: round;
+            }
+
+
+            /* Mini roundabouts */
+            .mini-roundabout-casing {
+                fill: #222222;
+                stroke: #222222;
+            }
+
+            .mini-roundabout-core {
+                stroke: #ffffff;
+                fill: #ffffff;
+            }
+
+            .mini-roundabout-dot {
+                stroke: none;
+                fill: #222222;
+            }
+
+
+            /* Aeroways */
+            .aeroway-apron {
+                stroke-width: 0.3px;
+                stroke: none;
+                fill: #f0f0f0;
+            }
+
+            .aeroway-taxiway-core {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #d4dcbd;
+                fill: none;
+            }
+
+            .aeroway-taxiway-casing {
+                stroke-width: 3px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .aeroway-runway-core {
+                stroke-width: 5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #d4dcbd;
+                fill: none;
+            }
+
+            .aeroway-runway-casing {
+                stroke-width: 7px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .aeroway-aerodrome-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 6px;
+                font-weight: bold;
+            }
+
+            .aeroway-airport-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                font-weight: bold;
+            }
+
+
+            /* Waterways */
+            .waterway-riverbank {
+                fill: #b5d6f1;
+                stroke: #aaaaaa;
+                stroke-width: 0px;
+            }
+
+            .waterway-river-casing {
+                stroke-width: 10px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #aaaaaa;
+                fill: none;
+            }
+
+            .waterway-river-core {
+                stroke-width: 8px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .waterway-stream-casing {
+                stroke-width: 0.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #aaaaaa;
+                fill: none;
+            }
+
+            .waterway-stream-core {
+                stroke-width: 0.4px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .waterway-canal-casing {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #aaaaaa;
+                fill: none;
+            }
+
+            .waterway-canal-core {
+                stroke-width: 1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .waterway-drain-casing {
+                stroke-width: 1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #aaaaaa;
+                fill: none;
+            }
+
+            .waterway-drain-core {
+                stroke-width: 0.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .railway-rail {
+                stroke-width: 14px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #666666;
+                fill: none;
+            }
+
+            .railway-preserved {
+                stroke-width: 8px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #666666;
+                fill: none;
+            }
+
+            .railway-light-rail {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #666666;
+                fill: none;
+            }
+
+            .railway-tunnel-narrow {
+                stroke-width: 1px;
+                stroke-dasharray: 1,2;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .railway-subway-rail {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #666666;
+                fill: none;
+                stroke-dasharray: 3px, 1px;
+                stroke-dashoffset: 0;
+                stroke-opacity: 1;
+            }
+
+            /* Ferry */
+            .route-ferry {
+                stroke-width: 2px;
+                stroke-dasharray: 3,2;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #777777;
+                fill: none;
+            }
+
+
+            /* Place names */
+            .continent-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.6px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 200px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .country-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.5px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 180px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .state-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.5px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 160px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .region-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.4px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 140px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .county-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.4px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 120px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .city-caption {
+                fill: black;
+                stroke: none;
+                stroke-width: 0.4px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 1000px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .town-caption {
+                fill: black;
+                stroke: none;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 600px;
+                opacity: 0.7;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .village-caption {
+                fill: black;
+                stroke: none;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 60px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .suburb-caption {
+                fill: black;
+                stroke: none;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 6px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .church-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 5px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+
+            /* Natural */
+            .natural-water {
+                fill: #b5d6f1;
+                stroke: #aaaaaa;
+                stroke-width: 0px;
+            }
+
+            .natural-coastline {
+                fill: #b5d6f1;
+                stroke: #b5d6f1;
+                stroke-width: 1.5px;
+            }
+
+            .natural-glacier {
+                fill: #fafaff;
+                stroke: lightblue;
+                stroke-width: 1.5px;
+            }
+
+            .natural-land {
+                fill: #ffffff;
+                stroke: #e0e0e0;
+                stroke-width: 0.1px;
+            }
+
+
+            /* Landuse */
+            .landuse-all {
+                stroke: none;
+                fill: #f0f0f0;
+            }
+
+            .landuse-wood {
+                fill: #72bf81;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-cemetery {
+                fill: #bde3cb;
+                stroke: #eeeeee;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-field {
+                fill: #bde3cb;
+                stroke: #6fc13d;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-residential {
+                stroke: none;
+                fill: #f0f0f0;
+            }
+
+            .landuse-retail {
+                stroke: none;
+                fill: #ffebeb;
+            }
+
+            .landuse-industrial {
+                fill: #ecd8ff;
+                stroke: #eeeeee;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-commercial {
+                fill: #fcffc9;
+                stroke: #eeeeee;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-retail {
+                fill: #ffebeb;
+                stroke: #eeeeee;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-runway {
+              stroke-width: 0.3px;
+              stroke: #808080;
+              fill: #d4dcbd;
+              }
+
+            .landuse-runway-disused {
+              stroke-width: 0.3px;
+              stroke: #808080;
+              fill: #d4dcbd;
+              stroke-dasharray: 1px, 1px;
+              }
+
+            .landuse-runway-dismantled {
+              stroke-width: 0.3px;
+              stroke: #808080;
+              fill: #fcffef;
+              stroke-dasharray: 0.3px, 1.7px;
+              opacity: 0.5;
+              }
+
+
+            /* Leisure */
+            .leisure-park {
+                fill: #c7f1a3;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .leisure-stadium {
+                fill: #bde3cb;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .leisure-track {
+                fill: #bde3cb;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .sport {
+                fill: #bde3cb;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .amenity-parking {
+                fill: #f7efb7;
+                stroke: #e9dd72;
+                stroke-width: 0.2px;
+            }
+
+
+
+            /* Non-physical boundaries */
+            .boundary {
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+            .boundary-administrative-state-casing {
+                stroke-width: 80px;
+                stroke: #ffff00;
+                opacity: 0.5;
+            }
+
+            .boundary-administrative-state-core {
+                stroke-width: 16px;
+                stroke: #f9574b;
+                stroke-dasharray: 80, 16, 16, 16;
+            }
+
+
+
+            /* Racetracks */
+            .highway-raceway-casing {
+              stroke-width: 2px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke: #101010;
+              }
+
+            .highway-raceway-casing-disused {
+              stroke-width: 2px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke: #808080;
+              stroke-dasharray: 1px, 1px;
+              }
+
+            .highway-raceway-casing-dismantled {
+              stroke-width: 2px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke: #808080;
+              stroke-dasharray: 0.3px, 1.7px;
+              opacity: 0.5;
+              }
+
+            .highway-raceway-core {
+              stroke-width: 1.5px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke: #f0f0f0;
+              }
+
+            .highway-raceway-core-disused {
+              stroke-width: 1.5px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke-dasharray: 1px, 1px;
+              stroke: #f7f7f7;
+              }
+
+            .highway-raceway-core-dismantled {
+              stroke-width: 1.5px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke: #fbfbfb;
+              stroke-dasharray: 0.3px, 1.7px;
+              opacity: 0.5;
+              }
+            
+            .landuse-raceway {
+              stroke-width: 0.3px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: #f0f0f0;
+              stroke: #101010;
+              }
+
+            .landuse-raceway-disused {
+              stroke-width: 0.3px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: #f7f7f7;
+              stroke: #808080;
+              stroke-dasharray: 1px, 1px;
+              }
+
+            .landuse-raceway-dismantled {
+              stroke-width: 0.3px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: #fbfbfb;
+              stroke: #808080;
+              stroke-dasharray: 0.3px, 1.7px;
+              opacity: 0.5;
+              }
+
+            /* Tourism */
+            .tourism-attraction {
+                fill: #f2caea;
+                stroke: #f124cb;
+                stroke-width: 0px;
+            }
+
+            /* Building */
+            .building {
+                fill: #dddddd;
+                stroke: #cccccc;
+                stroke-width: 0.2px;
+            }
+
+            .building-block {
+                fill: #F3D6B6;
+                stroke: #6a5a8e;
+                stroke-width: 0.2px;
+            }
+
+            .building-residential {
+                fill: #c95e2a;
+                stroke: #80290a;
+                stroke-width: 0.2px;
+            }
+
+
+            /* Map decoration */
+            .map-grid-line {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 0.1px;
+                stroke-opacity: 0.5;
+            }
+
+            .map-border-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 3px;
+                stroke-miterlimit: 4;
+                stroke-dasharray: none;
+                stroke-opacity: 1;
+                stroke-linecap: round;
+            }
+
+            .map-border-core {
+                fill: none;
+                fill-opacity: 1;
+                fill-rule: nonzero;
+                stroke: #ffffff;
+                stroke-width: 2px;
+                stroke-miterlimit: 0;
+                stroke-dashoffset: -0.5px;
+                stroke-opacity: 1;
+            }
+
+            .map-scale-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 4px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-core {
+                fill: none;
+                stroke: #ffffff;
+                stroke-width: 3px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-bookend {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 1px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-caption {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                fill: #8080ff;
+            }
+
+            <!-- map background must be the same for all zooms or else empty tile detection will fail -->
+            .map-background {
+                fill: #f8f8f8;
+                stroke: none;
+            }
+
+            .map-title {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 20px;
+                text-anchor: middle;
+                fill: black;
+            }
+
+            .map-title-background {
+                fill: white;
+            }
+
+            .map-marginalia-background {
+                fill: white;
+            }
+        </style>
+
+        <svg:pattern id="pedestrian-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse">
+            <svg:path d="M0,10 L10,0" fill="none" stroke="red" width="1"/>
+        </svg:pattern>
+
+        <svg:symbol id="church" viewBox="0 0 5 10" fill="#000000">
+            <svg:path d="M 0 10 L 0 5 L 5 5 L 5 10 z M 0 2 L 5 2 L 5 3 L 0 3 z M 2 0 L 2 5 L 3 5 L 3 0 z"/>
+        </svg:symbol>
+        <svg:symbol id="mosque" viewBox="0 0 120 120" fill="#00ab00">
+            <svg:path d="M 4,60 C 11,75 60,107 84,73 C 103,40 76,22 50,7 C 76,6 130,35 103,84 C 72,124 8,97 4,60 z M 35,52 C 35,52 20,55 20,55 L 30,43 C 30,43 21,30 21,30 L 35,35 L 45,23 L 45,38 L 60,45 L 45,50 L 45,65 L 35,52 z"/>
+        </svg:symbol>
+        <svg:symbol id="synagogue" viewBox="0 0 20 20" stroke="#0000d0" fill="none" stroke-width="1.5px" stroke-linecap="butt" stroke-linejoin="miter">
+            <svg:path d="M 10,0 L 20,15 L 0,15 L 10,0 z M 10,20 L 0,5 L 20,5 L 10,20 z"/>
+        </svg:symbol>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol id="campSite" viewBox="0 0 100 100" fill="#0000dc" fill-opacity="1">
+            <svg:path d="M 35,0 L 50,24 L 65,0 L 80,0 L 60,35 L 100,100 L 0,100 L 40,35 L 20,0 L 35,0 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="gate" viewBox="0 0 10 10" fill="none" stroke-width="0.8px" stroke="#000000">
+            <!--            <svg:path d="M 0,7 L 10,7 M 0,6 L 10,6 M 0,5 L 10,5 M 0,4 L 10,4 M 0,3 L 10,3 M 0,7 L 0,3 M 10,7 L 10,3 M 0,7 L 10,3" />-->
+            <svg:path d="M 0,7 L 10,7 M 0,3 L 10,3 M 0,7 L 0,3 M 10,7 L 10,3 M 0,7 L 10,3"/>
+        </svg:symbol>
+
+        <svg:symbol id="airport" viewBox="0 0 10 10" fill="black" fill-opacity="1" fill-rule="evenodd" stroke="none">
+            <svg:path d="M 9.2,5 C 9.2,4.5 9.8,3.2 10,3 L 9,3 L 8,4 L 5.5,4 L 8,0 L 6,0 L 3,4 C 2,4 1,4.2 0.5,4.5 C 0,5 0,5 0.5,5.5 C 1,5.8 2,6 3,6 L 6,10 L 8,10 L 5.5,6 L 7.8,6 L 9,7 L 10,7 C 9.8,6.8 9.2,5.5 9.2,5 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="power-tower" viewBox="0 0 10 10" stroke-width="1px" stroke="#cccccc">
+            <svg:path d="M 0 0 L 10 10 M 0 10 L 10 0"/>
+        </svg:symbol>
+
+        <svg:symbol id="bar" viewBox="0 0 100 100" fill="#000000" stroke-width="0.4px" stroke="#000000">
+            <svg:path d="M 16.8725 9.81954 L 96.3004 9.81954 L 59.4774 46.3164 L 59.4774 94.9796 C 59.575 94.9796 57.9896 100.587 84.2324 102.6 L 84.2324 103.99 L 31.0262 103.99 L 31.0275 102.6 C 56.4414 100.587 54.9906 94.9796 54.9906 94.9796 L 54.9906 46.3164 L 16.8725 9.81954 z "/>
+        </svg:symbol>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol id="petrolStation" viewBox="0 0 100 100" fill="#000000" fill-rule="evenodd" stroke-width="3px">
+            <svg:path d="M 22.7283 108.087 C 4.26832 107.546 23.6818 43.3596 32.6686 21.0597 C 33.8491 17.0245 60.28 18.4952 60.0056 19.8857 C 59.0889 25.9148 54.8979 23.2429 52.0142 26.8579 L 51.7464 36.8066 C 48.6085 40.8144 40.2357 34.4677 38.078 42.8773 C 31.3694 92.5727 45.0689 108.819 22.7283 108.087 z M 85.3122 9.52799 L 29.1766 9.52847 C 28.4855 17.5896 -11.559 113.573 22.9292 113.284 C 48.5214 113.073 39.5312 104.08 42.6984 51.03 C 41.8513 49.3228 50.871 48.6585 50.8739 51.4448 L 51.0453 116.604 L 97.6129 116.188 L 97.6129 26.544 C 96.0669 24.2073 93.899 25.2958 90.584 22.394 C 87.7907 19.4131 92.2353 9.52799 85.3122 9.52799 z M 64.0766 35.3236 C 61.5443 36.7258 61.5443 45.2814 64.0766 46.6836 C 68.3819 49.0684 80.2848 49.0684 84.5902 46.6836 C 87.1225 45.2814 87.1225 36.7258 84.5902 35.3236 C 80.2848 32.9393 68.3819 32.9393 64.0766 35.3236 z "/>
+        </svg:symbol>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol id="golfCourse" viewBox="0 0 100 100" fill="#000000" fill-rule="evenodd" fill-opacity="1" stroke="none">
+            <svg:path d="M 61.6421 25.2514 C 61.6421 25.2514 48.7712 34.4528 48.1727 38.766 C 47.574 43.0787 56.5537 48.8295 56.8529 52.2802 C 57.1522 55.7303 56.5537 87.3594 56.5537 87.3594 C 56.5537 87.3594 37.3978 104.036 36.7993 105.474 C 36.2006 106.912 41.5878 117.55 43.9826 117.263 C 46.3769 116.975 43.3841 109.787 44.2819 108.349 C 45.1798 106.912 64.0363 92.5353 65.2335 90.5221 C 65.5327 91.0979 65.8321 76.7208 65.5327 76.7208 L 66.7305 76.7208 L 66.1319 91.0979 C 66.1319 91.0979 59.2473 108.349 60.1451 113.237 C 60.1451 115.824 70.6212 122.15 72.1176 121 C 73.6145 119.85 68.5261 115.536 68.8254 112.375 C 67.6283 109.212 73.016 97.4233 73.3153 94.2605 C 73.6145 91.0979 73.9138 56.3053 72.7167 51.9927 C 72.7161 48.542 69.424 42.5037 67.9276 40.2035 C 67.6283 37.9029 65.8326 31.2897 65.8326 31.2897 C 65.8326 31.2897 59.547 39.341 59.5465 39.341 C 58.0501 37.9035 68.2268 28.702 68.2268 25.8268 C 68.2268 22.9513 49.9689 9.72452 49.9689 9.72452 C 49.9689 9.72452 25.126 63.2064 25.4254 65.5065 C 25.7246 67.8065 29.9146 72.9824 32.908 70.6823 C 35.9009 68.3822 27.8197 62.9194 27.8197 62.9194 L 49.3703 14.6122 L 52.6624 18.3506 L 58.3494 18.638 L 58.0501 19.5005 C 58.0501 19.5005 51.7645 18.9255 50.5675 19.788 C 49.3703 20.6506 47.574 22.0887 47.574 25.5388 C 47.574 28.9896 52.0638 30.4271 53.5603 30.7146 L 60.8936 24.6764 L 61.6421 25.2514 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="slipway" viewBox="0 0 50 45" fill="#0087ff" stroke="none" fill-opacity="0.7">
+            <svg:path d="M 45,33 L 45,45 L 2,45 C 2,45 45,33 45,33 z M 0,35 L 43,22 L 43,26 C 43,26 37,32 26,36 C 15,40 0,35 0,35 z M 3,32 C 3,32 13,0 13,0 L 22,26 L 3,32 z M 16,0 L 42,20 L 25,25 L 16,0 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="pub" viewBox="0 0 6 9" stroke="none">
+            <svg:path fill="#aa5605" d="M 1.2,9 C 1.2,9 1,3 0.3,1.7 L 5.7,1.7 C 5,3 4.8,9 4.8,9"/>
+            <svg:path fill="#ffe680" d="M 5.7,1.7 L 0.3,1.7 C 0,1 0,1 0,0 L 6,0 C 6,1 6,1 5.7,1.7 z"/>
+        </svg:symbol>
+
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol id="hotel" viewBox="0 0 90 90" fill="black" fill-opacity="1" stroke="black" stroke-width="1px" stroke-miterlimit="4">
+            <svg:path d="M 0,60 C 0,65 10,65 10,60 L 10,50 L 35,70 L 35,85 C 35,90 45,90 45,85 L 45,70 L 75,70 L 75,85 C 75,90 85,90 85,85 L 85,60 L 40,60 L 5,30 C 9,20 45,20 50,25 L 50,10 C 50,5 40,5 40,10 L 40,15 L 10,15 L 10,10 C 10,5 0,5 0,10 C 0,10 0,60 0,60 z M 10,35 C 15,25 45,25 55,35 L 85,60 C 75,50 40,50 40,60 L 10,35 z "/>
+        </svg:symbol>
+        <!-- derived from http://www.sodipodi.com/index.php3?section=clipart -->
+        <svg:symbol id="hostel" viewBox="0 0 12.5 8" fill="#286a9d" fill-opacity="1" fill-rule="nonzero" stroke="none">
+            <svg:path d="M 5.5,4 L 9,0 L 12.5,4 L 11.5,4 L 11.5,8 L 10,8 L 10,5 L 8,5 L 8,8 L 6.5,8 L 6.5,4 L 5.5,4 z M 0.5,3.5 C 2,2.5 2.3,1 2.5,0 C 2.7,1 3,2.5 4.5,3.5 L 3.3,3.5 C 3.3,4 4,5 5,6 L 3,6 L 3,8 L 2,8 L 2,6 L 0,6 C 1,5 1.7,4 1.7,3.5 L 0.5,3.5 z M 0,8 L 0,7.5 L 12.5,7.5 L 12.5,8 L 0,8 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="recycling" viewBox="0 0 100 100" stroke="none" fill="#00ba00">
+            <svg:path d="M 55.0,37.3 L 72.1,27.0 L 79.8,41.9 C 81.6,50.0 71.5,52.9 63.3,52.4 L 55.0,37.3 z"/>
+            <svg:path d="M 51.1,47.9 L 42.1,63.8 L 51.1,80.0 L 51.3,73.5 L 59.5,73.5 C 62.5,73.8 66.4,71.8 67.9,69.0 L 78.4,49.5 C 75.0,53.0 70.5,53.9 65.3,53.9 L 51.4,53.9 L 51.1,47.9 z "/>
+            <svg:path d="M 31.0,28.2 L 13.7,18.2 L 22.9,4.2 C 29.0,-1.3 36.6,6.1 40.1,13.5 L 30.9,28.2 z "/>
+            <svg:path d="M 42.1,26.5 L 60.4,26.6 L 70.1,10.9 L 64.3,13.8 L 60.3,6.6 C 59.1,3.9 55.5,1.4 52.3,1.5 L 30.2,1.7 C 34.9,3.1 37.9,6.6 40.4,11.1 L 47.2,23.3 L 42.1,26.5 z "/>
+            <svg:path d="M 0.4,27.4 L 5.8,31.5 L 0.8,40.5 C -1.8,45.3 2.6,49.6 5.3,51.0 C 8.0,52.5 12.2,52.7 16.2,52.7 L 23.3,41.3 L 28.6,44.1 L 19.3,27.2 L 0.4,27.4 z "/>
+            <svg:path d="M 1.2,49.3 L 12.7,70.1 C 15.0,73.0 19.4,73.7 23.9,73.6 L 36.0,73.6 L 36.0,53.9 L 13.0,53.7 C 9.5,53.9 4.8,53.2 1.2,49.3 z "/>
+        </svg:symbol>
+
+        <svg:symbol id="hospital" viewBox="0 0 15 15" stroke="red" stroke-width="2px" fill="none">
+            <svg:path d="M 12.5,7.5 L 2.5,7.5 L 2.5,7.5 L 12.5,7.5 z M 7.5,2.3 L 7.5,12.5 L 7.5,12.5"/>
+            <svg:path stroke-width="1px" d="M 14.5 7.5 A 7 7 0 1 1 0.5,7.5 A 7 7 0 1 1 14.5 7.5 z"/>
+        </svg:symbol>
+
+        <svg:symbol id="postoffice" viewBox="0 0 14 8" fill="none" stroke="red" stroke-width="1.5px">
+            <svg:path d="M 0,0 L 14,0 L 14,8 L 0,8 L 0,0 z M 0,0 L 7,4 L 14,0"/>
+        </svg:symbol>
+        <svg:symbol id="postbox" viewBox="0 0 14 8" fill="none" stroke="red" stroke-width="1.5px">
+            <svg:path d="M 0,0 L 14,0 L 14,8 L 0,8 L 0,0 z M 0,0 L 7,4 L 14,0"/>
+        </svg:symbol>
+
+        <svg:symbol id="parking" viewBox="0 -10 20 20" stroke="none" fill-opacity="1" fill-rule="nonzero">
+            <svg:rect fill="#0087ff" width="20" height="20" x="0" y="-10" rx="4" ry="4"/>
+            <svg:path fill="white" d="M 5,8 L 5,-7 L 12,-7 C 14,-7 15.5,-5.3 16,-4 C 16.5,-2.77 16.5,-1.23 16,0 C 15.41,1.42 14,3 12,3 L 8,3 L 8,8 L 5,8 z M 8,-4 L 8,0 C 9.3,0 11,0 12.32,-0.31 C 13.6,-0.76 13.5,-2.8 12.5,-3.48 C 11.5,-4.1 8.6,-4 8,-4 z "/>
+        </svg:symbol>
+    </defs>
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z8.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z8.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z8.xml	(revision 35743)
@@ -0,0 +1,618 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Tiles@Home Rules File for zoom level 8 -->
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+    minimumMapWidth="1"
+    minimumMapHeight="1"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+    <!-- Select all nodes and ways (unless they have an osmarender:render=no tag) -->
+    <rule e="node|way" k="osmarender:render" v="~|yes">
+
+        <!-- Draw land areas first -->
+        <rule e="way" k="natural" v="land">
+            <area class="natural-land"/>
+        </rule>
+
+        <!-- Landuse -->
+        <!-- render all landuse in the same colour so it doesn't look too psychedelic -->
+        <rule e="way" k="landuse" v="residential|farmyard|retail|industrial|commercial|cemetery">
+            <area class="landuse-all"/>
+        </rule>
+
+        <!-- Natural features -->
+        <rule e="way" k="natural" v="coastline">
+            <area class="natural-coastline"/>
+        </rule>
+        <rule e="way" k="natural" v="glacier">
+           <line class='natural-glacier'/>
+        </rule>
+        <rule e="way" k="landuse|natural" v="forest|wood">
+            <area class="landuse-wood"/>
+        </rule>
+        <rule e="way" k="landuse" v="field|village_green|meadow">
+            <area class="landuse-field"/>
+        </rule>
+        <rule e="way" k="amenity" v="kindergarten|school|college|university">
+            <area class="landuse-all"/>
+        </rule>
+        <rule e="way" k="leisure" v="park|playing_fields|garden|pitch|golf_course|common|green">
+            <area class="leisure-park"/>
+        </rule>
+        <rule e="way" k="leisure" v="stadium|sports_centre">
+            <area class="leisure-stadium"/>
+        </rule>
+
+        <!-- Airports and runways -->
+
+        <!-- Raceways and racetracks -->
+        <rule e="way" k="landuse" v="raceway">
+            <rule e="way" k="use_status" v="~">
+                <area class="landuse-raceway"/>
+            </rule>
+        </rule>
+
+        <!-- Man-made areas -->
+        <rule e="way" k="sport" v="*">
+            <area class="sport"/>
+        </rule>
+        <rule e="way" k="aeroway" v="terminal">
+            <area class="building-block"/>
+        </rule>
+
+        <!-- Waterways, lakes and ponds -->
+        <rule e="way" k="waterway" v="riverbank">
+            <area class="waterway-riverbank"/>
+        </rule>
+        <rule e="way" k="waterway" v="river">
+            <line class="waterway-river-core"/>
+        </rule>
+        <rule e="way" k="waterway" v="canal">
+            <line class="waterway-canal-core"/>
+        </rule>
+        <rule e="way" k="waterway" v="dock">
+            <area class="natural-water"/>
+        </rule>
+        <rule e="way" k="natural" v="water|pond|lake|bay">
+            <area class="natural-water"/>
+        </rule>
+        <rule e="way" k="landuse" v="reservoir">
+            <area class="natural-water"/>
+        </rule>
+        <rule e="way" k="landuse" v="basin">
+            <area class="natural-water"/>
+        </rule>
+
+        <!-- Paths in tunnels -->
+
+        <!-- Paths not in tunnels -->
+
+        <!-- Highway cores (not in tunnel) -->
+        <rule e="way" k="tunnel" v="~|false|no">
+            <addclass e="way" k="bridge" v="yes|true" class="round">
+                <rule e="way" k="highway" v="raceway">
+                    <rule e="way" k="use_status" v="~">
+                        <line class="highway-raceway-core"/>
+                    </rule>
+                </rule>
+                <rule e="way" k="highway" v="secondary">
+                    <line class="highway-core highway-secondary-core"/>
+                </rule>
+                <rule e="way" k="highway" v="primary|primary_link">
+                    <line class="highway-core highway-primary-core"/>
+                </rule>
+                <rule e="way" k="highway" v="trunk|trunk_link">
+                    <line class="highway-core highway-trunk-core"/>
+                </rule>
+                <rule e="way" k="highway" v="motorway_link">
+                    <line class="highway-core highway-motorway-link-core"/>
+                </rule>
+                <rule e="way" k="highway" v="motorway">
+                    <line class="highway-core highway-motorway-core"/>
+                </rule>
+            </addclass>
+        </rule>
+
+        <!-- Highway cores in tunnels -->
+        <rule e="way" k="tunnel" v="true|yes">
+            <rule e="way" k="highway" v="service">
+                <tunnel width="10" class="highway-core highway-service-core"/>
+            </rule>
+            <rule e="way" k="highway" v="secondary">
+                <tunnel width="30" class="highway-core highway-secondary-core"/>
+            </rule>
+            <rule e="way" k="highway" v="primary|primary_link">
+                <tunnel width="30" class="highway-core highway-primary-core"/>
+            </rule>
+            <rule e="way" k="highway" v="trunk|trunk_link">
+                <tunnel width="40" class="highway-core highway-trunk-core"/>
+            </rule>
+            <rule e="way" k="highway" v="motorway|motorway_link">
+                <tunnel width="40" class="highway-core highway-motorway-core"/>
+            </rule>
+        </rule>
+
+        <!-- highway motorway-junctions -->
+        <rule e="node" k="highway" v="motorway_junction">
+            <circle r="7" class="highway-motorway-junction"/>
+            <text k="name" class="highway-motorway-junction-caption" dy="-2px"/>
+            <text k="ref" class="highway-motorway-junction-caption" dy="+5px"/>
+        </rule>
+
+        <!-- Railway lines -->
+        <rule e="way" k="railway" v="rail">
+            <line class="railway-rail"/>
+        </rule>
+
+        <!-- Airfields and airports -->
+        <rule e="way" k="aeroway" v="runway">
+            <line class="aeroway-runway-core"/>
+        </rule>
+        <rule e="node" k="aeroway" v="airport">
+            <symbol xlink:href="#airport" width="400px" height="400px" transform="translate(-200,-200)"/>
+        </rule>
+
+        <!-- Non-physical routes -->
+        <rule e="way" k="route" v="ferry">
+            <line class="route-ferry"/>
+        </rule>
+    </rule>
+
+    <!-- ==================================== Layer 5 ================================== -->
+    <rule e="node|way" k="osmarender:render" v="~|yes" layer="5">
+
+        <!-- Non-physical boundaries -->
+        <rule e="way" k="boundary" v="administrative" layer="5">
+            <rule e="way" k="border_type" v="state" layer="5">
+                <line class="boundary boundary-administrative-state-casing"/>
+                <line class="boundary boundary-administrative-state-core"/>
+            </rule>
+            <else>
+                <line class="boundary boundary-administrative-state-core"/>
+            </else>
+        </rule>
+
+        <rule e="way" k="boundary" v="national_park" layer="5">
+            <line class="boundary boundary-nationalpark-core" layer="5"/>
+        </rule>
+
+        <!-- Place names  -->
+        <rule e="node" k="place" v="island" layer="5">
+            <text k="name" class="island-caption"/>
+        </rule>
+        <rule e="node" k="place" v="continent" layer="5">
+            <text k="name" class="continent-caption"/>
+        </rule>
+        <rule e="node" k="place" v="country" layer="5">
+            <text k="name" class="country-caption"/>
+        </rule>
+        <rule e="node" k="place" v="state" layer="5">
+            <text k="name" class="state-caption"/>
+        </rule>
+        <rule e="node" k="place" v="region" layer="5">
+            <text k="name" class="region-caption"/>
+        </rule>
+        <rule e="node" k="place" v="county" layer="5">
+            <text k="name" class="county-caption"/>
+        </rule>
+        <rule e="node" k="place" v="city" layer="5">
+            <text k="name" class="city-caption"/>
+        </rule>
+        <rule e="node" k="place" v="town" layer="5">
+            <text k="name" class="town-caption"/>
+        </rule>
+    </rule> <!-- End Layer 5 -->
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+        <style xmlns="http://www.w3.org/2000/svg" id="styles" type="text/css">
+            .debug {
+                stroke-width: 0.1px;
+                stroke-linecap: round;
+                stroke: gray;
+                /* marker-end: url(#segment-direction); */
+            }
+
+            .highway-core {
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+            .highway-motorway-junction {
+            fill: yellow;
+            stroke: #4D5D73;
+            stroke-width: 3px;
+            }
+
+            .highway-motorway-junction-caption {
+            fill: black;
+            stroke: blue;
+            stroke-width: 0.2px;
+            font-family: "DejaVu Sans",sans-serif;
+            font-size: 10px;
+            font-weight: bold;
+            display: none;
+            }
+
+         /* Highways - street specific style */
+
+            .highway-motorway-core {
+                stroke-width: 66px;
+                stroke: #809BC0;
+            }
+
+            .highway-motorway-link-core {
+                stroke-width: 50px;
+                stroke: #809BC0;
+            }
+
+            .highway-trunk-core {
+                stroke-width: 36px;
+                stroke: #7fc97f;
+            }
+
+            .highway-primary-core {
+                stroke-width: 14px;
+                stroke: #e46d71;
+            }
+
+            .highway-secondary-core {
+                stroke-width: 12px;
+                stroke: #FDBF6F;
+            }
+
+            .highway-service-core {
+                stroke-width: 0.4px;
+                stroke: #ffffff;
+            }
+
+
+            .round {
+                stroke-linecap: round;
+            }
+
+
+            /* Mini roundabouts */
+
+            /* Aeroways */
+            .aeroway-runway-core {
+                stroke-width: 5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #d4dcbd;
+                fill: none;
+            }
+
+            /* Waterways */
+            .waterway-riverbank {
+                fill: #b5d6f1;
+                stroke: #aaaaaa;
+                stroke-width: 0px;
+            }
+
+            .waterway-river-core {
+                stroke-width: 30px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .waterway-canal-core {
+                stroke-width: 30px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .railway-rail {
+                stroke-width: 70px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #666666;
+                fill: none;
+            }
+
+            /* Ferry */
+            .route-ferry {
+                stroke-width: 20px;
+                stroke-dasharray: 300,200;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #777777;
+                fill: none;
+            }
+
+
+            /* Place names */
+            .continent-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.6px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 1000px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .country-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.5px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 900px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .state-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.5px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 800px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .region-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.4px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 700px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .county-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.4px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 600px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .city-caption {
+                fill: black;
+                stroke: none;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 700px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .town-caption {
+                fill: black;
+                stroke: none;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 350px;
+                opacity: 0.9;
+                font-weight: normal;
+                text-anchor: middle;
+            }
+
+            .island-caption {
+                fill: black;
+                stroke: none;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 350px;
+                opacity: 0.9;
+                font-weight: normal;
+                text-anchor: middle;
+            }
+
+            /* Natural */
+            .natural-water {
+                fill: #b5d6f1;
+                stroke: #aaaaaa;
+                stroke-width: 0px;
+            }
+
+            .natural-coastline {
+                fill: #b5d6f1;
+                stroke: #b5d6f1;
+                stroke-width: 15px;
+            }
+
+            .natural-glacier {
+                fill: #fafaff;
+                stroke: lightblue;
+                stroke-width: 15px;
+            }
+
+            .natural-land {
+                fill: #ffffff;
+                stroke: #e0e0e0;
+                stroke-width: 2px;
+            }
+
+
+            /* Landuse */
+            .landuse-all {
+                stroke: none;
+                fill: #f0f0f0;
+            }
+
+            .landuse-wood {
+                fill: #72bf81;
+                stroke: #6fc18e;
+                stroke-width: 2px;
+            }
+
+            .landuse-field {
+                fill: #bde3cb;
+                stroke: #6fc13d;
+                stroke-width: 2px;
+            }
+
+
+            /* Leisure */
+            .leisure-park {
+                fill: #c7f1a3;
+                stroke: #6fc18e;
+                stroke-width: 2px;
+            }
+
+            .leisure-stadium {
+                fill: #bde3cb;
+                stroke: #6fc18e;
+                stroke-width: 2px;
+            }
+
+            .sport {
+                fill: #bde3cb;
+                stroke: #6fc18e;
+                stroke-width: 2px;
+            }
+
+
+            /* Non-physical boundaries */
+            .boundary {
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+            .boundary-administrative-state-casing {
+                stroke-width: 80px;
+                stroke: #ffff00;
+                opacity: 0.5;
+            }
+
+            .boundary-administrative-state-core {
+                stroke-width: 16px;
+                stroke: #f9574b;
+                stroke-dasharray: 80, 16, 16, 16;
+            }
+
+            .boundary-nationalpark-core {
+                stroke-width: 16px; 
+                stroke: #4ef94b;
+                stroke-dasharray: 80, 16, 16, 16;
+            }
+
+
+            /* Racetracks */
+            .highway-raceway-core {
+              stroke-width: 1.5px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke: #f0f0f0;
+              }
+
+            .landuse-raceway {
+              stroke-width: 0.3px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: #f0f0f0;
+              stroke: #101010;
+              }
+
+
+            /* Tourism */
+
+            /* Building */
+
+            /* Map decoration */
+            .map-grid-line {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 0.1px;
+                stroke-opacity: 0.5;
+            }
+
+            .map-border-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 3px;
+                stroke-miterlimit: 4;
+                stroke-dasharray: none;
+                stroke-opacity: 1;
+                stroke-linecap: round;
+            }
+
+            .map-border-core {
+                fill: none;
+                fill-opacity: 1;
+                fill-rule: nonzero;
+                stroke: #ffffff;
+                stroke-width: 2px;
+                stroke-miterlimit: 0;
+                stroke-dashoffset: -0.5px;
+                stroke-opacity: 1;
+            }
+
+            .map-scale-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 4px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-core {
+                fill: none;
+                stroke: #ffffff;
+                stroke-width: 3px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-bookend {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 1px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-caption {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                fill: #8080ff;
+            }
+
+            <!-- map background must be the same for all zooms or else empty tile detection will fail -->
+            .map-background {
+                fill: #f8f8f8;
+                stroke: none;
+            }
+
+            .map-title {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 20px;
+                text-anchor: middle;
+                fill: black;
+            }
+
+            .map-title-background {
+                fill: white;
+            }
+
+            .map-marginalia-background {
+                fill: white;
+            }
+        </style>
+
+        <svg:symbol id="airport" viewBox="0 0 10 10" fill="black" fill-opacity="1" fill-rule="evenodd" stroke="none">
+            <svg:path d="M 9.2,5 C 9.2,4.5 9.8,3.2 10,3 L 9,3 L 8,4 L 5.5,4 L 8,0 L 6,0 L 3,4 C 2,4 1,4.2 0.5,4.5 C 0,5 0,5 0.5,5.5 C 1,5.8 2,6 3,6 L 6,10 L 8,10 L 5.5,6 L 7.8,6 L 9,7 L 10,7 C 9.8,6.8 9.2,5.5 9.2,5 z "/>
+        </svg:symbol>
+    </defs>
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z9.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z9.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/osm-map-features-z9.xml	(revision 35743)
@@ -0,0 +1,617 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- Tiles@Home Rules File for zoom level 9 -->
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="1"
+    minimumMapWidth="1"
+    minimumMapHeight="1"
+    withOSMLayers="yes"
+    withUntaggedSegments="no"
+    showScale="no"
+    showGrid="no"
+    showBorder="no"
+    showLicense="no"
+    interactive="no">
+
+
+    <!-- Select all nodes and ways (unless they have an osmarender:render=no tag) -->
+    <rule e="node|way" k="osmarender:render" v="~|yes">
+
+        <!-- Draw land areas first -->
+        <rule e="way" k="natural" v="land">
+            <area class="natural-land"/>
+        </rule>
+
+        <!-- Landuse -->
+        <!-- render all landuse in the same colour so it doesn't look too psychedelic -->
+        <rule e="way" k="landuse" v="residential|farmyard|retail|industrial|commercial|cemetery">
+            <area class="landuse-all"/>
+        </rule>
+
+        <!-- Natural features -->
+        <rule e="way" k="natural" v="coastline">
+            <area class="natural-coastline"/>
+        </rule>
+        <rule e="way" k="natural" v="glacier">
+           <line class='natural-glacier'/>
+        </rule>
+        <rule e="way" k="landuse|natural" v="forest|wood">
+            <area class="landuse-wood"/>
+        </rule>
+        <rule e="way" k="landuse" v="field|village_green|meadow">
+            <area class="landuse-field"/>
+        </rule>
+        <rule e="way" k="amenity" v="kindergarten|school|college|university">
+            <area class="landuse-all"/>
+        </rule>
+        <rule e="way" k="leisure" v="park|playing_fields|garden|pitch|golf_course|common|green">
+            <area class="leisure-park"/>
+        </rule>
+        <rule e="way" k="leisure" v="stadium|sports_centre">
+            <area class="leisure-stadium"/>
+        </rule>
+
+        <!-- Airports and runways -->
+
+        <!-- Raceways and racetracks -->
+        <rule e="way" k="landuse" v="raceway">
+            <rule e="way" k="use_status" v="~">
+                <area class="landuse-raceway"/>
+            </rule>
+        </rule>
+
+        <!-- Man-made areas -->
+        <rule e="way" k="sport" v="*">
+            <area class="sport"/>
+        </rule>
+        <rule e="way" k="aeroway" v="terminal">
+            <area class="building-block"/>
+        </rule>
+
+        <!-- Waterways, lakes and ponds -->
+        <rule e="way" k="waterway" v="riverbank">
+            <area class="waterway-riverbank"/>
+        </rule>
+        <rule e="way" k="waterway" v="river">
+            <line class="waterway-river-core"/>
+        </rule>
+        <rule e="way" k="waterway" v="canal">
+            <line class="waterway-canal-core"/>
+        </rule>
+        <rule e="way" k="waterway" v="dock">
+            <area class="natural-water"/>
+        </rule>
+        <rule e="way" k="natural" v="water|pond|lake|bay">
+            <area class="natural-water"/>
+        </rule>
+        <rule e="way" k="landuse" v="reservoir">
+            <area class="natural-water"/>
+        </rule>
+        <rule e="way" k="landuse" v="basin">
+            <area class="natural-water"/>
+        </rule>
+
+        <!-- Paths in tunnels -->
+
+        <!-- Paths not in tunnels -->
+
+        <!-- Highway cores (not in tunnel) -->
+        <rule e="way" k="tunnel" v="~|false|no">
+            <addclass e="way" k="bridge" v="yes|true" class="round">
+                <rule e="way" k="highway" v="raceway">
+                    <rule e="way" k="use_status" v="~">
+                        <line class="highway-raceway-core"/>
+                    </rule>
+                </rule>
+                <rule e="way" k="highway" v="secondary">
+                    <line class="highway-core highway-secondary-core"/>
+                </rule>
+                <rule e="way" k="highway" v="primary|primary_link">
+                    <line class="highway-core highway-primary-core"/>
+                </rule>
+                <rule e="way" k="highway" v="trunk|trunk_link">
+                    <line class="highway-core highway-trunk-core"/>
+                </rule>
+                <rule e="way" k="highway" v="motorway_link">
+                    <line class="highway-core highway-motorway-link-core"/>
+                </rule>
+                <rule e="way" k="highway" v="motorway">
+                    <line class="highway-core highway-motorway-core"/>
+                </rule>
+            </addclass>
+        </rule>
+
+        <!-- Highway cores in tunnels -->
+        <rule e="way" k="tunnel" v="true|yes">
+            <rule e="way" k="highway" v="service">
+                <tunnel width="10" class="highway-core highway-service-core"/>
+            </rule>
+            <rule e="way" k="highway" v="secondary">
+                <tunnel width="30" class="highway-core highway-secondary-core"/>
+            </rule>
+            <rule e="way" k="highway" v="primary|primary_link">
+                <tunnel width="30" class="highway-core highway-primary-core"/>
+            </rule>
+            <rule e="way" k="highway" v="trunk|trunk_link">
+                <tunnel width="40" class="highway-core highway-trunk-core"/>
+            </rule>
+            <rule e="way" k="highway" v="motorway|motorway_link">
+                <tunnel width="40" class="highway-core highway-motorway-core"/>
+            </rule>
+        </rule>
+
+        <!-- highway motorway-junctions -->
+        <rule e="node" k="highway" v="motorway_junction">
+            <circle r="7" class="highway-motorway-junction"/>
+            <text k="name" class="highway-motorway-junction-caption" dy="-2px"/>
+            <text k="ref" class="highway-motorway-junction-caption" dy="+5px"/>
+        </rule>
+
+        <!-- Railway lines -->
+        <rule e="way" k="railway" v="rail">
+            <line class="railway-rail"/>
+        </rule>
+
+        <!-- Airfields and airports -->
+        <rule e="way" k="aeroway" v="runway">
+            <line class="aeroway-runway-core"/>
+        </rule>
+        <rule e="node" k="aeroway" v="airport">
+            <symbol xlink:href="#airport" width="200px" height="200px" transform="translate(-100,-100)"/>
+        </rule>
+
+        <!-- Non-physical routes -->
+        <rule e="way" k="route" v="ferry">
+            <line class="route-ferry"/>
+        </rule>
+    </rule>
+
+    <!-- ==================================== Layer 5 ================================== -->
+    <rule e="node|way" k="osmarender:render" v="~|yes" layer="5">
+
+        <!-- Non-physical boundaries -->
+        <rule e="way" k="boundary" v="administrative" layer="5">
+            <rule e="way" k="border_type" v="state" layer="5">
+                <line class="boundary boundary-administrative-state-casing"/>
+                <line class="boundary boundary-administrative-state-core"/>
+            </rule>
+            <else>
+                <line class="boundary boundary-administrative-state-core"/>
+            </else>
+        </rule>
+
+        <rule e="way" k="boundary" v="national_park" layer="5">
+            <line class="boundary boundary-nationalpark-core" layer="5"/>
+        </rule>
+
+        <!-- Place names  -->
+        <rule e="node" k="place" v="island" layer="5">
+            <text k="name" class="island-caption"/>
+        </rule>
+        <rule e="node" k="place" v="continent" layer="5">
+            <text k="name" class="continent-caption"/>
+        </rule>
+        <rule e="node" k="place" v="country" layer="5">
+            <text k="name" class="country-caption"/>
+        </rule>
+        <rule e="node" k="place" v="state" layer="5">
+            <text k="name" class="state-caption"/>
+        </rule>
+        <rule e="node" k="place" v="region" layer="5">
+            <text k="name" class="region-caption"/>
+        </rule>
+        <rule e="node" k="place" v="county" layer="5">
+            <text k="name" class="county-caption"/>
+        </rule>
+        <rule e="node" k="place" v="city" layer="5">
+            <text k="name" class="city-caption"/>
+        </rule>
+        <rule e="node" k="place" v="town" layer="5">
+            <text k="name" class="town-caption"/>
+        </rule>
+    </rule> <!-- End Layer 5 -->
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+        <style xmlns="http://www.w3.org/2000/svg" id="styles" type="text/css">
+            .debug {
+                stroke-width: 0.1px;
+                stroke-linecap: round;
+                stroke: gray;
+                /* marker-end: url(#segment-direction); */
+            }
+
+            .highway-core {
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+            .highway-motorway-junction {
+            fill: yellow;
+            stroke: #4D5D73;
+            stroke-width: 3px;
+            }
+
+            .highway-motorway-junction-caption {
+            fill: black;
+            stroke: blue;
+            stroke-width: 0.2px;
+            font-family: "DejaVu Sans",sans-serif;
+            font-size: 10px;
+            font-weight: bold;
+            display: none;
+            }
+
+         /* Highways - street specific style */
+
+            .highway-motorway-core {
+                stroke-width: 50px;
+                stroke: #809BC0;
+            }
+
+            .highway-motorway-link-core {
+                stroke-width: 50px;
+                stroke: #809BC0;
+            }
+
+            .highway-trunk-core {
+                stroke-width: 36px;
+                stroke: #7fc97f;
+            }
+
+            .highway-primary-core {
+                stroke-width: 20px;
+                stroke: #e46d71;
+            }
+
+            .highway-secondary-core {
+                stroke-width: 16px;
+                stroke: #FDBF6F;
+            }
+
+            .highway-service-core {
+                stroke-width: 4px;
+                stroke: #ffffff;
+            }
+
+
+            .round {
+                stroke-linecap: round;
+            }
+
+
+            /* Mini roundabouts */
+
+            /* Aeroways */
+            .aeroway-runway-core {
+                stroke-width: 5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #d4dcbd;
+                fill: none;
+            }
+
+            /* Waterways */
+            .waterway-riverbank {
+                fill: #b5d6f1;
+                stroke: #aaaaaa;
+                stroke-width: 0px;
+            }
+
+            .waterway-river-core {
+                stroke-width: 12px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .waterway-canal-core {
+                stroke-width: 12px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #b5d6f1;
+                fill: none;
+            }
+
+            .railway-rail {
+                stroke-width: 50px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #666666;
+                fill: none;
+            }
+
+            /* Ferry */
+            .route-ferry {
+                stroke-width: 30px;
+                stroke-dasharray: 3,2;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #777777;
+                fill: none;
+            }
+
+
+            /* Place names */
+            .continent-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.6px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 500px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .country-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.5px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 380px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .state-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.5px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 160px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .region-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.4px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 140px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .county-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.4px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 120px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .city-caption {
+                fill: black;
+                stroke: none;
+                stroke-width: 0.4px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 400px;
+                font-weight: bold;
+                text-anchor: middle;
+            }
+
+            .town-caption {
+                fill: black;
+                stroke: none;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 200px;
+                opacity: 0.9;
+                font-weight: normal;
+                text-anchor: middle;
+            }
+
+            .island-caption {
+                fill: black;
+                stroke: none;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 200px;
+                opacity: 0.9;
+                font-weight: normal;
+                text-anchor: middle;
+            }
+
+            /* Natural */
+            .natural-water {
+                fill: #b5d6f1;
+                stroke: #aaaaaa;
+                stroke-width: 0px;
+            }
+
+            .natural-coastline {
+                fill: #b5d6f1;
+                stroke: #b5d6f1;
+                stroke-width: 15px;
+            }
+
+            .natural-glacier {
+                fill: #fafaff;
+                stroke: lightblue;
+                stroke-width: 15px;
+            }
+
+            .natural-land {
+                fill: #ffffff;
+                stroke: #e0e0e0;
+                stroke-width: 10px;
+            }
+
+
+            /* Landuse */
+            .landuse-all {
+                stroke: none;
+                fill: #f0f0f0;
+            }
+
+            .landuse-wood {
+                fill: #72bf81;
+                stroke: #6fc18e;
+                stroke-width: 2px;
+            }
+
+            .landuse-field {
+                fill: #bde3cb;
+                stroke: #6fc13d;
+                stroke-width: 2px;
+            }
+
+
+            /* Leisure */
+            .leisure-park {
+                fill: #c7f1a3;
+                stroke: #6fc18e;
+                stroke-width: 2px;
+            }
+
+            .leisure-stadium {
+                fill: #bde3cb;
+                stroke: #6fc18e;
+                stroke-width: 2px;
+            }
+
+            .sport {
+                fill: #bde3cb;
+                stroke: #6fc18e;
+                stroke-width: 2px;
+            }
+
+            /* Non-physical boundaries */
+            .boundary {
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                fill: none;
+            }
+
+            .boundary-administrative-state-casing {
+                stroke-width: 80px;
+                stroke: #ffff00;
+                opacity: 0.5;
+            }
+
+            .boundary-administrative-state-core {
+                stroke-width: 16px;
+                stroke: #f9574b;
+                stroke-dasharray: 80, 16, 16, 16;
+            }
+
+            .boundary-nationalpark-core {
+                stroke-width: 16px; 
+                stroke: #4ef94b;
+                stroke-dasharray: 80, 16, 16, 16;
+            }
+
+            /* Racetracks */
+            .highway-raceway-core {
+              stroke-width: 1.5px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: none;
+              stroke: #f0f0f0;
+              }
+
+            .landuse-raceway {
+              stroke-width: 0.3px;
+              stroke-linecap: butt;
+              stroke-linejoin: round;
+              fill: #f0f0f0;
+              stroke: #101010;
+              }
+
+
+            /* Tourism */
+
+            /* Building */
+
+            /* Map decoration */
+            .map-grid-line {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 0.1px;
+                stroke-opacity: 0.5;
+            }
+
+            .map-border-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 3px;
+                stroke-miterlimit: 4;
+                stroke-dasharray: none;
+                stroke-opacity: 1;
+                stroke-linecap: round;
+            }
+
+            .map-border-core {
+                fill: none;
+                fill-opacity: 1;
+                fill-rule: nonzero;
+                stroke: #ffffff;
+                stroke-width: 2px;
+                stroke-miterlimit: 0;
+                stroke-dashoffset: -0.5px;
+                stroke-opacity: 1;
+            }
+
+            .map-scale-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 4px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-core {
+                fill: none;
+                stroke: #ffffff;
+                stroke-width: 3px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-bookend {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 1px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-caption {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                fill: #8080ff;
+            }
+
+            <!-- map background must be the same for all zooms or else empty tile detection will fail -->
+            .map-background {
+                fill: #f8f8f8;
+                stroke: none;
+            }
+
+            .map-title {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 20px;
+                text-anchor: middle;
+                fill: black;
+            }
+
+            .map-title-background {
+                fill: white;
+            }
+
+            .map-marginalia-background {
+                fill: white;
+            }
+        </style>
+
+        <svg:symbol id="airport" viewBox="0 0 10 10" fill="black" fill-opacity="1" fill-rule="evenodd" stroke="none">
+            <svg:path d="M 9.2,5 C 9.2,4.5 9.8,3.2 10,3 L 9,3 L 8,4 L 5.5,4 L 8,0 L 6,0 L 3,4 C 2,4 1,4.2 0.5,4.5 C 0,5 0,5 0.5,5.5 C 1,5.8 2,6 3,6 L 6,10 L 8,10 L 5.5,6 L 7.8,6 L 9,7 L 10,7 C 9.8,6.8 9.2,5.5 9.2,5 z "/>
+        </svg:symbol>
+    </defs>
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/poi-testfile.osm
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/poi-testfile.osm	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/poi-testfile.osm	(revision 35743)
@@ -0,0 +1,300 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<osm version='0.5' generator='JOSM'>
+  <node id='-1' visible='true' lat='50.89944043011881' lon='8.015653325901289' />
+  <node id='-2' action='modify' visible='true' lat='50.898818484985306' lon='8.01652989319072'>
+    <tag k='highway' v='mini_roundabout' />
+  </node>
+  <node id='-3' action='modify' visible='true' lat='50.898154159356984' lon='8.017567946930365'>
+    <tag k='highway' v='bus_stop' />
+  </node>
+  <node id='-4' action='modify' visible='true' lat='50.897518040809516' lon='8.018400939586039'>
+    <tag k='amenity' v='hospital' />
+  </node>
+  <node id='-5' action='modify' visible='true' lat='50.89692323094534' lon='8.019465545667476'>
+    <tag k='amenity' v='pub' />
+  </node>
+  <node id='-6' action='modify' visible='true' lat='50.89626176853666' lon='8.0203660161139'>
+    <tag k='man_made' v='windmill' />
+  </node>
+  <node id='-7' action='modify' visible='true' lat='50.89562386865867' lon='8.021180922934434'>
+    <tag k='religion' v='sikh' />
+    <tag k='amenity' v='place_of_worship' />
+  </node>
+  <node id='-8' action='modify' visible='true' lat='50.89508923567029' lon='8.021997111557134'>
+    <tag k='amenity' v='supermarket' />
+  </node>
+  <node id='-9' action='modify' visible='true' lat='50.89939143201561' lon='8.017572280067569' />
+  <node id='-10' action='modify' visible='true' lat='50.89818179004124' lon='8.015679378768526' />
+  <node id='-11' action='modify' visible='true' lat='50.899340471219574' lon='8.019568098691943' />
+  <node id='-12' action='modify' visible='true' lat='50.89878117101662' lon='8.018404442924796'>
+    <tag k='highway' v='mini_roundabout' />
+    <tag k='direction' v='clockwise' />
+  </node>
+  <node id='-13' action='modify' visible='true' lat='50.89754575091565' lon='8.016565638217608'>
+    <tag k='aeroway' v='helipad' />
+  </node>
+  <node id='-14' action='modify' visible='true' lat='50.89699241285849' lon='8.015703997300783' />
+  <node id='-15' action='modify' visible='true' lat='50.89812564005603' lon='8.019517251217305'>
+    <tag k='tourism' v='information' />
+  </node>
+  <node id='-16' action='modify' visible='true' lat='50.897487935610414' lon='8.020394872000303'>
+    <tag k='amenity' v='doctors' />
+  </node>
+  <node id='-17' action='modify' visible='true' lat='50.89689036694059' lon='8.021252420333584'>
+    <tag k='amenity' v='speed_trap' />
+  </node>
+  <node id='-18' action='modify' visible='true' lat='50.896251845486326' lon='8.022161555311726'>
+    <tag k='religion' v='jewish' />
+    <tag k='amenity' v='place_of_worship' />
+  </node>
+  <node id='-19' action='modify' visible='true' lat='50.898740959455154' lon='8.02042455795929'>
+    <tag k='natural' v='peak' />
+  </node>
+  <node id='-20' action='modify' visible='true' lat='50.89809917939024' lon='8.02132584599593'>
+    <tag k='tourism' v='camp_site' />
+  </node>
+  <node id='-21' action='modify' visible='true' lat='50.8974611081839' lon='8.022171709364786'>
+    <tag k='amenity' v='pharmacy' />
+  </node>
+  <node id='-22' action='modify' visible='true' lat='50.899293767368896' lon='8.021397197224113' />
+  <node id='-23' action='modify' visible='true' lat='50.89695821132804' lon='8.017563598364992'>
+    <tag k='amenity' v='restaurant' />
+  </node>
+  <node id='-24' action='modify' visible='true' lat='50.896365370686745' lon='8.016598788592615'>
+    <tag k='amenity' v='cinema' />
+  </node>
+  <node id='-25' action='modify' visible='true' lat='50.895857048979494' lon='8.015727497242613' />
+  <node id='-26' action='modify' visible='true' lat='50.8987044778049' lon='8.022257291301617'>
+    <tag k='power' v='tower' />
+  </node>
+  <node id='-27' action='modify' visible='true' lat='50.8980719621023' lon='8.023186155063943'>
+    <tag k='tourism' v='hostel' />
+  </node>
+  <node id='-28' action='modify' visible='true' lat='50.897436453875684' lon='8.02402138671081'>
+    <tag k='amenity' v='post_office' />
+  </node>
+  <node id='-29' action='modify' visible='true' lat='50.89679104908038' lon='8.024979822434856'>
+    <tag k='sport' v='tennis' />
+  </node>
+  <node id='-30' action='modify' visible='true' lat='50.89685734246016' lon='8.023048019078166'>
+    <tag k='amenity' v='post_box' />
+  </node>
+  <node id='-31' action='modify' visible='true' lat='50.89616873668537' lon='8.023965645700784'>
+    <tag k='religion' v='muslim' />
+    <tag k='amenity' v='place_of_worship' />
+  </node>
+  <node id='-32' action='modify' visible='true' lat='50.89552751983485' lon='8.024912309335038'>
+    <tag k='sport' v='swimming' />
+  </node>
+  <node id='-33' action='modify' visible='true' lat='50.89924477755002' lon='8.023315820901475' />
+  <node id='-34' action='modify' visible='true' lat='50.89631577578216' lon='8.018402181646342'>
+    <tag k='amenity' v='theatre' />
+  </node>
+  <node id='-35' action='modify' visible='true' lat='50.89577848395199' lon='8.017564913235232'>
+    <tag k='amenity' v='parking' />
+  </node>
+  <node id='-36' action='modify' visible='true' lat='50.895165256084134' lon='8.016632492335981'>
+    <tag k='highway' v='traffic_signals' />
+  </node>
+  <node id='-37' action='modify' visible='true' lat='50.894573975701604' lon='8.015754053807468' />
+  <node id='-38' action='modify' visible='true' lat='50.89922250963813' lon='8.024950554770932' />
+  <node id='-39' action='modify' visible='true' lat='50.89864773792061' lon='8.024134860209932'>
+    <tag k='tourism' v='hotel' />
+  </node>
+  <node id='-40' action='modify' visible='true' lat='50.89569918352529' lon='8.019419525012475'>
+    <tag k='religion' v='omnian' />
+    <tag k='amenity' v='place_of_worship' />
+  </node>
+  <node id='-41' action='modify' visible='true' lat='50.89514021770916' lon='8.01839940485831'>
+    <tag k='amenity' v='school' />
+  </node>
+  <node id='-42' action='modify' visible='true' lat='50.89457050157352' lon='8.017547362226'>
+    <tag k='amenity' v='recycling' />
+  </node>
+  <node id='-43' action='modify' visible='true' lat='50.89404996297803' lon='8.01666381319327'>
+    <tag k='amenity' v='toilets' />
+  </node>
+  <node id='-44' visible='true' lat='50.893558493342056' lon='8.015775071358155' />
+  <node id='-45' action='modify' visible='true' lat='50.89802567959775' lon='8.025024959551102'>
+    <tag k='sport' v='soccer' />
+  </node>
+  <node id='-46' action='modify' visible='true' lat='50.89511274913181' lon='8.020337811243511'>
+    <tag k='amenity' v='university' />
+  </node>
+  <node id='-47' action='modify' visible='true' lat='50.894566991320474' lon='8.019359317829476'>
+    <tag k='amenity' v='fuel' />
+  </node>
+  <node id='-48' action='modify' visible='true' lat='50.894029037014384' lon='8.018394995935633'>
+    <tag k='amenity' v='drinking_water' />
+  </node>
+  <node id='-49' action='modify' visible='true' lat='50.893518202327336' lon='8.017546418532692' />
+  <node id='-50' action='modify' visible='true' lat='50.89456362666761' lon='8.021096116030147'>
+    <tag k='amenity' v='library' />
+  </node>
+  <node id='-51' action='modify' visible='true' lat='50.893986414193456' lon='8.021921134224765'>
+    <tag k='leisure' v='golf_course' />
+  </node>
+  <node id='-52' action='modify' visible='true' lat='50.89340182907629' lon='8.02266262332936' />
+  <node id='-53' action='modify' visible='true' lat='50.895612360286975' lon='8.022982353076651'>
+    <tag k='religion' v='christian' />
+    <tag k='amenity' v='place_of_worship' />
+  </node>
+  <node id='-54' action='modify' visible='true' lat='50.89400589032632' lon='8.020309895943708'>
+    <tag k='amenity' v='bank' />
+  </node>
+  <node id='-55' action='modify' visible='true' lat='50.89347786141211' lon='8.019319957989456' />
+  <node id='-56' action='modify' visible='true' lat='50.89343861942523' lon='8.021045182918712' />
+  <node id='-57' action='modify' visible='true' lat='50.8944733602703' lon='8.022994330705'>
+    <tag k='amenity' v='shelter' />
+    <tag k='fireplace' v='yes' />
+  </node>
+  <node id='-58' action='modify' visible='true' lat='50.89501538071219' lon='8.023936826925992'>
+    <tag k='amenity' v='shelter' />
+  </node>
+  <node id='-59' action='modify' visible='true' lat='50.89396549200344' lon='8.023868773536993'>
+    <tag k='leisure' v='slipway' />
+  </node>
+  <node id='-60' action='modify' visible='true' lat='50.894382863467854' lon='8.024794616181884'>
+    <tag k='historic' v='museum' />
+  </node>
+  <node id='-61' action='modify' visible='true' lat='50.89335883232101' lon='8.024769689917797' />
+  <node id='-62' visible='true' lat='50.89863807384361' lon='8.025931796301018' />
+  <node id='-63' action='modify' visible='true' lat='50.897457327195724' lon='8.025931796301018' />
+  <node id='-64' action='modify' visible='true' lat='50.89617711542369' lon='8.025931796301016' />
+  <node id='-65' action='modify' visible='true' lat='50.8948720089444' lon='8.025833263973903' />
+  <node id='-66' visible='true' lat='50.89391490761423' lon='8.025715025181364' />
+  <way id='-67' action='modify' visible='true'>
+    <nd ref='-61' />
+    <nd ref='-59' />
+    <nd ref='-57' />
+    <nd ref='-8' />
+    <nd ref='-7' />
+    <nd ref='-6' />
+    <nd ref='-5' />
+    <nd ref='-4' />
+    <nd ref='-3' />
+    <nd ref='-2' />
+    <nd ref='-1' />
+    <tag k='highway' v='residential' />
+  </way>
+  <way id='-68' action='modify' visible='true'>
+    <nd ref='-18' />
+    <nd ref='-17' />
+    <nd ref='-16' />
+    <nd ref='-15' />
+    <nd ref='-12' />
+    <nd ref='-9' />
+    <nd ref='-2' />
+    <nd ref='-10' />
+    <nd ref='-13' />
+    <nd ref='-23' />
+    <nd ref='-34' />
+    <nd ref='-40' />
+    <nd ref='-46' />
+    <nd ref='-50' />
+    <nd ref='-51' />
+    <nd ref='-52' />
+    <nd ref='-59' />
+    <nd ref='-60' />
+    <nd ref='-58' />
+    <nd ref='-53' />
+    <nd ref='-18' />
+    <tag k='highway' v='residential' />
+  </way>
+  <way id='-69' action='modify' visible='true'>
+    <nd ref='-32' />
+    <nd ref='-31' />
+    <nd ref='-30' />
+    <nd ref='-21' />
+    <nd ref='-20' />
+    <nd ref='-19' />
+    <nd ref='-11' />
+    <nd ref='-12' />
+    <nd ref='-3' />
+    <nd ref='-13' />
+    <nd ref='-14' />
+    <nd ref='-24' />
+    <nd ref='-35' />
+    <nd ref='-41' />
+    <nd ref='-47' />
+    <nd ref='-54' />
+    <nd ref='-56' />
+    <nd ref='-51' />
+    <nd ref='-57' />
+    <nd ref='-58' />
+    <nd ref='-32' />
+    <tag k='highway' v='residential' />
+  </way>
+  <way id='-70' action='modify' visible='true'>
+    <nd ref='-25' />
+    <nd ref='-36' />
+    <nd ref='-42' />
+    <nd ref='-48' />
+    <nd ref='-55' />
+    <nd ref='-54' />
+    <nd ref='-50' />
+    <nd ref='-8' />
+    <nd ref='-53' />
+    <nd ref='-31' />
+    <nd ref='-29' />
+    <nd ref='-28' />
+    <nd ref='-27' />
+    <nd ref='-26' />
+    <nd ref='-22' />
+    <nd ref='-19' />
+    <nd ref='-15' />
+    <nd ref='-4' />
+    <nd ref='-23' />
+    <nd ref='-24' />
+    <nd ref='-25' />
+    <tag k='highway' v='residential' />
+  </way>
+  <way id='-71' action='modify' visible='true'>
+    <nd ref='-28' />
+    <nd ref='-45' />
+    <nd ref='-39' />
+    <nd ref='-33' />
+    <nd ref='-26' />
+    <nd ref='-20' />
+    <nd ref='-16' />
+    <nd ref='-5' />
+    <nd ref='-34' />
+    <nd ref='-35' />
+    <nd ref='-36' />
+    <nd ref='-37' />
+    <nd ref='-43' />
+    <nd ref='-49' />
+    <nd ref='-48' />
+    <nd ref='-47' />
+    <nd ref='-46' />
+    <nd ref='-7' />
+    <nd ref='-18' />
+    <nd ref='-30' />
+    <nd ref='-28' />
+    <tag k='highway' v='residential' />
+  </way>
+  <way id='-72' action='modify' visible='true'>
+    <nd ref='-61' />
+    <nd ref='-66' />
+    <nd ref='-60' />
+    <nd ref='-65' />
+    <nd ref='-32' />
+    <nd ref='-64' />
+    <nd ref='-29' />
+    <nd ref='-63' />
+    <nd ref='-45' />
+    <nd ref='-62' />
+    <nd ref='-38' />
+    <nd ref='-39' />
+    <nd ref='-27' />
+    <nd ref='-21' />
+    <nd ref='-17' />
+    <nd ref='-6' />
+    <nd ref='-40' />
+    <nd ref='-41' />
+    <nd ref='-42' />
+    <nd ref='-43' />
+    <nd ref='-44' />
+    <tag k='highway' v='residential' />
+  </way>
+</osm>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/standard.xml
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/standard.xml	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/standard.xml	(revision 35743)
@@ -0,0 +1,2259 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
+
+<!-- This file should be used with Osmarender 4 -->
+<!-- This file implements a sub-set of the items described at https://wiki.openstreetmap.org/index.php/Map_Features -->
+
+<!-- A scale of 0.1 will make fat roads on a small map, a scale of 5 will draw very thin roads on a large scale map -->
+<!-- minimumMapWidth/Height is in kilometres -->
+<!-- Set javaScript="no" if you want an svg file that contains no javascript.  This is so that you can upload it to Wikipedia etc -->
+<rules
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    data="data.osm"
+    svgBaseProfile="full"
+    scale="1"
+    symbolScale="4"
+    minimumMapWidth="4"
+    minimumMapHeight="3"
+    withOSMLayers="yes"
+    withUntaggedSegments="yes"
+    symbolsDir="../stylesheets/symbols"
+    showScale="yes"
+    showGrid="yes"
+    showBorder="yes"
+    showLicense="yes"
+    interactive="no">
+
+    <!-- Uncomment this element if you want to explicitly specify the bounding box for a map, or you can add a <bounds> element to
+         your data.osm file, which is probably a better thing to do. -->
+    <!--<bounds
+        minlat="51.50583362991789"
+        minlon="-0.13313005495563884"
+        maxlat="51.516556840221504"
+        maxlon="-0.10891295872251346" />-->
+
+
+    <!-- For debugging this rule draws a one pixel wide trace of *all* segments.  This enables segments that have no
+            tags to be identified. Comment it out to hide the debug trace. -->
+    <!--<rule e="segment" k="~" v="~">
+        <line class='debug'/>
+    </rule>-->
+
+    <!-- Select all nodes, waysegments and ways (unless they have an osmarender:render=no tag) -->
+    <!-- If you really want to render segments then you will need to add segment to the element list, but please don't - tag the ways instead. -->
+    <rule e="node|waysegment|way" k="osmarender:render" v="~|yes">
+
+        <!-- Highway shading (abutters) first -->
+        <layer name="Abutters">
+            <rule k="highway" v="residential">
+                <line class='abutters-residential' />
+            </rule>
+            <rule k="abutters" v="residential">
+                <line class='abutters-residential'/>
+            </rule>
+            <rule k="abutters" v="retail">
+                <line class='abutters-retail'/>
+            </rule>
+            <rule k="abutters" v="industrial">
+                <line class='abutters-industrial'/>
+            </rule>
+            <rule k="abutters" v="commercial">
+                <line class='abutters-commercial'/>
+            </rule>
+            <rule k="abutters" v="mixed">
+                <line class='abutters-mixed'/>
+            </rule>
+        </layer>
+
+
+        <!-- Natural features -->
+        <layer name="Natural features and leisure">
+            <rule e="way" k="natural" v="coastline">
+                <line class='natural-coastline'/>
+            </rule>
+		    <rule e="way" k="natural" v="glacier">
+		        <line class='natural-glacier'/> 
+		    </rule>
+            <rule e="way" k="natural" v="land">
+                <area class='natural-land' />
+            </rule>
+            <rule e="way" k="natural" v="beach">
+                <area class='natural-beach' />
+            </rule>
+            <rule e="way" k="landuse" v="forest|wood">
+                <area class='landuse-wood'/>
+            </rule>
+            <rule e="way" k="natural" v="forest|wood">
+                <area class='landuse-wood'/>
+            </rule>
+            <rule e="way" k="landuse" v="field|meadow">
+                <area class='landuse-field'/>
+            </rule>
+            <rule e="way" k="leisure" v="park|playing_fields|garden|pitch|golf_course|common|green">
+                <area class='leisure-park'/>
+            </rule>
+            <rule e="way" k="leisure" v="stadium|sports_centre">
+                <area class='leisure-stadium'/>
+            </rule>
+            <rule e="way" k="leisure" v="track">
+                <area class='leisure-track'/>
+            </rule>
+	    <rule e="node" k="natural" v="peak">
+                <symbol ref="peak" transform="scale(2)" />
+                <rule k="osmarender:renderName" v="~|yes">
+                     <text k="name" class='peak-caption' dx='4px' dy='2.5px'/>
+                </rule>	        
+	    </rule>
+        </layer>
+
+
+        <!-- Waterways -->
+        <rule e="segment|way" k="waterway" v="*">
+            <layer name="Waterways">
+                <rule e="way" k="waterway" v="riverbank">
+                    <area class='waterway-riverbank'/>
+                </rule>
+                <rule e="segment|way" k="waterway" v="river">
+                    <line class='waterway-river-casing'/>
+                </rule>
+                <rule e="segment|way" k="waterway" v="stream">
+                    <line class='waterway-stream-casing'/>
+                </rule>
+                <rule e="segment|way" k="waterway" v="canal">
+                    <line class='waterway-canal-casing'/>
+                </rule>
+                <rule e="segment|way" k="waterway" v="drain">
+                    <line class='waterway-drain-casing'/>
+                </rule>
+                <rule e="segment|way" k="waterway" v="river">
+                    <line class='waterway-river-core'/>
+                </rule>
+                <rule e="segment|way" k="waterway" v="stream">
+                    <line class='waterway-stream-core'/>
+                </rule>
+                <rule e="segment|way" k="waterway" v="canal">
+                    <line class='waterway-canal-core'/>
+                </rule>
+                <rule e="segment|way" k="waterway" v="drain">
+                    <line class='waterway-drain-core'/>
+                </rule>
+            </layer>
+        </rule>
+
+
+         <!-- Landuse -->
+        <rule e="way" k="landuse|natural" v="*">
+            <layer name="Land use">
+                <rule e="way" k="landuse" v="residential">
+                    <area class='landuse-residential'/>
+                </rule>
+                <rule e="way" k="landuse" v="retail">
+                    <area class='landuse-retail'/>
+                </rule>
+                <rule e="way" k="landuse" v="industrial">
+                    <area class="landuse-industrial" />
+                </rule>
+                <rule e="way" k="landuse" v="commercial">
+                    <area class="landuse-commercial" />
+                </rule>
+                <rule e="way" k="natural" v="water|pond|lake|bay">
+                    <area class='natural-water' />
+                </rule>
+                <rule e="way" k="landuse" v="reservoir">
+                    <area class='natural-water' />
+                </rule>
+                <rule e="way" k="landuse" v="basin">
+                    <area class='natural-water' />
+                </rule>
+                <rule e="way" k="landuse" v="cemetery">
+                    <area class='landuse-cemetery' />
+                    <rule e="way" k="religion" v="christian">
+		        <area class='landuse-cemetery-christian' />
+                    </rule>
+                </rule>
+            </layer>
+        </rule>
+
+
+        <!-- Man-made areas -->
+        <layer name="Man-made">
+            <rule e="way" k="sport" v="rugby|soccer|cricket|horse_racing|golf|hockey|tennis|football|baseball|bowls|basketball">
+                <area class='sport'/>
+            </rule>
+            <rule e="way" k="amenity" v="parking">
+                <area class='amenity-parking'/>
+            </rule>
+            <rule e="way" k="amenity" v="school|university|college">
+                <area class='school-area'/>
+            </rule>
+            <rule e="way" k="tourism" v="attraction">
+                <area class='tourism-attraction'/>
+            </rule>
+            <rule e="way" k="building" v="barn|warehouse|oast_house|tower|castle|monument|hall|shed|store|stadium">
+                <area class='building'/>
+            </rule>
+            <rule e="way" k="building" v="*">
+                <area class='building-block'/>
+            </rule>
+            <rule e="way" k="building" v="detached|semi|terrace|apartments">
+                <area class='building-residential'/>
+            </rule>
+        </layer>
+
+        <!-- Contours -->
+        <rule e="segment|way" k="contour" v="*">
+            <layer name="Contours">
+                <line class='contour' />
+                <text k="contour" text-anchor='middle' startOffset='50%' class="contour-name" />
+            </layer>
+        </rule>
+
+        <!-- Bridges -->
+        <rule e="segment|way" k="bridge" v="yes|true">
+            <layer name="Bridges">
+                <rule e="segment|way" k="highway" v="motorway|trunk">
+                    <line class='bridge-casing-35' />
+                    <line class='bridge-core-35' />
+                </rule>
+                <rule e="segment|way" k="highway" v="motorway_link|trunk_link|primary|primary_link|secondary">
+                    <line class='bridge-casing-30' />
+                    <line class='bridge-core-30' />
+                </rule>
+                <rule e="segment|way" k="highway" v="unclassified|residential|pedestrian|track">
+                    <line class='bridge-casing-25' />
+                    <line class='bridge-core-25' />
+                </rule>
+                <rule e="segment|way" k="railway" v="rail">
+                    <line class='bridge-casing-25' />
+                    <line class='bridge-core-25' />
+                </rule>
+                <rule e="segment|way" k="railway" v="light_rail|subway|tram">
+                    <line class='bridge-casing-20' />
+                    <line class='bridge-core-20' />
+                </rule>
+                <rule e="segment|way" k="highway" v="cycleway">
+                    <line class='bridge-casing-20' />
+                    <line class='bridge-core-20' />
+                </rule>
+                <rule e="segment|way" k="highway" v="service">
+                    <line class='bridge-casing-15' />
+                    <line class='bridge-core-15' />
+                </rule>
+                <rule e="segment|way" k="highway" v="footway">
+                    <line class='bridge-casing-10' />
+                    <line class='bridge-core-10' />
+                </rule>
+            </layer>
+        </rule>
+
+
+        <!-- Roads and paths -->
+        <layer name="Roads and Paths">
+
+            <!-- Highway casings -->
+            <rule e="segment|way" k="tunnel" v="~|no|false">
+                <rule e="segment|way" k="highway" v="pedestrian">
+                    <line class='highway-pedestrian-casing' />
+                </rule>
+                <rule e="segment|way" k="highway" v="track">
+                    <line class='highway-track-casing' />
+                </rule>
+                <rule e="segment|way" k="highway" v="unclassified|residential|minor|tertiary">
+                    <line class='highway-unclassified-casing' />
+                </rule>
+                <rule e="segment|way" k="highway" v="unsurfaced">
+                    <line class='highway-unsurfaced-casing' />
+                </rule>
+                <rule e="segment|way" k="highway" v="service">
+                    <line class='highway-service-casing' />
+                </rule>
+                <rule e="segment|way" k="highway" v="secondary">
+                    <line class='highway-secondary-casing' />
+                </rule>
+                <rule e="segment|way" k="highway" v="primary">
+                    <line class='highway-primary-casing' />
+                </rule>
+                <rule e="segment|way" k="highway" v="primary_link">
+                    <line class='highway-primary-link-casing' />
+                </rule>
+                <rule e="segment|way" k="highway" v="trunk">
+                    <line class='highway-trunk-casing' />
+                </rule>
+                <rule e="segment|way" k="highway" v="trunk_link">
+                    <line class='highway-trunk-link-casing' />
+                </rule>
+                <rule e="segment|way" k="highway" v="motorway">
+                    <line class='highway-motorway-casing' />
+                </rule>
+                <rule e="segment|way" k="highway" v="motorway_link">
+                    <line class='highway-motorway-link-casing' />
+                </rule>
+            </rule>
+
+            <!-- Mini roundabout -->
+            <rule e="node" k="highway" v="mini_roundabout">
+                <circle r="0.95px" class="mini-roundabout-casing"/>
+            </rule>
+
+
+            <!-- Paths in tunnels -->
+            <rule e="segment|way" k="tunnel" v="yes|true">
+                <rule e="segment|way" k="highway" v="footway|steps|cycleway|bridleway|byway">
+                    <tunnel width="0" class='highway-tunnel-narrow' />
+                </rule>
+            </rule>
+
+            <!-- Paths not in tunnels -->
+            <rule e="segment|way" k="tunnel" v="~|no|false">
+                <rule e="segment|way" k="highway" v="footway|steps">
+                    <line class='highway-footway' />
+                    <text k="ref" class='highway-footway-ref' dx='2px' dy='-2px' />
+                </rule>
+                <rule e="segment|way" k="highway" v="steps">
+                    <line class='highway-steps' />
+                </rule>
+                <rule e="segment|way" k="highway" v="cycleway">
+                    <line class='highway-cycleway' />
+                    <text k="ref" class='highway-cycleway-ref' dx='2px' dy='-2px' />
+                </rule>
+                <rule e="segment|way" k="highway" v="bridleway">
+                    <line class='highway-bridleway' />
+                    <text k="ref" class='highway-bridleway-ref' dx='2px' dy='-2px' />
+                </rule>
+                <rule e="way" k="highway" v="byway">
+                    <line class='highway-byway' />
+                    <text k="ref" class='highway-byway-ref' dx='2px' dy='-2px' />
+                </rule>
+            </rule>
+
+
+            <!-- Highway cores (not in tunnel) -->
+            <rule e="segment|way" k="tunnel" v="~|false|no">
+                <addclass e="segment|way" k="bridge" v="yes|true" class="round">
+                    <rule e="segment|way" k="highway" v="pedestrian">
+                        <line class='highway-pedestrian-core' />
+                    </rule>
+                    <rule e="segment|way" k="highway" v="track">
+                        <line class='highway-track-core' />
+                    </rule>
+                    <addclass k="oneway" v="1|yes|true" class="oneway">
+                        <addclass k="oneway" v="-1" class="otherway">
+                            <rule e="segment|way" k="highway" v="unclassified|residential|minor|tertiary">
+                                <line class='highway-unclassified-core' />
+                            </rule>
+                            <rule e="segment|way" k="highway" v="unsurfaced">
+                                <line class='highway-unsurfaced-core' />
+                            </rule>
+                            <rule e="segment|way" k="highway" v="service">
+                                <line class='highway-service-core' />
+                            </rule>
+                            <rule e="segment|way" k="highway" v="secondary">
+                                <line class='highway-secondary-core' />
+                            </rule>
+                            <rule e="segment|way" k="highway" v="primary_link">
+                                <line class='highway-primary-link-core' />
+                            </rule>
+                        </addclass>
+                    </addclass>
+                    <rule e="segment|way" k="highway" v="trunk_link">
+                        <line class='highway-trunk-link-core' />
+                    </rule>
+                    <rule e="segment|way" k="highway" v="motorway_link">
+                        <line class='highway-motorway-link-core' />
+                    </rule>
+                    <rule e="segment|way" k="highway" v="primary">
+                        <addclass k="oneway" v="1|yes|true" class="oneway">
+                            <addclass k="oneway" v="-1" class="otherway">
+                                <line class='highway-primary-core' />
+                            </addclass>
+                        </addclass>
+                    </rule>
+                    <rule e="segment|way" k="highway" v="trunk">
+                        <line class='highway-trunk-core' />
+                    </rule>
+                    <rule e="segment|way" k="highway" v="motorway">
+                        <line class='highway-motorway-core' />
+                    </rule>
+                </addclass>
+            </rule>
+
+            <!-- Highway tunnels -->
+            <rule e="segment|way" k="tunnel" v="true|yes">
+                <rule e="segment|way" k="highway" v="pedestrian">
+                    <tunnel width="2" class='highway-pedestrian' />
+                </rule>
+                <rule e="segment|way" k="highway" v="track">
+                    <tunnel width="2" class='highway-track' />
+                </rule>
+                <rule e="segment|way" k="highway" v="unclassified|residential|minor|tertiary">
+                    <tunnel width="2" class='highway-unclassified' />
+                </rule>
+                <rule e="segment|way" k="highway" v="unsurfaced">
+                    <tunnel width="2" class='highway-unsurfaced' />
+                </rule>
+                <rule e="segment|way" k="highway" v="service">
+                    <tunnel width="1" class='highway-service' />
+                </rule>
+                <rule e="segment|way" k="highway" v="secondary">
+                    <tunnel width="3" class='highway-secondary' />
+                </rule>
+                <rule e="segment|way" k="highway" v="primary_link">
+                    <tunnel width="3" class='highway-primary-link' />
+                </rule>
+                <rule e="segment|way" k="highway" v="trunk_link">
+                    <tunnel width="3" class='highway-trunk-link' />
+                </rule>
+                <rule e="segment|way" k="highway" v="motorway_link">
+                    <tunnel width="3" class='highway-motorway-link' />
+                </rule>
+                <rule e="segment|way" k="highway" v="primary">
+                    <tunnel width="3" class='highway-primary' />
+                </rule>
+                <rule e="segment|way" k="highway" v="trunk">
+                    <tunnel width="4" class='highway-trunk' />
+                </rule>
+                <rule e="segment|way" k="highway" v="motorway">
+                    <tunnel width="4" class='highway-motorway' />
+                </rule>
+            </rule>
+
+            <rule e="node" k="highway" v="mini_roundabout">
+                <circle r="0.8px" class="mini-roundabout-core"/>
+                <circle r="0.2px" class="mini-roundabout-dot"/>
+            </rule>
+        </layer>
+
+
+        <!-- Railway lines -->
+        <rule e="segment|way" k="railway" v="*">
+            <layer name="Railway/Subway/Tram">
+
+                <!-- not in tunnel -->
+                <rule e="segment|way" k="tunnel" v="~|no|false">
+                    <rule e="segment|way" k="railway" v="rail">
+                        <line class='railway-rail' />
+                        <line class='railway-rail-dashes' />
+                    </rule>
+                    <rule e="segment|way" k="railway" v="light_rail|tram">
+                        <line class='railway-light-rail' />
+                    </rule>
+                    <rule e="segment|way" k="railway" v="subway">
+                        <line class='railway-subway-rail' />
+                    </rule>
+                </rule>
+
+                <!-- in tunnel -->
+                <rule e="segment|way" k="tunnel" v="true|yes">
+                    <rule e="segment|way" k="railway" v="rail">
+                        <tunnel width="3" class='railway-rail' />
+                    </rule>
+                    <rule e="segment|way" k="railway" v="light_rail|subway|tram">
+                        <tunnel width="0" class='railway-tunnel-narrow' />
+                    </rule>
+                </rule>
+
+            </layer>
+        </rule>
+
+
+        <!-- Airfields and airports -->
+        <rule e="node|segment|way" k="aeroway" v="*">
+            <layer name="Airfields and airports">
+                <rule e="segment|way" k="aeroway" v="runway">
+                    <line class='aeroway-runway-casing'/>
+                </rule>
+                <rule e="segment|way" k="aeroway" v="taxiway">
+                    <line class='aeroway-taxiway-casing'/>
+                </rule>
+                <rule e="segment|way" k="aeroway" v="runway">
+                    <line class='aeroway-runway-core'/>
+                </rule>
+                <rule e="segment|way" k="aeroway" v="taxiway">
+                    <line class='aeroway-taxiway-core'/>
+                </rule>
+                <rule e="node" k="aeroway" v="aerodrome">
+                    <symbol ref="airport" transform="scale(2)" />
+                    <rule k="osmarender:renderName" v="~|yes">
+                        <text k="name" class='aeroway-aerodrome-caption' dx='4px' dy='2.5px'/>
+                    </rule>
+                </rule>
+                <rule e="node" k="aeroway" v="airport">
+                    <symbol ref="airport" />
+                    <rule k="osmarender:renderName" v="~|yes">
+                        <text k="name" class='aeroway-airport-caption' dx='8px' dy='4px' />
+                    </rule>
+                </rule>
+            </layer>
+        </rule>
+
+
+        <!-- Aerialways -->
+        <rule e="node|way" k="aerialway" v="*">
+            <layer name="Aerialways">
+                <line class='aerialway-line'/>
+                <line class='aerialway-struts'/>
+            </layer>
+        </rule>
+
+
+
+        <!-- Power lines and pylons -->
+        <rule e="node|way" k="power" v="*">
+            <layer name="Power lines">
+                <rule e="node" k="power" v="tower">
+                    <symbol ref="power_tower" />
+                </rule>
+                <rule e="way" k="power" v="line">
+                    <line class='power-line'/>
+                </rule>
+            </layer>
+        </rule>
+
+
+        <!-- Non-pysical routes -->
+        <rule e="segment|way" k="route" v="ferry">
+            <layer name="Ferry">
+                <line class='route-ferry' />
+            </layer>
+        </rule>
+
+
+        <!-- Boundaries -->
+        <rule e="node" k="boundary" v="*">
+            <layer name="Boundaries">
+                <rule e="node" k="boundary" v="national">
+                    <symbol ref="customs" />
+                </rule>
+            </layer>
+        </rule>
+
+        <!-- Place names  -->
+        <rule e="node" k="place" v="*">
+            <layer name="Place names">
+                <rule e="node" k="place" v="continent">
+                    <text k="name" class='continent-caption' />
+                </rule>
+                <rule e="node" k="place" v="country">
+                    <text k="name" class='country-caption' />
+                </rule>
+                <rule e="node" k="place" v="state">
+                    <text k="name" class='state-caption' />
+                </rule>
+                <rule e="node" k="place" v="region">
+                    <text k="name" class='region-caption' />
+                </rule>
+                <rule e="node" k="place" v="county">
+                    <text k="name" class='county-caption' />
+                </rule>
+                <rule e="node" k="place" v="city">
+                    <text k="name" class='city-caption' />
+                </rule>
+                <rule e="node" k="place" v="town">
+                    <text k="name" class='town-caption' />
+                </rule>
+                <rule e="node" k="place" v="village">
+                    <text k="name" class='village-caption' />
+                </rule>
+                <rule e="node" k="place" v="suburb">
+                    <text k="name" class='suburb-caption' />
+                </rule>
+                <rule e="node" k="place" v="hamlet">
+                    <text k='name' class='hamlet-caption' />
+                </rule>
+                <rule e="node" k="place" v="farm">
+                    <text k='name' class='farm-caption' />
+                </rule>
+            </layer>
+        </rule>
+
+
+        <!-- Tourist features -->
+        <rule e="node" k="tourism" v="*">
+            <layer name="Tourist features">
+                <rule e="node" k="tourism" v="attraction">
+                    <text k='name' class='tourism-attraction-caption' />
+                </rule>
+                <rule e="node" k="tourism" v="hotel">
+                    <symbol ref="hotel" />
+                </rule>
+                <rule e="node" k="tourism" v="hostel">
+                    <symbol ref="hostel" />
+                </rule>
+                <rule e="node" k="tourism" v="camp_site">
+                    <symbol ref="camp_site" />
+                </rule>
+            </layer>
+        </rule>
+
+
+        <!-- Railway stations -->
+        <layer name="Railway stations">
+            <rule e="node" k="railway" v="station">
+                <circle r="1.5" class="railway-station" />
+                <rule k="osmarender:renderName" v="~|yes">
+                    <text k="name" class='railway-station-caption' dx='2.5px' dy='1.5px' />
+                </rule>
+            </rule>
+            <rule e="node" k="railway" v="halt">
+                <circle r="0.7" class="railway-halt" />
+                <rule k="osmarender:renderName" v="~|yes">
+                    <text k="name" class='railway-halt-caption' dx='2.5px' dy='1.5px' />
+                </rule>
+            </rule>
+        </layer>
+
+
+        <layer name="Amenities and other symbols">
+            <!-- Amenities -->
+            <rule e="node" k="amenity" v="hospital">
+                <symbol ref="hospital" />
+                <rule k="osmarender:renderName" v="~|yes">
+                    <text k='name' class='amenity-misc-caption' dx='2px' dy='0.4px'/>
+                </rule>
+            </rule>
+            <rule e="node" k="amenity" v="pharmacy">
+                <symbol ref="pharmacy_dispensing" />
+                <rule k="osmarender:renderName" v="~|yes">
+                    <text k='name' class='amenity-misc-caption' dx='2px' dy='0.4px'/>
+                </rule>
+            </rule>
+
+            <rule e="node" k="amenity" v="school">
+                <symbol ref="school" />
+                <rule k="osmarender:renderName" v="~|yes">
+                    <text k='name' class='amenity-misc-caption' dx='2px' dy='0.4px'/>
+                </rule>
+            </rule>
+            <rule e="node" k="amenity" v="university">
+                <symbol ref="university" />
+                <rule k="osmarender:renderName" v="~|yes">
+                    <text k='name' class='amenity-misc-caption' dx='2px' dy='0.4px'/>
+                </rule>
+            </rule>
+            <rule e="node" k="amenity" v="library">
+                <symbol ref="library" />
+                <rule k="osmarender:renderName" v="~|yes">
+                    <text k='name' class='amenity-misc-caption' dx='2px' dy='0.4px'/>
+                </rule>
+            </rule>
+
+            <rule e="node" k="amenity" v="post_office">
+                <symbol ref="post_office" />
+            </rule>
+            <rule e="node" k="amenity" v="post_box">
+                <symbol ref="post_box" />
+            </rule>
+            <rule e="node" k="amenity" v="telephone">
+                <symbol ref="telephone" />
+            </rule>
+            <rule e="node" k="amenity" v="cinema">
+                <symbol ref="cinema" />
+                <rule k="osmarender:renderName" v="~|yes">
+                    <text k='name' class='amenity-misc-caption' dx='2px' dy='0.4px'/>
+                </rule>
+            </rule>
+            <rule e="node" k="amenity" v="theatre">
+                <symbol ref="theatre" />
+                <rule k="osmarender:renderName" v="~|yes">
+                    <text k='name' class='amenity-misc-caption' dx='2px' dy='0.4px'/>
+                </rule>
+            </rule>
+            <rule e="node" k="amenity" v="restaurant">
+                <symbol ref="restaurant" />
+                <rule k="osmarender:renderName" v="~|yes">
+                    <text k='name' class='amenity-pub-caption' dx='2px' dy='0.4px'/>
+                </rule>
+            </rule>
+            <rule e="node" k="amenity" v="pub">
+                <symbol ref="pub" />
+                <rule k="osmarender:renderName" v="~|yes">
+                    <text k='name' class='amenity-pub-caption' dx='1px' dy='0.4px'/>
+                </rule>
+            </rule>
+            <rule e="node" k="amenity" v="supermarket">
+                <symbol ref="supermarket" />
+                <rule k="osmarender:renderName" v="~|yes">
+                    <text k='name' class='amenity-pub-caption' dx='2px' dy='0.4px'/>
+                </rule>
+            </rule>
+            <rule e="node" k="amenity" v="courthouse">
+                <symbol ref="courthouse" />
+                <rule k="osmarender:renderName" v="~|yes">
+                    <text k='name' class='amenity-pub-caption' dx='2px' dy='0.4px'/>
+                </rule>
+            </rule>
+            <rule e="node" k="amenity" v="place_of_worship">
+                <rule e="node" k="denomination|religion" v="~">
+                    <symbol ref="church" />
+                </rule>
+                <rule e="node" k="denomination|religion" v="christian|church_of_england">
+                    <symbol ref="church" />
+                </rule>
+                <rule e="node" k="denomination|religion" v="jewish">
+                    <symbol ref="synagogue" />
+                </rule>
+                <rule e="node" k="denomination|religion" v="muslim">
+                    <symbol ref="mosque" />
+                </rule>
+                <rule k="osmarender:renderName" v="~|yes">
+                    <text k='name' class='amenity-misc-caption' dx='2px' dy='0.4px'/>
+                </rule>
+            </rule>
+            <rule e="node" k="amenity" v="parking">
+                <symbol ref="parking" />
+            </rule>
+            <rule e="node" k="amenity" v="fuel">
+                <symbol ref="petrol_station" />
+                <rule k="osmarender:renderName" v="~|yes">
+                    <text k='name' class='amenity-misc-caption' dx='2px' dy='0.4px'/>
+                </rule>
+            </rule>
+            <rule k="amenity" v="recycling">
+                <symbol ref="recycling" />
+            </rule>
+
+            <!-- Historic symbols -->
+            <rule e="node" k="historic" v="museum">
+                <symbol ref="museum" />
+                <rule k="osmarender:renderName" v="~|yes">
+                    <text k='name' class='amenity-pub-caption' dx='1px' dy='0.4px'/>
+                </rule>
+            </rule>
+
+            <!-- Leisure symbols -->
+            <rule e="node" k="leisure" v="golf_course">
+                <symbol ref="golf_course" />
+            </rule>
+            <rule e="node" k="leisure" v="slipway">
+                <symbol ref="slipway" />
+            </rule>
+        </layer>
+
+
+        <!-- Street names for all highways -->
+        <rule k="osmarender:renderName" v="~|yes">
+            <rule e="segment|way" k="tunnel" v="~|no|false">    <!-- no names in tunnels -->
+                <rule e="segment|way" k="highway" v="*">
+                    <layer name="Street names">
+                        <rule e="segment|way" k="highway" v="unclassified|residential|minor|tertiary|pedestrian">
+                            <text k="name" text-anchor='middle' startOffset='50%' class="highway-unclassified-name" dy="0.33px" />
+                        </rule>
+                        <rule e="way" k="highway" v="unsurfaced|track">
+                            <text k="name" text-anchor='middle' startOffset='50%' class="highway-unsurfaced-name" dy="0.33px" />
+                        </rule>
+                        <rule e="way" k="highway" v="footway|cycleway">
+                            <text k="name" text-anchor='middle' startOffset='50%' class="highway-footway-name" dy="0.33px" />
+                        </rule>
+                        <rule e="segment|way" k="highway" v="service">
+                            <text k="name" text-anchor='middle' startOffset='50%' class="highway-unclassified-name" dy="0.33px" />
+                        </rule>
+                        <rule e="segment|way" k="highway" v="secondary">
+                            <text k="name" text-anchor='middle' startOffset='50%' class="highway-secondary-name" dy="0.33px" />
+                        </rule>
+                        <rule e="segment|way" k="highway" v="primary">
+                            <text k="name" text-anchor='middle' startOffset='50%' class="highway-primary-name" dy="0.33px" />
+                        </rule>
+                        <rule e="segment|way" k="highway" v="trunk">
+                            <text k="name" text-anchor='middle' startOffset='50%' class="highway-trunk-name" dy="0.33px" />
+                        </rule>
+                        <rule e="segment|way" k="highway" v="motorway">
+                            <text k="name" text-anchor='middle' startOffset='50%' class="highway-motorway-name" dy="0.33px" />
+                        </rule>
+                    </layer>
+                </rule>
+            </rule>
+        </rule>
+
+
+        <!-- Road numbers for all highways -->
+        <rule k="osmarender:renderRef" v="~|yes">
+            <rule e="segment|way" k="tunnel" v="~|no|false">    <!-- no road numbers in tunnels -->
+                <rule e="segment|way" k="highway" v="*">
+                    <layer name="Road numbers">
+                        <rule e="segment|way" k="highway" v="unclassified|residential">
+                            <text k="ref" class='highway-unclassified-ref' dx='2.5px' dy='-2.5px' />
+                        </rule>
+                        <rule e="way" k="highway" v="unsurfaced">
+                            <text k="ref" class='highway-unsurfaced-ref' dx='2.5px' dy='-2.5px' />
+                        </rule>
+                        <rule e="segment|way" k="highway" v="service">
+                            <text k="ref" class='highway-service-ref' dx='2.5px' dy='-2.5px' />
+                        </rule>
+                        <rule e="segment|way" k="highway" v="secondary">
+                            <text k="ref" class='highway-secondary-ref' dx='2.5px' dy='-2.5px' />
+                        </rule>
+                        <rule e="segment|way" k="highway" v="primary">
+                            <text k="ref" text-anchor='middle' startOffset='60%' class="highway-primary-ref" />
+                        </rule>
+                        <rule e="segment|way" k="highway" v="trunk">
+                            <text k="ref" class='highway-trunk-ref' dx='2.5px' dy='-2.5px' />
+                        </rule>
+                        <rule e="segment|way" k="highway" v="motorway">
+                            <text k="ref" class='highway-motorway-ref' dx='2.5px' dy='-2.5px' />
+                        </rule>
+                    </layer>
+                </rule>
+            </rule>
+        </rule>
+
+
+        <!-- Traffic symbols -->
+        <layer name="Traffic symbols">
+            <rule e="node" k="highway" v="gate">
+                <symbol ref="gate" transform="scale(0.6)"/>
+            </rule>
+            <rule e="node" k="highway" v="traffic_signals">
+                <symbol ref="traffic_signal" />
+            </rule>
+        </layer>
+
+        <!-- Use the following three rules to display nodes, segments and ways as they would appear in JOSM, overlayed on top of anything else -->
+        <!--
+        <rule e="segment" k="*" v="*">
+            <line class='josm-segment' />
+        </rule>
+
+        <rule e="way" k="*" v="*">
+            <line class='josm-way' />
+        </rule>
+
+        <rule e="node" k="*" v="*">
+            <circle r='0.2' class='josm-node' />
+        </rule>
+        -->
+
+        <!-- Use this rule to highlight tags that you want to get rid of, or change -->
+        <!--<rule e="way" k="class|highway|waterway|route" v="~">
+                <line class='error'/>
+        </rule>-->
+    </rule>
+
+
+    <!-- SVG Definitions - markers, symbols etc go here -->
+    <defs>
+
+        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
+            .debug {
+                stroke-width: 0.1px;
+                stroke-linecap: round;
+                stroke: gray;
+                /* marker-end: url(#segment-direction); */
+            }
+
+            .contour-name {
+                fill: black;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 3px;
+            }
+
+            .contour {
+                stroke-width: 0.4px;
+                stroke-linecap: round;
+                stroke: gray;
+                fill: none;
+                /* marker-end: url(#segment-direction); */
+            }
+
+            .error {
+                stroke-width: 2px;
+                stroke-linecap: round;
+                stroke: red;
+            }
+
+            .untagged-segments {
+                stroke-width: 0.5px;
+                stroke-linejoin: butt;
+                stroke-linecap: butt;
+                stroke: #e0e0e0;
+                stroke-dasharray: 0.5,0.5;
+            }
+
+            .abutters-residential {
+                stroke-width: 9px;
+                stroke-linecap: butt;
+                stroke: #f2f2f2;
+                fill: none;
+            }
+
+            /* Abutters */
+            .abutters-retail {
+                stroke-width: 9px;
+                stroke-linecap: butt;
+                stroke: #ffebeb;
+                fill: none;
+            }
+
+            .abutters-industrial {
+                stroke-width: 9px;
+                stroke-linecap: butt;
+                stroke: #ecd8ff;
+                fill: none;
+            }
+
+            .abutters-commercial {
+                stroke-width: 9px;
+                stroke-linecap: butt;
+                stroke: #fcffc9;
+                fill: none;
+            }
+
+            .abutters-mixed {
+                stroke-width: 9px;
+                stroke-linecap: butt;
+                stroke: #d8feff;
+                fill: none;
+            }
+
+
+            /* Bridge casing */
+            .bridge-casing-35 {
+                stroke-width: 3.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-30 {
+                stroke-width: 3px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-25 {
+                stroke-width: 2.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-20 {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-15 {
+                stroke-width: 1.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+            .bridge-casing-10 {
+                stroke-width: 1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#bridge-casing-start);
+                marker-end: url(#bridge-casing-end);
+            }
+
+
+            /* Bridge core */
+            .bridge-core-35 {
+                stroke-width: 3px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-30 {
+                stroke-width: 2.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-25 {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-20 {
+                stroke-width: 1.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-15 {
+                stroke-width: 1.25px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+            .bridge-core-10 {
+                stroke-width: 0.75px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #fcfcfc;
+                fill: none;
+            }
+
+
+            /* Tunnels */
+            .tunnel-casing {
+                stroke-width: 2px;
+                stroke-dasharray: 0.01,100000;
+                stroke: #222222;
+                fill: none;
+                marker-start: url(#tunnel-start-wide);
+                marker-end: url(#tunnel-end-wide);
+            }
+
+
+            /* Highways */
+            .highway-motorway-casing {
+                stroke-width: 2.5px;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+            }
+
+            .highway-motorway-link-casing {
+                stroke-width: 2px;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+            }
+
+            .highway-motorway-core {
+                stroke-width: 2px;
+                stroke-linejoin: round;
+                stroke: #809BC0;
+                fill: none;
+            }
+
+            .highway-motorway-link-core {
+                stroke-width: 1.5px;
+                stroke-linejoin: round;
+                stroke: #809BC0;
+                fill: none;
+            }
+
+            .highway-motorway-name {
+                fill: black;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 1.5px;
+                font-weight: normal;
+            }
+
+            .highway-motorway-ref {
+                fill: black;
+                stroke: white;
+                stroke-width: .4px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 7px;
+                font-weight: bolder;
+            }
+
+            .highway-trunk-casing {
+                stroke-width: 2.5px;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+            }
+
+            .highway-trunk-link-casing {
+                stroke-width: 2px;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+            }
+
+            .highway-trunk-core {
+                stroke-width: 2px;
+                stroke-linejoin: round;
+                stroke: #e46d71;
+                fill: none;
+            }
+
+            .highway-trunk-link-core {
+                stroke-width: 1.5px;
+                stroke-linejoin: round;
+                stroke: #e46d71;
+                fill: none;
+            }
+
+            .highway-trunk-name {
+                fill: black;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 1.5px;
+                font-weight: normal;
+            }
+
+            .highway-trunk-ref {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.4px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 6px;
+                font-weight: bolder;
+            }
+
+            .highway-primary-casing {
+                stroke-width: 2px;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+            }
+
+            .highway-primary-link-casing {
+                stroke-width: 2px;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+            }
+
+            .highway-primary-core {
+                stroke-width: 1.5px;
+                stroke-linejoin: round;
+                stroke: #7FC97F;
+                fill: none;
+            }
+
+            .highway-primary-link-core {
+                stroke-width: 1.5px;
+                stroke-linejoin: round;
+                stroke: #7FC97F;
+                fill: none;
+            }
+
+            .highway-primary-name {
+                fill: black;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 1px;
+                font-weight: bolder;
+                stroke: #ffffff;
+                stroke-width: 0px;
+            }
+
+            .highway-primary-ref {
+                fill: black;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 1px;
+                font-weight: bolder;
+                stroke: white;
+                stroke-width: 0px;
+            }
+
+            .highway-secondary-casing {
+                stroke-width: 2px;
+                stroke-linejoin: round;
+                stroke: #222222;
+                fill: none;
+            }
+
+            .highway-secondary-core {
+                stroke-width: 1.5px;
+                stroke-linejoin: round;
+                stroke: #FDBF6F;
+                fill: none;
+            }
+
+            .highway-secondary-name {
+                fill: black;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 1px;
+                font-weight: bolder;
+            }
+
+            .highway-secondary-ref {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 5px;
+                font-weight: bolder;
+            }
+
+            .highway-unclassified-casing {
+                stroke-width: 1.5px;
+                stroke-linejoin: round;
+                fill: none;
+                stroke: #222222;
+            }
+
+            .highway-unclassified-core {
+                stroke-width: 1.2px;
+                stroke-linejoin: round;
+                stroke: #ffffff;
+                fill: none;
+            }
+
+            .highway-unclassified-name {
+                fill: black;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 1px;
+                font-weight: bold;
+             }
+
+            .highway-unclassified-ref {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 4.5px;
+                font-weight: bolder;
+            }
+
+            .highway-unsurfaced-casing {
+                stroke-width: 1.5px;
+                stroke-linejoin: round;
+                fill: none;
+                stroke: #222222;
+                stroke-dasharray: 1px, .5px;
+            }
+
+            .highway-unsurfaced-core {
+                stroke-width: 1.2px;
+                stroke-linejoin: round;
+                stroke: #ffffff;
+                fill: none;
+            }
+
+            .highway-unsurfaced-name {
+                fill: black;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 1px;
+                font-weight: bold;
+             }
+
+            .highway-footway-name {
+                fill: black;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 1px;
+                font-weight: bold;
+             }
+
+            .highway-unsurfaced-ref {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 4.5px;
+                font-weight: bolder;
+            }
+
+            .highway-track-casing {
+                stroke-width: 1.5px;
+                stroke-linejoin: round;
+                fill: none;
+                stroke: #d79331;
+            }
+
+            .highway-track-core {
+                stroke-width: 1.2px;
+                stroke-linejoin: round;
+                stroke: #ffffff;
+                fill: none;
+            }
+
+            .highway-pedestrian-casing {
+                stroke-width: 1.5px;
+                stroke-linejoin: round;
+                fill: none;
+                stroke: #aaaaaa;
+            }
+
+            .highway-pedestrian-core {
+                stroke-width: 1.2px;
+                stroke-linejoin: round;
+                stroke: #eeeeee;
+                fill: none;
+            }
+
+            .highway-service-casing {
+                stroke-width: 0.7px;
+                stroke-linejoin: round;
+                fill: none;
+                stroke: #222222;
+            }
+
+            .highway-service-core {
+                stroke-width: 0.4px;
+                stroke-linejoin: round;
+                stroke: #ffffff;
+                fill: none;
+            }
+
+            .highway-service-name {
+                fill: black;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 0.3px;
+                font-weight: bold;
+            }
+
+            .highway-unclassified-ref {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 4.5px;
+                font-weight: bolder;
+            }
+
+            .highway-bridleway {
+                stroke-width: 1px;
+                stroke-linecap: round;
+                stroke-linejoin: round;
+                stroke: #70b971;
+                fill: none;
+            }
+
+            .highway-byway {
+                stroke-width: 1px;
+                stroke-linecap: round;
+                stroke-linejoin: round;
+                stroke: #ef7771;
+                fill: none;
+            }
+
+            .highway-byway-ref {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 4px;
+                font-weight: bolder;
+            }
+
+            .highway-cycleway {
+                stroke-width: 1px;
+                stroke-linejoin: round;
+                stroke: #008102;
+                fill: none;
+            }
+
+            .highway-cycleway-ref {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 4px;
+                font-weight: bolder;
+            }
+
+            .highway-footway {
+                stroke-width: 0.5px;
+                stroke-linejoin: round;
+                stroke: #d79331;
+                fill: none;
+            }
+
+            .highway-footway-ref {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 4px;
+                font-weight: bolder;
+            }
+
+            .highway-steps {
+                stroke-width: 0.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #707070;
+                stroke-dasharray: 0.1px, 0.3px;
+                fill: none;
+            }
+
+            .highway-tunnel-narrow {
+                stroke-width: 0.1px;
+                stroke-dasharray: 0.2,0.2;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+                marker-start: url(#tunnel-start-narrow);
+                marker-end: url(#tunnel-end-narrow);
+            }
+
+            .round {
+                stroke-linecap: round;
+            }
+
+
+            /* Mini roundabouts */
+            .mini-roundabout-casing {
+                fill: #222222;
+                stroke: #222222;
+            }
+
+            .mini-roundabout-core {
+                stroke: #ffffff;
+                fill: #ffffff;
+            }
+
+            .mini-roundabout-dot {
+                stroke: none;
+                fill: #222222;
+            }
+
+
+            /* Aeroways */
+            .aeroway-taxiway-core {
+                stroke-width: 1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #CCCCCC;
+                fill: none;
+            }
+
+            .aeroway-taxiway-casing {
+                stroke-width: 3px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .aeroway-runway-core {
+                stroke-width: 5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #CCCCCC;
+                fill: none;
+            }
+
+            .aeroway-runway-casing {
+                stroke-width: 7px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .aeroway-aerodrome-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 6px;
+                font-weight: bolder;
+            }
+
+            .aeroway-airport-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                font-weight: bolder;
+            }
+
+
+            /* Waterways */
+            .waterway-riverbank {
+                fill: #89bac6;
+                stroke: #aaaaaa;
+                stroke-width: 0px;
+            }
+
+            .waterway-river-casing {
+                stroke-width: 4px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #aaaaaa;
+                fill: none;
+            }
+
+            .waterway-river-core {
+                stroke-width: 3px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #89bac6;
+                fill: none;
+            }
+
+            .waterway-stream-casing {
+                stroke-width: 0.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #aaaaaa;
+                fill: none;
+            }
+
+            .waterway-stream-core {
+                stroke-width: 0.4px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #89bac6;
+                fill: none;
+            }
+
+            .waterway-canal-casing {
+                stroke-width: 2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #aaaaaa;
+                fill: none;
+            }
+
+            .waterway-canal-core {
+                stroke-width: 1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #89bac6;
+                fill: none;
+            }
+
+            .waterway-drain-casing {
+                stroke-width: 1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #aaaaaa;
+                fill: none;
+            }
+
+            .waterway-drain-core {
+                stroke-width: 0.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #89bac6;
+                fill: none;
+            }
+
+            .railway-rail {
+                stroke-width: 1.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .railway-light-rail {
+                stroke-width: 0.8px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+            }
+
+            .railway-tunnel-narrow {
+                stroke-width: 0.2px;
+                stroke-dasharray: 1,2;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000000;
+                fill: none;
+                marker-start: url(#tunnel-start-narrow);
+                marker-end: url(#tunnel-end-narrow);
+            }
+
+            .railway-subway-rail {
+                stroke-width: 0.8px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #aaaaaa;
+                fill: none;
+                stroke-dasharray: 3px, 1px;
+                stroke-dashoffset: 0;
+                stroke-opacity: 1;
+            }
+
+            .railway-rail-dashes {
+                stroke-width: 1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #ffffff;
+                fill: none;
+                stroke-dasharray: 3px, 3px;
+                stroke-opacity: 1;
+            }
+
+            .railway-station {
+                fill: red;
+                stroke: black;
+                stroke-width: 0.5px;
+            }
+
+            .railway-station-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.2px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 4px;
+                font-weight: bolder;
+            }
+
+            .railway-halt {
+                fill: black;
+                stroke: black;
+                stroke-width: 0.5px;
+            }
+
+            .railway-halt-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.1px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 2px;
+                font-weight: bolder;
+            }
+
+
+            /* Ferry */
+            .route-ferry {
+                stroke-width: 0.5px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #777777;
+                fill: none;
+            }
+
+
+            /* Points of interest */
+            .point-of-interest {
+                fill: red;
+                stroke: black;
+                stroke-width: 0.5px;
+            }
+
+
+            /* JOSM Debugging */
+            .josm-segment {
+                stroke-width: 0.2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #008000;
+                fill: none;
+                marker-end: url(#segment-direction);
+            }
+
+            .josm-way {
+                stroke-width: 0.2px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #000060;
+                fill: none;
+            }
+
+            .josm-node {
+                fill: #ff0000;
+                stroke: none;
+            }
+
+
+            /* Place names */
+            .continent-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.6px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 20px;
+                font-weight: bolder;
+            }
+
+            .country-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.5px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 18px;
+                font-weight: bolder;
+            }
+
+            .state-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.5px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 16px;
+                font-weight: bolder;
+            }
+
+            .region-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.4px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 14px;
+                font-weight: bolder;
+            }
+
+            .county-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.4px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 12px;
+                font-weight: bolder;
+            }
+
+            .city-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.4px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                font-weight: bolder;
+            }
+
+            .town-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.4px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 8px;
+                font-weight: bolder;
+            }
+
+            .village-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 6px;
+                font-weight: bolder;
+            }
+
+            .suburb-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 6px;
+                font-weight: bolder;
+            }
+
+            .hamlet-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.2px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 4px;
+                font-weight: bolder;
+            }
+
+            .farm-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.1px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 3px;
+                font-weight: bold;
+            }
+
+            .church-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 5px;
+                font-weight: bold;
+            }
+
+
+            /* Natural */
+            .natural-water {
+                fill: #89bac6;
+                stroke: #aaaaaa;
+                stroke-width: 0px;
+            }
+
+            .natural-coastline {
+                fill: none;
+                stroke: #89bac6;
+                stroke-width: 0.4px;
+            }
+
+            .natural-glacier {
+                fill: #fafaff;
+                stroke: lightblue;
+                stroke-width: 0.4px;
+            }
+
+            .natural-land {
+                fill: #ffffff;
+                stroke: #e0e0e0;
+                stroke-width: 0.1px;
+            }
+
+            .natural-beach {
+                fill: #eecc55;
+                stroke: none;
+            }
+
+            .peak-caption {
+                fill: black;
+                stroke: white;
+                stroke-width: 0.3px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 6px;
+                font-weight: bolder;
+            }
+
+            /* Landuse */
+            .landuse-wood {
+                fill: #72bf81;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-cemetery {
+                fill: url(#cemetery-pattern);
+                stroke: #eeeeee;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-cemetery-christian {
+                fill: url(#cemetery-christian-pattern);
+                stroke: #eeeeee;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-field {
+                fill: #bde3cb;
+                stroke: #6fc13d;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-residential {
+                stroke: none;
+                fill: #f2f2f2;
+            }
+
+            .landuse-retail {
+                stroke: none;
+                fill: #ffebeb;
+            }
+
+            .landuse-industrial {
+                fill: #ecd8ff;
+                stroke: #eeeeee;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-commercial {
+                fill: #fcffc9;
+                stroke: #eeeeee;
+                stroke-width: 0.2px;
+            }
+
+            .landuse-retail {
+                fill: #ffebeb;
+                stroke: #eeeeee;
+                stroke-width: 0.2px;
+            }
+
+
+            /* Leisure */
+            .leisure-park {
+                fill: #c7f1a3;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            /* colour might want tweaking slightly */
+            .leisure-stadium {
+                fill: #672a8e;
+                stroke: #461d61;
+                stroke-width: 0.2px;
+            }
+
+            .leisure-track {
+                fill: #ba4752;
+                stroke: #532226;
+                stroke-width: 0.2px;
+            }
+
+            .sport {
+                fill: #bde3cb;
+                stroke: #6fc18e;
+                stroke-width: 0.2px;
+            }
+
+            .amenity-parking {
+                fill: #f7efb7;
+                stroke: #e9dd72;
+                stroke-width: 0.2px;
+            }
+
+            .school-area {
+                fill: #B9ACD8;
+                stroke: #a18bd8;
+                stroke-width: 0.2px;
+            }
+
+
+            /* Boundary */
+            .boundary-areaOfInterest {
+                fill: #f2caea;
+                stroke: #aaaaaa;
+                stroke-width: 0px;
+            }
+
+            .boundary-areaOfInterest-A {
+                fill: #f2caff;
+                stroke: #aaaaaa;
+                stroke-width: 0px;
+            }
+
+            .boundary-areaOfInterest-B {
+                fill: #f2cabb;
+                stroke: #aaaaaa;
+                stroke-width: 0px;
+            }
+
+            .boundary-areaOfInterest-C {
+                fill: #f2cadd;
+                stroke: #aaaaaa;
+                stroke-width: 0px;
+            }
+
+
+            /* Tourism */
+            .tourism-attraction {
+                fill: #f2caea;
+                stroke: #f124cb;
+                stroke-width: 0px;
+            }
+
+            .tourism-attraction-caption {
+                fill: #f124cb;
+                stroke: white;
+                stroke-width: 0px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 3px;
+                font-weight: bolder;
+            }
+
+            .amenity-pub-caption {
+                fill: #e21e2f;
+                stroke: white;
+                stroke-width: 0px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 1px;
+                font-weight: bolder;
+            }
+
+            .amenity-misc-caption {
+                fill: #e21e2f;
+                stroke: white;
+                stroke-width: 0.03px;
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 1px;
+                font-weight: bolder;
+            }
+
+            /* Building */
+            .building {
+                fill: #dddddd;
+                stroke: #cccccc;
+                stroke-width: 0.2px;
+            }
+
+            .building-block {
+                fill: #a18bd8;
+                stroke: #6a5a8e;
+                stroke-width: 0.2px;
+            }
+
+            .building-residential {
+                fill: #c95e2a;
+                stroke: #80290a;
+                stroke-width: 0.2px;
+            }
+
+
+            /* Aerialway */
+            .aerialway-line {
+                fill: none;
+                stroke: #202020;
+                stroke-width: 0.2px;
+            }
+
+            .aerialway-struts {
+                fill: none;
+                stroke: #202020;
+                stroke-width: 2px;
+                stroke-dasharray: 0.2,10;
+            }
+
+            /* Power line */
+            .power-line {
+                stroke-width: 0.1px;
+                stroke-linecap: butt;
+                stroke-linejoin: round;
+                stroke: #cccccc;
+                stroke-dasharray: 1px ,1px;
+                fill: none;
+            }
+
+
+            /* Oneway */
+            .oneway {
+                marker-start: url(#marker-oneway-start);
+                marker-end: url(#marker-oneway-end);
+            }
+
+            .otherway {
+                marker-start: url(#marker-otherway-start);
+                marker-end: url(#marker-otherway-end);
+            }
+
+
+            /* Map decoration */
+            .map-grid-line {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 0.1px;
+                stroke-opacity: 0.5;
+            }
+
+            .map-border-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 3px;
+                stroke-miterlimit: 4;
+                stroke-dasharray: none;
+                stroke-opacity: 1;
+                stroke-linecap: round;
+            }
+
+            .map-border-core {
+                fill: none;
+                fill-opacity: 1;
+                fill-rule: nonzero;
+                stroke: #ffffff;
+                stroke-width: 2px;
+                stroke-miterlimit: 0;
+                stroke-dashoffset: -0.5px;
+                stroke-opacity: 1;
+            }
+
+            .map-scale-casing {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 4px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-core {
+                fill: none;
+                stroke: #ffffff;
+                stroke-width: 3px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-bookend {
+                fill: none;
+                stroke: #8080ff;
+                stroke-width: 1px;
+                stroke-linecap: butt;
+            }
+
+            .map-scale-caption {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 10px;
+                fill: #8080ff;
+            }
+
+            .map-background {
+                fill: #fcfcfc;
+                stroke: none;
+            }
+
+            .map-title {
+                font-family: "DejaVu Sans",sans-serif;
+                font-size: 20px;
+                text-anchor: middle;
+                fill: black;
+            }
+
+            .map-title-background {
+                fill: white;
+            }
+
+            .map-marginalia-background {
+                fill: white;
+            }
+        </style>
+
+        <svg:pattern id="cemetery-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse">
+           <svg:rect fill="#bde3cb" width="10" height="10" x="0" y="0" />
+           <svg:path fill="#919191" stroke-width="0.1" d="M 1.48,0.13 C 2.12,0.13 2.63,0.64 2.63,1.28 L 2.63,4.27 L 0.33,4.27 L 0.33,1.28 C 0.33,0.64 0.85,0.13 1.48,0.13 z " />
+           <svg:path fill="#919191" stroke-width="0.1" d="M 6.64,5.78 C 7.27,5.78 7.79,6.29 7.79,6.92 L 7.79,9.91 L 5.49,9.91 L 5.49,6.92 C 5.49,6.29 6.00,5.78 6.64,5.78 z " />
+        </svg:pattern>
+
+        <svg:pattern id="cemetery-christian-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse">
+           <svg:rect fill="#bde3cb" width="11" height="11" x="0" y="0" />
+            <svg:path stroke="black" stroke-width="0.2" d="M1,1 L3,1 M2,0 L2,3 M6,6 L8,6 M7,5 L7,8"/>
+        </svg:pattern>
+
+        <svg:pattern id="pedestrian-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse">
+            <svg:path d="M0,10 L10,0" fill="none" stroke="red" width="1"/>
+        </svg:pattern>
+
+        <svg:marker
+            id="bridge-casing-start"
+            fill='none'
+            stroke-width='0.1px'
+            stroke='#222222'
+            markerWidth="1px"
+            markerHeight="1px"
+            orient="auto">
+            <svg:path d="M-0.25,0.75 L0.5,0 L-0.25,-0.75" />
+        </svg:marker>
+
+        <svg:marker
+            id="bridge-casing-end"
+            fill='none'
+            stroke-width='0.1px'
+            stroke='#222222'
+            markerWidth="1px"
+            markerHeight="1px"
+            orient="auto">
+            <svg:path d="M0.25,0.75 L-0.5,0 L0.25,-0.75" />
+        </svg:marker>
+
+        <svg:marker
+            id="tunnel-start-wide"
+            fill='none'
+            stroke-width='0.1px'
+            stroke='#222222'
+            markerWidth="1px"
+            markerHeight="1px"
+            refX="-0.15"
+            orient="auto">
+            <svg:path d="M-0.25,0.75 L-0.1,0.5 L-0.1,-0.5 L-0.25,-0.75" />
+        </svg:marker>
+
+        <svg:marker
+            id="tunnel-end-wide"
+            fill='none'
+            stroke-width='0.1px'
+            stroke='#222222'
+            markerWidth="1px"
+            markerHeight="1px"
+            refX="0.15"
+            orient="auto">
+            <svg:path d="M0.25,0.75 L0.1,0.5 L0.1,-0.5 L0.25,-0.75" />
+        </svg:marker>
+
+        <svg:marker
+            id="tunnel-start-narrow"
+            fill='none'
+            stroke-width='1px'
+            stroke='#222222'
+            markerWidth="0.1px"
+            markerHeight="0.1px"
+            refX="-1.5"
+            orient="auto">
+            <svg:path d="M-2.5,7.5 L-1,5 L-1,-5 L-2.5,-7.5" />
+        </svg:marker>
+
+        <svg:marker
+            id="tunnel-end-narrow"
+            fill='none'
+            stroke-width='1px'
+            stroke='#222222'
+            markerWidth="0.1px"
+            markerHeight="0.1px"
+            refX="1.5"
+            orient="auto">
+            <svg:path d="M2.5,7.5 L1,5 L1,-5 L2.5,-7.5" />
+        </svg:marker>
+
+        <svg:marker
+            id="marker-oneway-start"
+            viewBox="0 0 10 10"
+            refX="-20px" refY="5px"
+            markerUnits="userSpaceOnUse"
+            fill='#a2aee9'
+            stroke-width='1px'
+            stroke='#000000'
+            markerWidth="1px"
+            markerHeight="1px"
+            orient="auto">
+            <svg:path d="M 0,4 L 6,4 L 6,2 L 10,5 L 6,8 L 6,6 L 0,6 z" />
+        </svg:marker>
+
+        <svg:marker
+            id="marker-oneway-end"
+            viewBox="0 0 10 10"
+            refX="20px" refY="5px"
+            markerUnits="userSpaceOnUse"
+            fill='#a2aee9'
+            stroke-width='1px'
+            stroke='#000000'
+            markerWidth="1px"
+            markerHeight="1px"
+            orient="auto">
+            <svg:path d="M 0,4 L 6,4 L 6,2 L 10,5 L 6,8 L 6,6 L 0,6 z" />
+        </svg:marker>
+
+        <svg:marker
+            id="marker-otherway-start"
+            viewBox="0 0 10 10"
+            refX="-30px" refY="5px"
+            markerUnits="userSpaceOnUse"
+            fill='#a2aee9'
+            stroke-width='1px'
+            stroke='#000000'
+            markerWidth="1px"
+            markerHeight="1px"
+            orient="auto">
+            <svg:path d="M 10,4 L 4,4 L 4,2 L 0,5 L 4,8 L 4,6 L 10,6 z" />
+        </svg:marker>
+
+        <svg:marker
+            id="marker-otherway-end"
+            viewBox="0 0 10 10"
+            refX="30px" refY="5px"
+            markerUnits="userSpaceOnUse"
+            fill='#a2aee9'
+            stroke-width='1px'
+            stroke='#000000'
+            markerWidth="1px"
+            markerHeight="1px"
+            orient="auto">
+            <svg:path d="M 10,4 L 4,4 L 4,2 L 0,5 L 4,8 L 4,6 L 10,6 z" />
+        </svg:marker>
+
+        <svg:marker
+            id="segment-direction"
+            viewBox="0 0 10 10"
+            refX="10px" refY="5px"
+            markerUnits="userSpaceOnUse"
+            fill='none'
+            stroke-width='1px'
+            stroke='#008000'
+            markerWidth="1px"
+            markerHeight="1px"
+            orient="auto">
+            <svg:path d="M 0,2 L 10,5 L 0,8" />
+        </svg:marker>
+
+    </defs>
+
+</rules>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/surfacepatterns.tmpl
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/surfacepatterns.tmpl	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/surfacepatterns.tmpl	(revision 35743)
@@ -0,0 +1,68 @@
+
+		<svg:pattern id=\"ispavd-pattern-$s\" x=\"0\" y=\"0\" width=\"5\" height=\"5\" patternUnits=\"userSpaceOnUse\" patternTransform=\"scale(0.4)\">
+			<svg:path fill=\"none\" stroke=\"$c\" stroke-width=\"0.1\" d=\"M0.75,1.25 L1.75,1.25  M3.75,0.75 L3.75,1.75  M1.25,3.25 L1.25,4.25  M3.25,3.75 L4.25,3.75\"/>
+		</svg:pattern>
+
+		<svg:pattern id=\"asphal-pattern-$s\" x=\"0\" y=\"0\" width=\"5\" height=\"5\" patternUnits=\"userSpaceOnUse\" patternTransform=\"scale(0.4)\">
+			<svg:path fill=\"none\" stroke=\"$c\" stroke-width=\"0.1\" d=\"M1,1 L1.5,1 M3.5,1 L4,1  M1.83,2.67 L2.33,2.67 M4.33,2.67 L4.83,2.67  M2.67,4.33 L3.17,4.33 M.17,4.33 L.67,4.33 \"/>
+		</svg:pattern>
+
+		<svg:pattern id=\"concre-pattern-$s\" x=\"0\" y=\"0\" width=\"5\" height=\"5\" patternUnits=\"userSpaceOnUse\" patternTransform=\"scale(0.4)\">
+			<svg:path fill=\"none\" stroke=\"$c\" stroke-width=\"0.1\" d=\"M1,1 L1,1.5 M1,3.5 L1,4  M2.67,1.83 L2.67,2.33 M2.67,4.33 L2.67,4.83  M4.33,2.67 L4.33,3.17 M4.33,.17 L4.33,.67 \"/>
+		</svg:pattern>
+
+		<svg:pattern id=\"paving-pattern-$s\" x=\"0\" y=\"0\" width=\"5\" height=\"5\" patternUnits=\"userSpaceOnUse\" patternTransform=\"scale(0.4)\">
+			<svg:path fill=\"none\" stroke=\"$c\" stroke-width=\"0.1\" d=\"M0,2.45 L5,2.45 M0,4.95 L5,4.95 M2.45,0 L2.45,2.45 M4.95,0 L4.95,2.45 M1.2,2.55 L1.2,4.95 M3.7,2.55 L3.7,4.95\"/>
+		</svg:pattern>
+
+		<svg:pattern id=\"cobble-pattern-$s\" x=\"0\" y=\"0\" width=\"5\" height=\"5\" patternUnits=\"userSpaceOnUse\" patternTransform=\"scale(0.4)\">
+			<svg:path fill=\"none\" stroke=\"$c\" stroke-width=\"0.1\" d=\"M0,1.225 A1.225,1.225 0 1,1 2.45,1.225 M2.45,1.225 A1.225,1.225 0 1,1 4.95,1.225 M1.2,3.675 A1.225,1.225 0 1,1 3.65,3.675 M3.65,3.675 A1.225,1.225 0 1,1 6.1,3.675\"/>
+		</svg:pattern>
+
+		<svg:pattern id=\"wooden-pattern-$s\" x=\"0\" y=\"0\" width=\"5\" height=\"5\" patternUnits=\"userSpaceOnUse\" patternTransform=\"scale(0.4)\">
+			<svg:path fill=\"none\" stroke=\"$c\" stroke-width=\"0.1\" d=\"M2.5,1.0 A1.5,1.5 90 1,0 2.51,1.0 M2.5,1.5 A1.0,1.0 90 1,0 2.51,1.5 M2.5,2.0 A0.5,0.5 90 1,0 2.51,2.0\"/>
+		</svg:pattern>
+
+		<svg:pattern id=\"metall-pattern-$s\" x=\"0\" y=\"0\" width=\"5\" height=\"5\" patternUnits=\"userSpaceOnUse\" patternTransform=\"scale(0.4)\">
+			<svg:path fill=\"none\" stroke=\"$c\" stroke-width=\"0.1\" d=\"M1.25,0 L1.25,5 M2.5,0 L2.5,5 M3.75,0 L3.75,5 M5,0 L5,5 M0,1.25 L5,1.25 M0,2.5 L5,2.5 M0,3.75 L5,3.75 M0,5 L5,5\"/>
+		</svg:pattern>
+
+		<svg:pattern id=\"grapav-pattern-$s\" x=\"0\" y=\"0\" width=\"5\" height=\"5\" patternUnits=\"userSpaceOnUse\" patternTransform=\"scale(0.4)\">
+			<svg:path fill=\"none\" stroke=\"$c\" stroke-width=\"0.1\" d=\"M0,2.45 L5,2.45 M0,4.95 L5,4.95 M2.45,0 L2.45,2.45 M4.95,0 L4.95,2.45 M1.2,2.55 L1.2,4.95 M3.7,2.55 L3.7,4.95    M1.225,2.1 L1.225,0.3 M1.225,2.1 L0.7,0.7 M1.225,2.1 L1.75,0.7   M3.675,2.1 L3.675,0.3 M3.675,2.1 L3.15,0.7 M3.675,2.1 L4.2,0.7   M2.45,4.65 L2.45,2.75 M2.45,4.65 L1.995,3.15 M2.45,4.65 L2.975,3.15   M4.9,4.65 L4.9,2.75 M4.9,4.65 L4.375,3.15 M4.9,4.65 L5.445,3.15 \"/>
+		</svg:pattern>
+
+		<svg:pattern id=\"compac-pattern-$s\" x=\"0\" y=\"0\" width=\"5\" height=\"5\" patternUnits=\"userSpaceOnUse\" patternTransform=\"scale(0.4)\">
+			<svg:path fill=\"none\" stroke=\"$c\" stroke-width=\"0.1\" d=\"M0.25,1.25 l0.5,0.5 l1,0  l0.5,-0.5 l-0.5,-0.5 l-1,0  l-0.5,0.5 M3.25,1.25 l.25,.25 l.5,0 l.25,-.25 l-.25,-.25 l-.5,0 l-.25,.25 M2.75,3.75 l0.5,0.5 l1,0  l0.5,-0.5 l-0.5,-0.5 l-1,0  l-0.5,0.5 M0.75,3.75 l.25,.25 l.5,0 l.25,-.25 l-.25,-.25 l-.5,0 l-.25,.25 M2.25,1.25 L3.25,1.25 M4.25,1.25 L5.25,1.25 M4.75,3.75 L5.75,3.75 M1.75,3.75 L2.75,3.75\"/>
+		</svg:pattern>
+
+		<svg:pattern id=\"gravel-pattern-$s\" x=\"0\" y=\"0\" width=\"5\" height=\"5\" patternUnits=\"userSpaceOnUse\" patternTransform=\"scale(0.4)\">
+			<svg:path fill=\"none\" stroke=\"$c\" stroke-width=\"0.1\" d=\"M0.25,1.25 l0.5,0.5 l1,0  l0.5,-0.5 l-0.5,-0.5 l-1,0  l-0.5,0.5 M3.25,1.25 l.25,.25 l.5,0 l.25,-.25 l-.25,-.25 l-.5,0 l-.25,.25 M2.75,3.75 l0.5,0.5 l1,0  l0.5,-0.5 l-0.5,-0.5 l-1,0  l-0.5,0.5 M0.75,3.75 l.25,.25 l.5,0 l.25,-.25 l-.25,-.25 l-.5,0 l-.25,.25\"/>
+		</svg:pattern>
+
+		<svg:pattern id=\"pebble-pattern-$s\" x=\"0\" y=\"0\" width=\"5\" height=\"5\" patternUnits=\"userSpaceOnUse\" patternTransform=\"scale(0.4)\">
+			<svg:path fill=\"none\" stroke=\"$c\" stroke-width=\"0.1\" d=\"M1.33,0.33 A1.0,1.0 90 1,0 1.34,0.33 M3.83,0.83 A0.5,0.5 90 1,0 3.84,0.83 M3.83,2.83 A1.0,1.0 90 1,0 3.84,2.83 M1.33,3.33 A0.5,0.5 90 1,0 1.34,3.33 \"/>
+		</svg:pattern>
+
+		<svg:pattern id=\"grasss-pattern-$s\" x=\"0\" y=\"0\" width=\"5\" height=\"5\" patternUnits=\"userSpaceOnUse\" patternTransform=\"scale(0.4)\">
+			<svg:path fill=\"none\" stroke=\"$c\" stroke-width=\"0.1\" d=\"M1.225,2.1 L1.225,0.3 M1.225,2.1 L0.7,0.7 M1.225,2.1 L1.75,0.7   M3.675,2.1 L3.675,0.3 M3.675,2.1 L3.15,0.7 M3.675,2.1 L4.2,0.7   M2.45,4.65 L2.45,2.75 M2.45,4.65 L1.995,3.15 M2.45,4.65 L2.975,3.15   M4.9,4.65 L4.9,2.75 M4.9,4.65 L4.375,3.15 M4.9,4.65 L5.445,3.15 \"/>
+		</svg:pattern>
+
+		<svg:pattern id=\"ground-pattern-$s\" x=\"0\" y=\"0\" width=\"5\" height=\"5\" patternUnits=\"userSpaceOnUse\" patternTransform=\"scale(0.4)\">
+			<svg:path fill=\"none\" stroke=\"$c\" stroke-width=\"0.1\" d=\"M0,1.225 A1.225,1.225 0 1,0 2.45,1.225 M2.45,1.225 A1.225,1.225 0 1,0 4.95,1.225 M1.2,3.675 A1.225,1.225 0 1,0 3.65,3.675 M3.65,3.675 A1.225,1.225 0 1,0 6.1,3.675\"/>
+		</svg:pattern>
+
+		<svg:pattern id=\"sandig-pattern-$s\" x=\"0\" y=\"0\" width=\"5\" height=\"5\" patternUnits=\"userSpaceOnUse\" patternTransform=\"scale(0.4)\">
+			<svg:path fill=\"none\" stroke=\"$c\" stroke-width=\"0.1\" d=\"M1.33,0.83 A.5,.5 90 1,0 1.34,0.83 M3.83,0.83 A0.5,0.5 90 1,0 3.84,0.83 M5.08,3.33 A.5,.5 90 1,0 5.09,3.33 M2.58,3.33 A0.5,0.5 90 1,0 2.59,3.33 \"/>
+		</svg:pattern>
+
+		<svg:pattern id=\"unpavd-pattern-$s\" x=\"0\" y=\"0\" width=\"5\" height=\"5\" patternUnits=\"userSpaceOnUse\" patternTransform=\"scale(0.4)\">
+			<svg:path fill=\"none\" stroke=\"$c\" stroke-width=\"0.1\" d=\"M0.25,.75 A1,1 0 1,0 2.25,.75 M2.75,3.25 A1,1 0 1,0 4.75,3.25 M3.25,1.25 l.25,.25 l.5,0 l.25,-.25 l-.25,-.25 l-.5,0 l-.25,.25 M0.75,3.75 l.25,.25 l.5,0 l.25,-.25 l-.25,-.25 l-.5,0 l-.25,.25\"/>
+		</svg:pattern>
+
+		<svg:pattern id=\"unknow-pattern-$s\" x=\"0\" y=\"0\" width=\"5\" height=\"5\" patternUnits=\"userSpaceOnUse\" patternTransform=\"scale(0.4)\">
+			<svg:path fill=\"none\" stroke=\"$c\" stroke-width=\"0.1\" d=\"M.5,1.5 L2.5,1.5 M1.5,.5 L1.5,2.5  M3,4 L5,4 M4,3 L4,5\"/>
+		</svg:pattern>
+
+		<svg:pattern id=\"iceroa-pattern-$s\" x=\"0\" y=\"0\" width=\"5\" height=\"5\" patternUnits=\"userSpaceOnUse\" patternTransform=\"scale(0.4)\">
+			<svg:path fill=\"none\" stroke=\"$c\" stroke-width=\"0.1\" d=\"M.5,2.5 L4.5,2.5 M1.5,1.17 L3.5,3.83 M1.5,3.83 L3.5,1.17\"/>
+		</svg:pattern>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/surfaces.tcl
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/surfaces.tcl	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/surfaces.tcl	(revision 35743)
@@ -0,0 +1,77 @@
+set smooth [ list xx ex go in ba vb ho vh im ]
+
+set col(xx) "#808080"
+set col(ex) "#00e090"
+set col(go) "#00ff00"
+set col(in) "#d0f000"
+set col(ba) "#f07000"
+set col(vb) "#e00030"
+set col(ho) "#d000d0"
+set col(vh) "#900090"
+set col(im) "#300030"
+
+set surface [ list ispavd asphal concre paving cobble wooden metall grapav compac gravel pebble grasss ground sandig unpavd iceroa unknow ]
+
+set key(ispavd) "paved"
+set key(asphal) "asphalt"
+set key(concre) "concrete"
+set key(paving) "paving_stones"
+set key(cobble) "cobblestone"
+set key(wooden) "wood|wooden"
+set key(metall) "metal"
+set key(grapav) "grass_paver"
+set key(compac) "compacted"
+set key(gravel) "gravel"
+set key(pebble) "pebblestone"
+set key(grasss) "grass"
+set key(ground) "ground|earth|mud|dirt"
+set key(sandig) "sand"
+set key(unpavd) "unpaved"
+set key(iceroa) "ice_road"
+set key(unknow) "~"
+
+set fi [ open "surfacepatterns.tmpl" "r" ]
+set pa [ read $fi ]
+close $fi
+
+set fi [ open "surfacerules.tmpl" "r" ]
+set ru [ read $fi ]
+close $fi
+
+set fo [ open "surfacepatterns-z17.xml" "w" ]
+
+puts $fo "
+<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:svg=\"http://www.w3.org/2000/svg\">
+<!-- DON'T EDIT, THE FILE IS GENERATED BY SCRIPT surfaces.tcl -->"
+
+foreach s $smooth {
+   set c $col($s)
+   eval "puts $fo \"$pa\""
+}
+
+puts $fo "</svg>" 
+
+close $fo
+
+set fo [ open "surfacestyle-z17.xml" "w" ]
+
+puts $fo "
+.surface-area \{ stroke: none; \}
+.surface-line \{ fill:   none; stroke-width: 1.0px; \}"
+
+foreach f $surface {
+   foreach s $smooth {
+      puts $fo ".$f-line-$s \{ stroke: url(#$f-pattern-$s); \}"
+      puts $fo ".$f-area-$s \{ fill:   url(#$f-pattern-$s); \}"
+   }
+}
+close $fo
+
+set fo [ open "surfacerules-z17.xml" "w" ]
+
+foreach k $surface {
+   set v $key($k)
+   eval "puts $fo \"$ru\""
+}
+
+close $fo
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/airport.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/airport.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/airport.svg	(revision 35743)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="24" id="airport" viewBox="0 0 10 10" fill="black" fill-opacity="1" fill-rule="evenodd" stroke="none" height="24">
+   <svg:path d="M 9.2,5 C 9.2,4.5 9.8,3.2 10,3 L 9,3 L 8,4 L 5.5,4 L 8,0 L 6,0 L 3,4 C 2,4 1,4.2 0.5,4.5 C 0,5 0,5 0.5,5.5 C 1,5.8 2,6 3,6 L 6,10 L 8,10 L 5.5,6 L 7.8,6 L 9,7 L 10,7 C 9.8,6.8 9.2,5.5 9.2,5 z "/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/alpine_hut.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/alpine_hut.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/alpine_hut.svg	(revision 35743)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="37.279999"
+   height="37.279999"
+   viewBox="0 0 12 12"
+   id="symbol-alpine-hut">
+  <defs
+     id="defs36" />
+  <path
+     d="M 3.8626611,5.2403431 L 3.8626611,9.4248926 L 8.0472106,9.4248926 L 8.0472106,5.2403431"
+     id="path2984"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.96566528;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 2.25,5.8563304 L 6,3.8563304 L 9.75,5.8563304 L 9.4989134,6.1120138 L 8.2452133,5.6063304 L 3.7469743,5.6024242 L 2.4998353,6.1063902 L 2.25,5.8563304 z"
+     id="path29"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/archery-borderless.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/archery-borderless.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/archery-borderless.svg	(revision 35743)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="38"
+   height="38"
+   viewBox="0 0 300 300"
+   id="symbol-archery-borderless">
+  <defs
+     id="defs2474" />
+  <path
+     d="M 58.261298,71.858418 C 58.258258,80.787624 65.495987,88.027798 74.425237,88.027798 C 83.354477,88.027798 90.592208,80.787624 90.589168,71.858418 C 90.592208,62.929168 83.354477,55.688978 74.425237,55.688978 C 65.495987,55.688978 58.258258,62.929168 58.261298,71.858418 L 58.261298,71.858418 z"
+     id="path2387"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+  <path
+     d="M 69.959369,96.772801 C 71.98539,96.431432 74.06469,96.893278 75.755693,98.060241 L 100.59767,114.66154 L 132.88253,108.80052 C 137.17888,108.02087 141.29377,110.87171 142.07343,115.16807 C 142.85307,119.46441 140.00222,123.5793 135.70588,124.35895 L 100.24949,130.77021 C 98.240939,131.13384 96.169626,130.70547 94.470076,129.57498 L 66.978213,111.17239 C 64.254731,109.39894 62.896171,106.13781 63.555056,102.9553 C 64.213929,99.772781 66.755621,97.319131 69.959369,96.772801 z"
+     id="path3168"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.78947365;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 68.942546,109.29519 C 68.942546,109.29519 68.587219,166.30833 68.587219,166.30833"
+     id="path2383"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:34.3404007;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 77.80665,173.55893 L 88.87122,200.50364 L 89.26628,236.07501"
+     id="path3157"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:19.7368412;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 61.212962,171.91509 L 60.672082,201.03809 L 46.913852,233.84343"
+     id="path2388"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:19.7368412;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <g
+     transform="matrix(0.6666666,0,0,1,-15.302868,9.0566038)"
+     id="g3233">
+    <path
+       d="M 406.57915,94.737891 C 406.57915,118.7182 387.13879,138.15809 363.1579,138.15809 C 339.177,138.15809 319.73665,118.7182 319.73665,94.737891 C 319.73665,70.757583 339.177,51.317695 363.1579,51.317695 C 387.13879,51.317695 406.57915,70.757583 406.57915,94.737891 L 406.57915,94.737891 z"
+       id="path3171"
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7.89434481;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       d="M 382.89618,94.736115 C 382.89618,105.63685 374.05936,114.47368 363.15862,114.47368 C 352.25788,114.47368 343.42105,105.63685 343.42105,94.736115 C 343.42105,83.835363 352.25788,74.998553 363.15862,74.998553 C 374.05936,74.998553 382.89618,83.835363 382.89618,94.736115 L 382.89618,94.736115 z"
+       id="path3175"
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7.89473677;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <path
+     d="M 106.23634,70.56298 C 122.2236,70.56298 135.18384,90.00286 135.18384,113.98317 L 135.18384,113.98317 C 135.18384,137.96348 122.2236,157.40337 106.23634,157.40337"
+     id="path2392"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:6.44570541;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 109.06653,72.261094 C 109.27928,138.06644 108.9052,99.099774 109.06653,159.10148"
+     id="path2398"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.57894742;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/archery.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/archery.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/archery.svg	(revision 35743)
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="38"
+   height="38"
+   viewBox="0 0 300 300"
+   id="symbol-archery">
+  <defs
+     id="defs2474" />
+  <rect
+     width="269.52087"
+     height="258.24777"
+     ry="20.869576"
+     x="15.289689"
+     y="20.638819"
+     id="rect2471"
+     style="fill:none;stroke:#000000;stroke-width:14.68965149;stroke-linejoin:round;stroke-miterlimit:4" />
+  <path
+     d="M 58.261298,71.858418 C 58.258258,80.787624 65.495987,88.027798 74.425237,88.027798 C 83.354477,88.027798 90.592208,80.787624 90.589168,71.858418 C 90.592208,62.929168 83.354477,55.688978 74.425237,55.688978 C 65.495987,55.688978 58.258258,62.929168 58.261298,71.858418 L 58.261298,71.858418 z"
+     id="path2387"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+  <path
+     d="M 69.959369,96.772801 C 71.98539,96.431432 74.06469,96.893278 75.755693,98.060241 L 100.59767,114.66154 L 132.88253,108.80052 C 137.17888,108.02087 141.29377,110.87171 142.07343,115.16807 C 142.85307,119.46441 140.00222,123.5793 135.70588,124.35895 L 100.24949,130.77021 C 98.240939,131.13384 96.169626,130.70547 94.470076,129.57498 L 66.978213,111.17239 C 64.254731,109.39894 62.896171,106.13781 63.555056,102.9553 C 64.213929,99.772781 66.755621,97.319131 69.959369,96.772801 z"
+     id="path3168"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.78947365;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 68.942546,109.29519 C 68.942546,109.29519 68.587219,166.30833 68.587219,166.30833"
+     id="path2383"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:34.3404007;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 77.80665,173.55893 L 88.87122,200.50364 L 89.26628,236.07501"
+     id="path3157"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:19.7368412;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 61.212962,171.91509 L 60.672082,201.03809 L 46.913852,233.84343"
+     id="path2388"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:19.7368412;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <g
+     transform="matrix(0.6666666,0,0,1,-15.302868,9.0566038)"
+     id="g3233">
+    <path
+       d="M 406.57915,94.737891 C 406.57915,118.7182 387.13879,138.15809 363.1579,138.15809 C 339.177,138.15809 319.73665,118.7182 319.73665,94.737891 C 319.73665,70.757583 339.177,51.317695 363.1579,51.317695 C 387.13879,51.317695 406.57915,70.757583 406.57915,94.737891 L 406.57915,94.737891 z"
+       id="path3171"
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7.89434481;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       d="M 382.89618,94.736115 C 382.89618,105.63685 374.05936,114.47368 363.15862,114.47368 C 352.25788,114.47368 343.42105,105.63685 343.42105,94.736115 C 343.42105,83.835363 352.25788,74.998553 363.15862,74.998553 C 374.05936,74.998553 382.89618,83.835363 382.89618,94.736115 L 382.89618,94.736115 z"
+       id="path3175"
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7.89473677;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <path
+     d="M 106.23634,70.56298 C 122.2236,70.56298 135.18384,90.00286 135.18384,113.98317 L 135.18384,113.98317 C 135.18384,137.96348 122.2236,157.40337 106.23634,157.40337"
+     id="path2392"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:6.44570541;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 109.06653,72.261094 C 109.27928,138.06644 108.9052,99.099774 109.06653,159.10148"
+     id="path2398"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.57894742;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/athletics-borderless.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/athletics-borderless.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/athletics-borderless.svg	(revision 35743)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="24"
+   height="24"
+   viewBox="0 0 188 188"
+   id="symbol-athletics-borderless">
+  <defs
+     id="defs4" />
+  <path
+     d="M 96.54581,35.65625 L 96.54581,145.03125"
+     id="path3214"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7.8125;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 96.54581,82.53125 L 143.42081,129.40625"
+     id="path3218"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7.8125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 98.55006,79.99909 C 125.48088,81.38016 150.3401,101.40564 150.3401,101.40564"
+     id="path3249"
+     style="fill:none;fill-rule:evenodd;stroke:#ef0000;stroke-width:19.53125;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 143.42081,74.71875 L 143.42081,184.09375"
+     id="path3216"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7.8125;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 128.90625,160.65625 L 82.03125,113.78125 L 3.90625,113.78125 L 3.90625,152.84375 C 4.394532,167.24805 9.936524,177.37989 18.359375,184.09375 L 128.90625,184.09375 L 128.90625,160.65625 z"
+     id="path3220"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:7.8125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 85.41571,76.67186 C 85.41571,83.93072 79.524472,89.82197 72.265621,89.82197 C 65.006774,89.82197 59.115535,83.93072 59.115535,76.67186 C 59.115535,69.41303 65.006774,63.52178 72.265621,63.52178 C 79.524472,63.52178 85.41571,69.41303 85.41571,76.67186 z"
+     id="path3246"
+     style="opacity:1;fill:#ef0000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:19.53125;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+  <path
+     d="M 155.17384,103.47724 C 182.10466,104.85831 176.58038,143.52821 176.58038,143.52821"
+     id="path3251"
+     style="fill:none;fill-rule:evenodd;stroke:#ef0000;stroke-width:11.71875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 99.08609,80.4577 C 125.39413,86.37918 130.48635,47.65002 130.48635,47.65002"
+     id="path3253"
+     style="fill:none;fill-rule:evenodd;stroke:#ef0000;stroke-width:11.71875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/athletics.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/athletics.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/athletics.svg	(revision 35743)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="32"
+   height="32"
+   viewBox="0 0 250 250"
+   id="symbol-athletics">
+  <defs
+     id="defs4" />
+  <path
+     d="M 116.07706,70.3125 L 116.07706,179.6875"
+     id="path3214"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7.8125;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 116.07706,117.1875 L 162.95206,164.0625"
+     id="path3218"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7.8125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 118.08131,114.65534 C 145.01213,116.03641 169.87135,136.06189 169.87135,136.06189"
+     id="path3249"
+     style="fill:none;fill-rule:evenodd;stroke:#ef0000;stroke-width:19.53125;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 162.95206,109.375 L 162.95206,218.75"
+     id="path3216"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7.8125;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 148.4375,195.3125 L 101.5625,148.4375 L 23.4375,148.4375 L 23.4375,187.5 C 23.925782,201.9043 29.467774,212.03614 37.890625,218.75 L 148.4375,218.75 L 148.4375,195.3125 z"
+     id="path3220"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:7.8125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 59.676639,7.8570939 L 190.32335,7.8570939 C 219.03136,7.8570939 242.1429,31.747104 242.1429,61.422137 L 242.1429,188.57786 C 242.1429,218.25289 219.03136,242.1429 190.32335,242.1429 L 59.676639,242.1429 C 30.968611,242.1429 7.8570962,218.25289 7.8570962,188.57786 L 7.8570962,61.422137 C 7.8570962,31.747104 30.968611,7.8570939 59.676639,7.8570939 z"
+     id="rect2403"
+     style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:15.625;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+  <path
+     d="M 104.94696,111.32811 C 104.94696,118.58697 99.055722,124.47822 91.796871,124.47822 C 84.538024,124.47822 78.646785,118.58697 78.646785,111.32811 C 78.646785,104.06928 84.538024,98.178034 91.796871,98.178034 C 99.055722,98.178034 104.94696,104.06928 104.94696,111.32811 z"
+     id="path3246"
+     style="opacity:1;fill:#ef0000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:19.53125;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+  <path
+     d="M 174.70509,138.13349 C 201.63591,139.51456 196.11163,178.18446 196.11163,178.18446"
+     id="path3251"
+     style="fill:none;fill-rule:evenodd;stroke:#ef0000;stroke-width:11.71875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 118.61734,115.11395 C 144.92538,121.03543 150.0176,82.306273 150.0176,82.306273"
+     id="path3253"
+     style="fill:none;fill-rule:evenodd;stroke:#ef0000;stroke-width:11.71875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/atm.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/atm.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/atm.svg	(revision 35743)
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="20"
+   height="20"
+   id="symbol-atm">
+  <defs
+     id="defs2387" />
+  <g
+     id="layer1">
+    <path
+       d="M 4.9278227,4.4824438 L 2.8457825,17.656773 L 16.915327,17.656773 L 14.864833,4.4445865 L 4.9278227,4.4824438 z"
+       id="path2425"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.10947382;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       width="14.015866"
+       height="3.0304577"
+       x="2.841054"
+       y="1.4384469"
+       id="rect2397"
+       style="stroke-width:2.49099994;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none" />
+    <path
+       d="M 9.4571335,15.333227 C 8.7115335,15.333227 6.6238535,15.034987 6.7729735,13.692907 C 6.9220935,12.350827 8.4132935,13.096427 9.4571335,13.245547 L 9.4571335,11.306987 C 8.2641735,11.008747 6.7729735,10.114027 6.7729735,8.4737071 C 6.7729735,6.8333871 8.2641735,5.7895471 9.4571335,5.7895471 C 9.4571335,4.8948271 9.4571335,4.5965871 9.9044935,4.5965871 C 10.351854,4.5965871 10.351854,4.8948271 10.351854,5.7895471 C 11.246573,5.7895471 13.334253,6.0877871 12.886893,7.1316271 C 12.439533,8.1754671 11.097454,7.7281071 10.351854,7.5789871 L 10.351854,9.5175471 C 11.693933,9.8157871 13.185133,10.710507 13.185133,12.350827 C 13.185133,13.991147 11.843053,15.333227 10.351854,15.333227 C 10.351854,16.227947 10.351854,16.526187 9.9044935,16.526187 C 9.4571335,16.526187 9.4571335,16.227947 9.4571335,15.333227 z M 9.4571335,9.2193071 L 9.4571335,7.5789871 C 8.4132935,7.7281071 8.4132935,9.0701871 9.4571335,9.2193071 z M 10.351854,11.605227 L 10.351854,13.245547 C 11.395693,13.096427 11.395693,11.754347 10.351854,11.605227 z"
+       id="path5"
+       style="fill:#ffffff;stroke:none" />
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bakery.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bakery.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bakery.svg	(revision 35743)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="22.000002"
+   height="16.000004"
+   id="symbol-bakery">
+  <defs
+     id="defs4" />
+  <g
+     id="layer1">
+    <path
+       d="M 6,0 C 3,0 0,1.5 0,6 C 0,10.5 5,16 11,16 C 17,16 22,10 22,6 C 22,1 19,0 16,0 C 13,0 12,1.5 11,3.5 C 10,1.5 9,0 6,0 z M 6,2 C 8.5,2 9.5,4 9.5,6 C 9.5,8 7.5,8.75 5.5,10.25 C 2.9713492,9 2,7.3713068 2,6 C 2,3 3.5,2 6,2 z M 20,6 C 20,7.3207023 18.75,9.25 16.5,10.25 C 14,8.75 12.5,8 12.5,6 C 12.5,4 13.5,2 16,2 C 18.5,2 20,3.5 20,6 z M 11,7.5 C 12,9 13,9.75 15,11.25 C 14,11.75 12,11.75 11,11.75 C 9.5,11.75 8,11.75 7,11.25 C 9,9.75 10,9 11,7.5 z"
+       id="path2426"
+       style="fill:#976400;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bank.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bank.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bank.svg	(revision 35743)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="bank" viewBox="0 0 125 125" height="18.64">
+   <svg:path style="fill:#000000; stroke:none;" d="M 65,0.2965772 L 0,50 L 15,50 L 15,125 L 110,125 L 110,50 L 125,50 L 65,0.2965772 z"/>
+   <svg:path style="fill:#ffffff; stroke:none" d="M 62,102 C 57,102 43,100 44,91 C 45,82 55,87 62,88 L 62,75 C 54,73 44,67 44,56 C 44,45 54,38 62,38 C 62,32 62,30 65,30 C 68,30 68,32 68,38 C 74,38 88,40 85,47 C 82,54 73,51 68,50 L 68,63 C 77,65 87,71 87,82 C 87,93 78,102 68,102 C 68,108 68,110 65,110 C 62,110 62,108 62,102 z M 62,61 L 62,50 C 55,51 55,60 62,61 z M 68,77 L 68,88 C 75,87 75,78 68,77 z"/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bar.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bar.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bar.svg	(revision 35743)
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="16px"
+   height="16px"
+   id="svg5079"
+   version="1.1"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="bar.svg">
+  <title
+     id="title2821">bar icon</title>
+  <defs
+     id="defs5081">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 8 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="16 : 8 : 1"
+       inkscape:persp3d-origin="8 : 5.3333333 : 1"
+       id="perspective5087" />
+    <inkscape:perspective
+       id="perspective5074"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective5106"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5037"
+       id="radialGradient5043"
+       cx="11.440678"
+       cy="1.3220339"
+       fx="11.440678"
+       fy="1.3220339"
+       r="9.4067793"
+       gradientTransform="matrix(1,0,0,0.05405406,0,1.2505726)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient5037">
+      <stop
+         style="stop-color:#cc960c;stop-opacity:1;"
+         offset="0"
+         id="stop5039" />
+      <stop
+         style="stop-color:#a1510c;stop-opacity:0.92105263;"
+         offset="1"
+         id="stop5041" />
+    </linearGradient>
+    <radialGradient
+       r="9.4067793"
+       fy="1.3220339"
+       fx="11.440678"
+       cy="1.3220339"
+       cx="11.440678"
+       gradientTransform="matrix(1,0,0,0.05405406,0,1.2505726)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient5115"
+       xlink:href="#linearGradient5037"
+       inkscape:collect="always" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="11.098901"
+     inkscape:cx="-1.5323749"
+     inkscape:cy="11.666031"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="800"
+     inkscape:window-height="600"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata5084">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title>bar icon</dc:title>
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/" />
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/by-sa/3.0/">
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Reproduction" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Distribution" />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#Notice" />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#Attribution" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#ShareAlike" />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <path
+       d="m 0.37954318,0.72509711 15.23348882,0 -7.0622893,5.89980539 0,7.8665235 c 0.018717,0 -0.2853452,0.906451 4.7477673,1.231857 l 0,0.224697 -10.2044268,0 2.494e-4,-0.224697 C 7.968468,15.397877 7.6902189,14.491426 7.6902189,14.491426 l 0,-7.8665235 -7.31067572,-5.89980539 z"
+       id="path3"
+       style="stroke-width:0.40000001" />
+    <path
+       sodipodi:type="arc"
+       style="color:#000000;fill:url(#radialGradient5115);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="path2817"
+       sodipodi:cx="11.440678"
+       sodipodi:cy="1.3220339"
+       sodipodi:rx="9.4067793"
+       sodipodi:ry="0.50847459"
+       d="m 20.847457,1.3220339 a 9.4067793,0.50847459 0 1 1 -18.8135586,0 9.4067793,0.50847459 0 1 1 18.8135586,0 z"
+       transform="matrix(0.80264676,0,0,0.89490292,-1.1974094,-0.43687456)" />
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/baseball-borderless.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/baseball-borderless.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/baseball-borderless.svg	(revision 35743)
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="25"
+   height="25"
+   viewBox="0 0 300 300"
+   id="symbol-baseball-borderless">
+  <defs
+     id="defs16" />
+  <path
+     d="M 39.090816,260.90921 C 26.969728,248.7881 26.969728,224.54591 39.090816,212.42483 C 51.211907,200.30374 75.454099,200.30374 87.575173,212.42483 C 99.696269,224.54591 99.696269,248.7881 87.575173,260.90921 C 75.454099,273.03028 51.211907,273.03028 39.090816,260.90921 z"
+     id="path2393"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.93193001px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+  <path
+     d="M 39.090816,212.42483 C 39.090816,212.42483 49.191725,220.50555 63.332998,220.50555 C 77.474263,220.50555 87.575173,212.42483 87.575173,212.42483"
+     id="path3303"
+     style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:4.04036236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 39.090816,260.90921 C 39.090816,260.90921 49.191725,252.82847 63.332998,252.82847 C 77.474263,252.82847 87.575173,260.90921 87.575173,260.90921"
+     id="path3367"
+     style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:4.04036236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 238.67679,297.78461 C 248.21215,290.61173 251.97113,282.83338 249.0123,276.39766 C 247.18129,272.41504 203.85749,230.40681 157.77016,187.92619 C 148.73504,179.59814 132.75765,164.85972 122.26488,155.17413 C 92.598199,127.78968 80.911051,117.12713 57.924089,96.474078 C 29.971921,71.359939 20.516652,61.668152 20.516652,58.130914 C 20.516652,51.433175 13.549793,47.907691 7.0635109,51.323136 C -2.6972564,56.46281 -2.210698,72.179734 7.7091856,72.179734 C 10.699467,72.179734 21.829061,81.902202 34.363659,95.464252 C 37.247465,98.584446 46.163087,108.2609 54.176141,116.96749 C 62.189202,125.67407 78.019156,142.52739 89.353825,154.41931 C 100.68849,166.31123 123.41955,190.79371 139.86732,208.82483 C 156.31507,226.85595 182.39734,254.7509 197.8279,270.81362 C 225.88347,300.01855 225.88347,300.01855 230.82122,299.99903 C 235.04681,299.98232 236.17981,299.66293 238.67679,297.78461 z"
+     id="path3446"
+     style="fill:#000000" />
+  <path
+     d="M 136.05791,71.528011 C 136.05791,71.528011 110.08781,82.215411 102.10357,87.325323 C 95.378665,91.629253 93.583495,106.53683 119.94123,110.53921 C 146.29897,114.54161 151.99891,110.96493 172.06465,110.79351 C 180.90387,110.02643 182.23144,113.93417 180.95394,116.48911 L 174.74976,130.29911 C 170.12256,140.59888 177.8852,154.83116 185.86603,160.84728 C 191.64253,165.20174 205.85062,171.0294 221.0414,170.77702 C 235.34544,170.54182 247.07049,166.12689 258.70403,159.40385 C 270.33758,152.68082 287.99159,140.77787 295.29648,124.98796 C 302.60135,109.19805 299.03307,66.353803 297.02348,55.169076 C 294.95827,43.674832 283.84605,25.698909 273.94574,19.351554 C 264.18793,13.095551 254.89028,6.1239371 234.73327,1.9513782 C 214.51057,-2.2347839 197.24572,1.0522656 184.72733,4.3821967 C 172.2847,7.6919741 164.12616,12.703157 156.97115,17.175029 C 149.81617,21.646898 146.41793,27.339809 142.19703,37.378436 C 138.08997,47.146337 136.05791,71.528011 136.05791,71.528011 z M 213.9401,130.67313 C 211.1556,131.94632 208.90381,135.31321 208.97758,137.96949 C 209.0513,140.62273 210.64218,143.54476 212.71176,144.99562 C 214.78134,146.4465 217.14392,146.26288 220.42576,145.53609 C 223.6913,144.81294 231.23928,143.36434 233.79014,141.85107 C 236.37277,140.31895 237.90315,139.57213 238.82636,136.64288 C 239.74267,133.73555 237.91813,129.58958 235.0185,128.56038 C 232.1844,127.55446 228.44994,128.18583 223.80088,128.56798 C 219.65429,128.90883 216.69606,129.413 213.9401,130.67313 z"
+     id="path3478"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.44016922px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/baseball.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/baseball.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/baseball.svg	(revision 35743)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="36"
+   height="36"
+   viewBox="0 0 435 435"
+   id="symbol-baseball">
+  <defs
+     id="defs16" />
+  <g
+     transform="translate(67.279567,67.887125)"
+     id="g3694">
+    <g
+       id="g3689">
+      <path
+         d="M 39.090816,260.90921 C 26.969728,248.7881 26.969728,224.54591 39.090816,212.42483 C 51.211907,200.30374 75.454099,200.30374 87.575173,212.42483 C 99.696269,224.54591 99.696269,248.7881 87.575173,260.90921 C 75.454099,273.03028 51.211907,273.03028 39.090816,260.90921 z"
+         id="path2393"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.93193001px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         d="M 39.090816,212.42483 C 39.090816,212.42483 49.191725,220.50555 63.332998,220.50555 C 77.474263,220.50555 87.575173,212.42483 87.575173,212.42483"
+         id="path3303"
+         style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:4.04036236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         d="M 39.090816,260.90921 C 39.090816,260.90921 49.191725,252.82847 63.332998,252.82847 C 77.474263,252.82847 87.575173,260.90921 87.575173,260.90921"
+         id="path3367"
+         style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:4.04036236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    </g>
+    <path
+       d="M 238.67679,297.78461 C 248.21215,290.61173 251.97113,282.83338 249.0123,276.39766 C 247.18129,272.41504 203.85749,230.40681 157.77016,187.92619 C 148.73504,179.59814 132.75765,164.85972 122.26488,155.17413 C 92.598199,127.78968 80.911051,117.12713 57.924089,96.474078 C 29.971921,71.359939 20.516652,61.668152 20.516652,58.130914 C 20.516652,51.433175 13.549793,47.907691 7.0635109,51.323136 C -2.6972564,56.46281 -2.210698,72.179734 7.7091856,72.179734 C 10.699467,72.179734 21.829061,81.902202 34.363659,95.464252 C 37.247465,98.584446 46.163087,108.2609 54.176141,116.96749 C 62.189202,125.67407 78.019156,142.52739 89.353825,154.41931 C 100.68849,166.31123 123.41955,190.79371 139.86732,208.82483 C 156.31507,226.85595 182.39734,254.7509 197.8279,270.81362 C 225.88347,300.01855 225.88347,300.01855 230.82122,299.99903 C 235.04681,299.98232 236.17981,299.66293 238.67679,297.78461 z"
+       id="path3446"
+       style="fill:#000000" />
+    <path
+       d="M 136.05791,71.528011 C 136.05791,71.528011 110.08781,82.215411 102.10357,87.325323 C 95.378665,91.629253 93.583495,106.53683 119.94123,110.53921 C 146.29897,114.54161 151.99891,110.96493 172.06465,110.79351 C 180.90387,110.02643 182.23144,113.93417 180.95394,116.48911 L 174.74976,130.29911 C 170.12256,140.59888 177.8852,154.83116 185.86603,160.84728 C 191.64253,165.20174 205.85062,171.0294 221.0414,170.77702 C 235.34544,170.54182 247.07049,166.12689 258.70403,159.40385 C 270.33758,152.68082 287.99159,140.77787 295.29648,124.98796 C 302.60135,109.19805 299.03307,66.353803 297.02348,55.169076 C 294.95827,43.674832 283.84605,25.698909 273.94574,19.351554 C 264.18793,13.095551 254.89028,6.1239371 234.73327,1.9513782 C 214.51057,-2.2347839 197.24572,1.0522656 184.72733,4.3821967 C 172.2847,7.6919741 164.12616,12.703157 156.97115,17.175029 C 149.81617,21.646898 146.41793,27.339809 142.19703,37.378436 C 138.08997,47.146337 136.05791,71.528011 136.05791,71.528011 z M 213.9401,130.67313 C 211.1556,131.94632 208.90381,135.31321 208.97758,137.96949 C 209.0513,140.62273 210.64218,143.54476 212.71176,144.99562 C 214.78134,146.4465 217.14392,146.26288 220.42576,145.53609 C 223.6913,144.81294 231.23928,143.36434 233.79014,141.85107 C 236.37277,140.31895 237.90315,139.57213 238.82636,136.64288 C 239.74267,133.73555 237.91813,129.58958 235.0185,128.56038 C 232.1844,127.55446 228.44994,128.18583 223.80088,128.56798 C 219.65429,128.90883 216.69606,129.413 213.9401,130.67313 z"
+       id="path3478"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.44016922px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+  </g>
+  <rect
+     width="409.67169"
+     height="392.53659"
+     ry="31.721754"
+     x="12.664154"
+     y="21.231705"
+     id="rect2471"
+     style="fill:none;stroke:#000000;stroke-width:22.32826805;stroke-linejoin:round;stroke-miterlimit:4" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/basketball-borderless.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/basketball-borderless.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/basketball-borderless.svg	(revision 35743)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   version="1.0"
+   width="25"
+   height="24.5"
+   viewBox="0 0 500 490"
+   id="symbol-basketball-borderless">
+  <defs
+     id="defs2406" />
+  <path
+     d="M 13.386033,245.92457 C 13.386033,375.30651 117.95887,480.31215 246.80755,480.31215 C 375.65623,480.31215 480.22907,375.30651 480.22907,245.92457 C 480.22907,116.54262 375.65623,11.536978 246.80755,11.536978 C 117.95887,11.536978 13.386033,116.54262 13.386033,245.92457"
+     id="path2414"
+     style="fill:#ff7006;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 308.33727,472.70925 C 324.73347,447.64803 307.98273,374.21025 298.69712,321.82618 C 290.55394,275.88711 278.7749,228.21056 264.94798,180.00715 C 251.17359,131.98686 217.8896,34.559203 178.43989,21.513022"
+     id="path3187"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <g
+     id="layer1">
+    <path
+       d="M 420.1881,88.973658 C 278.0067,-2.4855797 44.794483,94.605195 13.984163,247.11626"
+       id="path3193"
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" />
+  </g>
+  <path
+     d="M 462.86178,334.76893 C 463.60781,242.45369 390.80053,178.69185 355.73631,138.25712 C 320.05101,97.106179 257.67383,40.167003 275.41294,14.110951"
+     id="path3196"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 95.162113,67.658938 C 184.98125,51.415051 161.28059,148.83725 142.93824,225.32019 C 124.8125,300.89989 99.939723,367.69308 136.24959,452.73461"
+     id="path3208"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/basketball.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/basketball.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/basketball.svg	(revision 35743)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="35"
+   height="35"
+   viewBox="0 0 600 600"
+   id="symbol-basketball">
+  <defs
+     id="defs2406" />
+  <path
+     d="M 70.52031,300.00002 C 70.52031,427.19705 173.32721,530.42945 300.00001,530.42945 C 426.67279,530.42945 529.47969,427.19705 529.47969,300.00002 C 529.47969,172.80296 426.67279,69.570552 300.00001,69.570552 C 173.32721,69.570552 70.52031,172.80296 70.52031,300.00002"
+     id="path2414"
+     style="fill:#ff7006;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:11.79735374;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 360.49066,522.95494 C 376.60997,498.31694 360.14211,426.11931 351.01331,374.61986 C 343.00764,329.45657 331.42752,282.58515 317.8341,235.19575 C 304.29232,187.98638 271.57039,92.203997 232.78688,79.378129"
+     id="path3187"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:9.83112812;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 470.45263,145.69954 C 330.67227,55.784795 101.39836,151.23598 71.108339,301.17156"
+     id="path3193"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:9.83112812;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" />
+  <path
+     d="M 512.40569,387.34404 C 513.13913,296.58774 441.56135,233.90266 407.08927,194.15076 C 372.00659,153.69473 310.68278,97.717098 328.12233,72.101059"
+     id="path3196"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:9.83112812;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 150.91542,124.74477 C 239.21777,108.7752 215.91735,204.55222 197.88475,279.74358 C 180.0651,354.04696 155.61235,419.7122 191.30906,503.31762"
+     id="path3208"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:9.83112812;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <rect
+     width="563.48956"
+     height="563.48962"
+     ry="51.22633"
+     x="18.255203"
+     y="18.255173"
+     id="rect2386"
+     style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:36.51040649;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bench.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bench.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bench.svg	(revision 35743)
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="12"
+   height="12"
+   viewBox="0 0 580 580"
+   id="bench">
+  <defs
+     id="defs14" />
+  <path
+     d="M 145,338.33333 L 386.66667,338.33333"
+     id="path2391"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:24.16666603;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 181.25,338.33333 L 145,483.33333"
+     id="path3163"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:24.16666603;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 350.41667,338.33333 L 386.66667,483.33333"
+     id="path3165"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:24.16666603;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 435,72.5 L 386.66667,338.33333"
+     id="path3167"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:24.16666603;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bicycle_rental.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bicycle_rental.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bicycle_rental.svg	(revision 35743)
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="16"
+   height="16"
+   id="symbol-bicycle-rental">
+  <defs
+     id="defs2477" />
+  <g
+     transform="matrix(0.2297763,-0.21971,0.21971,0.2297763,-15.777098,7.0450764)"
+     id="g2467">
+    <path
+       d="M 57.120282,25.87914 C 57.120244,24.727187 56.712245,23.767188 55.896282,22.99914 C 55.128246,22.23119 54.168247,21.84719 53.016282,21.84714 C 51.91225,21.84719 50.952251,22.25519 50.136282,23.07114 C 49.368252,23.839188 48.984253,24.775187 48.984282,25.87914 C 48.984253,26.983185 49.368252,27.943184 50.136282,28.75914 C 50.952251,29.527183 51.91225,29.911182 53.016282,29.91114 C 54.168247,29.911182 55.128246,29.527183 55.896282,28.75914 C 56.712245,27.991184 57.120244,27.031185 57.120282,25.87914"
+       id="path3555"
+       style="font-size:72px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:DNR Recreation Symbols;-inkscape-font-specification:DNR Recreation Symbols" />
+    <path
+       d="M 73.608282,55.32714 C 73.608228,52.30316 72.528229,49.735162 70.368282,47.62314 C 68.256233,45.463167 65.688236,44.383168 62.664282,44.38314 C 59.640242,44.383168 57.048245,45.463167 54.888282,47.62314 C 52.776249,49.735162 51.72025,52.30316 51.720282,55.32714 C 51.72025,58.351154 52.776249,60.943151 54.888282,63.10314 C 57.048245,65.215147 59.640242,66.271146 62.664282,66.27114 C 65.688236,66.271146 68.256233,65.215147 70.368282,63.10314 C 72.528229,60.943151 73.608228,58.351154 73.608282,55.32714"
+       id="path3553"
+       style="font-size:72px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:DNR Recreation Symbols;-inkscape-font-specification:DNR Recreation Symbols" />
+    <path
+       d="M 59.640282,37.75914 C 59.640242,36.559176 59.064243,35.959176 57.912282,35.95914 L 53.088282,35.95914 L 49.488282,29.19114 C 48.912253,28.375184 48.120253,27.967184 47.112282,27.96714 C 46.056256,27.967184 45.264256,28.351184 44.736282,29.11914 L 36.960282,36.75114 C 36.336265,37.375175 36.024266,38.239174 36.024282,39.34314 C 36.024266,40.783171 36.480265,41.74317 37.392282,42.22314 L 46.176282,47.04714 L 46.104282,55.83114 C 46.104256,57.271155 46.824255,57.991154 48.264282,57.99114 C 49.752252,57.991154 50.496251,57.271155 50.496282,55.83114 L 50.496282,45.03114 C 50.496251,44.455168 50.232251,43.711168 49.704282,42.79914 L 43.800282,39.63114 L 48.552282,34.80714 L 50.568282,38.69514 C 50.856251,39.223173 51.36025,39.487173 52.080282,39.48714 L 57.840282,39.48714 C 59.040243,39.487173 59.640242,38.911173 59.640282,37.75914"
+       id="path3551"
+       style="font-size:72px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:DNR Recreation Symbols;-inkscape-font-specification:DNR Recreation Symbols" />
+    <path
+       d="M 45.168282,55.32714 C 45.168256,52.30316 44.088258,49.735162 41.928282,47.62314 C 39.816262,45.463167 37.248264,44.383168 34.224282,44.38314 C 31.20027,44.383168 28.608273,45.463167 26.448282,47.62314 C 24.336277,49.735162 23.280278,52.30316 23.280282,55.32714 C 23.280278,58.351154 24.336277,60.943151 26.448282,63.10314 C 28.608273,65.215147 31.20027,66.271146 34.224282,66.27114 C 37.248264,66.271146 39.816262,65.215147 41.928282,63.10314 C 44.088258,60.943151 45.168256,58.351154 45.168282,55.32714"
+       id="path3549"
+       style="font-size:72px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:DNR Recreation Symbols;-inkscape-font-specification:DNR Recreation Symbols" />
+    <path
+       d="M 71.520282,55.32714 C 71.52023,57.775154 70.656231,59.863152 68.928282,61.59114 C 67.200234,63.319149 65.112237,64.183148 62.664282,64.18314 C 60.216241,64.183148 58.128243,63.319149 56.400282,61.59114 C 54.672247,59.863152 53.808248,57.775154 53.808282,55.32714 C 53.808248,52.879159 54.672247,50.791161 56.400282,49.06314 C 58.128243,47.335165 60.216241,46.471166 62.664282,46.47114 C 65.112237,46.471166 67.200234,47.335165 68.928282,49.06314 C 70.656231,50.791161 71.52023,52.879159 71.520282,55.32714"
+       id="path3547"
+       style="font-size:72px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:DNR Recreation Symbols;-inkscape-font-specification:DNR Recreation Symbols" />
+    <path
+       d="M 43.080282,55.32714 C 43.080259,57.775154 42.216259,59.863152 40.488282,61.59114 C 38.760263,63.319149 36.672265,64.183148 34.224282,64.18314 C 31.77627,64.183148 29.688272,63.319149 27.960282,61.59114 C 26.232275,59.863152 25.368276,57.775154 25.368282,55.32714 C 25.368276,52.879159 26.232275,50.791161 27.960282,49.06314 C 29.688272,47.335165 31.77627,46.471166 34.224282,46.47114 C 36.672265,46.471166 38.760263,47.335165 40.488282,49.06314 C 42.216259,50.791161 43.080259,52.879159 43.080282,55.32714"
+       id="text3540"
+       style="font-size:72px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:DNR Recreation Symbols;-inkscape-font-specification:DNR Recreation Symbols" />
+  </g>
+  <path
+     d="M 7.4758621,9.9693176 C 7.2672762,9.8923866 7.0964376,9.7331476 6.1948997,8.7753276 C 5.6382224,8.1838972 5.1672414,7.7017262 5.1482759,7.7038359 C 5.1293103,7.7059455 4.4008659,7.8977276 3.52951,8.1300186 C 1.79637,8.5920486 1.7791414,8.5945621 1.4958955,8.4266379 C 1.3059193,8.3140086 1.0167497,8.0106276 0.91833345,7.8206897 C 0.80732483,7.606449 0.80340483,7.3988921 0.87102517,5.3157272 C 0.92396,3.6849817 0.93286034,3.5524014 0.99801897,3.4241379 C 1.160301,3.1046876 1.479869,2.8896552 1.7923341,2.8896552 C 1.9291738,2.8896552 2.26017,2.9832672 3.1528652,3.274439 L 4.3325621,3.6592231 L 4.9227014,3.0934048 C 5.5361886,2.5052 5.7009114,2.3915617 5.8863028,2.42864 C 6.0202752,2.4554345 6.2799152,2.6806269 6.3377103,2.8201572 C 6.3964359,2.9619317 6.3627034,3.1780624 6.2636669,3.2945748 C 6.1316576,3.4498786 4.8267279,4.6911841 4.7248362,4.7583772 C 4.5729803,4.8585197 4.4167321,4.8332097 3.7194193,4.5955159 C 3.3560979,4.4716697 3.0440462,4.3794824 3.0259697,4.3906541 C 3.0062797,4.4028234 2.9931034,4.8396421 2.9931034,5.4802207 C 2.9931034,6.4943962 2.9963024,6.5484597 3.0552062,6.5297645 C 3.4051393,6.4186997 4.9963662,5.9936262 5.0630417,5.9933997 C 5.110991,5.9932372 5.2584045,6.0453514 5.3906279,6.1092097 C 5.6163062,6.2182028 5.707039,6.3050583 6.871611,7.5269 C 7.5539283,8.2427714 8.1472783,8.8760469 8.1901666,8.934179 C 8.3501214,9.1509855 8.3277707,9.4171341 8.1294707,9.6569307 C 7.9570672,9.8654117 7.6247603,10.024235 7.4758621,9.9693176 z"
+     id="path2387"
+     style="fill:#0000ff" />
+  <path
+     d="M 3.6765952,15.668049 C 2.366769,15.43556 1.2938417,14.473846 0.90390621,13.182759 C 0.81865345,12.900483 0.80987138,12.819394 0.80681207,12.286207 C 0.80392655,11.78337 0.81453862,11.656466 0.88142793,11.393897 C 1.0358531,10.787712 1.341529,10.258148 1.8003476,9.8019269 C 2.2621741,9.3427145 2.7530586,9.0535628 3.3355231,8.8976431 C 3.6273297,8.819529 3.7313583,8.8093931 4.2344828,8.8100486 C 4.7318597,8.8106969 4.8447159,8.8217476 5.1314303,8.8978741 C 5.6839124,9.0445666 6.0951972,9.2621331 6.4932021,9.6182424 C 7.1369062,10.194188 7.5068845,10.831238 7.6521528,11.613793 C 7.71175,11.934842 7.7017072,12.645506 7.6330048,12.968782 C 7.3647434,14.231076 6.3175193,15.306671 5.0570731,15.614502 C 4.6823434,15.70602 4.0325252,15.731226 3.6765952,15.66805 L 3.6765952,15.668049 z M 4.7977059,15.012525 C 5.8967162,14.802249 6.7907041,13.914894 7.0140531,12.812621 C 7.0924207,12.425862 7.0658334,11.761601 6.9584783,11.424138 C 6.7883762,10.889435 6.4315583,10.35946 6.019689,10.029772 C 5.7503228,9.8141521 5.25426,9.5635714 4.9586207,9.4937838 C 4.2665797,9.3304224 3.5596407,9.4090879 2.9540083,9.7168479 C 2.2752948,10.061746 1.7027938,10.765711 1.5052645,11.49827 C 1.4070938,11.862348 1.3990834,12.593533 1.4896479,12.923822 C 1.7296817,13.799223 2.3487745,14.519136 3.1482759,14.852557 C 3.6318814,15.054238 4.2608659,15.115239 4.7977059,15.012524 L 4.7977059,15.012525 z"
+     id="path2389"
+     style="fill:#0000ff" />
+  <path
+     d="M 10.336386,9.4379497 C 9.2125272,9.2925979 8.1753279,8.5387628 7.6522734,7.4871403 C 7.1910397,6.5598128 7.2105379,5.358201 7.7022676,4.4061217 C 8.133751,3.5706897 8.9847931,2.8792193 9.8724138,2.6428797 C 10.238042,2.5455269 11.188902,2.532281 11.562639,2.6193345 C 12.173221,2.7615555 12.6821,3.0375234 13.145552,3.4777572 C 13.924127,4.2173272 14.275297,5.0967559 14.224473,6.1796807 C 14.185022,7.0202917 13.894291,7.7107031 13.317363,8.3338383 C 12.537297,9.1763814 11.444246,9.5812328 10.336386,9.4379497 L 10.336386,9.4379497 z M 11.24512,8.7822817 C 11.874232,8.6848428 12.402406,8.3916186 12.87746,7.8760614 C 13.562754,7.1323386 13.785149,6.0540986 13.456618,5.0681166 C 13.155412,4.1641403 12.305854,3.4134559 11.365247,3.2201421 C 10.239638,2.9888069 9.0939717,3.4488914 8.4400124,4.3948769 C 8.0767772,4.9203155 7.9389055,5.4263369 7.9676648,6.1285031 C 7.9946528,6.7874103 8.1598903,7.2353031 8.5649928,7.7476124 C 9.2058769,8.5581007 10.204191,8.9435024 11.245119,8.7822814 L 11.24512,8.7822817 z"
+     id="path2391"
+     style="fill:#0000ff" />
+  <path
+     d="M 1.7387583,2.5594193 C 1.3844328,2.4462645 1.1110107,2.2033845 0.94688483,1.856001 C 0.85562276,1.66284 0.84164138,1.5953366 0.84332103,1.356001 C 0.84585724,0.99455586 0.93990379,0.74652517 1.1697928,0.49499 C 1.3732486,0.27237724 1.6713938,0.11155069 1.9436976,0.077528621 C 2.1671986,0.049604138 2.4997186,0.10662 2.6953141,0.20640517 C 2.8956662,0.30861759 3.1573903,0.58833414 3.2624769,0.81255897 C 3.3422555,0.98278345 3.3549162,1.053591 3.3533338,1.3206897 C 3.3517955,1.5802293 3.3366669,1.6633131 3.2609179,1.8282093 C 2.9914148,2.4148831 2.3104645,2.7419959 1.7387583,2.5594193 z"
+     id="path2393"
+     style="fill:#0000ff" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bird.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bird.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bird.svg	(revision 35743)
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="16"
+   height="16"
+   id="symbol-bird">
+  <defs
+     id="defs3341" />
+  <g
+     id="g3129">
+    <rect
+       width="16"
+       height="16"
+       x="-0.073563218"
+       y="0.036781609"
+       style="fill:#c7f1a3;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2158" />
+    <path
+       d="M 10.291648,10.6739 C 9.8568485,10.26695 9.141758,10.0331 8.711683,9.8611505 C 7.9484035,9.8311505 7.511643,9.8042005 6.8842125,9.5406505 C 6.4365055,9.5824505 6.045705,9.7243505 5.814369,10.0643 C 6.3784825,9.9457005 6.6854945,10.00955 6.9697355,10.44715 C 7.01647,10.5264 7.018352,10.53115 6.9985945,10.52 C 6.695604,10.38205 6.1663205,10.01725 5.787972,10.1333 C 5.2219095,9.9639505 5.072392,10.2987 4.8166119,10.63005 L 4.7506281,10.32155 C 4.5413822,10.3623 4.3806752,10.49575 4.1779141,10.55365 C 4.8452469,9.9696505 5.844733,9.7455005 6.717884,9.4401505 C 6.322932,9.1607005 5.9241325,9.0806005 5.430826,9.0515505 C 5.2533745,9.0456005 5.1884715,9.0590005 5.1175865,9.1161005 C 4.965095,9.2195505 4.9294111,9.4763005 4.817127,9.5859005 C 4.7660172,9.4932005 4.8525216,9.3367005 4.7597417,9.2956505 C 4.5655792,9.2901505 4.3718041,9.4543505 4.1805749,9.5102505 C 4.3595802,9.0417505 5.155623,9.0479005 5.5926105,8.8758505 C 4.9838033,8.5758505 4.3963709,8.2478505 3.8401712,7.8797505 C 2.6148202,7.0590505 1.9210904,5.9154005 1.9237271,4.5844505 C 1.9385081,4.2905505 1.959948,4.1303005 2.0627278,3.5453505 C 2.1273531,3.1775505 2.1318007,3.1400005 2.1264762,3.0075005 C 2.1152461,2.7280005 2.0369996,2.5419505 1.762123,2.1410005 C 1.5823325,1.8787005 1.4937322,1.7320505 1.4336612,1.5972005 C 1.4152416,1.5558505 1.4044683,1.5400005 1.3919162,1.5358005 C 1.382611,1.5326505 1.275733,1.5301005 1.1544093,1.5300505 C 0.62432605,1.5298505 0.33957278,1.5075505 0.086899765,1.4466005 L 0,1.4256005 L 0.05771199,1.3841505 C 0.22636968,1.2629005 0.44263471,1.2073005 0.9593986,1.1523005 C 1.1595541,1.1309505 1.2010235,1.1210505 1.2540862,1.0820005 C 1.3218174,1.0321005 1.3981031,0.91470046 1.4969389,0.70830046 C 1.5734819,0.54840046 1.5889315,0.52515046 1.6593008,0.46355046 C 1.8222327,0.32090046 2.044632,0.21220046 2.3479005,0.12700046 C 2.6539081,0.041050464 2.9587735,0.00015046356 3.2942743,4.635608e-07 C 3.7252748,-0.00019953644 4.00638,0.064300464 4.2771876,0.22540046 C 4.8938312,0.57025046 5.280662,1.0720005 5.6672375,1.5964505 C 6.15611,2.2887005 6.7317105,2.9306005 7.256694,3.6020005 C 8.2925135,4.9134005 8.9135725,6.4226005 9.756456,7.8213505 C 11.401243,10.6983 14.90315,12.5894 16,15.69645 C 15.97815,15.80885 15.964061,15.906 15.960647,15.96785 L 15.958874,16 C 14.289035,14.2067 12.105412,12.1952 10.291648,10.6739 z "
+       style="fill:#000000"
+       id="path3347" />
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bowls-borderless.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bowls-borderless.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bowls-borderless.svg	(revision 35743)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="38"
+   height="38"
+   viewBox="0 0 300 300"
+   id="symbol-bowls-borderless">
+  <defs
+     id="defs2474" />
+  <path
+     d="M 133.81685,208.8622 L 126.35503,240.31878 C 124.99394,245.51199 126.77374,249.59331 131.69442,252.56277 C 135.1066,254.53982 138.69086,254.81182 142.44721,253.37876 C 146.2033,251.94563 148.57756,249.32335 149.57,245.51188 L 158.56393,207.50471 C 159.4585,203.4602 158.48415,199.99258 155.64087,197.10185 L 134.75661,175.03208 L 162.66048,153.398 L 166.54511,167.06433 C 166.79653,168.31994 167.48101,169.46325 168.5985,170.49427 L 195.76983,191.98059 C 196.45337,192.64098 197.12373,193.10574 197.78094,193.37488 C 200.08277,194.31797 202.42725,194.22395 204.81434,193.09278 C 207.20108,191.96165 208.86684,190.24692 209.81164,187.94863 C 211.49695,183.8478 210.63576,180.33295 207.2281,177.40406 L 183.83954,158.62581 L 173.64264,125.97234 C 172.19694,121.54832 169.09517,117.88193 164.33727,114.97315 C 156.00428,110.02673 148.06788,110.41718 140.5281,116.14448 L 102.21218,145.59669 C 99.720069,147.45414 97.815921,150.2193 96.499761,153.89217 L 77.106834,203.17152 L 45.125616,232.63017 C 43.86149,233.83809 42.947508,234.8999 42.383669,235.81558 C 40.605024,238.73157 40.130919,241.74913 40.961422,244.86825 C 41.79188,247.98732 43.667492,250.43472 46.588322,252.2105 C 51.508856,255.17988 55.947032,254.88907 59.902852,251.33808 L 95.031256,219.14089 C 96.295295,217.93294 97.263831,216.5103 97.936863,214.87295 L 110.13221,184.4956 L 133.81685,208.8622 z M 175.35877,116.89965 C 179.79714,118.7181 184.31645,118.70038 188.91668,116.8465 C 193.5166,114.99285 196.76021,111.77017 198.64755,107.17852 C 200.4687,102.74732 200.41134,98.21769 198.47553,93.589598 C 196.53933,88.961767 193.35205,85.738614 188.9137,83.920118 C 184.30948,82.034104 179.73058,82.07567 175.17695,84.044796 C 170.62302,86.014182 167.43547,89.214488 165.6143,93.645672 C 163.72698,98.237322 163.72826,102.78934 165.61814,107.3017 C 167.5077,111.81428 170.75459,115.01359 175.35877,116.89965 L 175.35877,116.89965 z"
+     id="path4705"
+     style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:NPSPICT3;-inkscape-font-specification:NPSPICT3" />
+  <path
+     d="M 249.05661,235.18867 A 16.132076,16.132076 0 1 1 216.79245,235.18867 A 16.132076,16.132076 0 1 1 249.05661,235.18867 z"
+     transform="translate(-2.8301887,1.1320755)"
+     id="path2385"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bowls.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bowls.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bowls.svg	(revision 35743)
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="38"
+   height="38"
+   viewBox="0 0 300 300"
+   id="symbol-bowls">
+  <defs
+     id="defs2474" />
+  <rect
+     width="269.52087"
+     height="258.24777"
+     ry="20.869576"
+     x="15.289689"
+     y="20.638819"
+     id="rect2471"
+     style="fill:none;stroke:#000000;stroke-width:14.68965149;stroke-linejoin:round;stroke-miterlimit:4" />
+  <path
+     d="M 133.81685,208.8622 L 126.35503,240.31878 C 124.99394,245.51199 126.77374,249.59331 131.69442,252.56277 C 135.1066,254.53982 138.69086,254.81182 142.44721,253.37876 C 146.2033,251.94563 148.57756,249.32335 149.57,245.51188 L 158.56393,207.50471 C 159.4585,203.4602 158.48415,199.99258 155.64087,197.10185 L 134.75661,175.03208 L 162.66048,153.398 L 166.54511,167.06433 C 166.79653,168.31994 167.48101,169.46325 168.5985,170.49427 L 195.76983,191.98059 C 196.45337,192.64098 197.12373,193.10574 197.78094,193.37488 C 200.08277,194.31797 202.42725,194.22395 204.81434,193.09278 C 207.20108,191.96165 208.86684,190.24692 209.81164,187.94863 C 211.49695,183.8478 210.63576,180.33295 207.2281,177.40406 L 183.83954,158.62581 L 173.64264,125.97234 C 172.19694,121.54832 169.09517,117.88193 164.33727,114.97315 C 156.00428,110.02673 148.06788,110.41718 140.5281,116.14448 L 102.21218,145.59669 C 99.720069,147.45414 97.815921,150.2193 96.499761,153.89217 L 77.106834,203.17152 L 45.125616,232.63017 C 43.86149,233.83809 42.947508,234.8999 42.383669,235.81558 C 40.605024,238.73157 40.130919,241.74913 40.961422,244.86825 C 41.79188,247.98732 43.667492,250.43472 46.588322,252.2105 C 51.508856,255.17988 55.947032,254.88907 59.902852,251.33808 L 95.031256,219.14089 C 96.295295,217.93294 97.263831,216.5103 97.936863,214.87295 L 110.13221,184.4956 L 133.81685,208.8622 z M 175.35877,116.89965 C 179.79714,118.7181 184.31645,118.70038 188.91668,116.8465 C 193.5166,114.99285 196.76021,111.77017 198.64755,107.17852 C 200.4687,102.74732 200.41134,98.21769 198.47553,93.589598 C 196.53933,88.961767 193.35205,85.738614 188.9137,83.920118 C 184.30948,82.034104 179.73058,82.07567 175.17695,84.044796 C 170.62302,86.014182 167.43547,89.214488 165.6143,93.645672 C 163.72698,98.237322 163.72826,102.78934 165.61814,107.3017 C 167.5077,111.81428 170.75459,115.01359 175.35877,116.89965 L 175.35877,116.89965 z"
+     id="path4705"
+     style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:NPSPICT3;-inkscape-font-specification:NPSPICT3" />
+  <path
+     d="M 251.32076,232.92453 A 17.264151,17.264151 0 1 1 216.79246,232.92453 A 17.264151,17.264151 0 1 1 251.32076,232.92453 z"
+     transform="matrix(0.9362719,0,0,0.9362719,11.519755,17.674025)"
+     id="path2387"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/building.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/building.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/building.svg	(revision 35743)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="9"
+   height="9"
+   id="symbol-building">
+    <path
+       d="M 1,1 L 8,1 L 8,8 L 1,8 L 1,1 z"
+       id="building"
+       style="fill:#6a5a8e;" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bureau_de_change.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bureau_de_change.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bureau_de_change.svg	(revision 35743)
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="16"
+   height="16"
+   id="symbol-bureau-de-change">
+  <defs
+     id="defs15806" />
+  <text
+     x="29.936853"
+     y="48.563526"
+     id="text17171"
+     xml:space="preserve"
+     style="font-size:10.58129311px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"><tspan
+       x="29.936853"
+       y="48.563526"
+       id="tspan17173" /></text>
+  <g
+     transform="translate(-0.1141925,-47.972181)"
+     id="g17242">
+    <g
+       id="g17334">
+      <g
+         id="g2438">
+        <rect
+           width="14.95812"
+           height="14.914521"
+           x="0.63685054"
+           y="48.535"
+           id="rect16604"
+           style="fill:#ffffff;fill-opacity:1;stroke:#19008e;stroke-width:1.04531598;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+        <g
+           id="g2433">
+          <path
+             d="M 13.403099,3.7840113 A 7.3965516,7.3965516 0 1 1 13.380389,3.693948"
+             transform="matrix(0.415209,0,0,0.4175176,2.3023187,50.36814)"
+             id="path17155"
+             style="fill:#19008e;fill-opacity:1;stroke:#76727e;stroke-width:1.28168929;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+          <text
+             x="3.7054453"
+             y="52.904945"
+             transform="scale(0.9728108,1.0279491)"
+             id="text17167"
+             xml:space="preserve"
+             style="font-size:4.8099227px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"><tspan
+               x="3.7054453"
+               y="52.904945"
+               id="tspan17169">£</tspan></text>
+        </g>
+        <g
+           transform="matrix(0.4422092,0,0,0.4672733,-1.2045273,34.182867)"
+           id="g17353">
+          <path
+             d="M 13.403099,3.7840113 A 7.3965516,7.3965516 0 1 1 13.380389,3.693948"
+             transform="matrix(0.9389425,0,0,0.893519,7.9477824,48.41716)"
+             id="path17355"
+             style="opacity:1;fill:#19008e;fill-opacity:1;stroke:#76727e;stroke-width:1.28168929;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+          <text
+             x="9.8373585"
+             y="56.995323"
+             id="text17357"
+             xml:space="preserve"
+             style="font-size:10.58129311px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"><tspan
+               x="9.8373585"
+               y="56.995323"
+               id="tspan17359">€</tspan></text>
+        </g>
+        <g
+           transform="matrix(0.4708471,0,0,0.4975345,5.0060161,32.776251)"
+           id="g17361">
+          <g
+             transform="matrix(0.9391778,0,0,0.9391778,0.3980803,2.8271725)"
+             id="g18670">
+            <path
+               d="M 13.403099,3.7840113 A 7.3965516,7.3965516 0 1 1 13.380389,3.693948"
+               transform="matrix(0.9389425,0,0,0.893519,7.9477824,48.41716)"
+               id="path17363"
+               style="opacity:1;fill:#19008e;fill-opacity:1;stroke:#76727e;stroke-width:1.28168929;stroke-linecap:round;stroke-linejoin:bevel;marker-start:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.38450678;stroke-opacity:1" />
+            <text
+               x="8.6101561"
+               y="57.724503"
+               id="text17365"
+               xml:space="preserve"
+               style="font-size:10.58129311px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"><tspan
+                 x="8.6101561"
+                 y="57.724503"
+                 id="tspan17367">￥</tspan></text>
+          </g>
+        </g>
+        <g
+           id="g2425">
+          <path
+             d="M 13.403099,3.7840113 A 7.3965516,7.3965516 0 1 1 13.380389,3.693948"
+             transform="matrix(0.415209,0,0,0.4175176,8.7080334,50.366857)"
+             id="path17371"
+             style="fill:#19008e;fill-opacity:1;stroke:#76727e;stroke-width:1.28168929;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+          <text
+             x="10.290194"
+             y="52.945057"
+             transform="scale(0.9728108,1.0279491)"
+             id="text17373"
+             xml:space="preserve"
+             style="font-size:4.8099227px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"><tspan
+               x="10.290194"
+               y="52.945057"
+               id="tspan17375">$</tspan></text>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bus.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bus.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bus.svg	(revision 35743)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="27.96" height="27.96" id="symbol-bus" viewBox="0 0 60 60">
+   <svg:g transform="translate(6,20)">
+                <svg:path style="fill:blue;stroke:#000000;stroke-width:0.33102515" d="M 2.2521668,0.37432812 C 16.5855,0.37432812 30.918834,0.37432812 45.252168,0.37432812 C 46.355969,1.6734629 46.462793,3.586312 46.948398,5.196193 C 47.576853,8.2837404 48.414233,11.387465 48.252167,14.563593 C 48.236441,15.635583 48.542361,17.557849 46.939414,17.374328 C 32.043665,17.374328 17.147916,17.374328 2.2521668,17.374328 C 0.65875368,17.30455 0.27106428,15.753005 0.2698071,14.227706 C 0.29303084,10.212217 0.1028761,6.2414586 0.23632812,2.1693926 C 0.39484947,1.3347273 1.358163,0.37476685 2.2521668,0.37432812 z "/>
+                <svg:path style="fill:blue;stroke:#ffffff;stroke-width:0.75587374" d="M 38.812165,16.734328 C 38.920431,18.865451 36.087926,20.19296 34.514352,18.757021 C 32.815686,17.495237 33.558848,14.486315 35.653279,14.167433 C 37.225591,13.803144 38.854105,15.116219 38.812165,16.734328 z "/>
+                <svg:path style="fill:blue;stroke:#ffffff;stroke-width:0.75587374" d="M 15.912166,16.734328 C 16.020431,18.865452 13.187925,20.19296 11.614351,18.757021 C 9.9156863,17.495236 10.658848,14.486315 12.753279,14.167433 C 14.325591,13.803145 15.954103,15.116219 15.912166,16.734328 z "/>
+                <svg:path style="fill:#ffffff;stroke:#000000;stroke-width:0.35478419" d="M 36.357025,1.5513395 C 39.305684,1.5513395 40.910594,1.5513395 43.859255,1.5513395 C 44.243739,1.5513395 44.590387,1.6719809 44.715165,1.9230441 C 45.570116,3.6432751 45.6451,5.7562027 46.029437,7.6473997 C 46.245197,8.9459032 46.072777,9.4244981 44.672637,9.4157048 C 41.844185,9.4192225 39.029953,9.3974155 36.281062,9.3974155 C 35.798111,9.3974155 35.537058,8.9607427 35.537058,8.6449215 C 35.562562,6.3521575 35.570716,3.8641786 35.570716,2.2653878 C 35.570716,1.9157124 35.854648,1.5513395 36.357025,1.5513395 z "/>
+                <svg:rect ry="0.60000002" y="1.54375" x="13.25" height="7.875" width="10" style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.34999999"/>
+                <svg:rect ry="0.60000002" y="1.54375" x="1.9375" height="7.875" width="10" style="fill:#ffffff;stroke:#000000;stroke-width:0.34999999"/>
+                <svg:rect ry="0.60000002" y="1.55" x="24.4375" height="7.875" width="10" style="fill:#ffffff;stroke:#000000;stroke-width:0.34999999"/>
+            </svg:g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bus_sta.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bus_sta.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/bus_sta.svg	(revision 35743)
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="40.959999"
+   height="40.959999"
+   viewBox="0 0 60 60"
+   id="symbol-bus-station">
+  <defs
+     id="defs2485" />
+  <g
+     transform="matrix(1.524215,0,0,1.5911274,-437.4375,-1077.4843)"
+     id="g3353">
+    <a
+       id="a3337">
+      <g
+         transform="matrix(0.466,0,0,0.466,295.1017,691.67072)"
+         id="g2468">
+        <path
+           d="M 2.2521668,0.37432812 C 16.5855,0.37432812 30.918834,0.37432812 45.252168,0.37432812 C 46.355969,1.6734629 46.462793,3.586312 46.948398,5.196193 C 47.576853,8.2837404 48.414233,11.387465 48.252167,14.563593 C 48.236441,15.635583 48.542361,17.557849 46.939414,17.374328 C 32.043665,17.374328 17.147916,17.374328 2.2521668,17.374328 C 0.65875368,17.30455 0.27106428,15.753005 0.2698071,14.227706 C 0.29303084,10.212217 0.1028761,6.2414586 0.23632812,2.1693926 C 0.39484947,1.3347273 1.358163,0.37476685 2.2521668,0.37432812 z"
+           id="path2470"
+           style="fill:#0000ff;stroke:#000000;stroke-width:0.33102515" />
+        <path
+           d="M 38.812165,16.734328 C 38.920431,18.865451 36.087926,20.19296 34.514352,18.757021 C 32.815686,17.495237 33.558848,14.486315 35.653279,14.167433 C 37.225591,13.803144 38.854105,15.116219 38.812165,16.734328 z"
+           id="path2472"
+           style="fill:#0000ff;stroke:#ffffff;stroke-width:0.75587374" />
+        <path
+           d="M 15.912166,16.734328 C 16.020431,18.865452 13.187925,20.19296 11.614351,18.757021 C 9.9156863,17.495236 10.658848,14.486315 12.753279,14.167433 C 14.325591,13.803145 15.954103,15.116219 15.912166,16.734328 z"
+           id="path2474"
+           style="fill:#0000ff;stroke:#ffffff;stroke-width:0.75587374" />
+        <path
+           d="M 36.357025,1.5513395 C 39.305684,1.5513395 40.910594,1.5513395 43.859255,1.5513395 C 44.243739,1.5513395 44.590387,1.6719809 44.715165,1.9230441 C 45.570116,3.6432751 45.6451,5.7562027 46.029437,7.6473997 C 46.245197,8.9459032 46.072777,9.4244981 44.672637,9.4157048 C 41.844185,9.4192225 39.029953,9.3974155 36.281062,9.3974155 C 35.798111,9.3974155 35.537058,8.9607427 35.537058,8.6449215 C 35.562562,6.3521575 35.570716,3.8641786 35.570716,2.2653878 C 35.570716,1.9157124 35.854648,1.5513395 36.357025,1.5513395 z"
+           id="path2476"
+           style="fill:#ffffff;stroke:#000000;stroke-width:0.35478419" />
+        <rect
+           width="10"
+           height="7.875"
+           ry="0.60000002"
+           x="13.25"
+           y="1.54375"
+           id="rect2478"
+           style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.34999999" />
+        <rect
+           width="10"
+           height="7.875"
+           ry="0.60000002"
+           x="1.9375"
+           y="1.54375"
+           id="rect2480"
+           style="fill:#ffffff;stroke:#000000;stroke-width:0.34999999" />
+        <rect
+           width="10"
+           height="7.875"
+           ry="0.60000002"
+           x="24.4375"
+           y="1.55"
+           id="rect2482"
+           style="fill:#ffffff;stroke:#000000;stroke-width:0.34999999" />
+      </g>
+    </a>
+    <path
+       d="M 304.19644,703.74609 A 11.5625,11.294642 0 1 1 281.07144,703.74609 A 11.5625,11.294642 0 1 1 304.19644,703.74609 z"
+       transform="matrix(1.2520344,0,0,1.2342961,-60.040798,-172.70063)"
+       id="path3305"
+       style="fill:#ffffff;fill-opacity:0;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/cafe.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/cafe.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/cafe.svg	(revision 35743)
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="14"
+   height="14"
+   id="symbol-cafe">
+  <defs
+     id="defs2230" />
+  <g
+     id="g9053">
+    <rect
+       width="14"
+       height="14"
+       ry="2.5999999"
+       x="0"
+       y="0"
+       style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.93333334;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4191" />
+    <path
+       d="M 10.960919 10.464368 A 4.027586 4.027586 0 1 1  2.9057474,10.464368 A 4.027586 4.027586 0 1 1  10.960919 10.464368 z"
+       transform="matrix(0.8945367,0,0,0.7056598,-1.1054313,1.2736111)"
+       style="fill:#886600;fill-opacity:1;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none"
+       id="path2236" />
+    <rect
+       width="7.205647"
+       height="6.1578946"
+       x="1.4938664"
+       y="2.5"
+       style="fill:#886600;fill-opacity:1;stroke:none;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect2238" />
+    <path
+       d="M 14.418391 6.4367814 A 2.4275863 2.6114943 0 1 1  9.5632184,6.4367814 A 2.4275863 2.6114943 0 1 1  14.418391 6.4367814 z"
+       transform="matrix(0.8886538,0,0,1.0890316,-0.7987018,-0.7693869)"
+       style="fill:none;fill-opacity:1;stroke:#886600;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3214" />
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/campSite.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/campSite.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/campSite.svg	(revision 35743)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="campSite" viewBox="0 0 100 100" fill="blue" fill-opacity="1" height="18.64">
+   <svg:path d="M 35,0 L 50,24 L 65,0 L 80,0 L 60,35 L 100,100 L 0,100 L 40,35 L 20,0 L 35,0 z "/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/cannon.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/cannon.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/cannon.svg	(revision 35743)
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="37.28"
+   id="symbol-shelter"
+   viewBox="0 0 12 12"
+   height="37.28"
+   sodipodi:version="0.32"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="cannon.svg">
+  <metadata
+     id="metadata38">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs36">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 18.639999 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="37.279999 : 18.639999 : 1"
+       inkscape:persp3d-origin="18.639999 : 12.426666 : 1"
+       id="perspective11" />
+    <inkscape:perspective
+       id="perspective2825"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-height="863"
+     inkscape:window-width="1009"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="14.339397"
+     inkscape:cx="17.774927"
+     inkscape:cy="15.969733"
+     inkscape:window-x="0"
+     inkscape:window-y="22"
+     inkscape:current-layer="symbol-shelter"
+     showgrid="false"
+     inkscape:window-maximized="0" />
+  <path
+     d="m 1.2052385,7.4832392 -0.198302,0 0,-0.3645544 0.198302,0 0,-2.3150049 1.2486362,0 0,2.3149282 1.8746066,0 0.4255542,-5.8044539 c 0,0 0,-0.34591944 -0.3987174,-0.61128765 l 3.2079831,0 C 7.1377473,0.98379112 7.166699,1.3141542 7.166699,1.3141542 l 0.4255544,5.8044539 1.8724915,0 0,-2.3150051 1.2518081,0 0,2.3150051 0.226328,0 0,0.364554 -0.226328,0 0,2.281969 -1.2518081,0 0,-2.281969 -1.8447292,0 0.1714636,2.0996918 c 0.083684,0.7941801 -1.0492768,0.9595931 -1.6194586,0.9920901 0.255148,0.04998 0.3718808,0.182278 0.3987174,0.314653 0.027895,0.198526 -0.3139768,0.413917 -0.5970186,0.413917 -0.3109363,0 -0.6496346,-0.215391 -0.6258383,-0.413917 0.030933,-0.132376 0.1435689,-0.264752 0.3987176,-0.314653 -0.564894,-0.0325 -1.7010272,-0.19791 -1.6184016,-0.9920901 l 0.1704072,-2.0996918 -1.8447292,0 0,2.281969 -1.2486362,0 0,-2.2818919 0,0 z"
+     id="path3" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/car_sharing.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/car_sharing.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/car_sharing.svg	(revision 35743)
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="16"
+   height="15.999999"
+   id="symbol-carsharing">
+  <defs
+     id="defs8">
+    <marker
+       markerUnits="strokeWidth"
+       refX="10"
+       refY="5"
+       markerWidth="4"
+       markerHeight="3"
+       orient="auto"
+       viewBox="0 0 10 10"
+       id="ArrowStart">
+      <path
+         d="M 10,0 L 0,5 L 10,10 L 10,0 z "
+         id="path1515" />
+    </marker>
+    <marker
+       markerUnits="strokeWidth"
+       refX="0"
+       refY="5"
+       markerWidth="4"
+       markerHeight="3"
+       orient="auto"
+       viewBox="0 0 10 10"
+       id="ArrowEnd">
+      <path
+         d="M 0,0 L 10,5 L 0,10 L 0,0 z "
+         id="path1512" />
+    </marker>
+  </defs>
+  <g
+     id="g2179">
+    <g
+       transform="matrix(2.0646103e-2,0,0,2.2375986e-2,-44.536555,-19.942524)"
+       id="g3246">
+      <g
+         transform="matrix(1.0380952,0,0,1.1492407,2194.3289,891.24668)"
+         style="fill:#000000;fill-opacity:1"
+         id="g2248">
+        <path
+           d="M 95.872,81.671 C 118.422,81.671 136.706,63.387 136.706,40.835 C 136.706,18.284 118.422,0 95.872,0 C 73.319,0 55.038,18.284 55.038,40.835 C 55.038,63.387 73.319,81.671 95.872,81.671 z "
+           style="fill:#000000;fill-opacity:1;stroke:none"
+           id="path2250" />
+        <path
+           d=""
+           style="fill:#000000;fill-opacity:1;stroke:none"
+           id="path2252" />
+      </g>
+      <path
+         d="M 2248.5,995.46875 C 2218.4813,995.46876 2194.3438,1022.569 2194.3438,1056.375 L 2194.3438,1070.6875 L 2231.375,1070.6875 L 2231.375,1068.7188 L 2240.125,1068.7188 L 2240.125,1070.6875 L 2347.5313,1070.6875 L 2347.5313,1068.7188 L 2356.0938,1068.7188 L 2356.0938,1070.6875 L 2392.8438,1070.6875 L 2392.8438,1057.25 C 2392.8438,1026.0768 2370.9907,995.53125 2338.0313,995.53125 L 2248.5,995.46875 z "
+         style="fill:#000000;fill-opacity:1;stroke:none"
+         id="path2254" />
+    </g>
+    <path
+       d="M 0.022176996,11.263985 C -0.018098961,8.5755549 -0.17920276,10.888855 1.6102,6.9031012 C 2.904784,4.1938302 1.5929389,4.9232493 8.2902535,4.8242567 C 14.251094,4.9336696 13.048569,4.1521491 14.417951,7.0281445 C 16.132556,10.711711 16.00022,8.7839603 15.988713,11.185833 C 15.925422,13.822162 17.001367,13.144845 7.9795533,13.233417 C -0.97321429,13.124004 0.085467689,13.811742 0.022176996,11.263985 z M 1.8345945,8.6693375 L 3.0601341,6.1059503 C 3.2887907,5.6506102 3.2158395,5.7178272 3.7505789,5.71519 L 12.318914,5.7143538 C 12.782762,5.7158976 12.714712,5.6886249 12.905792,6.0894837 L 14.124512,8.6380765 L 1.8345945,8.6693375 z M 0.95811327,13.5275 L 3.2500064,13.522869 C 3.2429742,16.128515 3.4814334,15.983212 2.2316004,16 C 0.74330825,15.994789 0.9785709,16.130832 0.95811327,13.5275 z M 12.760883,13.546025 L 15.056612,13.546025 C 15.041269,16.155724 15.25096,15.977422 13.951901,15.984368 C 12.60873,15.968159 12.779423,16.160356 12.760883,13.546025 z "
+       style="fill:#000000;fill-rule:evenodd;stroke:none"
+       id="Car" />
+    <circle
+       cx="150"
+       cy="412"
+       r="66.5"
+       transform="matrix(1.6829592e-2,0,0,1.5239649e-2,-0.4266121,4.3084532)"
+       style="fill:#ffffff;fill-opacity:1;stroke:none"
+       id="LeftLamp" />
+    <circle
+       cx="850"
+       cy="412"
+       r="66.5"
+       transform="matrix(1.6829592e-2,0,0,1.5239649e-2,-0.4266121,4.3084532)"
+       style="fill:#ffffff;fill-opacity:1;stroke:none"
+       id="RightLamp" />
+    <g
+       transform="matrix(2.0646103e-2,0,0,2.2375986e-2,-39.435516,-19.942524)"
+       id="g3262">
+      <g
+         transform="matrix(1.0380952,0,0,1.1492407,2194.3289,891.24668)"
+         style="fill:#000000;fill-opacity:1"
+         id="g3264">
+        <path
+           d="M 95.872,81.671 C 118.422,81.671 136.706,63.387 136.706,40.835 C 136.706,18.284 118.422,0 95.872,0 C 73.319,0 55.038,18.284 55.038,40.835 C 55.038,63.387 73.319,81.671 95.872,81.671 z "
+           style="fill:#000000;fill-opacity:1;stroke:none"
+           id="path3266" />
+        <path
+           d=""
+           style="fill:#000000;fill-opacity:1;stroke:none"
+           id="path3268" />
+      </g>
+      <path
+         d="M 2248.5,995.46875 C 2218.4813,995.46876 2194.3438,1022.569 2194.3438,1056.375 L 2194.3438,1070.6875 L 2231.375,1070.6875 L 2231.375,1068.7188 L 2240.125,1068.7188 L 2240.125,1070.6875 L 2347.5313,1070.6875 L 2347.5313,1068.7188 L 2356.0938,1068.7188 L 2356.0938,1070.6875 L 2392.8438,1070.6875 L 2392.8438,1057.25 C 2392.8438,1026.0768 2370.9907,995.53125 2338.0313,995.53125 L 2248.5,995.46875 z "
+         style="fill:#000000;fill-opacity:1;stroke:none"
+         id="path3270" />
+    </g>
+    <g
+       transform="matrix(2.0646103e-2,0,0,2.2375986e-2,-34.334478,-19.942524)"
+       id="g3272">
+      <g
+         transform="matrix(1.0380952,0,0,1.1492407,2194.3289,891.24668)"
+         style="fill:#000000;fill-opacity:1"
+         id="g3274">
+        <path
+           d="M 95.872,81.671 C 118.422,81.671 136.706,63.387 136.706,40.835 C 136.706,18.284 118.422,0 95.872,0 C 73.319,0 55.038,18.284 55.038,40.835 C 55.038,63.387 73.319,81.671 95.872,81.671 z "
+           style="fill:#000000;fill-opacity:1;stroke:none"
+           id="path3276" />
+        <path
+           d=""
+           style="fill:#000000;fill-opacity:1;stroke:none"
+           id="path3278" />
+      </g>
+      <path
+         d="M 2248.5,995.46875 C 2218.4813,995.46876 2194.3438,1022.569 2194.3438,1056.375 L 2194.3438,1070.6875 L 2231.375,1070.6875 L 2231.375,1068.7188 L 2240.125,1068.7188 L 2240.125,1070.6875 L 2347.5313,1070.6875 L 2347.5313,1068.7188 L 2356.0938,1068.7188 L 2356.0938,1070.6875 L 2392.8438,1070.6875 L 2392.8438,1057.25 C 2392.8438,1026.0768 2370.9907,995.53125 2338.0313,995.53125 L 2248.5,995.46875 z "
+         style="fill:#000000;fill-opacity:1;stroke:none"
+         id="path3280" />
+    </g>
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/cave_entrance.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/cave_entrance.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/cave_entrance.svg	(revision 35743)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="16"
+   height="16"
+   id="symbol-cave-entrance">
+  <defs
+     id="defs4" />
+  <path
+     d="M 0.5,10 L 2,10"
+     id="path3161"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" />
+  <path
+     d="M 14,10 L 15.5,10"
+     id="path3163"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" />
+  <path
+     d="M 0.5,12 L 15.5,12"
+     id="path3170"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" />
+  <path
+     d="M 2,10.5 C 2,1 14,1 14,10.5"
+     id="path2384"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/church.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/church.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/church.svg	(revision 35743)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="church" viewBox="0 0 10 10" fill="#000000" height="18.64">
+   <svg:g transform="translate (2.5,0)">
+            <svg:path d="M 0 10 L 0 5 L 5 5 L 5 10 z M 0 2 L 5 2 L 5 3 L 0 3 z M 2 0 L 2 5 L 3 5 L 3 0 z"/>
+          </svg:g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/cinema.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/cinema.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/cinema.svg	(revision 35743)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="23.3" id="cinema" viewBox="0 0 420 420" height="23.3">
+   <svg:g transform="translate(50,0)">
+              <svg:path fill="black" d="M123.7,393.2l-35.9,9L0,50.9l35.9-9L123.7,393.2z"/>
+              <svg:path fill="black" d="M291.5,351.2l-35.9,9L167.8,9l35.9-9L291.5,351.2z"/>
+              <svg:path fill="black" d="M201.9,27.8l9,35.9L19.8,111.5l-9-35.9L201.9,27.8z"/>
+              <svg:path fill="black" d="M234.8,159.2l9,35.9L52.6,242.9l-9-35.9L234.8,159.2z"/>
+              <svg:path fill="black" d="M267.7,290.7l9,35.9L85.5,374.4l-9-35.9L267.7,290.7z"/>
+              <svg:path fill="#FFFFFF" d="M40.5,97.5l-21.3,5.3l-5.3-21.3l21.3-5.3L40.5,97.5z"/>
+              <svg:path fill="#FFFFFF" d="M56.9,163l-21.3,5.3L30.2,147l21.3-5.3L56.9,163z"/>
+              <svg:path fill="#FFFFFF" d="M73.3,228.5l-21.3,5.3l-5.3-21.3l21.3-5.3L73.3,228.5z"/>
+              <svg:path fill="#FFFFFF" d="M89.6,294l-21.3,5.3L63,278l21.3-5.3L89.6,294z"/>
+              <svg:path fill="#FFFFFF" d="M106,359.4l-21.3,5.3l-5.3-21.3l21.3-5.3L106,359.4z"/>
+              <svg:path fill="#FFFFFF" d="M209.1,54.3l-21.3,5.3l-5.3-21.3l21.3-5.3L209.1,54.3z"/>
+              <svg:path fill="#FFFFFF" d="M225.4,119.8l-21.3,5.3l-5.3-21.3l21.3-5.3L225.4,119.8z"/>
+              <svg:path fill="#FFFFFF" d="M241.8,185.3l-21.3,5.3l-5.3-21.3l21.3-5.3L241.8,185.3z"/>
+              <svg:path fill="#FFFFFF" d="M258.2,250.8l-21.3,5.3l-5.3-21.3l21.3-5.3L258.2,250.8z"/>
+              <svg:path fill="#FFFFFF" d="M274.6,316.3l-21.3,5.3l-5.3-21.3l21.3-5.3L274.6,316.3z"/>
+            </svg:g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/cricket-borderless.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/cricket-borderless.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/cricket-borderless.svg	(revision 35743)
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="38"
+   height="38"
+   viewBox="0 0 300 300"
+   id="symbol-cricket-borderless">
+  <defs
+     id="defs2474" />
+  <path
+     d="M 89.567965,58.513471 L 116.05979,116.83402"
+     id="path2390"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:11.84210491;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 89.567965,58.513471 L 124.55035,133.81515"
+     id="path3158"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3.94736838;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 208.33376,72.024058 C 208.3368,80.953264 201.09907,88.193438 192.16982,88.193438 C 183.24058,88.193438 176.00285,80.953264 176.00589,72.024058 C 176.00285,63.094808 183.24058,55.854618 192.16982,55.854618 C 201.09907,55.854618 208.3368,63.094808 208.33376,72.024058 L 208.33376,72.024058 z"
+     id="path2387"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+  <path
+     d="M 181.00118,104.74292 C 178.94682,104.77285 176.98503,105.60241 175.53243,107.05542 L 154.09493,127.86792 L 121.28243,127.93042 C 116.91593,127.93905 113.38318,131.48579 113.3918,135.8523 C 113.40043,140.2188 116.94718,143.75155 121.31368,143.74292 L 157.34493,143.64917 C 159.38612,143.6443 161.3461,142.8491 162.81368,141.43042 L 186.53243,118.36792 C 188.89108,116.13202 189.63871,112.67924 188.41622,109.66793 C 187.19374,106.65661 184.25092,104.70202 181.00118,104.74292 z"
+     id="path3168"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.78947365;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 197.47492,114.94362 C 197.47492,114.94362 198.18543,162.12326 198.18543,162.12326"
+     id="path2383"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:44.17389679;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 183.12803,174.29061 L 172.06346,201.23532 L 171.6684,236.80669"
+     id="path3157"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:19.7368412;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 206.56378,105.19934 C 204.90963,106.41798 203.79565,108.23343 203.45843,110.26014 L 198.11475,139.65694 L 171.45287,158.78305 C 167.90504,161.3285 167.09245,166.26807 169.6379,169.81592 C 172.18335,173.36374 177.12293,174.17633 180.67076,171.63088 L 209.93344,150.60815 C 211.59144,149.41756 212.72392,147.63112 213.09329,145.62364 L 218.98511,113.06991 C 219.60442,109.87947 218.2055,106.63546 215.46021,104.89596 C 212.71492,103.15644 209.18418,103.27686 206.56378,105.19934 z"
+     id="path3159"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.78947365;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 209.34436,174.91092 L 209.88524,204.03392 L 223.64347,236.83926"
+     id="path2388"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:19.7368412;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 55.70477,176.95141 L 56.393328,244.80243"
+     id="path3172"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.92105246;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 73.534963,176.95141 L 74.223521,244.80243"
+     id="path3174"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.92105246;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 91.365147,176.95141 L 92.053705,244.80243"
+     id="path3176"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.92105246;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 70.189028,171.30663 L 59.690084,171.42915"
+     id="path3178"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3.94736838;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 87.932578,170.97804 L 77.433634,171.10056"
+     id="path3180"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3.94736838;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/cricket.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/cricket.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/cricket.svg	(revision 35743)
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="38"
+   height="38"
+   viewBox="0 0 300 300"
+   id="symbol-cricket">
+  <defs
+     id="defs2474" />
+  <path
+     d="M 89.567965,58.513471 L 116.05979,116.83402"
+     id="path2390"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:11.84210491;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 89.567965,58.513471 L 124.55035,133.81515"
+     id="path3158"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3.94736838;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <rect
+     width="269.52087"
+     height="258.24777"
+     ry="20.869576"
+     x="15.289689"
+     y="20.638819"
+     id="rect2471"
+     style="fill:none;stroke:#000000;stroke-width:14.68965149;stroke-linejoin:round;stroke-miterlimit:4" />
+  <path
+     d="M 208.33376,72.024058 C 208.3368,80.953264 201.09907,88.193438 192.16982,88.193438 C 183.24058,88.193438 176.00285,80.953264 176.00589,72.024058 C 176.00285,63.094808 183.24058,55.854618 192.16982,55.854618 C 201.09907,55.854618 208.3368,63.094808 208.33376,72.024058 L 208.33376,72.024058 z"
+     id="path2387"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+  <path
+     d="M 181.00118,104.74292 C 178.94682,104.77285 176.98503,105.60241 175.53243,107.05542 L 154.09493,127.86792 L 121.28243,127.93042 C 116.91593,127.93905 113.38318,131.48579 113.3918,135.8523 C 113.40043,140.2188 116.94718,143.75155 121.31368,143.74292 L 157.34493,143.64917 C 159.38612,143.6443 161.3461,142.8491 162.81368,141.43042 L 186.53243,118.36792 C 188.89108,116.13202 189.63871,112.67924 188.41622,109.66793 C 187.19374,106.65661 184.25092,104.70202 181.00118,104.74292 z"
+     id="path3168"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.78947365;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 197.47492,114.94362 C 197.47492,114.94362 198.18543,162.12326 198.18543,162.12326"
+     id="path2383"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:44.17389679;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 183.12803,174.29061 L 172.06346,201.23532 L 171.6684,236.80669"
+     id="path3157"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:19.7368412;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 206.56378,105.19934 C 204.90963,106.41798 203.79565,108.23343 203.45843,110.26014 L 198.11475,139.65694 L 171.45287,158.78305 C 167.90504,161.3285 167.09245,166.26807 169.6379,169.81592 C 172.18335,173.36374 177.12293,174.17633 180.67076,171.63088 L 209.93344,150.60815 C 211.59144,149.41756 212.72392,147.63112 213.09329,145.62364 L 218.98511,113.06991 C 219.60442,109.87947 218.2055,106.63546 215.46021,104.89596 C 212.71492,103.15644 209.18418,103.27686 206.56378,105.19934 z"
+     id="path3159"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.78947365;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 209.34436,174.91092 L 209.88524,204.03392 L 223.64347,236.83926"
+     id="path2388"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:19.7368412;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 55.70477,176.95141 L 56.393328,244.80243"
+     id="path3172"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.92105246;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 73.534963,176.95141 L 74.223521,244.80243"
+     id="path3174"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.92105246;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 91.365147,176.95141 L 92.053705,244.80243"
+     id="path3176"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.92105246;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 70.189028,171.30663 L 59.690084,171.42915"
+     id="path3178"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3.94736838;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 87.932578,170.97804 L 77.433634,171.10056"
+     id="path3180"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3.94736838;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/curling-borderless.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/curling-borderless.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/curling-borderless.svg	(revision 35743)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="38"
+   height="38"
+   viewBox="0 0 300 300"
+   id="symbol-curling-borderless">
+  <defs
+     id="defs2474" />
+  <path
+     d="M 133.81685,208.8622 L 126.35503,240.31878 C 124.99394,245.51199 126.77374,249.59331 131.69442,252.56277 C 135.1066,254.53982 138.69086,254.81182 142.44721,253.37876 C 146.2033,251.94563 148.57756,249.32335 149.57,245.51188 L 158.56393,207.50471 C 159.4585,203.4602 158.48415,199.99258 155.64087,197.10185 L 134.75661,175.03208 L 162.66048,153.398 L 166.54511,167.06433 C 166.79653,168.31994 167.48101,169.46325 168.5985,170.49427 L 195.76983,191.98059 C 196.45337,192.64098 197.12373,193.10574 197.78094,193.37488 C 200.08277,194.31797 202.42725,194.22395 204.81434,193.09278 C 207.20108,191.96165 208.86684,190.24692 209.81164,187.94863 C 211.49695,183.8478 210.63576,180.33295 207.2281,177.40406 L 183.83954,158.62581 L 173.64264,125.97234 C 172.19694,121.54832 169.09517,117.88193 164.33727,114.97315 C 156.00428,110.02673 148.06788,110.41718 140.5281,116.14448 L 102.21218,145.59669 C 99.720069,147.45414 97.815921,150.2193 96.499761,153.89217 L 77.106834,203.17152 L 45.125616,232.63017 C 43.86149,233.83809 42.947508,234.8999 42.383669,235.81558 C 40.605024,238.73157 40.130919,241.74913 40.961422,244.86825 C 41.79188,247.98732 43.667492,250.43472 46.588322,252.2105 C 51.508856,255.17988 55.947032,254.88907 59.902852,251.33808 L 95.031256,219.14089 C 96.295295,217.93294 97.263831,216.5103 97.936863,214.87295 L 110.13221,184.4956 L 133.81685,208.8622 z M 175.35877,116.89965 C 179.79714,118.7181 184.31645,118.70038 188.91668,116.8465 C 193.5166,114.99285 196.76021,111.77017 198.64755,107.17852 C 200.4687,102.74732 200.41134,98.21769 198.47553,93.589598 C 196.53933,88.961767 193.35205,85.738614 188.9137,83.920118 C 184.30948,82.034104 179.73058,82.07567 175.17695,84.044796 C 170.62302,86.014182 167.43547,89.214488 165.6143,93.645672 C 163.72698,98.237322 163.72826,102.78934 165.61814,107.3017 C 167.5077,111.81428 170.75459,115.01359 175.35877,116.89965 L 175.35877,116.89965 z"
+     id="path4705"
+     style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:NPSPICT3;-inkscape-font-specification:NPSPICT3" />
+  <g
+     transform="matrix(0.4535981,0,0,0.4528602,18.632903,20.358258)"
+     id="g3188"
+     style="display:inline">
+    <rect
+       width="118.49619"
+       height="18.15666"
+       x="406.64481"
+       y="467.6058"
+       id="rect1873"
+       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.12500119;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       width="116.92729"
+       height="63.109482"
+       rx="31.117723"
+       ry="31.554741"
+       x="407.42923"
+       y="445.12936"
+       id="rect2780"
+       style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       d="M 432.74572,445.14884 L 449.94678,445.14884 L 467.14785,445.14884 L 484.34892,445.14884 C 484.34892,431.44683 480.58149,429.63641 475.01444,429.63641 L 444.18435,429.63641 C 437.39209,429.63641 433.44408,426.06557 433.44408,421.63173 C 433.44408,416.37088 437.9171,414.63494 444.05397,414.63494 L 483.74131,414.63494 C 492.8433,414.63494 501.55,430.68041 501.55,445.14884 C 510.28526,445.14884 511.47978,448.66503 517.17978,454.36502 L 417.11594,454.36502 C 422.81594,448.66503 424.01044,445.14884 432.74572,445.14884 z"
+       id="rect2782"
+       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1" />
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/curling.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/curling.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/curling.svg	(revision 35743)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="38"
+   height="38"
+   viewBox="0 0 300 300"
+   id="symbol-curling">
+  <defs
+     id="defs2474" />
+  <g
+     transform="matrix(2.1717017,0,0,2.1717017,-178.99578,-179.90928)"
+     id="g2485">
+    <rect
+       width="124.10584"
+       height="118.91494"
+       ry="9.6097803"
+       x="89.462318"
+       y="92.346062"
+       id="rect2471"
+       style="fill:none;stroke:#000000;stroke-width:6.7641201;stroke-linejoin:round;stroke-miterlimit:4" />
+    <path
+       d="M 144.04033,179.01698 L 140.6044,193.50174 C 139.97766,195.89305 140.7972,197.77237 143.06302,199.13971 C 144.63422,200.05008 146.28466,200.17533 148.01434,199.51545 C 149.7439,198.85554 150.83717,197.64806 151.29416,195.893 L 155.43558,178.3919 C 155.8475,176.52953 155.39884,174.9328 154.0896,173.60171 L 144.47306,163.43928 L 157.32191,153.47747 L 159.11066,159.77038 C 159.22643,160.34855 159.54161,160.87501 160.05618,161.34976 L 172.56772,171.24353 C 172.88247,171.54762 173.19115,171.76163 173.49377,171.88556 C 174.55369,172.31982 175.63325,172.27653 176.73243,171.75566 C 177.83145,171.23481 178.59848,170.44523 179.03353,169.38694 C 179.80956,167.49864 179.41301,165.88016 177.84389,164.5315 L 167.0742,155.88471 L 162.37885,140.84882 C 161.71315,138.8117 160.28488,137.12344 158.09402,135.78404 C 154.25694,133.50637 150.60248,133.68616 147.13065,136.3234 L 129.48738,149.88521 C 128.33984,150.74051 127.46304,152.01378 126.85699,153.70502 L 117.92716,176.3966 L 103.20082,189.96138 C 102.61873,190.51759 102.19787,191.00652 101.93824,191.42816 C 101.11923,192.77088 100.90092,194.16037 101.28334,195.59663 C 101.66574,197.03286 102.5294,198.15981 103.87435,198.9775 C 106.1401,200.34481 108.18374,200.2109 110.00527,198.57578 L 126.18079,183.74999 C 126.76284,183.19377 127.20882,182.53869 127.51873,181.78474 L 133.1343,167.79693 L 144.04033,179.01698 z M 163.16907,136.67113 C 165.2128,137.50847 167.2938,137.50031 169.41206,136.64666 C 171.53018,135.79311 173.02376,134.30917 173.89282,132.19486 C 174.7314,130.15443 174.70499,128.06868 173.81361,125.93759 C 172.92205,123.80662 171.45441,122.32246 169.41069,121.4851 C 167.29059,120.61665 165.18215,120.63579 163.08535,121.54251 C 160.98841,122.44935 159.52064,123.92299 158.68205,125.96341 C 157.813,128.07772 157.81359,130.17378 158.68382,132.25158 C 159.5539,134.32948 161.04899,135.80266 163.16907,136.67113 L 163.16907,136.67113 z"
+       id="path4705"
+       style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:NPSPICT3;-inkscape-font-specification:NPSPICT3" />
+    <g
+       transform="matrix(0.2088676,0,0,0.2085278,91.001763,92.216872)"
+       id="g3188"
+       style="display:inline">
+      <rect
+         width="118.49619"
+         height="18.15666"
+         x="406.64481"
+         y="467.6058"
+         id="rect1873"
+         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.12500119;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <rect
+         width="116.92729"
+         height="63.109482"
+         rx="31.117723"
+         ry="31.554741"
+         x="407.42923"
+         y="445.12936"
+         id="rect2780"
+         style="fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         d="M 432.74572,445.14884 L 449.94678,445.14884 L 467.14785,445.14884 L 484.34892,445.14884 C 484.34892,431.44683 480.58149,429.63641 475.01444,429.63641 L 444.18435,429.63641 C 437.39209,429.63641 433.44408,426.06557 433.44408,421.63173 C 433.44408,416.37088 437.9171,414.63494 444.05397,414.63494 L 483.74131,414.63494 C 492.8433,414.63494 501.55,430.68041 501.55,445.14884 C 510.28526,445.14884 511.47978,448.66503 517.17978,454.36502 L 417.11594,454.36502 C 422.81594,448.66503 424.01044,445.14884 432.74572,445.14884 z"
+         id="rect2782"
+         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1" />
+    </g>
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/disused.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/disused.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/disused.svg	(revision 35743)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="9.32" id="symbol-disused" viewBox="0 0 10 10" stroke-width="1px" stroke="#a00000" height="9.32">
+   <svg:path d="M 0 0 L 10 10 M 0 10 L 10 0"/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/diving-borderless.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/diving-borderless.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/diving-borderless.svg	(revision 35743)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="38"
+   height="38"
+   viewBox="0 0 300 300"
+   id="symbol-diving-borderless">
+  <defs
+     id="defs2474" />
+  <path
+     d="M 249.86451,143.66087 C 249.86755,152.59011 242.62982,159.83031 233.70057,159.83031 C 224.77133,159.83031 217.5336,152.59011 217.53664,143.66087 C 217.5336,134.73162 224.77133,127.49143 233.70057,127.49143 C 242.62982,127.49143 249.86755,134.73162 249.86451,143.66087 L 249.86451,143.66087 z"
+     id="path2387"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+  <path
+     d="M 208.51188,169.98162 L 160.96472,206.20804"
+     id="path2383"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:31.57894707;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 192.66282,146.20803 L 164.92698,167.71747"
+     id="path3155"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:15.78947353;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 150.77603,215.26463 L 124.75129,235.09301 L 95.870386,213.56652"
+     id="path3157"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:19.7368412;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 241.5651,213.80305 L 210.14302,204.68689 L 210.25716,168.66629"
+     id="path3159"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:15.78947353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 87.280534,199.69532 L 54.082856,231.4"
+     id="path3161"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:7.89473677;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 15.709913,98.718935 C 15.709913,98.718935 37.503993,78.272129 49.282433,78.272129 C 61.060873,78.272129 71.076514,98.718935 82.854953,98.718935 C 94.633393,98.718935 104.64903,78.272128 116.42748,78.272129 C 128.20592,78.272129 138.22156,98.718935 150.00001,98.718935 C 161.77844,98.718935 171.79407,78.272129 183.57252,78.272129 C 195.35097,78.272129 205.3666,98.718935 217.14504,98.718935 C 228.92348,98.718935 238.93913,78.272129 250.71756,78.272129 C 262.496,78.272129 284.29009,98.718935 284.29009,98.718935"
+     id="path3265"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:15.63035202;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/diving.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/diving.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/diving.svg	(revision 35743)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="38"
+   height="38"
+   viewBox="0 0 300 300"
+   id="symbol-diving">
+  <defs
+     id="defs2474" />
+  <rect
+     width="269.52087"
+     height="258.24777"
+     ry="20.869576"
+     x="15.289689"
+     y="20.638819"
+     id="rect2471"
+     style="fill:none;stroke:#000000;stroke-width:14.68965149;stroke-linejoin:round;stroke-miterlimit:4" />
+  <path
+     d="M 249.86451,143.66087 C 249.86755,152.59011 242.62982,159.83031 233.70057,159.83031 C 224.77133,159.83031 217.5336,152.59011 217.53664,143.66087 C 217.5336,134.73162 224.77133,127.49143 233.70057,127.49143 C 242.62982,127.49143 249.86755,134.73162 249.86451,143.66087 L 249.86451,143.66087 z"
+     id="path2387"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+  <path
+     d="M 208.51188,169.98162 L 160.96472,206.20804"
+     id="path2383"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:31.57894707;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 192.66282,146.20803 L 164.92698,167.71747"
+     id="path3155"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:15.78947353;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 150.77603,215.26463 L 124.75129,235.09301 L 95.870386,213.56652"
+     id="path3157"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:19.7368412;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 241.5651,213.80305 L 210.14302,204.68689 L 210.25716,168.66629"
+     id="path3159"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:15.78947353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 87.280534,199.69532 L 54.082856,231.4"
+     id="path3161"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:7.89473677;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 15.709913,98.718935 C 15.709913,98.718935 37.503993,78.272129 49.282433,78.272129 C 61.060873,78.272129 71.076514,98.718935 82.854953,98.718935 C 94.633393,98.718935 104.64903,78.272128 116.42748,78.272129 C 128.20592,78.272129 138.22156,98.718935 150.00001,98.718935 C 161.77844,98.718935 171.79407,78.272129 183.57252,78.272129 C 195.35097,78.272129 205.3666,98.718935 217.14504,98.718935 C 228.92348,98.718935 238.93913,78.272129 250.71756,78.272129 C 262.496,78.272129 284.29009,98.718935 284.29009,98.718935"
+     id="path3265"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:15.63035202;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/doctor.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/doctor.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/doctor.svg	(revision 35743)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="symbol-doctor" viewBox="0 0 36 36" height="18.64">
+   <svg:ellipse fill="limegreen" cx="18" cy="18" rx="18" ry="18"/>
+   <svg:path fill="#ffffff" d="M32 21.44 A16 16 -180 1 0 0 21.44 A16 16 -180 1 0 32 21.44 Z M10 6.94 L22 6.94 L22 15.44 L30.5 15.44 L30.5 27.44 L22 27.44 L22 35.94 L10 35.94 L10 27.44 L1.5 27.44 L1.5 15.44 L10 15.44 L 10 6.94 Z" transform="translate(2,-3.44)"/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/dog_park.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/dog_park.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/dog_park.svg	(revision 35743)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="16"
+   height="16"
+   viewBox="0 0 18 18"
+   id="symbol-dog-park"
+   style="stroke:#000000">
+  <defs
+     id="defs10" />
+  <rect
+     width="17"
+     height="17"
+     ry="3"
+     x="0.5"
+     y="0.5"
+     id="rect3165"
+     style="fill:#c7f1a3;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.1;stroke-dasharray:none" />
+  <path
+     d="M 6.46,8.48 C 8.51,7.4 10.33,8.05 10.8,9.7 C 11.33,11.59 12.7,14.29 11.31,14.9 C 10.43,15.29 8.98,12.87 7.42,12.1 C 5.86,11.34 3.25,12.26 3,10.92 C 2.78,9.73 5.15,9.17 6.46,8.48 L 6.46,8.48 z"
+     id="path2176"
+     style="fill:#000000;stroke-width:0" />
+  <path
+     d="M 3.71,6.22 C 4,5.35 4.81,4.93 5.52,5.23 C 6.23,5.64 6.57,6.63 6.28,7.49 C 5.99,8.36 5.18,8.77 4.47,8.42 C 3.76,8.07 3.42,7.08 3.71,6.22 L 3.71,6.22 z"
+     id="path2183"
+     style="fill:#000000;stroke-width:0" />
+  <path
+     d="M 7.90,3.61 C 8.51,2.67 9.49,2.46 10.1,3.15 C 10.7,3.83 10.7,5.15 10.1,6.09 C 9.49,7.04 8.51,7.24 7.9,6.56 C 7.3,5.87 7.3,4.55 7.9,3.61 L 7.9,3.61 z"
+     id="path2185"
+     style="fill:#000000;stroke-width:0" />
+  <path
+     d="M 12,5.23 C 12.94,4.57 13.97,4.72 14.29,5.56 C 14.6,6.4 14.08,7.61 13.13,8.27 C 12.18,8.93 11.15,8.78 10.84,7.94 C 10.53,7.1 11.04,5.89 11.99,5.23 L 11.99,5.23 z"
+     id="path2191"
+     style="fill:#000000;stroke-width:0" />
+  <path
+     d="M 13.09,9.83 C 13.96,9.6 14.78,10.02 14.92,10.78 C 15.05,11.53 14.46,12.33 13.59,12.56 C 12.72,12.79 11.9,12.37 11.76,11.61 C 11.63,10.86 12.22,10.07 13.09,9.83 L 13.09,9.83 z"
+     id="path2193"
+     style="fill:#000000;stroke-width:0" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/drinking_water.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/drinking_water.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/drinking_water.svg	(revision 35743)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="drinking_water" viewBox="0 0 20 20" stroke="none" fill-opacity="1" fill-rule="nonzero" height="18.64">
+   <svg:rect fill="white" width="20" height="20" x="0" y="0" rx="4" ry="4"/>
+   <svg:path fill="blue" d="M 9.598,0 L 2.402,0 C 1.072,0 0,1.078 0,2.402 L 0,9.597 C 0,10.922 1.072,12 2.402,12 L 9.597,12 C 10.928,12 12,10.922 12,9.598 L 12,2.402 C 12,1.078 10.928,0 9.598,0 z M 7.879,6.777 C 8.161,6.621 8.286,6.606 8.295,6.662 L 8.417,6.771 C 8.541,6.896 8.716,6.847 8.894,6.669 L 8.224,10.512 L 6.067,10.512 L 5.381,6.771 C 5.505,6.896 5.735,6.882 5.858,6.777 C 6.13,6.543 6.099,6.496 6.274,6.662 L 6.395,6.771 C 6.443,6.819 6.513,6.831 6.581,6.842 L 6.565,6.189 L 6.815,6.183 L 6.83,6.792 C 6.842,6.784 6.862,6.787 6.873,6.776 C 7.13,6.527 7.161,6.574 7.29,6.662 L 7.401,6.771 C 7.526,6.896 7.737,6.855 7.879,6.777 z M 6.536,4.958 L 6.786,4.952 L 6.805,5.685 L 6.555,5.691 L 6.536,4.958 z M 7.211,5.543 L 7.23,6.277 L 6.98,6.283 L 6.961,5.549 L 7.211,5.543 z M 6.961,4.383 L 7.211,4.377 L 7.23,5.111 L 6.98,5.117 L 6.961,4.383 z M 1.354,2.887 L 1.354,1.186 L 4.777,1.619 C 5.803,1.794 7.523,2.088 7.523,4.127 L 6.347,4.127 C 6.347,3.376 5.785,3.212 4.548,3.119 L 1.354,2.887 z M 8.979,11.393 L 5.319,11.393 L 4.249,5.504 L 4.741,5.415 C 4.741,5.415 5.666,10.512 5.736,10.893 L 8.558,10.893 C 8.625,10.508 9.5,5.443 9.5,5.443 L 9.993,5.528 L 8.979,11.393 z " transform="scale(1.67,1.67)"/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/earthquakeCamp.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/earthquakeCamp.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/earthquakeCamp.svg	(revision 35743)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="symbol-earthquake-camp" viewBox="0 0 100 100" fill="red" fill-opacity="1" height="18.64">
+   <svg:path d="M 35,0 L 50,24 L 65,0 L 80,0 L 60,35 L 100,100 L 0,100 L 40,35 L 20,0 L 35,0 z "/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/entrance.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/entrance.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/entrance.svg	(revision 35743)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="5"
+   height="5"
+   id="symbol-building">
+    <path
+       d="M 1,1 L 4,1 L 4,4 L 1,4 L 1,1 z"
+       id="building"
+       style="fill:#6a5a8e;" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/equestrian-borderless.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/equestrian-borderless.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/equestrian-borderless.svg	(revision 35743)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="28"
+   height="28"
+   viewBox="0 0 475 475"
+   id="symbol-equestrian-borderless">
+  <defs
+     id="defs4" />
+  <path
+     d="M 1.16435,153.79625 C -1.08688,170.10755 1.08323,185.67606 8.0635,202.19461 C 12.68823,218.22489 17.60122,234.89966 21.70977,244.55259 C 38.59169,255.61281 47.10486,249.09881 55.04706,239.85883 C 58.16249,226.16337 46.57022,194.41725 59.83028,190.34448 C 71.60518,188.12816 82.64405,214.95198 87.67082,227.36564 C 92.69759,239.7793 92.17338,265.00693 95.40984,275.80968 C 99.38888,285.86985 107.36727,285.69452 107.05881,291.47025 C 106.74866,297.27756 92.6356,307.41511 87.31405,313.12954 C 81.91689,318.92516 81.58727,321.65275 81.84633,329.56172 C 86.18891,338.19242 98.59819,383.41953 103.83335,397.77956 C 109.28283,407.89843 106.13192,406.9768 118.09588,410.91369 C 120.19933,397.56426 120.71653,395.02643 121.7507,387.87088 C 116.47294,382.94307 112.0234,380.48706 110.75719,376.87737 C 109.49098,373.26768 109.91557,375.24627 109.25751,368.09708 C 108.59945,360.94789 100.26688,338.99414 100.12045,327.36302 C 113.41286,314.18964 125.9847,308.97 139.62449,308.65954 C 149.69788,321.62529 171.50805,377.89384 177.79708,395.08145 C 183.9431,411.87824 181.57614,410.87695 181.11565,418.63219 C 178.92947,424.65357 169.85203,427.4735 166.68679,431.08634 C 163.52155,434.69918 166.28756,430.85479 160.01632,440.53753 C 171.4227,440.27648 176.40312,440.54976 185.51305,440.42806 C 185.74609,432.761 182.31469,434.07615 184.4137,430.74557 C 186.51271,427.41499 193.42488,427.23131 197.35321,423.91728 C 201.67154,410.80713 189.15159,389.35381 187.55992,377.56034 C 185.97092,365.78666 187.57882,364.96534 183.71716,352.35687 C 179.86871,339.79152 177.5604,330.172 176.56222,308.40376 C 216.54137,312.39047 252.6735,310.47635 278.95788,298.82345 C 296.13182,320.62541 295.19686,325.79234 301.73665,332.76336 C 305.89432,341.7135 310.86222,350.95572 305.19294,359.56682 C 295.59951,369.72672 270.09887,385.82813 264.66632,393.36763 C 262.52914,404.83019 258.49927,407.88584 257.44074,415.51068 C 256.37902,423.15845 257.34618,422.70045 258.69879,434.35747 C 267.26985,427.34068 274.48266,421.94788 280.05901,416.92477 C 277.00462,408.29244 273.97677,413.40884 275.65983,404.36114 C 283.56813,402.06111 301.18454,381.40909 312.5661,373.89317 C 323.94766,366.37725 332.18258,362.73547 343.81959,353.791 C 347.92432,358.4988 351.82175,372.96447 349.47683,385.67396 C 347.1039,398.53524 339.87322,414.29225 333.92543,424.14946 C 327.34995,429.76976 322.57664,429.28514 318.53451,429.64621 C 315.12007,432.83189 315.83314,430.69128 309.26716,440.01203 C 319.80575,439.91742 326.1062,439.82528 333.13993,439.54215 C 337.0352,435.64981 338.74401,436.31696 350.41569,434.04362 C 356.752,413.41033 369.83209,378.68088 379.62829,360.54403 C 371.49127,345.9528 361.64604,325.62886 364.3943,312.01567 C 369.81024,298.24556 386.13883,279.52678 389.8363,266.78714 C 393.53377,254.0475 396.16094,245.92184 394.86317,238.36004 C 393.5654,230.79824 389.47134,225.70438 386.69427,219.51505 C 390.66487,217.87648 394.59819,218.08015 409.78064,236.16045 C 424.96309,254.24075 452.48003,348.0078 458.15208,357.08905 C 463.9515,366.37423 473.22726,359.16063 474.65008,354.24175 C 476.14907,349.05956 433.9864,235.95529 418.57545,221.86889 C 403.30708,207.91281 390.85187,209.06123 378.14463,206.27239 C 365.43739,200.35152 347.5645,188.82123 332.11342,184.10427 C 315.95767,180.99799 296.73188,188.94947 271.94313,187.797 C 247.15438,186.64453 194.70491,177.27709 170.12214,169.10005 C 145.87168,159.32241 130.69488,145.01745 113.16522,136.73152 C 94.83022,130.15693 73.84633,125.58228 57.13827,125.73001 C 48.71052,126.90049 26.41992,136.25931 15.32638,141.39612 C 13.05092,137.69366 12.68435,132.5696 8.95189,131.90076 C 1.59867,134.71111 2.97622,147.69413 1.16435,153.79625 z"
+     id="path2416"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 229.13172,35.72017 C 218.54358,36.25746 210.10048,45.03051 210.10047,55.75142 C 210.10047,66.34666 218.34356,75.03068 228.75672,75.75142 C 224.50476,76.2931 220.3949,78.17574 217.13172,81.43892 C 213.75703,84.81361 211.84574,107.72153 211.38172,133.28267 C 191.4981,141.87065 170.49848,150.17519 163.16297,155.40767 C 161.22171,158.99825 161.43922,163.45304 167.56922,166.03267 C 174.9159,163.37052 191.64309,156.77925 211.28797,148.78267 C 211.31124,153.88682 211.40219,158.92175 211.53797,163.84517 C 197.75276,179.91244 176.02089,210.20291 174.00672,215.78267 C 175.36268,220.18185 196.95353,258.84792 202.47547,284.75142 C 205.58746,298.52228 185.96111,289.34047 188.10047,304.68892 C 208.10431,301.7831 221.70022,298.73846 233.78797,297.09517 C 230.60047,287.36036 215.29549,241.31903 199.88172,220.15767 C 223.87787,200.42654 236.57045,192.78406 252.48234,167.54679 C 251.74376,141.03642 253.30084,89.26428 245.47547,81.43892 C 241.90983,77.87328 237.3309,75.94268 232.66297,75.62642 C 242.54773,74.39141 250.19423,65.96906 250.19422,55.75142 C 250.19422,44.68468 241.22971,35.72018 230.16297,35.72017 C 229.81713,35.72017 229.47327,35.70284 229.13172,35.72017 z"
+     id="path3210"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/equestrian.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/equestrian.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/equestrian.svg	(revision 35743)
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="35"
+   height="35"
+   viewBox="0 0 610 610"
+   id="symbol-equestrian">
+  <defs
+     id="defs4" />
+  <path
+     d="M 68.664349,221.29625 C 66.413119,237.60755 68.583229,253.17606 75.563499,269.69461 C 80.188229,285.72489 85.101219,302.39966 89.209769,312.05259 C 106.09169,323.11281 114.60486,316.59881 122.54706,307.35883 C 125.66249,293.66337 114.07022,261.91725 127.33028,257.84448 C 139.10518,255.62816 150.14405,282.45198 155.17082,294.86564 C 160.19759,307.2793 159.67338,332.50693 162.90984,343.30968 C 166.88888,353.36985 174.86727,353.19452 174.55881,358.97025 C 174.24866,364.77756 160.1356,374.91511 154.81405,380.62954 C 149.41689,386.42516 149.08727,389.15275 149.34633,397.06172 C 153.68891,405.69242 166.09819,450.91953 171.33335,465.27956 C 176.78283,475.39843 173.63192,474.4768 185.59588,478.41369 C 187.69933,465.06426 188.21653,462.52643 189.2507,455.37088 C 183.97294,450.44307 179.5234,447.98706 178.25719,444.37737 C 176.99098,440.76768 177.41557,442.74627 176.75751,435.59708 C 176.09945,428.44789 167.76688,406.49414 167.62045,394.86302 C 180.91286,381.68964 193.4847,376.47 207.12449,376.15954 C 217.19788,389.12529 239.00805,445.39384 245.29708,462.58145 C 251.4431,479.37824 249.07614,478.37695 248.61565,486.13219 C 246.42947,492.15357 237.35203,494.9735 234.18679,498.58634 C 231.02155,502.19918 233.78756,498.35479 227.51632,508.03753 C 238.9227,507.77648 243.90312,508.04976 253.01305,507.92806 C 253.24609,500.261 249.81469,501.57615 251.9137,498.24557 C 254.01271,494.91499 260.92488,494.73131 264.85321,491.41728 C 269.17154,478.30713 256.65159,456.85381 255.05992,445.06034 C 253.47092,433.28666 255.07882,432.46534 251.21716,419.85687 C 247.36871,407.29152 245.0604,397.672 244.06222,375.90376 C 284.04137,379.89047 320.1735,377.97635 346.45788,366.32345 C 363.63182,388.12541 362.69686,393.29234 369.23665,400.26336 C 373.39432,409.2135 378.36222,418.45572 372.69294,427.06682 C 363.09951,437.22672 337.59887,453.32813 332.16632,460.86763 C 330.02914,472.33019 325.99927,475.38584 324.94074,483.01068 C 323.87902,490.65845 324.84618,490.20045 326.19879,501.85747 C 334.76985,494.84068 341.98266,489.44788 347.55901,484.42477 C 344.50462,475.79244 341.47677,480.90884 343.15983,471.86114 C 351.06813,469.56111 368.68454,448.90909 380.0661,441.39317 C 391.44766,433.87725 399.68258,430.23547 411.31959,421.291 C 415.42432,425.9988 419.32175,440.46447 416.97683,453.17396 C 414.6039,466.03524 407.37322,481.79225 401.42543,491.64946 C 394.84995,497.26976 390.07664,496.78514 386.03451,497.14621 C 382.62007,500.33189 383.33314,498.19128 376.76716,507.51203 C 387.30575,507.41742 393.6062,507.32528 400.63993,507.04215 C 404.5352,503.14981 406.24401,503.81696 417.91569,501.54362 C 424.252,480.91033 437.33209,446.18088 447.12829,428.04403 C 438.99127,413.4528 429.14604,393.12886 431.8943,379.51567 C 437.31024,365.74556 453.63883,347.02678 457.3363,334.28714 C 461.03377,321.5475 463.66094,313.42184 462.36317,305.86004 C 461.0654,298.29824 456.97134,293.20438 454.19427,287.01505 C 458.16487,285.37648 462.09819,285.58015 477.28064,303.66045 C 492.46309,321.74075 519.98003,415.5078 525.65208,424.58905 C 531.4515,433.87423 540.72726,426.66063 542.15008,421.74175 C 543.64907,416.55956 501.4864,303.45529 486.07545,289.36889 C 470.80708,275.41281 458.35187,276.56123 445.64463,273.77239 C 432.93739,267.85152 415.0645,256.32123 399.61342,251.60427 C 383.45767,248.49799 364.23188,256.44947 339.44313,255.297 C 314.65438,254.14453 262.20491,244.77709 237.62214,236.60005 C 213.37168,226.82241 198.19488,212.51745 180.66522,204.23152 C 162.33022,197.65693 141.34633,193.08228 124.63827,193.23001 C 116.21052,194.40049 93.919919,203.75931 82.826379,208.89612 C 80.550919,205.19366 80.184349,200.0696 76.451889,199.40076 C 69.098669,202.21111 70.476219,215.19413 68.664349,221.29625 z"
+     id="path2416"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 296.63172,103.22017 C 286.04358,103.75746 277.60048,112.53051 277.60047,123.25142 C 277.60047,133.84666 285.84356,142.53068 296.25672,143.25142 C 292.00476,143.7931 287.8949,145.67574 284.63172,148.93892 C 281.25703,152.31361 279.34574,175.22153 278.88172,200.78267 C 258.9981,209.37065 237.99848,217.67519 230.66297,222.90767 C 228.72171,226.49825 228.93922,230.95304 235.06922,233.53267 C 242.4159,230.87052 259.14309,224.27925 278.78797,216.28267 C 278.81124,221.38682 278.90219,226.42175 279.03797,231.34517 C 265.25276,247.41244 243.52089,277.70291 241.50672,283.28267 C 242.86268,287.68185 264.45353,326.34792 269.97547,352.25142 C 273.08746,366.02228 253.46111,356.84047 255.60047,372.18892 C 275.60431,369.2831 289.20022,366.23846 301.28797,364.59517 C 298.10047,354.86036 282.79549,308.81903 267.38172,287.65767 C 291.37787,267.92654 304.07045,260.28406 319.98234,235.04679 C 319.24376,208.53642 320.80084,156.76428 312.97547,148.93892 C 309.40983,145.37328 304.8309,143.44268 300.16297,143.12642 C 310.04773,141.89141 317.69423,133.46906 317.69422,123.25142 C 317.69422,112.18468 308.72971,103.22018 297.66297,103.22017 C 297.31713,103.22017 296.97327,103.20284 296.63172,103.22017 z"
+     id="path3210"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <rect
+     width="581.12482"
+     height="581.12482"
+     rx="50.190037"
+     ry="50.795956"
+     x="14.437581"
+     y="14.437555"
+     id="rect2388"
+     style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:28.87516212;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/fastfood.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/fastfood.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/fastfood.svg	(revision 35743)
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="20"
+   height="21"
+   id="symbol-fastfood">
+  <defs
+     id="defs4" />
+  <g
+     id="layer1">
+    <path
+       d="M 4.7704932,5.7308535 L 4.7491622,5.398899 L 13.943099,5.4173411 L 13.921768,5.7492956 L 4.7704932,5.7308535 z"
+       id="path3219"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07853948px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       d="M 10.956669,5.1222706 L 11.553955,5.1222706 L 12.684532,0.49335315 L 12.151241,0.40114369 L 10.956669,5.1222706 z"
+       id="path3221"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07853948px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <g
+       transform="matrix(8.446899e-2,0,0,7.302621e-2,-20.592828,-25.715203)"
+       id="g3384"
+       style="stroke:#ffffff;stroke-width:2.54648995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
+      <path
+         d="M 469.78406,612.37761 L 361.12954,612.44075 C 361.12954,612.44075 364.41253,627.84557 375.01913,629.86588 L 456.27328,629.80274 C 466.56421,627.97183 469.78406,612.37761 469.78406,612.37761 z"
+         id="path3225"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.54648995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    </g>
+    <g
+       transform="matrix(8.446899e-2,0,0,7.1973653e-2,-20.592828,-25.080303)"
+       id="g3417">
+      <path
+         d="M 399.4036,593.0403 L 408.60901,434.39906 L 300.51808,434.6516 L 310.00185,592.42205 C 319.99812,606.17973 390.06838,604.90794 399.4036,593.0403 z"
+         id="path3415"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.99539524px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    </g>
+    <g
+       transform="matrix(8.4325274e-2,0,0,8.9930135e-2,-20.533086,-35.763483)"
+       id="g3237"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:2.29666948;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
+      <path
+         d="M 472.75139,586.17678 C 472.75139,586.17678 480.32754,590.97501 479.56992,597.28846 C 478.81231,603.60191 472.49885,607.89506 472.49885,607.89506"
+         id="path3233"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.29666948;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         d="M 473.50901,586.42932 L 358.63078,586.42932 C 358.63078,586.42932 351.05463,591.22755 351.81225,597.541 C 352.56986,603.85445 358.88332,608.1476 358.88332,608.1476 L 472.75139,607.89506"
+         id="path3235"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.29666948;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    </g>
+    <g
+       transform="matrix(8.446899e-2,0,0,7.302621e-2,-20.592828,-25.715203)"
+       id="g3283"
+       style="stroke:#ffffff;stroke-width:2.54648995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
+      <path
+         d="M 245.71961,516.98133 L 262.8922,619.25928"
+         id="path3279"
+         style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.54648995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         d="M 262.38712,619.25928 C 293.44931,626.83542 319.96582,619.00674 319.96582,619.00674 L 336.3808,516.72879 C 335.62318,516.72879 295.46962,560.67043 245.71961,516.47626"
+         id="path3281"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.54648995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    </g>
+    <path
+       d="M 12.898227,14.048122 L 16.102545,14.035265 C 18.965639,14.551019 19.093599,16.822228 19.098931,16.82696 L 9.8805148,16.841155 C 9.8911782,16.831692 9.8911782,16.831692 9.8911782,16.831692 C 9.8911782,16.831692 10.019139,14.559144 12.898227,14.048122 z"
+       id="path3265"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       d="M 0.82452262,12.286435 L 0.22849844,10.171891 L 0.90966905,9.992355 L 1.7824195,12.88489 C 1.7824195,12.88489 1.5269803,12.844992 0.82452262,12.286435 z"
+       id="path3318"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.08159832px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       d="M 2.5095742,13.125016 L 3.6389069,9.2346007 L 3.0209706,8.8668495 L 1.8064045,12.873397 C 1.8064045,12.873397 2.3178009,13.163727 2.5095742,13.125016 z"
+       id="path3320"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.08041666px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       d="M 2.7877416,13.248256 L 3.5971927,9.789015 L 4.3214383,9.8084487 L 3.5545899,13.364859 C 3.5545899,13.364859 3.1711649,13.345425 2.7877416,13.248256 z"
+       id="path3322"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.08056697px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       d="M 7.3512252,12.248309 L 7.7557329,9.708903 L 6.9467176,9.4940307 L 6.54221,12.75619 L 7.3512252,12.248309 z"
+       id="path3324"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.15000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       d="M 5.7353623,13.08496 L 5.6891732,10.299604 L 6.4513052,10.142681 L 6.4513052,12.771117 L 5.7353623,13.08496 z"
+       id="path3326"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.15619853;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       d="M 5.6452278,13.148145 L 5.392971,8.9065434 L 4.4756731,9.0614872 L 4.8884564,13.380561 L 5.6452278,13.148145 z"
+       id="path3328"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.1555775;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       d="M 3.7049295,13.364922 L 4.1307479,10.962027 L 4.7694753,10.72949 L 4.4501116,13.345543 L 3.7049295,13.364922 z"
+       id="path3330"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.08043166px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/firebrigade.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/firebrigade.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/firebrigade.svg	(revision 35743)
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="40"
+   height="40"
+   id="symbol-firebrigade">
+  <path
+     d="M 32.424287,14.005435 C 32.424541,13.030855 32.983727,12.240992 33.673429,12.240992 C 34.363132,12.240992 34.922317,13.030855 34.922572,14.005435"
+     id="path3172"
+     style="fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:20;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <circle
+     cx="748"
+     cy="412"
+     r="77"
+     transform="matrix(-3.86691e-2,0,0,3.86691e-2,39.397834,10.122231)"
+     id="circle10"
+     style="fill:#000000;stroke:none" />
+  <defs
+     id="defs13" />
+  <path
+     d="M 27.960236,13.479197 L 34.9098,13.958933 C 36.088422,14.048181 35.728697,13.728279 37.03177,17.186598 C 38.298188,20.430829 38.084641,19.301609 38.070996,21.012418 L 38.070996,24.840656 C 38.060525,25.841697 37.910633,26.088083 36.823922,26.096192 C 36.666699,21.043222 29.431192,21.025395 29.287075,26.125192 L 14.242368,26.134868 C 14.249632,24.820349 13.693743,23.818711 12.804365,23.092091 L 27.960236,23.080006 L 27.960236,19.138177 L 29.567421,19.138177 L 29.567421,15.064628 L 27.960236,15.064628 L 27.960236,13.479197 z M 30.909967,15.061001 L 30.970384,19.139384 L 36.098876,19.739961 C 37.008253,19.858286 37.06094,19.618993 36.728454,18.809486 L 35.738765,16.170323 C 35.490232,15.352256 35.484602,15.348722 34.779295,15.301476 L 30.909967,15.061001 z M 8.1362786,23.098132 C 7.2147363,23.837026 6.6941776,24.887834 6.7031092,26.138486 L 4.5098468,26.140908 L 2.0120603,25.256347 L 2.019315,23.099338 L 8.1362786,23.098132 z"
+     id="path4"
+     style="fill:#d40000;fill-rule:evenodd;stroke:none" />
+  <path
+     d="M 27.986825,13.470736 L 27.986825,15.064628 L 23.538664,15.064628 L 23.538664,19.138177 L 27.986825,19.138177 L 27.986825,23.182718 L 2.0531478,23.182718 L 2.0531478,13.470736 L 21.855352,13.470736 L 21.855352,22.287286 L 22.561064,22.287286 L 22.561064,13.470736 L 27.986825,13.470736 z"
+     id="rect6"
+     style="fill:#d40000;stroke:none" />
+  <circle
+     cx="164"
+     cy="412"
+     r="77"
+     transform="matrix(-3.86691e-2,0,0,3.86691e-2,39.397834,10.122231)"
+     id="circle8"
+     style="fill:#000000;stroke:none" />
+  <rect
+     width="8.635375"
+     height="7.8750281"
+     x="2.9879844"
+     y="14.467077"
+     id="rect3160"
+     style="fill:#333333;fill-opacity:1;stroke:none;stroke-width:20;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <rect
+     width="8.635375"
+     height="7.8750281"
+     x="2.9879844"
+     y="14.467077"
+     id="rect3162"
+     style="fill:#808080;fill-opacity:1;stroke:none;stroke-width:20;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <rect
+     width="8.635375"
+     height="7.8750281"
+     x="12.166475"
+     y="14.412751"
+     id="rect3166"
+     style="fill:#808080;fill-opacity:1;stroke:none;stroke-width:20;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 33.727741,11.990645 L 33.727741,10.420954"
+     id="path3174"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.41625309;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 34.42317,12.153583 L 35.313359,10.860724"
+     id="path5118"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.41625309;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 33.032319,12.09927 L 32.14212,10.806412"
+     id="path5120"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.41625309;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/florist.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/florist.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/florist.svg	(revision 35743)
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="16"
+   height="16"
+   id="svg2">
+  <defs
+     id="defs5" />
+  <path
+     d="M 8.6655993,6.3750156 C 8.6444418,6.3771786 8.6222947,6.3846909 8.5991612,6.3976649 C 8.4478381,6.4825326 8.5721924,8.9314106 7.9445955,11.143455 C 7.7277359,10.544202 6.9059728,9.749564 5.7755442,9.11634 C 4.2476182,8.2604527 2.7361101,8.0234218 2.4015484,8.5871006 C 2.0669871,9.1507791 3.0351243,10.302668 4.5630498,11.158555 C 5.8507376,11.87987 7.1242337,12.159756 7.6939428,11.893148 C 7.5300474,12.319825 7.3350988,12.727647 7.0922255,13.089788 C 5.5016771,15.461407 2.9065572,14.857831 2.8364156,14.990822 C 2.097214,16.392326 5.8920012,15.979322 7.482549,13.607703 C 7.8622756,13.041504 8.165996,12.310647 8.3990921,11.532269 C 8.4047596,11.542189 8.4077793,11.553739 8.4141917,11.563223 C 8.781329,12.106247 10.236284,11.721735 11.662106,10.704813 C 13.087929,9.6878913 13.946888,8.4219549 13.579751,7.8789314 C 13.212614,7.3359076 11.757658,7.7204192 10.331835,8.7373412 C 9.6174224,9.2468734 9.0449893,9.8187685 8.6980633,10.331099 C 9.1123422,8.2964965 9.07818,6.3328352 8.6655993,6.3750156 z"
+     id="path2195"
+     style="fill:#35e23e;fill-opacity:1;fill-rule:nonzero;stroke:#12892d;stroke-width:0.41082871;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+  <path
+     d="M 521.87211,275.23304 C 478.85605,245.64532 524.04766,247.12359 474.76752,264.36545 C 448.25334,273.64209 478.36895,314.58051 486.35702,287.65007 C 501.20392,237.59626 513.76299,281.03285 482.13659,239.49268 C 465.12065,217.14283 435.49213,258.43515 463.57296,257.71029 C 515.7649,256.36306 478.33522,281.73008 508.06918,238.81498 C 524.06693,215.72537 475.63989,200.307 485.00672,226.78946 C 502.41621,276.01063 466.72433,248.25173 516.72732,263.2689 C 543.63042,271.34859 543.32938,220.5272 521.03757,237.61911 C 479.60529,269.38671 494.97617,226.86374 496.14577,279.05997 C 496.77504,307.14309 545.01603,291.15212 521.87211,275.23304 z"
+     transform="matrix(0.1020728,0,0,0.1020728,-41.686722,-21.522635)"
+     id="path1549"
+     style="fill:#fa9806;fill-opacity:1;fill-rule:nonzero;stroke:#f58006;stroke-width:4.02476978;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1" />
+  <path
+     d="M 539.80589,261.93216 A 8.8174267,8.8174267 0 1 1 522.17104,261.93216 A 8.8174267,8.8174267 0 1 1 539.80589,261.93216 z"
+     transform="matrix(0.1020728,0,0,0.1020728,-45.378334,-22.16332)"
+     id="path1551"
+     style="fill:#fadc06;fill-opacity:1;fill-rule:nonzero;stroke:#f58006;stroke-width:4.02476978;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/football-borderless.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/football-borderless.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/football-borderless.svg	(revision 35743)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="25"
+   height="25"
+   viewBox="0 0 210 210"
+   id="symbol-football-borderless">
+  <defs
+     id="defs4" />
+  <path
+     d="M 199.97001,24.393446 C 213.95651,40.415139 210.25187,118.62186 156.03758,164.14699 C 104.58191,207.35563 23.283639,203.40372 8.7254719,185.85744 C -5.1284962,169.15621 5.1037227,89.585406 56.318384,46.091373 C 110.88831,-0.25504222 186.24668,8.6732148 199.97001,24.393446 z"
+     id="path2416"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 32.587862,109.87932 C 44.642263,85.645396 97.973979,41.906691 123.71906,33.354119"
+     id="path3199"
+     style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:8.39999962;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 61.687443,53.372341 L 80.641601,76.639681"
+     id="path3201"
+     style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:8.39999962;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 41.125374,75.565343 L 59.683305,97.247777"
+     id="path3203"
+     style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:8.39999962;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 24.155375,99.192999 L 41.920854,120.87543"
+     id="path3205"
+     style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:8.39999962;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 114.7718,20.866088 L 130.55614,42.548523"
+     id="path3207"
+     style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:8.39999962;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 88.821087,35.926628 L 106.58657,58.401516"
+     id="path3209"
+     style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:8.39999962;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/football.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/football.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/football.svg	(revision 35743)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="32"
+   height="32"
+   viewBox="0 0 250 250"
+   id="symbol-football">
+  <defs
+     id="defs4" />
+  <path
+     d="M 211.52524,51.561015 C 224.26806,66.158053 220.89283,137.41061 171.4993,178.88763 C 124.61909,218.25414 50.549886,214.65363 37.286237,198.66757 C 24.664169,183.45142 33.986535,110.95608 80.647168,71.329554 C 130.36472,29.10428 199.02219,37.238633 211.52524,51.561015 z"
+     id="path2416"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.82215917;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 59.026774,129.44545 C 70.009293,107.36642 118.59874,67.516976 142.05455,59.724902"
+     id="path3199"
+     style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:7.65306854;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 85.538809,77.963096 L 102.80756,99.161498"
+     id="path3201"
+     style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:7.65306854;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 66.805127,98.182688 L 83.712879,117.93711"
+     id="path3203"
+     style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:7.65306854;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 51.344107,119.70936 L 67.529872,139.46378"
+     id="path3205"
+     style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:7.65306854;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 133.90289,48.347311 L 148.28368,68.101736"
+     id="path3207"
+     style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:7.65306854;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 110.25972,62.068662 L 126.44549,82.545074"
+     id="path3209"
+     style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:7.65306854;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 59.676639,7.8570939 L 190.32335,7.8570939 C 219.03136,7.8570939 242.1429,31.747104 242.1429,61.422137 L 242.1429,188.57786 C 242.1429,218.25289 219.03136,242.1429 190.32335,242.1429 L 59.676639,242.1429 C 30.968611,242.1429 7.8570962,218.25289 7.8570962,188.57786 L 7.8570962,61.422137 C 7.8570962,31.747104 30.968611,7.8570939 59.676639,7.8570939 z"
+     id="rect2403"
+     style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:15.71419239;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/fountain.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/fountain.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/fountain.svg	(revision 35743)
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="16"
+   height="16"
+   id="symbol-fountain">
+  <defs
+     id="defs4" />
+  <g
+     id="layer1">
+    <g
+       id="g3168">
+      <path
+         d="M 3.2529464,7.3806995 C 4.1459174,8.419622 5.948665,9.1306994 8.0341964,9.1306995 C 10.119732,9.1306995 11.922479,8.4196219 12.81545,7.3806995 L 3.2529464,7.3806995 z"
+         id="path3157"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.17531611;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         d="M 5.5599604,15.915262 C 6.0175796,15.261941 6.9414303,14.814785 8.0101986,14.814785 C 9.0789672,14.814785 10.002817,15.261941 10.460436,15.915262 L 5.5599604,15.915262 z"
+         id="path3162"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.09952369;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <rect
+         width="1.1454332"
+         height="7.1681948"
+         x="7.4637899"
+         y="8.3145123"
+         id="rect3164"
+         style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    </g>
+    <g
+       id="g3179">
+      <path
+         d="M 8,7.2966693 L 8,0.35331834"
+         id="path3173"
+         style="opacity:1;fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.34216636;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.68433273, 0.34216636;stroke-dashoffset:0;stroke-opacity:1" />
+      <path
+         d="M 6.6139528,2.6058216 A 1.7181498,1.6442509 0 1 1 3.1776532,2.6058215"
+         transform="matrix(0.8971578,0,0,-0.9374795,2.0653273,5.6279995)"
+         id="path3175"
+         style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.36310223;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.72620447, 0.36310224;stroke-dashoffset:0;stroke-opacity:1" />
+      <path
+         d="M 6.6139528,2.6058216 A 1.7181498,1.6442509 0 1 1 3.1776532,2.6058215"
+         transform="matrix(-0.8971578,0,0,-0.9374795,13.936168,5.6286118)"
+         id="path3177"
+         style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.36310223;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.72620447, 0.36310224;stroke-dashoffset:0;stroke-opacity:1" />
+    </g>
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/golfCourse.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/golfCourse.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/golfCourse.svg	(revision 35743)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="46.6" id="golfCourse" viewBox="0 0 100 100" fill="#000000" fill-rule="evenodd" fill-opacity="1" stroke="none" height="46.6">
+   <svg:path d="M 61.6421 25.2514 C 61.6421 25.2514 48.7712 34.4528 48.1727 38.766 C 47.574 43.0787 56.5537 48.8295 56.8529 52.2802 C 57.1522 55.7303 56.5537 87.3594 56.5537 87.3594 C 56.5537 87.3594 37.3978 104.036 36.7993 105.474 C 36.2006 106.912 41.5878 117.55 43.9826 117.263 C 46.3769 116.975 43.3841 109.787 44.2819 108.349 C 45.1798 106.912 64.0363 92.5353 65.2335 90.5221 C 65.5327 91.0979 65.8321 76.7208 65.5327 76.7208 L 66.7305 76.7208 L 66.1319 91.0979 C 66.1319 91.0979 59.2473 108.349 60.1451 113.237 C 60.1451 115.824 70.6212 122.15 72.1176 121 C 73.6145 119.85 68.5261 115.536 68.8254 112.375 C 67.6283 109.212 73.016 97.4233 73.3153 94.2605 C 73.6145 91.0979 73.9138 56.3053 72.7167 51.9927 C 72.7161 48.542 69.424 42.5037 67.9276 40.2035 C 67.6283 37.9029 65.8326 31.2897 65.8326 31.2897 C 65.8326 31.2897 59.547 39.341 59.5465 39.341 C 58.0501 37.9035 68.2268 28.702 68.2268 25.8268 C 68.2268 22.9513 49.9689 9.72452 49.9689 9.72452 C 49.9689 9.72452 25.126 63.2064 25.4254 65.5065 C 25.7246 67.8065 29.9146 72.9824 32.908 70.6823 C 35.9009 68.3822 27.8197 62.9194 27.8197 62.9194 L 49.3703 14.6122 L 52.6624 18.3506 L 58.3494 18.638 L 58.0501 19.5005 C 58.0501 19.5005 51.7645 18.9255 50.5675 19.788 C 49.3703 20.6506 47.574 22.0887 47.574 25.5388 C 47.574 28.9896 52.0638 30.4271 53.5603 30.7146 L 60.8936 24.6764 L 61.6421 25.2514 z "/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/gymnastics-borderless.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/gymnastics-borderless.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/gymnastics-borderless.svg	(revision 35743)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="38"
+   height="38"
+   viewBox="0 0 300 300"
+   id="symbol-gymnastics-borderless">
+  <defs
+     id="defs2474" />
+  <path
+     d="M 142.10734,83.91085 C 142.11038,92.840056 134.87265,100.08023 125.9434,100.08023 C 117.01416,100.08023 109.77643,92.840056 109.77947,83.91085 C 109.77643,74.9816 117.01416,67.74141 125.9434,67.74141 C 134.87265,67.74141 142.11038,74.9816 142.10734,83.91085 L 142.10734,83.91085 z"
+     id="path2387"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+  <path
+     d="M 149.85669,118.26878 C 164.00763,132.41972 165.42631,153.13772 150.14329,178.04338"
+     id="path2383"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:31.57894707;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 142.6415,184.94852 L 113.78657,188.92784 L 79.245291,180.42022"
+     id="path3157"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:19.7368412;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 215.38225,95.396218 L 191.54911,118.32771 L 155.52851,118.21357"
+     id="path3159"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:15.78947353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 157.3585,183.8335 L 186.21343,179.85418 L 220.75471,188.3618"
+     id="path2388"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:19.7368412;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 89.302099,140.96922 L 113.13523,118.03771 L 149.15584,118.15185"
+     id="path2390"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:15.78947353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/gymnastics.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/gymnastics.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/gymnastics.svg	(revision 35743)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="38"
+   height="38"
+   viewBox="0 0 300 300"
+   id="symbol-gymnastics">
+  <defs
+     id="defs2474" />
+  <rect
+     width="269.52087"
+     height="258.24777"
+     ry="20.869576"
+     x="15.289689"
+     y="20.638819"
+     id="rect2471"
+     style="fill:none;stroke:#000000;stroke-width:14.68965149;stroke-linejoin:round;stroke-miterlimit:4" />
+  <path
+     d="M 142.10734,83.91085 C 142.11038,92.840056 134.87265,100.08023 125.9434,100.08023 C 117.01416,100.08023 109.77643,92.840056 109.77947,83.91085 C 109.77643,74.9816 117.01416,67.74141 125.9434,67.74141 C 134.87265,67.74141 142.11038,74.9816 142.10734,83.91085 L 142.10734,83.91085 z"
+     id="path2387"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+  <path
+     d="M 149.85669,118.26878 C 164.00763,132.41972 165.42631,153.13772 150.14329,178.04338"
+     id="path2383"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:31.57894707;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 142.6415,184.94852 L 113.78657,188.92784 L 79.245291,180.42022"
+     id="path3157"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:19.7368412;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 215.38225,95.396218 L 191.54911,118.32771 L 155.52851,118.21357"
+     id="path3159"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:15.78947353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 157.3585,183.8335 L 186.21343,179.85418 L 220.75471,188.3618"
+     id="path2388"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:19.7368412;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 89.302099,140.96922 L 113.13523,118.03771 L 149.15584,118.15185"
+     id="path2390"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:15.78947353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/hairdresser.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/hairdresser.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/hairdresser.svg	(revision 35743)
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="16px"
+   height="16px"
+   id="svg2816"
+   version="1.1"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="hairdresser.svg">
+  <title
+     id="title3712">hairdresser</title>
+  <defs
+     id="defs2818">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 8 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="16 : 8 : 1"
+       inkscape:persp3d-origin="8 : 5.3333333 : 1"
+       id="perspective2824" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="22.197802"
+     inkscape:cx="0.11633656"
+     inkscape:cy="9.8019802"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="800"
+     inkscape:window-height="551"
+     inkscape:window-x="0"
+     inkscape:window-y="25"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata2821">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title>hairdresser</dc:title>
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>pavi</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:description>Hair dressing shop</dc:description>
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/" />
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/by-sa/3.0/">
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Reproduction" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Distribution" />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#Notice" />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#Attribution" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#ShareAlike" />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <rect
+       style="opacity:0.93925231;color:#000000;fill:#ff2804;fill-opacity:0.98550726;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect2826"
+       width="14.235643"
+       height="1.3965346"
+       x="1.0361387"
+       y="5.2331681"
+       ry="0.69826728"
+       rx="0.40673271" />
+    <rect
+       style="opacity:0.93925231;color:#000000;fill:#ff2804;fill-opacity:0.98550726;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect2833"
+       width="0.045049507"
+       height="1.7118812"
+       x="5.7663364"
+       y="3.9267328"
+       ry="0.022524754" />
+    <rect
+       ry="0.022524754"
+       y="2.0346534"
+       x="7.7485147"
+       height="3.5589108"
+       width="0.58564359"
+       id="rect2845"
+       style="opacity:0.93925231;color:#000000;fill:#ff2804;fill-opacity:0.98550726;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       style="opacity:0.93925231;color:#000000;fill:#ff2804;fill-opacity:0.98550726;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect2847"
+       width="0.58564359"
+       height="3.5589108"
+       x="9.8658419"
+       y="2.0346534"
+       ry="0.022524754" />
+    <rect
+       ry="0.022524754"
+       y="1.9896041"
+       x="11.983169"
+       height="3.5589108"
+       width="0.58564359"
+       id="rect2853"
+       style="opacity:0.93925231;color:#000000;fill:#ff2804;fill-opacity:0.98550726;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       ry="0.022524754"
+       y="2.0797026"
+       x="5.7212868"
+       height="3.5589108"
+       width="0.58564359"
+       id="rect2857"
+       style="opacity:0.93925231;color:#000000;fill:#ff2804;fill-opacity:0.98550726;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       ry="0.022524754"
+       y="2.1247523"
+       x="3.6940589"
+       height="3.5589108"
+       width="0.58564359"
+       id="rect2861"
+       style="opacity:0.93925231;color:#000000;fill:#ff2804;fill-opacity:0.98550726;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       ry="0.022524754"
+       y="2.1247523"
+       x="1.7569304"
+       height="3.5589108"
+       width="0.58564359"
+       id="rect2865"
+       style="opacity:0.93925231;color:#000000;fill:#ff2804;fill-opacity:0.98550726;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       ry="0.022524754"
+       y="1.9445544"
+       x="14.010396"
+       height="3.5589108"
+       width="0.58564359"
+       id="rect2867"
+       style="opacity:0.93925231;color:#000000;fill:#ff2804;fill-opacity:0.98550726;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 5.3158417,13.522276 13.65,9.197524"
+       id="path2877" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 5.4059407,10.954454 13.7401,13.206929"
+       id="path2881" />
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.93925231;color:#000000;fill:#ececec;fill-opacity:0.98550726;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="path3685"
+       sodipodi:cx="-5.8339109"
+       sodipodi:cy="10.54901"
+       sodipodi:rx="1.4190594"
+       sodipodi:ry="1.4866337"
+       d="m -4.4148515,10.54901 a 1.4190594,1.4866337 0 1 1 -2.8381188,0 1.4190594,1.4866337 0 1 1 2.8381188,0 z"
+       transform="matrix(0.91014726,0,0,0.79301936,9.1839756,2.0708171)" />
+    <path
+       transform="matrix(0.91014726,0,0,0.79301936,9.1839756,5.359431)"
+       d="m -4.4148515,10.54901 a 1.4190594,1.4866337 0 1 1 -2.8381188,0 1.4190594,1.4866337 0 1 1 2.8381188,0 z"
+       sodipodi:ry="1.4866337"
+       sodipodi:rx="1.4190594"
+       sodipodi:cy="10.54901"
+       sodipodi:cx="-5.8339109"
+       id="path3689"
+       style="opacity:0.93925231;color:#000000;fill:#ececec;fill-opacity:0.98550726;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       sodipodi:type="arc" />
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/handball-borderless.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/handball-borderless.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/handball-borderless.svg	(revision 35743)
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="35"
+   height="35"
+   id="symbol-handball-borderless">
+  <defs
+     id="defs3341" />
+  <path
+     d="M 16.589448,18.010913 C 16.589448,18.010913 13.05624,20.70255 12.293558,21.213292 C 11.518624,21.732245 11.098373,21.944279 10.465907,21.31787 C 9.8428713,20.700812 10.366579,20.423544 10.948589,19.848537 C 11.518144,19.285823 15.103458,16.441775 15.103458,16.441775 L 16.589448,18.010913 z "
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="path8185" />
+  <path
+     d="M 17.58643,18.809652 C 17.58643,18.809652 9.2457335,28.998698 8.7472953,29.652571 C 8.2420429,30.315382 8.4440585,30.700868 8.8533125,31.016895 C 9.2532074,31.325705 9.812923,31.249828 10.238458,30.722454 C 10.656681,30.204128 18.913822,19.966775 18.913822,19.966775 L 17.58643,18.809652 z "
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="path8187" />
+  <path
+     d="M 17.464983,5.1398254 C 17.465947,5.6035435 17.210058,6.0324156 16.793918,6.2645464 C 16.377778,6.4966772 15.864772,6.4966772 15.448632,6.2645464 C 15.032492,6.0324156 14.776603,5.6035435 14.777567,5.1398254 C 14.776603,4.6761073 15.032492,4.2472351 15.448632,4.0151044 C 15.864772,3.7829736 16.377778,3.7829736 16.793918,4.0151044 C 17.210058,4.2472351 17.465947,4.6761073 17.464983,5.1398254 z "
+     style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.33762848;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="path8189" />
+  <path
+     d="M 24.984297,10.22404 C 26.426958,10.959748 29.698074,14.081862 29.698074,14.081862 C 30.780527,15.400055 30.801967,16.833131 29.168881,17.689998 C 27.612294,18.506724 25.533288,19.331673 24.498495,19.658419 C 23.473319,19.982137 23.00366,19.969339 22.866867,19.293586 C 22.730668,18.620778 23.45578,18.204887 24.125677,17.910469 C 24.821232,17.604793 25.497399,17.429284 26.915888,16.531386 C 28.348685,15.624426 27.906069,15.352546 26.851746,14.458703 C 25.789469,13.558116 24.484784,13.291543 23.69671,14.394588 C 22.590858,15.873326 20.915653,18.522663 20.569765,18.952821 C 20.229438,19.376051 19.876684,19.693889 19.351934,19.439065 C 18.831567,19.186368 16.130816,17.021808 15.755227,16.432973 C 15.396489,15.870577 15.364756,15.728135 15.823321,15.096226 C 16.276477,14.471757 17.250359,13.300122 17.250359,13.300122 C 18.445397,11.80368 19.659172,11.143585 16.963382,10.68032 C 14.271343,10.217701 13.67584,8.2056826 13.531733,6.6850334 C 13.396458,5.257585 14.079132,4.9809583 14.393516,5.4552365 C 14.711822,5.9354331 14.679835,7.3830144 15.840412,8.1609147 C 17.021706,8.9527009 20.222949,8.3886395 21.960419,8.8990018 C 23.697888,9.4093653 23.554,9.4946379 24.984297,10.22404 z "
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="path8191" />
+  <path
+     d="M 27.071176,7.0635363 C 27.071176,8.2591549 26.101953,9.2284166 24.906342,9.2284166 C 23.710761,9.2284166 22.741538,8.2591549 22.741538,7.0635363 C 22.741538,5.8679176 23.710761,4.8986559 24.906342,4.8986559 C 26.101953,4.8986559 27.071176,5.8679176 27.071176,7.0635363 L 27.071176,7.0635363 z "
+     style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="path8193" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/handball.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/handball.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/handball.svg	(revision 35743)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="35"
+   height="35"
+   id="symbol-handball">
+  <defs
+     id="defs3341" />
+  <g
+     transform="matrix(0.1230669,0,0,0.1230699,-6.2343325,-39.227458)"
+     id="layer1">
+    <path
+       d="M 185.45832,465.0883 C 185.45832,465.0883 156.74867,486.9591 150.55137,491.10912 C 144.25452,495.32585 140.8397,497.04873 135.7005,491.95886 C 130.63792,486.94498 134.89339,484.69205 139.62261,480.01985 C 144.25062,475.44754 173.38367,452.33833 173.38367,452.33833 L 185.45832,465.0883 z "
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path8185" />
+    <path
+       d="M 193.55946,471.57843 C 193.55946,471.57843 125.78578,554.36915 121.73564,559.68217 C 117.63013,565.06782 119.27164,568.20007 122.5971,570.76794 C 125.84651,573.27716 130.39457,572.66063 133.85232,568.37547 C 137.25066,564.16383 204.3454,480.98059 204.3454,480.98059 L 193.55946,471.57843 z "
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path8187" />
+    <path
+       d="M 176.96875,238.12976 C 176.96919,238.41135 176.8524,238.67178 176.66247,238.81274 C 176.47254,238.9537 176.2384,238.9537 176.04847,238.81274 C 175.85854,238.67178 175.74175,238.41135 175.74219,238.12976 C 175.74175,237.84817 175.85854,237.58774 176.04847,237.44678 C 176.2384,237.30582 176.47254,237.30582 176.66247,237.44678 C 176.8524,237.58774 176.96919,237.84817 176.96875,238.12976 z "
+       transform="matrix(17.803476,0,0,13.380889,-2958.0863,-2825.8832)"
+       style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.1777451;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path8189" />
+    <path
+       d="M 253.67202,401.81635 C 265.3946,407.79432 291.97458,433.16294 291.97458,433.16294 C 300.77023,443.87387 300.94444,455.51828 287.67454,462.48072 C 275.02624,469.117 258.13294,475.82009 249.72456,478.47505 C 241.39433,481.10541 237.57804,481.00142 236.4665,475.51062 C 235.3598,470.04374 241.25181,466.66443 246.69517,464.27215 C 252.34701,461.78839 257.84132,460.3623 269.36748,453.06646 C 281.0099,445.69699 277.41335,443.48784 268.84628,436.22495 C 260.21458,428.90726 249.61315,426.74123 243.20953,435.70399 C 234.22375,447.71942 220.6116,469.24651 217.80103,472.74174 C 215.03565,476.18068 212.16929,478.76326 207.90535,476.6927 C 203.67702,474.63942 181.73163,457.05137 178.67972,452.26681 C 175.76474,447.69708 175.50689,446.53967 179.23303,441.40512 C 182.91522,436.33102 190.82866,426.81094 190.82866,426.81094 C 200.53913,414.65166 210.40186,409.28808 188.49678,405.52384 C 166.62218,401.76484 161.78333,385.41626 160.61236,373.06028 C 159.51316,361.4616 165.06034,359.21388 167.61492,363.06761 C 170.20137,366.96943 169.94145,378.7317 179.37191,385.0525 C 188.9707,391.48613 214.98292,386.90287 229.10101,391.0498 C 243.2191,395.19674 242.04991,395.88962 253.67202,401.81635 z "
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path8191" />
+    <path
+       d="M 179.09375,229.38562 C 179.09375,229.74374 178.77895,230.03406 178.39062,230.03406 C 178.0023,230.03406 177.6875,229.74374 177.6875,229.38562 C 177.6875,229.0275 178.0023,228.73718 178.39062,228.73718 C 178.77895,228.73718 179.09375,229.0275 179.09375,229.38562 L 179.09375,229.38562 z "
+       transform="matrix(25.017727,0,0,27.127655,-4209.8892,-5846.5582)"
+       style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path8193" />
+    <rect
+       width="269.39795"
+       height="269.39795"
+       ry="21.770645"
+       x="58.158169"
+       y="326.23465"
+       style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:15;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect3941" />
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/helipad.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/helipad.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/helipad.svg	(revision 35743)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" id="symbol-helipad" viewBox="0 0 700 700" width="37.28" height="37.28">
+   <svg:g transform="translate(5,210)">
+            <svg:path style="fill:#000000;  fill-rule:nonzero; stroke:none; stroke-width:0.28; stroke-linecap:butt; stroke-linejoin:bevel" d="M 66.47 1.85 C 25.07 2.03 1.85 23.27 1.85 67.01 L 1.85 517.01       C 1.85 558.05 22.73 579.29 64.13 579.29 L 515.93 579.29 C 557.33 579.29 578.21 559.13 578.21 517.01       L 578.21 67.01 C 578.21 24.35 557.33 2.03 514.67 1.85 C 514.67 1.85 66.29 1.85 66.47 1.85 Z"/>
+            <svg:path style="fill:none;  fill-rule:nonzero; stroke:#000000; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:miter" d="M 66.47 1.85 C 25.07 2.03 1.85 23.27 1.85 67.01 L 1.85 517.01       C 1.85 558.05 22.73 579.29 64.13 579.29 L 515.93 579.29 C 557.33 579.29 578.21 559.13 578.21 517.01       L 578.21 67.01 C 578.21 24.35 557.33 2.03 514.67 1.85 C 514.67 1.85 66.29 1.85 66.47 1.85"/>
+            <svg:path style="fill:#FFFFFF;  fill-rule:nonzero; stroke:none; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:bevel" d="M 85.91 282.11 C 114.89 282.29 138.29 258.89 138.11 230.09 C 138.29 201.29 114.89 177.89 85.91 177.89       C 57.29 177.89 33.89 201.29 33.71 230.09 C 33.89 258.89 57.29 282.29 85.91 282.11 Z"/>
+            <svg:path style="fill:#000000;  fill-rule:nonzero; stroke:none; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:bevel" d="M 85.91 263.21 C 104.45 263.21 119.21 248.45 119.21 230.09 C 119.21 211.73 104.45 196.79 85.91 196.79       C 67.73 196.79 52.79 211.73 52.79 230.09 C 52.79 248.45 67.73 263.21 85.91 263.21 Z"/>
+            <svg:path style="fill:#FFFFFF;  fill-rule:nonzero; stroke:none; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:bevel" d="M 253.85 397.31 C 214.07 397.31 214.07 450.95 253.85 450.95 L 484.61 450.95       C 523.31 450.95 523.31 397.31 484.61 397.31 L 253.85 397.31 Z"/>
+            <svg:polygon style="fill:#FFFFFF;  fill-rule:nonzero; stroke:none; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:bevel" points="321.89,212.63 321.89,163.85 301.55,163.85 301.55,212.63      321.89,212.63 "/>
+            <svg:polygon style="fill:#FFFFFF;  fill-rule:nonzero; stroke:none; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:bevel" points="353.57,165.11 353.57,154.67 270.41,154.67 270.41,165.11      353.57,165.11 "/>
+            <svg:path style="fill:#FFFFFF;  fill-rule:nonzero; stroke:none; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:bevel" d="M 360.77 147.47 L 493.79 147.47 C 511.61 147.47 511.61 172.85 493.79 172.85       L 360.77 172.85 C 343.49 172.85 343.49 147.47 360.77 147.47 Z"/>
+            <svg:path style="fill:#FFFFFF;  fill-rule:nonzero; stroke:none; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:bevel" d="M 130.19 147.47 L 261.77 147.47 C 279.59 147.47 279.59 172.85 261.77 172.85       L 130.19 172.85 C 111.47 172.85 111.11 147.47 130.19 147.47 Z"/>
+            <svg:path style="fill:#FFFFFF;  fill-rule:nonzero; stroke:none; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:bevel" d="M 274.55 362.75 C 257.45 362.75 248.99 350.33 246.11 339.71 L 232.79 306.23       L 80.69 245.75 C 62.33 238.73 66.83 211.37 87.71 211.37 L 417.83 211.37       C 454.55 211.37 475.07 233.51 484.61 256.91 L 511.07 321.35 C 520.61 343.49 504.59 362.75 480.83 362.75       L 274.55 362.75 Z"/>
+            <svg:polygon style="fill:#000000;  fill-rule:nonzero; stroke:none; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:bevel" points="357.89,289.13 357.89,232.07 322.25,232.07 322.25,289.13      357.89,289.13 "/>
+            <svg:polygon style="fill:#000000;  fill-rule:nonzero; stroke:none; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:bevel" points="414.23,232.07 414.23,289.13 378.95,289.13 378.95,232.07      414.23,232.07 "/>
+            <svg:path style="fill:#000000;  fill-rule:nonzero; stroke:none; stroke-width:3.42; stroke-linecap:butt; stroke-linejoin:bevel" d="M 435.83 234.41 C 446.81 237.11 457.79 247.01 464.99 263.21 L 476.33 289.31       L 435.83 289.31 L 435.83 234.41 Z"/>
+          </svg:g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/hospital.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/hospital.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/hospital.svg	(revision 35743)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" width="15" id="hospital" viewBox="0 0 14 14" stroke="#E60202" stroke-width="3px" fill="none" height="15">
+   <svg:path d="M 2,7 L 12,7 M 7,2 L 7,12"/>
+   <svg:circle stroke-width="0.7px" cx="7" cy="7"  r="6.5"/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/hostel.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/hostel.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/hostel.svg	(revision 35743)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="27.96" id="hostel" viewBox="0 0 12.5 12.5" fill="blue" fill-opacity="1" fill-rule="nonzero" stroke="none" height="27.96">
+   <svg:path d="M 5.5,4 L 9,0 L 12.5,4 L 11.5,4 L 11.5,8 L 10,8 L 10,5 L 8,5 L 8,8 L 6.5,8 L 6.5,4 L 5.5,4 z M 0.5,3.5 C 2,2.5 2.3,1 2.5,0 C 2.7,1 3,2.5 4.5,3.5 L 3.3,3.5 C 3.3,4 4,5 5,6 L 3,6 L 3,8 L 2,8 L 2,6 L 0,6 C 1,5 1.7,4 1.7,3.5 L 0.5,3.5 z M 0,8 L 0,7.5 L 12.5,7.5 L 12.5,8 L 0,8 z "/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/hotel.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/hotel.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/hotel.svg	(revision 35743)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="hotel" viewBox="0 0 90 90" fill="black" fill-opacity="1" stroke="black" stroke-width="1px" stroke-miterlimit="4" height="18.64">
+   <svg:path d="M 0,60 C 0,65 10,65 10,60 L 10,50 L 35,70 L 35,85 C 35,90 45,90 45,85 L 45,70 L 75,70 L 75,85 C 75,90 85,90 85,85 L 85,60 L 40,60 L 5,30 C 9,20 45,20 50,25 L 50,10 C 50,5 40,5 40,10 L 40,15 L 10,15 L 10,10 C 10,5 0,5 0,10 C 0,10 0,60 0,60 z M 10,35 C 15,25 45,25 55,35 L 85,60 C 75,50 40,50 40,60 L 10,35 z "/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/hotel_and_restaurant.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/hotel_and_restaurant.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/hotel_and_restaurant.svg	(revision 35743)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="13.98"
+   height="13.98"
+   viewBox="0 0 115 115"
+   id="symbol-restaurant">
+  <defs
+     id="defs10" />
+  <path
+     d="M 61.175133,-37.847215 L -18.558221,23.122331 L -0.15821111,23.122331 L -0.15821111,115.12234 L 116.37516,115.12234 L 116.37516,23.122331 L 134.77517,23.122331 L 61.175133,-37.847215 z "
+     style="fill:black;stroke:none"
+     id="path1949" />
+  <g
+     transform="matrix(0.519844,0,0,0.519844,53.35435,9.564348)"
+     style="fill:white"
+     id="g3">
+    <path
+       d="M 94,4 C 90,0 74,18 67,26 C 65,28 62,32 68,38 C 15,89 5,96 12,103 C 19,110 26,100 76,46 C 82,52 87,49 89,47 C 97,40 114,24 110,20 C 106,16 91,40 87,37 C 83,24 106,16 102,12 C 98,8 81,33 77,29 C 73,25 98,8 94,4 z "
+       style="fill:white"
+       id="path5" />
+    <path
+       d="M 35,33 C 79,81 98,96 90,103 C 81,111 70,91 26,42 C 6,57 -9,16 1,6 C 11,-6 55,13 35,33 z "
+       style="fill:white"
+       id="path7" />
+  </g>
+  <path
+     d="M 6.9973827,85.556519 C 6.9973827,89.618914 15.122182,89.618914 15.122182,85.556519 L 15.122182,77.43172 L 35.434179,93.681314 L 35.434179,105.86851 C 35.434179,109.93091 43.558978,109.93091 43.558978,105.86851 L 43.558978,93.681314 L 67.933373,93.681314 L 67.933373,105.86851 C 67.933373,109.93091 76.058173,109.93091 76.058173,105.86851 L 76.058173,85.556519 L 39.496579,85.556519 L 11.059785,61.182122 C 14.309703,53.057323 43.558978,53.057323 47.621377,57.119723 L 47.621377,44.932525 C 47.621377,40.870128 39.496579,40.870128 39.496579,44.932525 L 39.496579,48.994924 L 15.122182,48.994924 L 15.122182,44.932525 C 15.122182,40.870128 6.9973827,40.870128 6.9973827,44.932525 C 6.9973827,44.932525 6.9973827,85.556519 6.9973827,85.556519 z M 15.122182,65.24452 C 19.184583,57.119723 43.558978,57.119723 51.683777,65.24452 L 76.058173,85.556519 C 67.933373,77.43172 39.496579,77.43172 39.496579,85.556519 L 15.122182,65.24452 z "
+     style="fill:white"
+     id="path1998" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/housenumber.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/housenumber.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/housenumber.svg	(revision 35743)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="symbol-housenumber" viewBox="0 0 2 2" fill="lightgrey" height="18.64">
+   <svg:circle cx="1" cy="1" r="0.8px" class="housenumber-node"/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/hunting_closed_high.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/hunting_closed_high.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/hunting_closed_high.svg	(revision 35743)
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   baseProfile="full"
+   width="37.28"
+   id="symbol-shelter"
+   viewBox="0 0 12 12"
+   height="37.28"
+   sodipodi:version="0.32"
+   inkscape:version="0.44.1"
+   sodipodi:docname="hunting_closed_high.svg"
+   sodipodi:docbase="/Users/sysadmin/Desktop/hunting">
+  <metadata
+     id="metadata38">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs36" />
+  <sodipodi:namedview
+     inkscape:window-height="863"
+     inkscape:window-width="1009"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="10.139485"
+     inkscape:cx="17.653756"
+     inkscape:cy="11.572202"
+     inkscape:window-x="0"
+     inkscape:window-y="22"
+     inkscape:current-layer="symbol-shelter" />
+  <path
+     sodipodi:nodetypes="cc"
+     id="path2172"
+     d="M 7.8651598,4.8651348 L 7.8651598,11.92638"
+     style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:0.29489905px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+  <path
+     sodipodi:nodetypes="ccc"
+     id="rect2194"
+     d="M 7.7758948,5.0369192 L 4.2641612,5.0369192 L 7.7758948,5.0369192 z "
+     style="fill:black;fill-opacity:1;stroke:black;stroke-width:0.24201851;stroke-opacity:1" />
+  <path
+     sodipodi:nodetypes="ccccc"
+     id="rect3187"
+     d="M 4.2977003,0.22677008 L 7.8969033,0.8353069 L 7.8969033,5.0345427 L 4.2977003,5.0345427 L 4.2977003,0.22677008 z "
+     style="fill:black;fill-opacity:1;stroke:black;stroke-width:0.24677479;stroke-opacity:1" />
+  <rect
+     style="fill:white;fill-opacity:1;stroke:black;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect2162"
+     width="1.7919191"
+     height="1.0210305"
+     x="4.9117088"
+     y="1.4621806"
+     ry="0" />
+  <path
+     sodipodi:nodetypes="cc"
+     id="path2018"
+     d="M 4.3174604,4.8820757 L 4.3174604,11.943321"
+     style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:0.29489905px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/information-guidepost.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/information-guidepost.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/information-guidepost.svg	(revision 35743)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" version="1.1" baseProfile="full"
+   width="20" height="40" id="symbol-information-guidepost">
+ <line x1="9.5" y1="0" x2="9.5" y2="20" stroke="#000000" stroke-width="1.5" />
+ <polygon points="15 1  5 1  2 3  5 5  15 5" style="fill:#000000;stroke-width:0" />
+ <polygon points="5 7  15 7  18 9  15 11  5 11" style="fill:#000000;stroke-width:0" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/information-office.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/information-office.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/information-office.svg	(revision 35743)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" version="1.1" baseProfile="full"
+   width="20" height="20" id="symbol-information-office">
+ <rect x="0" y="0" width="20" height="20" style="fill:#DA251D;stroke-width:0" />
+ <rect x="5.5" y="8" width="8" height="10" style="fill:#FFFFFF;stroke-width:0" />
+ <ellipse cx="9.5" cy="4" rx="4" ry="3" style="fill:#FFFFFF;stroke-width:0" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/information.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/information.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/information.svg	(revision 35743)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="information" viewBox="0 0 200 200" height="18.64">
+   <svg:rect style="fill:blue;fill-opacity:1" width="200" height="200" x="0" y="0" rx="40" ry="40"/>
+   <svg:path style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd" d="M 114.9996,71.691476 L 114.9996,160.4199 L 126.82978,160.4199 L 126.82978,170.98263 L 124.71757,170.98263 L 73.170217,170.98263 L 73.170217,160.4199 L 85.000937,160.4199 L 85.000937,82.254149 L 73.170217,82.254149 L 73.170217,71.691412 L 75.282973,71.691412 L 114.99957,71.691412 L 114.9996,71.691476 z M 84.155594,43.805631 C 84.155594,40.002758 85.529241,36.587522 88.275447,33.559351 C 91.021656,30.531181 94.578158,29.017365 98.943844,29.017365 L 101.0566,29.017365 C 104.71822,29.017365 108.09842,30.35543 111.19668,33.031558 C 114.29548,35.707143 115.84433,39.29868 115.84433,43.805631 C 115.84433,47.607949 114.5068,51.023202 111.83067,54.051372 C 109.15455,57.079542 105.56355,58.593358 101.0566,58.593358 L 98.943844,58.593358 C 95.28222,58.593358 91.902019,57.255293 88.803763,54.579704 C 85.704967,51.90358 84.155578,48.312043 84.155578,43.805631 L 84.155594,43.805631 z "/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/khanda.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/khanda.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/khanda.svg	(revision 35743)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="22.368" id="khanda" viewBox="0 0 800 800" height="22.368">
+   <svg:g transform="translate(100,0)">
+            <svg:path id="path1317" style="fill:#000000" d="M 286.03178,798.44826 C 274.47686,795.1959 263.17182,785.6738 257.90389,774.7565 C 252.29932,763.14127 252.36888,747.04142 258.07461,735.21664 C 260.5981,729.98693 269.51042,720.03068 274.5261,716.8382 L 277.07851,715.21364 L 276.76949,675.53951 L 276.46034,635.86538 L 253.24066,651.77989 L 230.02096,667.69436 L 232.4758,672.32314 C 234.44224,676.03096 234.93332,678.8551 234.9441,686.51734 C 234.9561,695.01629 234.58908,696.75012 231.65258,702.06831 C 227.9575,708.76054 223.18242,713.40624 216.13794,717.16251 C 212.30051,719.20884 209.59295,719.68801 201.86754,719.68801 C 194.1421,719.68801 191.43455,719.20884 187.5971,717.16251 C 176.24401,711.10866 169.44392,701.24622 168.51299,689.48412 C 167.82042,680.73371 169.38643,674.96231 174.61433,666.99802 C 178.35155,661.30468 183.14155,657.56444 222.73106,629.42653 C 246.9125,612.23974 266.48801,597.83269 266.23205,597.41087 C 265.97618,596.98903 260.44958,592.85755 253.9507,588.22983 L 242.13473,579.81577 L 208.53318,604.47029 C 190.05229,618.03027 174.68262,629.12479 174.37835,629.12479 C 174.07408,629.12479 172.95881,616.20877 168.69736,609.43128 C 164.546,602.82887 149.56374,586.07399 111.53631,548.10002 C 69.396819,506.01978 57.592167,492.99258 44.090693,473.66939 C 20.774574,440.29955 6.6120613,403.50731 1.126918,362.05548 C -0.3756399,350.70054 -0.3756399,315.61806 1.126918,304.26311 C 7.337956,257.32562 24.583085,216.61804 53.523135,180.58044 C 69.431809,160.77015 80.676009,152.23236 105.25771,141.298 C 122.62658,133.57202 156.11806,122.5857 157.64172,124.11432 C 157.85197,124.32525 153.37683,127.51604 147.69699,131.20496 C 133.52067,140.41211 108.34195,165.54821 98.759684,180.05939 C 85.566883,200.03829 76.853504,220.64866 71.54464,244.43298 C 69.248935,254.71802 68.94644,259.02112 68.94644,281.39347 C 68.94644,311.30842 70.078051,317.8443 80.711788,349.34715 C 93.570705,387.44222 107.26937,409.01541 144.14125,449.23843 C 178.2262,486.42123 193.32553,499.46384 245.18911,536.5223 L 277.02119,559.26755 L 277.02119,538.02075 L 277.02119,516.77395 L 272.81484,514.19456 C 270.50133,512.77591 264.06559,508.03191 258.51319,503.65237 C 252.96079,499.27283 243.37029,492.4623 237.20095,488.51784 C 231.03161,484.57339 225.84096,481.24105 225.6661,481.11265 C 225.49121,480.98424 226.8717,473.10672 228.73382,463.60703 C 230.59595,454.10736 231.7485,446.02843 231.29511,445.65386 C 230.84171,445.2793 227.08672,443.56864 222.95047,441.85242 C 204.67956,434.27125 185.22141,421.09346 168.9346,405.27082 C 142.46582,379.55638 125.76996,349.66515 117.028,312.34043 C 114.03024,299.54119 113.86515,297.4559 113.86515,272.39071 C 113.86515,247.32552 114.03024,245.24024 117.028,232.44101 C 125.76996,195.11628 142.46582,165.22505 168.9346,139.51062 C 185.3309,123.58162 205.36952,110.05651 223.44434,102.71917 C 228.73651,100.57088 231.00817,99.05611 231.01782,97.669121 C 231.02544,96.579426 230.01177,91.094405 228.76534,85.480173 L 226.49895,75.272474 L 229.40471,71.80799 C 231.00278,69.902516 242.24421,58.613021 254.38547,46.720212 C 266.52659,34.827407 281.49239,19.450119 287.64254,12.548463 L 298.82474,-1.578948e-007 L 335.96762,37.251274 L 373.11058,74.502537 L 370.36714,86.292121 C 368.85834,92.776384 367.80731,98.203637 368.03166,98.352658 C 368.25599,98.501689 375.25392,102.01749 383.58252,106.1655 C 391.91112,110.31354 403.51194,117.12784 409.36205,121.30836 C 423.04361,131.0852 442.64886,150.77682 452.24206,164.3772 C 498.10623,229.39939 498.10623,315.38204 452.24206,380.40424 C 442.64459,394.01067 423.03744,413.70196 409.36205,423.46831 C 399.26308,430.68053 371.50656,445.69371 368.27158,445.69371 C 366.23941,445.69371 366.36571,447.1322 369.98128,465.16303 L 373.09555,480.69367 L 364.03741,486.66249 C 359.05538,489.94532 348.81823,497.38909 341.28815,503.20416 C 333.7581,509.01923 326.31283,514.68688 324.74312,515.79891 L 321.88919,517.8208 L 321.88919,538.02447 C 321.88919,549.13648 322.10165,558.22811 322.36131,558.22811 C 323.07651,558.22811 384.85094,514.03483 388.06931,511.22076 C 389.61167,509.87218 395.16406,505.37407 400.40798,501.22492 C 416.05084,488.8479 432.27058,473.28491 450.65911,453.00844 C 460.20151,442.48648 468.59932,433.37119 469.32102,432.75225 C 470.04272,432.13331 474.70539,426.30966 479.68247,419.8108 C 499.57745,393.83312 508.68192,376.73911 518.66683,346.61646 C 528.37253,317.33627 529.8487,308.72583 529.8487,281.39347 C 529.8487,261.6814 529.47999,256.60422 527.31522,246.5078 C 516.74312,197.1994 489.7958,157.40616 448.70008,130.41627 C 442.2548,126.18329 437.75209,122.71994 438.69398,122.71994 C 441.96507,122.71994 468.33022,130.44062 478.75808,134.45218 C 512.30624,147.35805 528.16289,158.30041 546.49826,181.19828 C 601.53063,249.92465 615.17282,341.9247 582.46514,423.74951 C 575.77601,440.48357 568.05033,454.75628 556.57649,471.57662 C 541.12758,494.22444 535.94949,500.01311 485.10464,551.47606 C 458.50415,578.39991 442.74913,593.68551 434.58351,604.64856 C 426.41791,615.6116 424.52448,629.89631 424.52448,629.89631 L 393.11695,606.93959 C 375.84282,594.31341 360.65706,583.07503 359.37092,581.96538 C 357.07974,579.98874 356.77723,580.12983 344.43183,588.92974 C 337.50153,593.86978 332.24425,598.30113 332.74913,598.77723 C 333.25389,599.25331 352.34327,612.90979 375.16981,629.12501 C 397.99633,645.34019 418.07562,659.93204 419.79047,661.5513 C 421.50531,663.17056 424.40771,667.50563 426.24022,671.18474 C 430.68786,680.11424 430.95079,691.99371 426.89091,700.58414 C 423.65695,707.42702 417.27797,713.74507 410.50326,716.81534 C 403.09367,720.17327 390.4822,720.01132 383.02169,716.46244 C 376.20097,713.21808 369.90332,706.81828 366.84299,700.02148 C 363.70606,693.05433 363.69394,679.99893 366.81811,673.08997 C 368.64568,669.04838 368.80058,667.84338 367.63481,666.73518 C 365.66701,664.86468 323.27201,635.87687 322.50411,635.87687 C 322.16592,635.87687 321.88919,653.81111 321.88919,675.73073 L 321.88919,715.58455 L 327.24058,719.52573 C 346.00108,733.34204 350.2199,762.23368 336.31366,781.66083 C 326.04777,796.00221 303.76839,803.44051 286.03178,798.44826 z M 383.58252,398.63546 C 389.11978,394.97722 398.30986,387.1266 405.50374,379.90937 C 423.59369,361.76059 434.60943,344.03382 442.4852,320.39804 C 447.88515,304.19225 449.76266,291.80749 449.76266,272.39071 C 449.76266,239.89652 442.0372,214.07926 424.17035,186.86456 C 416.01911,174.44865 395.99523,154.35179 383.58252,146.12872 C 373.7199,139.59506 361.56463,133.15981 360.74051,134.03572 C 358.96913,135.91849 352.88033,189.74496 350.9545,220.54628 C 349.21924,248.30043 350.25523,329.6087 352.65453,353.97817 C 354.52193,372.94452 358.57609,405.1389 359.62869,409.36108 L 360.24989,411.85282 L 367.14899,408.39365 C 370.94348,406.49111 378.3386,402.09991 383.58252,398.63546 z M 239.91904,402.08663 C 249.59514,337.58176 251.51975,256.97754 244.9908,189.67792 C 243.37051,172.97559 239.39051,141.40174 238.28753,136.50065 L 237.71671,133.96385 L 230.72864,137.50164 C 198.17949,153.98009 170.51275,185.76004 157.79447,221.27895 C 151.74051,238.18619 149.70984,251.02416 149.70984,272.39071 C 149.70984,288.91611 150.13061,293.9704 152.32546,303.80896 C 161.03307,342.8415 182.83702,375.62062 214.767,397.68099 C 221.13993,402.084 236.3875,410.71466 237.90593,410.77843 C 238.29359,410.79472 239.19959,406.8834 239.91904,402.08663 z "/>
+          </svg:g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/kindergarten.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/kindergarten.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/kindergarten.svg	(revision 35743)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="18.639999"
+   height="18.639999"
+   viewBox="0 0 440 440"
+   id="symbol-kindergarten">
+  <defs
+     id="defs24" />
+  <g
+     id="g2387">
+    <path
+       d="M 223,8.7 L 107,369.7"
+       id="path5"
+       style="fill:none;stroke:#a52a2a;stroke-width:20" />
+    <path
+       d="M 223,8.7 L 292,435"
+       id="path7"
+       style="fill:none;stroke:#a52a2a;stroke-width:18.90410042" />
+    <path
+       d="M 223,8.7 L 372,285.7"
+       id="path9"
+       style="fill:none;stroke:#a52a2a;stroke-width:20" />
+    <path
+       d="M 66,57.7 C 66,57.7 349,124.7 350,127.7 C 351,130.7 347,349.7 347,349.7 L 60,252.7 L 66,57.7 z"
+       id="path11" />
+    <path
+       d="M 316.6454,223.51043 C 316.64719,243.06739 300.79408,254.05468 281.23767,248.05042 C 261.68127,242.04616 245.82816,221.32434 245.82995,201.76848 C 245.82816,182.21153 261.68127,171.22423 281.23767,177.2285 C 300.79408,183.23276 316.64719,203.95457 316.6454,223.51043 L 316.6454,223.51043 z"
+       id="path2450"
+       style="fill:#ff0000;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       d="M 158.1029,143.73825 C 158.10469,163.2952 142.25158,174.2825 122.69517,168.27824 C 103.13877,162.27398 87.285663,141.55216 87.287447,121.9963 C 87.285663,102.43935 103.13877,91.452053 122.69517,97.456314 C 142.25158,103.46058 158.10469,124.18239 158.1029,143.73825 L 158.1029,143.73825 z"
+       id="path3222"
+       style="fill:#00ff00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       d="M 223.12315,253.22312 C 223.12494,272.78008 207.27183,283.76737 187.71542,277.76311 C 168.15902,271.75885 152.30591,251.03703 152.3077,231.48117 C 152.30591,211.92422 168.15902,200.93692 187.71542,206.94119 C 207.27183,212.94545 223.12494,233.66726 223.12315,253.22312 L 223.12315,253.22312 z"
+       id="path3224"
+       style="fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/library.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/library.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/library.svg	(revision 35743)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="symbol-library" viewBox="0 0 640 640" height="18.64">
+   <svg:g transform="translate(160,10)">
+            <svg:path fill="#FFFFFF" stroke="#000000" stroke-width="32.0585" d="M136,165.5l5.1,414l162.2-163.5V46.6 L136,165.5z"/>
+            <svg:path fill="#FFFFFF" stroke="#000000" stroke-width="32.1739" d="M20.2,136.7l-3.9,422.1c0,0-6.4,45,43.8,46.3 c56.6,1.5,68.2-10.3,68.2-10.3l2.6-426c0,0-18,14.2-57.9,12.9C22.8,180.1,20.2,136.7,20.2,136.7z"/>
+            <svg:path fill="none" stroke="#000000" stroke-width="26.7171" d="M175.9,229.4l79.8-48.9"/>
+            <svg:path fill="none" stroke="#000000" stroke-width="26.7171" d="M182.3,289.9l69.5-42.5"/>
+            <svg:path fill="none" stroke="#000000" stroke-width="26.7171" d="M184.9,351.6l75.9-48.9"/>
+            <svg:path fill="none" stroke="#000000" stroke-width="26.7171" d="M13.7,147L191.3,10.6 c-18.3,17.1,13.9,32.3,37.3,33.5c51.5,2.6,81.1-7.7,81.1-7.7"/>
+            <svg:path fill="#FFFFFF" stroke="#000000" d="M36.7,143.9l144-116c0,0-7,18,26,25s59,1,59,1l-149,107c0,0-27,16-59,1 S36.7,143.9,36.7,143.9z"/>
+          </svg:g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/lighthouse.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/lighthouse.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/lighthouse.svg	(revision 35743)
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   version="1.0"
+   width="16"
+   height="16"
+   id="symbol-lighthouse">
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient7998">
+      <stop
+         id="stop8000"
+         style="stop-color:#fffd2d;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop8002"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="-55.103962"
+       y1="1.5694619"
+       x2="176.36978"
+       y2="99.851913"
+       id="linearGradient8004"
+       xlink:href="#linearGradient7998"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       x1="59.917046"
+       y1="30.271528"
+       x2="262.24768"
+       y2="88"
+       id="linearGradient12871"
+       xlink:href="#linearGradient7998"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <g
+     transform="matrix(8.1354145e-2,0,0,8.1354145e-2,-0.1135914,-0.5009919)"
+     id="g3249">
+    <g
+       transform="translate(60.173159,3.8961039)"
+       id="g3205">
+      <path
+         d="M 13.8,149.5 L 10,185 L 70,185 L 66.2,149.5 L 13.8,149.5 z"
+         id="path10923"
+         style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         d="M 17.55,114.5 L 13.8,149.5 L 66.2,149.5 L 62.45,114.5 L 17.55,114.5 z"
+         id="path10921"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         d="M 21.3,79.5 L 17.55,114.5 L 62.45,114.5 L 58.7,79.5 L 21.3,79.5 z"
+         id="path10919"
+         style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         d="M 25,45 L 21.3,79.5 L 58.7,79.5 L 55,45 L 25,45 z"
+         id="path10917"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <rect
+         width="72"
+         height="12"
+         rx="1.9279137"
+         ry="1.6392574"
+         x="4"
+         y="184"
+         id="rect2166"
+         style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <rect
+         width="40"
+         height="5"
+         rx="0.51127112"
+         ry="0.52888519"
+         x="20"
+         y="40"
+         id="rect3139"
+         style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <rect
+         width="32.00779"
+         height="20.000082"
+         rx="0"
+         ry="0"
+         x="23.992144"
+         y="19.993521"
+         id="rect3141"
+         style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.03292346;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         d="M 40,5 L 20,20 L 60,20 L 40,5 z"
+         id="path3143"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
+    </g>
+    <path
+       d="M 123.37662,34.199134 L 197.83549,58.008658 L 197.40259,6.9264069 L 123.37662,34.199134 z"
+       id="path3221"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       d="M 76.623378,34.199135 L 2.1645041,58.008661 L 2.5974041,6.9264067 L 76.623378,34.199135 z"
+       id="path3223"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/man-made-halfpipe.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/man-made-halfpipe.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/man-made-halfpipe.svg	(revision 35743)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="27.96" id="symbol-man-made-halfpipe" viewBox="0 0 48 48" height="27.96">
+   <svg:path fill="#000000" d="M 0,0 L 0,48 L 48,48 L 48,0 L 0,0 z M 1,1 L 47,1 L 47,47 L 1,47 L 1,1 z M 46,20 L 42,20 C 42,38 35,40 25,40 C 15,40 7,38 7,20 L 2,20 L 2,46 L 46,46 L 46,20 z"/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/mosque.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/mosque.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/mosque.svg	(revision 35743)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="mosque" viewBox="0 0 120 120" fill="limegreen" height="18.64">
+   <svg:path d="M 4,60 C 11,75 60,107 84,73 C 103,40 76,22 50,7 C 76,6 130,35 103,84 C 72,124 8,97 4,60 z M 35,52 C 35,52 20,55 20,55 L 30,43 C 30,43 21,30 21,30 L 35,35 L 45,23 L 45,38 L 60,45 L 45,50 L 45,65 L 35,52 z"/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/mountain_pass.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/mountain_pass.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/mountain_pass.svg	(revision 35743)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="133.59608"
+   height="133.59607"
+   id="symbol-mountain-pass">
+  <defs
+     id="defs6" />
+  <path
+     d="M 0.33000001,89.425454 L 25.078737,92.960988 L 92.960988,25.078737 L 89.425454,0.33000001"
+     id="path2160"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.66000003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 44.17062,133.26607 L 40.635086,108.51733 L 108.51734,40.635086 L 133.26608,44.17062"
+     id="path3134"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.66000003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/museum.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/museum.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/museum.svg	(revision 35743)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="symbol-museum" viewBox="0 0 200 220" height="18.64">
+   <svg:g fill="lightgray" stroke-width="3" stroke="#000000">
+                <svg:path d="M 38.2,92.9 L 60.6,92.9 L 60.6,215.6 L 38.2,215.6 L 38.2,92.9 z "/>
+                <svg:path d="M 85,92.9 L 107.4,92.8 L 107.4,215.6 L 85,215.6 L 85,92.9 z "/>
+                <svg:path d="M 131.8,92.8 L 154.2,92.8 L 154.2,215.6 L 131.8,215.6 L 131.8,92.8 z "/>
+                <svg:path d="M 18.0,216.1 L 170.0,216.1 L 170.0,226.6 L 18.0,226.6 L 18.0,216.1 z "/>
+                <svg:path d="M 17.9,82.0 L 95.4,53.6 L 169.9,82.0 L 169.9,92.5 L 17.9,92.5 L 17.9,82.0 z "/>
+            </svg:g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/park_and_ride-permissive.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/park_and_ride-permissive.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/park_and_ride-permissive.svg	(revision 35743)
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="36"
+   height="18"
+   viewBox="0 0 72 36"
+   id="park_and_ride-permissive">
+  <defs
+     id="defs8" />
+  <g
+     id="g2162">
+    <rect
+       width="72"
+       height="36"
+       rx="2"
+       ry="2"
+       x="0"
+       y="0"
+       style="fill:#aaaaaa"
+       id="rect3" />
+    <path
+       d="M 48.1,2.5 C 47.8,2.5 47.5,2.8 47.5,3.1 L 47.5,41.9 C 47.5,42.2 47.8,42.5 48.1,42.5 L 86.9,42.5 C 87.2,42.5 87.5,42.2 87.5,41.9 L 87.5,3.1 C 87.5,2.8 87.2,2.5 86.9,2.5 L 48.1,2.5 z M 50,5 L 85,5 L 85,9.4 L 76.2,9.4 C 75.6,9.4 75,9.9 75,10.6 L 75,11.9 L 73.7,11.9 C 73.1,11.9 72.5,12.4 72.5,13.1 L 72.5,31.2 C 72.5,31.9 73.1,32.5 73.7,32.5 L 75,32.5 L 75,34.4 C 74.5,35.1 75.6,35.6 76.2,35.6 L 78.7,35.6 C 79.4,35.6 80,35.1 80,34.4 L 80,32.5 L 85,32.5 L 85,40 L 50,40 L 50,32.5 L 55,32.5 L 55,34.4 C 55,35.1 55.6,35.6 56.2,35.6 L 58.7,35.6 C 59.4,35.6 60,35.1 60,34.4 L 60,32.5 L 61.2,32.5 C 61.9,32.5 62.5,31.9 62.5,31.2 L 62.5,26.2 C 62.5,25.6 61.9,25 61.2,25 L 60,25 L 60,18.8 C 60,18.1 59.4,17.5 58.7,17.5 L 50,17.5 L 50,5 z M 11.1,6.3 L 11.1,38.3 L 21.1,38.3 L 21.1,26.7 L 26.6,26.7 C 30.2,26.7 33,25.7 35.1,23.8 C 37.3,22 38.3,19.5 38.3,16.5 C 38.3,14.5 37.8,12.7 36.75,11.1 C 35.7,9.5 34.3,8.3 32.5,7.5 C 30.8,6.7 28.2,6.3 24.7,6.3 L 11.1,6.3 z M 78.75,11.9 L 85,11.9 L 85,14.4 L 78.7,14.3 C 78.1,14.4 77.5,13.8 77.5,13.1 C 77.5,12.4 78.1,11.9 78.7,11.9 L 78.75,11.9 z M 20.9,13.6 L 24.5,13.6 C 27.2,13.6 28.5,14.6 28.5,16.6 C 28.5,18.7 27.1,19.8 24.2,19.8 L 20.9,19.8 L 20.9,13.6 z M 76.25,16.9 L 85,16.9 L 85,25 L 76.2,25 C 75.6,25 75,24.4 75,23.7 L 75,18.1 C 75.5,17.4 75.6,16.9 76.3,16.9 L 76.25,16.9 z M 67.5,17.4 L 65,17.5 L 65,20 L 62.5,20 L 62.5,22.5 L 65,22.5 L 65,25 L 67.5,25 L 67.5,22.5 L 70,22.5 L 70,20 L 67.5,20 L 67.5,17.4 z M 50,20 L 56.2,20 C 56.9,20 57.5,20.6 57.5,21.2 L 57.5,23.7 C 57.5,24.4 56.9,25 56.2,25 L 50,25 L 50,20 z M 57.5,27.2 C 58.4,27.2 59.1,27.9 59.1,28.7 C 59.1,29.6 58.4,30.3 57.5,30.3 C 56.6,30.3 55.9,29.6 55.9,28.7 C 55.9,27.9 56.6,27.2 57.5,27.2 z M 76.6,27.5 C 77.4,27.5 78.1,28.2 78.1,29.1 C 78.1,29.9 77.4,30.6 76.6,30.6 C 75.7,30.6 75,29.9 75,29.1 C 75,28.2 75.7,27.5 76.6,27.5 z "
+       transform="scale(0.8,0.8)"
+       style="fill:#ffffff"
+       id="path5" />
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/park_and_ride.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/park_and_ride.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/park_and_ride.svg	(revision 35743)
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="36"
+   height="18"
+   viewBox="0 0 72 36"
+   id="park_and_ride">
+  <defs
+     id="defs8" />
+  <g
+     id="g2162">
+    <rect
+       width="72"
+       height="36"
+       rx="2"
+       ry="2"
+       x="0"
+       y="0"
+       style="fill:#0000ff"
+       id="rect3" />
+    <path
+       d="M 48.1,2.5 C 47.8,2.5 47.5,2.8 47.5,3.1 L 47.5,41.9 C 47.5,42.2 47.8,42.5 48.1,42.5 L 86.9,42.5 C 87.2,42.5 87.5,42.2 87.5,41.9 L 87.5,3.1 C 87.5,2.8 87.2,2.5 86.9,2.5 L 48.1,2.5 z M 50,5 L 85,5 L 85,9.4 L 76.2,9.4 C 75.6,9.4 75,9.9 75,10.6 L 75,11.9 L 73.7,11.9 C 73.1,11.9 72.5,12.4 72.5,13.1 L 72.5,31.2 C 72.5,31.9 73.1,32.5 73.7,32.5 L 75,32.5 L 75,34.4 C 74.5,35.1 75.6,35.6 76.2,35.6 L 78.7,35.6 C 79.4,35.6 80,35.1 80,34.4 L 80,32.5 L 85,32.5 L 85,40 L 50,40 L 50,32.5 L 55,32.5 L 55,34.4 C 55,35.1 55.6,35.6 56.2,35.6 L 58.7,35.6 C 59.4,35.6 60,35.1 60,34.4 L 60,32.5 L 61.2,32.5 C 61.9,32.5 62.5,31.9 62.5,31.2 L 62.5,26.2 C 62.5,25.6 61.9,25 61.2,25 L 60,25 L 60,18.8 C 60,18.1 59.4,17.5 58.7,17.5 L 50,17.5 L 50,5 z M 11.1,6.3 L 11.1,38.3 L 21.1,38.3 L 21.1,26.7 L 26.6,26.7 C 30.2,26.7 33,25.7 35.1,23.8 C 37.3,22 38.3,19.5 38.3,16.5 C 38.3,14.5 37.8,12.7 36.75,11.1 C 35.7,9.5 34.3,8.3 32.5,7.5 C 30.8,6.7 28.2,6.3 24.7,6.3 L 11.1,6.3 z M 78.75,11.9 L 85,11.9 L 85,14.4 L 78.7,14.3 C 78.1,14.4 77.5,13.8 77.5,13.1 C 77.5,12.4 78.1,11.9 78.7,11.9 L 78.75,11.9 z M 20.9,13.6 L 24.5,13.6 C 27.2,13.6 28.5,14.6 28.5,16.6 C 28.5,18.7 27.1,19.8 24.2,19.8 L 20.9,19.8 L 20.9,13.6 z M 76.25,16.9 L 85,16.9 L 85,25 L 76.2,25 C 75.6,25 75,24.4 75,23.7 L 75,18.1 C 75.5,17.4 75.6,16.9 76.3,16.9 L 76.25,16.9 z M 67.5,17.4 L 65,17.5 L 65,20 L 62.5,20 L 62.5,22.5 L 65,22.5 L 65,25 L 67.5,25 L 67.5,22.5 L 70,22.5 L 70,20 L 67.5,20 L 67.5,17.4 z M 50,20 L 56.2,20 C 56.9,20 57.5,20.6 57.5,21.2 L 57.5,23.7 C 57.5,24.4 56.9,25 56.2,25 L 50,25 L 50,20 z M 57.5,27.2 C 58.4,27.2 59.1,27.9 59.1,28.7 C 59.1,29.6 58.4,30.3 57.5,30.3 C 56.6,30.3 55.9,29.6 55.9,28.7 C 55.9,27.9 56.6,27.2 57.5,27.2 z M 76.6,27.5 C 77.4,27.5 78.1,28.2 78.1,29.1 C 78.1,29.9 77.4,30.6 76.6,30.6 C 75.7,30.6 75,29.9 75,29.1 C 75,28.2 75.7,27.5 76.6,27.5 z "
+       transform="scale(0.8,0.8)"
+       style="fill:#ffffff"
+       id="path5" />
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking-permissive.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking-permissive.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking-permissive.svg	(revision 35743)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" version="1.1" baseProfile="full"
+   width="20" height="20" id="symbol-parking-permissive">
+ <rect x="0" y="0" width="20" height="20" rx="2" ry="2" style="stroke-width:0;fill:#aaaaaa" />
+ <path d="M4,17 L4,3 10,3 C14,3 16,5 16,7.5 C16,10 14,12 10,12 L8.5,12 8.5,17 z M8.5,9 L10,9 C13,9 13,6 10,6 L8.5,6 8.5,9 z" style="stroke-width:0;fill:#ffffff" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking-private.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking-private.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking-private.svg	(revision 35743)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" version="1.1" baseProfile="full"
+   width="20" height="20" id="symbol-parking-private">
+ <rect x="0.5" y="0.5" width="19" height="19" rx="2" ry="2" style="stroke:#aaaaaa;stroke-width:1;fill:#ffffff" />
+ <path d="M4,17 L4,3 10,3 C14,3 16,5 16,7.5 C16,10 14,12 10,12 L8.5,12 8.5,17 z M8.5,9 L10,9 C13,9 13,6 10,6 L8.5,6 8.5,9 z" style="stroke-width:0;fill:#aaaaaa" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking.svg	(revision 35743)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" version="1.1" baseProfile="full"
+   width="20" height="20" id="symbol-parking">
+ <rect x="0" y="0" width="20" height="20" rx="2" ry="2" style="stroke-width:0;fill:#0000ff" />
+ <path d="M4,17 L4,3 10,3 C14,3 16,5 16,7.5 C16,10 14,12 10,12 L8.5,12 8.5,17 z M8.5,9 L10,9 C13,9 13,6 10,6 L8.5,6 8.5,9 z" style="stroke-width:0;fill:#ffffff" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking_fee-permissive.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking_fee-permissive.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking_fee-permissive.svg	(revision 35743)
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="36"
+   height="18"
+   id="parking_fee-permissive">
+  <defs
+     id="defs2856" />
+  <g
+     transform="matrix(0.5,0,0,0.5,0,-20)"
+     id="parking_fee">
+    <g
+       transform="translate(0,40)"
+       id="g2900">
+      <rect
+         width="72"
+         height="36"
+         rx="2"
+         ry="2"
+         x="0"
+         y="0"
+         style="fill:#aaaaaa"
+         id="rect2902" />
+      <path
+         d="M 15.7,21.4 L 15.76,30.7 L 7.8,30.7 L 7.8,5.1 L 18.7,5.1 C 21.4,5.1 23.5,5.4 24.9,6 C 26.4,6.7 27.5,7.6 28.3,8.9 C 29.1,10.2 29.4,11.7 29.6,13.3 C 29.6,15.7 28.7,17.7 27,19.2 C 25.3,20.6 23,21.4 20.2,21.4 L 15.8,21.4 L 15.7,21.4 z M 15.6,15.9 L 18.3,15.9 C 20.6,15.9 21.7,15 21.7,13.1 C 21.7,11.8 20.7,11 18.5,11 L 15.64,11 L 15.6,15.9 z "
+         style="fill:#ffffff"
+         id="path2904" />
+      <path
+         d="M 38.5,33.76 L 69.5,33.76 C 69.776142,33.76 70,33.536142 70,33.26 L 70,2.26 C 70,1.9838576 69.776142,1.76 69.5,1.76 L 38.5,1.76 C 38.223858,1.76 38,1.9838576 38,2.26 L 38,33.26 C 38,33.536142 38.223858,33.76 38.5,33.76 z "
+         style="fill:#ffffff"
+         id="path2906" />
+      <path
+         d="M 40,31.76 L 40,3.76 L 68,3.76 L 68,31.76 L 40,31.76 z "
+         style="fill:#aaaaaa"
+         id="path2908" />
+    </g>
+    <g
+       transform="matrix(0.922587,0,0,0.922587,4.1701143,4.4683601)"
+       id="g3894">
+      <rect
+         width="23.348639"
+         height="11.674319"
+         x="46.746216"
+         y="44.002426"
+         transform="matrix(0.9948298,0.1015563,-0.1015563,0.9948298,0,0)"
+         style="fill:#aaaaaa;fill-opacity:1;stroke:#ffffff;stroke-width:1.07493544;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect4197" />
+      <path
+         d="M 411.42859 375.87302 A 46.984127 46.984127 0 1 1  317.46033,375.87302 A 46.984127 46.984127 0 1 1  411.42859 375.87302 z"
+         transform="matrix(0.1272924,0,0,0.1272924,14.568602,12.069448)"
+         style="fill:#aaaaaa;fill-opacity:1;stroke:#ffffff;stroke-width:7.5999999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="path3224" />
+      <text
+         x="58.128101"
+         y="63.268608"
+         style="font-size:9.66500282px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.1414389px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Myriad Pro"
+         id="text4205"
+         xml:space="preserve"><tspan
+           x="58.128101"
+           y="63.268608"
+           style="fill:#ffffff;fill-opacity:1;stroke-width:0.1414389"
+           id="tspan4207">2</tspan></text>
+      <path
+         d="M 411.42859 375.87302 A 46.984127 46.984127 0 1 1  317.46033,375.87302 A 46.984127 46.984127 0 1 1  411.42859 375.87302 z"
+         transform="matrix(9.8999267e-2,0,0,9.8999267e-2,18.414082,25.218524)"
+         style="fill:#aaaaaa;fill-opacity:1;stroke:#ffffff;stroke-width:7.5999999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="path4199" />
+      <text
+         x="52.545464"
+         y="64.742836"
+         style="font-size:7.11741495px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.1414389px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Myriad Pro"
+         id="text4201"
+         xml:space="preserve"><tspan
+           x="52.545464"
+           y="64.742836"
+           style="fill:#ffffff;fill-opacity:1;stroke-width:0.1414389"
+           id="tspan4203">1</tspan></text>
+    </g>
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking_fee.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking_fee.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking_fee.svg	(revision 35743)
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="36"
+   height="18"
+   id="parking_fee">
+  <defs
+     id="defs2856" />
+  <g
+     transform="matrix(0.5,0,0,0.5,0,-20)"
+     id="parking_fee">
+    <g
+       transform="translate(0,40)"
+       id="g2900">
+      <rect
+         width="72"
+         height="36"
+         rx="2"
+         ry="2"
+         x="0"
+         y="0"
+         style="fill:#0000ff"
+         id="rect2902" />
+      <path
+         d="M 15.7,21.4 L 15.76,30.7 L 7.8,30.7 L 7.8,5.1 L 18.7,5.1 C 21.4,5.1 23.5,5.4 24.9,6 C 26.4,6.7 27.5,7.6 28.3,8.9 C 29.1,10.2 29.4,11.7 29.6,13.3 C 29.6,15.7 28.7,17.7 27,19.2 C 25.3,20.6 23,21.4 20.2,21.4 L 15.8,21.4 L 15.7,21.4 z M 15.6,15.9 L 18.3,15.9 C 20.6,15.9 21.7,15 21.7,13.1 C 21.7,11.8 20.7,11 18.5,11 L 15.64,11 L 15.6,15.9 z "
+         style="fill:#ffffff"
+         id="path2904" />
+      <path
+         d="M 38.5,33.76 L 69.5,33.76 C 69.776142,33.76 70,33.536142 70,33.26 L 70,2.26 C 70,1.9838576 69.776142,1.76 69.5,1.76 L 38.5,1.76 C 38.223858,1.76 38,1.9838576 38,2.26 L 38,33.26 C 38,33.536142 38.223858,33.76 38.5,33.76 z "
+         style="fill:#ffffff"
+         id="path2906" />
+      <path
+         d="M 40,31.76 L 40,3.76 L 68,3.76 L 68,31.76 L 40,31.76 z "
+         style="fill:#0000ff"
+         id="path2908" />
+    </g>
+    <g
+       transform="matrix(0.922587,0,0,0.922587,4.1701143,4.4683601)"
+       id="g3894">
+      <rect
+         width="23.348639"
+         height="11.674319"
+         x="46.746216"
+         y="44.002426"
+         transform="matrix(0.9948298,0.1015563,-0.1015563,0.9948298,0,0)"
+         style="fill:#0000ff;fill-opacity:1;stroke:#ffffff;stroke-width:1.07493544;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect4197" />
+      <path
+         d="M 411.42859 375.87302 A 46.984127 46.984127 0 1 1  317.46033,375.87302 A 46.984127 46.984127 0 1 1  411.42859 375.87302 z"
+         transform="matrix(0.1272924,0,0,0.1272924,14.568602,12.069448)"
+         style="fill:#0000ff;fill-opacity:1;stroke:#ffffff;stroke-width:7.5999999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="path3224" />
+      <text
+         x="58.128101"
+         y="63.268608"
+         style="font-size:9.66500282px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.1414389px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Myriad Pro"
+         id="text4205"
+         xml:space="preserve"><tspan
+           x="58.128101"
+           y="63.268608"
+           style="fill:#ffffff;fill-opacity:1;stroke-width:0.1414389"
+           id="tspan4207">2</tspan></text>
+      <path
+         d="M 411.42859 375.87302 A 46.984127 46.984127 0 1 1  317.46033,375.87302 A 46.984127 46.984127 0 1 1  411.42859 375.87302 z"
+         transform="matrix(9.8999267e-2,0,0,9.8999267e-2,18.414082,25.218524)"
+         style="fill:#0000ff;fill-opacity:1;stroke:#ffffff;stroke-width:7.5999999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="path4199" />
+      <text
+         x="52.545464"
+         y="64.742836"
+         style="font-size:7.11741495px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.1414389px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Myriad Pro"
+         id="text4201"
+         xml:space="preserve"><tspan
+           x="52.545464"
+           y="64.742836"
+           style="fill:#ffffff;fill-opacity:1;stroke-width:0.1414389"
+           id="tspan4203">1</tspan></text>
+    </g>
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking_roof-permissive.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking_roof-permissive.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking_roof-permissive.svg	(revision 35743)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="18"
+   height="18"
+   id="symbol-parking_roof-permissive">
+  <defs
+     id="defs9" />
+  <g
+     transform="matrix(0.5,0,0,0.5,-40,0)"
+     id="g3">
+    <path
+       d="M 82,0 L 114,0 C 115.108,0 116,0.892 116,2 L 116,34 C 116,35.108 115.108,36 114,36 L 82,36 C 80.892,36 80,35.108 80,34 L 80,2 C 80,0.892 80.892,0 82,0 z "
+       style="fill:#aaaaaa"
+       id="path4291" />
+    <path
+       d="M 96.181368,24.062684 L 96.231738,31.870441 L 89.548973,31.870441 L 89.548973,10.378121 L 98.699998,10.378121 C 100.96677,10.378121 102.72981,10.629985 103.90517,11.133711 C 105.16449,11.721391 106.08798,12.476981 106.75962,13.568388 C 107.43125,14.659794 107.68312,15.91911 107.85103,17.26238 C 107.85103,19.277285 107.09544,20.956372 105.66821,22.215688 C 104.24099,23.391049 102.31004,24.062684 99.959318,24.062684 L 96.265328,24.062684 L 96.181368,24.062684 z M 96.097418,19.445194 L 98.364178,19.445194 C 100.29513,19.445194 101.21863,18.689604 101.21863,17.094471 C 101.21863,16.003064 100.37909,15.331429 98.532088,15.331429 L 96.130998,15.331429 L 96.097418,19.445194 z "
+       style="fill:#ffffff"
+       id="path4293" />
+    <path
+       d="M 98.276478,2.598089 L 86.167828,5.255891 L 86.167828,8.932056 L 98.276478,6.276769 L 110.38181,8.932056 L 110.38181,5.255891 L 98.276478,2.598089 z "
+       style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect2229" />
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking_roof.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking_roof.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking_roof.svg	(revision 35743)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="18"
+   height="18"
+   id="parking_roof">
+  <defs
+     id="defs9" />
+  <g
+     transform="matrix(0.5,0,0,0.5,-40,0)"
+     id="g3">
+    <path
+       d="M 82,0 L 114,0 C 115.108,0 116,0.892 116,2 L 116,34 C 116,35.108 115.108,36 114,36 L 82,36 C 80.892,36 80,35.108 80,34 L 80,2 C 80,0.892 80.892,0 82,0 z "
+       style="fill:#0000ff"
+       id="path4291" />
+    <path
+       d="M 96.181368,24.062684 L 96.231738,31.870441 L 89.548973,31.870441 L 89.548973,10.378121 L 98.699998,10.378121 C 100.96677,10.378121 102.72981,10.629985 103.90517,11.133711 C 105.16449,11.721391 106.08798,12.476981 106.75962,13.568388 C 107.43125,14.659794 107.68312,15.91911 107.85103,17.26238 C 107.85103,19.277285 107.09544,20.956372 105.66821,22.215688 C 104.24099,23.391049 102.31004,24.062684 99.959318,24.062684 L 96.265328,24.062684 L 96.181368,24.062684 z M 96.097418,19.445194 L 98.364178,19.445194 C 100.29513,19.445194 101.21863,18.689604 101.21863,17.094471 C 101.21863,16.003064 100.37909,15.331429 98.532088,15.331429 L 96.130998,15.331429 L 96.097418,19.445194 z "
+       style="fill:#ffffff"
+       id="path4293" />
+    <path
+       d="M 98.276478,2.598089 L 86.167828,5.255891 L 86.167828,8.932056 L 98.276478,6.276769 L 110.38181,8.932056 L 110.38181,5.255891 L 98.276478,2.598089 z "
+       style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect2229" />
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking_roof_fee-permissive.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking_roof_fee-permissive.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking_roof_fee-permissive.svg	(revision 35743)
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="36"
+   height="18"
+   id="symbol-parking_roof_fee-permissive">
+  <defs
+     id="defs2856" />
+  <g
+     transform="matrix(0.5,0,0,0.5,-40,-20)"
+     id="parking_roof_fee">
+    <rect
+       width="72"
+       height="36"
+       rx="2"
+       ry="2"
+       x="80"
+       y="40"
+       style="fill:#aaaaaa"
+       id="rect4443" />
+    <path
+       d="M 118.5,73.76 L 149.5,73.76 C 149.77614,73.76 150,73.536142 150,73.26 L 150,42.26 C 150,41.983858 149.77614,41.76 149.5,41.76 L 118.5,41.76 C 118.22386,41.76 118,41.983858 118,42.26 L 118,73.26 C 118,73.536142 118.22386,73.76 118.5,73.76 z "
+       style="fill:#ffffff"
+       id="path4447" />
+    <path
+       d="M 120,71.76 L 120,43.76 L 148,43.76 L 148,71.76 L 120,71.76 z "
+       style="fill:#aaaaaa"
+       id="path4449" />
+    <g
+       transform="matrix(0.922587,0,0,0.922587,84.170114,4.4683601)"
+       id="g4451">
+      <rect
+         width="23.348639"
+         height="11.674319"
+         x="46.746216"
+         y="44.002426"
+         transform="matrix(0.9948298,0.1015563,-0.1015563,0.9948298,0,0)"
+         style="fill:#aaaaaa;fill-opacity:1;stroke:#ffffff;stroke-width:1.07493544;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect4453" />
+      <path
+         d="M 411.42859 375.87302 A 46.984127 46.984127 0 1 1  317.46033,375.87302 A 46.984127 46.984127 0 1 1  411.42859 375.87302 z"
+         transform="matrix(0.1272924,0,0,0.1272924,14.568602,12.069448)"
+         style="fill:#aaaaaa;fill-opacity:1;stroke:#ffffff;stroke-width:7.5999999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="path4455" />
+      <text
+         x="58.128101"
+         y="63.268608"
+         style="font-size:9.66500282px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.1414389px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Myriad Pro"
+         id="text4457"
+         xml:space="preserve"><tspan
+           x="58.128101"
+           y="63.268608"
+           style="fill:#ffffff;fill-opacity:1;stroke-width:0.1414389"
+           id="tspan4459">2</tspan></text>
+      <path
+         d="M 411.42859 375.87302 A 46.984127 46.984127 0 1 1  317.46033,375.87302 A 46.984127 46.984127 0 1 1  411.42859 375.87302 z"
+         transform="matrix(9.8999267e-2,0,0,9.8999267e-2,18.414082,25.218524)"
+         style="fill:#aaaaaa;fill-opacity:1;stroke:#ffffff;stroke-width:7.5999999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="path4461" />
+      <text
+         x="52.545464"
+         y="64.742836"
+         style="font-size:7.11741495px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.1414389px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Myriad Pro"
+         id="text4463"
+         xml:space="preserve"><tspan
+           x="52.545464"
+           y="64.742836"
+           style="fill:#ffffff;fill-opacity:1;stroke-width:0.1414389"
+           id="tspan4465">1</tspan></text>
+    </g>
+    <path
+       d="M 96.181368,64.062684 L 96.231738,71.870441 L 89.548973,71.870441 L 89.548973,50.378121 L 98.699998,50.378121 C 100.96677,50.378121 102.72981,50.629985 103.90517,51.133711 C 105.16449,51.721391 106.08798,52.476981 106.75962,53.568388 C 107.43125,54.659794 107.68312,55.91911 107.85103,57.26238 C 107.85103,59.277285 107.09544,60.956372 105.66821,62.215688 C 104.24099,63.391049 102.31004,64.062684 99.959318,64.062684 L 96.265328,64.062684 L 96.181368,64.062684 z M 96.097418,59.445194 L 98.364178,59.445194 C 100.29513,59.445194 101.21863,58.689604 101.21863,57.094471 C 101.21863,56.003064 100.37909,55.331429 98.532088,55.331429 L 96.130998,55.331429 L 96.097418,59.445194 z "
+       style="fill:#ffffff"
+       id="path4560" />
+    <path
+       d="M 98.276478,42.598089 L 86.167828,45.255891 L 86.167828,48.932056 L 98.276478,46.276769 L 110.38181,48.932056 L 110.38181,45.255891 L 98.276478,42.598089 z "
+       style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="path4562" />
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking_roof_fee.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking_roof_fee.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/parking_roof_fee.svg	(revision 35743)
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="36"
+   height="18"
+   id="symbol-parking_roof_fee">
+  <defs
+     id="defs2856" />
+  <g
+     transform="matrix(0.5,0,0,0.5,-40,-20)"
+     id="parking_roof_fee">
+    <rect
+       width="72"
+       height="36"
+       rx="2"
+       ry="2"
+       x="80"
+       y="40"
+       style="fill:#0000ff"
+       id="rect4443" />
+    <path
+       d="M 118.5,73.76 L 149.5,73.76 C 149.77614,73.76 150,73.536142 150,73.26 L 150,42.26 C 150,41.983858 149.77614,41.76 149.5,41.76 L 118.5,41.76 C 118.22386,41.76 118,41.983858 118,42.26 L 118,73.26 C 118,73.536142 118.22386,73.76 118.5,73.76 z "
+       style="fill:#ffffff"
+       id="path4447" />
+    <path
+       d="M 120,71.76 L 120,43.76 L 148,43.76 L 148,71.76 L 120,71.76 z "
+       style="fill:#0000ff"
+       id="path4449" />
+    <g
+       transform="matrix(0.922587,0,0,0.922587,84.170114,4.4683601)"
+       id="g4451">
+      <rect
+         width="23.348639"
+         height="11.674319"
+         x="46.746216"
+         y="44.002426"
+         transform="matrix(0.9948298,0.1015563,-0.1015563,0.9948298,0,0)"
+         style="fill:#0000ff;fill-opacity:1;stroke:#ffffff;stroke-width:1.07493544;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect4453" />
+      <path
+         d="M 411.42859 375.87302 A 46.984127 46.984127 0 1 1  317.46033,375.87302 A 46.984127 46.984127 0 1 1  411.42859 375.87302 z"
+         transform="matrix(0.1272924,0,0,0.1272924,14.568602,12.069448)"
+         style="fill:#0000ff;fill-opacity:1;stroke:#ffffff;stroke-width:7.5999999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="path4455" />
+      <text
+         x="58.128101"
+         y="63.268608"
+         style="font-size:9.66500282px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.1414389px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Myriad Pro"
+         id="text4457"
+         xml:space="preserve"><tspan
+           x="58.128101"
+           y="63.268608"
+           style="fill:#ffffff;fill-opacity:1;stroke-width:0.1414389"
+           id="tspan4459">2</tspan></text>
+      <path
+         d="M 411.42859 375.87302 A 46.984127 46.984127 0 1 1  317.46033,375.87302 A 46.984127 46.984127 0 1 1  411.42859 375.87302 z"
+         transform="matrix(9.8999267e-2,0,0,9.8999267e-2,18.414082,25.218524)"
+         style="fill:#0000ff;fill-opacity:1;stroke:#ffffff;stroke-width:7.5999999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="path4461" />
+      <text
+         x="52.545464"
+         y="64.742836"
+         style="font-size:7.11741495px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.1414389px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Myriad Pro"
+         id="text4463"
+         xml:space="preserve"><tspan
+           x="52.545464"
+           y="64.742836"
+           style="fill:#ffffff;fill-opacity:1;stroke-width:0.1414389"
+           id="tspan4465">1</tspan></text>
+    </g>
+    <path
+       d="M 96.181368,64.062684 L 96.231738,71.870441 L 89.548973,71.870441 L 89.548973,50.378121 L 98.699998,50.378121 C 100.96677,50.378121 102.72981,50.629985 103.90517,51.133711 C 105.16449,51.721391 106.08798,52.476981 106.75962,53.568388 C 107.43125,54.659794 107.68312,55.91911 107.85103,57.26238 C 107.85103,59.277285 107.09544,60.956372 105.66821,62.215688 C 104.24099,63.391049 102.31004,64.062684 99.959318,64.062684 L 96.265328,64.062684 L 96.181368,64.062684 z M 96.097418,59.445194 L 98.364178,59.445194 C 100.29513,59.445194 101.21863,58.689604 101.21863,57.094471 C 101.21863,56.003064 100.37909,55.331429 98.532088,55.331429 L 96.130998,55.331429 L 96.097418,59.445194 z "
+       style="fill:#ffffff"
+       id="path4560" />
+    <path
+       d="M 98.276478,42.598089 L 86.167828,45.255891 L 86.167828,48.932056 L 98.276478,46.276769 L 110.38181,48.932056 L 110.38181,45.255891 L 98.276478,42.598089 z "
+       style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="path4562" />
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/peak.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/peak.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/peak.svg	(revision 35743)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="9" id="symbol-peak" viewBox="0 0 100 100" height="9">
+	   <svg:path fill="lightgrey" stroke="black" stroke-width="5" d="M 0,90 L 50,10 L 100,90 Z"/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/petrolStation.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/petrolStation.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/petrolStation.svg	(revision 35743)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="petrolStation" viewBox="0 0 115 115" fill="#000000" fill-rule="evenodd" stroke-width="3px" height="18.64">
+   <svg:path d="M 22.7283 108.087 C 4.26832 107.546 23.6818 43.3596 32.6686 21.0597 C 33.8491 17.0245 60.28 18.4952 60.0056 19.8857 C 59.0889 25.9148 54.8979 23.2429 52.0142 26.8579 L 51.7464 36.8066 C 48.6085 40.8144 40.2357 34.4677 38.078 42.8773 C 31.3694 92.5727 45.0689 108.819 22.7283 108.087 z M 85.3122 9.52799 L 29.1766 9.52847 C 28.4855 17.5896 -11.559 113.573 22.9292 113.284 C 48.5214 113.073 39.5312 104.08 42.6984 51.03 C 41.8513 49.3228 50.871 48.6585 50.8739 51.4448 L 51.0453 116.604 L 97.6129 116.188 L 97.6129 26.544 C 96.0669 24.2073 93.899 25.2958 90.584 22.394 C 87.7907 19.4131 92.2353 9.52799 85.3122 9.52799 z M 64.0766 35.3236 C 61.5443 36.7258 61.5443 45.2814 64.0766 46.6836 C 68.3819 49.0684 80.2848 49.0684 84.5902 46.6836 C 87.1225 45.2814 87.1225 36.7258 84.5902 35.3236 C 80.2848 32.9393 68.3819 32.9393 64.0766 35.3236 z "/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/pharmacy.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/pharmacy.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/pharmacy.svg	(revision 35743)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="symbol-pharmacy" viewBox="0 0 36 36" height="18.64">
+   <svg:rect style="fill:limegreen" x="0" y="0" width="36" height="36" rx="2" ry="2"/>
+   <svg:path style="fill:#ffffff" d="M20.14 17.3 L20.14 9.44 L11.86 9.44 L11.86 17.3 L4 17.3              L4 25.58 L11.86 25.58 L11.86 33.44 L20.14 33.44 L20.14 25.58 L28 25.58 L28 17.3 L20.14 17.3 Z             M0.5 37.44 L31.5 37.44 a0.5 0.5 -180 0 0 0.5 -0.5 L32 5.94 a0.5 0.5 -180 0 0 -0.5 -0.5              L0.5 5.44 a0.5 0.5 -180 0 0 -0.5 0.5 L0 36.94 a0.5 0.5 -180 0 0 0.5 0.5 Z M2 35.44 L2             7.44 L30 7.44 L30 35.44 L2 35.44 Z" transform="translate(2,-3.44)"/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/picnic.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/picnic.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/picnic.svg	(revision 35743)
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="12"
+   height="12"
+   viewBox="0 0 580 580"
+   id="symbol-picnic">
+  <defs
+     id="defs14" />
+  <path
+     d="M 48.333333,338.33333 L 531.66667,338.33333"
+     id="path2391"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:24.16666603;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 229.58333,217.5 L 96.666667,483.33333"
+     id="path3163"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:24.16666603;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 350.41667,217.5 L 483.33333,483.33333"
+     id="path3165"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:24.16666603;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 193.33333,217.5 L 386.66667,217.5"
+     id="path2384"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:24.16666603;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/playground.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/playground.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/playground.svg	(revision 35743)
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="18"
+   height="18"
+   id="symbol-playground">
+  <defs
+     id="defs4" />
+  <g
+     transform="matrix(6.7201909e-2,0,0,6.7227152e-2,-14.47422,-27.17495)"
+     id="g2168">
+    <rect
+       width="250"
+       height="250"
+       ry="48.57143"
+       x="224.28572"
+       y="413.07645"
+       id="rect3165"
+       style="fill:#c7f1a3;fill-opacity:1;stroke:#000000;stroke-width:17.79999924;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.10000002;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       d="M 247.27748,532.72088 L 451.29396,572.95821"
+       id="path2383"
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:14.19999981;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:1.10000002;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       d="M 349.28571,554.13022 L 327.77308,599.29833 L 370.79835,599.29833 L 349.28571,554.13022 z"
+       id="path2385"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.83189112px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <g
+       id="g3189" />
+    <g
+       transform="matrix(0.8785919,0.3718702,-0.3462376,0.9436356,143.99832,-69.706166)"
+       id="g3185">
+      <path
+         d="M 338.53918,463.22191 C 329.58668,464.8893 317.58246,511.84896 317.58246,511.84896 L 352.1962,507.06244 C 352.1962,507.06244 347.86669,522.57427 344.01118,534.07986 C 341.60652,541.25572 349.61825,543.57042 353.65106,535.609 C 361.10006,520.90345 366.70326,504.64933 366.70326,504.64933 C 366.70326,504.64933 347.9936,461.46108 338.53918,463.22191 z"
+         id="path3181"
+         style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.33470964px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         d="M 286.86472,449.50504 C 286.86828,454.63621 283.15421,458.79796 278.57144,458.79796 C 273.98867,458.79796 270.2746,454.63621 270.27816,449.50504 C 270.2746,444.37387 273.98867,440.21212 278.57144,440.21212 C 283.15421,440.21212 286.86828,444.37387 286.86472,449.50504 z"
+         transform="matrix(-1.664894,-0.163643,-0.2881576,1.3383147,941.37379,-110.14043)"
+         id="path3183"
+         style="opacity:1;fill:#000000;fill-opacity:1;stroke-width:5.9000001;stroke-miterlimit:4;stroke-dasharray:none" />
+    </g>
+    <g
+       transform="matrix(-0.9492779,-9.5302988e-2,-0.1490016,0.9940458,828.53274,98.070173)"
+       id="g3193">
+      <path
+         d="M 338.53918,463.22191 C 329.58668,464.8893 317.58246,511.84896 317.58246,511.84896 L 352.1962,507.06244 C 352.1962,507.06244 347.86669,522.57427 344.01118,534.07986 C 341.60652,541.25572 349.61825,543.57042 353.65106,535.609 C 361.10006,520.90345 366.70326,504.64933 366.70326,504.64933 C 366.70326,504.64933 347.9936,461.46108 338.53918,463.22191 z"
+         id="path3195"
+         style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.33470964px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         d="M 286.86472,449.50504 C 286.86828,454.63621 283.15421,458.79796 278.57144,458.79796 C 273.98867,458.79796 270.2746,454.63621 270.27816,449.50504 C 270.2746,444.37387 273.98867,440.21212 278.57144,440.21212 C 283.15421,440.21212 286.86828,444.37387 286.86472,449.50504 z"
+         transform="matrix(-1.664894,-0.163643,-0.2881576,1.3383147,941.37379,-110.14043)"
+         id="path3197"
+         style="opacity:1;fill:#000000;fill-opacity:1;stroke-width:5.9000001;stroke-miterlimit:4;stroke-dasharray:none" />
+    </g>
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/postbox.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/postbox.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/postbox.svg	(revision 35743)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="13.98" id="postbox" viewBox="0 0 36 36" xml:space="preserve" height="13.98"><svg:ellipse style="fill:red" cx="18" cy="18" rx="18" ry="18"/><svg:ellipse style="fill:#ffffff" cx="18" cy="18" rx="16" ry="16"/><svg:path style="fill:red" d="M26 25.44 L26 35.44 L2 35.44 L2 25.44 L14 31.44 L26 25.44 Z M2 23.44 L26 23.44 L14 29.44 L2 23.44 Z M0 37.44 L28 37.44 L28 21.44 L0 21.44 L0 37.44 Z" transform="translate(4,-11.44)"/></svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/postoffice.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/postoffice.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/postoffice.svg	(revision 35743)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="postoffice" viewBox="0 0 36 36" height="18.64">
+   <svg:ellipse style="fill:red" cx="18" cy="18" rx="18" ry="18"/>
+   <svg:path style="fill:#ffffff" d="M26 25.44 L26 35.44 L2 35.44 L2 25.44 L14 31.44 L26 25.44 Z M2 23.44 L26 23.44 L14 29.44 L2 23.44 Z M0 37.44 L28 37.44 L28 21.44 L0 21.44 L0 37.44 Z" transform="translate(4,-11.44)"/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/power-pole.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/power-pole.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/power-pole.svg	(revision 35743)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="5" id="power-pole" viewBox="0 0 10 10" stroke-width="1px" stroke="#808080" height="5">
+   <svg:path d="M 0 0 L 10 10 M 0 10 L 10 0"/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/power-tower.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/power-tower.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/power-tower.svg	(revision 35743)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="9.32" id="power-tower" viewBox="0 0 10 10" stroke-width="1px" stroke="#808080" height="9.32">
+   <svg:path d="M 0 0 L 10 10 M 0 10 L 10 0"/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/power_generic.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/power_generic.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/power_generic.svg	(revision 35743)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="16"
+   height="16"
+   id="symbol-power-generic">
+    <path
+       d="M 8.5,12.8 L 11.9,6.5 L 7.1,7.6 L 10.8,1.5 L 8.2,0.17 L 4.1,10.1 L 9,8.6 L 7.4,12.3 L 7.1,11.6 L 6.65,15.7 L 9.3,12.5 L 8.5,12.8 z"
+       id="path4518"
+       style="fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/power_hydro.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/power_hydro.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/power_hydro.svg	(revision 35743)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="16"
+   height="16"
+   id="symbol-power-hydro">
+    <path
+       d="M 8.5,12.8 L 11.9,6.5 L 7.1,7.6 L 10.8,1.5 L 8.2,0.17 L 4.1,10.1 L 9,8.6 L 7.4,12.3 L 7.1,11.6 L 6.65,15.7 L 9.3,12.5 L 8.5,12.8 z"
+       id="path4518"
+       style="fill:#00ccff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/power_photovoltaic.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/power_photovoltaic.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/power_photovoltaic.svg	(revision 35743)
@@ -0,0 +1,16 @@
+﻿<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" version="1.1" baseProfile="full"
+   width="16" height="16" id="symbol-power-photovoltaic">
+ <g transform="matrix(1,0,-0.26,1,0.15,0)">
+  <rect x="3.4" y="3.4" width="13" height="8.9" style="fill:#ffffff;stroke:#000000;stroke-width:0.4"/>
+  <g style="stroke-width:0;fill:#000084" >
+   <rect x="3.9" y="8" width="3.8" height="3.8" />
+   <rect x="8" y="8" width="3.8" height="3.8" />
+   <rect x="12.1" y="8" width="3.8" height="3.8" />
+   <rect x="3.9" y="3.9" width="3.8" height="3.8" />
+   <rect x="8" y="3.9" width="3.8" height="3.8" />
+   <rect x="12.1" y="3.9" width="3.8" height="3.8" />
+  </g>
+ </g>
+ <path d="M 2.72 0.34 L 2.97 2.59 L 1.38 2.13 L 2.44 3.25 L 0.38 3.98 L 2.59 4.38 L 1.59 5.72 L 3.13 5.03 L 3.16 7.22 L 4.25 5.34 L 5.22 6.63 L 5.03 5 L 7.22 5.66 L 5.72 4.06 L 7.25 3.59 L 5.59 3.28 L 6.97 1.41 L 4.88 2.34 L 4.88 0.78 L 4.09 2.13 L 2.72 0.34 z" style="fill:#ffff00;stroke:#000000;stroke-width:0.1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/power_wind.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/power_wind.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/power_wind.svg	(revision 35743)
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="16"
+   height="16"
+   id="symbol-power-wind">
+  <rect
+     width="0.77532399"
+     height="8.1394444"
+     x="8.3448029"
+     y="7.860559"
+     id="rect2385"
+     style="fill:#000000" />
+  <path
+     d="M 9.4685289,7.5398227 C 9.5951548,7.3769778 10.64679,8.1902804 11.817421,9.3563852 C 12.988052,10.52249 13.834385,11.599816 13.707759,11.762661 C 13.581133,11.925506 12.529499,11.112204 11.358868,9.9460989 C 10.188236,8.7799942 9.341903,7.7026676 9.4685289,7.5398227 z"
+     id="path2387"
+     style="fill:#000000" />
+  <path
+     d="M 9.0179241,5.7934416 C 8.8242005,5.7429518 9.0001786,4.4242539 9.4109824,2.8480475 C 9.8217862,1.2718412 10.311853,0.03500359 10.505576,0.085493431 C 10.6993,0.13598327 10.523322,1.4546811 10.112518,3.0308874 C 9.7017142,4.6070939 9.2116477,5.8439315 9.0179241,5.7934416 z"
+     id="path2393"
+     style="fill:#000000" />
+  <path
+     d="M 7.7057548,7.0801563 C 7.7567258,7.273754 6.5211097,7.7668916 4.9459289,8.1816099 C 3.3707482,8.5963282 2.0524917,8.7755817 2.0015207,8.5819841 C 1.9505497,8.3883865 3.1861658,7.8952488 4.7613465,7.4805306 C 6.3365273,7.0658123 7.6547838,6.8865587 7.7057548,7.0801563 z"
+     id="path2395"
+     style="fill:#000000" />
+  <path
+     d="M 9.7448924,6.787931 C 9.7450023,7.3521951 9.2876067,7.8096797 8.7233428,7.8096797 C 8.1590787,7.8096797 7.7016831,7.3521951 7.701793,6.787931 C 7.7016831,6.2236669 8.1590787,5.7661823 8.7233428,5.7661823 C 9.2876067,5.7661823 9.7450023,6.2236669 9.7448924,6.787931 L 9.7448924,6.787931 z"
+     id="path2397"
+     style="fill:#000000" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/pub.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/pub.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/pub.svg	(revision 35743)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="13.98" id="pub" viewBox="0 0 580 580" height="13.98">
+   <svg:g style="fill-rule: nonzero;stroke-linecap:butt;">
+                <svg:path style="fill:black;stroke:none;stroke-width:0.28;stroke-linejoin:bevel" d="M 67.775772,2.6625614 C 26.556032,2.6625614 3.3361722,24.082427 3.1561722,67.642152 L 3.1561722,517.81932 C 3.3361722,558.67906 24.216042,580.09892 65.435782,580.09892 L 517.23294,580.09892 C 558.63267,580.09892 579.51254,559.75905 579.51254,517.81932 L 579.51254,67.642152 C 579.51254,25.16242 558.63267,2.6625614 515.97294,2.6625614 C 515.97294,2.6625614 67.775772,2.4825625 67.775772,2.6625614 z "/>
+                <svg:path style="fill:none;stroke:black;stroke-width:3.41997862;stroke-linejoin:miter" d="M 67.775772,2.6625614 C 26.556032,2.6625614 3.3361722,24.082427 3.1561722,67.642152 L 3.1561722,517.81932 C 3.3361722,558.67906 24.216042,580.09892 65.435782,580.09892 L 517.23294,580.09892 C 558.63267,580.09892 579.51254,559.75905 579.51254,517.81932 L 579.51254,67.642152 C 579.51254,25.16242 558.63267,2.6625614 515.97294,2.6625614 C 515.97294,2.6625614 67.775772,2.4825625 67.775772,2.6625614"/>
+                <svg:path style="fill:white;stroke:none;stroke-width:3.42000008;stroke-linejoin:bevel" d="M 106.47552,104.54192 L 468.63324,104.54192 L 311.31423,299.12069 L 311.31423,423.67991 L 398.43368,423.67991 C 427.7735,423.85991 427.9535,467.95963 398.43368,467.77963 L 180.99505,467.77963 C 151.65524,467.95963 151.65524,423.85991 180.99505,423.67991 L 266.85451,423.67991 L 266.85451,298.2207 L 106.47552,104.54192 z "/>
+                <svg:path style="fill:black;stroke:none;stroke-width:3.42000008;stroke-linejoin:bevel" d="M 316.5342,241.88105 C 332.1941,241.88105 344.79402,229.28113 344.61402,213.80123 C 344.79402,198.32133 332.1941,185.72141 316.5342,185.54141 C 301.0543,185.72141 288.45438,198.32133 288.45438,213.80123 C 288.45438,229.28113 301.0543,241.88105 316.5342,241.88105 z "/>
+            </svg:g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/pubx.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/pubx.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/pubx.svg	(revision 35743)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="24" id="pubx" viewBox="0 0 600 600" height="24">
+   <svg:g style="fill-rule: nonzero;">
+                <svg:path style="fill:#ffffff; stroke:#000000; stroke-width:50; stroke-linecap:butt; stroke-linejoin:miter" d="M 598.46 512.06 C 598.46 557.96 561.20 595.40 515.30 595.40 L 88.70 595.40       C 42.62 595.40 5.36 557.96 5.36 512.06 L 5.36 85.46 C 5.36 39.38 42.62 2.12 88.70 2.12       L 515.30 2.12 C 561.20 2.12 598.46 39.38 598.46 85.46 L 598.46 512.06"/>
+                <svg:path style="fill:#FFFFFF; stroke:none;" d="M 311.00 565.88 C 344.84 567.68 384.26 575.96 413.60 589.28 L 190.40 589.46       C 221.00 574.88 256.28 567.68 291.92 566.06 L 291.92 377.24 C 224.60 371.48 169.70 318.38 170.24 245.48       C 170.60 191.66 198.86 133.88 198.86 133.88 L 407.30 133.88 C 407.30 133.88 433.76 181.22 433.76 245.48       C 433.76 309.74 379.94 372.74 311.00 376.88 L 311.00 565.88 Z"/>
+                <svg:path style="fill:none; stroke:#000000; stroke-width:14.94; stroke-linecap:round; stroke-linejoin:round" d="M 311.00 565.88 C 344.84 567.68 384.26 575.96 413.60 589.28 L 190.40 589.46       C 221.00 574.88 256.28 567.68 291.92 566.06 L 291.92 377.24 C 224.60 371.48 169.70 318.38 170.24 245.48       C 170.60 191.66 198.86 133.88 198.86 133.88 L 407.30 133.88 C 407.30 133.88 433.76 181.22 433.76 245.48       C 433.76 309.74 379.94 372.74 311.00 376.88 L 311.00 565.88"/>
+                <svg:path style="fill:#000000; stroke:none; stroke-width:14.94; stroke-linecap:round; stroke-linejoin:bevel" d="M 431.60 210.74 C 432.86 220.64 433.76 234.32 433.76 245.48 C 433.76 309.74 379.94 372.74 311.00 376.88       L 311.00 565.88 C 344.84 567.68 384.26 575.96 413.60 589.28 L 190.40 589.46       C 221.00 574.88 256.28 567.68 291.92 566.06 L 291.92 377.24 C 224.60 371.48 169.70 318.38 170.24 245.48       C 170.24 234.14 171.50 222.62 173.48 211.64 L 431.60 210.74 Z"/>
+                <svg:path style="fill:none; stroke:#000000; stroke-width:0.54; stroke-linecap:butt; stroke-linejoin:miter" d="M 431.60 210.74 C 432.86 220.64 433.76 234.32 433.76 245.48 C 433.76 309.74 379.94 372.74 311.00 376.88       L 311.00 565.88 C 344.84 567.68 384.26 575.96 413.60 589.28 L 190.40 589.46       C 221.00 574.88 256.28 567.68 291.92 566.06 L 291.92 377.24 C 224.60 371.48 169.70 318.38 170.24 245.48       C 170.24 234.14 171.50 222.62 173.48 211.64 L 431.60 210.74"/>
+                <svg:path style="fill:#FFFFFF; stroke:none; stroke-width:0.54; stroke-linecap:butt; stroke-linejoin:bevel" d="M 365.90 333.68 C 365.90 347.00 355.28 357.62 341.96 357.62 C 328.64 357.62 318.02 347.00 318.02 333.68       C 318.02 320.36 328.64 309.74 341.96 309.74 C 355.28 309.74 365.90 320.36 365.90 333.68 Z"/>
+                <svg:path style="fill:none; stroke:#000000; stroke-width:1.08; stroke-linecap:butt; stroke-linejoin:miter" d="M 365.90 333.68 C 365.90 347.00 355.28 357.62 341.96 357.62 C 328.64 357.62 318.02 347.00 318.02 333.68       C 318.02 320.36 328.64 309.74 341.96 309.74 C 355.28 309.74 365.90 320.36 365.90 333.68"/>
+            </svg:g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/railway-crossing-small.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/railway-crossing-small.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/railway-crossing-small.svg	(revision 35743)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="32.619999"
+   height="32.619999"
+   viewBox="0 0 600 600"
+   id="symbol-railway-crossing-small">
+  <defs
+     id="defs10" />
+  <g
+     transform="matrix(0.5,0,0,0.5,179.75,219.84375)"
+     id="g3">
+    <path
+       d="M 1.5,4.5 L 67.5,6 L 257.5,97.4 L 456,0 L 519,4.5 L 504,52.5 L 319.5,139.5 L 495,220.5 L 510,271.5 L 451.5,277.5 L 258,178.5 C 258,178.5 69,274.5 64.5,277.5 C 60,280.5 0,279 0,279 L 6,228 L 178.5,142.5 L 12,63 L 1.5,4.5 z"
+       id="path5"
+       style="fill:#ff0000" />
+    <path
+       d="M 49.5,21 L 33,49.5 L 219,141 L 36,237 L 52.5,262.5 L 258,156 L 454.5,261 L 475.5,228 L 286.5,136.5 L 475.5,49.5 L 454.5,19.5 L 257.8,116.2 L 49.5,21 z"
+       id="path7"
+       style="fill:#ffffff" />
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/railway-crossing.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/railway-crossing.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/railway-crossing.svg	(revision 35743)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="32.620000000000005" id="symbol-railway-crossing" viewBox="0 0 600 600" height="32.620000000000005">
+   <svg:g transform="translate(50,150)">
+            <svg:path fill="red" d="M1.5,4.5l66,1.5l190,91.4L456,0l63,4.5l-15,48    l-184.5,87l175.5,81l15,51l-58.5,6l-193.5-99c0,0-189,96-193.5,99S0,279,0,279l6-51l172.5-85.5L12,63L1.5,4.5z"/>
+            <svg:path fill="#FFFFFF" d="M49.5,21L33,49.5L219,141L36,237l16.5,25.5    L258,156l196.5,105l21-33l-189-91.5l189-87l-21-30l-196.7,96.7L49.5,21z"/>
+          </svg:g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/recycling.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/recycling.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/recycling.svg	(revision 35743)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="recycling" viewBox="0 0 80 80" stroke="none" fill="limegreen" height="18.64">
+   <svg:path d="M 55.0,37.3 L 72.1,27.0 L 79.8,41.9 C 81.6,50.0 71.5,52.9 63.3,52.4 L 55.0,37.3 z"/>
+   <svg:path d="M 51.1,47.9 L 42.1,63.8 L 51.1,80.0 L 51.3,73.5 L 59.5,73.5 C 62.5,73.8 66.4,71.8 67.9,69.0 L 78.4,49.5 C 75.0,53.0 70.5,53.9 65.3,53.9 L 51.4,53.9 L 51.1,47.9 z "/>
+   <svg:path d="M 31.0,28.2 L 13.7,18.2 L 22.9,4.2 C 29.0,-1.3 36.6,6.1 40.1,13.5 L 30.9,28.2 z "/>
+   <svg:path d="M 42.1,26.5 L 60.4,26.6 L 70.1,10.9 L 64.3,13.8 L 60.3,6.6 C 59.1,3.9 55.5,1.4 52.3,1.5 L 30.2,1.7 C 34.9,3.1 37.9,6.6 40.4,11.1 L 47.2,23.3 L 42.1,26.5 z "/>
+   <svg:path d="M 0.4,27.4 L 5.8,31.5 L 0.8,40.5 C -1.8,45.3 2.6,49.6 5.3,51.0 C 8.0,52.5 12.2,52.7 16.2,52.7 L 23.3,41.3 L 28.6,44.1 L 19.3,27.2 L 0.4,27.4 z "/>
+   <svg:path d="M 1.2,49.3 L 12.7,70.1 C 15.0,73.0 19.4,73.7 23.9,73.6 L 36.0,73.6 L 36.0,53.9 L 13.0,53.7 C 9.5,53.9 4.8,53.2 1.2,49.3 z "/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/religion.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/religion.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/religion.svg	(revision 35743)
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="32"
+   height="32"
+   id="symbol-religion">
+  <defs
+     id="defs4" />
+  <g
+     id="layer1">
+    <g
+       transform="translate(-23.005076,-11.785714)"
+       id="g2212">
+      <g
+         id="g3385">
+        <rect
+           width="2.6737955"
+           height="14.220004"
+           x="30.11763"
+           y="13.291089"
+           transform="matrix(0.999933,-1.1572613e-2,1.1572613e-2,0.999933,0,0)"
+           id="rect3279"
+           style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:1;stroke-dasharray:none;stroke-dashoffset:18;stroke-opacity:1" />
+        <rect
+           width="9.8616724"
+           height="2.3008447"
+           x="26.513855"
+           y="16.258488"
+           transform="matrix(0.9999009,-1.4081469e-2,9.5106519e-3,0.9999548,0,0)"
+           id="rect3281"
+           style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:1;stroke-dasharray:none;stroke-dashoffset:18;stroke-opacity:1" />
+      </g>
+    </g>
+    <path
+       d="M 29.283943,6.5690673 L 27.583702,6.2113774 L 26.689575,7.7011263 L 26.504323,5.9735758 L 24.811169,5.5835274 L 26.396958,4.8735191 L 26.244679,3.1427327 L 27.40997,4.431471 L 29.008993,3.7518149 L 28.143438,5.2583254 L 29.283943,6.5690673 z"
+       id="path273"
+       style="font-size:12px;fill:#000000;fill-rule:evenodd;stroke-width:1pt" />
+    <path
+       d="M 29.925303,10.970691 C 28.415734,14.296492 24.454579,15.749476 21.119079,14.204208 C 17.783611,12.658971 16.330657,8.6977845 17.875925,5.362316 C 18.664084,3.6610523 19.953915,2.4919215 21.774639,1.8538392 C 21.565219,2.0309379 21.358,2.2146372 21.130917,2.4489716 C 18.778927,4.8762318 18.840036,8.7550511 21.267266,11.10704 C 23.694526,13.45903 27.573345,13.397952 29.925303,10.970691 z"
+       id="path278"
+       style="font-size:12px;fill:#000000;fill-rule:evenodd;stroke-width:1pt" />
+    <g
+       transform="matrix(6.562822e-2,0,0,6.562822e-2,0.8399029,16.976311)"
+       id="g3335">
+      <path
+         d="M 110.986,16.235 C 111.176,15.1 111.989,15.68 111.986,16.235 C 117.615,20.462 122.685,22.846 126.985,28.234 C 130.577,32.735 132.24,39.903 136.983,45.232 C 147.447,56.987 167.468,61.769 182.978,60.23 C 203.518,58.191 219.115,40.292 217.973,15.236 C 223.04,17.449 226.464,21.651 229.972,25.235 C 233.9,29.248 239.643,33.822 239.97,41.233 C 240.88,61.851 223.887,79.922 205.975,82.228 C 182.026,85.311 159.201,71.005 146.982,60.231 C 130.861,46.016 121.354,30.583 110.986,16.235 z"
+         id="path6"
+         style="fill-rule:evenodd" />
+      <path
+         d="M 3,150.219 C 5.805,150.273 7.575,153.389 9.999,155.218 C 19.038,162.039 32.578,169.417 46.995,173.216 C 64.65,177.868 83.548,180.324 94.989,172.216 C 105.909,164.477 113.333,135.49 95.989,127.222 C 81.845,120.48 72.268,135.91 54.994,133.221 C 46.629,131.919 41.371,122.995 35.996,117.223 C 34.296,115.398 31.214,114.807 31.996,112.224 C 46.477,113.754 57.142,106.039 65.992,100.225 C 75.44,94.017 85.45,87.486 83.99,70.229 C 68.012,63.626 48.387,66.302 30.997,71.229 C 27.38,72.254 23.837,74.447 21.998,74.229 C 12.378,73.088 6.979,58.357 0,53.231 C 17.235,46.76 33.888,43.066 53.993,45.232 C 67.707,46.71 81.101,56.97 90.989,67.229 C 97.691,74.183 108.017,85.425 104.987,101.225 C 104.704,102.699 101.558,107.808 99.987,110.224 C 96.845,115.058 91.867,116.511 97.987,122.223 C 101.493,125.494 108.431,130.261 110.986,133.221 C 129.213,122.569 144.141,105.821 175.977,108.224 C 194.958,109.658 205.175,117.424 215.972,128.222 C 225.794,138.044 240.515,149.654 239.969,163.217 C 239.392,177.58 223.815,172.551 212.973,179.215 C 205.961,183.525 204.728,187.712 202.974,198.213 C 197.006,195.16 194.527,192.765 190.976,189.214 C 187.514,185.752 182.811,181.585 181.977,177.216 C 180.452,169.23 185.006,160.854 188.976,158.218 C 197.84,152.331 215.283,156.683 217.972,145.22 C 218.427,143.279 218.101,137.555 217.972,137.221 C 215.357,130.433 194.415,129.357 185.976,130.222 C 160.601,132.821 141.519,149.65 126.984,162.217 C 129.68,187.138 118.255,200.904 91.988,199.213 C 53.93,196.763 20.814,171.461 3,150.219 z"
+         id="path8"
+         style="fill-rule:evenodd" />
+      <rect
+         width="23.318001"
+         height="23.318001"
+         x="161.842"
+         y="4.829"
+         transform="matrix(0.7071,-0.7071,0.7071,0.7071,39.1583,127.513)"
+         id="rect10"
+         style="fill-rule:evenodd" />
+    </g>
+    <g
+       transform="matrix(0.1651987,0,0,0.1651987,-10.923567,-116.79723)"
+       id="g2241">
+      <path
+         d="M 211.42857,805.48945 L 205.55357,811.36445 C 199.27471,812.32472 193.48535,814.79046 188.58482,818.3957 L 180.30357,818.3957 L 180.30357,826.73945 C 176.72181,831.62738 174.25999,837.36076 173.30357,843.61445 L 167.42857,849.48945 L 173.30357,855.36445 C 174.25999,861.61814 176.72181,867.38278 180.30357,872.2707 L 180.30357,880.61445 L 188.61607,880.61445 C 193.51172,884.21057 199.28448,886.68692 205.55357,887.6457 L 211.42857,893.5207 L 217.30357,887.6457 C 223.57266,886.68692 229.34543,884.21057 234.24107,880.61445 L 242.55357,880.61445 L 242.55357,872.3332 C 246.15648,867.43392 248.62493,861.64081 249.58482,855.36445 L 249.58482,855.3332 L 255.42857,849.48945 L 249.58482,843.6457 L 249.58482,843.61445 C 248.62493,837.33809 246.15648,831.57623 242.55357,826.67695 L 242.55357,818.3957 L 234.27232,818.3957 C 229.37179,814.79046 223.58243,812.32472 217.30357,811.36445 L 211.42857,805.48945 z"
+         id="rect5307"
+         style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <path
+         d="M 211.42857,814.73945 L 207.74107,818.42695 C 201.8906,819.11746 196.52243,821.43233 192.11607,824.8957 L 186.83482,824.8957 L 186.83482,830.1457 C 183.36569,834.54943 181.06248,839.92027 180.36607,845.7707 L 176.64732,849.48945 L 180.36607,853.2082 C 181.058,859.07069 183.35957,864.42171 186.83482,868.8332 L 186.83482,874.0832 L 192.08482,874.0832 C 196.49799,877.56183 201.8749,879.8911 207.74107,880.5832 L 211.42857,884.2707 L 215.11607,880.5832 C 220.98599,879.8925 226.35674,877.56374 230.77232,874.0832 L 236.02232,874.0832 L 236.02232,868.8332 C 239.50069,864.42036 241.79877,859.07385 242.49107,853.2082 L 246.20982,849.48945 L 242.49107,845.7707 C 241.79429,839.91711 239.49457,834.55077 236.02232,830.1457 L 236.02232,824.8957 L 230.74107,824.8957 C 226.33227,821.43041 220.97033,819.11605 215.11607,818.42695 L 211.42857,814.73945 z"
+         id="path5297"
+         style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <path
+         d="M 52.823528,44.588234 C 52.824501,48.877251 49.347839,52.354702 45.058823,52.354702 C 40.769806,52.354702 37.293144,48.877251 37.294117,44.588234 C 37.293144,40.299217 40.769806,36.821766 45.058823,36.821766 C 49.347839,36.821766 52.824501,40.299217 52.823528,44.588234 z"
+         transform="matrix(3.5606061,0,0,3.5606061,50.995521,690.73749)"
+         id="path5295"
+         style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <path
+         d="M 181.96166,849.49865 L 240.90283,849.49865"
+         id="path5319"
+         style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         d="M 52.823528,44.588234 C 52.824501,48.877251 49.347839,52.354702 45.058823,52.354702 C 40.769806,52.354702 37.293144,48.877251 37.294117,44.588234 C 37.293144,40.299217 40.769806,36.821766 45.058823,36.821766 C 49.347839,36.821766 52.824501,40.299217 52.823528,44.588234 z"
+         transform="matrix(1.5454546,0,0,1.5454546,141.79588,780.58955)"
+         id="path5293"
+         style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <path
+         d="M 190.59339,828.6598 L 232.27109,870.33749"
+         id="path5323"
+         style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         d="M 211.43224,878.96923 L 211.43224,820.02805"
+         id="path5317"
+         style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         d="M 190.59339,870.33749 L 232.27109,828.65979"
+         id="path5321"
+         style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         d="M 52.823528,44.588234 C 52.824501,48.877251 49.347839,52.354702 45.058823,52.354702 C 40.769806,52.354702 37.293144,48.877251 37.294117,44.588234 C 37.293144,40.299217 40.769806,36.821766 45.058823,36.821766 C 49.347839,36.821766 52.824501,40.299217 52.823528,44.588234 z"
+         transform="translate(166.37342,804.9104)"
+         id="path5291"
+         style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+    </g>
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/restaurant.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/restaurant.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/restaurant.svg	(revision 35743)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="20" id="symbol-restaurant" viewBox="10 0 90 115" fill="black" stroke="none" height="20">
+  <svg:path d="m 24.13,1.85 c -5.30,0.08 -3.62,21.26 -2.80,30.61 0.04,2.49 0.78,6.85 8.74,6.73 -0.24,64.88 -2.05,75.51 7.24,75.38 9.29,-0.14 7.12,-10.71 3.38,-75.53 7.96,-0.12 9.20,-5.13 9.16,-7.62 C 50.35,22.05 50.67,1.46 45.36,1.54 40.06,1.62 45.65,31.08 41.02,31.77 34.61,25.54 40.06,1.62 34.75,1.70 29.44,1.77 35.18,31.55 29.88,31.63 24,32 29,2 24,2 z" />
+  <svg:path d="m 77,45 c 0,56 3,69 -5,69 -10,0 -5,-12 -5,-69 C 44,43 58,1 70,0 84,0 97,44 77,45 z" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/roundabout_left.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/roundabout_left.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/roundabout_left.svg	(revision 35743)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="symbol-roundabout_left" viewBox="0 0 507 507" height="18.64">
+   <svg:path fill="blue" d="M507,253.5c0,140-113.5,253.5-253.5,253.5 S0,393.5,0,253.5S113.5,0,253.5,0S507,113.5,507,253.5z"/>
+   <svg:path fill="white" d="M97.6,113.6l40.8-47.7c0,0,91.7,3.1,90.6,2.1 c-1.1-1,2.3,89.2,2.3,89.2l-49.8,33.2l-1.1-48.8c0,0-27.2,27-30.6,27c-3.4,0-27.2,61.2-27.2,61.2l-3.4,79.9L67,312.8v-73.6 l10.6-50.5l18.8-34.5l38.5-40.5"/>
+   <svg:path fill="white" d="M459.6,190.5l19.7,59.6 c0,0-50.2,76.9-48.7,76.4c1.5-0.4-77.5-44.3-77.5-44.3l-2.6-59.8l42.3,24.3c0,0-9-37.2-7.2-40.1c1.8-2.9-38.3-54.9-38.3-54.9 l-66.6-44.3l24.3-46.2l63,38.1l37.7,35.3l19.8,34l14.7,53.9"/>
+   <svg:path fill="white" d="M209.2,466.6l-60.7-16.1 c0,0-36.9-84-37.4-82.6c-0.4,1.5,79.4-40.7,79.4-40.7l51.5,30.6l-43.5,22.1c0,0,36.1,12.8,37.6,15.9c1.5,3.1,66.9-2,66.9-2 l73.5-31.5l25.4,45.6l-66.4,31.9l-50.2,12.3l-39.3-2L193,432.9"/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/roundabout_right.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/roundabout_right.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/roundabout_right.svg	(revision 35743)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="symbol-roundabout_right" viewBox="0 0 507 507" height="18.64">
+   <svg:g transform="translate(507,0) scale(-1,1)">
+                <svg:path fill="blue" d="M507,253.5c0,140-113.5,253.5-253.5,253.5 S0,393.5,0,253.5S113.5,0,253.5,0S507,113.5,507,253.5z"/>
+                <svg:path fill="#FFFFFF" d="M97.6,113.6l40.8-47.7c0,0,91.7,3.1,90.6,2.1 c-1.1-1,2.3,89.2,2.3,89.2l-49.8,33.2l-1.1-48.8c0,0-27.2,27-30.6,27c-3.4,0-27.2,61.2-27.2,61.2l-3.4,79.9L67,312.8v-73.6 l10.6-50.5l18.8-34.5l38.5-40.5"/>
+                <svg:path fill="#FFFFFF" d="M459.6,190.5l19.7,59.6 c0,0-50.2,76.9-48.7,76.4c1.5-0.4-77.5-44.3-77.5-44.3l-2.6-59.8l42.3,24.3c0,0-9-37.2-7.2-40.1c1.8-2.9-38.3-54.9-38.3-54.9 l-66.6-44.3l24.3-46.2l63,38.1l37.7,35.3l19.8,34l14.7,53.9"/>
+                <svg:path fill="#FFFFFF" d="M209.2,466.6l-60.7-16.1 c0,0-36.9-84-37.4-82.6c-0.4,1.5,79.4-40.7,79.4-40.7l51.5,30.6l-43.5,22.1c0,0,36.1,12.8,37.6,15.9c1.5,3.1,66.9-2,66.9-2 l73.5-31.5l25.4,45.6l-66.4,31.9l-50.2,12.3l-39.3-2L193,432.9"/>
+            </svg:g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/school.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/school.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/school.svg	(revision 35743)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="symbol-school" viewBox="0 0 440 440" height="18.64">
+   <svg:g transform="translate(60,4)">
+            <svg:path fill="none" stroke="brown" stroke-width="20" d="M163,4.7l-116,361"/>
+            <svg:path fill="none" stroke="brown" stroke-width="18.9041" d="M163,4.7L232,431"/>
+            <svg:path fill="none" stroke="brown" stroke-width="20" d="M163,4.7l149,277"/>
+            <svg:path d="M6,53.7c0,0,283,67,284,70s-3,222-3,222l-287-97L6,53.7z"/>
+            <svg:path fill="none" stroke="white" stroke-width="20" d="M36,128.7c-1.2-8.1,16.8-17.4,25-17.2 c14.7,0.4,20,10.1,26.8,23.3c7.8,15,10.9,36,12.3,53c0.5,6.2,1.3,40.2,4.9,39.9"/>
+            <svg:path fill="none" stroke="white" stroke-width="20" d="M94,158.7c-17.5-12.4-58.4,7.4-59,28 c-0.5,17.8,16,23,29.9,26c15.4,3.2,19.2,0.8,29.1-11"/>
+            <svg:path fill="none" stroke="white" stroke-width="20" d="M136,101.7c-11.6,26.2-2.8,64-5,92.9 c-1.2,16.3,0.7,40.2-2,54.1"/>
+            <svg:path fill="none" stroke="white" stroke-width="20" d="M131,176.7c10.8-4.2,18.3-17.9,32.8-10 c11.5,6.3,13.7,23.1,14.2,34.9c0.7,15.6-3.3,26.4-18.8,31.8c-7.6,2.7-25.5,5.8-24.2-7.7"/>
+            <svg:path fill="none" stroke="white" stroke-width="20" d="M261,196.7c-4.1-11.8-20.9-19.9-33.1-16.8 c-16.3,4.2-23.3,25-21.9,40.1c2.3,25.4,29.8,56.5,52,31.7"/>
+          </svg:g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/shelter-fireplace.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/shelter-fireplace.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/shelter-fireplace.svg	(revision 35743)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="37.28" id="symbol-shelter-fireplace" viewBox="0 0 12 12" height="37.28">
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 3.25,2.25 L 2.25,3.25"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 3.6,3.4 L 2.3679807,4.6320194"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 5.1320193,3.1179806 L 3.9,4.35"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 3.1,4.9 L 2.1331457,5.8668544"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 6.3820193,2.8679806 L 5.15,4.1"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 8.1320193,2.1179806 L 6.9,3.35"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 8.6320193,3.6179806 L 7.4,4.85"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 10.029592,3.5035534 L 9.1179807,4.3820194"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 10.029592,2.0035534 L 9.1179802,2.8820194"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 10.062738,4.7093592 L 9.1179803,5.6320194"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 8.5434563,4.9896893 L 8.1179807,5.3820194"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 7.2633009,4.0087961 L 6.65,4.6"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 4.841767,2.1361359 L 4.1179807,2.8820194"/>
+   <svg:path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 2.25,6.5 L 6,4.5 L 9.75,6.5 L 9.4989134,6.7556834 L 8.2452133,6.25 L 5.9986595,5.9796244 L 3.7469743,6.2460938 L 2.4998353,6.7500598 L 2.25,6.5 z "/>
+   <svg:rect style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" width="0.5" height="3.5" x="3.75" y="6"/>
+   <svg:rect style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" width="0.5" height="3.5" x="7.75" y="6"/>
+   <svg:path style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.21333456;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 6.0132105,9.4927507 C 8.5559855,9.4927507 6.0132105,6.7566673 6.0132105,6.7566673 C 6.0132105,6.7566673 3.4109882,9.5713193 6.0132105,9.4927507 z "/>
+   <svg:path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 6.0086658,9.2482305 C 7.6766678,9.2482305 6.0086658,8 6.0086658,8 C 6.0086658,8 4.3016678,9.2840744 6.0086658,9.2482305 z "/>
+   <svg:path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 7.015165,9.7610485 C 6.7416602,8.8729417 5.2679806,8.8743495 4.9958835,9.7610485 C 4.9958835,9.7610485 7.015165,9.7610485 7.015165,9.7610485 z "/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/shelter.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/shelter.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/shelter.svg	(revision 35743)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="37.28" id="symbol-shelter" viewBox="0 0 12 12" height="37.28">
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 3.25,2.25 L 2.25,3.25"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 3.6,3.4 L 2.3679807,4.6320194"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 5.1320193,3.1179806 L 3.9,4.35"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 3.1,4.9 L 2.1331457,5.8668544"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 6.3820193,2.8679806 L 5.15,4.1"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 8.1320193,2.1179806 L 6.9,3.35"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 8.6320193,3.6179806 L 7.4,4.85"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 10.029592,3.5035534 L 9.1179807,4.3820194"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 10.029592,2.0035534 L 9.1179802,2.8820194"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 10.062738,4.7093592 L 9.1179803,5.6320194"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 8.5434563,4.9896893 L 8.1179807,5.3820194"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 7.2633009,4.0087961 L 6.65,4.6"/>
+   <svg:path style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 4.841767,2.1361359 L 4.1179807,2.8820194"/>
+   <svg:path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker-mid:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" d="M 2.25,6.5 L 6,4.5 L 9.75,6.5 L 9.4989134,6.7556834 L 8.2452133,6.25 L 5.9986595,5.9796244 L 3.7469743,6.2460938 L 2.4998353,6.7500598 L 2.25,6.5 z "/>
+   <svg:rect style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" width="0.5" height="3.5" x="3.75" y="6"/>
+   <svg:rect style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.40000001;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" width="0.5" height="3.5" x="7.75" y="6"/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/shooting-borderless.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/shooting-borderless.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/shooting-borderless.svg	(revision 35743)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="38"
+   height="38"
+   viewBox="0 0 300 300"
+   id="symbol-shooting-borderless">
+  <defs
+     id="defs2474" />
+  <path
+     d="M 58.261298,71.858418 C 58.258258,80.787624 65.495987,88.027798 74.425237,88.027798 C 83.354477,88.027798 90.592208,80.787624 90.589168,71.858418 C 90.592208,62.929168 83.354477,55.688978 74.425237,55.688978 C 65.495987,55.688978 58.258258,62.929168 58.261298,71.858418 L 58.261298,71.858418 z"
+     id="path2387"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+  <path
+     d="M 69.959369,96.772801 C 71.98539,96.431432 74.06469,96.893278 75.755693,98.060241 L 100.59767,114.66154 L 132.88253,108.80052 C 137.17888,108.02087 141.29377,110.87171 142.07343,115.16807 C 142.85307,119.46441 140.00222,123.5793 135.70588,124.35895 L 100.24949,130.77021 C 98.240939,131.13384 96.169626,130.70547 94.470076,129.57498 L 66.978213,111.17239 C 64.254731,109.39894 62.896171,106.13781 63.555056,102.9553 C 64.213929,99.772781 66.755621,97.319131 69.959369,96.772801 z"
+     id="path3168"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.78947365;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 68.942546,109.29519 C 68.942546,109.29519 68.587219,166.30833 68.587219,166.30833"
+     id="path2383"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:34.3404007;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 77.80665,173.55893 L 88.87122,200.50364 L 89.26628,236.07501"
+     id="path3157"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:19.7368412;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 61.212962,171.91509 L 60.672082,201.03809 L 46.913852,233.84343"
+     id="path2388"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:19.7368412;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 164.14708,102.85322 L 139.24142,102.85323 L 133.58104,115.87209"
+     id="path3191"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:5.92105246;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <g
+     transform="matrix(0.6666666,0,0,1.0000003,-11.161847,6.5828335)"
+     id="g3233">
+    <path
+       d="M 406.57915,94.737891 C 406.57915,118.7182 387.13879,138.15809 363.1579,138.15809 C 339.177,138.15809 319.73665,118.7182 319.73665,94.737891 C 319.73665,70.757583 339.177,51.317695 363.1579,51.317695 C 387.13879,51.317695 406.57915,70.757583 406.57915,94.737891 L 406.57915,94.737891 z"
+       id="path3238"
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7.89434481;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       d="M 382.89618,94.736115 C 382.89618,105.63685 374.05936,114.47368 363.15862,114.47368 C 352.25788,114.47368 343.42105,105.63685 343.42105,94.736115 C 343.42105,83.835363 352.25788,74.998553 363.15862,74.998553 C 374.05936,74.998553 382.89618,83.835363 382.89618,94.736115 L 382.89618,94.736115 z"
+       id="path3175"
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7.89473677;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/shooting.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/shooting.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/shooting.svg	(revision 35743)
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="38"
+   height="38"
+   viewBox="0 0 300 300"
+   id="symbol-shooting">
+  <defs
+     id="defs2474" />
+  <rect
+     width="269.52087"
+     height="258.24777"
+     ry="20.869576"
+     x="15.289689"
+     y="20.638819"
+     id="rect2471"
+     style="fill:none;stroke:#000000;stroke-width:14.68965149;stroke-linejoin:round;stroke-miterlimit:4" />
+  <path
+     d="M 58.261298,71.858418 C 58.258258,80.787624 65.495987,88.027798 74.425237,88.027798 C 83.354477,88.027798 90.592208,80.787624 90.589168,71.858418 C 90.592208,62.929168 83.354477,55.688978 74.425237,55.688978 C 65.495987,55.688978 58.258258,62.929168 58.261298,71.858418 L 58.261298,71.858418 z"
+     id="path2387"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+  <path
+     d="M 69.959369,96.772801 C 71.98539,96.431432 74.06469,96.893278 75.755693,98.060241 L 100.59767,114.66154 L 132.88253,108.80052 C 137.17888,108.02087 141.29377,110.87171 142.07343,115.16807 C 142.85307,119.46441 140.00222,123.5793 135.70588,124.35895 L 100.24949,130.77021 C 98.240939,131.13384 96.169626,130.70547 94.470076,129.57498 L 66.978213,111.17239 C 64.254731,109.39894 62.896171,106.13781 63.555056,102.9553 C 64.213929,99.772781 66.755621,97.319131 69.959369,96.772801 z"
+     id="path3168"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.78947365;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 68.942546,109.29519 C 68.942546,109.29519 68.587219,166.30833 68.587219,166.30833"
+     id="path2383"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:34.3404007;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 77.80665,173.55893 L 88.87122,200.50364 L 89.26628,236.07501"
+     id="path3157"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:19.7368412;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 61.212962,171.91509 L 60.672082,201.03809 L 46.913852,233.84343"
+     id="path2388"
+     style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:19.7368412;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 164.14708,102.85322 L 139.24142,102.85323 L 133.58104,115.87209"
+     id="path3191"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:5.92105246;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <g
+     transform="matrix(0.6666666,0,0,1,-15.302868,9.0566038)"
+     id="g3233">
+    <path
+       d="M 406.57915,94.737891 C 406.57915,118.7182 387.13879,138.15809 363.1579,138.15809 C 339.177,138.15809 319.73665,118.7182 319.73665,94.737891 C 319.73665,70.757583 339.177,51.317695 363.1579,51.317695 C 387.13879,51.317695 406.57915,70.757583 406.57915,94.737891 L 406.57915,94.737891 z"
+       id="path3171"
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7.89434481;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       d="M 382.89618,94.736115 C 382.89618,105.63685 374.05936,114.47368 363.15862,114.47368 C 352.25788,114.47368 343.42105,105.63685 343.42105,94.736115 C 343.42105,83.835363 352.25788,74.998553 363.15862,74.998553 C 374.05936,74.998553 382.89618,83.835363 382.89618,94.736115 L 382.89618,94.736115 z"
+       id="path3175"
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7.89473677;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/slipway.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/slipway.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/slipway.svg	(revision 35743)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="37.28" id="slipway" viewBox="0 0 50 50" fill="blue" stroke="none" height="37.28">
+   <svg:g transform="translate(0,2.5)">
+            <svg:path d="M 45,33 L 45,45 L 2,45 C 2,45 45,33 45,33 z M 0,35 L 43,22 L 43,26 C 43,26 37,32 26,36 C 15,40 0,35 0,35 z M 3,32 C 3,32 13,0 13,0 L 22,26 L 3,32 z M 16,0 L 42,20 L 25,25 L 16,0 z "/>
+          </svg:g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/soccer-borderless.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/soccer-borderless.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/soccer-borderless.svg	(revision 35743)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="46.6" id="symbol-soccer-borderless" viewBox="0 0 300 300" height="46.6">
+   <svg:path d="M 138.74616,143.61379 C 138.74616,143.61379 109.59709,168.6577 103.30914,173.40498 C 96.920194,178.22857 93.459587,180.19396 88.308187,174.28928 C 83.233587,168.47274 87.546897,165.90133 92.356387,160.5422 C 97.062964,155.29765 126.64868,128.8279 126.64868,128.8279 L 138.74616,143.61379 z "/>
+   <svg:path d="M 145.803,151.21693 C 145.803,151.21693 64.746317,251.03849 59.902387,257.44445 C 54.992242,263.93797 56.955466,267.71456 60.932697,270.81067 C 64.818957,273.83606 70.258397,273.0927 74.393827,267.92604 C 78.458207,262.84803 158.70289,162.55321 158.70289,162.55321 L 145.803,151.21693 z "/>
+   <svg:path style="fill:#000000;" d="M 176.96875 238.12976 A 0.61328125 0.78710938 0 1 1  175.74219,238.12976 A 0.61328125 0.78710938 0 1 1  176.96875 238.12976 z" transform="matrix(26.974199,0,0,21.22496,-4619.7504,-4799.1711)"/>
+   <svg:path style="fill:#000000;fill-opacity:1;" d="M 162.86792,73.810661 C 182.71632,70.206361 198.86902,68.638661 217.39881,82.508331 L 248.37776,110.06685 C 257.17341,120.77778 257.34762,132.42219 244.07772,139.38463 C 231.42942,146.02091 214.53612,152.724 206.12774,155.37896 C 197.79751,158.00932 193.98122,157.90533 192.86968,152.41453 C 191.76298,146.94765 197.65499,143.56834 203.09835,141.17606 C 208.75019,138.6923 214.2445,137.26621 225.77066,129.97037 C 237.41308,122.6009 233.81653,120.39175 225.24946,113.12886 C 216.61776,105.81117 206.01633,103.64514 199.61271,112.6079 C 190.62693,124.62333 177.01478,146.15042 174.20421,149.64565 C 171.43883,153.08459 168.57247,155.66717 164.30853,153.59661 C 160.0802,151.54333 138.13481,133.95528 135.0829,129.17072 C 132.16792,124.60099 131.91007,123.44358 135.63621,118.30903 C 139.3184,113.23493 147.23184,103.71485 147.23184,103.71485 C 156.94231,91.555571 161.23218,90.026241 143.97429,95.733951 C 126.83389,101.40288 95.624614,111.92225 71.429977,120.33004 C 63.786057,122.48298 60.352877,124.17668 58.269727,117.8216 C 56.135218,111.30982 58.274147,110.46013 65.371177,107.46276 C 72.468207,104.46538 154.37407,75.266611 162.86792,73.810661 z "/>
+   <svg:path d="M 179.09375 229.38562 A 0.703125 0.6484375 0 1 1  177.6875,229.38562 A 0.703125 0.6484375 0 1 1  179.09375 229.38562 z" transform="matrix(25.017727,0,0,27.127655,-4257.7972,-6173.3124)"/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/soccer.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/soccer.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/soccer.svg	(revision 35743)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="37.28" id="symbol-soccer" viewBox="0 0 300 300" height="37.28">
+   <svg:path d="M 138.74616,143.61379 C 138.74616,143.61379 109.59709,168.6577 103.30914,173.40498 C 96.920194,178.22857 93.459587,180.19396 88.308187,174.28928 C 83.233587,168.47274 87.546897,165.90133 92.356387,160.5422 C 97.062964,155.29765 126.64868,128.8279 126.64868,128.8279 L 138.74616,143.61379 z "/>
+   <svg:path d="M 145.803,151.21693 C 145.803,151.21693 64.746317,251.03849 59.902387,257.44445 C 54.992242,263.93797 56.955466,267.71456 60.932697,270.81067 C 64.818957,273.83606 70.258397,273.0927 74.393827,267.92604 C 78.458207,262.84803 158.70289,162.55321 158.70289,162.55321 L 145.803,151.21693 z "/>
+   <svg:path style="fill:#000000;" d="M 176.96875 238.12976 A 0.61328125 0.78710938 0 1 1  175.74219,238.12976 A 0.61328125 0.78710938 0 1 1  176.96875 238.12976 z" transform="matrix(26.974199,0,0,21.22496,-4619.7504,-4799.1711)"/>
+   <svg:path style="fill:#000000;fill-opacity:1;" d="M 162.86792,73.810661 C 182.71632,70.206361 198.86902,68.638661 217.39881,82.508331 L 248.37776,110.06685 C 257.17341,120.77778 257.34762,132.42219 244.07772,139.38463 C 231.42942,146.02091 214.53612,152.724 206.12774,155.37896 C 197.79751,158.00932 193.98122,157.90533 192.86968,152.41453 C 191.76298,146.94765 197.65499,143.56834 203.09835,141.17606 C 208.75019,138.6923 214.2445,137.26621 225.77066,129.97037 C 237.41308,122.6009 233.81653,120.39175 225.24946,113.12886 C 216.61776,105.81117 206.01633,103.64514 199.61271,112.6079 C 190.62693,124.62333 177.01478,146.15042 174.20421,149.64565 C 171.43883,153.08459 168.57247,155.66717 164.30853,153.59661 C 160.0802,151.54333 138.13481,133.95528 135.0829,129.17072 C 132.16792,124.60099 131.91007,123.44358 135.63621,118.30903 C 139.3184,113.23493 147.23184,103.71485 147.23184,103.71485 C 156.94231,91.555571 161.23218,90.026241 143.97429,95.733951 C 126.83389,101.40288 95.624614,111.92225 71.429977,120.33004 C 63.786057,122.48298 60.352877,124.17668 58.269727,117.8216 C 56.135218,111.30982 58.274147,110.46013 65.371177,107.46276 C 72.468207,104.46538 154.37407,75.266611 162.86792,73.810661 z "/>
+   <svg:path d="M 179.09375 229.38562 A 0.703125 0.6484375 0 1 1  177.6875,229.38562 A 0.703125 0.6484375 0 1 1  179.09375 229.38562 z" transform="matrix(25.017727,0,0,27.127655,-4257.7972,-6173.3124)"/>
+   <svg:rect style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:15;stroke-linejoin:round;" width="269.39795" height="269.39795" x="15.301026" y="17.663221" ry="21.770645"/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/speed_trap.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/speed_trap.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/speed_trap.svg	(revision 35743)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="speed_trap" viewBox="0 0 36 36" height="18.64">
+   <svg:rect style="fill:yellow" x="0" y="0" width="36" height="36" rx="2" ry="2"/>
+   <svg:path style="fill:#000000" d="M0.5 37.44 L31.5 37.44 a0.5 0.5 -180 0 0 0.5 -0.5 L32 5.94 a0.5 0.5 -180 0 0 -0.5 -0.5 L0.5 5.44 a0.5 0.5 -180    0 0 -0.5 0.5 L0 36.94 a0.5 0.5 -180 0 0 0.5 0.5 Z M2 35.44 L2 7.44 L30 7.44 L30 35.44 L2 35.44 Z M8 30.44    L16 30.44 A3 3 -180 0 0 19 27.44 L19 15.44 A3 3 -180 0 0 16 12.44 L8 12.44 A3 3 -180 0 0 5 15.44 L5 27.44    A3 3 -180 0 0 8 30.44 Z M14 24.94 A3.5 3.5 0 1 1 7 24.94 A3.5 3.5 0 1 1 14 24.94 Z M13 24.94 A2.5 2.5 -180    1 0 8 24.94 A2.5 2.5 -180 1 0 13 24.94 Z M17 15.44 A2 2 0 1 1 13 15.44 A2 2 0 1 1 17 15.44 Z M16 15.44 a1    1 -180 1 0 -2 7.10543E-015 a1 1 -180 1 0 2 -7.10543E-015 Z M20 25.94 L21 25.94 L21 15.44 L20 15.44 L20 25.94    Z M22 25.94 L23 25.94 L23 16.44 L22 16.44 L22 25.94 Z M20 26.94 L20 27.94 L25 27.94 L25 24.94 L27 24.94    L27 19.44 L25 19.44 L25 17.44 L24 17.44 L24 26.94 L20 26.94 Z" transform="translate(2,-3.44)"/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/subway.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/subway.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/subway.svg	(revision 35743)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema"
+     xmlns:xlink="http://www.w3.org/1999/xlink"
+     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+     xmlns="http://www.w3.org/2000/svg"
+     xmlns:svg="http://www.w3.org/2000/svg"
+     xmlns:xi="http://www.w3.org/2001/XInclude"
+     xmlns:cc="http://web.resource.org/cc/"
+     xmlns:dc="http://purl.org/dc/elements/1.1/"
+     version="1.1"
+     baseProfile="full"
+     id="subway"
+     viewBox="0 0 60 60"
+     width="16"
+     height="16">
+
+  <circle cx="30" cy="30" r="30" style="fill:#ffff00;fill-opacity:1;stroke:#008000;stroke-width:4.5"/>
+  <text x="30" y="48" style="font-size: 50px; font-weight: bold; fill: #008000; text-anchor: middle;">
+    S
+  </text>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/supermarket.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/supermarket.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/supermarket.svg	(revision 35743)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="symbol-supermarket" viewBox="0 0 30 30" height="18.64">
+   <svg:g transform="translate(0.5,1.5)">
+            <svg:path style="fill:black;fill-opacity:1;stroke:none;stroke-width:0.158;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.9801324" d="M 13.711,19.263 C 13.711,19.754 13.319,20.153 12.836,20.153 C 12.353,20.153 11.962,19.754 11.962,19.263 C 11.962,18.771793 12.353,18.373 12.836,18.373 C 13.319,18.373 13.711,18.771 13.711,19.263 z"/>
+            <svg:path style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 1.496,6.889 L 16.443,2.987 L 25.387,6.367 L 7.7960,10.054 L 1.496,6.889 z"/>
+            <svg:path style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 1.540,16.974 L 7.7331,20.521 L 22.605,17.745 L 14.549,13.961 L 1.540,16.974 z"/>
+            <svg:path style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 7.812,10.136 L 7.812,20.500"/>
+            <svg:path style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 22.841,21.164 L 26.462,6.6923 C 26.610,5.3945 27.232,4.939 28.105,4.932"/>
+            <svg:path style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:0.90399998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 14.1281,17.1309 L 16.5851,2.98845 C 16.5652,2.09899 16.8043,1.34902 17.8289,1.02204"/>
+            <svg:path style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0.761,16.846 L 0.761,6.781"/>
+            <svg:path style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:0.160;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 17.707,0.991 C 17.727,0.991 17.748,0.991 17.707,0.991 z"/>
+            <svg:path style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1.27;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 17.707,1.022 L 28.196,4.902"/>
+            <svg:path style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:0.732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 14.009,17.240 L 3.853,20.726 C 1.229,21.787 3.228,23.365 4.126,23.909 C 5.447,24.711 6.096,25.159 9.340,24.728 C 13.993,24.109 22.709,21.211 22.709,21.211"/>
+            <svg:path style="fill:black;fill-opacity:1;stroke:none;stroke-width:0.159;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.980" d="M 5.601,21.945 C 5.601,22.437 5.209,22.834 4.727,22.835 C 4.244,22.835 3.853,22.437 3.853,21.945 C 3.853,21.454 4.244,21.056 4.727,21.056 C 5.2095,21.056 5.601,21.454 5.601,21.945 z"/>
+            <svg:path style="fill:black;fill-opacity:1;stroke:none;stroke-width:0.159;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.980" d="M 11.254,25.962 C 11.254,26.453 10.863,26.852 10.380,26.852 C 9.898,26.852 9.506,26.453 9.506,25.962 C 9.506,25.471 9.898,25.072 10.380,25.072 C 10.863,25.072 11.254,25.471 11.254,25.962 z"/>
+            <svg:path style="fill:black;fill-opacity:1;stroke:none;stroke-width:0.159;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.980" d="M 21.926,23.143 C 21.926,23.635 21.535,24.033 21.052,24.033 C 20.569,24.033 20.177,23.632 20.177,23.143 C 20.177,22.652 20.569,22.253 21.052,22.253 C 21.535,22.253 21.926,22.652 21.926,23.143 z"/>
+          </svg:g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/survey_point.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/survey_point.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/survey_point.svg	(revision 35743)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="8"
+   height="8"
+   id="svg2">
+  <defs
+     id="defs4" />
+  <path
+     d="M 7.5,4 C 7.5,6 6,7.5 4,7.5 C 2,7.5 0.5,6 0.5,4 C 0.5,2 2,0.5 4,0.5 C 6,0.5 7.5,2 7.5,4 z"
+     id="path2403"
+     style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 4,0.5 L 4,4 L 7.5,4 C 7.5,2.2 5.8,0.5 4,0.5 z"
+     id="path3176"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 4,7.5 L 4,4 L 0.5,4 C 0.5,5.8 2.2,7.5 4,7.5 z"
+     id="path3178"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/swimming-borderless.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/swimming-borderless.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/swimming-borderless.svg	(revision 35743)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="46.6" id="symbol-swimming-borderless" viewBox="0 0 300 300" height="46.6">
+   <svg:path d="M 210.53915,180.45818 C 221.18483,180.42063 228.59512,160.17099 250.83602,160.44974 C 273.582,160.72849 276.4272,177.41436 290.76227,177.7222 C 290.68595,187.3812 290.75823,185.21412 290.83303,193.87816 C 270.18685,193.40007 268.0079,172.81556 251.07545,173.33716 C 234.32157,173.85876 230.97744,194.56702 211.28145,194.18182 C 191.40689,193.79662 189.17993,173.19882 168.67447,173.10386 C 147.99044,173.00889 142.97677,193.08728 125.06307,193.36288 C 120.39415,193.24116 116.11472,191.54501 112.08545,189.20714 C 102.30978,183.53507 94.006659,174.08564 85.186335,174.17905 C 72.729891,174.31098 61.09516,190.45637 45.663964,190.6261 C 30.613903,190.79068 24.262669,177.90922 16.243098,177.92116 C 16.330948,168.99273 16.146328,170.51037 16.0949,162.12021 C 30.018485,162.41604 36.756221,175.52218 44.709562,175.70947 C 52.752189,175.89677 71.586801,159.33619 81.451947,159.44526 C 91.315702,159.55432 96.825144,160.05397 105.80266,166.84009 C 122.39809,159.11328 155.04728,141.99864 155.67088,140.85475 C 160.58076,131.84835 156.09627,109.8996 140.93062,105.9839 C 125.93231,102.11141 98.315313,111.19762 78.932923,114.42935 C 59.626217,117.64846 56.387347,102.77595 73.838857,95.61157 C 91.538773,88.3452 117.48654,82.076364 137.70712,78.24353 C 157.8058,74.433803 160.83707,80.588591 163.77824,86.63543 C 166.76917,92.784581 203.28035,176.19322 203.28035,176.19322 C 206.63143,179.44496 207.56153,180.46846 210.53915,180.45818 z "/>
+   <svg:path style="stroke:#000000;stroke-width:21;stroke-linejoin:miter;stroke-miterlimit:4" d="M 371.07143 260.39789 A 18.571428 22.678572 0 1 1  333.92857,260.39789 A 18.571428 22.678572 0 1 1  371.07143 260.39789 z" transform="matrix(1.040898,0,0,0.8287669,-145.29268,-80.9236)"/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/swimming.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/swimming.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/swimming.svg	(revision 35743)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="37.28" id="symbol-swimming" viewBox="0 0 300 300" height="37.28">
+   <svg:path d="M 210.53915,180.45818 C 221.18483,180.42063 228.59512,160.17099 250.83602,160.44974 C 273.582,160.72849 276.4272,177.41436 290.76227,177.7222 C 290.68595,187.3812 290.75823,185.21412 290.83303,193.87816 C 270.18685,193.40007 268.0079,172.81556 251.07545,173.33716 C 234.32157,173.85876 230.97744,194.56702 211.28145,194.18182 C 191.40689,193.79662 189.17993,173.19882 168.67447,173.10386 C 147.99044,173.00889 142.97677,193.08728 125.06307,193.36288 C 120.39415,193.24116 116.11472,191.54501 112.08545,189.20714 C 102.30978,183.53507 94.006659,174.08564 85.186335,174.17905 C 72.729891,174.31098 61.09516,190.45637 45.663964,190.6261 C 30.613903,190.79068 24.262669,177.90922 16.243098,177.92116 C 16.330948,168.99273 16.146328,170.51037 16.0949,162.12021 C 30.018485,162.41604 36.756221,175.52218 44.709562,175.70947 C 52.752189,175.89677 71.586801,159.33619 81.451947,159.44526 C 91.315702,159.55432 96.825144,160.05397 105.80266,166.84009 C 122.39809,159.11328 155.04728,141.99864 155.67088,140.85475 C 160.58076,131.84835 156.09627,109.8996 140.93062,105.9839 C 125.93231,102.11141 98.315313,111.19762 78.932923,114.42935 C 59.626217,117.64846 56.387347,102.77595 73.838857,95.61157 C 91.538773,88.3452 117.48654,82.076364 137.70712,78.24353 C 157.8058,74.433803 160.83707,80.588591 163.77824,86.63543 C 166.76917,92.784581 203.28035,176.19322 203.28035,176.19322 C 206.63143,179.44496 207.56153,180.46846 210.53915,180.45818 z "/>
+   <svg:path style="stroke:#000000;stroke-width:21;stroke-linejoin:miter;stroke-miterlimit:4" d="M 371.07143 260.39789 A 18.571428 22.678572 0 1 1  333.92857,260.39789 A 18.571428 22.678572 0 1 1  371.07143 260.39789 z" transform="matrix(1.040898,0,0,0.8287669,-145.29268,-80.9236)"/>
+   <svg:rect style="fill:none;stroke:#000000;stroke-width:15;stroke-linejoin:round;stroke-miterlimit:4" width="269.39795" height="269.39795" x="16.816265" y="17.104565" ry="21.770645"/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/synagogue.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/synagogue.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/synagogue.svg	(revision 35743)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="synagogue" viewBox="0 0 22 22" stroke="blue" fill="none" stroke-width="1.5px" stroke-linecap="butt" stroke-linejoin="miter" height="18.64">
+   <svg:path d="M 11,1 L 19,15 L 3,15 L 11,1 z M 11,20 L 3,6 L 19,6 L 11,20 z"/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/telephone.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/telephone.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/telephone.svg	(revision 35743)
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="6.6034"
+   height="18.5255"
+   viewBox="0 0 8.2542304 23.156885"
+   id="symbol-telephone">
+  <defs
+     id="defs2403" />
+  <g
+     transform="translate(-1.6609657e-2,-1.4674477e-2)"
+     id="layer1">
+    <path
+       d="M 3.9607174,0.50115248 C 4.3360902,0.26684998 4.7497811,0.085136977 5.1888925,0.014674477 C 5.2044328,1.9416248 5.1889763,3.8692043 5.1965966,5.7963467 C 5.2132818,6.0925669 5.2095177,6.3896084 5.2031714,6.6861388 C 4.9060066,6.6789229 4.6102369,6.8214031 4.4382158,7.0648966 C 4.1625094,7.4372585 4.0684471,7.9041353 3.9902056,8.3512729 C 3.8240084,9.4338522 3.7863404,10.531802 3.7968277,11.625581 C 3.8107824,12.769493 3.9100304,13.912648 4.0856242,15.043074 C 4.1678889,15.480367 4.2436306,15.942733 4.5066333,16.313593 C 4.6624449,16.540688 4.93458,16.659505 5.2060548,16.658235 C 5.2086918,18.826259 5.207049,20.994308 5.2068761,23.162361 C 4.7522919,23.138212 4.3240871,22.950031 3.9411933,22.714259 C 2.9590412,22.099296 2.2299437,21.152763 1.6885087,20.142252 C 0.75739212,18.377442 0.34032162,16.390945 0.14313212,14.41957 C 0.040421916,13.340057 0.0032815162,12.254633 0.020761316,11.170769 C 0.064050616,8.9565237 0.29745822,6.7167014 1.0294575,4.6145276 C 1.3509143,3.7047663 1.772997,2.8238181 2.3461122,2.0445338 C 2.7873369,1.4408197 3.3245203,0.89886968 3.9607174,0.50115248 z"
+       id="path11"
+       style="opacity:1;fill:#000000;fill-rule:nonzero;stroke:none" />
+    <path
+       d="M 5.6938067,0.024896877 C 6.3251935,0.026302977 6.9566952,0.022393377 7.58803,0.026377177 C 7.9018443,0.032239677 8.1784566,0.27751538 8.2479997,0.57926118 C 8.2537101,0.78966478 8.2651301,1.2104713 8.2708397,1.4208742 L 8.2708397,5.4524625 C 8.2289291,5.7196857 8.3162081,6.0107549 8.1930671,6.2621817 C 8.0854939,6.5133793 7.8212231,6.6865832 7.5479728,6.6859028 C 6.9299494,6.6881459 6.3118495,6.6857589 5.6938097,6.6866671 C 5.6934558,4.4660721 5.6934595,2.245489 5.6938067,0.024896877 z"
+       id="path15"
+       style="opacity:1;fill:#000000;fill-rule:nonzero;stroke:none" />
+    <path
+       d="M 5.6938134,16.65539 C 6.3239907,16.656645 6.9542734,16.653093 7.5844046,16.6567 C 7.9002445,16.660914 8.1794085,16.907734 8.248396,17.211665 C 8.2540069,17.418668 8.2652288,17.832675 8.2708397,18.039677 L 8.2708397,21.934241 C 8.2298595,22.228339 8.3264253,22.562543 8.1527584,22.826703 C 8.0199204,23.054619 7.755154,23.176189 7.4963977,23.169957 C 6.895564,23.173406 6.2946553,23.17002 5.6938067,23.171279 C 5.6934632,20.999302 5.6934499,18.827347 5.6938134,16.65539 z"
+       id="path19"
+       style="opacity:1;fill:#000000;fill-rule:nonzero;stroke:none" />
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/tennis-borderless.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/tennis-borderless.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/tennis-borderless.svg	(revision 35743)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="46.6" id="symbol-tennis-borderless" viewBox="0 0 300 300" height="46.6">
+   <svg:path d="M 133.48356,82.980553 C 138.35306,72.173033 171.2655,58.800363 192.51384,60.653723 C 213.73985,62.505073 237.71405,63.665993 258.04302,67.164113 C 278.41938,70.670383 273.81866,89.251073 253.94604,86.309203 C 234.07342,83.367333 223.5886,81.516293 212.70243,81.368303 C 201.25474,81.212673 176.06421,83.336283 176.06421,83.336283 C 176.06421,83.336283 209.33859,133.59333 206.51429,141.4943 C 203.49726,149.93472 167.79803,153.18438 164.35398,151.01567 C 159.7332,148.10599 145.81537,122.15035 145.81537,122.15035 C 145.81537,122.15035 145.48073,139.84659 138.26094,148.15246 C 131.2924,156.16936 113.30665,166.08736 93.570228,177.10527 C 74.172798,187.93395 68.917428,170.73223 86.575458,160.96204 C 104.57891,151.00072 110.2885,150.74159 119.77793,136.51374 C 128.44132,123.52437 128.20621,94.692963 133.48356,82.980553 z "/>
+   <svg:path transform="matrix(9.1042659,1.3880946,-1.3880946,9.1042659,-4261.6122,-3496.328)" d="M 533.25 308.01843 A 1.96875 2.03125 0 1 1  529.3125,308.01843 A 1.96875 2.03125 0 1 1  533.25 308.01843 z"/>
+   <svg:path style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4" d="M 523.25 317.36218 A 2.21875 3.4375 0 1 1  518.8125,317.36218 A 2.21875 3.4375 0 1 1  523.25 317.36218 z" transform="matrix(8.5738824,-3.3619914,3.3619914,8.5738824,-5484.0276,-867.36526)"/>
+   <svg:path style="fill:none;stroke:#000000;stroke-width:11;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4" d="M 62.035328,130.7928 L 83.309188,176.55851 L 83.309188,176.55851"/>
+   <svg:path d="M 167.88902,179.26882 C 174.63629,196.08176 185.51796,222.30373 191.27971,235.00091 C 197.81276,249.42148 216.58336,244.48335 209.90891,229.13702 C 203.29399,213.92749 192.40258,190.93014 185.66274,173.99209 C 179.80977,159.28237 161.65625,163.73783 167.88902,179.26882 z "/>
+   <svg:path d="M 193.27277,162.52913 C 189.19197,155.01532 206.63644,152.75805 209.97627,158.98654 C 213.27965,165.14706 256.36141,243.72038 263.82444,258.19246 C 271.28994,272.66912 252.41266,278.68635 246.02367,265.48633 C 239.98905,253.01845 197.45908,170.23721 193.27277,162.52913 z "/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/tennis.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/tennis.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/tennis.svg	(revision 35743)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="37.28" id="symbol-tennis" viewBox="0 0 300 300" height="37.28">
+   <svg:path d="M 133.48356,82.980553 C 138.35306,72.173033 171.2655,58.800363 192.51384,60.653723 C 213.73985,62.505073 237.71405,63.665993 258.04302,67.164113 C 278.41938,70.670383 273.81866,89.251073 253.94604,86.309203 C 234.07342,83.367333 223.5886,81.516293 212.70243,81.368303 C 201.25474,81.212673 176.06421,83.336283 176.06421,83.336283 C 176.06421,83.336283 209.33859,133.59333 206.51429,141.4943 C 203.49726,149.93472 167.79803,153.18438 164.35398,151.01567 C 159.7332,148.10599 145.81537,122.15035 145.81537,122.15035 C 145.81537,122.15035 145.48073,139.84659 138.26094,148.15246 C 131.2924,156.16936 113.30665,166.08736 93.570228,177.10527 C 74.172798,187.93395 68.917428,170.73223 86.575458,160.96204 C 104.57891,151.00072 110.2885,150.74159 119.77793,136.51374 C 128.44132,123.52437 128.20621,94.692963 133.48356,82.980553 z "/>
+   <svg:path transform="matrix(9.1042659,1.3880946,-1.3880946,9.1042659,-4261.6122,-3496.328)" d="M 533.25 308.01843 A 1.96875 2.03125 0 1 1  529.3125,308.01843 A 1.96875 2.03125 0 1 1  533.25 308.01843 z"/>
+   <svg:path style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:miter;stroke-miterlimit:4" d="M 523.25 317.36218 A 2.21875 3.4375 0 1 1  518.8125,317.36218 A 2.21875 3.4375 0 1 1  523.25 317.36218 z" transform="matrix(8.5738824,-3.3619914,3.3619914,8.5738824,-5484.0276,-867.36526)"/>
+   <svg:path style="fill:none;stroke:#000000;stroke-width:11;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4" d="M 62.035328,130.7928 L 83.309188,176.55851 L 83.309188,176.55851"/>
+   <svg:path d="M 167.88902,179.26882 C 174.63629,196.08176 185.51796,222.30373 191.27971,235.00091 C 197.81276,249.42148 216.58336,244.48335 209.90891,229.13702 C 203.29399,213.92749 192.40258,190.93014 185.66274,173.99209 C 179.80977,159.28237 161.65625,163.73783 167.88902,179.26882 z "/>
+   <svg:path d="M 193.27277,162.52913 C 189.19197,155.01532 206.63644,152.75805 209.97627,158.98654 C 213.27965,165.14706 256.36141,243.72038 263.82444,258.19246 C 271.28994,272.66912 252.41266,278.68635 246.02367,265.48633 C 239.98905,253.01845 197.45908,170.23721 193.27277,162.52913 z "/>
+   <svg:rect style="fill:none;stroke:#000000;stroke-width:15;stroke-linejoin:round;" width="269.39795" height="269.39795" x="14.29852" y="16.102072" ry="21.770645"/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/theatre.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/theatre.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/theatre.svg	(revision 35743)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="23.3" id="theatre" viewBox="0 0 550 550" height="23.3">
+   <svg:g stroke="none" transform="translate(55,0)" fill-opacity="1" fill-rule="nonzero">
+                <svg:path d="M192.4,22c0,0,50,26,112,20s94-39,98-42s17,32,17,32l4,33l-3,29l5,24l7,39l-5,32l-6,32l-19,55l-25,49l-59,21l-30-14l-22-22l-29-47l4-40l-20-28l-18-24l1-34l2-54l-8-35L192.4,22z"/>
+                <svg:path fill="none" stroke="#FFFFFF" stroke-width="10" d="M210.4,44.5c0,0,43.8,22.8,98,17.5s82.3-34.1,85.8-36.8s14.9,28,14.9,28l3.5,28.9l-2.6,25.4l4.4,21l6.1,34.1l-4.4,28l-5.3,28l-16.6,48.1l-21.9,42.9L320.6,328l-26.3-12.3l-19.3-19.3l-25.4-41.1l3.5-35l-17.5-24.5l-15.8-21l0.9-29.8l1.8-47.3l-7-30.6L210.4,44.5z"/>
+                <svg:path fill="#FFFFFF" d="M293.4,152c0,8.3-11.4,15-25.5,15s-25.5-6.7-25.5-15s11.4-15,25.5-15S293.4,143.7,293.4,152z"/>
+                <svg:path fill="#FFFFFF" d="M406.4,140.5c0,8.6-13.2,15.5-29.5,15.5s-29.5-6.9-29.5-15.5s13.2-15.5,29.5-15.5S406.4,131.9,406.4,140.5z"/>
+                <svg:path fill="none" stroke="#FFFFFF" stroke-width="10" d="M248.4,124l14-43l15,27"/>
+                <svg:path fill="none" stroke="#FFFFFF" stroke-width="10" d="M336.4,110l7-32l35,23"/>
+                <svg:path fill="none" stroke="#FFFFFF" stroke-width="10" d="M317.4,146l-7,72l22-1L317.4,146z"/>
+                <path xmlns="" fill="none" stroke="#FFFFFF" stroke-width="10" d="M305.4,297c0,0,2-55,27-57s37,16,41,30"/>
+                <svg:path fill="#FFFFFF" stroke="#000000" stroke-width="10" d="M207.4,90c0,0-19,18-61,17s-42,5-83-33s-31-38-31-38l-9,105l-5,22l-13,15l26,128l37,82c0,0,3,9,38,9s30-10,40-20s15-35,34-49s41-47,41-47l17-21l3-34l-23-29l-12-32L207.4,90z"/>
+                <svg:path fill="none" stroke="#000000" stroke-width="10" d="M51.4,150c0,0-2-15,25-15s31,17,31,17"/>
+                <svg:path fill="none" stroke="#000000" stroke-width="10" d="M153.4,168c0,0,6-11,12-14s22,5,22,5"/>
+                <svg:path d="M51.4,193l23-19c0,0,12-2,25,2s7,14,7,14L51.4,193z"/>
+                <svg:path d="M164.4,199c0,0,14-13,27-10s16,19,16,19s-7,6-26,1S164.4,199,164.4,199z"/>
+                <svg:path d="M125.4,188l-25,83h29L125.4,188z"/>
+                <svg:path d="M61.4,258c0,0,0-4,14,16s10,36,44,34s38-45,55-42s13,8,7,20s-23,23-32,35s5,40-39,38s-43-44-49-48S61.4,258,61.4,258z"/>
+            </svg:g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/toilets.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/toilets.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/toilets.svg	(revision 35743)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="toilets" viewBox="0 0 200 200" height="18.64">
+   <svg:rect style="fill:blue;fill-opacity:1" width="200" height="200" x="0" y="0" rx="40" ry="40"/>
+   <svg:rect style="fill:#ffffff;stroke:#ffffff;stroke-width:5px;stroke-linejoin:round;stroke-opacity:1" y="30.489416" x="100.1455" height="141.07143" width="11.428572"/>
+   <svg:path style="fill:#ffffff;stroke:#ffffff;stroke-opacity:1" d="M 162.85978,41.739417 C 162.85978,48.366834 157.4872,53.739417 150.85978,53.739417 C 144.23236,53.739417 138.85978,48.366834 138.85978,41.739417 C 138.85978,35.112 144.23236,29.739417 150.85978,29.739417 C 157.4872,29.739417 162.85978,35.112 162.85978,41.739417 L 162.85978,41.739417 z "/>
+   <svg:path style="fill:#ffffff;stroke:#ffffff;stroke-linejoin:round;stroke-opacity:1" d="M 69.645503,42.989417 C 69.645503,49.616834 64.27292,54.989417 57.645503,54.989417 C 51.018086,54.989417 45.645503,49.616834 45.645503,42.989417 C 45.645503,36.362 51.018086,30.989417 57.645503,30.989417 C 64.27292,30.989417 69.645503,36.362 69.645503,42.989417 z "/>
+   <svg:path style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" d="M 54.920897,128.44734 L 59.466584,128.44734 L 60.224198,168.6009 L 67.547804,168.6009 L 68.305419,128.1948 L 80.427249,127.94226 L 67.295266,79.707479 L 70.8308,77.687174 L 81.437402,112.53743 L 89.266084,108.24428 L 73.356181,61.777271 L 41.283838,60.767119 L 24.868859,109.25444 L 31.939927,112.03236 L 43.556681,77.687174 L 46.839677,78.19225 L 33.707694,127.43718 L 44.819372,127.68972 L 46.334601,168.85344 L 53.658207,168.85344 L 54.920897,128.44734 z "/>
+   <svg:path style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;fill-opacity:1" d="M 133.96533,60.514581 L 164.77498,60.262042 L 174.87651,68.090725 L 176.64428,113.29505 L 167.80544,113.04251 L 166.79529,77.182098 L 162.2496,76.677021 L 162.37587,168.97971 L 153.91584,169.23224 L 152.14808,114.3052 L 147.85493,114.05266 L 146.84478,169.61105 L 139.01609,169.10598 L 138.51102,77.434636 L 133.71279,77.434636 L 134.21787,112.53743 L 125.63157,112.78997 L 124.87396,68.595801 L 133.96533,60.514581 z "/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/traffic_signal.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/traffic_signal.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/traffic_signal.svg	(revision 35743)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="symbol-traffic_signal" viewBox="0 0 550 550" height="18.64">
+   <svg:g transform="translate(167,0)">
+                <svg:path d="M212.1,105c0,58-47.5,105-106,105c-58.6,0-106-47-106-105 C0,47,47.5,0,106,0C164.6,0,212.1,47,212.1,105z"/>
+                <svg:path d="M212.1,452.3c0,58-47.5,105-106,105c-58.6,0-106-47-106-105 c0-58,47.5-105,106-105C164.6,347.3,212.1,394.3,212.1,452.3z"/>
+                <svg:path d="M211.3,458.9H0V106.7h211.3V458.9z"/>
+                <svg:path fill="red" d="M190,103c0,46.4-37.6,84-84,84 c-46.4,0-84-37.6-84-84s37.6-84,84-84C152.4,19,190,56.6,190,103z"/>
+                <svg:path fill="limegreen" d="M190,455c0,46.4-37.6,84-84,84 c-46.4,0-84-37.6-84-84c0-46.4,37.6-84,84-84C152.4,371.1,190,408.7,190,455z"/>
+                <svg:path fill="yellow" d="M190,279c0,46.4-37.6,84-84,84 c-46.4,0-84-37.6-84-84c0-46.4,37.6-84,84-84C152.4,195,190,232.6,190,279z"/>
+            </svg:g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/tree.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/tree.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/tree.svg	(revision 35743)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="4"
+   height="4"
+   id="svg2">
+   <path
+       d="M 0,0 L 4,0 L 4,4 L 0,4 L 0,0 z"
+       id="rect2403"
+       style="fill:#6fc18e;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1" />
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/university.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/university.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/university.svg	(revision 35743)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="symbol-university" viewBox="0 0 128 128" height="18.64">
+   <svg:g transform="translate(0,32)">
+            <svg:path fill="#000000" d="M 65,1 C 57.6,1.4 51.7,3.6 52,6 C 51.7,6.4 52,6.4 51,6.4 L 0,6 L 14,10 C 13.1,12 12.4,14 12,17 C 11.1,20.7 11.4,23.4 12,25 L 21,50 L 15,58 L 20,61 L 23,56 L 26,62 L 30,60 L 22,17 L 35,44 C 35.2,43.8 40.7,18.7 62,19 C 84.2,18.7 95,46.5 95,46.5 L 106,12 L 128,7 L 78,7 C 78.2,6.5 78.2,6.4 78.2,6.3 C 78.2,3.6 72.3,1.4 65,1.4 L 65,1 L 65,1 z"/>
+          </svg:g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/viewpoint.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/viewpoint.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/viewpoint.svg	(revision 35743)
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="16"
+   height="16"
+   id="symbol-viewpoint">
+  <defs
+     id="defs2381" />
+  <g
+     transform="matrix(0.1817625,0,0,0.1817625,-0.715681,-0.754427)"
+     id="g3334">
+    <g
+       transform="matrix(0.9957238,0,0,0.9997285,1.5927618e-2,2.4998745e-2)"
+       id="g3191">
+      <path
+         d="M 9.6000004,7.9698114 A 1.5849056,1.6 0 1 1 6.4301891,7.9698114 A 1.5849056,1.6 0 1 1 9.6000004,7.9698114 z"
+         transform="matrix(5.5016849,0,0,5.5016849,3.9374513,4.1506196)"
+         id="path2419"
+         style="fill:#0101ff;fill-opacity:1;stroke:#000000;stroke-width:0.05;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         d="M 8.6867391,52.624353 C 6.816871,52.169299 5.0737341,50.833315 4.3997553,49.338698 C 4.0106344,48.47578 3.9820521,48.157277 4.2219002,47.356736 C 4.6013085,46.090398 5.8552159,44.841148 7.512558,44.078313 C 8.7083867,43.527899 9.0683066,43.476543 10.642634,43.631675 C 12.711707,43.835556 15.892175,44.430036 20.682301,45.50825 C 26.45013,46.806533 27.518576,47.246271 27.162141,48.175121 C 26.77599,49.181407 22.256558,50.607424 15.252731,51.932893 C 11.197845,52.700279 9.6629304,52.861918 8.6867391,52.624353 z"
+         id="path3296"
+         style="fill:#0000ff;stroke:#000000;stroke-width:0.27508423;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         d="M 46.323106,91.254109 C 45.429343,90.664965 44.841518,89.955361 44.126115,88.601956 C 43.657516,87.715454 43.612849,87.319767 43.74128,85.192691 C 44.065059,79.83036 46.533819,69.619869 47.677483,68.913045 C 48.812842,68.211358 49.984033,71.41417 51.642463,79.755871 C 52.794126,85.548606 52.767965,87.454362 51.510401,89.375316 C 51.054522,90.071678 50.317045,90.891179 49.87156,91.196429 C 48.851387,91.895463 47.333521,91.920138 46.323111,91.254109 L 46.323106,91.254109 z"
+         id="path3310"
+         style="fill:#0000ff;stroke:#000000;stroke-width:0.27508423;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         d="M 17.044681,79.335663 C 16.041725,78.47295 15.909337,76.932904 16.633253,74.549568 C 17.121851,72.94095 17.380844,72.530139 18.719337,71.240598 C 20.695789,69.33643 26.831885,65.257083 30.506991,63.404027 C 33.573019,61.858077 34.31936,61.66391 34.31936,62.412203 C 34.31936,63.968442 28.485956,73.397145 25.537553,76.606503 C 23.522698,78.799686 21.892223,79.67643 19.548743,79.826827 C 17.92388,79.9311 17.681706,79.8836 17.044688,79.33566 L 17.044681,79.335663 z"
+         id="path3312"
+         style="fill:#0000ff;stroke:#000000;stroke-width:0.27508423;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         d="M 73.519587,79.210442 C 70.756653,77.848597 62.658467,66.329855 61.940638,62.74071 C 61.795752,62.016292 61.837428,61.951932 62.451341,61.951932 C 63.800912,61.951932 66.839118,63.612598 72.452619,67.418577 C 78.501561,71.519787 80.084314,73.581687 79.696577,76.855506 C 79.516421,78.376596 79.111112,79.04287 78.16538,79.372553 C 77.040979,79.764518 74.46107,79.674496 73.51959,79.210442 L 73.519587,79.210442 z"
+         id="path3308"
+         style="fill:#0000ff;stroke:#000000;stroke-width:0.27508423;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         d="M 79.165163,51.596088 C 72.594333,50.241188 70.095854,49.457565 69.067279,48.42899 C 68.520471,47.882182 68.559332,47.637841 69.266845,47.174262 C 70.721869,46.22089 82.660857,43.690306 85.83714,43.66203 C 87.894346,43.643713 88.04272,43.681286 89.400976,44.564515 C 91.282486,45.787997 92.113604,47.357195 91.667947,48.844665 C 91.321604,50.000666 90.027955,51.382141 88.618413,52.101235 C 87.106573,52.872515 84.742854,52.746205 79.165163,51.596088 z"
+         id="path3306"
+         style="fill:#0000ff;stroke:#000000;stroke-width:0.27508423;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         d="M 31.793979,34.013792 C 29.637523,32.817297 23.932345,29.006704 21.015724,26.814799 C 18.572261,24.978491 17.384173,23.690935 16.764379,22.207561 C 16.017401,20.419796 16.444898,17.558738 17.569053,16.822163 C 18.491863,16.217513 21.265186,16.234024 22.52538,16.851669 C 23.984757,17.566938 26.009196,19.798837 28.615723,23.566136 C 32.799805,29.61352 34.807872,33.658635 34.068241,34.549835 C 33.650071,35.053699 33.681598,35.061129 31.793979,34.013795 L 31.793979,34.013792 z"
+         id="path3300"
+         style="fill:#0000ff;stroke:#000000;stroke-width:0.27508423;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         d="M 62.014382,34.509457 C 61.604709,34.099789 61.948141,33.092665 63.379858,30.505123 C 65.636044,26.427506 70.06706,19.873614 71.678867,18.230086 C 72.902467,16.982406 73.272186,16.759054 74.541117,16.500977 C 76.60474,16.081274 78.604869,16.532183 79.248069,17.562107 C 79.436013,17.863059 79.646529,18.816093 79.715871,19.67995 C 79.818113,20.953598 79.737538,21.466281 79.289801,22.391182 C 78.417431,24.193266 75.680576,26.529527 70.1387,30.202848 C 63.810256,34.397534 62.563397,35.058474 62.014376,34.509454 L 62.014382,34.509457 z"
+         id="path3304"
+         style="fill:#0000ff;stroke:#000000;stroke-width:0.27508423;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         d="M 47.496659,27.029997 C 46.694512,26.063475 45.391612,21.317753 44.292374,15.358646 C 43.393033,10.483236 43.400066,8.8399172 44.32754,7.1340423 C 46.432498,3.2624584 49.990945,3.494503 52.119437,7.6421389 C 52.485049,8.3545692 52.541797,8.9256791 52.43315,10.798866 C 52.219894,14.475672 49.949809,24.841443 49.001319,26.469498 C 48.503096,27.324691 47.92114,27.54147 47.496653,27.029997 L 47.496659,27.029997 z"
+         id="path3302"
+         style="fill:#0000ff;stroke:#000000;stroke-width:0.27508423;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    </g>
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/vulcan.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/vulcan.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/vulcan.svg	(revision 35743)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="9" id="symbol-vulcan" viewBox="0 0 100 100" height="9">
+	   <svg:path fill="#ff0000" stroke="black" stroke-width="5" d="M 0,90 L 50,10 L 100,90 Z"/>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/wastewater.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/wastewater.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/wastewater.svg	(revision 35743)
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.0"
+   width="16"
+   height="16"
+   id="symbol-wastewater">
+  <g
+     transform="translate(-1.1460296e-7,-1036.3622)"
+     id="layer1">
+    <g
+       transform="matrix(0.9999576,0,0,0.9999576,-0.615215,4.4596691e-2)"
+       id="g2760">
+      <path
+         d="M 8.6704377,1052.3616 C 5.8778813,1052.3193 3.3066465,1050.1394 4.1696694,1047.0975 C 5.0326922,1044.0555 6.8683983,1040.2805 8.6211777,1036.9851 C 9.0313355,1036.1543 9.53177,1036.0713 9.318092,1037.4336 C 9.1044137,1038.7958 10.298606,1040.8968 11.256236,1042.3766 C 12.213866,1043.8565 13.80443,1045.7732 13.846869,1048.0104 C 13.889309,1050.2476 11.462995,1052.4039 8.6704377,1052.3616 z"
+         id="path2603"
+         style="fill:#000000" />
+      <path
+         d="M 9.6438828,1050.3924 C 9.4359603,1050.0465 9.2141656,1049.7088 9.0135619,1049.3587 C 9.2136016,1049.0096 9.4375807,1048.6714 9.6512715,1048.3306 C 9.6308149,1048.5611 9.648804,1048.7751 9.936814,1048.6837 C 10.31748,1048.6722 10.699108,1048.6719 11.07896,1048.647 C 11.225994,1048.6439 11.525845,1048.3854 11.318921,1048.6512 C 11.078092,1049.0354 10.869818,1049.4412 10.606099,1049.8104 C 10.409069,1050.0158 10.099526,1049.9245 9.8473925,1049.9566 C 9.5277272,1049.8467 9.7163629,1050.3186 9.6438828,1050.3924 L 9.6438828,1050.3924 z M 7.5254031,1049.9577 C 7.1628333,1049.9198 6.8729582,1049.5419 6.9735956,1049.1825 C 7.0741064,1049.0003 7.1431242,1048.6595 7.4168193,1048.7244 C 7.8604287,1048.7226 8.3041836,1048.7086 8.747659,1048.713 C 8.7547033,1049.1269 8.7719401,1049.5481 8.7597116,1049.9576 C 8.3482939,1049.9542 7.936435,1049.9877 7.5254031,1049.9577 z M 6.9185133,1049.4368 C 6.6863522,1049.0139 6.4072876,1048.6183 6.1829117,1048.1912 C 6.0777707,1047.8876 6.3946782,1047.6552 6.4988228,1047.3947 C 6.5295422,1047.2536 6.1353125,1047.2081 6.1517738,1047.1206 C 6.5606882,1047.1175 6.971196,1047.1007 7.3792443,1047.1126 C 7.5915702,1047.4394 7.7775267,1047.7889 7.9814949,1048.1235 C 7.9672692,1048.1912 7.7504369,1047.9777 7.6430629,1047.9647 C 7.4099019,1048.3397 7.1835601,1048.7208 6.9690877,1049.1069 C 6.9209486,1049.2054 6.9202675,1049.3546 6.9185133,1049.4368 z M 10.630053,1048.6337 C 10.370581,1048.2352 10.128749,1047.8249 9.8757102,1047.4219 C 10.225018,1047.184 10.598349,1046.9816 10.963393,1046.7686 C 11.171569,1047.0896 11.387342,1047.4087 11.569405,1047.7451 C 11.736631,1048.1308 11.428955,1048.6048 11.013329,1048.6247 C 10.88606,1048.6333 10.757397,1048.6436 10.630053,1048.6337 z M 8.0725342,1047.1824 C 7.7143741,1046.9858 7.3550494,1046.7913 6.9981965,1046.5923 C 7.2239693,1046.2156 7.4404512,1045.8318 7.6874018,1045.4692 C 7.8850491,1045.2826 8.1839612,1045.3736 8.4293013,1045.3424 C 8.759802,1045.3338 9.0905317,1045.3305 9.4210768,1045.3292 C 9.0993871,1045.466 8.9577282,1045.7979 8.7836146,1046.0755 C 8.5568213,1046.447 8.3438692,1046.828 8.1128665,1047.1961 L 8.097372,1047.1955 L 8.0725342,1047.1824 L 8.0725342,1047.1824 z M 9.0161492,1046.8649 C 9.1493331,1046.7534 9.5217402,1046.695 9.2769701,1046.483 C 9.1623566,1046.286 9.0360785,1046.0957 8.9239647,1045.8972 C 9.0591669,1045.613 9.2992568,1045.3341 9.6380055,1045.3235 C 9.9002,1045.2962 10.176533,1045.4291 10.288577,1045.6739 C 10.392336,1045.8664 10.514889,1046.1097 10.728996,1045.8811 C 10.83994,1045.8097 11.026359,1045.6956 10.865811,1045.8954 C 10.673622,1046.209 10.488426,1046.5273 10.294621,1046.84 C 9.8685211,1046.8485 9.4421871,1046.8594 9.0161492,1046.8649 z"
+         id="path2530"
+         style="fill:#ffffff" />
+    </g>
+  </g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/windmill.svg
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/windmill.svg	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/symbols/windmill.svg	(revision 35743)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" baseProfile="full" width="18.64" id="symbol-windmill" viewBox="0 0 480 480" height="18.64">
+   <svg:g transform="translate(82,0)">
+            <svg:path fill="#000000" d="M106.7,148.2l104-1l61,333l-231-1"/>
+            <svg:path fill="none" stroke="#000000" stroke-width="24" d="M6.7,201 l284-191"/>
+            <svg:path fill="none" stroke="#000000" stroke-width="24" d="M19.7,17.5 l290,176"/>
+          </svg:g>
+</svg>
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/verify-hw.tcl
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/verify-hw.tcl	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/verify-hw.tcl	(revision 35743)
@@ -0,0 +1,193 @@
+puts "tclsh verify-hw.tcl startzoom endzoom  --> comparing highway widths, output to verify-hw.txt"
+
+set za [ lindex $argv 0 ]
+set ze [ lindex $argv 1 ]
+
+source verify.tcl
+set fs "%5s"
+
+set allways [ list motorway motorway-link trunk trunk-link primary primary-link \
+secondary secondary-link tertiary tertiary-link unclassified unsurfaced residential livingstreet cycleroad pedestrian service track bridleway cycleway aisle footway path steps ford ]
+
+set ersatz(residential)  "unclassified"
+set ersatz(cycleroad)    "residential"
+set ersatz(livingstreet) "residential"
+set ersatz(path)         "footway"
+set ersatz(ford)         "unclassified"
+set ersatzs [ array names ersatz ]
+
+for { set z $za } { $z <= $ze } { incr z } {
+   foreach ww $widths($z) {
+      set www [ split $ww "-" ]
+      if { [ lindex $www 0 ] == "highway" } {
+         set w $width($z,$ww)
+         if { [ lindex $www 2 ] == "link" } { set j 2 } { set j 1 }
+         set k $j; incr k
+         set l $k; incr l
+         set way [ join [ lrange $www 1 $j ] "-" ]
+         if {[lsearch $allways  $way] < 0} {puts "$way missing"}
+
+         if { [ lsearch $www "bridge" ] > 0 } {
+            if { [ lsearch $www "casing" ] > 0 } {
+               set bca($z,$way) [ format $fs $w ]
+            }
+            if { [ lsearch $www "core" ] > 0 } {
+               set bco($z,$way) [ format $fs $w ]
+            }
+         } elseif { [ lsearch $www "cy1" ] > 0 } {
+            set cy1($z,$way) [ format $fs $w ]
+         } elseif { [ lsearch $www "cy2" ] > 0 } {
+            set cy2($z,$way) [ format $fs $w ]
+         } elseif { [ lsearch $www "mr1" ] > 0 } {
+            set mr1($z,$way) [ format $fs $w ]
+         } elseif { [ lsearch $www "mr2" ] > 0 } {
+            set mr2($z,$way) [ format $fs $w ]
+         } elseif { [ lsearch $www "mrcy1" ] > 0 } {
+            set mc1($z,$way) [ format $fs $w ]
+         } elseif { [ lsearch $www "mrcy2" ] > 0 } {
+            set mc2($z,$way) [ format $fs $w ]
+         } elseif { [ lsearch $www "mrcy3" ] > 0 } {
+            set mc3($z,$way) [ format $fs $w ]
+         } elseif { [ lsearch $www "area" ] > 0 && [ lindex $www $l ] == "casing" } {
+            set are($z,$way) [ format $fs $w ]
+         } elseif { [ lindex $www $k ] == "casing" } {
+            set cas($z,$way) [ format $fs $w ]
+         } elseif { [ lindex $www $k ] == "core" } {
+            set cor($z,$way) [ format $fs $w ]
+         } elseif { [ lindex $www $k ] == "core2" } {
+            set co2($z,$way) [ format $fs $w ]
+         }
+      }
+   }
+}
+
+for { set z $za } { $z <= $ze } { incr z } {
+   foreach way $allways {
+      if { [ lsearch $ersatzs $way ] >= 0 } { set e 1 } { set e 0 }
+
+      if { ![ info exists bca($z,$way) ] } {
+         if { $e } {
+            set bca($z,$way) $bca($z,$ersatz($way))
+         } else {
+            set bca($z,$way) [ format $fs "" ]
+         }
+      }
+      if { ![ info exists bco($z,$way) ] } {
+         if { $e } {
+            set bco($z,$way) $bco($z,$ersatz($way))
+         } else {
+            set bco($z,$way) [ format $fs "" ]
+         }
+      }
+      if { $z < 16 } {
+         set bca($z,$way) [ format $fs "" ]
+         set bco($z,$way) [ format $fs "" ]
+      }
+      if { [ string trim $bca($z,$way) ] != "" } {
+         set bdi($z,$way) [ format $fs [ expr "$bca($z,$way) - $bco($z,$way)" ] ]
+      } else {
+         set bdi($z,$way) [ format $fs "" ]
+      }
+      if { ![ info exists cas($z,$way) ] } {
+         if { $e } {
+            set cas($z,$way) $cas($z,$ersatz($way))
+         } else {
+            set cas($z,$way) [ format $fs "" ]
+         }
+      }
+      if { ![ info exists cor($z,$way) ] } {
+         if { $e } {
+            set cor($z,$way) $cor($z,$ersatz($way))
+         } else {
+            set cor($z,$way) [ format $fs "" ]
+         }
+      }
+      if { [ string trim $cas($z,$way) ] != "" } {
+         set dif($z,$way) [ format $fs [ expr "$cas($z,$way) - $cor($z,$way)" ] ]
+      } else {
+         set dif($z,$way) [ format $fs "" ]
+      }
+      if { [ string trim $bca($z,$way) ] != "" } {
+puts $way
+         set bd2($z,$way) [ format $fs [ expr "$bco($z,$way) - $cas($z,$way)" ] ]
+      } else {
+         set bd2($z,$way) [ format $fs "" ]
+      }
+      if { ![ info exists are($z,$way) ] } {
+         if { $e } {
+            set are($z,$way) $are($z,$ersatz($way))
+         } else {
+            set are($z,$way) [ format $fs "" ]
+         }
+      }
+      if { ![ info exists cy1($z,$way) ] } {
+         if { $e } {
+            set cy1($z,$way) $cy1($z,$ersatz($way))
+         } else {
+            set cy1($z,$way) [ format $fs "" ]
+         }
+      }
+      if { ![ info exists cy2($z,$way) ] } {
+         if { $e } {
+            set cy2($z,$way) $cy2($z,$ersatz($way))
+         } else {
+            set cy2($z,$way) [ format $fs "" ]
+         }
+      }
+      if { [ string trim $cy2($z,$way) ] != "" } {
+         set cca($z,$way) [ format $fs [ expr "$cy1($z,$way) - $cy2($z,$way)" ] ]
+         set ccy($z,$way) [ format $fs [ expr "$cy2($z,$way) - $cor($z,$way)" ] ]
+      } else {
+         set cca($z,$way) [ format $fs "" ]
+         set ccy($z,$way) [ format $fs "" ]
+      }
+      if { ![ info exists mr1($z,$way) ] } {
+         set mr1($z,$way) [ format $fs "" ]
+      }
+      if { ![ info exists mr2($z,$way) ] } {
+         set mr2($z,$way) [ format $fs "" ]
+      }
+      if { [ string trim $mr2($z,$way) ] != "" } {
+         set mca($z,$way) [ format $fs [ expr "$mr1($z,$way) - $mr2($z,$way)" ] ]
+         set mcy($z,$way) [ format $fs [ expr "$mr2($z,$way) - $cor($z,$way)" ] ]
+      } else {
+         set mca($z,$way) [ format $fs "" ]
+         set mcy($z,$way) [ format $fs "" ]
+      }
+      if { ![ info exists mc1($z,$way) ] } {
+         set mc1($z,$way) [ format $fs "" ]
+      }
+      if { ![ info exists mc2($z,$way) ] } {
+         set mc2($z,$way) [ format $fs "" ]
+      }
+      if { ![ info exists mc3($z,$way) ] } {
+         set mc3($z,$way) [ format $fs "" ]
+      }
+      if { [ string trim $mc2($z,$way) ] != "" } {
+         set mma($z,$way) [ format $fs [ expr "$mc1($z,$way) - $mc2($z,$way)" ] ]
+         set mmy($z,$way) [ format $fs [ expr "$mc2($z,$way) - $mc3($z,$way)" ] ]
+         set mmm($z,$way) [ format $fs [ expr "$mc3($z,$way) - $cor($z,$way)" ] ]
+      } else {
+         set mma($z,$way) [ format $fs "" ]
+         set mmy($z,$way) [ format $fs "" ]
+         set mmm($z,$way) [ format $fs "" ]
+      }
+
+      if { ![ info exists co2($z,$way) ] } {
+         set co2($z,$way) [ format $fs "" ]
+      }
+   }
+}
+
+set fo [ open verify-hw.txt w ]
+
+puts $fo "  : bcas bcor bdif bdi2    cas core diff area cor2   cyc1 cyc2  ccy  cca    mr1  mr2  mcy  mca   mc1  mc2  mc3  mmm  mmy  mma  way" 
+
+foreach way $allways {
+   for { set z $za } { $z <= $ze } { incr z } {
+   set x "$z,$way"
+puts $fo "$z:$bca($x)$bco($x)$bdi($x)$bd2($x)  $cas($x)$cor($x)$dif($x)$are($x)$co2($x)  $cy1($x)$cy2($x)$ccy($x)$cca($x)  $mr1($x)$mr2($x)$mcy($x)$mca($x)  $mc1($x)$mc2($x)$mc3($x)$mmm($x)$mmy($x)$mma($x) $way" 
+   }
+   puts $fo ""
+}
+close $fo
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/verify-rw.tcl
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/verify-rw.tcl	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/verify-rw.tcl	(revision 35743)
@@ -0,0 +1,105 @@
+puts "tclsh verify-rw.tcl startzoom endzoom  --> comparing railway widths, output to verify-rw.txt"
+
+set za [ lindex $argv 0 ]
+set ze [ lindex $argv 1 ]
+
+source verify.tcl
+set fs "%6s"
+
+set allways [ list rail narrow preserved light tram subway funicular monorail yard con pla dis aba ]
+
+set ersatzs [ array names ersatz ]
+
+for { set z $za } { $z <= $ze } { incr z } {
+   foreach ww $widths($z) {
+      set www [ split $ww "-" ]
+      if { [ lindex $www 0 ] == "railway" } {
+         set w $width($z,$ww)
+         if { [ string trim $w ] == "" } continue
+         set way [ lindex $www 1 ]
+
+         if { $way == "bridge" && [ lindex $www 2 ] == "casing" } { set bcax [ format $fs $w ]; continue }
+         if { $way == "bridge" && [ lindex $www 2 ] == "core"   } { set bcox [ format $fs $w ]; continue }
+
+         if {[lsearch $allways  $way] < 0} {puts "$way missing"}
+
+         set j 2
+         set k $j
+         if { [ lindex $www $k ] == "1" || [ lindex $www $k ] == "2" } { incr k }
+
+         if { [ lindex $www $j ] == "casing" } {
+            set cas($z,$way) [ format $fs $w ]
+         } elseif { [ lindex $www $k ] == "core" } {
+            if { [ lindex $www $j ] != "2" } {
+               set cor($z,$way) [ format $fs $w ]
+            } else {
+               set co2($z,$way) [ format $fs $w ]
+            }
+         }
+      }
+   }
+}
+
+for { set z $za } { $z <= $ze } { incr z } {
+   foreach way $allways {
+      if { [ lsearch $ersatzs $way ] >= 0 } { set e 1 } { set e 0 }
+
+      set bca($z,$way) $bcax
+      set bco($z,$way) $bcox
+
+      if { $z < 16 } {
+         set bca($z,$way) [ format $fs "" ]
+         set bco($z,$way) [ format $fs "" ]
+      }
+      if { [ string trim $bca($z,$way) ] != "" } {
+         set bdi($z,$way) [ format $fs [ expr "$bca($z,$way) - $bco($z,$way)" ] ]
+      } else {
+         set bdi($z,$way) [ format $fs "" ]
+      }
+      if { ![ info exists cas($z,$way) ] } {
+         if { $e } {
+            set cas($z,$way) $cas($z,$ersatz($way))
+         } else {
+            set cas($z,$way) [ format $fs "" ]
+         }
+      }
+      if { ![ info exists cor($z,$way) ] } {
+         if { $e } {
+            set cor($z,$way) $cor($z,$ersatz($way))
+         } else {
+            set cor($z,$way) [ format $fs "" ]
+         }
+      }
+      if { ![ info exists co2($z,$way) ] } {
+         if { $e } {
+            set co2($z,$way) $co2($z,$ersatz($way))
+         } else {
+            set co2($z,$way) [ format $fs "" ]
+         }
+      }
+
+      if { [ string trim $cas($z,$way) ] != "" && [ string trim $cor($z,$way) ] != "" } {
+         set dif($z,$way) [ format $fs [ expr "$cas($z,$way) - $cor($z,$way)" ] ]
+      } else {
+         set dif($z,$way) [ format $fs "" ]
+      }
+      if { [ string trim $co2($z,$way) ] != "" && [ string trim $cas($z,$way) ] != "" } {
+         set bd2($z,$way) [ format $fs [ expr "$co2($z,$way) - $cas($z,$way)" ] ]
+      } else {
+         set bd2($z,$way) [ format $fs "" ]
+      }
+   }
+}
+
+set fo [ open verify-rw.txt w ]
+
+puts $fo "  :  bcas bcore bdiff     cas  core  diff   core2 diff2  way" 
+
+foreach way $allways {
+   for { set z $za } { $z <= $ze } { incr z } {
+   set x "$z,$way"
+puts $fo "$z:$bca($x)$bco($x)$bdi($x)  $cas($x)$cor($x)$dif($x)  $co2($x)$bd2($x)  $way" 
+   }
+   puts $fo ""
+}
+close $fo
Index: /applications/editors/josm/oldplugins/osmarender/stylesheets/verify.tcl
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/stylesheets/verify.tcl	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/stylesheets/verify.tcl	(revision 35743)
@@ -0,0 +1,41 @@
+if { ![ info exists za ] } { puts "call this file only using verify-*.tcl"; exit }
+
+set files [ glob osm-map-features-z*.xml ]
+set zooms {}
+foreach f $files {
+   set z [string range [lindex [split [file rootname [file tail $f]] "-"] 3] 1 end]
+   lappend zooms $z
+   set fi [ open $f r ]
+   set in [ read $fi ]
+   close $fi
+   set style($z) ""
+   set flag 0
+   foreach line [ split $in "\n" ] {
+      if { [ string first "<style"  $line ] >= 0 } { set flag 1; continue }
+      if { [ string first "</style" $line ] >= 0 } { set flag 0; continue }
+      if { $flag } {
+         set line [ string trim $line ]
+         append style($z) " $line"
+      }
+   }
+}
+puts $zooms
+set zooms [ lsort -integer $zooms ]
+foreach z $zooms {
+   set widths($z) {}
+   set st [ split $style($z) "{}" ]
+   foreach { a b } $st {
+      set w ""
+      set i [ string last "." $a ]
+      incr i
+      set a [ string trim [ string range $a $i end ] ]
+      set bb [ split $b ":;" ]
+      foreach { c d } $bb {
+         set i [ string first "p" $d ]
+         if { $i >= 0 } { incr i -1; set d [ string trim [ string range $d 0 $i ] ] }
+         if { [ string trim $c ] == "stroke-width" } { set w $d }
+      }
+      lappend widths($z) $a
+      set width($z,$a) $w
+   }
+}
Index: /applications/editors/josm/oldplugins/osmarender/xslt/osmarender
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/xslt/osmarender	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/xslt/osmarender	(revision 35743)
@@ -0,0 +1,93 @@
+#!/bin/bash
+#=============================================================================
+#
+#  osmarender [-r rulefile] [-t title] <osmfile> [<svgfile>]
+#
+#  This is a wrapper around the osmarender XSL transformation. If you don't
+#  specify a <svgfile> it will use <osmfile> with .svg suffix instead.
+#
+#  To use this set the environment variable OSMARENDER to the path to your
+#  osmarender directory. In bash this works like this:
+#
+#  > export OSMARENDER=~/osm/osmarender
+# 
+#=============================================================================
+#
+#  Copyright (C) 2006-2007  Jochen Topf
+#
+#  This program is free software; you can redistribute it and/or modify
+#  it under the terms of the GNU General Public License as published by
+#  the Free Software Foundation; either version 2 of the License, or
+#  (at your option) any later version.
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with this program; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
+#
+#=============================================================================
+
+prgname=`basename $0`
+
+function usage() {
+    echo "Usage: $prgname [options] <osmfile> [<svgfile>]"
+    echo "Options: -r   Set rulefile"
+    echo "         -t   Set title for map"
+
+}
+
+if [ "$OSMARENDER" = "" ]; then
+    OSMARENDER="."
+fi
+
+OSMARENDER_RULEFILE="$OSMARENDER/stylesheets/osm-map-features-z17.xml"
+
+while getopts r:t: opt; do
+    case "$opt" in
+        r)  rulefile="$OPTARG";;
+        t)  title="$OPTARG";;
+    esac
+done
+shift `expr $OPTIND - 1`
+
+osmfile=$1; shift
+mapfile=$1; shift
+
+if [ "$osmfile" = "" ]; then
+    echo >&2 "Too few parameters"
+    usage >&2
+    exit 1
+fi
+
+if [ "$1" != "" ]; then
+    echo >&2 "Too many parameters"
+    usage >&2
+    exit 1
+fi
+
+# if there is no rulefile given we use the default
+if [ "$rulefile" = "" ]; then
+    echo >&2 "Using standard rule file: $OSMARENDER_RULEFILE"
+    rulefile=$OSMARENDER_RULEFILE
+fi
+
+# if there is no mapfile given we use osm data file name with changed suffix
+if [ "$mapfile" = "" ]; then
+    mapfile="${osmfile%.osm}.svg"
+fi
+
+case "$osmfile" in
+    /*) ;;
+    *) osmfile=`pwd`"/$osmfile";;
+esac
+
+if [ "$title" == '' ]; then
+    $OSMARENDER/xslt/xsltrans --stringparam osmfile=$osmfile $rulefile $OSMARENDER/xslt/osmarender.xsl > $mapfile 
+else
+    $OSMARENDER/xslt/xsltrans --stringparam osmfile=$osmfile --stringparam title="$title" $rulefile $OSMARENDER/xslt/osmarender.xsl > $mapfile 
+fi
+
Index: /applications/editors/josm/oldplugins/osmarender/xslt/osmarender.xsl
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/xslt/osmarender.xsl	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/xslt/osmarender.xsl	(revision 35743)
@@ -0,0 +1,4590 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+==============================================================================
+
+Osmarender 6.0 Alpha 6 
+    with - orig area generation 
+         - one node way filtered out
+         - filtered out missing multipolygon relation members from areas
+         - filtered out missing node ref from ways
+
+==============================================================================
+
+Copyright (C) 2006-2007  Etienne Cherdlu, Jochen Topf
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
+
+==============================================================================
+-->
+<xsl:stylesheet
+  xmlns="http://www.w3.org/2000/svg"
+  xmlns:svg="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink"
+  xmlns:xi="http://www.w3.org/2001/XInclude"
+  xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+  xmlns:cc="http://web.resource.org/cc/"
+  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:dc="http://purl.org/dc/elements/1.1/"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:exslt="http://exslt.org/common"
+  xmlns:msxsl="urn:schemas-microsoft-com:xslt"
+  xmlns:labels="http://openstreetmap.org/osmarender-labels-rtf"
+  xmlns:z="http://openstreetmap.org/osmarender-z-rtf"
+  exclude-result-prefixes="exslt msxsl" 
+  version="1.0">
+
+  <xsl:output method="xml" omit-xml-declaration="no" indent="yes" encoding="UTF-8"/>
+
+  <!-- This msxsl script extension fools msxsl into interpreting exslt extensions as msxsl ones, so 
+       we can write code using exslt extensions even though msxsl only recognises the msxsl extension 
+       namespace.  Thanks to David Carlisle for this: http://dpcarlisle.blogspot.com/2007/05/exslt-node-set-function.html -->
+  <msxsl:script language="JScript" implements-prefix="exslt">
+    this['node-set'] =  function (x) {
+    return x;
+    }
+  </msxsl:script>
+
+  <xsl:param name="osmfile" select="/rules/@data"/>
+  <xsl:param name="title" select="/rules/@title"/>
+
+  <xsl:param name="scale" select="/rules/@scale"/>
+  <xsl:param name="symbolScale" select="/rules/@symbolScale"/>
+  <xsl:param name='textAttenuation' select='/rules/@textAttenuation'/>
+  <!-- TODO: Implement withOSMLayers again -->
+  <xsl:param name="withOSMLayers" select="/rules/@withOSMLayers"/>
+  <xsl:param name="svgBaseProfile" select="/rules/@svgBaseProfile"/>
+  <xsl:param name="symbolsDir" select="/rules/@symbolsDir"/>
+
+  <xsl:param name="showGrid" select="/rules/@showGrid"/>
+  <xsl:param name="showBorder" select="/rules/@showBorder"/>
+  <xsl:param name="showScale" select="/rules/@showScale"/>
+  <xsl:param name="showLicense" select="/rules/@showLicense"/>
+
+  <xsl:param name="showRelationRoute" select="/rules/@showRelationRoute"/>
+
+  <xsl:param name="meter2pixelFactor" select="/rules/@meter2pixel"/>
+
+  <xsl:param name="minlat"/>
+  <xsl:param name="maxlat"/>
+  <xsl:param name="minlon"/>
+  <xsl:param name="maxlon"/>
+
+
+  <xsl:key name="nodeById" match="/osm/node" use="@id"/>
+  <xsl:key name="wayById" match="/osm/way" use="@id"/>
+  <xsl:key name="wayByNode" match="/osm/way" use="nd/@ref"/>
+  <xsl:key name="relationByWay" match="/osm/relation" use="member/@ref"/>
+  <xsl:key name="relationById" match="/osm/relation" use="@id"/>
+
+  <xsl:variable name="data" select="document($osmfile)"/>
+
+  <!-- Use a web-service (if available) to get the current date -->
+  <xsl:variable name="now" select="document('http://xobjex.com/service/date.xsl')" />
+  <xsl:variable name="date">
+    <xsl:choose>
+      <xsl:when test="$now">
+        <xsl:value-of select="substring($now/date/utc/@stamp,1,10)" />
+        <!-- Assumes 4 digit year -->
+      </xsl:when>
+      <xsl:otherwise>2009-01-01</xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+  <xsl:variable name="year">
+    <xsl:choose>
+      <xsl:when test="$now">
+        <xsl:value-of select="$now/date/utc/year" />
+      </xsl:when>
+      <xsl:otherwise>2009</xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+
+  <!-- extra height for marginalia at top -->
+  <xsl:variable name="marginaliaTopHeight">
+    <xsl:choose>
+      <xsl:when test="$title != ''">40</xsl:when>
+      <xsl:when test="($title = '') and ($showBorder = 'yes')">1.5</xsl:when>
+      <xsl:otherwise>0</xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+
+  <!-- extra height for marginalia at bottom -->
+  <xsl:variable name="marginaliaBottomHeight">
+    <xsl:choose>
+      <xsl:when test="($showScale = 'yes') or ($showLicense = 'yes')">45</xsl:when>
+      <xsl:when test="($showScale != 'yes') and ($showLicense != 'yes') and ($showBorder = 'yes')">1.5</xsl:when>
+      <xsl:otherwise>0</xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+
+  <!-- extra width for border -->
+  <xsl:variable name="extraWidth">
+    <xsl:choose>
+      <xsl:when test="$showBorder = 'yes'">3</xsl:when>
+      <xsl:otherwise>0</xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+
+  <!-- extra height for border -->
+  <xsl:variable name="extraHeight">
+    <xsl:choose>
+      <xsl:when test="($title = '') and ($showBorder = 'yes')">3</xsl:when>
+      <xsl:otherwise>0</xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+
+  <!-- Calculate bounding box.
+       Use the first given of min/max lat/lon parameters, bounds element from rules,
+       bounds elements from data or fallback to calculating based on file content -->
+
+  <xsl:variable name="bottomLeftLatitude">
+    <xsl:choose>
+      <xsl:when test="$minlat">
+        <xsl:value-of select="$minlat"/>
+      </xsl:when>
+      <xsl:when test="/rules/bounds">
+        <xsl:value-of select="/rules/bounds/@minlat"/>
+      </xsl:when>
+      <xsl:when test="$data/osm/bounds">
+        <xsl:for-each select="$data/osm/bounds/@minlat">
+          <xsl:sort data-type="number" order="ascending"/>
+          <xsl:if test="position()=1">
+            <xsl:value-of select="."/>
+          </xsl:if>
+        </xsl:for-each>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:for-each select="$data/osm/node/@lat">
+          <xsl:sort data-type="number" order="ascending"/>
+          <xsl:if test="position()=1">
+            <xsl:value-of select="."/>
+          </xsl:if>
+        </xsl:for-each>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+  <xsl:variable name="bottomLeftLongitude">
+    <xsl:choose>
+      <xsl:when test="$minlon">
+        <xsl:value-of select="$minlon"/>
+      </xsl:when>
+      <xsl:when test="/rules/bounds">
+        <xsl:value-of select="/rules/bounds/@minlon"/>
+      </xsl:when>
+      <xsl:when test="$data/osm/bounds">
+        <xsl:for-each select="$data/osm/bounds/@minlon">
+          <xsl:sort data-type="number" order="ascending"/>
+          <xsl:if test="position()=1">
+            <xsl:value-of select="."/>
+          </xsl:if>
+        </xsl:for-each>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:for-each select="$data/osm/node/@lon">
+          <xsl:sort data-type="number" order="ascending"/>
+          <xsl:if test="position()=1">
+            <xsl:value-of select="."/>
+          </xsl:if>
+        </xsl:for-each>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+  <xsl:variable name="topRightLatitude">
+    <xsl:choose>
+      <xsl:when test="$maxlat">
+        <xsl:value-of select="$maxlat"/>
+      </xsl:when>
+      <xsl:when test="/rules/bounds">
+        <xsl:value-of select="/rules/bounds/@maxlat"/>
+      </xsl:when>
+      <xsl:when test="$data/osm/bounds">
+        <xsl:for-each select="$data/osm/bounds/@maxlat">
+          <xsl:sort data-type="number" order="descending"/>
+          <xsl:if test="position()=1">
+            <xsl:value-of select="."/>
+          </xsl:if>
+        </xsl:for-each>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:for-each select="$data/osm/node/@lat">
+          <xsl:sort data-type="number" order="descending"/>
+          <xsl:if test="position()=1">
+            <xsl:value-of select="."/>
+          </xsl:if>
+        </xsl:for-each>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+  <xsl:variable name="topRightLongitude">
+    <xsl:choose>
+      <xsl:when test="$maxlon">
+        <xsl:value-of select="$maxlon"/>
+      </xsl:when>
+      <xsl:when test="/rules/bounds">
+        <xsl:value-of select="/rules/bounds/@maxlon"/>
+      </xsl:when>
+      <xsl:when test="$data/osm/bounds">
+        <xsl:for-each select="$data/osm/bounds/@maxlon">
+          <xsl:sort data-type="number" order="descending"/>
+          <xsl:if test="position()=1">
+            <xsl:value-of select="."/>
+          </xsl:if>
+        </xsl:for-each>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:for-each select="$data/osm/node/@lon">
+          <xsl:sort data-type="number" order="descending"/>
+          <xsl:if test="position()=1">
+            <xsl:value-of select="."/>
+          </xsl:if>
+        </xsl:for-each>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+
+  <!-- Derive the latitude of the middle of the map -->
+  <xsl:variable name="middleLatitude" select="($topRightLatitude + $bottomLeftLatitude) div 2.0"/>
+  <!--woohoo lets do trigonometry in xslt -->
+  <!--convert latitude to radians -->
+  <xsl:variable name="latr" select="$middleLatitude * 3.1415926 div 180.0"/>
+  <!--taylor series: two terms is 1% error at lat<68 and 10% error lat<83. we probably need polar projection by then -->
+  <xsl:variable name="coslat" select="1 - ($latr * $latr) div 2 + ($latr * $latr * $latr * $latr) div 24"/>
+  <xsl:variable name="projection" select="1 div $coslat"/>
+
+  <xsl:variable name="dataWidth" select="(number($topRightLongitude)-number($bottomLeftLongitude))*10000*$scale"/>
+  <xsl:variable name="dataHeight" select="(number($topRightLatitude)-number($bottomLeftLatitude))*10000*$scale*$projection"/>
+  <xsl:variable name="km" select="(0.0089928*$scale*10000*$projection)"/>
+
+  <xsl:variable name="documentWidth">
+    <xsl:choose>
+      <xsl:when test="$dataWidth &gt; (number(/rules/@minimumMapWidth) * $km)">
+        <xsl:value-of select="$dataWidth"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="number(/rules/@minimumMapWidth) * $km"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+
+  <xsl:variable name="documentHeight">
+    <xsl:choose>
+      <xsl:when test="$dataHeight &gt; (number(/rules/@minimumMapHeight) * $km)">
+        <xsl:value-of select="$dataHeight"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="number(/rules/@minimumMapHeight) * $km"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+
+  <xsl:variable name="width" select="($documentWidth div 2) + ($dataWidth div 2)"/>
+  <xsl:variable name="height" select="($documentHeight div 2) + ($dataHeight div 2)"/>
+
+  <xsl:variable name="symbols">
+
+    <xsl:variable name="allSymbols">
+
+       <xsl:if test="$symbolsDir != ''">
+         <!-- Get all symbols mentioned in the rules file from the symbolsDir -->
+         <xsl:for-each select="/rules//symbol/@ref | /rules//areaSymbol/@ref">
+           <xsl:variable name="symbolName" select="."/>
+           <xsl:variable name="file" select="document(concat($symbolsDir,'/', $symbolName, '.svg'))"/>
+
+           <xsl:choose>
+             <xsl:when test="$file/svg:svg/svg:defs/svg:symbol">
+               <symbol>
+                 <xsl:copy-of select="$file/svg:svg/svg:defs/svg:symbol/@*"/>
+                 <xsl:copy-of select="$file/svg:svg/svg:defs/svg:symbol/*"/>
+               </symbol>
+             </xsl:when>
+             <xsl:otherwise>
+               <symbol>
+                 <xsl:copy-of select="$file/svg:svg/@*"/>
+                 <xsl:attribute name="id">
+                   <xsl:value-of select="concat('symbol-', $symbolName)"/>
+                 </xsl:attribute>
+                 <xsl:copy-of select="$file/svg:svg/*"/>
+              </symbol>
+            </xsl:otherwise>
+          </xsl:choose>
+        </xsl:for-each>
+      </xsl:if>
+
+      <xsl:for-each select="/rules/defs/svg:svg">
+        <symbol>
+          <xsl:copy-of select="@*"/>
+          <xsl:copy-of select="*"/>
+        </symbol>
+      </xsl:for-each>
+      <xsl:copy-of select="/rules/defs/svg:symbol"/>
+    </xsl:variable>
+
+
+    <xsl:for-each select="exslt:node-set($allSymbols)/svg:symbol">
+      <xsl:sort select="@id"/>
+
+      <xsl:variable name="prev" select="preceding-sibling::svg:symbol[position()=1]"/>
+
+      <xsl:if test="not($prev) or $prev/@id != @id">
+        <xsl:copy-of select="."/>
+      </xsl:if>
+    </xsl:for-each>
+
+  </xsl:variable>
+
+  <xsl:variable name="labels" xmlns="http://openstreetmap.org/osmarender-labels-rtf">
+    <xsl:for-each select="$data/osm/relation[tag[@k='type' and @v='label']]">
+      <xsl:choose>
+        <xsl:when test="count(member[@role='object']) = 0"/>
+        <xsl:when test="count(member[@role='object']) = 1">
+          <area id="{member[@role='object']/@ref}">
+            <xsl:for-each select="member[@role='label']">
+              <label ref="{@ref}"/>
+            </xsl:for-each>
+          </area>
+        </xsl:when>
+        <xsl:otherwise>
+          <area id="{member[@role='object'][1]/@ref}">
+            <xsl:for-each select="member[@role='label']">
+              <label ref="{@ref}"/>
+            </xsl:for-each>
+          </area>
+          <area id="{member[@role='object'][position() != 1]/@ref}"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:for-each>
+  </xsl:variable>
+  
+  <xsl:variable name="instructionZIndex" xmlns="http://openstreetmap.org/osmarender-z-rtf">
+	  <instruction name="text" relative="true" value="1"/>
+  </xsl:variable>
+
+  <!-- Main template -->
+  <xsl:template match="/rules">
+
+    <!-- Include an external css stylesheet if one was specified in the rules file -->
+    <xsl:if test="@xml-stylesheet">
+      <xsl:processing-instruction name="xml-stylesheet">
+        href="<xsl:value-of select="@xml-stylesheet"/>" type="text/css"
+      </xsl:processing-instruction>
+    </xsl:if>
+
+    <xsl:variable name="svgWidth" select="$documentWidth + $extraWidth"/>
+    <xsl:variable name="svgHeight" select="$documentHeight + $marginaliaTopHeight + $marginaliaBottomHeight"/>
+
+    <svg id="main"
+  version="1.1"
+  baseProfile="{$svgBaseProfile}"
+  width="{$svgWidth}px"
+  height="{$svgHeight}px"
+  preserveAspectRatio="none"
+  viewBox="{-$extraWidth div 2} {-$extraHeight div 2} {$svgWidth} {$svgHeight}">
+      <xsl:if test="/rules/@interactive='yes'">
+        <xsl:attribute name="onscroll">fnOnScroll(evt)</xsl:attribute>
+        <xsl:attribute name="onzoom">fnOnZoom(evt)</xsl:attribute>
+        <xsl:attribute name="onload">fnOnLoad(evt)</xsl:attribute>
+        <xsl:attribute name="onmousedown">fnOnMouseDown(evt)</xsl:attribute>
+        <xsl:attribute name="onmousemove">fnOnMouseMove(evt)</xsl:attribute>
+        <xsl:attribute name="onmouseup">fnOnMouseUp(evt)</xsl:attribute>
+      </xsl:if>
+
+      <xsl:call-template name="metadata"/>
+
+      <!-- Include javaScript functions for all the dynamic stuff -->
+      <xsl:if test="/rules/@interactive='yes'">
+        <xsl:call-template name="javaScript"/>
+      </xsl:if>
+
+
+      <defs id="defs-rulefile">
+        <!-- Get any <defs> and styles from the rules file -->
+        <xsl:copy-of select="defs/*[local-name() != 'svg' and local-name() != 'symbol']"/>
+      </defs>
+      <!-- Symbols -->
+      <defs id="defs-symbols">
+        <xsl:copy-of select="$symbols"/>
+      </defs>
+      <!-- Included defs -->
+      <defs id="defs-included">
+        <xsl:for-each select="//include">
+          <xsl:copy-of select="document(@ref)/svg:svg/*"/>
+        </xsl:for-each>
+      </defs>
+
+      <!-- Pre-generate named path definitions for all ways -->
+      <xsl:variable name="allWays" select="$data/osm/way"/>
+      <defs id="defs-ways">
+        <xsl:for-each select="$allWays">
+          <xsl:call-template name="generateWayPaths"/>
+        </xsl:for-each>
+      </defs>
+
+      <!-- Clipping rectangle for map -->
+      <clipPath id="map-clipping">
+        <rect id="map-clipping-rect" x="0px" y="0px" height="{$documentHeight}px" width="{$documentWidth}px"/>
+      </clipPath>
+
+      <g id="map" clip-path="url(#map-clipping)" inkscape:groupmode="layer" inkscape:label="Map" transform="translate(0,{$marginaliaTopHeight})">
+        <!-- Draw a nice background layer -->
+        <rect id="background" x="0px" y="0px" height="{$documentHeight}px" width="{$documentWidth}px" class="map-background"/>
+
+        <!-- Process all the rules drawing all map features -->
+        <xsl:call-template name="processRules"/>
+      </g>
+
+      <!-- Draw map decoration -->
+      <g id="map-decoration" inkscape:groupmode="layer" inkscape:label="Map decoration" transform="translate(0,{$marginaliaTopHeight})">
+        <!-- Draw a grid if required -->
+        <xsl:if test="$showGrid='yes'">
+          <xsl:call-template name="drawGrid"/>
+        </xsl:if>
+
+        <!-- Draw a border if required -->
+        <xsl:if test="$showBorder='yes'">
+          <xsl:call-template name="drawBorder"/>
+        </xsl:if>
+      </g>
+
+      <!-- Draw map marginalia -->
+      <xsl:if test="($title != '') or ($showScale = 'yes') or ($showLicense = 'yes')">
+        <g id="marginalia" inkscape:groupmode="layer" inkscape:label="Marginalia">
+          <!-- Draw the title -->
+          <xsl:if test="$title!=''">
+            <xsl:call-template name="drawTitle">
+              <xsl:with-param name="title" select="$title"/>
+            </xsl:call-template>
+          </xsl:if>
+
+          <xsl:if test="($showScale = 'yes') or ($showLicense = 'yes')">
+            <g id="marginalia-bottom" inkscape:groupmode="layer" inkscape:label="Marginalia (Bottom)" transform="translate(0,{$marginaliaTopHeight})">
+              <!-- Draw background for marginalia at bottom -->
+              <rect id="marginalia-background" x="0px" y="{$documentHeight + 5}px" height="40px" width="{$documentWidth}px" class="map-marginalia-background"/>
+
+              <!-- Draw the scale in the bottom left corner -->
+              <xsl:if test="$showScale='yes'">
+                <xsl:call-template name="drawScale"/>
+              </xsl:if>
+
+              <!-- Draw Creative commons license -->
+              <xsl:if test="$showLicense='yes'">
+                <xsl:call-template name="in-image-license">
+                  <xsl:with-param name="dx" select="$documentWidth"/>
+                  <xsl:with-param name="dy" select="$documentHeight"/>
+                </xsl:call-template>
+              </xsl:if>
+            </g>
+          </xsl:if>
+        </g>
+      </xsl:if>
+
+      <!-- Draw labels and controls that are in a static position -->
+      <g id="staticElements" transform="scale(1) translate(0,0)">
+        <!-- Draw the +/- zoom controls -->
+        <xsl:if test="/rules/@interactive='yes'">
+          <xsl:call-template name="zoomControl"/>
+        </xsl:if>
+      </g>
+    </svg>
+
+  </xsl:template>
+
+  <!-- Path Fragment Drawing -->
+  <xsl:template name="drawPath">
+    <xsl:param name='instruction' />
+    <xsl:param name='pathId'/>
+    <xsl:param name='extraClasses'/>
+    <xsl:param name='extraStyles'/>
+
+    <xsl:variable name="maskId" select="concat('mask_',$pathId)"/>
+
+    <xsl:call-template name='generateMask'>
+      <xsl:with-param name='instruction' select='$instruction'/>
+      <xsl:with-param name='pathId' select='$pathId'/>
+      <xsl:with-param name='maskId' select='$maskId'/>
+    </xsl:call-template>
+
+    <use xlink:href="#{$pathId}">
+      <!-- Copy all attributes from instruction -->
+      <xsl:apply-templates select="$instruction/@*" mode="copyAttributes" />
+      <!-- Add in any extra classes -->
+      <xsl:attribute name="class">
+        <xsl:value-of select='$instruction/@class'/>
+        <xsl:text> </xsl:text>
+        <xsl:value-of select="$extraClasses"/>
+      </xsl:attribute>
+      <!-- If there is a mask class then include the mask attribute -->
+      <xsl:if test='$instruction/@mask-class'>
+        <xsl:attribute name="mask">url(#<xsl:value-of select="$maskId"/>)</xsl:attribute>
+      </xsl:if>
+      <xsl:call-template name="getSvgAttributesFromOsmTags"/>
+      <!-- Add additional style definitions if set -->
+      <xsl:if test="string($extraStyles) != ''">
+        <xsl:attribute name="style">
+          <xsl:value-of select="$extraStyles"/>
+        </xsl:attribute> 
+      </xsl:if>
+    </use>
+  </xsl:template>
+
+
+  <xsl:template name='generateMask'>
+    <xsl:param name='instruction' />
+    <xsl:param name='pathId'/>
+    <xsl:param name='maskId'/>
+
+    <!-- If the instruction has a mask class -->
+    <xsl:if test='$instruction/@mask-class'>
+      <mask id="{$maskId}" maskUnits="userSpaceOnUse">
+        <use xlink:href="#{$pathId}" class="{$instruction/@mask-class} osmarender-stroke-linecap-round osmarender-mask-black" />
+        <!-- Required for Inkscape bug -->
+        <use xlink:href="#{$pathId}" class="{$instruction/@class} osmarender-mask-white" />
+        <use xlink:href="#{$pathId}" class="{$instruction/@mask-class} osmarender-stroke-linecap-round osmarender-mask-black" />
+      </mask>
+    </xsl:if>
+  </xsl:template>
+
+
+
+  <!-- Draw a line for the current <way> element using the formatting of the current <line> instruction -->
+  <xsl:template name="drawWay">
+    <xsl:param name="instruction"/>
+    <xsl:param name="way"/>
+    <!-- The current way element if applicable -->
+
+   	<xsl:variable name="layer">
+		<xsl:choose>
+			<xsl:when test="$way/tag[@k='layer']">
+				<xsl:value-of select="$way/tag[@k='layer']/@v"/>
+			</xsl:when>
+			<xsl:otherwise>0</xsl:otherwise>
+		</xsl:choose>
+	</xsl:variable>
+
+
+    <xsl:variable name="extraClasses">
+      <xsl:if test="$instruction/@suppress-markers-tag != ''">
+        <xsl:variable name="suppressMarkersTag" select="$instruction/@suppress-markers-tag" />
+        <xsl:variable name="firstNode" select="key('nodeById',$way/nd[1]/@ref)"/>
+        <xsl:variable name="firstNodeMarkerGroupConnectionCount"
+                      select="count(key('wayByNode',$firstNode/@id)/tag[@k=$suppressMarkersTag and ( @v = 'yes' or @v = 'true' )])" />
+        <xsl:variable name="lastNode" select="key('nodeById',$way/nd[last()]/@ref)"/>
+        <xsl:variable name="lastNodeMarkerGroupConnectionCount"
+                      select="count(key('wayByNode',$lastNode/@id)/tag[@k=$suppressMarkersTag and ( @v = 'yes' or @v = 'true' )])" />
+       
+        <xsl:if test="$firstNodeMarkerGroupConnectionCount > 1">osmarender-no-marker-start</xsl:if>
+        <xsl:if test="$lastNodeMarkerGroupConnectionCount > 1"> osmarender-no-marker-end</xsl:if>
+      </xsl:if>
+    </xsl:variable>
+
+    <xsl:variable name='extraStyles'>
+      <!-- honor-width feature
+           
+           If current instruction has 'honor-width' set to 'yes', make use of the
+           way's 'width' tag by adding an extra 'style' attribute to current way
+           (setting stroke-width to a new value).
+      -->
+
+      <xsl:if test="$instruction/@honor-width = 'yes'">
+        <!-- Get minimum width, use default of '0.1' if not set -->
+        <xsl:variable name='minimumWayWidth'>
+          <xsl:choose>
+            <xsl:when test='$instruction/@minimum-width'><xsl:value-of select='$instruction/@minimum-width'/></xsl:when>
+            <xsl:otherwise>0.1</xsl:otherwise>
+          </xsl:choose>
+        </xsl:variable>
+
+        <!-- Get maximum width, use default of '100' if not set -->
+        <xsl:variable name='maximumWayWidth'>
+          <xsl:choose>
+            <xsl:when test='$instruction/@maximum-width'><xsl:value-of select='$instruction/@maximum-width'/></xsl:when>
+            <xsl:otherwise>100</xsl:otherwise>
+          </xsl:choose>
+        </xsl:variable>
+
+        <xsl:variable name='givenWidth'>
+          <xsl:variable name='width'>
+            <xsl:choose>
+              <xsl:when test="contains($way/tag[@k = 'width']/@v, ' m')">
+                  <xsl:value-of select="substring-before($way/tag[@k = 'width']/@v, ' m')" />
+              </xsl:when>
+              <xsl:when test="contains($way/tag[@k = 'width']/@v, 'm')">
+                  <xsl:value-of select="substring-before($way/tag[@k = 'width']/@v, 'm')" />
+              </xsl:when>
+              <xsl:otherwise><xsl:value-of select="$way/tag[@k = 'width']/@v"/></xsl:otherwise>
+            </xsl:choose>
+          </xsl:variable>
+
+          <xsl:choose>
+            <xsl:when test='$width &lt; $minimumWayWidth'><xsl:value-of select='$minimumWayWidth'/></xsl:when>
+            <xsl:when test='$width &gt; $maximumWayWidth'><xsl:value-of select='$maximumWayWidth'/></xsl:when>
+            <xsl:otherwise><xsl:value-of select='$width'/></xsl:otherwise>
+          </xsl:choose>
+        </xsl:variable>
+
+        <xsl:if test="number($givenWidth) &gt; 0">
+
+          <!-- Get scaling factor, use default of '1' (no scaling) if not set -->
+          <xsl:variable name='ScaleFactor'>
+            <xsl:choose>
+              <xsl:when test="$instruction/@width-scale-factor != ''">
+                <xsl:value-of select='$instruction/@width-scale-factor'/>
+              </xsl:when>
+              <xsl:otherwise>1</xsl:otherwise>
+            </xsl:choose>
+          </xsl:variable>
+
+          <!-- Set extraStyles' value -->
+          <xsl:if test="number($givenWidth) &gt; 0">
+            <xsl:choose>
+              <xsl:when test="number($meter2pixelFactor)">
+                <xsl:value-of select="concat('stroke-width:', ($ScaleFactor * $givenWidth * $meter2pixelFactor), 'px')"/>
+              </xsl:when>
+              <xsl:otherwise>
+                <xsl:value-of select="concat('stroke-width:', ($ScaleFactor * $givenWidth * 0.1375), 'px')"/>
+              </xsl:otherwise>
+            </xsl:choose>
+          </xsl:if>
+
+        </xsl:if>
+      </xsl:if>
+    </xsl:variable>
+
+    <xsl:choose>
+      <xsl:when test="$instruction/@smart-linecap='no'">
+        <xsl:call-template name='drawPath'>
+          <xsl:with-param name='pathId' select="concat('way_normal_',$way/@id)"/>
+          <xsl:with-param name='instruction' select='$instruction'/>
+          <xsl:with-param name="extraClasses" select='$extraClasses'/>
+          <xsl:with-param name="extraStyles" select='$extraStyles'/>
+        </xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:call-template name="drawWayWithSmartLinecaps">
+          <xsl:with-param name="instruction" select="$instruction"/>
+          <xsl:with-param name="way" select="$way"/>
+          <xsl:with-param name="extraClasses" select='$extraClasses'/>
+          <xsl:with-param name="extraStyles" select='$extraStyles'/>
+        </xsl:call-template>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+
+  <xsl:template name="drawWayWithSmartLinecaps">
+    <xsl:param name="instruction"/>
+    <xsl:param name="way"/>
+    <!-- The current way element if applicable -->
+    <xsl:param name="extraClasses"/>
+    <xsl:param name="extraStyles"/>
+	
+	<xsl:variable name="layer">
+		<xsl:choose>
+			<xsl:when test="$way/tag[@k='layer']">
+				<xsl:value-of select="$way/tag[@k='layer']/@v"/>
+			</xsl:when>
+			<xsl:otherwise>0</xsl:otherwise>
+		</xsl:choose>
+	</xsl:variable>
+
+    <!-- The first half of the first segment and the last half of the last segment are treated differently from the main
+			part of the way path.  The main part is always rendered with a butt line-cap.  Each end fragment is rendered with
+			either a round line-cap, if it connects to some other path, or with its default line-cap if it is not connected
+			to anything.  That way, cul-de-sacs etc are terminated with round, square or butt as specified in the style for the
+			way. -->
+
+    <!-- First draw the middle section of the way with round linejoins and butt linecaps -->
+    <xsl:if test="count($way/nd) &gt; 1">
+      <xsl:call-template name='drawPath'>
+        <xsl:with-param name='pathId' select="concat('way_mid_',$way/@id)"/>
+        <xsl:with-param name='instruction' select='$instruction'/>
+        <xsl:with-param name='extraClasses'>osmarender-stroke-linecap-butt osmarender-no-marker-start osmarender-no-marker-end</xsl:with-param>
+        <xsl:with-param name='extraStyles' select='$extraStyles'/>
+      </xsl:call-template>
+    </xsl:if>
+
+
+    <!-- For the first half segment in the way, count the number of segments that link to the from-node of this segment.
+			Also count links where the layer tag is less than the layer of this way, if there are links on a lower layer then
+			we can safely draw a butt line-cap because the lower layer will already have a round line-cap. -->
+    <!-- Process the first segment in the way -->
+    <xsl:variable name="firstNode" select="key('nodeById',$way/nd[1]/@ref)"/>
+
+    <!-- Count the number of segments connecting to the from node. If there is only one (the current segment) then draw a default line.  -->
+    <xsl:variable name="firstNodeConnectionCount" select="count(key('wayByNode',$firstNode/@id))" />
+
+    <!-- Count the number of connectors at a layer lower than the current layer -->
+    <xsl:variable name="firstNodeLowerLayerConnectionCount" select="
+			count(key('wayByNode',$firstNode/@id)/tag[@k='layer' and @v &lt; $layer]) +
+			count(key('wayByNode',$firstNode/@id)[count(tag[@k='layer'])=0 and $layer &gt; 0])
+			" />
+    <xsl:choose>
+      <xsl:when test="$firstNodeConnectionCount=1">
+        <xsl:call-template name='drawPath'>
+          <xsl:with-param name='pathId' select="concat('way_start_',$way/@id)"/>
+          <xsl:with-param name='instruction' select='$instruction'/>
+          <xsl:with-param name="extraClasses"><xsl:value-of select="$extraClasses"/> osmarender-no-marker-end</xsl:with-param>
+          <xsl:with-param name='extraStyles' select='$extraStyles'/>
+        </xsl:call-template>
+      </xsl:when>
+      <xsl:when test="$firstNodeLowerLayerConnectionCount>0">
+        <xsl:call-template name='drawPath'>
+          <xsl:with-param name='pathId' select="concat('way_start_',$way/@id)"/>
+          <xsl:with-param name='instruction' select='$instruction'/>
+          <xsl:with-param name="extraClasses"><xsl:value-of select="$extraClasses"/> osmarender-stroke-linecap-butt osmarender-no-marker-end</xsl:with-param>
+          <xsl:with-param name='extraStyles' select='$extraStyles'/>
+        </xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:call-template name='drawPath'>
+          <xsl:with-param name='pathId' select="concat('way_start_',$way/@id)"/>
+          <xsl:with-param name='instruction' select='$instruction'/>
+          <xsl:with-param name="extraClasses"><xsl:value-of select="$extraClasses"/>  osmarender-stroke-linecap-round osmarender-no-marker-end</xsl:with-param>
+          <xsl:with-param name='extraStyles' select='$extraStyles'/>
+        </xsl:call-template>
+      </xsl:otherwise>
+
+    </xsl:choose>
+
+
+    <!-- Process the last segment in the way -->
+    <xsl:variable name="lastNode" select="key('nodeById',$way/nd[last()]/@ref)"/>
+
+    <!-- Count the number of segments connecting to the last node. If there is only one (the current segment) then draw
+		     a default line.  -->
+    <xsl:variable name="lastNodeConnectionCount" select="count(key('wayByNode',$lastNode/@id))" />
+
+    <!-- Count the number of connectors at a layer lower than the current layer -->
+    <xsl:variable name="lastNodeLowerLayerConnectionCount" select="
+			count(key('wayByNode',$lastNode/@id)/tag[@k='layer' and @v &lt; $layer]) +
+			count(key('wayByNode',$lastNode/@id)[count(tag[@k='layer'])=0 and $layer &gt; 0])
+			" />
+
+
+    <xsl:choose>
+      <xsl:when test="$lastNodeConnectionCount=1">
+        <xsl:call-template name='drawPath'>
+          <xsl:with-param name='pathId' select="concat('way_end_',$way/@id)"/>
+          <xsl:with-param name='instruction' select='$instruction'/>
+          <xsl:with-param name="extraClasses"><xsl:value-of select="$extraClasses"/> osmarender-no-marker-start</xsl:with-param>
+          <xsl:with-param name='extraStyles' select='$extraStyles'/>
+        </xsl:call-template>
+      </xsl:when>
+      <xsl:when test="$lastNodeLowerLayerConnectionCount>0">
+        <xsl:call-template name='drawPath'>
+          <xsl:with-param name='pathId' select="concat('way_end_',$way/@id)"/>
+          <xsl:with-param name='instruction' select='$instruction'/>
+          <xsl:with-param name="extraClasses"><xsl:value-of select="$extraClasses"/> osmarender-stroke-linecap-butt osmarender-no-marker-start</xsl:with-param>
+          <xsl:with-param name='extraStyles' select='$extraStyles'/>
+        </xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:call-template name='drawPath'>
+          <xsl:with-param name='pathId' select="concat('way_end_',$way/@id)"/>
+          <xsl:with-param name='instruction' select='$instruction'/>
+          <xsl:with-param name="extraClasses"><xsl:value-of select="$extraClasses"/> osmarender-stroke-linecap-round osmarender-no-marker-start</xsl:with-param>
+          <xsl:with-param name='extraStyles' select='$extraStyles'/>
+        </xsl:call-template>
+      </xsl:otherwise>
+
+    </xsl:choose>
+
+  </xsl:template>
+
+
+  <!-- Draw a circle for the current <node> element using the formatting of the current <circle> instruction -->
+  <xsl:template name="drawCircle">
+    <xsl:param name="instruction"/>
+    <xsl:param name="lat"><xsl:value-of select="@lat" /></xsl:param>
+    <xsl:param name="lon"><xsl:value-of select="@lon" /></xsl:param>
+
+    <xsl:variable name="x" select="($width)-((($topRightLongitude)-($lon))*10000*$scale)"/>
+    <xsl:variable name="y" select="($height)+((($bottomLeftLatitude)-($lat))*10000*$scale*$projection)"/>
+
+    <circle cx="{$x}" cy="{$y}">
+      <xsl:apply-templates select="$instruction/@*" mode="copyAttributes"/>
+      <!-- Copy all the svg attributes from the <circle> instruction -->
+    </circle>
+  </xsl:template>
+
+  <xsl:template name="renderSymbol">
+    <xsl:param name="instruction"/>
+    <xsl:param name="lon"/>
+    <xsl:param name="lat"/>
+
+    <xsl:variable name="x" select="($width)-((($topRightLongitude)-($lon))*10000*$scale)"/>
+    <xsl:variable name="y" select="($height)+((($bottomLeftLatitude)-($lat))*10000*$scale*$projection)"/>
+
+    <xsl:variable name="symbol" select="exslt:node-set($symbols)/svg:symbol[@id=concat('symbol-',$instruction/@ref)]"/>
+
+    <xsl:variable name="useElement">
+      <use>
+        <xsl:if test="$instruction/@ref">
+          <xsl:attribute name="xlink:href">
+            <xsl:value-of select="concat('#symbol-', $instruction/@ref)"/>
+          </xsl:attribute>
+        </xsl:if>
+
+        <!-- Use symbol size by default  -->
+        <xsl:attribute name="width">
+          <xsl:value-of select="$symbol/@width"/>
+        </xsl:attribute>
+
+        <xsl:attribute name="height">
+          <xsl:value-of select="$symbol/@height"/>
+        </xsl:attribute>
+
+        <xsl:apply-templates select="$instruction/@*" mode="copyAttributes"/>
+	<!-- Copy all the attributes from the <symbol> instruction. Overwrite width and heigth if specified -->
+
+         <!-- Clear transform attribute. It's set later to <g> before symbolShift to make symbol centering work -->
+        <xsl:attribute name="transform"/>
+      </use>
+    </xsl:variable>
+
+    <!-- Move symbol based on position attribute -->
+    <xsl:variable name="symbolShift">
+      <xsl:if test="$instruction[@position='center']">
+        <xsl:value-of select="concat('translate(', -number(exslt:node-set($useElement)/svg:use/@width) div 2.0, ',', - number(exslt:node-set($useElement)/svg:use/@height) div 2.0, ')')"/>
+      </xsl:if>
+    </xsl:variable>
+
+    <g transform="translate({$x},{$y}) scale({$symbolScale}) {$instruction/@transform} {$symbolShift}">
+	<xsl:copy-of select="$useElement"/>
+    </g>
+  </xsl:template>
+
+
+  <!-- Draw a symbol for the current <node> element using the formatting of the current <symbol> instruction -->
+  <xsl:template name="drawSymbol">
+    <xsl:param name="instruction"/>
+
+    <xsl:call-template name="renderSymbol">
+      <xsl:with-param name="instruction" select="$instruction"/>
+      <xsl:with-param name="lon" select="@lon"/>
+      <xsl:with-param name="lat" select="@lat"/>
+    </xsl:call-template>
+
+  </xsl:template>
+
+
+  <!-- Render the appropriate attribute of the current <node> element using the formatting of the current <text> instruction -->
+  <xsl:template name="renderText">
+    <xsl:param name="instruction"/>
+    <xsl:param name="lon"/>
+    <xsl:param name="lat"/>
+    <xsl:param name="text"/>
+
+    <xsl:variable name="x" select="($width)-((($topRightLongitude)-($lon))*10000*$scale)"/>
+    <xsl:variable name="y" select="($height)+((($bottomLeftLatitude)-($lat))*10000*$scale*$projection)"/>
+
+    <text>
+      <xsl:apply-templates select="$instruction/@*" mode="copyAttributes"/>
+      <xsl:attribute name="x">
+        <xsl:value-of select="$x"/>
+      </xsl:attribute>
+      <xsl:attribute name="y">
+        <xsl:value-of select="$y"/>
+      </xsl:attribute>
+      <xsl:call-template name="getSvgAttributesFromOsmTags"/>
+      <xsl:value-of select="$text"/>
+    </text>
+  </xsl:template>
+
+
+  <!-- Render the appropriate attribute of the current <segment> element using the formatting of the current <textPath> instruction -->
+  <xsl:template name="renderTextPath">
+    <xsl:param name="instruction"/>
+    <xsl:param name="pathId"/>
+    <xsl:param name="pathDirection"/>
+    <xsl:param name='text'/>
+
+    <xsl:variable name='pathLengthSquared'>
+      <xsl:call-template name='getPathLength'>
+        <xsl:with-param name='pathLengthMultiplier'>
+          <!-- This factor is used to adjust the path-length for comparison with text along a path to determine whether it will fit. -->
+          <xsl:choose>
+            <xsl:when test='$instruction/@textAttenuation'>
+              <xsl:value-of select='$instruction/@textAttenuation'/>
+            </xsl:when>
+            <xsl:when test='string($textAttenuation)'>
+              <xsl:value-of select='$textAttenuation'/>
+            </xsl:when>
+            <xsl:otherwise>99999999</xsl:otherwise>
+          </xsl:choose>
+        </xsl:with-param>
+        <xsl:with-param name='nodes' select='nd'/>
+      </xsl:call-template>
+    </xsl:variable>
+
+    <xsl:variable name='textLength' select='string-length($text)' />
+    <xsl:variable name='textLengthSquared100' select='($textLength)*($textLength)' />
+    <xsl:variable name='textLengthSquared90' select='($textLength *.9)*($textLength*.9)' />
+    <xsl:variable name='textLengthSquared80' select='($textLength *.8)*($textLength*.8)' />
+    <xsl:variable name='textLengthSquared70' select='($textLength *.7)*($textLength*.7)' />
+
+    <xsl:choose>
+      <xsl:when test='($pathLengthSquared) > $textLengthSquared100'>
+        <text>
+          <xsl:apply-templates select="$instruction/@*" mode="renderTextPath-text"/>
+          <textPath xlink:href="#{$pathId}">
+            <xsl:apply-templates select="$instruction/@*" mode="renderTextPath-textPath"/>
+            <xsl:call-template name="getSvgAttributesFromOsmTags"/>
+            <xsl:value-of select="$text"/>
+          </textPath>
+        </text>
+      </xsl:when>
+      <xsl:when test='($pathLengthSquared) > ($textLengthSquared90)'>
+        <text>
+          <xsl:apply-templates select="$instruction/@*" mode="renderTextPath-text"/>
+          <textPath xlink:href="#{$pathId}">
+            <xsl:attribute name='font-size'>90%</xsl:attribute>
+            <xsl:apply-templates select="$instruction/@*" mode="renderTextPath-textPath"/>
+            <xsl:call-template name="getSvgAttributesFromOsmTags"/>
+            <xsl:value-of select="$text"/>
+          </textPath>
+        </text>
+      </xsl:when>
+      <xsl:when test='($pathLengthSquared) > ($textLengthSquared80)'>
+        <text>
+          <xsl:apply-templates select="$instruction/@*" mode="renderTextPath-text"/>
+          <textPath xlink:href="#{$pathId}">
+            <xsl:attribute name='font-size'>80%</xsl:attribute>
+            <xsl:apply-templates select="$instruction/@*" mode="renderTextPath-textPath"/>
+            <xsl:call-template name="getSvgAttributesFromOsmTags"/>
+            <xsl:value-of select="$text"/>
+          </textPath>
+        </text>
+      </xsl:when>
+      <xsl:when test='($pathLengthSquared) > ($textLengthSquared70)'>
+        <text>
+          <xsl:apply-templates select="$instruction/@*" mode="renderTextPath-text"/>
+          <textPath xlink:href="#{$pathId}">
+            <xsl:attribute name='font-size'>70%</xsl:attribute>
+            <xsl:apply-templates select="$instruction/@*" mode="renderTextPath-textPath"/>
+            <xsl:call-template name="getSvgAttributesFromOsmTags"/>
+            <xsl:value-of select="$text"/>
+          </textPath>
+        </text>
+      </xsl:when>
+      <xsl:otherwise />
+      <!-- Otherwise don't render the text -->
+    </xsl:choose>
+  </xsl:template>
+
+
+  <xsl:template name='getPathLength'>
+    <xsl:param name='sumLon' select='number("0")' />
+    <!-- initialise sum to zero -->
+    <xsl:param name='sumLat' select='number("0")' />
+    <!-- initialise sum to zero -->
+    <xsl:param name='nodes'/>
+    <xsl:param name='pathLengthMultiplier'/>
+    <xsl:choose>
+      <xsl:when test='$nodes[1] and $nodes[2]'>
+        <xsl:variable name='fromNode' select='key("nodeById",$nodes[1]/@ref)'/>
+        <xsl:variable name='toNode' select='key("nodeById",$nodes[2]/@ref)'/>
+        <xsl:variable name='lengthLon' select='($fromNode/@lon)-($toNode/@lon)'/>
+        <xsl:variable name='absLengthLon'>
+          <xsl:choose>
+            <xsl:when test='$lengthLon &lt; 0'>
+              <xsl:value-of select='$lengthLon * -1'/>
+            </xsl:when>
+            <xsl:otherwise>
+              <xsl:value-of select='$lengthLon'/>
+            </xsl:otherwise>
+          </xsl:choose>
+        </xsl:variable>
+        <xsl:variable name='lengthLat' select='($fromNode/@lat)-($toNode/@lat)'/>
+        <xsl:variable name='absLengthLat'>
+          <xsl:choose>
+            <xsl:when test='$lengthLat &lt; 0'>
+              <xsl:value-of select='$lengthLat * -1'/>
+            </xsl:when>
+            <xsl:otherwise>
+              <xsl:value-of select='$lengthLat'/>
+            </xsl:otherwise>
+          </xsl:choose>
+        </xsl:variable>
+        <xsl:call-template name='getPathLength'>
+          <xsl:with-param name='sumLon' select='$sumLon+$absLengthLon'/>
+          <xsl:with-param name='sumLat' select='$sumLat+$absLengthLat'/>
+          <xsl:with-param name='nodes' select='$nodes[position()!=1]'/>
+          <xsl:with-param name='pathLengthMultiplier' select='$pathLengthMultiplier'/>
+        </xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+        <!-- Add the square of the total horizontal length to the square of the total vertical length to get the square of
+				     the total way length.  We don't have a sqrt() function so leave it squared.
+				     Multiply by 1,000 so that we are usually dealing with a values greater than 1.  Squares of values between 0 and 1
+				     are smaller and so not very useful.
+				     Multiply the latitude component by $projection to adjust for Mercator projection issues. 
+				     -->
+        <xsl:value-of select='(
+					(($sumLon*1000*$pathLengthMultiplier)*($sumLon*1000*$pathLengthMultiplier))+
+					(($sumLat*1000*$pathLengthMultiplier*$projection)*($sumLat*1000*$pathLengthMultiplier*$projection))
+					)'/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+
+  <!-- Suppress the following attributes, allow everything else -->
+  <xsl:template match="@startOffset|@method|@spacing|@lengthAdjust|@textLength|@k" mode="renderTextPath-text" />
+
+  <xsl:template match="@*" mode="renderTextPath-text">
+    <xsl:copy/>
+  </xsl:template>
+
+
+  <!-- Allow the following attributes, suppress everything else -->
+  <xsl:template match="@startOffset|@method|@spacing|@lengthAdjust|@textLength" mode="renderTextPath-textPath">
+    <xsl:copy/>
+  </xsl:template>
+
+  <xsl:template match="@*" mode="renderTextPath-textPath" />
+
+
+  <!-- If there are any tags like <tag k="svg:font-size" v="5"/> then add these as attributes of the svg output -->
+  <xsl:template name="getSvgAttributesFromOsmTags">
+    <xsl:for-each select="tag[contains(@k,'svg:')]">
+      <xsl:attribute name="{substring-after(@k,'svg:')}">
+        <xsl:value-of select="@v"/>
+      </xsl:attribute>
+    </xsl:for-each>
+  </xsl:template>
+
+
+
+	<xsl:template match="line|area|symbol|areaSymbol|circle|wayMarker|text|areaText|caption|pathText">
+		<xsl:param name="elements"/>
+				
+		<xsl:variable name="instruction" select="."/>
+				
+		<xsl:for-each select="$elements">
+			<z:command>
+				<xsl:attribute name="layer">
+					<xsl:choose>
+						<xsl:when test="$instruction/@layer">
+							<xsl:value-of select="$instruction/@layer"/>
+						</xsl:when>
+						<xsl:when test="tag[@k='layer']">
+							<xsl:value-of select="tag[@k='layer']/@v"/>
+						</xsl:when>
+						<xsl:otherwise>0</xsl:otherwise>
+					</xsl:choose>
+				</xsl:attribute>
+
+				<xsl:attribute name="labels">
+					<xsl:value-of select="concat('|',local-name($instruction),'|',$instruction/@labels,'|')"/>
+				</xsl:attribute>
+
+				<z:instruction>
+					<xsl:copy-of select="$instruction"/>
+				</z:instruction>
+				<z:element id="{@id}" type="{local-name()}"/>
+			</z:command>
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template match="set-attribute">
+		<xsl:param name="elements"/>
+		
+		<!-- TODO: Don't save id's for global actions. It's a waste of memory -->
+		<z:set-attribute name="{@name}" value="{@value}" for-label="{concat('|',@for-label,'|')}">
+			<xsl:for-each select="$elements">
+				<z:element id="{@id}"/>
+			</xsl:for-each>
+		</z:set-attribute>
+	</xsl:template>
+
+	<xsl:template match="delete">
+		<xsl:param name="elements"/>
+		
+		<!-- TODO: Don't save id's for global actions. It's a waste of memory -->
+		<z:delete name="{@name}" value="{@value}" for-label="{concat('|',@for-label,'|')}">
+			<xsl:for-each select="$elements">
+				<z:element id="{@id}"/>
+			</xsl:for-each>
+		</z:delete>
+	</xsl:template>
+
+  <!-- Templates to process line, circle, text, etc. instructions -->
+  <!-- Each template is passed a variable containing the set of elements that need to
+         be processed.  The set of elements is already determined by the rules, so
+         these templates don't need to know anything about the rules context they are in. -->
+
+  <!-- Process a <line> instruction -->
+  <xsl:template match="line" mode="render">
+    <xsl:param name="elements"/>
+
+    <!-- This is the instruction that is currently being processed -->
+    <xsl:variable name="instruction" select="."/>
+
+      <!-- For each way -->
+	  <xsl:apply-templates select="$elements" mode="line">
+		  <xsl:with-param name="instruction" select="$instruction"/>
+	  </xsl:apply-templates>
+
+  </xsl:template>
+
+
+  <!-- Suppress output of any unhandled elements -->
+  <xsl:template match="*" mode="line"/>
+
+
+  <!-- Draw lines for a way  -->
+  <xsl:template match="way" mode="line">
+    <xsl:param name="instruction"/>
+
+    <!-- The current <way> element -->
+    <xsl:variable name="way" select="."/>
+
+    <!-- DODI: !!!WORKAROUND!!! skip one node ways-->
+    <xsl:if test="count($way/nd) &gt; 1">
+		<xsl:call-template name="drawWay">
+			<xsl:with-param name="instruction" select="$instruction"/>
+			<xsl:with-param name="way" select="$way"/>
+		</xsl:call-template>				
+    </xsl:if >
+  </xsl:template>
+
+
+  <!-- Draw lines for a relation -->
+  <xsl:template match="relation" mode="line">
+    <xsl:param name="instruction"/>
+
+    <xsl:variable name="relation" select="@id"/>
+
+    <xsl:if test="(tag[@k='type']/@v='route') and ($showRelationRoute!='~|no')">
+      <!-- Draw lines for a RelationRoute -->
+      <xsl:for-each select="$data/osm/relation[@id=$relation]/member[@type='way']">
+        <xsl:variable name="wayid" select="@ref"/>
+
+		<xsl:for-each select="$data/osm/way[@id=$wayid]">
+			<!-- The current <way> element -->
+			<xsl:variable name="way" select="."/>
+				
+			<!-- DODI: !!!WORKAROUND!!! skip one node ways-->
+			<xsl:if test="count($way/nd) &gt; 1">
+				<xsl:call-template name="drawWay">
+					<xsl:with-param name="instruction" select="$instruction"/>
+					<xsl:with-param name="way" select="$way"/>
+				</xsl:call-template>
+			</xsl:if >
+		</xsl:for-each >
+      </xsl:for-each >
+    </xsl:if>
+
+    <!-- Handle other types of Relations if necessary -->
+
+  </xsl:template>
+
+
+  <!-- Process an <area> instruction -->
+  <xsl:template match="area" mode="render">
+    <xsl:param name="elements"/>
+
+    <!-- This is the instruction that is currently being processed -->
+    <xsl:variable name="instruction" select="."/>
+	
+      <!-- For each way -->
+      <xsl:apply-templates select="$elements" mode="area">
+        <xsl:with-param name="instruction" select="$instruction"/>
+      </xsl:apply-templates>
+  </xsl:template>
+
+
+  <!-- Discard anything that is not matched by a more specific template -->
+  <xsl:template match="*" mode="area"/>
+
+
+  <!-- Draw area for a <way> -->
+  <xsl:template match="way" mode="area">
+    <xsl:param name="instruction"/>
+
+    <!-- DODI:  removed because duplicate definition generated if area referenced 2 or more times -->
+    <!-- DODI:  reenabled because of "duplicate point detection in lines2curves.pl " -->
+    <!-- <xsl:call-template name="generateAreaPath"/> -->
+
+    <xsl:variable name="pathArea">
+      <xsl:call-template name="generateAreaPath"/>
+    </xsl:variable>
+
+    <!-- DODI: do now draw empty ways/areas-->
+    <xsl:if test ="$pathArea">
+		<path d="{$pathArea}" style="fill-rule:evenodd">
+			<xsl:apply-templates select="$instruction/@*" mode="copyAttributes"/>
+		</path>
+    </xsl:if>
+  </xsl:template>
+
+
+  <!-- Process <circle> instruction -->
+  <xsl:template match="circle" mode="render">
+    <xsl:param name="elements"/>
+
+    <!-- This is the instruction that is currently being processed -->
+    <xsl:variable name="instruction" select="."/>
+
+    <!-- For each circle -->
+    <xsl:apply-templates select="$elements" mode="circle">
+      <xsl:with-param name="instruction" select="$instruction"/>
+      <xsl:with-param name="elements" select="$elements"/>
+    </xsl:apply-templates>
+  </xsl:template>
+
+
+  <!-- Suppress output of any unhandled elements -->
+  <xsl:template match="*" mode="circle"/>
+
+
+  <!-- Draw circle for a node -->
+  <xsl:template match="node" mode="circle">
+    <xsl:param name="instruction"/>
+    <xsl:param name="elements"/>
+
+    <xsl:for-each select="$elements[name()='node']">
+		<xsl:call-template name="drawCircle">
+			<xsl:with-param name="instruction" select="$instruction"/>
+		</xsl:call-template>				
+    </xsl:for-each>
+
+  </xsl:template>
+
+  <!-- Draw circle for a area -->
+  <xsl:template match="way" mode="circle">
+    <xsl:param name="instruction"/>
+    <xsl:param name="elements"/>
+
+    <xsl:for-each select="$elements[name()='way']">
+		<xsl:variable name='center'>
+			<xsl:call-template name="areaCenterWrapper">
+				<xsl:with-param name="element" select="." />
+			</xsl:call-template>
+		</xsl:variable>
+		<xsl:call-template name="drawCircle">
+			<xsl:with-param name="instruction" select="$instruction"/>
+			<xsl:with-param name="lon" select="substring-before($center, ',')"/>
+			<xsl:with-param name="lat" select="substring-after($center, ',')"/>
+		</xsl:call-template>
+    </xsl:for-each>
+
+  </xsl:template>
+
+
+
+  <!-- Draw circle for a relation -->
+  <xsl:template match="relation" mode="circle">
+    <xsl:param name="instruction"/>
+
+    <xsl:variable name="relation" select="@id"/>
+
+    <xsl:if test="(tag[@k='type']/@v='route') and ($showRelationRoute!='~|no')">
+      <!-- Draw Circles for a RelationRoute Stop -->
+      <xsl:for-each select="$data/osm/relation[@id=$relation]/member[@type='node']">
+        <xsl:variable name="nodeid" select="@ref"/>
+
+        <xsl:for-each select="$data/osm/node[@id=$nodeid]">
+			<xsl:call-template name="drawCircle">
+				<xsl:with-param name="instruction" select="$instruction"/>
+				<xsl:with-param name="node" select="@id"/>
+			</xsl:call-template>					
+        </xsl:for-each>
+      </xsl:for-each>
+    </xsl:if>
+
+    <!-- Handle other types of Relations if necessary -->
+
+  </xsl:template>
+
+
+  <!-- Process a <symbol> instruction -->
+  <xsl:template match="symbol" mode="render">
+    <xsl:param name="elements"/>
+
+    <!-- This is the instruction that is currently being processed -->
+    <xsl:variable name="instruction" select="."/>
+
+    <xsl:for-each select="$elements[name()='node']">
+		<xsl:call-template name="drawSymbol">
+			<xsl:with-param name="instruction" select="$instruction"/>
+		</xsl:call-template>
+    </xsl:for-each>
+
+    <!-- Select all <way> elements -->
+    <xsl:apply-templates select="$elements[name()='way']" mode="areaSymbolPath">
+      <xsl:with-param name="instruction" select="$instruction"/>
+    </xsl:apply-templates>
+
+  </xsl:template>
+
+  <!-- wayMarker instruction.  Draws a marker on a node that is perpendicular to a way that passes through the node.
+       If more than one way passes through the node then the result is a bit unspecified.  -->
+  <xsl:template match="wayMarker" mode="render">
+    <xsl:param name="elements"/>
+    
+    <!-- This is the instruction that is currently being processed -->
+    <xsl:variable name="instruction" select="."/>
+          
+      <!-- Process each matched node in turn -->
+      <xsl:for-each select="$elements[name()='node']">
+	<xsl:variable name='nodeId' select="@id" />
+	
+	<xsl:variable name='way' select="key('wayByNode', @id)" />
+	<xsl:variable name='previousNode' select="key('nodeById', $way/nd[@ref=$nodeId]/preceding-sibling::nd[1]/@ref)" />
+	<xsl:variable name='nextNode' select="key('nodeById', $way/nd[@ref=$nodeId]/following-sibling::nd[1]/@ref)" />
+	
+	<xsl:variable name='path'>
+	  <xsl:choose>
+	    <xsl:when test='$previousNode and $nextNode'>
+	      <xsl:call-template name="moveToNode">
+		<xsl:with-param name="node" select="$previousNode"/>
+	      </xsl:call-template>
+	      <xsl:call-template name="lineToNode">
+		<xsl:with-param name="node" select="."/>
+	      </xsl:call-template>
+	      <xsl:call-template name="lineToNode">
+		<xsl:with-param name="node" select="$nextNode"/>
+	      </xsl:call-template>
+	    </xsl:when>
+
+	    <xsl:when test='$previousNode'>
+	      <xsl:call-template name="moveToNode">
+		<xsl:with-param name="node" select="$previousNode"/>
+	      </xsl:call-template>
+	      <xsl:call-template name="lineToNode">
+		<xsl:with-param name="node" select="."/>
+	      </xsl:call-template>
+	      <xsl:call-template name="lineToNode">
+		<xsl:with-param name="node" select="."/>
+	      </xsl:call-template>
+	    </xsl:when>
+
+	    <xsl:when test='$nextNode'>
+	      <xsl:call-template name="moveToNode">
+		<xsl:with-param name="node" select="."/>
+	      </xsl:call-template>
+	      <xsl:call-template name="lineToNode">
+		<xsl:with-param name="node" select="$nextNode"/>
+	      </xsl:call-template>
+	      <xsl:call-template name="lineToNode">
+		<xsl:with-param name="node" select="$nextNode"/>
+	      </xsl:call-template>
+	    </xsl:when>
+	  </xsl:choose>
+	</xsl:variable>
+	
+	<path d="{$path}">
+		<xsl:apply-templates select="$instruction/@*" mode="copyAttributes" />
+	</path>			
+	</xsl:for-each>
+    
+  </xsl:template>
+
+  <!-- Process an <caption> instruction -->
+  <xsl:template match="areaText|caption" mode="render">
+    <xsl:param name="elements"/>
+
+    <!-- This is the instruction that is currently being processed -->
+    <xsl:variable name="instruction" select="."/>
+
+    <!-- Select all <way> elements that have a key that matches the k attribute of the text instruction -->
+    <xsl:apply-templates select="$elements[name()='way'][tag[@k=$instruction/@k]]" mode="areaTextPath">
+      <xsl:with-param name="instruction" select="$instruction"/>
+    </xsl:apply-templates>
+	<!-- Select all <node> elements that have a key that matches the k attribute of the text instruction -->
+	<xsl:for-each select="$elements[name()='node'][tag[@k=$instruction/@k]]">
+		<xsl:call-template name="renderText">
+			<xsl:with-param name="instruction" select="$instruction"/>
+			<xsl:with-param name="lon" select="@lon"/>
+			<xsl:with-param name="lat" select="@lat"/>
+			<xsl:with-param name="text" select="tag[@k=$instruction/@k]/@v"/>
+		</xsl:call-template>
+    </xsl:for-each>
+  </xsl:template>
+
+
+  <xsl:template match="*" mode="areaTextPath"/>
+
+
+  <xsl:template match="way" mode="areaTextPath">
+    <xsl:param name="instruction"/>
+
+    <!-- The current <way> element -->
+    <xsl:variable name="way" select="."/>
+
+    <xsl:call-template name="renderAreaText">
+      <xsl:with-param name="instruction" select="$instruction"/>
+      <xsl:with-param name="pathId" select="concat('way_normal_',@id)"/>
+    </xsl:call-template>
+
+  </xsl:template>
+
+
+  <xsl:template name="renderAreaText">
+    <xsl:param name="instruction"/>
+
+    <xsl:variable name="element" select="."/>
+    <xsl:variable name="areaLabels" select="exslt:node-set($labels)/labels:area[@id = $element/@id]"/>
+    <xsl:variable name="text" select="tag[@k=$instruction/@k]/@v"/>
+   
+	<xsl:choose>
+		<xsl:when test="$areaLabels">
+			<xsl:for-each select="$areaLabels/labels:label">
+				<xsl:variable name="label" select="."/>
+				<xsl:for-each select="$data">
+					<xsl:call-template name="renderText">
+						<xsl:with-param name="instruction" select="$instruction"/>
+						<xsl:with-param name="lon" select="key('nodeById', $label/@ref)/@lon"/>
+						<xsl:with-param name="lat" select="key('nodeById', $label/@ref)/@lat"/>
+						<xsl:with-param name="text" select="$text"/>
+					</xsl:call-template>
+				</xsl:for-each>
+			</xsl:for-each>
+		</xsl:when>
+
+		<xsl:otherwise>
+			<xsl:variable name='center'>
+				<xsl:call-template name="areaCenterWrapper">
+					<xsl:with-param name="element" select="." />
+				</xsl:call-template>
+			</xsl:variable>
+
+			<xsl:message>
+				areaCenter for <xsl:value-of select="@id" /> at: <xsl:value-of select="$center" />
+			</xsl:message>
+
+			<xsl:call-template name="renderText">
+				<xsl:with-param name="instruction" select="$instruction"/>
+				<xsl:with-param name="lon" select="substring-before($center, ',')"/>
+				<xsl:with-param name="lat" select="substring-after($center, ',')"/>
+				<xsl:with-param name="text" select="$text"/>
+			</xsl:call-template>
+		</xsl:otherwise>
+
+	</xsl:choose>
+
+
+
+
+  </xsl:template>
+
+  <!-- Process an <areaSymbol> instruction -->
+  <xsl:template match="areaSymbol" mode="render">
+    <xsl:param name="elements"/>
+
+    <!-- This is the instruction that is currently being processed -->
+    <xsl:variable name="instruction" select="."/>
+
+    <!-- Select all <way> elements -->
+    <xsl:apply-templates select="$elements[name()='way']" mode="areaSymbolPath">
+      <xsl:with-param name="instruction" select="$instruction"/>
+    </xsl:apply-templates>
+  </xsl:template>
+
+
+  <xsl:template match="*" mode="areaSymbolPath"/>
+
+
+  <xsl:template match="way" mode="areaSymbolPath">
+    <xsl:param name="instruction"/>
+
+    <!-- The current <way> element -->
+    <xsl:variable name="way" select="."/>
+
+    <xsl:call-template name="renderAreaSymbol">
+      <xsl:with-param name="instruction" select="$instruction"/>
+      <xsl:with-param name="pathId" select="concat('way_normal_',@id)"/>
+    </xsl:call-template>
+
+  </xsl:template>
+
+
+  <xsl:template name="renderAreaSymbol">
+    <xsl:param name="instruction"/>
+
+    <xsl:variable name="element" select="."/>
+
+    <xsl:variable name="areaLabels" select="exslt:node-set($labels)/labels:area[@id = $element/@id]"/>
+	
+	<xsl:choose>
+		<xsl:when test="$areaLabels">
+			<xsl:for-each select="$areaLabels/labels:label">
+				<xsl:variable name="label" select="."/>
+				<xsl:for-each select="$data">
+					<xsl:call-template name="renderSymbol">
+						<xsl:with-param name="instruction" select="$instruction"/>
+						<xsl:with-param name="lon" select="key('nodeById', $label/@ref)/@lon"/>
+						<xsl:with-param name="lat" select="key('nodeById', $label/@ref)/@lat"/>
+					</xsl:call-template>
+				</xsl:for-each>
+			</xsl:for-each>
+		</xsl:when>
+		
+		<xsl:otherwise>
+			<xsl:variable name='center'>
+				<xsl:call-template name="areaCenterWrapper">
+					<xsl:with-param name="element" select="$element" />
+				</xsl:call-template>
+			</xsl:variable>
+			
+			<xsl:message>
+				areaCenter for <xsl:value-of select="@id" /> at: <xsl:value-of select="$center" />
+			</xsl:message>
+			
+			<xsl:call-template name="renderSymbol">
+				<xsl:with-param name="instruction" select="$instruction"/>
+				<xsl:with-param name="lon" select="substring-before($center, ',')"/>
+				<xsl:with-param name="lat" select="substring-after($center, ',')"/>
+			</xsl:call-template>
+		</xsl:otherwise>				
+	</xsl:choose>
+	
+  </xsl:template>
+
+  <!--
+      areaCenterWrapper: Call either areaCenter or areaBBOXCenter depending on how many nodes the polygon has.
+      areaCenter performance is something like O(n^2) and running it on a 2GHz Intel Core Duo it took approx
+      half a minute for a hundred-node polygon while a 200-node polygon took almost 5 minutes.
+  -->
+  <xsl:template name="areaCenterWrapper">
+    <xsl:param name="element" />
+
+    <xsl:choose>
+      <xsl:when test="$element/tag[@k='osmarender:areaCenterLat']">
+        <xsl:message>
+          <xsl:value-of select="$element/tag[@k='osmarender:areaCenterLat']"/>
+        </xsl:message>
+        <xsl:value-of select="concat($element/tag[@k='osmarender:areaCenterLon']/@v,',',$element/tag[@k='osmarender:areaCenterLat']/@v)"/>
+      </xsl:when>
+      <xsl:when test="count($element/nd) &gt; 2 and count($element/nd) &lt; 150">
+        <xsl:call-template name="areaCenter">
+          <xsl:with-param name="element" select="$element" />
+        </xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:call-template name="areaBBOXCenter">
+          <xsl:with-param name="element" select="$element" />
+        </xsl:call-template>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <!--
+      areaBBOXCenter: Simple and computationally cheap way to get a center point of a polygon
+  -->
+  <xsl:template name="areaBBOXCenter">
+    <xsl:param name="element" />
+
+    <xsl:variable name="maxLat">
+      <xsl:for-each select="$data/osm/node[@id=$element/nd/@ref]/@lat">
+        <xsl:sort data-type="number" order="descending"/>
+        <xsl:if test="position()=1">
+          <xsl:value-of select="."/>
+        </xsl:if>
+      </xsl:for-each>
+    </xsl:variable>
+    <xsl:variable name="minLat">
+      <xsl:for-each select="$data/osm/node[@id=$element/nd/@ref]/@lat">
+        <xsl:sort data-type="number" order="ascending"/>
+        <xsl:if test="position()=1">
+          <xsl:value-of select="."/>
+        </xsl:if>
+      </xsl:for-each>
+    </xsl:variable>
+    <xsl:variable name="maxLon">
+      <xsl:for-each select="$data/osm/node[@id=$element/nd/@ref]/@lon">
+        <xsl:sort data-type="number" order="descending"/>
+        <xsl:if test="position()=1">
+          <xsl:value-of select="."/>
+        </xsl:if>
+      </xsl:for-each>
+    </xsl:variable>
+    <xsl:variable name="minLon">
+      <xsl:for-each select="$data/osm/node[@id=$element/nd/@ref]/@lon">
+        <xsl:sort data-type="number" order="ascending"/>
+        <xsl:if test="position()=1">
+          <xsl:value-of select="."/>
+        </xsl:if>
+      </xsl:for-each>
+    </xsl:variable>
+
+    <xsl:value-of select="$minLon + (($maxLon - $minLon) div 2)" />,<xsl:value-of select="$minLat + (($maxLat - $minLat) div 2)" />
+  </xsl:template>
+
+  <!--
+      areaCenter: Find a good center point for label/icon placement inside of polygon.
+      Algorithm is described at http://bob.cakebox.net/poly-center.php
+  -->
+  <xsl:template name="areaCenter">
+    <xsl:param name="element" />
+
+    <!-- Get multipolygon relation for areas with holes -->
+    <xsl:variable name='holeRelation' select="key('relationByWay',$element/@id)[tag[@k='type' and @v='multipolygon']]"/>
+
+    <!-- A semicolon-separated list of x,y coordinate pairs of points lying halfway into the polygon at angles to the vertex -->
+    <xsl:variable name="points">
+      <xsl:call-template name="areacenterPointsInside">
+        <xsl:with-param name="element" select="$element" />
+        <xsl:with-param name="holeRelation" select="$holeRelation" />
+      </xsl:call-template>
+    </xsl:variable>
+    
+    <!-- x,y calculated by a simple average over all x/y's in points -->
+    <xsl:variable name="mediumpoint">
+      <xsl:call-template name="areacenterMediumOfPoints">
+        <xsl:with-param name="points" select="$points" />
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name="mediumpoint_x" select="substring-before($mediumpoint, ',')" />
+    <xsl:variable name="mediumpoint_y" select="substring-before(substring-after($mediumpoint, ','), ',')" />
+    <xsl:variable name="medium_dist" select="substring-after(substring-after($mediumpoint, ','), ',')" />
+    
+    <!-- Find out if mediumpoint is inside or outside the polygon -->
+    <xsl:variable name="intersection">
+      <xsl:call-template name="areacenterNearestIntersectionInside">
+        <xsl:with-param name="x" select="$mediumpoint_x" />
+        <xsl:with-param name="y" select="$mediumpoint_y" />
+        <xsl:with-param name="edgestart" select="$element/nd[1]" />
+        <xsl:with-param name="linepoint_x" select="$mediumpoint_x" />
+        <xsl:with-param name="linepoint_y" select="$mediumpoint_y + 1" />
+        <xsl:with-param name="holeRelation" select="$holeRelation" />
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name="intersection_count" select="substring-before($intersection, ';')" />
+    
+    <xsl:variable name="nearestEdge">
+      <xsl:call-template name="areacenterNearestEdge">
+        <xsl:with-param name="x" select="$mediumpoint_x" />
+        <xsl:with-param name="y" select="$mediumpoint_y" />
+        <xsl:with-param name="edgestart" select="$element/nd[1]" />
+        <xsl:with-param name="holeRelation" select="$holeRelation" />
+      </xsl:call-template>
+    </xsl:variable>
+    
+    <xsl:choose>
+      <xsl:when test="$intersection_count mod 2 = 0 or $nearestEdge div 2 * 1.20 &gt; $medium_dist">
+        <!-- Find the best point in $points to use -->
+        <xsl:call-template name="areacenterBestPoint">
+          <xsl:with-param name="points" select="$points" />
+          <xsl:with-param name="x" select="$mediumpoint_x" />
+          <xsl:with-param name="y" select="$mediumpoint_y" />
+          <xsl:with-param name="medium_dist" select="$medium_dist" />
+        </xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="$mediumpoint_x"/>,<xsl:value-of select="$mediumpoint_y"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <!-- Returns a semicolon-separated list of x,y pairs -->
+  <xsl:template name="areacenterPointsInside">
+    <xsl:param name="element" />
+    <xsl:param name="holeRelation" />
+
+    <!-- iterate over every vertex except the first one, which is also the last -->
+    <xsl:for-each select="$element/nd[position() &gt; 1]">
+      <xsl:variable name="vertex" select="." />
+      <xsl:variable name="prev" select="$vertex/preceding-sibling::nd[1]" />
+      <xsl:variable name="nextId">
+	<xsl:choose>
+	  <xsl:when test="position() &lt; last()">
+	    <xsl:value-of select="$vertex/following-sibling::nd[1]/@ref" />
+	  </xsl:when>
+	  <xsl:otherwise>
+	    <xsl:value-of select="$vertex/../nd[2]/@ref" />
+	  </xsl:otherwise>
+	</xsl:choose>
+      </xsl:variable>
+      <xsl:variable name="next" select="$vertex/../nd[@ref=$nextId]" />
+
+      <!-- Angle at between $prev and $next in $vertex -->
+      <xsl:variable name="angle">
+	<xsl:call-template name="angleThroughPoints">
+	  <xsl:with-param name="from" select="$data/osm/node[@id=$prev/@ref]" />
+	  <xsl:with-param name="through" select="$data/osm/node[@id=$vertex/@ref]" />
+	  <xsl:with-param name="to" select="$data/osm/node[@id=$next/@ref]" />
+	</xsl:call-template>
+      </xsl:variable>
+
+      <!-- Calculate a point on the line going through $vertex at $angle -->
+      <xsl:variable name="linepoint">
+	<xsl:call-template name="areacenterLinepoint">
+	  <xsl:with-param name="point" select="$data/osm/node[@id=$vertex/@ref]" />
+	  <xsl:with-param name="angle" select="$angle" />
+	</xsl:call-template>
+      </xsl:variable>
+      <xsl:variable name="linepoint_x" select="substring-before($linepoint, ',')" />
+      <xsl:variable name="linepoint_y" select="substring-after($linepoint, ',')" />
+
+      <!-- Find the nearest intersection between the line vertex-linepoint and the nearest edge inwards into the polygon -->
+      <xsl:variable name="intersection">
+	<xsl:call-template name="areacenterNearestIntersectionInside">
+	  <xsl:with-param name="x" select="$data/osm/node[@id=$vertex/@ref]/@lon" />
+	  <xsl:with-param name="y" select="$data/osm/node[@id=$vertex/@ref]/@lat" />
+	  <xsl:with-param name="edgestart" select="../nd[1]" />
+	  <xsl:with-param name="linepoint_x" select="$linepoint_x" />
+	  <xsl:with-param name="linepoint_y" select="$linepoint_y" />
+	  <xsl:with-param name="holeRelation" select="$holeRelation" />
+	</xsl:call-template>
+      </xsl:variable>
+      <xsl:variable name="intersection_count" select="substring-before($intersection, ';')" />
+      <xsl:variable name="intersection_data">
+	<xsl:choose>
+	  <xsl:when test="$intersection_count mod 2 != 0">
+	    <xsl:value-of select="substring-before(substring-after($intersection, ';'), ';')" />
+	  </xsl:when>
+	  <xsl:otherwise>
+	    <xsl:value-of select="substring-after(substring-after($intersection, ';'), ';')" />
+	  </xsl:otherwise>
+	</xsl:choose>
+      </xsl:variable>
+      <xsl:variable name="intersection_x" select="substring-before($intersection_data, ',')" />
+      <xsl:variable name="intersection_y" select="substring-before(substring-after($intersection_data, ','), ',')" />
+      <xsl:variable name="intersection_dist" select="substring-before(substring-after(substring-after($intersection_data, ','), ','), ',')" />
+
+      <xsl:variable name="point_x" select="$data/osm/node[@id=$vertex/@ref]/@lon + ( $intersection_x - $data/osm/node[@id=$vertex/@ref]/@lon ) div 2" />
+      <xsl:variable name="point_y" select="$data/osm/node[@id=$vertex/@ref]/@lat + ( $intersection_y - $data/osm/node[@id=$vertex/@ref]/@lat ) div 2" />
+      
+      <xsl:if test="($point_x &lt;= 0 or $point_x &gt; 0)  and ($point_y &lt;= 0 or $point_y &gt; 0)"> <!-- Only return anything if we actually have a result -->
+	<!-- Note: this will produce trailing semicolon, which is nice as it simplifies looping over this later -->
+	<xsl:value-of select="$point_x" />,<xsl:value-of select="$point_y" />,<xsl:value-of select="$intersection_dist" />;
+      </xsl:if>
+    </xsl:for-each>
+  </xsl:template>
+
+  <!-- Calculate the angle between $from and $to in $through. Returns answer in radians -->
+  <xsl:template name="angleThroughPoints">
+    <xsl:param name="from" />
+    <xsl:param name="through" />
+    <xsl:param name="to" />
+
+    <xsl:variable name="from_x" select="($from/@lon) - ($through/@lon)" />
+    <xsl:variable name="from_y" select="$from/@lat - $through/@lat" />
+    <xsl:variable name="to_x" select="$to/@lon - $through/@lon" />
+    <xsl:variable name="to_y" select="$to/@lat - $through/@lat" />
+
+    <xsl:variable name="from_angle">
+      <xsl:call-template name="atan2">
+	<xsl:with-param name="x" select="$from_x" />
+	<xsl:with-param name="y" select="$from_y" />
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name="to_angle">
+      <xsl:call-template name="atan2">
+	<xsl:with-param name="x" select="$to_x" />
+	<xsl:with-param name="y" select="$to_y" />
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:value-of select="($to_angle + $from_angle) div 2" />
+  </xsl:template>
+
+  <!-- atan2 implementation from http://lists.fourthought.com/pipermail/exslt/2007-March/001540.html -->
+  <xsl:template name="atan2">
+    <xsl:param name="y"/>
+    <xsl:param name="x"/>
+    <!-- http://lists.apple.com/archives/PerfOptimization-dev/2005/Jan/msg00051.html -->
+    <xsl:variable name="PI"    select="number(3.1415926535897)"/>
+    <xsl:variable name="PIBY2" select="$PI div 2.0"/>
+    <xsl:choose>
+      <xsl:when test="$x = 0.0">
+        <xsl:choose>
+          <xsl:when test="($y &gt; 0.0)">
+            <xsl:value-of select="$PIBY2"/>
+          </xsl:when>
+          <xsl:when test="($y &lt; 0.0)">
+            <xsl:value-of select="-$PIBY2"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <!-- Error: Degenerate x == y == 0.0 -->
+            <xsl:value-of select="number(NaN)"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:variable name="z" select="$y div $x"/>
+        <xsl:variable name="absZ">
+          <!-- inline abs function -->
+          <xsl:choose>
+            <xsl:when test="$z &lt; 0.0">
+              <xsl:value-of select="- number($z)"/>
+            </xsl:when>
+            <xsl:otherwise>
+              <xsl:value-of select="number($z)"/>
+            </xsl:otherwise>
+          </xsl:choose>
+        </xsl:variable>
+        <xsl:choose>
+          <xsl:when test="($absZ &lt; 1.0)">
+            <xsl:variable name="f1Z" select="$z div (1.0 + 0.28*$z*$z)"/>
+            <xsl:choose>
+              <xsl:when test="($x &lt; 0.0) and ($y &lt; 0.0)">
+                <xsl:value-of select="$f1Z - $PI"/>
+              </xsl:when>
+              <xsl:when test="($x &lt; 0.0)">
+                <xsl:value-of select="$f1Z + $PI"/>
+              </xsl:when>
+              <xsl:otherwise>
+                <xsl:value-of select="$f1Z"/>
+              </xsl:otherwise>
+            </xsl:choose>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:variable name="f2Z" select="$PIBY2 - ($z div ($z*$z +
+0.28))"/>
+            <xsl:choose>
+              <xsl:when test="($y &lt; 0.0)">
+                <xsl:value-of select="$f2Z - $PI"/>
+              </xsl:when>
+              <xsl:otherwise>
+                <xsl:value-of select="$f2Z"/>
+              </xsl:otherwise>
+            </xsl:choose>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <!-- Find a point on the line going through $point at $angle that's guaranteed to be outside the polygon -->
+  <xsl:template name="areacenterLinepoint">
+    <xsl:param name="point" />
+    <xsl:param name="angle" />
+
+    <xsl:variable name="cos_angle">
+      <xsl:call-template name="cos">
+	<xsl:with-param name="angle" select="$angle"/>
+      </xsl:call-template>
+    </xsl:variable>
+    
+    <xsl:variable name="sin_angle">
+      <xsl:call-template name="sin">
+	<xsl:with-param name="angle" select="$angle"/>
+      </xsl:call-template>
+    </xsl:variable>
+    
+    <xsl:value-of select="$point/@lon + $cos_angle"/>, <xsl:value-of select="$point/@lat + $sin_angle"/>
+  </xsl:template>
+  
+  <!-- Constants for trig templates -->
+  <xsl:variable name="pi" select="3.1415926535897"/>
+  <xsl:variable name="halfPi" select="$pi div 2"/>
+  <xsl:variable name="twicePi" select="$pi*2"/>
+
+  <xsl:template name="sin">
+    <xsl:param name="angle" />
+    <xsl:param name="precision" select="0.00000001"/>
+
+    <xsl:variable name="y">
+      <xsl:choose>
+        <xsl:when test="not(0 &lt;= $angle and $twicePi > $angle)">
+          <xsl:call-template name="cutIntervals">
+            <xsl:with-param name="length" select="$twicePi"/>
+            <xsl:with-param name="angle" select="$angle"/>
+          </xsl:call-template>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="$angle"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+
+    <xsl:call-template name="sineIter">
+      <xsl:with-param name="angle2" select="$y*$y"/>
+      <xsl:with-param name="res" select="$y"/>
+      <xsl:with-param name="elem" select="$y"/>
+      <xsl:with-param name="n" select="1"/>
+      <xsl:with-param name="precision" select="$precision" />
+    </xsl:call-template>
+  </xsl:template>
+
+  <xsl:template name="sineIter">
+    <xsl:param name="angle2" />
+    <xsl:param name="res" />
+    <xsl:param name="elem" />
+    <xsl:param name="n" />
+    <xsl:param name="precision"/>
+
+    <xsl:variable name="nextN" select="$n+2" />
+    <xsl:variable name="newElem" select="-$elem*$angle2 div ($nextN*($nextN - 1))" />
+    <xsl:variable name="newResult" select="$res + $newElem" />
+    <xsl:variable name="diffResult" select="$newResult - $res" />
+
+    <xsl:choose>
+      <xsl:when test="$diffResult > $precision or $diffResult &lt; -$precision">
+        <xsl:call-template name="sineIter">
+          <xsl:with-param name="angle2" select="$angle2" />
+          <xsl:with-param name="res" select="$newResult" />
+          <xsl:with-param name="elem" select="$newElem" />
+          <xsl:with-param name="n" select="$nextN" />
+          <xsl:with-param name="precision" select="$precision" />
+        </xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="$newResult"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template name="cutIntervals">
+    <xsl:param name="length"/>
+    <xsl:param name="angle"/>
+
+    <xsl:variable name="vsign">
+      <xsl:choose>
+        <xsl:when test="$angle >= 0">1</xsl:when>
+        <xsl:otherwise>-1</xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:variable name="vdiff" select="$length*floor($angle div $length) -$angle"/> 
+    <xsl:choose>
+      <xsl:when test="$vdiff*$angle > 0">
+        <xsl:value-of select="$vsign*$vdiff"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="-$vsign*$vdiff"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template name="cos">
+    <xsl:param name="angle" />
+    <xsl:param name="precision" select="0.00000001"/>
+
+    <xsl:call-template name="sin">
+      <xsl:with-param name="angle" select="$halfPi - $angle" />
+      <xsl:with-param name="precision" select="$precision" />
+    </xsl:call-template>
+  </xsl:template>
+
+  <!-- Find the nearest intersection into the polygon along the line ($x,$y)-$linepoint.
+       Can also be used for ray-casting point-in-polygon checking -->
+  <xsl:template name="areacenterNearestIntersectionInside">
+    <xsl:param name="x" />
+    <xsl:param name="y" />
+    <xsl:param name="edgestart" />
+    <xsl:param name="linepoint_x" />
+    <xsl:param name="linepoint_y" />
+    <xsl:param name="holeRelation" />
+    <xsl:param name="intersectioncount_on" select="0" /><!-- Number of intersections. Only counts those on segment (x,y)-linepoint -->
+    <xsl:param name="nearest_on_x" />
+    <xsl:param name="nearest_on_y" />
+    <xsl:param name="nearest_on_dist" select="'NaN'" />
+    <xsl:param name="nearest_off_x" />
+    <xsl:param name="nearest_off_y" />
+    <xsl:param name="nearest_off_dist" select="'NaN'" />
+
+    <xsl:choose>
+      <!-- If there are no more vertices we don't have a second point for the edge, and are finished -->
+      <xsl:when test="$edgestart/following-sibling::nd[1]">
+	<xsl:variable name="edgeend" select="$edgestart/following-sibling::nd[1]" />
+	<!-- Get the intersection point between the line ($x,$y)-$linepoint and $edgestart-$edgeend -->
+	<xsl:variable name="intersection">
+	  <xsl:choose>
+	    <xsl:when test="( $x = $data/osm/node[@id=$edgestart/@ref]/@lon and $y = $data/osm/node[@id=$edgestart/@ref]/@lat ) or
+			    ( $x = $data/osm/node[@id=$edgeend/@ref]/@lon and $y = $data/osm/node[@id=$edgeend/@ref]/@lat )">
+	      <!-- (x,y) is one of the points in edge, skip -->
+	      NoIntersection
+	    </xsl:when>
+	    <xsl:otherwise>      
+	      <xsl:call-template name="areacenterLinesIntersection">
+		<xsl:with-param name="x1" select="$x" />
+		<xsl:with-param name="y1" select="$y" />
+		<xsl:with-param name="x2" select="$linepoint_x" />
+		<xsl:with-param name="y2" select="$linepoint_y" />
+		<xsl:with-param name="x3" select="$data/osm/node[@id=$edgestart/@ref]/@lon" />
+		<xsl:with-param name="y3" select="$data/osm/node[@id=$edgestart/@ref]/@lat" />
+		<xsl:with-param name="x4" select="$data/osm/node[@id=$edgeend/@ref]/@lon" />
+		<xsl:with-param name="y4" select="$data/osm/node[@id=$edgeend/@ref]/@lat" />
+	      </xsl:call-template>
+	    </xsl:otherwise>
+	  </xsl:choose>
+	</xsl:variable>
+
+	<!-- Haul ix, iy, ua and ub out of the csv -->
+	<xsl:variable name="ix" select="substring-before($intersection, ',')" />
+	<xsl:variable name="iy" select="substring-before(substring-after($intersection, ','), ',')" />
+	<xsl:variable name="ua" select="substring-before(substring-after(substring-after($intersection, ','), ','), ',')" />
+	<xsl:variable name="ub" select="substring-after(substring-after(substring-after($intersection, ','), ','), ',')" />
+
+	<!-- A) Is there actually an intersection? B) Is it on edge? -->
+	<xsl:choose>
+	  <xsl:when test="$intersection != 'NoIntersection' and $ub &gt; 0 and $ub &lt;= 1">
+	    <xsl:variable name="distance">
+	      <xsl:call-template name="areacenterPointDistance">
+		<xsl:with-param name="x1" select="$x" />
+		<xsl:with-param name="y1" select="$y" />
+		<xsl:with-param name="x2" select="$ix" />
+		<xsl:with-param name="y2" select="$iy" />
+	      </xsl:call-template>
+	    </xsl:variable>
+
+	    <!-- Is intersection on the segment ($x,$y)-$linepoint, or on the other side of ($x,$y)? -->
+	    <xsl:variable name="isOnSegment">
+	      <xsl:if test="$ua &gt;= 0">Yes</xsl:if>
+	    </xsl:variable>
+	    
+	    <xsl:variable name="isNewNearestOn">
+	      <xsl:if test="$isOnSegment = 'Yes' and ( $nearest_on_dist = 'NaN' or $distance &lt; $nearest_on_dist )">Yes</xsl:if>
+	    </xsl:variable>
+	    
+	    <xsl:variable name="isNewNearestOff">
+	      <xsl:if test="$isOnSegment != 'Yes' and ( $nearest_off_dist = 'NaN' or $distance &lt; $nearest_off_dist )">Yes</xsl:if>
+	    </xsl:variable>
+
+	    <xsl:call-template name="areacenterNearestIntersectionInside">
+	      <xsl:with-param name="x" select="$x" />
+	      <xsl:with-param name="y" select="$y" />
+	      <xsl:with-param name="linepoint_x" select="$linepoint_x" />
+	      <xsl:with-param name="linepoint_y" select="$linepoint_y" />
+	      <xsl:with-param name="edgestart" select="$edgeend" />
+	      <xsl:with-param name="holeRelation" select="$holeRelation" />
+	      <xsl:with-param name="intersectioncount_on" select="$intersectioncount_on + number(boolean($isOnSegment = 'Yes'))" />
+	      <xsl:with-param name="nearest_on_dist"> <xsl:choose>
+		<xsl:when test="$isNewNearestOn = 'Yes'"> <xsl:value-of select="$distance" /> </xsl:when>
+		<xsl:otherwise> <xsl:value-of select="$nearest_on_dist" /> </xsl:otherwise>
+	      </xsl:choose> </xsl:with-param>
+	      <xsl:with-param name="nearest_on_x"> <xsl:choose>
+		<xsl:when test="$isNewNearestOn = 'Yes'"> <xsl:value-of select="$ix" /> </xsl:when>
+		<xsl:otherwise> <xsl:value-of select="$nearest_on_x" /> </xsl:otherwise>
+	      </xsl:choose> </xsl:with-param>
+	      <xsl:with-param name="nearest_on_y"> <xsl:choose>
+		<xsl:when test="$isNewNearestOn = 'Yes'"> <xsl:value-of select="$iy" /> </xsl:when>
+		<xsl:otherwise> <xsl:value-of select="$nearest_on_y" /> </xsl:otherwise>
+	      </xsl:choose> </xsl:with-param>
+	      <xsl:with-param name="nearest_off_dist"> <xsl:choose>
+		<xsl:when test="$isNewNearestOff = 'Yes'"> <xsl:value-of select="$distance" /> </xsl:when>
+		<xsl:otherwise> <xsl:value-of select="$nearest_off_dist" /> </xsl:otherwise>
+	      </xsl:choose> </xsl:with-param>
+	      <xsl:with-param name="nearest_off_x"> <xsl:choose>
+		<xsl:when test="$isNewNearestOff = 'Yes'"> <xsl:value-of select="$ix" /> </xsl:when>
+		<xsl:otherwise> <xsl:value-of select="$nearest_off_x" /> </xsl:otherwise>
+	      </xsl:choose> </xsl:with-param>
+	      <xsl:with-param name="nearest_off_y"> <xsl:choose>
+		<xsl:when test="$isNewNearestOff = 'Yes'"> <xsl:value-of select="$iy" /> </xsl:when>
+		<xsl:otherwise> <xsl:value-of select="$nearest_off_y" /> </xsl:otherwise>
+	      </xsl:choose> </xsl:with-param>
+	    </xsl:call-template>
+	  </xsl:when>
+	  <!-- No intersection, just go on to next edge -->
+	  <xsl:otherwise>
+	    <xsl:call-template name="areacenterNearestIntersectionInside">
+	      <xsl:with-param name="x" select="$x" />
+	      <xsl:with-param name="y" select="$y" />
+	      <xsl:with-param name="linepoint_x" select="$linepoint_x" />
+	      <xsl:with-param name="linepoint_y" select="$linepoint_y" />
+	      <xsl:with-param name="edgestart" select="$edgeend" />
+	      <xsl:with-param name="holeRelation" select="$holeRelation" />
+	      <xsl:with-param name="intersectioncount_on" select="$intersectioncount_on" />
+	      <xsl:with-param name="nearest_on_dist" select="$nearest_on_dist" />
+	      <xsl:with-param name="nearest_on_x" select="$nearest_on_x" />
+	      <xsl:with-param name="nearest_on_y" select="$nearest_on_y" />
+	      <xsl:with-param name="nearest_off_dist" select="$nearest_off_dist" />
+	      <xsl:with-param name="nearest_off_x" select="$nearest_off_x" />
+	      <xsl:with-param name="nearest_off_y" select="$nearest_off_y" />
+	    </xsl:call-template>
+	  </xsl:otherwise>
+	</xsl:choose>
+      </xsl:when>
+      <!-- Is there a hole in the polygon, and were we working on the outer one? Then we start edge detection against the hole. -->
+      <xsl:when test="$holeRelation and
+		      $holeRelation/member[@ref = $edgestart/../@id][@role='outer']">
+	<xsl:variable name="nextnode" select="$data/osm/way[@id=$holeRelation/member[@type='way'][@role='inner'][1]/@ref]/nd[1]"/>
+	<xsl:call-template name="areacenterNearestIntersectionInside">
+	  <xsl:with-param name="x" select="$x" />
+	  <xsl:with-param name="y" select="$y" />
+	  <xsl:with-param name="linepoint_x" select="$linepoint_x" />
+	  <xsl:with-param name="linepoint_y" select="$linepoint_y" />
+	  <xsl:with-param name="edgestart" select="$nextnode" />
+	  <xsl:with-param name="holeRelation" select="$holeRelation" />
+	  <xsl:with-param name="intersectioncount_on" select="$intersectioncount_on" />
+	  <xsl:with-param name="nearest_on_dist" select="$nearest_on_dist" />
+	  <xsl:with-param name="nearest_on_x" select="$nearest_on_x" />
+	  <xsl:with-param name="nearest_on_y" select="$nearest_on_y" />
+	  <xsl:with-param name="nearest_off_dist" select="$nearest_off_dist" />
+	  <xsl:with-param name="nearest_off_x" select="$nearest_off_x" />
+	  <xsl:with-param name="nearest_off_y" select="$nearest_off_y" />
+	</xsl:call-template>
+      </xsl:when>
+      <!-- Is there a hole in the polygon, and were we working working on one of the inner ones? Then go to the next hole, if there is one -->
+      <xsl:when test="$holeRelation and
+		      $holeRelation/member[@ref = $edgestart/../@id][@type='way'][@role='inner']/following-sibling::member[@role='inner']">
+	<xsl:variable name="nextnode" select="$data/osm/way[@id=$holeRelation/member[@ref = $edgestart/../@id][@type='way'][@role='inner']/following-sibling::member[@role='inner']/@ref]/nd[1]"/>
+	<xsl:call-template name="areacenterNearestIntersectionInside">
+	  <xsl:with-param name="x" select="$x" />
+	  <xsl:with-param name="y" select="$y" />
+	  <xsl:with-param name="linepoint_x" select="$linepoint_x" />
+	  <xsl:with-param name="linepoint_y" select="$linepoint_y" />
+	  <xsl:with-param name="edgestart" select="$nextnode" />
+	  <xsl:with-param name="holeRelation" select="$holeRelation" />
+	  <xsl:with-param name="intersectioncount_on" select="$intersectioncount_on" />
+	  <xsl:with-param name="nearest_on_dist" select="$nearest_on_dist" />
+	  <xsl:with-param name="nearest_on_x" select="$nearest_on_x" />
+	  <xsl:with-param name="nearest_on_y" select="$nearest_on_y" />
+	  <xsl:with-param name="nearest_off_dist" select="$nearest_off_dist" />
+	  <xsl:with-param name="nearest_off_x" select="$nearest_off_x" />
+	  <xsl:with-param name="nearest_off_y" select="$nearest_off_y" />
+	</xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+	<!-- No more edges, return data -->
+	<xsl:value-of select="$intersectioncount_on" />;
+	<xsl:value-of select="$nearest_on_x"/>,<xsl:value-of select="$nearest_on_y"/>,<xsl:value-of select="$nearest_on_dist"/>;
+	<xsl:value-of select="$nearest_off_x"/>,<xsl:value-of select="$nearest_off_y"/>,<xsl:value-of select="$nearest_off_dist"/>;
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <!-- Find the distance to the edge nearest (x,y) -->
+  <xsl:template name="areacenterNearestEdge">
+    <xsl:param name="x" />
+    <xsl:param name="y" />
+    <xsl:param name="edgestart" />
+    <xsl:param name="holeRelation" />
+    <xsl:param name="nearest_dist" select="'NaN'" />
+
+    <xsl:choose>
+      <!-- If there are no more vertices we don't have a second point for the edge, and are finished -->
+      <xsl:when test="$edgestart/following-sibling::nd[1]">
+	<xsl:variable name="edgeend" select="$edgestart/following-sibling::nd[1]" />
+
+	<xsl:variable name="distance">
+	  <xsl:call-template name="areacenterDistancePointSegment">
+	    <xsl:with-param name="x" select="$x" />
+	    <xsl:with-param name="y" select="$y" />
+	    <xsl:with-param name="x1" select="$data/osm/node[@id=$edgestart/@ref]/@lon" />
+	    <xsl:with-param name="y1" select="$data/osm/node[@id=$edgestart/@ref]/@lat" />
+	    <xsl:with-param name="x2" select="$data/osm/node[@id=$edgeend/@ref]/@lon" />
+	    <xsl:with-param name="y2" select="$data/osm/node[@id=$edgeend/@ref]/@lat" />
+	  </xsl:call-template>
+	</xsl:variable>
+
+	<!-- Did we get a valid distance?
+	     There is some code in DistancePointSegment that can return NaN in some cases -->
+	<xsl:choose>
+	  <xsl:when test="string(number($distance)) != 'NaN'">
+	    <xsl:call-template name="areacenterNearestEdge">
+	      <xsl:with-param name="x" select="$x" />
+	      <xsl:with-param name="y" select="$y" />
+	      <xsl:with-param name="edgestart" select="$edgeend" />
+	      <xsl:with-param name="holeRelation" select="$holeRelation" />
+	      <xsl:with-param name="nearest_dist"> <xsl:choose>
+		<xsl:when test="$nearest_dist = 'NaN' or $distance &lt; $nearest_dist"> <xsl:value-of select="$distance" /> </xsl:when>
+		<xsl:otherwise> <xsl:value-of select="$nearest_dist" /> </xsl:otherwise>
+	      </xsl:choose> </xsl:with-param>
+	    </xsl:call-template>
+	  </xsl:when>
+
+	  <xsl:otherwise>
+	    <xsl:call-template name="areacenterNearestEdge">
+	      <xsl:with-param name="x" select="$x" />
+	      <xsl:with-param name="y" select="$y" />
+	      <xsl:with-param name="edgestart" select="$edgeend" />
+	      <xsl:with-param name="holeRelation" select="$holeRelation" />
+	      <xsl:with-param name="nearest_dist" select="$nearest_dist" />
+	    </xsl:call-template>
+	  </xsl:otherwise>
+	</xsl:choose>
+      </xsl:when>
+      <!-- Is there a hole in the polygon, and were we working on the outer one? Then we start edge detection against the hole. -->
+      <xsl:when test="$holeRelation and
+		      $holeRelation/member[@ref = $edgestart/../@id][@role='outer']">
+	<xsl:variable name="nextnode" select="$data/osm/way[@id=$holeRelation/member[@type='way'][@role='inner'][1]/@ref]/nd[1]"/>
+	<xsl:call-template name="areacenterNearestEdge">
+	  <xsl:with-param name="x" select="$x" />
+	  <xsl:with-param name="y" select="$y" />
+	  <xsl:with-param name="edgestart" select="$nextnode" />
+	  <xsl:with-param name="holeRelation" select="$holeRelation" />
+	  <xsl:with-param name="nearest_dist" select="$nearest_dist" />
+	</xsl:call-template>
+      </xsl:when>
+      <!-- Is there a hole in the polygon, and were we working working on one of the inner ones? Then go to the next hole, if there is one -->
+      <xsl:when test="$holeRelation and
+		      $holeRelation/member[@ref = $edgestart/../@id][@type='way'][@role='inner']/following-sibling::member[@role='inner']">
+	<xsl:variable name="nextnode" select="$data/osm/way[@id=$holeRelation/member[@ref = $edgestart/../@id][@type='way'][@role='inner']/following-sibling::member[@role='inner']/@ref]/nd[1]"/>
+	<xsl:call-template name="areacenterNearestEdge">
+	  <xsl:with-param name="x" select="$x" />
+	  <xsl:with-param name="y" select="$y" />
+	  <xsl:with-param name="edgestart" select="$nextnode" />
+	  <xsl:with-param name="holeRelation" select="$holeRelation" />
+	  <xsl:with-param name="nearest_dist" select="$nearest_dist" />
+	</xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+	<!-- No more edges, return data -->
+	<xsl:value-of select="$nearest_dist" />
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <!-- Find the distance between the point (x,y) and the segment x1,y1 -> x2,y2 -->
+  <!-- Based on http://local.wasp.uwa.edu.au/~pbourke/geometry/pointline/ and the
+       Delphi example by Graham O'Brien -->
+  <xsl:template name="areacenterDistancePointSegment">
+    <xsl:param name="x" />
+    <xsl:param name="y" />
+    <xsl:param name="x1" />
+    <xsl:param name="y1" />
+    <xsl:param name="x2" />
+    <xsl:param name="y2" />
+
+    <!-- Constants -->
+    <xsl:variable name="EPS" select="0.000001" />
+    <xsl:variable name="EPSEPS" select="$EPS * $EPS" />
+
+    <!-- The line magnitude, squared -->
+    <xsl:variable name="sqLineMagnitude" select="($x2 - $x1) * ($x2 - $x1) + ($y2 - $y1) * ($y2 - $y1)" />
+
+    <xsl:choose>
+      <xsl:when test="sqLineMagnitude &lt; $EPSEPS">
+	NaN
+      </xsl:when>
+      <xsl:otherwise>
+	<xsl:variable name="u" select="( ($x - $x1)*($x2 - $x1) + ($y - $y1)*($y2 - $y1) ) div sqLineMagnitude" />
+
+	<xsl:variable name="result">
+	  <xsl:choose>
+	    <xsl:when test="u &lt; $EPS or u &gt; 1">
+	      <!-- Closest point in not on segment, return shortest distance to an endpoint -->
+	      <xsl:variable name="dist1" select="($x1 - $x) * ($x1 - $x) + ($y1 - $y) * ($y1 - $y)" />
+	      <xsl:variable name="dist2" select="($x2 - $x) * ($x2 - $x) + ($y2 - $y) * ($y2 - $y)" />
+	      
+	      <!-- min($dist1, $dist2) -->
+	      <xsl:choose>
+		<xsl:when test="$dist1 &lt; $dist2">
+		  <xsl:value-of select="$dist1" />
+		</xsl:when>
+		<xsl:otherwise>
+		  <xsl:value-of select="$dist2" />
+		</xsl:otherwise>
+	      </xsl:choose>
+	      
+	    </xsl:when>
+	    <xsl:otherwise>
+	      <xsl:variable name="ix" select="$x1 + $u * ($x2 - $x1)" />
+	      <xsl:variable name="iy" select="$y1 + $u * ($y2 - $y1)" />
+	      <xsl:value-of select="($ix - $x) * ($ix - $x) + ($iy - $y) * ($iy - $y)" />
+	    </xsl:otherwise>
+	  </xsl:choose>
+	</xsl:variable>
+
+	<!-- Finally return the square root of the result, as we were working with squared distances -->
+	<xsl:call-template name="sqrt">
+	  <xsl:with-param name="num" select="$result" />
+	</xsl:call-template>
+      </xsl:otherwise>
+    </xsl:choose>
+
+  </xsl:template>
+
+  <!--
+      Finds intersection point between lines x1,y1 -> x2,y2 and x3,y3 -> x4,y4.
+      Returns a comma-separated list of x,y,ua,ub or NoIntersection if the lines do not intersect
+  -->
+  <xsl:template name="areacenterLinesIntersection">
+    <xsl:param name="x1" />
+    <xsl:param name="y1" />
+    <xsl:param name="x2" />
+    <xsl:param name="y2" />
+    <xsl:param name="x3" />
+    <xsl:param name="y3" />
+    <xsl:param name="x4" />
+    <xsl:param name="y4" />
+
+    <xsl:variable name="denom" select="(( $y4 - $y3 ) * ( $x2 - $x1 )) -
+				       (( $x4 - $x3 ) * ( $y2 - $y1 ))" />
+    <xsl:variable name="nume_a" select="(( $x4 - $x3 ) * ( $y1 - $y3 )) -
+					(( $y4 - $y3 ) * ( $x1 - $x3 ))" />
+    <xsl:variable name="nume_b" select="(( $x2 - $x1 ) * ( $y1 - $y3 )) -
+					(( $y2 - $y1 ) * ( $x1 - $x3 ))" />
+
+    <xsl:choose>
+      <xsl:when test="$denom = 0">
+	NoIntersection
+      </xsl:when>
+      <xsl:otherwise>
+	<xsl:variable name="ua" select="$nume_a div $denom" />
+	<xsl:variable name="ub" select="$nume_b div $denom" />
+
+	<!-- x,y,ua,ub -->
+	<xsl:value-of select="$x1 + $ua * ($x2 - $x1)" />,<xsl:value-of select="$y1 + $ua * ($y2 - $y1)" />,<xsl:value-of select="$ua" />,<xsl:value-of select="$ub" />
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <!-- Distance between two points -->
+  <xsl:template name="areacenterPointDistance">
+    <xsl:param name="x1" />
+    <xsl:param name="y1" />
+    <xsl:param name="x2" />
+    <xsl:param name="y2" />
+
+    <!-- sqrt( ($x2 - $x1)**2 + ($y2 - $y1)**2 ) -->
+    <xsl:call-template name="sqrt">
+      <xsl:with-param name="num" select="($x2*$x2 - $x2*$x1 - $x1*$x2 + $x1*$x1) + ($y2*$y2 - $y2*$y1 - $y1*$y2 + $y1*$y1)" />
+    </xsl:call-template>
+  </xsl:template>
+
+  <xsl:template name="sqrt">
+    <xsl:param name="num" select="0"/>  <!-- The number you want to find the
+					     square root of -->
+    <xsl:param name="try" select="1"/>  <!-- The current 'try'.  This is used
+					     internally. -->
+    <xsl:param name="iter" select="1"/> <!-- The current iteration, checked
+					     against maxiter to limit loop count -->
+    <xsl:param name="maxiter" select="10"/>  <!-- Set this up to insure
+against infinite loops -->
+    
+    <!-- This template was written by Nate Austin using Sir Isaac Newton's
+	 method of finding roots -->
+    
+    <xsl:choose>
+      <xsl:when test="$try * $try = $num or $iter &gt; $maxiter">
+	<xsl:value-of select="$try"/>
+      </xsl:when>
+      <xsl:otherwise>
+	<xsl:call-template name="sqrt">
+          <xsl:with-param name="num" select="$num"/>
+          <xsl:with-param name="try" select="$try - (($try * $try - $num) div
+					     (2 * $try))"/>
+          <xsl:with-param name="iter" select="$iter + 1"/>
+          <xsl:with-param name="maxiter" select="$maxiter"/>
+	</xsl:call-template>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <!-- Returns the medium value of all the points -->
+  <xsl:template name="areacenterMediumOfPoints">
+    <xsl:param name="points" />
+    <xsl:param name="total_x" select="0" />
+    <xsl:param name="total_y" select="0" />
+    <xsl:param name="total_dist" select="0" />
+    <xsl:param name="count" select="0" />
+
+    <xsl:variable name="point" select="substring-before($points, ';')" />
+
+    <xsl:choose>
+      <xsl:when test="string-length($point) &gt; 0">
+	<xsl:variable name="x" select="substring-before($point, ',')" />
+	<xsl:variable name="y" select="substring-before(substring-after($point, ','), ',')" />
+	<xsl:variable name="dist" select="substring-after(substring-after($point, ','), ',')" />
+
+	<xsl:call-template name="areacenterMediumOfPoints">
+	  <xsl:with-param name="points" select="substring-after($points, ';')" />
+	  <xsl:with-param name="total_x" select="$total_x + $x" />
+	  <xsl:with-param name="total_y" select="$total_y + $y" />
+	  <xsl:with-param name="total_dist" select="$total_dist + $dist" />
+	  <xsl:with-param name="count" select="$count + 1" />
+	</xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+	<xsl:value-of select="$total_x div $count" />,<xsl:value-of select="$total_y div $count" />,<xsl:value-of select="$total_dist div $count" />
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <!-- Returns the coordinates of the point that scores highest.
+       The score is based on the distance to (x,y),
+       the distance between the point and it's vertex,
+       and the medium of that distance in all the points -->
+  <xsl:template name="areacenterBestPoint">
+    <xsl:param name="points" />
+    <xsl:param name="x" />
+    <xsl:param name="y" />
+    <xsl:param name="nearest_x" />
+    <xsl:param name="nearest_y" />
+    <xsl:param name="medium_dist" />
+    <xsl:param name="nearest_score" />
+    <xsl:param name="nearest_dist" select="'NaN'" />
+
+    <xsl:variable name="point" select="substring-before($points, ';')" />
+
+    <xsl:choose>
+      <xsl:when test="string-length($point) &gt; 0"> 
+        <xsl:variable name="point_x" select="substring-before($point, ',')" />
+	<xsl:variable name="point_y" select="substring-before(substring-after($point, ','), ',')" />
+	<xsl:variable name="point_dist" select="substring-after(substring-after($point, ','), ',')" />
+	
+	<xsl:variable name="distance">
+	  <xsl:call-template name="areacenterPointDistance">
+	    <xsl:with-param name="x1" select="$x" />
+	    <xsl:with-param name="y1" select="$y" />
+	    <xsl:with-param name="x2" select="$point_x" />
+	    <xsl:with-param name="y2" select="$point_y" />
+	  </xsl:call-template>
+	</xsl:variable>
+
+	<xsl:variable name="score" select="0 - $distance + $point_dist + $point_dist - $medium_dist"/>
+	<xsl:variable name="isNewNearest" select="$nearest_dist = 'NaN' or $score &gt; $nearest_score" />
+
+	<xsl:call-template name="areacenterBestPoint">
+	  <xsl:with-param name="points" select="substring-after($points, ';')" />
+	  <xsl:with-param name="x" select="$x" />
+	  <xsl:with-param name="y" select="$y" />
+	  <xsl:with-param name="medium_dist" select="$medium_dist" />
+	  <xsl:with-param name="nearest_dist"><xsl:choose>
+	    <xsl:when test="$isNewNearest"><xsl:value-of select="$distance" /></xsl:when>
+	    <xsl:otherwise><xsl:value-of select="$nearest_dist" /></xsl:otherwise>
+	  </xsl:choose></xsl:with-param>
+	  <xsl:with-param name="nearest_x"><xsl:choose>
+	    <xsl:when test="$isNewNearest"><xsl:value-of select="$point_x" /></xsl:when>
+	    <xsl:otherwise><xsl:value-of select="$nearest_x" /></xsl:otherwise>
+	  </xsl:choose></xsl:with-param>
+	  <xsl:with-param name="nearest_y"><xsl:choose>
+	    <xsl:when test="$isNewNearest"><xsl:value-of select="$point_y" /></xsl:when>
+	    <xsl:otherwise><xsl:value-of select="$nearest_y" /></xsl:otherwise>
+	  </xsl:choose></xsl:with-param>
+	  <xsl:with-param name="nearest_score"><xsl:choose>
+	    <xsl:when test="$isNewNearest"><xsl:value-of select="$score" /></xsl:when>
+	    <xsl:otherwise><xsl:value-of select="$nearest_score" /></xsl:otherwise>
+	  </xsl:choose></xsl:with-param>
+	</xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+	<xsl:value-of select="$nearest_x" />, <xsl:value-of select="$nearest_y" />
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <!-- Process a <pathText> instruction -->
+  <xsl:template match="text|pathText" mode="render">
+    <xsl:param name="elements"/>
+
+    <!-- This is the instruction that is currently being processed -->
+    <xsl:variable name="instruction" select="."/>
+
+    <!-- Select all <node> elements that have a key that matches the k attribute of the text instruction -->
+    <xsl:for-each select="$elements[name()='node'][tag[@k=$instruction/@k]]">
+		<xsl:call-template name="renderText">
+			<xsl:with-param name="instruction" select="$instruction"/>
+			<xsl:with-param name="lon" select="@lon"/>
+			<xsl:with-param name="lat" select="@lat"/>
+			<xsl:with-param name="text" select="tag[@k=$instruction/@k]/@v"/>
+		</xsl:call-template>				
+    </xsl:for-each>
+
+    <!-- Select all <way> elements -->
+    <xsl:apply-templates select="$elements[name()='way']" mode="textPath">
+      <xsl:with-param name="instruction" select="$instruction"/>
+    </xsl:apply-templates>
+  </xsl:template>
+
+
+  <!-- Suppress output of any unhandled elements -->
+  <xsl:template match="*" mode="textPath"/>
+
+
+  <!-- Render textPaths for a way -->
+  <xsl:template match="way" mode="textPath">
+    <xsl:param name="instruction"/>
+
+    <!-- The current <way> element -->
+    <xsl:variable name="way" select="."/>
+	
+	<!-- dodi: !!!workaround!!! no text for one node ways-->
+	<xsl:if test="count($way/nd) &gt; 1">
+		<xsl:variable name='text'>
+			<xsl:choose>
+				<xsl:when test='$instruction/@k'>
+					<xsl:value-of select='tag[@k=$instruction/@k]/@v'/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:apply-templates select='$instruction' mode='textformat'>
+						<xsl:with-param name='way' select='$way'/>
+					</xsl:apply-templates>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+		
+		<xsl:if test='string($text)'>
+			
+			<xsl:variable name="pathdirection">
+				<xsl:choose>
+					<!-- manual override, reverse direction -->
+					<xsl:when test="tag[@k='name_direction']/@v='-1' or tag[@k='osmarender:namedirection']/@v='-1'">reverse</xsl:when>
+					<!-- manual override, normal direction -->
+					<xsl:when test="tag[@k='name_direction']/@v='1' or tag[@k='osmarender:namedirection']/@v='1'">normal</xsl:when>
+					<!-- automatic, reverse direction -->
+					<xsl:when test="(key('nodeById',$way/nd[1]/@ref)/@lon &gt; key('nodeById',$way/nd[last()]/@ref)/@lon)">reverse</xsl:when>
+					<!-- automatic, normal direction -->
+					<xsl:otherwise>normal</xsl:otherwise>
+				</xsl:choose>
+			</xsl:variable>
+			
+			<xsl:variable name="waypath">
+				<xsl:choose>
+					<!-- normal -->
+					<xsl:when test='$pathdirection="normal"'>
+						<xsl:value-of select="concat('way_normal_',@id)"/>
+					</xsl:when>
+					<!-- reverse -->
+					<xsl:otherwise>
+						<xsl:value-of select="concat('way_reverse_',@id)"/>
+					</xsl:otherwise>
+				</xsl:choose>
+			</xsl:variable>
+			
+			<xsl:call-template name="renderTextPath">
+				<xsl:with-param name="instruction" select="$instruction"/>
+				<xsl:with-param name="pathId" select="$waypath"/>
+				<xsl:with-param name="pathDirection" select="$pathdirection"/>
+				<xsl:with-param name="text" select="$text"/>
+			</xsl:call-template>
+		</xsl:if>
+	</xsl:if>
+  </xsl:template>
+
+  <!-- Process extended form of text instruction -->
+  <xsl:template match='text|pathText' mode='textFormat'>
+    <xsl:param name='way'/>
+
+    <xsl:apply-templates mode='textFormat'>
+      <xsl:with-param name='way' select='$way'/>
+    </xsl:apply-templates>
+  </xsl:template>
+
+
+  <!-- Substitute a tag in a text instruction -->
+  <xsl:template match='text/tag|pathText/tag' mode='textFormat'>
+    <xsl:param name='way'/>
+
+    <xsl:variable name='key' select='@k'/>
+    <xsl:variable name='value'>
+      <xsl:choose>
+        <xsl:when test='$key="osm:user"'>
+          <xsl:value-of select='$way/@user'/>
+        </xsl:when>
+        <xsl:when test='$key="osm:timestamp"'>
+          <xsl:value-of select='$way/@timestamp'/>
+        </xsl:when>
+        <xsl:when test='$key="osm:id"'>
+          <xsl:value-of select='$way/@id'/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select='$way/tag[@k=$key]/@v'/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:choose>
+      <xsl:when test='string($value)'>
+        <xsl:value-of select='$value'/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select='@default'/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+
+
+  <!-- Generate a way path for the current way element -->
+  <xsl:template name="generateWayPaths">
+    <!-- DODI: !!!WORKAROUND!!! skip one node ways -->
+    <xsl:if test="count(nd) &gt; 1">
+
+      <!-- Generate a normal way path -->
+      <xsl:variable name="pathWayNormal">
+        <xsl:call-template name="generateWayPathNormal"/>
+      </xsl:variable>
+      <xsl:if test="$pathWayNormal!=''">
+        <path id="way_normal_{@id}" d="{$pathWayNormal}"/>
+      </xsl:if>
+
+      <!-- Generate a normal way path as area -->
+      <!-- DODI: !!!WORKAROUND!!! added to generate "area for all ways, yes it is very dirty... but -->
+      <!-- DODI: removed because of line2curves.pl duplicate node detection problem -->
+      <!-- <xsl:variable name="pathArea">
+      <xsl:call-template name="generateAreaPath"/>
+    </xsl:variable>
+    <path id="area_{@id}" d="{$pathArea}"/> -->
+      <!-- Generate a reverse way path (if needed) -->
+      <xsl:variable name="pathWayReverse">
+        <xsl:choose>
+          <!-- Manual override, reverse direction -->
+          <xsl:when test="tag[@k='name_direction']/@v='-1' or tag[@k='osmarender:nameDirection']/@v='-1'">
+            <xsl:call-template name="generateWayPathReverse"/>
+          </xsl:when>
+          <!-- Manual override, normal direction -->
+          <xsl:when test="tag[@k='name_direction']/@v='1' or tag[@k='osmarender:nameDirection']/@v='1'">
+            <!-- Generate nothing -->
+          </xsl:when>
+          <!-- Automatic, reverse direction -->
+          <xsl:when test="(key('nodeById',nd[1]/@ref)/@lon &gt; key('nodeById',nd[last()]/@ref)/@lon)">
+            <xsl:call-template name="generateWayPathReverse"/>
+          </xsl:when>
+        </xsl:choose>
+      </xsl:variable>
+      <xsl:if test="$pathWayReverse!=''">
+        <path id="way_reverse_{@id}" d="{$pathWayReverse}"/>
+      </xsl:if>
+
+      <!-- Generate the start, middle and end paths needed for smart-linecaps (TM). -->
+      <xsl:variable name="pathWayStart">
+        <xsl:call-template name="generatePathWayStart"/>
+      </xsl:variable>
+      <path id="way_start_{@id}" d="{$pathWayStart}"/>
+
+      <xsl:if test="count(nd) &gt; 1">
+        <xsl:variable name="pathWayMid">
+          <xsl:call-template name="generatePathWayMid"/>
+        </xsl:variable>
+        <path id="way_mid_{@id}" d="{$pathWayMid}"/>
+      </xsl:if>
+
+      <xsl:variable name="pathWayEnd">
+        <xsl:call-template name="generatePathWayEnd"/>
+      </xsl:variable>
+      <path id="way_end_{@id}" d="{$pathWayEnd}"/>
+    </xsl:if >
+  </xsl:template>
+
+
+  <!-- Generate a normal way path -->
+  <xsl:template name="generateWayPathNormal">
+    <xsl:for-each select="nd[key('nodeById',@ref) ]">
+      <xsl:choose>
+        <xsl:when test="position()=1">
+          <xsl:call-template name="moveToNode">
+            <xsl:with-param name="node" select="key('nodeById',@ref)"/>
+          </xsl:call-template>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:call-template name="lineToNode">
+            <xsl:with-param name="node" select="key('nodeById',@ref)"/>
+          </xsl:call-template>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:for-each>
+  </xsl:template>
+
+
+  <!-- Generate a reverse way path -->
+  <xsl:template name="generateWayPathReverse">
+    <xsl:for-each select="nd[key('nodeById',@ref)]">
+      <xsl:sort select="position()" data-type="number" order="descending"/>
+      <xsl:choose>
+        <xsl:when test="position()=1">
+          <xsl:call-template name="moveToNode">
+            <xsl:with-param name="node" select="key('nodeById',@ref)"/>
+          </xsl:call-template>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:call-template name="lineToNode">
+            <xsl:with-param name="node" select="key('nodeById',@ref)"/>
+          </xsl:call-template>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:for-each>
+  </xsl:template>
+
+
+  <!-- These template generates two paths, one for each end of a way.  The line to the first node is cut in two so that the join
+         between the two paths is not at an angle.  -->
+  <xsl:template name="generatePathWayStart">
+    <xsl:call-template name="moveToNode">
+      <xsl:with-param name="node" select="key('nodeById',nd[1]/@ref)"/>
+    </xsl:call-template>
+    <xsl:call-template name="lineToMidpointPlus">
+      <xsl:with-param name="fromNode" select="key('nodeById',nd[1]/@ref)"/>
+      <xsl:with-param name="toNode" select="key('nodeById',nd[2]/@ref)"/>
+    </xsl:call-template>
+  </xsl:template>
+
+  <xsl:template name="generatePathWayEnd">
+    <xsl:call-template name="moveToMidpointPlus">
+      <xsl:with-param name="fromNode" select="key('nodeById',nd[position()=(last())]/@ref)"/>
+      <xsl:with-param name="toNode" select="key('nodeById',nd[position()=last()-1]/@ref)"/>
+    </xsl:call-template>
+    <xsl:call-template name="lineToNode">
+      <xsl:with-param name="node" select="key('nodeById',nd[position()=last()]/@ref)"/>
+    </xsl:call-template>
+  </xsl:template>
+
+  <xsl:template name="generatePathWayMid">
+    <xsl:for-each select="nd[key('nodeById',@ref)]">
+      <xsl:choose>
+        <xsl:when test="position()=1">
+          <xsl:call-template name="moveToMidpointPlus">
+            <xsl:with-param name="fromNode" select="key('nodeById',@ref)"/>
+            <xsl:with-param name="toNode" select="key('nodeById',following-sibling::nd[1]/@ref)"/>
+          </xsl:call-template>
+        </xsl:when>
+        <xsl:when test="position()=last()">
+          <xsl:call-template name="lineToMidpointMinus">
+            <xsl:with-param name="fromNode" select="key('nodeById',preceding-sibling::nd[1]/@ref)"/>
+            <xsl:with-param name="toNode" select="key('nodeById',@ref)"/>
+          </xsl:call-template>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:call-template name="lineToNode">
+            <xsl:with-param name="node" select="key('nodeById',@ref)"/>
+          </xsl:call-template>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:for-each>
+  </xsl:template>
+
+  <!-- Generate an area path for the current way or area element -->
+  <xsl:template name="generateAreaPath">
+    <xsl:variable name='relation' select="key('relationByWay',@id)[tag[@k='type' and @v='multipolygon']]"/>
+    <xsl:choose>
+      <xsl:when test='$relation'>
+	<!-- Handle multipolygons.
+	     Draw area only once, draw the outer one first if we know which is it, else just draw the first one -->
+	<xsl:variable name='outerway' select="$relation/member[@type='way'][@role='outer']/@ref"/>
+        <xsl:if test='( $outerway and $outerway=@id)'>
+          <xsl:message>
+            <xsl:value-of select='$relation/@id'/>
+          </xsl:message>
+          <xsl:for-each select="$relation/member[@type='way'][key('wayById', @ref)]">
+            <xsl:call-template name='generateAreaSubPath'>
+              <xsl:with-param name='way' select="key('wayById',@ref)"/>
+            </xsl:call-template>
+          </xsl:for-each>
+        </xsl:if>
+
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:call-template name='generateAreaSubPath'>
+          <xsl:with-param name='way' select='.'/>
+        </xsl:call-template>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+
+  <xsl:template name='generateAreaSubPath'>
+    <xsl:param name='way'/>
+
+    <xsl:variable name='loop' select='$way/nd[1]/@ref=$way/nd[last()]/@ref'/>
+    <xsl:message>
+      WayId: <xsl:value-of select='$way/@id'/>
+      Loop: <xsl:value-of select='$loop'/>
+      Loop: <xsl:value-of select='$way/nd[1]/@ref'/>
+      Loop: <xsl:value-of select='$way/nd[last()]/@ref'/>
+    </xsl:message>	
+
+	<xsl:for-each select="$data">		
+
+    <xsl:for-each select="$way/nd[key('nodeById',@ref)]">
+      <xsl:choose>
+        <xsl:when test="position()=1">
+          <xsl:call-template name="moveToNode">
+            <xsl:with-param name="node" select="key('nodeById',@ref)"/>
+          </xsl:call-template>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:call-template name="lineToNode">
+            <xsl:with-param name="node" select="key('nodeById',@ref)"/>
+          </xsl:call-template>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:for-each>
+
+	</xsl:for-each>
+		
+	<xsl:text>Z</xsl:text>
+
+  </xsl:template>
+
+  <!-- Generate a MoveTo command for a node -->
+  <xsl:template name="moveToNode">
+    <xsl:param name='node' />
+    <xsl:variable name="x1" select="($width)-((($topRightLongitude)-($node/@lon))*10000*$scale)"/>
+    <xsl:variable name="y1" select="($height)+((($bottomLeftLatitude)-($node/@lat))*10000*$scale*$projection)"/>
+    <xsl:text>M</xsl:text>
+    <xsl:value-of select="$x1"/>
+    <xsl:text> </xsl:text>
+    <xsl:value-of select="$y1"/>
+  </xsl:template>
+
+  <!-- Generate a LineTo command for a nd -->
+  <xsl:template name="lineToNode">
+    <xsl:param name='node'/>
+
+    <xsl:variable name="x1" select="($width)-((($topRightLongitude)-($node/@lon))*10000*$scale)"/>
+    <xsl:variable name="y1" select="($height)+((($bottomLeftLatitude)-($node/@lat))*10000*$scale*$projection)"/>
+    <xsl:text>L</xsl:text>
+    <xsl:value-of select="$x1"/>
+    <xsl:text> </xsl:text>
+    <xsl:value-of select="$y1"/>
+  </xsl:template>
+
+  <xsl:template name="lineToMidpointPlus">
+    <xsl:param name='fromNode'/>
+    <xsl:param name='toNode'/>
+
+    <xsl:variable name="x1" select="($width)-((($topRightLongitude)-($fromNode/@lon))*10000*$scale)"/>
+    <xsl:variable name="y1" select="($height)+((($bottomLeftLatitude)-($fromNode/@lat))*10000*$scale*$projection)"/>
+
+    <xsl:variable name="x2" select="($width)-((($topRightLongitude)-($toNode/@lon))*10000*$scale)"/>
+    <xsl:variable name="y2" select="($height)+((($bottomLeftLatitude)-($toNode/@lat))*10000*$scale*$projection)"/>
+
+    <xsl:text>L</xsl:text>
+    <xsl:value-of select="$x1+(($x2 - $x1) div 1.9)"/>
+    <xsl:text> </xsl:text>
+    <xsl:value-of select="$y1+(($y2 - $y1) div 1.9)"/>
+  </xsl:template>
+
+  <xsl:template name="lineToMidpointMinus">
+    <xsl:param name='fromNode'/>
+    <xsl:param name='toNode'/>
+
+    <xsl:variable name="x1" select="($width)-((($topRightLongitude)-($fromNode/@lon))*10000*$scale)"/>
+    <xsl:variable name="y1" select="($height)+((($bottomLeftLatitude)-($fromNode/@lat))*10000*$scale*$projection)"/>
+
+    <xsl:variable name="x2" select="($width)-((($topRightLongitude)-($toNode/@lon))*10000*$scale)"/>
+    <xsl:variable name="y2" select="($height)+((($bottomLeftLatitude)-($toNode/@lat))*10000*$scale*$projection)"/>
+    <xsl:text>L</xsl:text>
+    <xsl:value-of select="$x1+(($x2 - $x1) div 2.1)"/>
+    <xsl:text> </xsl:text>
+    <xsl:value-of select="$y1+(($y2 - $y1) div 2.1)"/>
+  </xsl:template>
+
+
+  <xsl:template name="moveToMidpointPlus">
+    <xsl:param name='fromNode'/>
+    <xsl:param name='toNode'/>
+
+    <xsl:variable name="x1" select="($width)-((($topRightLongitude)-($fromNode/@lon))*10000*$scale)"/>
+    <xsl:variable name="y1" select="($height)+((($bottomLeftLatitude)-($fromNode/@lat))*10000*$scale*$projection)"/>
+
+    <xsl:variable name="x2" select="($width)-((($topRightLongitude)-($toNode/@lon))*10000*$scale)"/>
+    <xsl:variable name="y2" select="($height)+((($bottomLeftLatitude)-($toNode/@lat))*10000*$scale*$projection)"/>
+    <xsl:text>M</xsl:text>
+    <xsl:value-of select="$x1+(($x2 - $x1) div 1.9)"/>
+    <xsl:text> </xsl:text>
+    <xsl:value-of select="$y1+(($y2 - $y1) div 1.9)"/>
+  </xsl:template>
+
+  <!-- Some attribute shouldn't be copied -->
+  <xsl:template match="@type|@ref|@scale|@smart-linecap|@honor-width|@position|@labels" mode="copyAttributes" />
+
+  <!-- Copy all other attributes  -->
+  <xsl:template match="@*" mode="copyAttributes">
+    <xsl:copy/>
+  </xsl:template>
+
+
+  <!-- Rule processing engine -->
+
+  <!-- 
+
+		Calls all templates inside <rule> tags (including itself, if there are nested rules).
+
+		If the global var withOSMLayers is 'no', we don't care about layers and draw everything
+		in one go. This is faster and is sometimes useful. For normal maps you want withOSMLayers
+		to be 'yes', which is the default.
+
+	-->
+<xsl:template name="processRules">
+
+    <!-- First select all elements - exclude those marked as deleted by JOSM -->
+	<xsl:variable name='elements' select="$data/osm/*[not(@action) or not(@action='delete')]" />
+
+	<xsl:variable name="originalCommands">
+		<xsl:apply-templates select="/rules/rule">
+			<xsl:with-param name="elements" select="$elements"/>
+		</xsl:apply-templates>
+	</xsl:variable>
+
+	<xsl:variable name="originalCommands2">
+		<xsl:call-template name="applySetAttributeActions">
+			<xsl:with-param name="commands" select="exslt:node-set($originalCommands)/z:command"/>
+			<xsl:with-param name="setAttributeActions" select="exslt:node-set($originalCommands)/z:set-attribute"/>
+		</xsl:call-template>
+	</xsl:variable>
+
+	<xsl:variable name="commands">
+		<xsl:call-template name="applyDeleteActions">
+			<xsl:with-param name="commands" select="exslt:node-set($originalCommands2)/z:command"/>
+			<xsl:with-param name="deleteActions" select="exslt:node-set($originalCommands)/z:delete"/>
+		</xsl:call-template>
+	</xsl:variable>
+	
+	<xsl:for-each select="exslt:node-set($commands)/z:command[z:instruction/*/@z-mode='bottom']">
+		<xsl:sort select="@z-index" data-type="number"/>
+		<xsl:call-template name="renderCommand">
+			<xsl:with-param name="command" select="."/>
+		</xsl:call-template>
+	</xsl:for-each>
+
+	<xsl:for-each select="exslt:node-set($commands)/z:command[z:instruction/*/@z-mode='normal' or not(z:instruction/*/@z-mode)]">
+		<xsl:sort select="@layer" data-type="number"/>
+		<xsl:sort select="@z-index" data-type="number"/>
+		<xsl:call-template name="renderCommand">
+			<xsl:with-param name="command" select="."/>
+		</xsl:call-template>
+	</xsl:for-each>
+	
+	<xsl:for-each select="exslt:node-set($commands)/z:command[z:instruction/*/@z-mode='top']">
+		<xsl:sort select="@z-index" data-type="number"/>
+		<xsl:call-template name="renderCommand">
+			<xsl:with-param name="command" select="."/>
+		</xsl:call-template>
+	</xsl:for-each>
+
+</xsl:template>
+  
+	<xsl:template name="renderCommand">
+		<xsl:param name="command"/>
+		
+		<xsl:for-each select="$data">
+			<xsl:variable name="element" select="key('nodeById', $command/z:element/@id) | key('wayById', $command/z:element/@id) | key('relationById', $command/z:element/@id)"/>
+			
+			<xsl:apply-templates select="$command/z:instruction/*" mode="render">
+				<xsl:with-param name="elements" select="$element"/>
+			</xsl:apply-templates>
+		</xsl:for-each>
+	</xsl:template>
+
+	<xsl:template name="applySetAttributeActions">
+		<xsl:param name="commands"/>
+		<xsl:param name="setAttributeActions"/>
+
+		<xsl:choose>
+			<xsl:when test="$setAttributeActions">
+				
+				<xsl:variable name="processedCommands">
+					<xsl:call-template name="applySetAttributeActions">
+						<xsl:with-param name="commands" select="$commands"/>
+						<xsl:with-param name="setAttributesActions" select="$setAttributeActions[position() > 1]"/>
+					</xsl:call-template>
+				</xsl:variable>
+
+				<xsl:variable name="attr" select="$setAttributeActions[1]"/>
+
+				<xsl:for-each select="$commands">
+					<xsl:variable name="command" select="."/>
+					<xsl:choose>
+						<xsl:when test="($attr/z:element[@id = $command/z:element/@id]) and contains($command/@labels, $attr/@for-label)">
+							<z:command layer="{$command/@layer}">
+								<z:instruction>
+									<xsl:element name="{local-name($command/z:instruction/*)}" xmlns="">
+										<xsl:copy-of select="$command/z:instruction/*/@*"/>
+										<xsl:attribute name="{$attr/@name}">
+											<xsl:value-of select="$attr/@value"/>
+										</xsl:attribute>
+									</xsl:element>
+								</z:instruction>
+								<z:element>
+									<xsl:copy-of select="$command/z:element/@*"/>
+								</z:element>
+							</z:command>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:copy-of select="$command"/>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:for-each>
+
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:copy-of select="$commands"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+	<xsl:template name="applyDeleteActions">
+		<xsl:param name="commands"/>
+		<xsl:param name="deleteActions"/>
+
+		<xsl:choose>
+			<xsl:when test="$deleteActions">
+				
+				<xsl:variable name="processedCommands">
+					<xsl:call-template name="applyDeleteActions">
+						<xsl:with-param name="commands" select="$commands"/>
+						<xsl:with-param name="deleteActions" select="$deleteActions[position() > 1]"/>
+					</xsl:call-template>
+				</xsl:variable>
+
+				<xsl:variable name="attr" select="$deleteActions[1]"/>
+
+				<xsl:for-each select="$commands">
+					<xsl:variable name="command" select="."/>
+					<xsl:if test="not(($attr/z:element[@id = $command/z:element/@id]) and contains($command/@labels, $attr/@for-label))">
+						<xsl:copy-of select="$command"/>
+					</xsl:if>
+				</xsl:for-each>
+
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:copy-of select="$commands"/>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+  <!-- Process a rule at a specific level -->
+  <xsl:template match='rule'>
+    <xsl:param name="elements"/>
+	
+	<xsl:call-template name="rule">
+		<xsl:with-param name="elements" select="$elements"/>
+	</xsl:call-template>
+	
+  </xsl:template>
+
+
+  <xsl:template name='rule'>
+    <xsl:param name="elements"/>
+
+    <!-- This is the rule currently being processed -->
+    <xsl:variable name="rule" select="."/>
+
+    <!-- Make list of elements that this rule should be applied to -->
+    <xsl:variable name="eBare">
+      <xsl:choose>
+        <xsl:when test="$rule/@e='*'">node|way</xsl:when>
+        <xsl:when test="$rule/@e">
+          <xsl:value-of select="$rule/@e"/>
+        </xsl:when>
+        <xsl:otherwise>node|way</xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+
+    <!-- List of keys that this rule should be applied to -->
+    <xsl:variable name="kBare" select="$rule/@k"/>
+
+    <!-- List of values that this rule should be applied to -->
+    <xsl:variable name="vBare" select="$rule/@v"/>
+    <xsl:variable name="sBare" select="$rule/@s"/>
+
+    <!-- Top'n'tail selectors with | for contains usage -->
+    <xsl:variable name="e">
+      |<xsl:value-of select="$eBare"/>|
+    </xsl:variable>
+    <xsl:variable name="k">
+      |<xsl:value-of select="$kBare"/>|
+    </xsl:variable>
+    <xsl:variable name="v">
+      |<xsl:value-of select="$vBare"/>|
+    </xsl:variable>
+    <xsl:variable name="s">
+      |<xsl:value-of select="$sBare"/>|
+    </xsl:variable>
+
+    <xsl:variable
+      name="selectedElements"
+      select="$elements[
+              (
+                  not( $rule/@closed )
+                  and
+                  (
+                      (contains($e,'|way|') and name()='way')
+                      or
+                      (contains($e,'|node|') and name()='node')
+                      or
+                      (contains($e,'|node|') and name()='way' and key('wayByNode',@id))
+                  )
+              )
+              or
+              (
+                  $rule/@closed='yes'
+                  and
+                  contains($e,'|way|') and name()='way'
+                  and
+                  not(
+                      tag[@k='area' and (@v='no' or @v='false')]
+                  )
+                  and
+                  count(nd) &gt; 2
+                  and
+                  nd[1]/@ref = nd[last()]/@ref
+              )
+              or
+              (
+                  $rule/@closed='no'
+                  and
+                  contains($e,'|way|') and name()='way'
+                  and
+                  not(
+                      not(
+                          tag[@k='area' and (@v='no' or @v='false')]
+                      )
+                      and
+                      count(nd) &gt; 2
+                      and
+                      nd[1]/@ref = nd[last()]/@ref
+                  )
+                  and
+                  not(
+                      tag[@k='area' and (@v='yes' or @v='true')]
+                  )
+              )
+            ]"/>
+
+    <!-- Patch $s -->
+    <xsl:choose>
+      <!-- way selector -->
+      <xsl:when test="contains($s,'|way|')">
+        <xsl:choose>
+          <!-- every key -->
+          <xsl:when test="contains($k,'|*|')">
+            <xsl:choose>
+              <!-- every key ,no value defined -->
+              <xsl:when test="contains($v,'|~|')">
+                <xsl:variable name="elementsWithNoTags" select="$selectedElements[count(key('wayByNode',@id)/tag)=0]"/>
+                <xsl:call-template name="processElements">
+                  <xsl:with-param name="eBare" select="$eBare"/>
+                  <xsl:with-param name="kBare" select="$kBare"/>
+                  <xsl:with-param name="vBare" select="$vBare"/>
+                  <xsl:with-param name="elements" select="$elementsWithNoTags"/>
+                  <xsl:with-param name="rule" select="$rule"/>
+                </xsl:call-template>
+              </xsl:when>
+              <!-- every key ,every value -->
+              <xsl:when test="contains($v,'|*|')">
+                <xsl:variable name="allElements" select="$selectedElements"/>
+                <xsl:call-template name="processElements">
+                  <xsl:with-param name="eBare" select="$eBare"/>
+                  <xsl:with-param name="kBare" select="$kBare"/>
+                  <xsl:with-param name="vBare" select="$vBare"/>
+                  <xsl:with-param name="elements" select="$allElements"/>
+                  <xsl:with-param name="rule" select="$rule"/>
+                </xsl:call-template>
+              </xsl:when>
+              <!-- every key , selected values -->
+              <xsl:otherwise>
+                <xsl:variable name="allElementsWithValue" select="$selectedElements[key('wayByNode',@id)/tag[contains($v,concat('|',@v,'|'))]]"/>
+                <xsl:call-template name="processElements">
+                  <xsl:with-param name="eBare" select="$eBare"/>
+                  <xsl:with-param name="kBare" select="$kBare"/>
+                  <xsl:with-param name="vBare" select="$vBare"/>
+                  <xsl:with-param name="elements" select="$allElementsWithValue"/>
+                  <xsl:with-param name="rule" select="$rule"/>
+                </xsl:call-template>
+              </xsl:otherwise>
+            </xsl:choose>
+          </xsl:when>
+          <!-- no value  -->
+          <xsl:when test="contains($v,'|~|')">
+            <xsl:variable name="elementsWithoutKey" select="$selectedElements[count(key('wayByNode',@id)/tag[contains($k,concat('|',@k,'|'))])=0]"/>
+            <xsl:call-template name="processElements">
+              <xsl:with-param name="eBare" select="$eBare"/>
+              <xsl:with-param name="kBare" select="$kBare"/>
+              <xsl:with-param name="vBare" select="$vBare"/>
+              <xsl:with-param name="elements" select="$elementsWithoutKey"/>
+              <xsl:with-param name="rule" select="$rule"/>
+            </xsl:call-template>
+          </xsl:when>
+          <!-- every value  -->
+          <xsl:when test="contains($v,'|*|')">
+            <xsl:variable name="allElementsWithKey" select="$selectedElements[key('wayByNode',@id)/tag[contains($k,concat('|',@k,'|'))]]"/>
+            <xsl:call-template name="processElements">
+              <xsl:with-param name="eBare" select="$eBare"/>
+              <xsl:with-param name="kBare" select="$kBare"/>
+              <xsl:with-param name="vBare" select="$vBare"/>
+              <xsl:with-param name="elements" select="$allElementsWithKey"/>
+              <xsl:with-param name="rule" select="$rule"/>
+            </xsl:call-template>
+          </xsl:when>
+
+          <!-- defined key and defined value -->
+          <xsl:otherwise>
+            <xsl:variable name="elementsWithKey" select="$selectedElements[
+							key('wayByNode',@id)/tag[
+								contains($k,concat('|',@k,'|')) and contains($v,concat('|',@v,'|'))
+								]
+							]"/>
+            <xsl:call-template name="processElements">
+              <xsl:with-param name="eBare" select="$eBare"/>
+              <xsl:with-param name="kBare" select="$kBare"/>
+              <xsl:with-param name="vBare" select="$vBare"/>
+              <xsl:with-param name="elements" select="$elementsWithKey"/>
+              <xsl:with-param name="rule" select="$rule"/>
+            </xsl:call-template>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:when>
+
+      <!-- other selector -->
+      <xsl:otherwise>
+        <xsl:choose>
+          <xsl:when test="contains($k,'|*|')">
+            <xsl:choose>
+              <xsl:when test="contains($v,'|~|')">
+                <xsl:variable name="elementsWithNoTags" select="$selectedElements[count(tag)=0]"/>
+                <xsl:call-template name="processElements">
+                  <xsl:with-param name="eBare" select="$eBare"/>
+                  <xsl:with-param name="kBare" select="$kBare"/>
+                  <xsl:with-param name="vBare" select="$vBare"/>
+                  <xsl:with-param name="elements" select="$elementsWithNoTags"/>
+                  <xsl:with-param name="rule" select="$rule"/>
+                </xsl:call-template>
+              </xsl:when>
+              <xsl:when test="contains($v,'|*|')">
+                <xsl:variable name="allElements" select="$selectedElements"/>
+                <xsl:call-template name="processElements">
+                  <xsl:with-param name="eBare" select="$eBare"/>
+                  <xsl:with-param name="kBare" select="$kBare"/>
+                  <xsl:with-param name="vBare" select="$vBare"/>
+                  <xsl:with-param name="elements" select="$allElements"/>
+                  <xsl:with-param name="rule" select="$rule"/>
+                </xsl:call-template>
+              </xsl:when>
+              <xsl:otherwise>
+                <xsl:variable name="allElementsWithValue" select="$selectedElements[tag[contains($v,concat('|',@v,'|'))]]"/>
+                <xsl:call-template name="processElements">
+                  <xsl:with-param name="eBare" select="$eBare"/>
+                  <xsl:with-param name="kBare" select="$kBare"/>
+                  <xsl:with-param name="vBare" select="$vBare"/>
+                  <xsl:with-param name="elements" select="$allElementsWithValue"/>
+                  <xsl:with-param name="rule" select="$rule"/>
+                </xsl:call-template>
+              </xsl:otherwise>
+            </xsl:choose>
+          </xsl:when>
+          <xsl:when test="contains($v,'|~|')">
+            <xsl:variable name="elementsWithoutKey" select="$selectedElements[count(tag[contains($k,concat('|',@k,'|'))])=0]"/>
+            <xsl:call-template name="processElements">
+              <xsl:with-param name="eBare" select="$eBare"/>
+              <xsl:with-param name="kBare" select="$kBare"/>
+              <xsl:with-param name="vBare" select="$vBare"/>
+              <xsl:with-param name="elements" select="$elementsWithoutKey"/>
+              <xsl:with-param name="rule" select="$rule"/>
+            </xsl:call-template>
+          </xsl:when>
+          <xsl:when test="contains($v,'|*|')">
+            <xsl:variable name="allElementsWithKey" select="$selectedElements[tag[contains($k,concat('|',@k,'|'))]]"/>
+            <xsl:call-template name="processElements">
+              <xsl:with-param name="eBare" select="$eBare"/>
+              <xsl:with-param name="kBare" select="$kBare"/>
+              <xsl:with-param name="vBare" select="$vBare"/>
+              <xsl:with-param name="elements" select="$allElementsWithKey"/>
+              <xsl:with-param name="rule" select="$rule"/>
+            </xsl:call-template>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:variable name="elementsWithKey" select="$selectedElements[tag[contains($k,concat('|',@k,'|')) and contains($v,concat('|',@v,'|'))]]"/>
+            <xsl:call-template name="processElements">
+              <xsl:with-param name="eBare" select="$eBare"/>
+              <xsl:with-param name="kBare" select="$kBare"/>
+              <xsl:with-param name="vBare" select="$vBare"/>
+              <xsl:with-param name="elements" select="$elementsWithKey"/>
+              <xsl:with-param name="rule" select="$rule"/>
+            </xsl:call-template>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+
+  <xsl:template match="else">
+    <xsl:param name="elements"/>
+
+    <!-- This is the previous rule that is being negated -->
+    <!-- TODO: abort if no preceding rule element -->
+    <xsl:variable name="rule" select="preceding-sibling::rule[1]"/>
+
+    <!-- Make list of elements that this rule should be applied to -->
+    <xsl:variable name="eBare">
+      <xsl:choose>
+        <xsl:when test="$rule/@e='*'">node|way</xsl:when>
+        <xsl:when test="$rule/@e">
+          <xsl:value-of select="$rule/@e"/>
+        </xsl:when>
+        <xsl:otherwise>node|way</xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+
+    <!-- List of keys that this rule should be applied to -->
+    <xsl:variable name="kBare" select="$rule/@k"/>
+
+    <!-- List of values that this rule should be applied to -->
+    <xsl:variable name="vBare" select="$rule/@v"/>
+    <xsl:variable name="sBare" select="$rule/@s"/>
+
+
+    <!-- Top'n'tail selectors with | for contains usage -->
+    <xsl:variable name="e">
+      |<xsl:value-of select="$eBare"/>|
+    </xsl:variable>
+    <xsl:variable name="k">
+      |<xsl:value-of select="$kBare"/>|
+    </xsl:variable>
+    <xsl:variable name="v">
+      |<xsl:value-of select="$vBare"/>|
+    </xsl:variable>
+    <xsl:variable name="s">
+      |<xsl:value-of select="$sBare"/>|
+    </xsl:variable>
+
+    <xsl:variable
+      name="selectedElements"
+      select="$elements[
+              (
+                  not( $rule/@closed )
+                  and
+                  (
+                      (contains($e,'|way|') and name()='way')
+                      or
+                      (contains($e,'|node|') and name()='node')
+                      or
+                      (contains($e,'|node|') and name()='way' and key('wayByNode',@id))
+                  )
+              )
+              or
+              (
+                  $rule/@closed='yes'
+                  and
+                  contains($e,'|way|') and name()='way'
+                  and
+                  not(
+                      tag[@k='area' and (@v='no' or @v='false')]
+                  )
+                  and
+                  count(nd) &gt; 2
+                  and
+                  nd[1]/@ref = nd[last()]/@ref
+              )
+              or
+              (
+                  $rule/@closed='no'
+                  and
+                  contains($e,'|way|') and name()='way'
+                  and
+                  not(
+                      not(
+                          tag[@k='area' and (@v='no' or @v='false')]
+                      )
+                      and
+                      count(nd) &gt; 2
+                      and
+                      nd[1]/@ref = nd[last()]/@ref
+                  )
+                  and
+                  not(
+                      tag[@k='area' and (@v='yes' or @v='true')]
+                  )
+              )
+            ]"/>
+
+    <!-- Patch $s -->
+    <xsl:choose>
+      <xsl:when test="contains($s,'|way|')">
+        <xsl:choose>
+          <xsl:when test="contains($k,'|*|')">
+            <xsl:choose>
+              <xsl:when test="contains($v,'|~|')">
+                <xsl:variable name="elementsWithNoTags" select="$selectedElements[count(key('wayByNode',@id)/tag)!=0]"/>
+                <xsl:call-template name="processElements">
+                  <xsl:with-param name="eBare" select="$eBare"/>
+                  <xsl:with-param name="kBare" select="$kBare"/>
+                  <xsl:with-param name="vBare" select="$vBare"/>
+                  <xsl:with-param name="elements" select="$elementsWithNoTags"/>
+                  <xsl:with-param name="rule" select="$rule"/>
+                </xsl:call-template>
+              </xsl:when>
+              <xsl:when test="contains($v,'|*|')">
+                <!-- no-op! -->
+              </xsl:when>
+              <xsl:otherwise>
+                <xsl:variable name="allElementsWithValue" select="$selectedElements[not(key('wayByNode',@id)/tag[contains($v,concat('|',@v,'|'))])]"/>
+                <xsl:call-template name="processElements">
+                  <xsl:with-param name="eBare" select="$eBare"/>
+                  <xsl:with-param name="kBare" select="$kBare"/>
+                  <xsl:with-param name="vBare" select="$vBare"/>
+                  <xsl:with-param name="elements" select="$allElementsWithValue"/>
+                  <xsl:with-param name="rule" select="$rule"/>
+                </xsl:call-template>
+              </xsl:otherwise>
+            </xsl:choose>
+          </xsl:when>
+          <xsl:when test="contains($v,'|~|')">
+            <xsl:variable name="elementsWithoutKey" select="$selectedElements[count(key('wayByNode',@id)/tag[contains($k,concat('|',@k,'|'))])!=0]"/>
+            <xsl:call-template name="processElements">
+              <xsl:with-param name="eBare" select="$eBare"/>
+              <xsl:with-param name="kBare" select="$kBare"/>
+              <xsl:with-param name="vBare" select="$vBare"/>
+              <xsl:with-param name="elements" select="$elementsWithoutKey"/>
+              <xsl:with-param name="rule" select="$rule"/>
+            </xsl:call-template>
+          </xsl:when>
+          <xsl:when test="contains($v,'|*|')">
+            <xsl:variable name="allElementsWithKey" select="$selectedElements[not(key('wayByNode',@id)/tag[contains($k,concat('|',@k,'|'))])]"/>
+            <xsl:call-template name="processElements">
+              <xsl:with-param name="eBare" select="$eBare"/>
+              <xsl:with-param name="kBare" select="$kBare"/>
+              <xsl:with-param name="vBare" select="$vBare"/>
+              <xsl:with-param name="elements" select="$allElementsWithKey"/>
+              <xsl:with-param name="rule" select="$rule"/>
+            </xsl:call-template>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:variable name="elementsWithKey" select="$selectedElements[not(
+                         key('wayByNode',@id)/tag[
+                            contains($k,concat('|',@k,'|')) and contains($v,concat('|',@v,'|'))
+                            ]
+                         )]"/>
+            <xsl:call-template name="processElements">
+              <xsl:with-param name="eBare" select="$eBare"/>
+              <xsl:with-param name="kBare" select="$kBare"/>
+              <xsl:with-param name="vBare" select="$vBare"/>
+              <xsl:with-param name="elements" select="$elementsWithKey"/>
+              <xsl:with-param name="rule" select="$rule"/>
+            </xsl:call-template>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:when>
+
+      <xsl:otherwise>
+        <!-- not contains $s -->
+        <xsl:choose>
+          <xsl:when test="contains($k,'|*|')">
+            <xsl:choose>
+              <xsl:when test="contains($v,'|~|')">
+                <xsl:variable name="elementsWithNoTags" select="$selectedElements[count(tag)!=0]"/>
+                <xsl:call-template name="processElements">
+                  <xsl:with-param name="eBare" select="$eBare"/>
+                  <xsl:with-param name="kBare" select="$kBare"/>
+                  <xsl:with-param name="vBare" select="$vBare"/>
+                  <xsl:with-param name="elements" select="$elementsWithNoTags"/>
+                  <xsl:with-param name="rule" select="$rule"/>
+                </xsl:call-template>
+              </xsl:when>
+              <xsl:when test="contains($v,'|*|')">
+                <!-- no-op! -->
+              </xsl:when>
+              <xsl:otherwise>
+                <xsl:variable name="allElementsWithValue" select="$selectedElements[not(tag[contains($v,concat('|',@v,'|'))])]"/>
+                <xsl:call-template name="processElements">
+                  <xsl:with-param name="eBare" select="$eBare"/>
+                  <xsl:with-param name="kBare" select="$kBare"/>
+                  <xsl:with-param name="vBare" select="$vBare"/>
+                  <xsl:with-param name="elements" select="$allElementsWithValue"/>
+                  <xsl:with-param name="rule" select="$rule"/>
+                </xsl:call-template>
+              </xsl:otherwise>
+            </xsl:choose>
+          </xsl:when>
+          <xsl:when test="contains($v,'|~|')">
+            <xsl:variable name="elementsWithoutKey" select="$selectedElements[count(tag[contains($k,concat('|',@k,'|'))])!=0]"/>
+            <xsl:call-template name="processElements">
+              <xsl:with-param name="eBare" select="$eBare"/>
+              <xsl:with-param name="kBare" select="$kBare"/>
+              <xsl:with-param name="vBare" select="$vBare"/>
+              <xsl:with-param name="elements" select="$elementsWithoutKey"/>
+              <xsl:with-param name="rule" select="$rule"/>
+            </xsl:call-template>
+          </xsl:when>
+          <xsl:when test="contains($v,'|*|')">
+            <xsl:variable name="allElementsWithKey" select="$selectedElements[not(tag[contains($k,concat('|',@k,'|'))])]"/>
+            <xsl:call-template name="processElements">
+              <xsl:with-param name="eBare" select="$eBare"/>
+              <xsl:with-param name="kBare" select="$kBare"/>
+              <xsl:with-param name="vBare" select="$vBare"/>
+              <xsl:with-param name="elements" select="$allElementsWithKey"/>
+              <xsl:with-param name="rule" select="$rule"/>
+            </xsl:call-template>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:variable name="elementsWithKey" select="$selectedElements[not(tag[contains($k,concat('|',@k,'|')) and contains($v,concat('|',@v,'|'))])]"/>
+            <xsl:call-template name="processElements">
+              <xsl:with-param name="eBare" select="$eBare"/>
+              <xsl:with-param name="kBare" select="$kBare"/>
+              <xsl:with-param name="vBare" select="$vBare"/>
+              <xsl:with-param name="elements" select="$elementsWithKey"/>
+              <xsl:with-param name="rule" select="$rule"/>
+            </xsl:call-template>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+
+  <xsl:template name="processElements">
+    <xsl:param name="eBare"/>
+    <xsl:param name="kBare"/>
+    <xsl:param name="vBare"/>
+    <xsl:param name="elements"/>
+    <xsl:param name="rule"/>
+    <xsl:param name="filterIterator" select="0"/>
+
+    <xsl:if test="$elements">
+  
+      <!-- elementCount is the number of elements we started with (just used for the progress message) -->
+      <xsl:variable name="elementCount" select="count($elements)"/>
+
+      <xsl:choose>
+        <xsl:when test='$rule/@verticalProximity and $rule/@horizontalProximity and $filterIterator &lt; 1'>
+          <xsl:call-template name="filterProximity">
+            <xsl:with-param name="eBare" select="$eBare"/>
+            <xsl:with-param name="kBare" select="$kBare"/>
+            <xsl:with-param name="vBare" select="$vBare"/>
+            <xsl:with-param name="elements" select="$elements"/>
+            <xsl:with-param name="rule" select="$rule"/>
+            <xsl:with-param name="filterIterator" select="1"/>
+          </xsl:call-template>
+        </xsl:when>
+        <xsl:when test='$rule/@notConnectedSameTag and $filterIterator &lt; 2'>
+          <xsl:call-template name="filterConnected">
+            <xsl:with-param name="eBare" select="$eBare"/>
+            <xsl:with-param name="kBare" select="$kBare"/>
+            <xsl:with-param name="vBare" select="$vBare"/>
+            <xsl:with-param name="elements" select="$elements"/>
+            <xsl:with-param name="rule" select="$rule"/>
+            <xsl:with-param name="filterIterator" select="2"/>
+          </xsl:call-template>
+        </xsl:when>
+        <xsl:when test='$rule/@minSize and $filterIterator &lt; 3'>
+          <xsl:call-template name="filterMinSize">
+            <xsl:with-param name="eBare" select="$eBare"/>
+            <xsl:with-param name="kBare" select="$kBare"/>
+            <xsl:with-param name="vBare" select="$vBare"/>
+            <xsl:with-param name="elements" select="$elements"/>
+            <xsl:with-param name="rule" select="$rule"/>
+            <xsl:with-param name="filterIterator" select="3"/>
+          </xsl:call-template>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:message>
+            Processing &lt;rule e="<xsl:value-of select="$eBare"/>" k="<xsl:value-of select="$kBare"/>" v="<xsl:value-of select="$vBare"/>" &gt;
+          </xsl:message>
+
+          <xsl:apply-templates select="*">
+            <xsl:with-param name="elements" select="$elements"/>
+            <xsl:with-param name="rule" select="$rule"/>
+          </xsl:apply-templates>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:template name="filterProximity">
+    <xsl:param name="eBare"/>
+    <xsl:param name="kBare"/>
+    <xsl:param name="vBare"/>
+    <xsl:param name="elements"/>
+    <xsl:param name="rule"/>
+    <xsl:param name="filterIterator"/>
+    
+    <xsl:variable name='nearbyElements1'>
+      <xsl:call-template name="proximityFilter">
+        <xsl:with-param name="elements" select="$elements"/>
+        <xsl:with-param name="horizontalProximity" select="$rule/@horizontalProximity div 32"/>
+        <xsl:with-param name="verticalProximity" select="$rule/@verticalProximity div 32"/>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name='nearbyElements2'>
+      <xsl:call-template name="proximityFilter">
+        <xsl:with-param name="elements" select="exslt:node-set($nearbyElements1)/*"/>
+        <xsl:with-param name="horizontalProximity" select="$rule/@horizontalProximity div 16"/>
+        <xsl:with-param name="verticalProximity" select="$rule/@verticalProximity div 16"/>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name='nearbyElements3'>
+      <xsl:call-template name="proximityFilter">
+        <xsl:with-param name="elements" select="exslt:node-set($nearbyElements2)/*"/>
+        <xsl:with-param name="horizontalProximity" select="$rule/@horizontalProximity div 8"/>
+        <xsl:with-param name="verticalProximity" select="$rule/@verticalProximity div 8"/>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name='nearbyElements4'>
+      <xsl:call-template name="proximityFilter">
+        <xsl:with-param name="elements" select="exslt:node-set($nearbyElements3)/*"/>
+        <xsl:with-param name="horizontalProximity" select="$rule/@horizontalProximity div 4"/>
+        <xsl:with-param name="verticalProximity" select="$rule/@verticalProximity div 4"/>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name='nearbyElements5'>
+      <xsl:call-template name="proximityFilter">
+        <xsl:with-param name="elements" select="exslt:node-set($nearbyElements4)/*"/>
+        <xsl:with-param name="horizontalProximity" select="$rule/@horizontalProximity div 2"/>
+        <xsl:with-param name="verticalProximity" select="$rule/@verticalProximity div 2"/>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name='nearbyElementsRtf'>
+      <xsl:call-template name="proximityFilter">
+        <xsl:with-param name="elements" select="exslt:node-set($nearbyElements5)/*"/>
+        <xsl:with-param name="horizontalProximity" select="$rule/@horizontalProximity"/>
+        <xsl:with-param name="verticalProximity" select="$rule/@verticalProximity"/>
+      </xsl:call-template>
+    </xsl:variable>
+    
+    <!-- Convert nearbyElements rtf to a node-set -->
+    <xsl:variable name="nearbyElements" select="exslt:node-set($nearbyElementsRtf)/*"/>
+    
+    <xsl:message>
+      Processing &lt;rule e="<xsl:value-of select="$eBare"/>" k="<xsl:value-of select="$kBare"/>" v="<xsl:value-of select="$vBare"/>"
+      horizontalProximity="<xsl:value-of select="$rule/@horizontalProximity"/>" verticalProximity="<xsl:value-of select="$rule/@verticalProximity"/>" &gt;
+    </xsl:message>
+
+    <xsl:call-template name="processElements">
+      <xsl:with-param name="eBare" select="$eBare"/>
+      <xsl:with-param name="kBare" select="$kBare"/>
+      <xsl:with-param name="vBare" select="$vBare"/>
+      <xsl:with-param name="elements" select="$nearbyElements"/>
+      <xsl:with-param name="rule" select="$rule"/>
+      <xsl:with-param name="filterIterator" select="$filterIterator"/>
+    </xsl:call-template>
+  </xsl:template>
+
+  <!-- Select elements that are not within the specified distance from any other element -->
+  <xsl:template name="proximityFilter">
+    <xsl:param name="elements"/>
+    <xsl:param name="horizontalProximity"/>
+    <xsl:param name="verticalProximity"/>
+    
+    <!-- Offsetting the rectangle to the right gives better results when there are a solitary pair of adjacent elements.  
+         One will get selected but the other won't.  Without the offset neither will get selected.  -->
+    <xsl:variable name="topOffset" select="90  + $verticalProximity"/>
+    <xsl:variable name="bottomOffset" select="90  - $verticalProximity"/>
+    <xsl:variable name="leftOffset" select="180 - ($horizontalProximity * 0.5)"/>
+    <xsl:variable name="rightOffset" select="180 + ($horizontalProximity * 1.5)"/>
+
+    <!-- Test each element to see if it is near any other element -->
+    <xsl:for-each select="$elements">
+      <xsl:variable name="id" select="@id"/>
+      <xsl:variable name="top"    select="@lat + $topOffset"/>
+      <xsl:variable name="bottom" select="@lat + $bottomOffset"/>
+      <xsl:variable name="left"   select="@lon + $leftOffset"/>
+      <xsl:variable name="right"  select="@lon + $rightOffset"/>
+      <!-- Iterate through all of the elements currently selected and if there are no elements other 
+           than the current element in the rectangle then select this element -->
+      <xsl:if test="not($elements[not(@id=$id) 
+                                  and (@lon+180) &lt; $right
+                                  and (@lon+180) &gt; $left 
+                                  and (@lat+90)  &lt; $top 
+                                  and (@lat+90)  &gt; $bottom
+                                  ]
+                        )">
+        <xsl:copy-of select="."/>
+      </xsl:if>
+    </xsl:for-each>
+  </xsl:template>
+
+  <xsl:template name="filterConnected">
+    <xsl:param name="eBare"/>
+    <xsl:param name="kBare"/>
+    <xsl:param name="vBare"/>
+    <xsl:param name="elements"/>
+    <xsl:param name="rule"/>
+    <xsl:param name="filterIterator"/>
+
+    <xsl:variable name="filteredElementsRTF">
+      <xsl:for-each select="$elements">
+        <xsl:variable name="id" select="@id" />
+        <xsl:variable name="value" select="tag[@k=$rule/@notConnectedSameTag]/@v" />
+        <xsl:if test="not(/osm/way[@id != $id][tag[@k=$rule/@notConnectedSameTag and @v=$value]][nd/@ref=current()/nd/@ref])">
+          <xsl:copy-of select="." />
+        </xsl:if>
+      </xsl:for-each>
+    </xsl:variable>
+    <xsl:variable name="filteredElements" select="exslt:node-set($filteredElementsRTF)/*" />
+
+    <xsl:call-template name="processElements">
+      <xsl:with-param name="eBare" select="$eBare"/>
+      <xsl:with-param name="kBare" select="$kBare"/>
+      <xsl:with-param name="vBare" select="$vBare"/>
+      <xsl:with-param name="elements" select="$filteredElements"/>
+      <xsl:with-param name="rule" select="$rule"/>
+      <xsl:with-param name="filterIterator" select="$filterIterator"/>
+    </xsl:call-template>
+  </xsl:template>
+
+  <xsl:template name="filterMinSize">
+    <xsl:param name="eBare"/>
+    <xsl:param name="kBare"/>
+    <xsl:param name="vBare"/>
+    <xsl:param name="elements"/>
+    <xsl:param name="rule"/>
+    <xsl:param name="filterIterator"/>
+
+    <xsl:variable name="filteredElementsRTF">
+      <xsl:for-each select="$elements">
+        <xsl:variable name="maxLat">
+          <xsl:for-each select="$data/osm/node[@id=current()/nd/@ref]/@lat">
+            <xsl:sort data-type="number" order="descending"/>
+            <xsl:if test="position()=1">
+              <xsl:value-of select="."/>
+            </xsl:if>
+          </xsl:for-each>
+        </xsl:variable>
+        <xsl:variable name="minLat">
+          <xsl:for-each select="$data/osm/node[@id=current()/nd/@ref]/@lat">
+            <xsl:sort data-type="number" order="ascending"/>
+            <xsl:if test="position()=1">
+              <xsl:value-of select="."/>
+            </xsl:if>
+          </xsl:for-each>
+        </xsl:variable>
+        <xsl:variable name="maxLon">
+          <xsl:for-each select="$data/osm/node[@id=current()/nd/@ref]/@lon">
+            <xsl:sort data-type="number" order="descending"/>
+            <xsl:if test="position()=1">
+              <xsl:value-of select="."/>
+            </xsl:if>
+          </xsl:for-each>
+        </xsl:variable>
+        <xsl:variable name="minLon">
+          <xsl:for-each select="$data/osm/node[@id=current()/nd/@ref]/@lon">
+            <xsl:sort data-type="number" order="ascending"/>
+            <xsl:if test="position()=1">
+              <xsl:value-of select="."/>
+            </xsl:if>
+          </xsl:for-each>
+        </xsl:variable>
+        <xsl:variable name="latDiff" select="$maxLat - $minLat" />
+        <xsl:variable name="lonDiff" select="$maxLon - $minLon" />
+
+        <!--
+            cirfer = T + (N * [1.05 - ([t - 5] / 90)])
+            
+            T Latitude difference N Longitude difference t absolute Latitude The formula interpolates a cosine function with +10% error at the poles/equator and -10% error in the north Italy. 
+        -->
+        <xsl:variable name="size" select="$latDiff + ($lonDiff * (1.05 - (($maxLat - 5) div 90)))" />
+        <xsl:message>
+          <xsl:value-of select="@id" /> size = <xsl:value-of select="$size" />
+        </xsl:message>
+
+        <xsl:if test="$size &gt; $rule/@minSize">
+          <xsl:copy-of select="." />
+        </xsl:if>
+      </xsl:for-each>
+    </xsl:variable>
+    <xsl:variable name="filteredElements" select="exslt:node-set($filteredElementsRTF)/*" />
+
+    <xsl:call-template name="processElements">
+      <xsl:with-param name="eBare" select="$eBare"/>
+      <xsl:with-param name="kBare" select="$kBare"/>
+      <xsl:with-param name="vBare" select="$vBare"/>
+      <xsl:with-param name="elements" select="$filteredElements"/>
+      <xsl:with-param name="rule" select="$rule"/>
+      <xsl:with-param name="filterIterator" select="$filterIterator"/>
+    </xsl:call-template>
+  </xsl:template>
+
+  <!-- Draw SVG layers -->
+  <xsl:template match="layer">
+    <xsl:param name="elements"/>
+    <xsl:param name="layer"/>
+    <xsl:param name="rule"/>
+
+    <xsl:message>
+      Processing SVG layer: <xsl:value-of select="@name"/> (at OSM layer <xsl:value-of select="$layer"/>)
+    </xsl:message>
+
+    <xsl:variable name="opacity">
+      <xsl:if test="@opacity">
+        <xsl:value-of select="concat('opacity:',@opacity,';')"/>
+      </xsl:if>
+    </xsl:variable>
+
+    <xsl:variable name="display">
+      <xsl:if test="(@display='none') or (@display='off')">
+        <xsl:text>display:none;</xsl:text>
+      </xsl:if>
+    </xsl:variable>
+
+    <g inkscape:groupmode="layer" id="{@name}-{$layer}" inkscape:label="{@name}">
+      <xsl:if test="concat($opacity,$display)!=''">
+        <xsl:attribute name="style">
+          <xsl:value-of select="concat($opacity,$display)"/>
+        </xsl:attribute>
+      </xsl:if>
+      <xsl:apply-templates select="*">
+        <xsl:with-param name="layer" select="$layer"/>
+        <xsl:with-param name="elements" select="$elements"/>
+      </xsl:apply-templates>
+    </g>
+
+  </xsl:template>
+
+
+  <!-- Draw map border -->
+  <xsl:template name="drawBorder">
+    <!-- dasharray definitions here can be overridden in stylesheet -->
+    <g id="border" inkscape:groupmode="layer" inkscape:label="Map Border">
+      <line id="border-left-casing" x1="0" y1="0" x2="0" y2="{$documentHeight}" class="map-border-casing" stroke-dasharray="{($km div 10) - 1},1"/>
+      <line id="border-top-casing" x1="0" y1="0" x2="{$documentWidth}" y2="0" class="map-border-casing" stroke-dasharray="{($km div 10) - 1},1"/>
+      <line id="border-bottom-casing" x1="0" y1="{$documentHeight}" x2="{$documentWidth}" y2="{$documentHeight}" class="map-border-casing" stroke-dasharray="{($km div 10) - 1},1"/>
+      <line id="border-right-casing" x1="{$documentWidth}" y1="0" x2="{$documentWidth}" y2="{$documentHeight}" class="map-border-casing" stroke-dasharray="{($km div 10) - 1},1"/>
+
+      <line id="border-left-core" x1="0" y1="0" x2="0" y2="{$documentHeight}" class="map-border-core" stroke-dasharray="{($km div 10) - 1},1"/>
+      <line id="border-top-core" x1="0" y1="0" x2="{$documentWidth}" y2="0" class="map-border-core" stroke-dasharray="{($km div 10) - 1},1"/>
+      <line id="border-bottom-core" x1="0" y1="{$documentHeight}" x2="{$documentWidth}" y2="{$documentHeight}" class="map-border-core" stroke-dasharray="{($km div 10) - 1},1"/>
+      <line id="border-right-core" x1="{$documentWidth}" y1="0" x2="{$documentWidth}" y2="{$documentHeight}" class="map-border-core" stroke-dasharray="{($km div 10) - 1},1"/>
+    </g>
+  </xsl:template>
+
+
+  <!-- Draw a grid over the map in 1km increments -->
+  <xsl:template name="drawGrid">
+    <g id="grid" inkscape:groupmode="layer" inkscape:label="Grid">
+      <xsl:call-template name="drawGridHorizontals">
+        <xsl:with-param name="line" select="'1'"/>
+      </xsl:call-template>
+      <xsl:call-template name="drawGridVerticals">
+        <xsl:with-param name="line" select="'1'"/>
+      </xsl:call-template>
+    </g>
+  </xsl:template>
+
+
+  <xsl:template name="drawGridHorizontals">
+    <xsl:param name="line"/>
+    <xsl:if test="($line*$km) &lt; $documentHeight">
+      <line id="grid-hori-{$line}" x1="0px" y1="{$line*$km}px" x2="{$documentWidth}px" y2="{$line*$km}px" class="map-grid-line"/>
+      <xsl:call-template name="drawGridHorizontals">
+        <xsl:with-param name="line" select="$line+1"/>
+      </xsl:call-template>
+    </xsl:if>
+  </xsl:template>
+
+
+  <xsl:template name="drawGridVerticals">
+    <xsl:param name="line"/>
+    <xsl:if test="($line*$km) &lt; $documentWidth">
+      <line id="grid-vert-{$line}" x1="{$line*$km}px" y1="0px" x2="{$line*$km}px" y2="{$documentHeight}px" class="map-grid-line"/>
+      <xsl:call-template name="drawGridVerticals">
+        <xsl:with-param name="line" select="$line+1"/>
+      </xsl:call-template>
+    </xsl:if>
+  </xsl:template>
+
+
+  <!-- Draw map title -->
+  <xsl:template name="drawTitle">
+    <xsl:param name="title"/>
+
+    <xsl:variable name="x" select="$documentWidth div 2"/>
+    <xsl:variable name="y" select="30"/>
+
+    <g id="marginalia-title" inkscape:groupmode="layer" inkscape:label="Title">
+      <rect id="marginalia-title-background" x="0px" y="0px" height="{$marginaliaTopHeight - 5}px" width="{$documentWidth}px" class="map-title-background"/>
+      <text id="marginalia-title-text" class="map-title" x="{$x}" y="{$y}">
+        <xsl:value-of select="$title"/>
+      </text>
+    </g>
+  </xsl:template>
+
+
+  <!-- Draw an approximate scale in the bottom left corner of the map -->
+  <xsl:template name="drawScale">
+    <xsl:variable name="x1" select="14"/>
+    <xsl:variable name="y1" select="round(($documentHeight)+((($bottomLeftLatitude)-(number($bottomLeftLatitude)))*10000*$scale*$projection))+28"/>
+    <xsl:variable name="x2" select="$x1+$km"/>
+    <xsl:variable name="y2" select="$y1"/>
+
+    <g id="marginalia-scale" inkscape:groupmode="layer" inkscape:label="Scale">
+      <line id="marginalia-scale-casing" class="map-scale-casing" x1="{$x1}" y1="{$y1}" x2="{$x2}" y2="{$y2}"/>
+
+      <line id="marginalia-scale-core" class="map-scale-core" stroke-dasharray="{($km div 10)}" x1="{$x1}" y1="{$y1}" x2="{$x2}" y2="{$y2}"/>
+
+      <line id="marginalia-scale-bookend-from" class="map-scale-bookend" x1="{$x1}" y1="{$y1 + 2}" x2="{$x1}" y2="{$y1 - 10}"/>
+
+      <line id="marginalia-scale-bookend-to" class="map-scale-bookend" x1="{$x2}" y1="{$y2 + 2}" x2="{$x2}" y2="{$y2 - 10}"/>
+
+      <text id="marginalia-scale-text-from" class="map-scale-caption" x="{$x1}" y="{$y1 - 10}">0</text>
+
+      <text id="marginalia-scale-text-to" class="map-scale-caption" x="{$x2}" y="{$y2 - 10}">1km</text>
+    </g>
+  </xsl:template>
+
+
+  <!-- Create a comment in SVG source code and RDF description of license -->
+  <xsl:template name="metadata">
+
+    <xsl:comment>
+
+      Copyright (c) <xsl:value-of select="$year"/> OpenStreetMap
+      www.openstreetmap.org
+      This work is licensed under the
+      Creative Commons Attribution-ShareAlike 2.0 License.
+      http://creativecommons.org/licenses/by-sa/2.0/
+
+    </xsl:comment>
+    <metadata id="metadata">
+      <rdf:RDF xmlns="http://web.resource.org/cc/">
+        <cc:Work rdf:about="">
+          <cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/"/>
+          <dc:format>image/svg+xml</dc:format>
+          <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+          <dc:title>
+            <xsl:value-of select="$title"/>
+          </dc:title>
+          <dc:date>
+            <xsl:value-of select="$date"/>
+          </dc:date>
+          <dc:source>http://www.openstreetmap.org/</dc:source>
+        </cc:Work>
+        <cc:License rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
+          <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
+          <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/>
+          <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
+          <cc:requires rdf:resource="http://web.resource.org/cc/Notice"/>
+          <cc:requires rdf:resource="http://web.resource.org/cc/Attribution"/>
+          <cc:requires rdf:resource="http://web.resource.org/cc/ShareAlike"/>
+        </cc:License>
+      </rdf:RDF>
+    </metadata>
+  </xsl:template>
+
+  <!-- Create a license logo and description in the image -->
+  <xsl:template name="in-image-license">
+    <xsl:param name="dx"/>
+    <xsl:param name="dy"/>
+
+    <g id="license" inkscape:groupmode="layer" inkscape:label="Copyright" transform="translate({$dx},{$dy})">
+      <style type="text/css">
+        <![CDATA[
+                .license-text {
+                    text-anchor: start;
+                    font-family: "DejaVu Sans",sans-serif;
+                    font-size: 6px;
+                    fill: black;
+                }
+            ]]>
+      </style>
+      <a id="license-cc-logo-link" xlink:href="http://creativecommons.org/licenses/by-sa/2.0/">
+        <g id="license-cc-logo" transform="scale(0.5,0.5) translate(-604,-49)">
+          <path id="path3817_2_" nodetypes="ccccccc" d="M
+                    182.23532,75.39014 L 296.29928,75.59326 C
+                    297.89303,75.59326 299.31686,75.35644 299.31686,78.77344 L
+                    299.17721,116.34033 L 179.3569,116.34033 L
+                    179.3569,78.63379 C 179.3569,76.94922 179.51999,75.39014
+                    182.23532,75.39014 z " style="fill:#aab2ab"/>
+          <g id="g5908_2_" transform="matrix(0.872921,0,0,0.872921,50.12536,143.2144)">
+            <path id="path5906_2_" type="arc" cx="296.35416"
+            cy="264.3577" ry="22.939548" rx="22.939548" d="M
+                        187.20944,-55.6792 C 187.21502,-46.99896
+                        180.18158,-39.95825 171.50134,-39.95212 C
+                        162.82113,-39.94708 155.77929,-46.97998
+                        155.77426,-55.66016 C 155.77426,-55.66687
+                        155.77426,-55.67249 155.77426,-55.6792 C
+                        155.76922,-64.36054 162.80209,-71.40125
+                        171.48233,-71.40631 C 180.16367,-71.41193
+                        187.20441,-64.37842 187.20944,-55.69824 C
+                        187.20944,-55.69263 187.20944,-55.68591
+                        187.20944,-55.6792 z " style="fill:white"/>
+            <g id="g5706_2_" transform="translate(-289.6157,99.0653)">
+              <path id="path5708_2_" d="M 473.88455,-167.54724 C
+                            477.36996,-164.06128 479.11294,-159.79333
+                            479.11294,-154.74451 C 479.11294,-149.69513
+                            477.40014,-145.47303 473.9746,-142.07715 C
+                            470.33929,-138.50055 466.04281,-136.71283
+                            461.08513,-136.71283 C 456.18736,-136.71283
+                            451.96526,-138.48544 448.42003,-142.03238 C
+                            444.87419,-145.57819 443.10158,-149.81537
+                            443.10158,-154.74451 C 443.10158,-159.6731
+                            444.87419,-163.94049 448.42003,-167.54724 C
+                            451.87523,-171.03375 456.09728,-172.77618
+                            461.08513,-172.77618 C 466.13342,-172.77618
+                            470.39914,-171.03375 473.88455,-167.54724 z M
+                            450.76657,-165.20239 C 447.81982,-162.22601
+                            446.34701,-158.7395 446.34701,-154.74005 C
+                            446.34701,-150.7417 447.80529,-147.28485
+                            450.72125,-144.36938 C 453.63778,-141.45288
+                            457.10974,-139.99462 461.1383,-139.99462 C
+                            465.16683,-139.99462 468.66848,-141.46743
+                            471.64486,-144.41363 C 474.47076,-147.14947
+                            475.88427,-150.59069 475.88427,-154.74005 C
+                            475.88427,-158.85809 474.44781,-162.35297
+                            471.57659,-165.22479 C 468.70595,-168.09546
+                            465.22671,-169.53131 461.1383,-169.53131 C
+                            457.04993,-169.53131 453.59192,-168.08813
+                            450.76657,-165.20239 z M 458.52106,-156.49927 C
+                            458.07074,-157.4809 457.39673,-157.9715
+                            456.49781,-157.9715 C 454.90867,-157.9715
+                            454.11439,-156.90198 454.11439,-154.763 C
+                            454.11439,-152.62341 454.90867,-151.55389
+                            456.49781,-151.55389 C 457.54719,-151.55389
+                            458.29676,-152.07519 458.74647,-153.11901 L
+                            460.94923,-151.94598 C 459.8993,-150.0805
+                            458.32417,-149.14697 456.22374,-149.14697 C
+                            454.60384,-149.14697 453.30611,-149.64367
+                            452.33168,-150.63653 C 451.35561,-151.62994
+                            450.86894,-152.99926 450.86894,-154.7445 C
+                            450.86894,-156.46008 451.37123,-157.82159
+                            452.37642,-158.83013 C 453.38161,-159.83806
+                            454.63347,-160.34264 456.13423,-160.34264 C
+                            458.35435,-160.34264 459.94407,-159.46776
+                            460.90504,-157.71978 L 458.52106,-156.49927 z M
+                            468.8844,-156.49927 C 468.43353,-157.4809
+                            467.77292,-157.9715 466.90201,-157.9715 C
+                            465.28095,-157.9715 464.46988,-156.90198
+                            464.46988,-154.763 C 464.46988,-152.62341
+                            465.28095,-151.55389 466.90201,-151.55389 C
+                            467.95304,-151.55389 468.68918,-152.07519
+                            469.10925,-153.11901 L 471.36126,-151.94598 C
+                            470.31301,-150.0805 468.74007,-149.14697
+                            466.64358,-149.14697 C 465.02587,-149.14697
+                            463.73095,-149.64367 462.75711,-150.63653 C
+                            461.78494,-151.62994 461.29773,-152.99926
+                            461.29773,-154.7445 C 461.29773,-156.46008
+                            461.79221,-157.82159 462.78061,-158.83013 C
+                            463.76843,-159.83806 465.02588,-160.34264
+                            466.55408,-160.34264 C 468.77027,-160.34264
+                            470.35776,-159.46776 471.3154,-157.71978 L
+                            468.8844,-156.49927 z "/>
+            </g>
+          </g>
+          <path d="M 297.29639,74.91064 L 181.06688,74.91064 C
+                    179.8203,74.91064 178.80614,75.92529 178.80614,77.17187 L
+                    178.80614,116.66748 C 178.80614,116.94922
+                    179.03466,117.17822 179.31639,117.17822 L
+                    299.04639,117.17822 C 299.32813,117.17822
+                    299.55713,116.94922 299.55713,116.66748 L
+                    299.55713,77.17188 C 299.55713,75.92529 298.54297,74.91064
+                    297.29639,74.91064 z M 181.06688,75.93213 L
+                    297.29639,75.93213 C 297.97998,75.93213 298.53565,76.48828
+                    298.53565,77.17188 C 298.53565,77.17188 298.53565,93.09131
+                    298.53565,104.59034 L 215.4619,104.59034 C
+                    212.41698,110.09571 206.55077,113.83399 199.81835,113.83399
+                    C 193.083,113.83399 187.21825,110.09913 184.1748,104.59034
+                    L 179.82666,104.59034 C 179.82666,93.09132
+                    179.82666,77.17188 179.82666,77.17188 C 179.82664,76.48828
+                    180.38329,75.93213 181.06688,75.93213 z " id="frame"/>
+          <g enable-background="new" id="g2821">
+            <path d="M 265.60986,112.8833 C 265.68994,113.03906
+                        265.79736,113.16504 265.93115,113.26172 C
+                        266.06494,113.35791 266.22119,113.42969
+                        266.40088,113.47608 C 266.58154,113.52296
+                        266.76807,113.54639 266.96045,113.54639 C
+                        267.09033,113.54639 267.22998,113.53565
+                        267.3794,113.51368 C 267.52784,113.4922
+                        267.66749,113.44972 267.79835,113.3877 C
+                        267.92823,113.32569 268.03761,113.23975
+                        268.12355,113.13086 C 268.21144,113.02197
+                        268.25441,112.88379 268.25441,112.71533 C
+                        268.25441,112.53515 268.19679,112.38916
+                        268.08156,112.27685 C 267.9673,112.16455
+                        267.81594,112.07177 267.62941,111.99658 C
+                        267.44386,111.92236 267.23195,111.85693
+                        266.9966,111.80078 C 266.76027,111.74463
+                        266.52101,111.68262 266.27883,111.61377 C
+                        266.02981,111.55176 265.78762,111.47559
+                        265.55129,111.38525 C 265.31594,111.29541
+                        265.10402,111.17822 264.9175,111.03515 C
+                        264.73098,110.89208 264.58059,110.71337
+                        264.46535,110.49853 C 264.35109,110.28369
+                        264.29347,110.02392 264.29347,109.71923 C
+                        264.29347,109.37646 264.36671,109.07958
+                        264.51222,108.82763 C 264.6587,108.57568
+                        264.85011,108.36572 265.08644,108.19726 C
+                        265.32179,108.02929 265.58937,107.90478
+                        265.8882,107.82372 C 266.18605,107.74315
+                        266.48488,107.70263 266.78273,107.70263 C
+                        267.13136,107.70263 267.46535,107.74169
+                        267.78566,107.81982 C 268.105,107.89746
+                        268.39015,108.02392 268.6382,108.19824 C
+                        268.88722,108.37256 269.08449,108.59521
+                        269.23097,108.86621 C 269.37648,109.13721
+                        269.44972,109.46582 269.44972,109.85156 L
+                        268.02784,109.85156 C 268.01514,109.65234
+                        267.97315,109.4873 267.90284,109.35693 C
+                        267.83155,109.22607 267.73682,109.12353
+                        267.61964,109.04834 C 267.50148,108.97412
+                        267.36671,108.9209 267.21534,108.89014 C
+                        267.063,108.85889 266.89796,108.84326
+                        266.71827,108.84326 C 266.60108,108.84326
+                        266.48292,108.85596 266.36573,108.88037 C
+                        266.24757,108.90576 266.14112,108.94922
+                        266.04542,109.01123 C 265.94874,109.07373
+                        265.86964,109.15137 265.80812,109.24463 C
+                        265.7466,109.33838 265.71535,109.45654
+                        265.71535,109.59961 C 265.71535,109.73047
+                        265.73976,109.83643 265.78957,109.91699 C
+                        265.83937,109.99804 265.93801,110.07275
+                        266.08352,110.14111 C 266.22903,110.20947
+                        266.43118,110.27832 266.68899,110.34668 C
+                        266.9468,110.41504 267.28372,110.50244
+                        267.70071,110.60791 C 267.82473,110.63281
+                        267.99661,110.67822 268.21731,110.74365 C
+                        268.43801,110.80908 268.65676,110.91308
+                        268.87454,111.05615 C 269.09231,111.1997
+                        269.27981,111.39111 269.43899,111.63037 C
+                        269.59719,111.87012 269.67629,112.17676
+                        269.67629,112.55029 C 269.67629,112.85547
+                        269.61672,113.13867 269.49856,113.3999 C
+                        269.3804,113.66162 269.20461,113.8872
+                        268.97122,114.07666 C 268.73782,114.26709
+                        268.44876,114.41455 268.10403,114.52051 C
+                        267.75833,114.62647 267.35794,114.6792
+                        266.90481,114.6792 C 266.53762,114.6792
+                        266.18118,114.63379 265.83547,114.54346 C
+                        265.49074,114.45313 265.18508,114.31104
+                        264.92043,114.11768 C 264.65676,113.92432
+                        264.4468,113.67774 264.29055,113.37891 C
+                        264.13528,113.07959 264.06106,112.7251
+                        264.06692,112.31397 L 265.4888,112.31397 C
+                        265.48877,112.53809 265.52881,112.72803
+                        265.60986,112.8833 z " id="path2823"
+            style="fill:white"/>
+            <path d="M 273.8667,107.8667 L
+                        276.35986,114.53076 L 274.8374,114.53076 L
+                        274.33349,113.04638 L 271.84033,113.04638 L
+                        271.31787,114.53076 L 269.84326,114.53076 L
+                        272.36377,107.8667 L 273.8667,107.8667 z M
+                        273.95068,111.95264 L 273.11084,109.50928 L
+                        273.09229,109.50928 L 272.22315,111.95264 L
+                        273.95068,111.95264 z " id="path2825"
+            style="fill:white"/>
+          </g>
+          <g enable-background="new" id="g2827">
+            <path d="M 239.17821,107.8667 C 239.49559,107.8667
+                        239.78563,107.89502 240.04735,107.95068 C
+                        240.30907,108.00683 240.53368,108.09863
+                        240.72118,108.22607 C 240.9077,108.35351
+                        241.05321,108.52295 241.15575,108.73437 C
+                        241.25829,108.94579 241.31005,109.20703
+                        241.31005,109.51806 C 241.31005,109.854
+                        241.23388,110.13329 241.08056,110.35742 C
+                        240.92822,110.58154 240.70165,110.76465
+                        240.40283,110.90771 C 240.81494,111.02587
+                        241.12256,111.23291 241.32568,111.5288 C
+                        241.5288,111.82469 241.63037,112.18114
+                        241.63037,112.59814 C 241.63037,112.93408
+                        241.56494,113.22509 241.43408,113.47119 C
+                        241.30322,113.7168 241.12646,113.91748
+                        240.90576,114.07324 C 240.68408,114.229
+                        240.43115,114.34424 240.14795,114.41845 C
+                        239.86377,114.49365 239.57275,114.53075
+                        239.27295,114.53075 L 236.03662,114.53075 L
+                        236.03662,107.86669 L 239.17821,107.86669 L
+                        239.17821,107.8667 z M 238.99071,110.56201 C
+                        239.25243,110.56201 239.46727,110.5 239.63622,110.37597
+                        C 239.80419,110.25146 239.88817,110.05029
+                        239.88817,109.77099 C 239.88817,109.61572
+                        239.85985,109.48828 239.80419,109.38915 C
+                        239.74755,109.28954 239.67333,109.21239
+                        239.57958,109.15624 C 239.48583,109.10058
+                        239.37841,109.06151 239.25731,109.04003 C
+                        239.13524,109.01806 239.00926,109.00732
+                        238.8784,109.00732 L 237.50535,109.00732 L
+                        237.50535,110.56201 L 238.99071,110.56201 z M
+                        239.07664,113.39014 C 239.22019,113.39014
+                        239.35691,113.37647 239.48777,113.34815 C
+                        239.61863,113.32032 239.73484,113.27344
+                        239.83445,113.2085 C 239.93406,113.14307
+                        240.01316,113.0542 240.07273,112.94239 C
+                        240.1323,112.83058 240.1616,112.68751
+                        240.1616,112.51319 C 240.1616,112.17139
+                        240.06492,111.92725 239.87156,111.78126 C
+                        239.6782,111.63527 239.42234,111.56202
+                        239.10496,111.56202 L 237.50535,111.56202 L
+                        237.50535,113.39014 L 239.07664,113.39014 z "
+            id="path2829" style="fill:white"/>
+            <path d="M 241.88914,107.8667 L 243.53269,107.8667 L
+                        245.09324,110.49854 L 246.64402,107.8667 L
+                        248.27781,107.8667 L 245.80418,111.97315 L
+                        245.80418,114.53077 L 244.33543,114.53077 L
+                        244.33543,111.93604 L 241.88914,107.8667 z "
+            id="path2831" style="fill:white"/>
+          </g>
+          <g id="g6316_1_" transform="matrix(0.624995,0,0,0.624995,391.2294,176.9332)">
+            <path id="path6318_1_" type="arc" cx="475.97119"
+            cy="252.08646" ry="29.209877" rx="29.209877" d="M
+                        -175.0083,-139.1153 C -175.00204,-129.7035
+                        -182.62555,-122.06751 -192.03812,-122.06049 C
+                        -201.44913,-122.05341 -209.08512,-129.67774
+                        -209.09293,-139.09028 C -209.09293,-139.09809
+                        -209.09293,-139.10749 -209.09293,-139.1153 C
+                        -209.09919,-148.52784 -201.47413,-156.1623
+                        -192.06311,-156.17011 C -182.65054,-156.17713
+                        -175.01456,-148.55207 -175.0083,-139.14026 C
+                        -175.0083,-139.13092 -175.0083,-139.1239
+                        -175.0083,-139.1153 z " style="fill:white"/>
+            <g id="g6320_1_" transform="translate(-23.9521,-89.72962)">
+              <path id="path6322_1_" d="M -168.2204,-68.05536 C
+                            -173.39234,-68.05536 -177.76892,-66.25067
+                            -181.35175,-62.64203 C -185.02836,-58.90759
+                            -186.86588,-54.48883 -186.86588,-49.38568 C
+                            -186.86588,-44.28253 -185.02836,-39.89416
+                            -181.35175,-36.22308 C -177.67673,-32.55114
+                            -173.29859,-30.71521 -168.2204,-30.71521 C
+                            -163.07974,-30.71521 -158.62503,-32.56677
+                            -154.85312,-36.26996 C -151.30307,-39.78558
+                            -149.52652,-44.15827 -149.52652,-49.38568 C
+                            -149.52652,-54.6123 -151.33432,-59.03265
+                            -154.94843,-62.64203 C -158.5625,-66.25067
+                            -162.98599,-68.05536 -168.2204,-68.05536 z M
+                            -168.17352,-64.69519 C -163.936,-64.69519
+                            -160.33752,-63.20221 -157.37655,-60.21466 C
+                            -154.38748,-57.25836 -152.89214,-53.64899
+                            -152.89214,-49.38568 C -152.89214,-45.09186
+                            -154.35466,-41.52856 -157.28438,-38.69653 C
+                            -160.36876,-35.64727 -163.99849,-34.12304
+                            -168.17351,-34.12304 C -172.34856,-34.12304
+                            -175.94701,-35.63244 -178.96892,-38.64965 C
+                            -181.9908,-41.66918 -183.50176,-45.24657
+                            -183.50176,-49.38567 C -183.50176,-53.52398
+                            -181.97518,-57.13414 -178.92205,-60.21465 C
+                            -175.9939,-63.20221 -172.41107,-64.69519
+                            -168.17352,-64.69519 z "/>
+              <path id="path6324_1_" d="M -176.49548,-52.02087 C
+                            -175.75171,-56.71856 -172.44387,-59.22949
+                            -168.30008,-59.22949 C -162.33911,-59.22949
+                            -158.70783,-54.90448 -158.70783,-49.1372 C
+                            -158.70783,-43.50982 -162.57194,-39.13793
+                            -168.39383,-39.13793 C -172.39856,-39.13793
+                            -175.98297,-41.60277 -176.63611,-46.43877 L
+                            -171.93292,-46.43877 C -171.7923,-43.92778
+                            -170.1626,-43.04418 -167.83447,-43.04418 C
+                            -165.1813,-43.04418 -163.4563,-45.50908
+                            -163.4563,-49.27709 C -163.4563,-53.22942
+                            -164.94693,-55.32244 -167.74228,-55.32244 C
+                            -169.79074,-55.32244 -171.55948,-54.57787
+                            -171.93292,-52.02087 L -170.56418,-52.02789 L
+                            -174.26734,-48.32629 L -177.96894,-52.02789 L
+                            -176.49548,-52.02087 z "/>
+            </g>
+          </g>
+          <g id="g2838">
+            <circle cx="242.56226" cy="90.224609" r="10.8064" id="circle2840" style="fill:white"/>
+            <g id="g2842">
+              <path d="M 245.68994,87.09766 C 245.68994,86.68116
+                            245.35205,86.34424 244.93603,86.34424 L
+                            240.16357,86.34424 C 239.74755,86.34424
+                            239.40966,86.68115 239.40966,87.09766 L
+                            239.40966,91.87061 L 240.74071,91.87061 L
+                            240.74071,97.52295 L 244.3579,97.52295 L
+                            244.3579,91.87061 L 245.68993,91.87061 L
+                            245.68993,87.09766 L 245.68994,87.09766 z "
+              id="path2844"/>
+              <circle cx="242.5498" cy="84.083008" r="1.63232" id="circle2846"/>
+            </g>
+            <path clip-rule="evenodd" d="M 242.53467,78.31836 C
+                        239.30322,78.31836 236.56641,79.4458 234.32715,81.70215
+                        C 232.0293,84.03516 230.88086,86.79736
+                        230.88086,89.98633 C 230.88086,93.1753
+                        232.0293,95.91846 234.32715,98.21338 C
+                        236.625,100.50781 239.36133,101.65527
+                        242.53467,101.65527 C 245.74756,101.65527
+                        248.53272,100.49853 250.88819,98.18359 C
+                        253.10889,95.98681 254.21827,93.2539 254.21827,89.98632
+                        C 254.21827,86.71874 253.08936,83.95751
+                        250.83057,81.70214 C 248.57178,79.4458
+                        245.80615,78.31836 242.53467,78.31836 z M
+                        242.56396,80.41797 C 245.2124,80.41797
+                        247.46142,81.35156 249.31103,83.21875 C
+                        251.18115,85.06592 252.11572,87.32227
+                        252.11572,89.98633 C 252.11572,92.66992
+                        251.20068,94.89746 249.36963,96.66699 C
+                        247.4419,98.57275 245.17334,99.52539 242.56397,99.52539
+                        C 239.9546,99.52539 237.70557,98.58252
+                        235.81739,96.6958 C 233.92774,94.80957
+                        232.98389,92.57324 232.98389,89.98633 C
+                        232.98389,87.3999 233.93799,85.14404 235.84619,83.21875
+                        C 237.67676,81.35156 239.9165,80.41797
+                        242.56396,80.41797 z " id="path2848"
+            style="fill-rule:evenodd"/>
+          </g>
+        </g>
+      </a>
+      <a id="license-osm-link" xlink:href="http://www.openstreetmap.org/">
+        <g transform="translate(-210,10)" id="license-osm-text">
+          <text class="license-text" dx="0" dy="0">
+            Copyright © <xsl:value-of select="$year"/> OpenStreetMap (openstreetmap.org)
+          </text>
+        </g>
+      </a>
+      <a id="license-cc-text-link" xlink:href="http://creativecommons.org/licenses/by-sa/2.0/">
+        <g transform="translate(-150,18)" id="license-cc-text">
+          <text class="license-text" dx="0" dy="0">This work is licensed under the Creative</text>
+          <text class="license-text" dx="0" dy="8">Commons Attribution-ShareAlike 2.0 License.</text>
+          <text class="license-text" dx="0" dy="16">http://creativecommons.org/licenses/by-sa/2.0/</text>
+        </g>
+      </a>
+    </g>
+  </xsl:template>
+
+
+  <!-- Draw zoom controls -->
+  <xsl:template name="zoomControl">
+    <defs>
+
+      <style type="text/css">
+        .fancyButton {
+        stroke: #8080ff;
+        stroke-width: 2px;
+        fill: #fefefe;
+        }
+        .fancyButton:hover {
+        stroke: red;
+        }
+      </style>
+
+      <filter id="fancyButton" filterUnits="userSpaceOnUse" x="0" y="0" width="200" height="350">
+        <feGaussianBlur in="SourceAlpha" stdDeviation="4" result="blur"/>
+        <feOffset in="blur" dx="2" dy="2" result="offsetBlur"/>
+        <feSpecularLighting in="blur" surfaceScale="5" specularConstant=".75" specularExponent="20" lighting-color="white" result="specOut">
+          <fePointLight x="-5000" y="-10000" z="7000"/>
+        </feSpecularLighting>
+        <feComposite in="specOut" in2="SourceAlpha" operator="in" result="specOut"/>
+        <feComposite in="SourceGraphic" in2="specOut" operator="arithmetic" k1="0" k2="1" k3="1" k4="0" result="litPaint"/>
+        <feMerge>
+          <feMergeNode in="offsetBlur"/>
+          <feMergeNode in="litPaint"/>
+        </feMerge>
+      </filter>
+      <symbol id="panDown" viewBox="0 0 19 19" class="fancyButton">
+        <path d="M 17 9.5 A 7 7 0 1 1 2,9.5 A 7 7 0 1 1 17 9.5 z"/>
+        <path d="M 9.5,5 L 9.5,14"/>
+      </symbol>
+      <symbol id="panUp" viewBox="0 0 19 19" class="fancyButton">
+        <path d="M 17 9.5 A 7 7 0 1 1 2,9.5 A 7 7 0 1 1 17 9.5 z"/>
+        <path d="M 9.5,5 L 9.5,14"/>
+      </symbol>
+      <symbol id="panLeft" viewBox="0 0 19 19" class="fancyButton">
+        <path d="M 17 9.5 A 7 7 0 1 1 2,9.5 A 7 7 0 1 1 17 9.5 z"/>
+        <path d="M 5,9.5 L 14,9.5"/>
+      </symbol>
+      <symbol id="panRight" viewBox="0 0 19 19" class="fancyButton">
+        <path d="M 17 9.5 A 7 7 0 1 1 2,9.5 A 7 7 0 1 1 17 9.5 z"/>
+        <path d="M 5,9.5 L 14,9.5"/>
+      </symbol>
+      <symbol id="zoomIn" viewBox="0 0 19 19" class="fancyButton">
+        <path d="M 17 9.5 A 7 7 0 1 1 2,9.5 A 7 7 0 1 1 17 9.5 z"/>
+        <path d="M 5,9.5 L 14,9.5 M 9.5,5 L 9.5,14"/>
+      </symbol>
+      <symbol id="zoomOut" viewBox="0 0 19 19" class="fancyButton">
+        <path d="M 17 9.5 A 7 7 0 1 1 2,9.5 A 7 7 0 1 1 17 9.5 z"/>
+        <path d="M 5,9.5 L 14,9.5"/>
+      </symbol>
+
+    </defs>
+
+    <g id="gPanDown" filter="url(#fancyButton)" onclick="fnPan('down')">
+      <use x="18px" y="60px" xlink:href="#panDown" width="14px" height="14px"/>
+    </g>
+    <g id="gPanRight" filter="url(#fancyButton)" onclick="fnPan('right')">
+      <use x="8px" y="70px" xlink:href="#panRight" width="14px" height="14px"/>
+    </g>
+    <g id="gPanLeft" filter="url(#fancyButton)" onclick="fnPan('left')">
+      <use x="28px" y="70px" xlink:href="#panLeft" width="14px" height="14px"/>
+    </g>
+    <g id="gPanUp" filter="url(#fancyButton)" onclick="fnPan('up')">
+      <use x="18px" y="80px" xlink:href="#panUp" width="14px" height="14px"/>
+    </g>
+
+    <xsl:variable name="x1" select="25"/>
+    <xsl:variable name="y1" select="105"/>
+    <xsl:variable name="x2" select="25"/>
+    <xsl:variable name="y2" select="300"/>
+
+    <line style="stroke-width: 10; stroke-linecap: butt; stroke: #8080ff;">
+      <xsl:attribute name="x1">
+        <xsl:value-of select="$x1"/>
+      </xsl:attribute>
+      <xsl:attribute name="y1">
+        <xsl:value-of select="$y1"/>
+      </xsl:attribute>
+      <xsl:attribute name="x2">
+        <xsl:value-of select="$x2"/>
+      </xsl:attribute>
+      <xsl:attribute name="y2">
+        <xsl:value-of select="$y2"/>
+      </xsl:attribute>
+    </line>
+
+    <line style="stroke-width: 8; stroke-linecap: butt; stroke: white; stroke-dasharray: 10,1;">
+      <xsl:attribute name="x1">
+        <xsl:value-of select="$x1"/>
+      </xsl:attribute>
+      <xsl:attribute name="y1">
+        <xsl:value-of select="$y1"/>
+      </xsl:attribute>
+      <xsl:attribute name="x2">
+        <xsl:value-of select="$x2"/>
+      </xsl:attribute>
+      <xsl:attribute name="y2">
+        <xsl:value-of select="$y2"/>
+      </xsl:attribute>
+    </line>
+
+    <!-- Need to use onmousedown because onclick is interfered with by the onmousedown handler for panning -->
+    <g id="gZoomIn" filter="url(#fancyButton)" onmousedown="fnZoom('in')">
+      <use x="15.5px" y="100px" xlink:href="#zoomIn" width="19px" height="19px"/>
+    </g>
+
+    <!-- Need to use onmousedown because onclick is interfered with by the onmousedown handler for panning -->
+    <g id="gZoomOut" filter="url(#fancyButton)" onmousedown="fnZoom('out')">
+      <use x="15.5px" y="288px" xlink:href="#zoomOut" width="19px" height="19px"/>
+    </g>
+  </xsl:template>
+
+  <xsl:template name="javaScript">
+    <script>
+      /*
+
+      Osmarender
+
+      interactive.js
+
+      */
+
+      function fnResize() {
+      fnResizeElement("gAttribution")
+      fnResizeElement("gLicense")
+      fnResizeElement("gZoomIn")
+      fnResizeElement("gZoomOut")
+      }
+
+
+      function fnResizeElement(e) {
+      //
+      var oSVG,scale,currentTranslateX,currentTranslateY,oe
+      //
+      oSVG=document.rootElement
+      scale=1/oSVG.currentScale
+      currentTranslateX=oSVG.currentTranslate.x
+      currentTranslateY=oSVG.currentTranslate.y
+      oe=document.getElementById(e)
+      if (oe) oe.setAttributeNS(null,"transform","scale("+scale+","+scale+") translate("+(-currentTranslateX)+","+(-currentTranslateY)+")")
+      }
+
+
+      function fnToggleImage(osmImage) {
+      var xlink = 'http://www.w3.org/1999/xlink';
+      ogThumbnail=document.getElementById('gThumbnail')
+      if (ogThumbnail.getAttributeNS(null,"visibility")=="visible") fnHideImage()
+      else {
+      ogThumbnail.setAttributeNS(null,"visibility","visible")
+      oThumbnail=document.getElementById('thumbnail')
+      oThumbnail.setAttributeNS(xlink,"href",osmImage)
+      }
+      }
+
+      function fnHideImage() {
+      ogThumbnail=document.getElementById('gThumbnail')
+      ogThumbnail.setAttributeNS(null,"visibility","hidden")
+      }
+
+
+      /* The following code originally written by Jonathan Watt (http://jwatt.org/), Aug. 2005 */
+
+      if (!window)
+      window = this;
+
+
+      function fnOnLoad(evt) {
+      if (!document) window.document = evt.target.ownerDocument
+      }
+
+
+      /**
+      * Event handlers to change the current user space for the zoom and pan
+      * controls to make them appear to be scale invariant.
+      */
+
+      function fnOnZoom(evt) {
+      try {
+      if (evt.newScale == undefined) throw 'bad interface'
+      // update the transform list that adjusts for zoom and pan
+      var tlist = document.getElementById('staticElements').transform.baseVal
+      tlist.getItem(0).setScale(1/evt.newScale, 1/evt.newScale)
+      tlist.getItem(1).setTranslate(-evt.newTranslate.x, -evt.newTranslate.y)
+      }
+      catch (e) {
+      // work around difficiencies in non-moz implementations (some don't
+      // implement the SVGZoomEvent or SVGAnimatedTransform interfaces)
+      var de = document.documentElement
+      var tform = 'scale(' + 1/de.currentScale + ') ' + 'translate(' + (-de.currentTranslate.x) + ', ' + (-de.currentTranslate.y) + ')'
+      document.getElementById('staticElements').setAttributeNS(null, 'transform', tform)
+      }
+      }
+
+
+      function fnOnScroll(evt) {
+      var ct = document.documentElement.currentTranslate
+      try {
+      // update the transform list that adjusts for zoom and pan
+      var tlist = document.getElementById('staticElements').transform.baseVal
+      tlist.getItem(1).setTranslate(-ct.x, -ct.y)
+      }
+      catch (e) {
+      // work around difficiencies in non-moz implementations (some don't
+      // implement the SVGAnimatedTransform interface)
+      var tform = 'scale(' + 1/document.documentElement.currentScale + ') ' + 'translate(' + (-ct.x) + ', ' + (-ct.y) + ')';
+      document.getElementById('staticElements').setAttributeNS(null, 'transform', tform)
+      }
+      }
+
+
+      function fnZoom(type) {
+      var de = document.documentElement;
+      var oldScale = de.currentScale;
+      var oldTranslate = { x: de.currentTranslate.x, y: de.currentTranslate.y };
+      var s = 2;
+      if (type == 'in') {de.currentScale *= 1.5;}
+      if (type == 'out') {de.currentScale /= 1.4;}
+      // correct currentTranslate so zooming is to the center of the viewport:
+
+      var vp_width, vp_height;
+      try {
+      vp_width = de.viewport.width;
+      vp_height = de.viewport.height;
+      }
+      catch (e) {
+      // work around difficiency in moz ('viewport' property not implemented)
+      vp_width = window.innerWidth;
+      vp_height = window.innerHeight;
+      }
+      de.currentTranslate.x = vp_width/2 - ((de.currentScale/oldScale) * (vp_width/2 - oldTranslate.x));
+      de.currentTranslate.y = vp_height/2 - ((de.currentScale/oldScale) * (vp_height/2 - oldTranslate.y));
+
+      }
+
+
+      function fnPan(type) {
+      var de = document.documentElement;
+      var ct = de.currentTranslate;
+      var t = 150;
+      if (type == 'right') ct.x += t;
+      if (type == 'down') ct.y += t;
+      if (type == 'left') ct.x -= t;
+      if (type == 'up') ct.y -= t;
+      }
+
+
+      var gCurrentX,gCurrentY
+      var gDeltaX,gDeltaY
+      var gMouseDown=false
+      var gCurrentTranslate=document.documentElement.currentTranslate
+
+      function fnOnMouseDown(evt) {
+      gCurrentX=gCurrentTranslate.x
+      gCurrentY=gCurrentTranslate.y
+      gDeltaX=evt.clientX
+      gDeltaY=evt.clientY
+      gMouseDown=true
+      evt.target.ownerDocument.rootElement.setAttributeNS(null,"cursor","move")
+      }
+
+
+      function fnOnMouseUp(evt) {
+      gMouseDown=false
+      evt.target.ownerDocument.rootElement.setAttribute("cursor","default")
+      }
+
+
+      function fnOnMouseMove(evt) {
+      var id
+      if (gMouseDown) {
+      gCurrentTranslate.x=gCurrentX+evt.clientX-gDeltaX
+      gCurrentTranslate.y=gCurrentY+evt.clientY-gDeltaY
+      }
+      }
+
+
+    </script>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: /applications/editors/josm/oldplugins/osmarender/xslt/xsltrans
===================================================================
--- /applications/editors/josm/oldplugins/osmarender/xslt/xsltrans	(revision 35743)
+++ /applications/editors/josm/oldplugins/osmarender/xslt/xsltrans	(revision 35743)
@@ -0,0 +1,170 @@
+#!/bin/bash
+#
+#  xsltrans [options] <xmlfile> [<xslfile>]
+#
+#  This little utility script will call the XSL transformator of your choice.
+#
+#  Options:
+#     -p, --param name=value          Set XSL XPATH parameter
+#     -s, --stringparam name=value    Set XSL string parameter
+#
+#  The <xmlfile> is the input XML file. The <xslfile> is the XSL stylesheet.
+#  If you have a xml-stylesheet processing instruction in your XML file,
+#  you don't need to add the <xslfile>. Output is always on STDOUT.
+#
+#  If the environment variable XSLTRANS is set, it will call the program
+#  named in the variable. If the content of XSLTRANS ends in .jar, it will
+#  call java with this JAR file as a parameter.
+#
+#  xsltrans knows the calling syntax of xsltproc, xmlstarlet, xalan (c++)
+#  and xalan (Java) and will supply the parameters in the right form.
+#  Note that not all programs support all options.
+#
+
+#set -x
+
+prgname=`basename $0`
+
+function usage() {
+    echo >&2 "Usage: $prgname [options] <xmlfile> [<xslfile>]"
+    echo >&2 "Options: -p, --param name=value          Set XSL XPATH parameter"
+    echo >&2 "         -s, --stringparam name=value    Set XSL string parameter"
+}
+
+paralist=$(getopt --unquoted "--name=$prgname" --options=p:s: --longoptions=param:,stringparam: -- $@)
+
+if  [ $? -ne 0 ]; then
+    usage
+    exit 1
+fi
+
+set -- $paralist
+pp=""
+ps=""
+for option
+    do case "$option" in
+        -p|--param)       shift; pp="$pp $1"; shift;;
+        -s|--stringparam) shift; ps="$ps $1"; shift;;
+        --)               shift; break;;
+    esac
+done
+
+xml="$1"; shift
+if [ "$xml" = "" ]; then
+    echo >&2 "$prgname: Missing input XML file"
+    usage
+    exit 1
+fi
+
+xsl="$1"; shift
+if [ "$*" != '' ]; then
+    echo >&2 "$prgname: Too many parameters"
+    usage
+    exit 1
+fi
+
+##echo "pp=$pp"
+##echo "ps=$ps"
+##echo "xml=$xml"
+##echo "xsl=$xsl"
+
+# if XSLTRANS environment variable is not set, we try to autodetect it
+if [ "$XSLTRANS" = "" ]; then
+    XSLTRANS=`which xsltproc`
+    if [ "$XSLTRANS" = "" ]; then
+        XSLTRANS=`which xmlstarlet`
+        if [ "$XSLTRANS" = "" ]; then
+            XSLTRANS=`which xalan`
+            if [ "$XSLTRANS" = "" ]; then
+                if [ -e /usr/share/java/xalan2.jar ]; then
+                    XSLTRANS="/usr/share/java/xalan2.jar"
+                fi
+            fi
+        fi
+    fi
+fi
+
+if [ "$XSLTRANS" = "" ]; then
+    echo >&2 "Can't find any XSL transformer on your system."
+    echo >&2 "Please set the XSLTRANS environment variable to path of an XSL transformer."
+    exit 2
+fi
+
+##echo "XSLTRANS=$XSLTRANS"
+
+# We now have the XSL transformator we want to use in XSLTRANS
+
+# If the transformator is a java .jar file, change the command to call java
+command="$XSLTRANS"
+if [[ "$command" =~ '\.jar$' ]]; then
+    command="java -jar /usr/share/java/$XSLTRANS"
+fi
+
+##echo "command=$command"
+
+xsltrans=`basename $XSLTRANS`
+
+if [ "$xsltrans" = "xsltproc" ]; then
+    pl=''
+    for p in $pp; do
+        k=${p%%=*}
+        v=${p##*=}
+        pl="$pl --param $k $v"
+    done
+    for p in $ps; do
+        k=${p%%=*}
+        v=${p##*=}
+        pl="$pl --stringparam $k $v"
+    done
+    $command $pl $xsl $xml
+elif [ "$xsltrans" = "xmlstarlet" ]; then
+    if [ "$xsl" = '' ]; then
+        echo >&2 "xmlstarlet doesn't work without explicit stylesheet"
+        exit 4
+    fi
+
+    pl=''
+    for p in $pp; do
+        pl="$pl -p $p"
+    done
+    for p in $ps; do
+        pl="$pl -s $p"
+    done
+    $command tr $xsl $pl $xml
+elif [ "$xsltrans" = "xalan" ]; then
+    pl=''
+    for p in $pp; do
+        k=${p%%=*}
+        v=${p##*=}
+        pl="$pl -param $k $v"
+    done
+    for p in $ps; do
+        k=${p%%=*}
+        v=${p##*=}
+        pl="$pl -param $k '$v'"
+    done
+    if [ "$xsl" != '' ]; then
+        xsl="-xsl $xsl"
+    fi
+    $command $pl -in $xml $xsl
+elif [ "$xsltrans" = "xalan2.jar" ]; then
+    pl=''
+    for p in $pp; do
+        k=${p%%=*}
+        v=${p##*=}
+        pl="$pl -PARAM $k $v"
+    done
+    for p in $ps; do
+        k=${p%%=*}
+        v=${p##*=}
+        pl="$pl -PARAM $k $v"
+    done
+    if [ "$xsl" != '' ]; then
+        xsl="-XSL $xsl"
+    fi
+    $command $pl -IN $xml $xsl
+else
+    echo >&2 "Unknown XSL transformator '$xsltrans'"
+    exit 3
+fi
+
