Changeset 29


Ignore:
Timestamp:
Aug 20, 2008, 12:20:41 PM (6 years ago)
Author:
marius
Message:

cosmetic changes in ruleset.c and make testRuleset working

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/SConstruct

    r19 r29  
    3737env.Program('testSize', source=['test/testSize.c']) 
    3838env.Program('testOSM', source=['test/testOSM.c','osm05.c']) 
     39env.Program('testRuleset', source=['test/testRuleset.c','ruleset.c']) 
    3940 
    4041#env.Program('testRuleset', source=['ruleset.c','testRuleset.c']) 
  • trunk/osm05.c

    r24 r29  
    247247 
    248248    // Init vars 
    249     GTimer *tOsmRead = g_timer_new(); 
    250249    cntTag = 0; 
    251250    cntNd = 0; 
    252251 
    253252    // Local Vars 
     253    GTimer *tOsmRead = g_timer_new(); 
    254254    unsigned int size; 
    255255    unsigned int read = 0; 
  • trunk/ruleset.c

    r17 r29  
    1818 */ 
    1919#include <glib.h> 
     20#include <glib/gstdio.h> 
    2021#include <time.h> 
    2122#include <expat.h> 
     
    234235 
    235236    // Local Vars 
     237    GTimer *tOsmRead = g_timer_new(); 
     238    unsigned int size; 
     239    unsigned int read = 0; 
     240    struct stat filestat; 
    236241    int         len; 
    237242    int         done; 
     
    243248        ruleStack[len] = NULL; 
    244249    } 
     250     
     251    // Test file 
     252    if (!g_file_test (filename, G_FILE_TEST_IS_REGULAR)) { 
     253        fprintf(stderr,"Error: \"%s\" is not a file.\n",filename); 
     254        return NULL; 
     255    } 
     256     
     257    g_stat(filename, &filestat); 
     258    size = (int) filestat.st_size; 
    245259 
    246260    // Open file 
     
    257271 
    258272    if (opts->debug > 0) { 
    259         fprintf(stdout," Ruleset parsing"); 
     273        fprintf(stdout," Ruleset parsing   0%%"); 
    260274        fflush(stdout); 
    261275    } 
    262  
    263     long start = (long)clock(); 
    264276 
    265277    // Create XML Parser 
     
    279291            return NULL;; 
    280292        } 
     293        read += len; 
     294        if (opts->debug > 0) { 
     295            fprintf(stdout,"\r Ruleset parsing % 3i%%", (int)((read*100)/size)); 
     296            fflush(stdout); 
     297        } 
    281298        done = len < sizeof(buf); 
    282299        if (XML_Parse(parser, buf, len, done) == XML_STATUS_ERROR) { 
     
    294311 
    295312    if (opts->debug > 0) 
    296         fprintf(stdout," done. (%i/%i) [%fs]\n", 
    297                 ruleset->cntRule, ruleset->cntElse, 
    298                 ((long)clock()-start)/(double)CLOCKS_PER_SEC); 
     313        fprintf(stdout,"\r Ruleset parsing done. (%i/%i) [%fs]\n", 
     314                ruleset->cntRule,  ruleset->cntElse, 
     315                g_timer_elapsed(tOsmRead,NULL)); 
    299316 
    300317    return(ruleset); 
  • trunk/test/ruleset.xml

    r3 r29  
    11<?xml version="1.0" encoding="UTF-8"?> 
    2 <?xml-stylesheet type="text/xsl" href="osmarender.xsl"?> 
     2<rules version="0.1" autor="MariusRieder" background="#f0f0f0"> 
    33 
    4  
    5 <!-- Tiles@Home Rules File for zoom level 17 --> 
    6  
    7 <rules> 
    8  
    9     <!-- Select all nodes and ways (unless they have an osmarender:render=no tag) --> 
    10     <rule e="node|way" k="osmarender:render" v="~|yes"> 
    11  
    12         <!-- Landuse --> 
     4    <!-- Draw landuse/natural first --> 
     5    <rule e="way" k="landuse|natural" v="*"> 
     6       <rule e="way" k="natural" v="water"> 
     7            <polygone color="#b5d6f1"/> 
     8        </rule> 
     9       <rule e="way" k="landuse|natural" v="wood|forest"> 
     10            <polygone color="#72bf81"/> 
     11            <line color="#6fc18e" width="0.5"/> 
     12       </rule> 
    1313        <rule e="way" k="landuse" v="landfill|quarry"> 
    14             <area class="landuse-quarry"/> 
     14            <polygone color="#e2cf80"/> 
     15            <line color="#5A6332" width="0.2"/> 
    1516        </rule> 
    1617        <rule e="way" k="landuse" v="cemetery"> 
    1718            <rule e="way" k="religion" v="christian"> 
    18                 <area class="landuse-cemetery-christian"/> 
     19                <polygone pattern="landuse-cemetery-christian"/> 
     20                <line color="#eeeeee" width="0.2"/> 
    1921            </rule> 
    2022            <else> 
    21                 <area class="landuse-cemetery"/> 
     23                <polygone pattern="landuse-cemetery"/> 
     24                <line color="#eeeeee" width="0.2"/> 
     25            </else> 
     26        </rule> 
     27        <rule e="way" k="landuse" v="vineyard"> 
     28            <polygone pattern="landuse-vineyard"/> 
     29            <line color="#eeeeee" width="0.2"/> 
     30        </rule> 
     31    </rule> 
     32        <rule e="way" k="landuse" v="field|farm|farmland|allotments|village_green|recreation_ground|meadow|grass"> 
     33            <polygone color="#bde3cb"/> 
     34            <line color="#6fc13d" width="0.2"/> 
     35        </rule> 
     36        <rule e="way" k="leisure" v="park|playground|playing_fields|garden|pitch|golf_course|common|green"> 
     37            <polygone color="#c7f1a3"/> 
     38            <line color="#6fc18e" width="0.2"/> 
     39        </rule> 
     40        <rule e="way" k="leisure" v="stadium|sports_centre|water_park"> 
     41            <polygone color="#bde3cb"/> 
     42            <line color="#6fc18e" width="0.2"/> 
     43        </rule> 
     44        <rule e="way" k="leisure" v="track"> 
     45            <polygone color="#bde3cb"/> 
     46            <line color="#6fc18e" width="0.2"/> 
     47        </rule> 
     48        <rule e="way" k="leisure" v="swimming_pool"> 
     49            <polygone color="#b5d6f1"/> 
     50            <line color="#6060ff" width="0.2"/> 
     51        </rule> 
     52     
     53    <!-- Waterways --> 
     54    <rule e="way" k="waterway" v="*"> 
     55        <rule e="way" k="waterway" v="riverbank"> 
     56            <polygone color="#b5d6f1"/> 
     57        </rule> 
     58        <rule e="way" k="waterway" v="river"> 
     59            <line color="#b5d6f1" width="2"/> 
     60        </rule> 
     61        <rule e="way" k="waterway" v="stream"> 
     62            <line color="#b5d6f1" width=".2"/> 
     63        </rule> 
     64        <rule e="way" k="waterway" v="canal"> 
     65            <line color="#b5d6f1" width="2"/> 
     66        </rule> 
     67        <rule e="way" k="waterway" v="drain"> 
     68            <line color="#b5d6f1" width="1"/> 
     69        </rule> 
     70        <rule e="way" k="waterway" v="dock"> 
     71            <polygone color="#b5d6f1"/> 
     72        </rule> 
     73        <rule e="way" k="natural|landuse" v="water|pond|lake"> 
     74            <polygone color="#b5d6f1"/> 
     75        </rule> 
     76        <rule e="way" k="landuse" v="reservoir"> 
     77            <polygone color="#b5d6f1"/> 
     78        </rule> 
     79        <rule e="way" k="landuse" v="basin"> 
     80            <polygone color="#b5d6f1"/> 
     81        </rule> 
     82 
     83    </rule> 
     84    <rule e="way" k="building" v="*"> 
     85        <polygone color="#dddddd" layer="15:17"/> 
     86        <line color="#cccccc" width="0.1" layer="15:17"/> 
     87    </rule> 
     88     
     89     
     90    
     91    <!-- Railway --> 
     92    <rule e="way" k="railway" v="monorail"> 
     93            <line color="#000000" width="2.5"/> 
     94            <line color="#ffffff" width="1.5"/> 
     95    </rule> 
     96    <rule e="way" k="railway" v="preserved"> 
     97            <line color="#000000" width="2.5"/> 
     98            <line color="#ffffff" width="1.5"/> 
     99    </rule> 
     100    <rule e="way" k="railway" v="narrow_gauge"> 
     101            <line color="#000000" width="2.5"/> 
     102            <line color="#ffffff" width="1.5"/> 
     103    </rule> 
     104    <rule e="way" k="railway" v="rail"> 
     105            <line color="#000000" width="3"/> 
     106            <line color="#ffffff" width="2"/> 
     107    </rule> 
     108 
     109    <!-- Draw highways --> 
     110    <rule e="way" k="highway" v="*"> 
     111        <rule e="way" k="highway" v="footway|track"> 
     112            <line color="#777777" width="1" layer="14:17"/> 
     113            <line color="#efeaa0" width="0.5" layer="14:17"/> 
     114        </rule> 
     115        <rule e="way" k="highway" v="cycleway|bridleway"> 
     116            <line color="#777777" width="1" layer="14:17"/> 
     117            <line color="#efa0a0" width="0.5" layer="14:17"/> 
     118        </rule> 
     119        <rule e="way" k="highway" v="track"> 
     120            <line color="#777777" width="1.5" layer="13:17"/> 
     121            <line color="#efeaa0" width="1" layer="13:17"/> 
     122        </rule> 
     123        <rule e="way" k="highway" v="residential|unclassified|pedestrian"> 
     124            <line color="#777777" width="3" layer="12:17"/> 
     125            <line color="#ffffff" width="2" layer="12:17"/> 
     126            <text color="#000000" width="2"/> 
     127        </rule> 
     128        <rule e="way" k="highway" v="tertiary"> 
     129            <line color="#777777" width="3"/> 
     130            <line color="#f7f496" width="2"/> 
     131            <text color="#000000" width="2"/> 
     132        </rule> 
     133        <rule e="way" k="highway" v="secondary"> 
     134            <line color="#777777" width="4"/> 
     135            <line color="#FDBF6F" width="3"/> 
     136            <text color="#000000" width="3"/> 
     137        </rule> 
     138        <rule e="way" k="highway" v="primary"> 
     139            <line color="#777777" width="4"/> 
     140            <line color="#e46d71" width="3"/> 
     141            <text color="#000000" width="3"/> 
     142        </rule> 
     143        <rule e="way" k="highway" v="trunk"> 
     144            <line color="#777777" width="5"/> 
     145            <line color="#7FC97F" width="4"/> 
     146        </rule> 
     147        <rule e="way" k="highway" v="motorway"> 
     148            <line color="#777777" width="6"/> 
     149            <line color="#809BC0" width="5"/> 
     150        </rule> 
     151    </rule> 
     152     
     153 
     154    <!-- Select all nodes and ways (unless they have an osmarender:render=no tag) --> 
     155    <!-- 
     156    <rule e="node|way" k="landuse" v="~|yes"> 
     157       <rule e="way" k="landuse" v="landfill|quarry"> 
     158            <polygone color="0.88,0.81,0.50"/> 
     159            <line color="0.35,0.38,0.19" width="1"/> 
     160        </rule> 
     161        <rule e="way" k="landuse" v="cemetery"> 
     162            <rule e="way" k="religion" v="christian"> 
     163                <polygone pattern="landuse-cemetery-christian"/> 
     164                <line color="0.93.0.93.0.93" width="1"/> 
     165            </rule> 
     166            <else> 
     167                <polygone pattern="landuse-cemetery"/> 
     168                <line color="0.93.0.93.0.93" width="1"/> 
    22169            </else> 
    23170        </rule> 
     
    25172            <area class="landuse-vineyard"/> 
    26173        </rule> 
    27  
    28         <!-- Natural features --> 
    29         <rule e="way" k="natural" v="coastline"> 
    30             <area class="natural-coastline"/> 
    31         </rule> 
    32         <rule e="way" k="natural" v="land"> 
    33             <area class="natural-land"/> 
    34         </rule> 
    35         <rule e="way" k="natural" v="beach"> 
    36             <area class="natural-beach"/> 
    37         </rule> 
    38         <rule e="way" k="natural|landuse" v="forest|wood|scrub"> 
    39             <rule e="way" k="wood" v="coniferous"> 
    40                 <area class="landuse-wood-coniferous"/> 
    41             </rule> 
    42             <else> 
    43                 <rule e="way" k="wood" v="deciduous"> 
    44                     <area class="landuse-wood-deciduous"/> 
    45                 </rule> 
    46                 <else> 
    47                     <rule e="way" k="wood" v="mixed"> 
    48                         <area class="landuse-wood-mixed"/> 
    49                     </rule> 
    50                     <else> 
    51                         <area class="landuse-wood"/> 
    52                     </else> 
    53                 </else> 
    54             </else> 
    55         </rule> 
    56         <rule e="way" k="natural" v="heath"> 
    57             <area class="natural-heath"/> 
    58         </rule> 
    59  
    60         <!-- Artificial landuse --> 
    61         <rule e="way" k="landuse" v="field|farm|farmland|allotments|village_green|recreation_ground|meadow|grass"> 
    62             <area class="landuse-field"/> 
    63         </rule> 
    64         <rule e="way" k="leisure" v="park|playground|playing_fields|garden|pitch|golf_course|common|green"> 
    65             <area class="leisure-park"/> 
    66         </rule> 
    67         <rule e="way" k="leisure" v="stadium|sports_centre|water_park"> 
    68             <area class="leisure-stadium"/> 
    69         </rule> 
    70         <rule e="way" k="leisure" v="track"> 
    71             <area class="leisure-track"/> 
    72         </rule> 
    73         <rule e="way" k="leisure" v="swimming_pool"> 
    74             <area class="leisure-swimming-pool"/> 
    75         </rule> 
    76  
    77         <!-- Airports and runways --> 
    78         <rule e="way" k="aeroway" v="apron"> 
    79             <area class="aeroway-apron"/> 
    80         </rule> 
    81         <rule e="way" k="landuse" v="runway"> 
    82             <rule e="way" k="use_status" v="~"> 
    83                 <area class="landuse-runway"/> 
    84             </rule> 
    85             <rule e="way" k="use_status" v="disused"> 
    86                 <area class="landuse-runway-disused"/> 
    87             </rule> 
    88             <rule e="way" k="use_status" v="dismantled"> 
    89                 <area class="landuse-runway-dismantled"/> 
    90             </rule> 
    91         </rule> 
    92  
    93         <!-- Raceways and racetracks (cars and horses etc) --> 
    94         <rule e="way" k="landuse" v="raceway"> 
    95             <rule e="way" k="use_status" v="~"> 
    96                 <area class="landuse-raceway"/> 
    97             </rule> 
    98             <rule e="way" k="use_status" v="disused"> 
    99                 <area class="landuse-raceway-disused"/> 
    100             </rule> 
    101             <rule e="way" k="use_status" v="dismantled"> 
    102                 <area class="landuse-raceway-dismantled"/> 
    103             </rule> 
    104         </rule> 
    105  
    106         <!-- Man-made areas --> 
    107         <rule e="way" k="leisure|landuse|amenity|tourism" v="~"> 
    108             <rule e="way" k="building" v="~|no|false|0"> 
    109                 <rule e="way" k="sport" v="swimming"> 
    110                     <area class="sport-swimming"/> 
    111                 </rule> 
    112                 <else> 
    113                     <rule e="way" k="sport" v="tennis"> 
    114                         <area class="sport-tennis"/> 
    115                     </rule> 
    116                     <else> 
    117                         <rule e="way" k="sport" v="*"> 
    118                             <area class="sport"/> 
    119                         </rule> 
    120                     </else> 
    121                 </else> 
    122             </rule> 
    123         </rule> 
    124         <rule e="way" k="amenity" v="parking"> 
    125             <area class="amenity-parking"/> 
    126         </rule> 
    127         <rule e="way" k="tourism" v="attraction"> 
    128             <area class="tourism-attraction"/> 
    129         </rule> 
    130         <rule e="way" k="tourism" v="zoo|picnic_site|caravan_site|camp_site"> 
    131             <area class="tourism-green-area"/> 
    132         </rule> 
    133  
    134         <!-- access rules for parking --> 
    135         <rule e="way" k="amenity" v="parking"> 
    136             <rule e="way" k="access" v="private"> 
    137                 <area class="access-private-small-area"/> 
    138             </rule> 
    139             <rule e="way" k="access" v="permissive"> 
    140                 <area class="access-permissive-small-area"/> 
    141             </rule> 
    142             <rule e="way" k="access" v="destination"> 
    143                 <area class="access-destination-small-area"/> 
    144             </rule> 
    145             <rule e="way" k="access" v="no"> 
    146                 <area class="access-no-small-area"/> 
    147             </rule> 
    148         </rule> 
    149  
    150         <!-- house number interpolation lines --> 
    151         <rule e="way" k="addr:interpolation" v="odd"> 
    152             <line class="housenumber-interpolation housenumber-interpolation-odd"/> 
    153         </rule> 
    154         <rule e="way" k="addr:interpolation" v="even"> 
    155             <line class="housenumber-interpolation housenumber-interpolation-even"/> 
    156         </rule> 
    157         <rule e="way" k="addr:interpolation" v="all"> 
    158             <line class="housenumber-interpolation housenumber-interpolation-all"/> 
    159         </rule> 
    160  
    161         <!-- Airfields and airports --> 
    162         <rule e="way" k="aeroway" v="runway"> 
    163             <line class="aeroway-runway-casing"/> 
    164         </rule> 
    165         <rule e="way" k="aeroway" v="taxiway"> 
    166             <line class="aeroway-taxiway-casing"/> 
    167         </rule> 
    168  
    169         <!-- Waterways --> 
    170         <rule e="way" k="waterway" v="riverbank"> 
    171             <area class="waterway-riverbank"/> 
    172         </rule> 
    173         <rule e="way" k="waterway" v="river"> 
    174             <line class="waterway-casing waterway-river-casing" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/> 
    175         </rule> 
    176         <rule e="way" k="waterway" v="stream"> 
    177             <line class="waterway-casing waterway-stream-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="2"/> 
    178         </rule> 
    179         <rule e="way" k="waterway" v="canal"> 
    180             <line class="waterway-casing waterway-canal-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/> 
    181         </rule> 
    182         <rule e="way" k="waterway" v="drain"> 
    183             <line class="waterway-casing waterway-drain-casing" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/> 
    184         </rule> 
    185         <rule e="way" k="waterway" v="river"> 
    186             <line class="waterway-core waterway-river-core" width-scale-factor="1" honor-width="yes" minimum-width="2" maximum-width="100"/> 
    187         </rule> 
    188         <rule e="way" k="waterway" v="stream"> 
    189             <line class="waterway-core waterway-stream-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="2"/> 
    190         </rule> 
    191         <rule e="way" k="waterway" v="canal"> 
    192             <line class="waterway-core waterway-canal-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/> 
    193         </rule> 
    194         <rule e="way" k="waterway" v="drain"> 
    195             <line class="waterway-core waterway-drain-core" width-scale-factor="1" honor-width="yes" minimum-width="0.1" maximum-width="100"/> 
    196         </rule> 
    197         <rule e="way" k="waterway" v="dock"> 
    198             <area class="natural-water"/> 
    199         </rule> 
    200         <rule e="way" k="natural" v="water|pond|lake"> 
    201             <area class="natural-water"/> 
    202         </rule> 
    203         <rule e="way" k="landuse" v="reservoir"> 
    204             <area class="natural-water"/> 
    205         </rule> 
    206         <rule e="way" k="landuse" v="basin"> 
    207             <area class="natural-water"/> 
    208         </rule> 
    209  
    210         <!-- Bridge casings --> 
    211         <rule e="way" k="bridge" v="yes|true"> 
    212             <rule e="way" k="railway" v="rail"> 
    213                 <line class="bridge-casing railway-rail-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    214             </rule> 
    215             <rule e="way" k="railway" v="abandoned"> 
    216                 <line class="bridge-casing railway-rail-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    217             </rule> 
    218             <rule e="way" k="railway" v="light_rail|incline"> 
    219                 <line class="bridge-casing railway-light-rail-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    220             </rule> 
    221             <rule e="way" k="railway" v="subway"> 
    222                 <line class="bridge-casing railway-subway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    223             </rule> 
    224             <rule e="way" k="railway" v="tram"> 
    225                 <line class="bridge-casing railway-tram-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    226             </rule> 
    227             <rule e="way" k="railway" v="narrow_gauge"> 
    228                 <line class="bridge-casing railway-narrow-gauge-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    229             </rule> 
    230             <rule e="way" k="railway" v="preserved"> 
    231                 <line class="bridge-casing railway-preserved-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    232             </rule> 
    233             <rule e="way" k="railway" v="monorail"> 
    234                 <line class="bridge-casing railway-monorail-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    235             </rule> 
    236             <rule e="way" k="highway" v="motorway"> 
    237                 <line class="bridge-casing highway-motorway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    238             </rule> 
    239             <rule e="way" k="highway" v="trunk"> 
    240                 <line class="bridge-casing highway-trunk-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    241             </rule> 
    242             <rule e="way" k="highway" v="primary"> 
    243                 <line class="bridge-casing highway-primary-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    244             </rule> 
    245             <rule e="way" k="highway" v="motorway_link"> 
    246                 <line class="bridge-casing highway-motorway-link-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    247             </rule> 
    248             <rule e="way" k="highway" v="trunk_link"> 
    249                 <line class="bridge-casing highway-trunk-link-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    250             </rule> 
    251             <rule e="way" k="highway" v="primary_link"> 
    252                 <line class="bridge-casing highway-primary-link-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    253             </rule> 
    254             <rule e="way" k="highway" v="secondary"> 
    255                 <line class="bridge-casing highway-secondary-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    256             </rule> 
    257             <rule e="way" k="highway" v="tertiary"> 
    258                 <line class="bridge-casing highway-tertiary-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    259             </rule> 
    260             <rule e="way" k="highway" v="unclassified|residential|minor|living_street|road"> 
    261                 <line class="bridge-casing highway-unclassified-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    262             </rule> 
    263             <rule e="way" k="highway" v="service"> 
    264                 <line class="bridge-casing highway-service-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    265             </rule> 
    266             <rule e="way" k="highway" v="unsurfaced"> 
    267                 <line class="bridge-casing highway-unsurfaced-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    268             </rule> 
    269             <rule e="way" k="highway" v="track"> 
    270                 <line class="bridge-casing highway-track-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    271             </rule> 
    272             <rule e="way" k="highway" v="byway"> 
    273                 <line class="bridge-casing highway-byway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    274             </rule> 
    275             <rule e="way" k="highway" v="bridleway"> 
    276                 <line class="bridge-casing highway-bridleway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    277             </rule> 
    278             <rule e="way" k="highway" v="cycleway"> 
    279                 <line class="bridge-casing highway-cycleway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    280             </rule> 
    281             <rule e="way" k="highway" v="path"> 
    282                 <rule e="way" k="bicycle" v="yes|designated"> 
    283                     <line class="bridge-casing highway-cycleway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    284             </rule> 
    285                 <else> 
    286                     <rule e="way" k="horse" v="yes|designated"> 
    287                         <line class="bridge-casing highway-bridleway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    288                 </rule> 
    289                 <else> 
    290                     <line class="bridge-casing highway-footway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    291                 </else></else> 
    292             </rule> 
    293             <rule e="way" k="highway" v="pedestrian"> 
    294                 <line class="bridge-casing highway-pedestrian-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    295             </rule> 
    296             <rule e="way" k="highway" v="footway|footpath"> 
    297                 <line class="bridge-casing highway-footway-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    298             </rule> 
    299             <rule e="way" k="highway" v="steps"> 
    300                 <line class="bridge-casing highway-steps-bridge-casing" smart-linecap="no" suppress-markers-tag="bridge"/> 
    301             </rule> 
    302         </rule> 
    303  
    304         <!-- Bridge cores --> 
    305         <rule e="way" k="bridge" v="yes|true"> 
    306             <rule e="way" k="railway" v="rail"> 
    307                 <line class="bridge-core railway-rail-bridge-core" smart-linecap="no"/> 
    308             </rule> 
    309             <rule e="way" k="railway" v="light_rail|incline"> 
    310                 <line class="bridge-core railway-light-rail-bridge-core" smart-linecap="no"/> 
    311             </rule> 
    312             <rule e="way" k="railway" v="subway"> 
    313                 <line class="bridge-core railway-subway-bridge-core" smart-linecap="no"/> 
    314             </rule> 
    315             <rule e="way" k="railway" v="tram"> 
    316                 <line class="bridge-core railway-tram-bridge-core" smart-linecap="no"/> 
    317             </rule> 
    318             <rule e="way" k="railway" v="narrow_gauge"> 
    319                 <line class="bridge-core railway-narrow-gauge-bridge-core" smart-linecap="no"/> 
    320             </rule> 
    321             <rule e="way" k="railway" v="preserved"> 
    322                 <line class="bridge-core railway-preserved-bridge-core" smart-linecap="no"/> 
    323             </rule> 
    324             <rule e="way" k="railway" v="monorail"> 
    325                 <line class="bridge-core railway-monorail-bridge-core" smart-linecap="no"/> 
    326             </rule> 
    327             <rule e="way" k="highway" v="motorway"> 
    328                 <line class="bridge-core highway-motorway-bridge-core" smart-linecap="no"/> 
    329             </rule> 
    330             <rule e="way" k="highway" v="trunk"> 
    331                 <line class="bridge-core highway-trunk-bridge-core" smart-linecap="no"/> 
    332             </rule> 
    333             <rule e="way" k="highway" v="primary"> 
    334                 <line class="bridge-core highway-primary-bridge-core" smart-linecap="no"/> 
    335             </rule> 
    336             <rule e="way" k="highway" v="motorway_link"> 
    337                 <line class="bridge-core highway-motorway-link-bridge-core" smart-linecap="no"/> 
    338             </rule> 
    339             <rule e="way" k="highway" v="trunk_link"> 
    340                 <line class="bridge-core highway-trunk-link-bridge-core" smart-linecap="no"/> 
    341             </rule> 
    342             <rule e="way" k="highway" v="primary_link"> 
    343                 <line class="bridge-core highway-primary-link-bridge-core" smart-linecap="no"/> 
    344             </rule> 
    345             <rule e="way" k="highway" v="secondary"> 
    346                 <line class="bridge-core highway-secondary-bridge-core" smart-linecap="no"/> 
    347             </rule> 
    348             <rule e="way" k="highway" v="tertiary"> 
    349                 <line class="bridge-core highway-tertiary-bridge-core" smart-linecap="no"/> 
    350             </rule> 
    351             <rule e="way" k="highway" v="unclassified|residential|minor|living_street|road"> 
    352                 <line class="bridge-core highway-unclassified-bridge-core" smart-linecap="no"/> 
    353             </rule> 
    354             <rule e="way" k="highway" v="service"> 
    355                 <line class="bridge-core highway-service-bridge-core" smart-linecap="no"/> 
    356             </rule> 
    357             <rule e="way" k="highway" v="unsurfaced"> 
    358                 <line class="bridge-core highway-unsurfaced-bridge-core" smart-linecap="no"/> 
    359             </rule> 
    360             <rule e="way" k="highway" v="track"> 
    361                 <line class="bridge-core highway-track-bridge-core" smart-linecap="no"/> 
    362             </rule> 
    363             <rule e="way" k="highway" v="byway"> 
    364                 <line class="bridge-core highway-byway-bridge-core" smart-linecap="no"/> 
    365             </rule> 
    366             <rule e="way" k="highway" v="bridleway"> 
    367                 <line class="bridge-core highway-bridleway-bridge-core" smart-linecap="no"/> 
    368             </rule> 
    369             <rule e="way" k="highway" v="cycleway"> 
    370                 <line class="bridge-core highway-cycleway-bridge-core" smart-linecap="no"/> 
    371             </rule> 
    372             <rule e="way" k="highway" v="path"> 
    373             <rule e="way" k="bicycle" v="yes|designated"> 
    374                     <line class="bridge-core highway-cycleway-bridge-core" smart-linecap="no"/> 
    375             </rule> 
    376                 <else> 
    377                     <rule e="way" k="horse" v="yes|designated"> 
    378                         <line class="bridge-core highway-bridleway-bridge-core" smart-linecap="no"/> 
    379                 </rule> 
    380                 <else> 
    381                     <line class="bridge-core highway-footway-bridge-core" smart-linecap="no"/> 
    382                 </else></else> 
    383             </rule> 
    384             <rule e="way" k="highway" v="pedestrian"> 
    385                 <line class="bridge-core highway-pedestrian-bridge-core" smart-linecap="no"/> 
    386             </rule> 
    387             <rule e="way" k="highway" v="footway|footpath"> 
    388                 <line class="bridge-core highway-footway-bridge-core" smart-linecap="no"/> 
    389             </rule> 
    390             <rule e="way" k="highway" v="steps"> 
    391                 <line class="bridge-core highway-steps-bridge-core" smart-linecap="no"/> 
    392             </rule> 
    393         </rule> 
    394  
    395         <!-- Highway area casings --> 
    396         <rule e="way" k="area" v="yes|true"> 
    397             <rule e="way" k="highway" v="footway|footpath"> 
    398                 <area class="highway-casing highway-footway-casing highway-footway-area-casing no-bezier" smart-linecap="no"/> 
    399             </rule> 
    400             <rule e="way" k="highway" v="pedestrian"> 
    401                 <area class="highway-casing highway-pedestrian-casing highway-pedestrian-area-casing no-bezier"/> 
    402             </rule> 
    403             <rule e="way" k="highway" v="cycleway"> 
    404                 <area class="highway-casing highway-cycleway-casing highway-cycleway-area-casing no-bezier" smart-linecap="no"/> 
    405             </rule> 
    406             <rule e="way" k="highway" v="path"> 
    407                 <rule e="way" k="bicycle" v="yes|designated"> 
    408                     <area class="highway-casing highway-cycleway-casing highway-cycleway-area-casing no-bezier" smart-linecap="no"/> 
    409             </rule> 
    410                 <else> 
    411                     <rule e="way" k="horse" v="yes|designated"> 
    412                         <area class="highway-casing highway-bridleway-casing highway-bridleway-area-casing no-bezier" smart-linecap="no"/> 
    413                 </rule> 
    414                 <else> 
    415                     <area class="highway-casing highway-footway-casing highway-footway-area-casing no-bezier" smart-linecap="no"/> 
    416                 </else></else> 
    417             </rule> 
    418             <rule e="way" k="highway" v="bridleway"> 
    419                 <area class="highway-casing highway-bridleway-casing highway-bridleway-area-casing no-bezier" smart-linecap="no"/> 
    420             </rule> 
    421             <rule e="way" k="highway" v="byway"> 
    422                 <area class="highway-casing highway-byway-1-casing highway-byway-1-area-casing no-bezier" smart-linecap="no"/> 
    423                 <area class="highway-casing highway-byway-2-casing highway-byway-2-area-casing no-bezier" smart-linecap="no"/> 
    424                 <area class="highway-casing highway-byway-3-casing highway-byway-3-area-casing no-bezier" smart-linecap="no"/> 
    425             </rule> 
    426             <rule e="way" k="highway" v="track"> 
    427                 <rule e="way" k="tracktype" v="grade1"> 
    428                     <area class="highway-casing highway-track-casing highway-track-grade1-casing highway-track-area-casing no-bezier" smart-linecap="no"/> 
    429                 </rule> 
    430                 <else> 
    431                     <rule e="way" k="tracktype" v="grade2"> 
    432                         <area class="highway-casing highway-track-casing highway-track-grade2-casing highway-track-area-casing no-bezier" smart-linecap="no"/> 
    433                     </rule> 
    434                     <else> 
    435                         <rule e="way" k="tracktype" v="grade3"> 
    436                             <area class="highway-casing highway-track-casing highway-track-grade3-casing highway-track-area-casing no-bezier" smart-linecap="no"/> 
    437                         </rule> 
    438                         <else> 
    439                             <rule e="way" k="tracktype" v="grade4"> 
    440                                 <area class="highway-casing highway-track-casing highway-track-grade4-casing highway-track-area-casing no-bezier" smart-linecap="no"/> 
    441                             </rule> 
    442                             <else> 
    443                                 <rule e="way" k="tracktype" v="grade5"> 
    444                                     <area class="highway-casing highway-track-casing highway-track-grade5-casing highway-track-area-casing no-bezier" smart-linecap="no"/> 
    445                                 </rule> 
    446                                 <else> 
    447                                     <area class="highway-casing highway-track-casing highway-track-area-casing no-bezier" smart-linecap="no"/> 
    448                                 </else> 
    449                             </else> 
    450                         </else> 
    451                     </else> 
    452                 </else> 
    453             </rule> 
    454             <rule e="way" k="highway" v="unsurfaced"> 
    455                 <area class="highway-casing highway-unsurfaced-casing highway-unsurfaced-area-casing no-bezier" smart-linecap="no"/> 
    456             </rule> 
    457             <rule e="way" k="highway" v="service"> 
    458                 <area class="highway-casing highway-service-casing highway-service-area-casing no-bezier"/> 
    459             </rule> 
    460             <rule e="way" k="highway" v="unclassified|residential|minor|road"> 
    461                 <area class="highway-casing highway-unclassified-casing highway-unclassified-area-casing no-bezier"/> 
    462             </rule> 
    463             <rule e="way" k="highway" v="living_street"> 
    464                 <area class="highway-casing highway-livingstreet-casing highway-livingstreet-area-casing no-bezier"/> 
    465             </rule> 
    466             <rule e="way" k="highway" v="tertiary"> 
    467                 <area class="highway-casing highway-tertiary-casing highway-tertiary-area-casing no-bezier"/> 
    468             </rule> 
    469             <rule e="way" k="highway" v="secondary"> 
    470                 <area class="highway-casing highway-secondary-casing highway-secondary-area-casing no-bezier"/> 
    471             </rule> 
    472             <rule e="way" k="highway" v="primary_link"> 
    473                 <area class="highway-casing highway-primary-link-casing highway-primary-link-area-casing no-bezier"/> 
    474             </rule> 
    475             <rule e="way" k="highway" v="trunk_link"> 
    476                 <area class="highway-casing highway-trunk-link-casing highway-trunk-link-area-casing no-bezier"/> 
    477             </rule> 
    478             <rule e="way" k="highway" v="motorway_link"> 
    479                 <area class="highway-casing highway-motorway-link-casing highway-motorway-link-area-casing no-bezier"/> 
    480             </rule> 
    481             <rule e="way" k="highway" v="primary"> 
    482                 <area class="highway-casing highway-primary-casing highway-primary-area-casing no-bezier"/> 
    483             </rule> 
    484             <rule e="way" k="highway" v="trunk"> 
    485                 <area class="highway-casing highway-trunk-casing highway-trunk-area-casing no-bezier"/> 
    486             </rule> 
    487             <rule e="way" k="highway|construction" v="motorway"> 
    488                 <area class="highway-casing highway-motorway-casing highway-motorway-area-casing no-bezier"/> 
    489             </rule> 
    490         </rule> 
    491  
    492         <!-- Linear casings --> 
    493         <rule e="way" k="tunnel" v="~|no|false"> 
    494             <rule e="way" k="area" v="~|no|false"> 
    495                 <rule e="way" k="railway" v="monorail"> 
    496                     <line class="railway-casing railway-monorail-casing"/> 
    497                 </rule> 
    498                 <rule e="way" k="railway" v="preserved"> 
    499                     <line class="railway-casing railway-preserved-casing"/> 
    500                 </rule> 
    501                 <rule e="way" k="railway" v="narrow_gauge"> 
    502                     <line class="railway-casing railway-narrow-gauge-casing"/> 
    503                 </rule> 
    504                 <rule e="way" k="railway" v="rail"> 
    505                     <line class="railway-casing railway-rail-casing"/> 
    506                 </rule> 
    507                 <rule e="way" k="railway" v="abandoned"> 
    508                     <rule e="way" k="bridge" v="yes|true"> 
    509                         <line class="railway-casing railway-rail-casing"/> 
    510                     </rule> 
    511                 </rule> 
    512                 <rule e="way" k="highway" v="raceway"> 
    513                     <rule e="way" k="use_status" v="~"> 
    514                         <line class="highway-raceway-casing"/> 
    515                     </rule> 
    516                     <rule e="way" k="use_status" v="disused"> 
    517                         <line class="highway-raceway-casing-disused"/> 
    518                     </rule> 
    519                     <rule e="way" k="use_status" v="dismantled"> 
    520                         <line class="highway-raceway-casing-dismantled"/> 
    521                     </rule> 
    522                 </rule> 
    523                 <rule e="way" k="highway" v="steps"> 
    524                     <line class="highway-casing highway-steps-casing"/> 
    525                 </rule> 
    526                 <rule e="way" k="highway" v="footway|footpath"> 
    527                     <line class="highway-casing highway-footway-casing" smart-linecap="no"/> 
    528                 </rule> 
    529                 <rule e="way" k="highway" v="pedestrian"> 
    530                     <line class="highway-casing highway-pedestrian-casing"/> 
    531                 </rule> 
    532                 <rule e="way" k="highway" v="cycleway"> 
    533                     <line class="highway-casing highway-cycleway-casing" smart-linecap="no"/> 
    534                 </rule> 
    535                 <rule e="way" k="highway" v="path"> 
    536                 <rule e="way" k="bicycle" v="yes|designated"> 
    537                     <line class="highway-casing highway-cycleway-casing" smart-linecap="no"/> 
    538             </rule> 
    539                 <else> 
    540                     <rule e="way" k="horse" v="yes|designated"> 
    541                         <line class="highway-casing highway-bridleway-casing" smart-linecap="no"/> 
    542                 </rule> 
    543                 <else> 
    544                     <line class="highway-casing highway-footway-casing" smart-linecap="no"/> 
    545                 </else></else> 
    546                 </rule> 
    547                 <rule e="way" k="highway" v="bridleway"> 
    548                     <line class="highway-casing highway-bridleway-casing" smart-linecap="no"/> 
    549                 </rule> 
    550                 <rule e="way" k="highway" v="byway"> 
    551                     <line class="highway-casing highway-byway-1-casing" smart-linecap="no"/> 
    552                     <line class="highway-casing highway-byway-2-casing" smart-linecap="no"/> 
    553                     <line class="highway-casing highway-byway-3-casing" smart-linecap="no"/> 
    554                 </rule> 
    555                 <rule e="way" k="highway" v="track"> 
    556                     <rule e="way" k="tracktype" v="grade1"> 
    557                         <line class="highway-casing highway-track-casing highway-track-grade1-casing" smart-linecap="no"/> 
    558                     </rule> 
    559                     <else> 
    560                         <rule e="way" k="tracktype" v="grade2"> 
    561                             <line class="highway-casing highway-track-casing highway-track-grade2-casing" smart-linecap="no"/> 
    562                         </rule> 
    563                         <else> 
    564                             <rule e="way" k="tracktype" v="grade3"> 
    565                                 <line class="highway-casing highway-track-casing highway-track-grade3-casing" smart-linecap="no"/> 
    566                             </rule> 
    567                             <else> 
    568                                 <rule e="way" k="tracktype" v="grade4"> 
    569                                     <line class="highway-casing highway-track-casing highway-track-grade4-casing" smart-linecap="no"/> 
    570                                 </rule> 
    571                                 <else> 
    572                                     <rule e="way" k="tracktype" v="grade5"> 
    573                                         <line class="highway-casing highway-track-casing highway-track-grade5-casing" smart-linecap="no"/> 
    574                                     </rule> 
    575                                     <else> 
    576                                         <rule e="way" k="track" v="racetrack"> 
    577                                             <line class="highway-racetrack-casing-white" smart-linecap="no"/> 
    578                                             <line class="highway-racetrack-casing-red" smart-linecap="no"/> 
    579                                         </rule> 
    580                                         <else> 
    581                                             <line class="highway-casing highway-track-casing" smart-linecap="no"/> 
    582                                         </else> 
    583                                     </else> 
    584                                 </else> 
    585                             </else> 
    586                         </else> 
    587                     </else> 
    588                 </rule> 
    589                 <rule e="way" k="highway" v="unsurfaced"> 
    590                     <line class="highway-casing highway-unsurfaced-casing" smart-linecap="no"/> 
    591                 </rule> 
    592                 <rule e="way" k="highway" v="service"> 
    593                     <line class="highway-casing highway-service-casing"/> 
    594                 </rule> 
    595                 <rule e="way" k="highway" v="unclassified|residential|minor|road"> 
    596                     <line class="highway-casing highway-unclassified-casing"/> 
    597                 </rule> 
    598                 <rule e="way" k="highway" v="living_street"> 
    599                     <line class="highway-casing highway-livingstreet-casing"/> 
    600                 </rule> 
    601                 <rule e="way" k="highway" v="tertiary"> 
    602                     <line class="highway-casing highway-tertiary-casing"/> 
    603                 </rule> 
    604                 <rule e="way" k="highway" v="secondary"> 
    605                     <line class="highway-casing highway-secondary-casing"/> 
    606                 </rule> 
    607                 <rule e="way" k="highway" v="primary_link"> 
    608                     <line class="highway-casing highway-primary-link-casing"/> 
    609                 </rule> 
    610                 <rule e="way" k="highway" v="trunk_link"> 
    611                     <line class="highway-casing highway-trunk-link-casing"/> 
    612                 </rule> 
    613                 <rule e="way" k="highway" v="motorway_link"> 
    614                     <line class="highway-casing highway-motorway-link-casing"/> 
    615                 </rule> 
    616                 <rule e="way" k="highway" v="primary"> 
    617                     <line class="highway-casing highway-primary-casing"/> 
    618                 </rule> 
    619                 <rule e="way" k="highway" v="trunk"> 
    620                     <line class="highway-casing highway-trunk-casing"/> 
    621                 </rule> 
    622                 <rule e="way" k="highway|construction" v="motorway"> 
    623                     <line class="highway-casing highway-motorway-casing"/> 
    624                 </rule> 
    625                 <rule e="way" k="railway" v="tram"> 
    626                     <line class="railway-casing railway-tram-casing"/> 
    627                 </rule> 
    628                 <rule e="way" k="railway" v="subway"> 
    629                     <line class="railway-casing railway-subway-casing"/> 
    630                 </rule> 
    631                 <rule e="way" k="railway" v="light_rail|incline"> 
    632                     <line class="railway-casing railway-light-rail-casing"/> 
    633                 </rule> 
    634             </rule> 
    635         </rule> 
    636  
    637         <!-- Turning circles --> 
    638         <rule e="node" k="highway" v="turning_circle"> 
    639             <rule e="node" s="way" k="highway" v="unclassified|residential|minor|road"> 
    640                 <circle r="1.5" class="highway-unclassified-turningcircle"/> 
    641             </rule> 
    642         </rule> 
    643  
    644         <!-- Highway area cores --> 
    645         <rule e="way" k="area" v="yes|true"> 
    646             <rule e="way" k="highway" v="footway|footpath"> 
    647                 <area class="highway-core highway-footway-area no-bezier" smart-linecap="no"/> 
    648             </rule> 
    649             <rule e="way" k="highway" v="pedestrian"> 
    650                 <area class="highway-core highway-pedestrian-area no-bezier"/> 
    651             </rule> 
    652             <rule e="way" k="highway" v="cycleway"> 
    653                 <area class="highway-core highway-cycleway-area no-bezier" smart-linecap="no"/> 
    654             </rule> 
    655             <rule e="way" k="highway" v="path"> 
    656                 <rule e="way" k="bicycle" v="yes|designated"> 
    657                     <area class="highway-core highway-cycleway-area no-bezier" smart-linecap="no"/> 
    658             </rule> 
    659                 <else> 
    660                     <rule e="way" k="horse" v="yes|designated"> 
    661                         <area class="highway-core highway-bridleway-area no-bezier" smart-linecap="no"/> 
    662                 </rule> 
    663                 <else> 
    664                     <area class="highway-core highway-footway-area no-bezier" smart-linecap="no"/> 
    665                 </else></else> 
    666             </rule> 
    667             <rule e="way" k="highway" v="bridleway"> 
    668                 <area class="highway-core highway-bridleway-area no-bezier" smart-linecap="no"/> 
    669             </rule> 
    670             <rule e="way" k="highway" v="byway"> 
    671                 <area class="highway-core highway-byway-area no-bezier" smart-linecap="no"/> 
    672             </rule> 
    673             <rule e="way" k="highway" v="track"> 
    674                 <area class="highway-core highway-track-area no-bezier" smart-linecap="no"/> 
    675             </rule> 
    676             <rule e="way" k="highway" v="unsurfaced"> 
    677                 <area class="highway-core highway-unsurfaced-area no-bezier" smart-linecap="no"/> 
    678             </rule> 
    679             <rule e="way" k="highway" v="service"> 
    680                 <area class="highway-core highway-service-area no-bezier"/> 
    681             </rule> 
    682             <rule e="way" k="highway" v="unclassified|residential|minor"> 
    683                 <area class="highway-core highway-unclassified-area no-bezier"/> 
    684             </rule> 
    685             <rule e="way" k="highway" v="road"> 
    686                 <area class="highway-core highway-road-area no-bezier"/> 
    687             </rule> 
    688             <rule e="way" k="highway" v="living_street"> 
    689                 <area class="highway-core highway-livingstreet-area no-bezier"/> 
    690             </rule> 
    691             <rule e="way" k="highway" v="tertiary"> 
    692                 <area class="highway-core highway-tertiary-area no-bezier"/> 
    693             </rule> 
    694             <rule e="way" k="highway" v="secondary"> 
    695                 <area class="highway-core highway-secondary-area no-bezier"/> 
    696             </rule> 
    697             <rule e="way" k="highway" v="primary_link"> 
    698                 <area class="highway-core highway-primary-link-area no-bezier"/> 
    699             </rule> 
    700             <rule e="way" k="highway" v="trunk_link"> 
    701                 <area class="highway-core highway-trunk-link-area no-bezier"/> 
    702             </rule> 
    703             <rule e="way" k="highway" v="motorway_link"> 
    704                 <area class="highway-core highway-motorway-link-area no-bezier"/> 
    705             </rule> 
    706             <rule e="way" k="highway" v="primary"> 
    707                 <area class="highway-core highway-primary-area no-bezier"/> 
    708             </rule> 
    709             <rule e="way" k="highway" v="trunk"> 
    710                 <area class="highway-core highway-trunk-area no-bezier"/> 
    711             </rule> 
    712             <rule e="way" k="highway|construction" v="motorway"> 
    713                 <rule e="way" k="highway" v="construction"> 
    714                 </rule> 
    715                 <else> 
    716                     <area class="highway-core highway-motorway-area no-bezier"/> 
    717                 </else> 
    718             </rule> 
    719         </rule> 
    720  
    721         <!-- Buildings --> 
    722         <rule e="way" k="aeroway" v="terminal"> 
    723             <area class="building-block"/> 
    724         </rule> 
    725         <rule e="way" k="building" v="*"> 
    726             <area class="building-block no-bezier"/> 
    727         </rule> 
    728  
    729         <!-- Linear cores --> 
    730         <rule e="way" k="tunnel" v="~|false|no"> 
    731             <rule e="way" k="area" v="~|false|no"> 
    732                 <rule e="way" k="railway" v="monorail"> 
    733                     <line class="railway-core railway-monorail-core"/> 
    734                 </rule> 
    735                 <rule e="way" k="railway" v="preserved"> 
    736                     <line class="railway-core railway-preserved-core"/> 
    737                 </rule> 
    738                 <rule e="way" k="railway" v="narrow_gauge"> 
    739                     <line class="railway-core railway-narrow-gauge-core"/> 
    740                 </rule> 
    741                 <rule e="way" k="railway" v="rail"> 
    742                     <line class="railway-core railway-rail-1-core"/> 
    743                     <line class="railway-core railway-rail-2-core" smart-linecap="no"/> 
    744                 </rule> 
    745                 <rule e="way" k="railway" v="abandoned"> 
    746                     <rule e="way" k="bridge" v="yes|true"> 
    747                         <line class="railway-core railway-rail-1-core"/> 
    748                     </rule> 
    749                 </rule> 
    750                 <rule e="way" k="highway" v="raceway"> 
    751                     <rule e="way" k="use_status" v="~"> 
    752                         <line class="highway-raceway-core"/> 
    753                     </rule> 
    754                     <rule e="way" k="use_status" v="disused"> 
    755                         <line class="highway-raceway-core-disused"/> 
    756                     </rule> 
    757                     <rule e="way" k="use_status" v="dismantled"> 
    758                         <line class="highway-raceway-core-dismantled"/> 
    759                     </rule> 
    760                 </rule> 
    761                 <rule e="way" k="scramble" v="*"> 
    762                     <line class="highway-core highway-scramble-core"/> 
    763                 </rule> 
    764                 <rule e="way" k="highway" v="steps"> 
    765                     <line class="highway-core highway-steps-core" smart-linecap="no"/> 
    766                 </rule> 
    767                 <rule e="way" k="highway" v="footway|footpath"> 
    768                     <line class="highway-core highway-footway-core" smart-linecap="no"/> 
    769                 </rule> 
    770                 <rule e="way" k="highway" v="pedestrian"> 
    771                     <line class="highway-core highway-pedestrian-core"/> 
    772                 </rule> 
    773                 <rule e="way" k="highway" v="cycleway"> 
    774                     <line class="highway-core highway-cycleway-core" smart-linecap="no"/> 
    775                 </rule> 
    776                 <rule e="way" k="highway" v="path"> 
    777                     <rule e="way" k="bicycle" v="yes|designated"> 
    778                         <line class="highway-core highway-cycleway-core" smart-linecap="no"/> 
    779                     </rule> 
    780                     <else> 
    781                         <rule e="way" k="horse" v="yes|designated"> 
    782                             <line class="highway-core highway-bridleway-core" smart-linecap="no"/> 
    783                     </rule> 
    784                     <else> 
    785                         <rule e="way" k="foot" v="yes|designated"> 
    786                             <line class="highway-core highway-footway-core" smart-linecap="no"/> 
    787                         </rule> 
    788                     <else> 
    789                             <line class="highway-core highway-path-core" smart-linecap="no"/> 
    790                     </else></else></else> 
    791                 </rule> 
    792                 <rule e="way" k="highway" v="bridleway"> 
    793                     <line class="highway-core highway-bridleway-core" smart-linecap="no"/> 
    794                 </rule> 
    795                 <rule e="way" k="highway" v="byway"> 
    796                     <line class="highway-core highway-byway-2-casing" smart-linecap="no"/> 
    797                     <line class="highway-core highway-byway-3-casing" smart-linecap="no"/> 
    798                     <line class="highway-core highway-byway-1-core" smart-linecap="no"/> 
    799                 </rule> 
    800                 <rule e="way" k="highway" v="track"> 
    801                     <rule e="way" k="track" v="racetrack"> 
    802                         <line class="highway-racetrack-core" smart-linecap="no"/> 
    803                     </rule> 
    804                     <else> 
    805                         <line class="highway-core highway-track-core" smart-linecap="no"/> 
    806                     </else> 
    807                 </rule> 
    808                 <rule e="way" k="highway" v="unsurfaced"> 
    809                     <line class="highway-core highway-unsurfaced-core" smart-linecap="no"/> 
    810                 </rule> 
    811                 <rule e="way" k="highway" v="service"> 
    812                     <line class="highway-core highway-service-core"/> 
    813                 </rule> 
    814                 <rule e="way" k="highway" v="unclassified|residential|minor"> 
    815                     <line class="highway-core highway-unclassified-core"/> 
    816                 </rule> 
    817                 <rule e="way" k="highway" v="road"> 
    818                     <line class="highway-core highway-road-core"/> 
    819                 </rule> 
    820                 <rule e="way" k="highway" v="living_street"> 
    821                     <line class="highway-core highway-livingstreet-core-1" smart-linecap="no"/> 
    822                     <line class="highway-core highway-livingstreet-core-2" smart-linecap="no"/> 
    823                 </rule> 
    824                 <rule e="way" k="highway" v="tertiary"> 
    825                     <line class="highway-core highway-tertiary-core"/> 
    826                 </rule> 
    827                 <rule e="way" k="highway" v="secondary"> 
    828                     <line class="highway-core highway-secondary-core"/> 
    829                 </rule> 
    830                 <rule e="way" k="highway" v="primary_link"> 
    831                     <line class="highway-core highway-primary-link-core"/> 
    832                 </rule> 
    833                 <rule e="way" k="highway" v="trunk_link"> 
    834                     <line class="highway-core highway-trunk-link-core"/> 
    835                 </rule> 
    836                 <rule e="way" k="highway" v="motorway_link"> 
    837                     <line class="highway-core highway-motorway-link-core"/> 
    838                 </rule> 
    839                 <rule e="way" k="highway" v="primary"> 
    840                     <line class="highway-core highway-primary-core"/> 
    841                 </rule> 
    842                 <rule e="way" k="highway" v="trunk"> 
    843                     <line class="highway-core highway-trunk-core"/> 
    844                 </rule> 
    845                 <rule e="way" k="highway|construction" v="motorway"> 
    846                     <rule e="way" k="highway" v="construction"> 
    847                         <line class="highway-core highway-motorway-core" mask-class="under-construction" smart-linecap="no"/> 
    848                     </rule> 
    849                     <else> 
    850                         <line class="highway-core highway-motorway-core"/> 
    851                     </else> 
    852                 </rule> 
    853                 <rule e="way" k="railway" v="tram"> 
    854                     <line class="railway-core railway-tram-core"/> 
    855                 </rule> 
    856                 <rule e="way" k="railway" v="subway"> 
    857                     <line class="railway-core railway-subway-core"/> 
    858                 </rule> 
    859                 <rule e="way" k="railway" v="light_rail|incline"> 
    860                     <line class="railway-core railway-light-rail-core"/> 
    861                 </rule> 
    862                 <rule e="way" k="aeroway" v="runway"> 
    863                     <line class="aeroway-runway-core"/> 
    864                 </rule> 
    865                 <rule e="way" k="aeroway" v="taxiway"> 
    866                     <line class="aeroway-taxiway-core"/> 
    867                 </rule> 
    868             </rule> 
    869         </rule> 
    870  
    871         <!-- Tunnels --> 
    872         <rule e="way" k="tunnel" v="true|yes"> 
    873             <rule e="way" k="highway" v="steps"> 
    874                 <line class="tunnel-casing highway-steps-casing tunnel" mask-class="tunnel-core highway-steps-core"/> 
    875                 <line class="highway-steps-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    876             </rule> 
    877             <rule e="way" k="highway" v="footway|footpath"> 
    878                 <line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/> 
    879                 <line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    880             </rule> 
    881             <rule e="way" k="highway" v="pedestrian"> 
    882                 <line class="tunnel-casing highway-pedestrian-casing tunnel" mask-class="tunnel-core highway-pedestrian-core"/> 
    883                 <line class="highway-pedestrian-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    884             </rule> 
    885             <rule e="way" k="highway" v="cycleway"> 
    886                 <line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/> 
    887                 <line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    888             </rule> 
    889             <rule e="way" k="highway" v="path"> 
    890                <rule e="way" k="bicycle" v="yes|designated"> 
    891                    <line class="tunnel-casing highway-cycleway-casing tunnel" mask-class="tunnel-core highway-cycleway-core"/> 
    892                    <line class="highway-cycleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    893             </rule> 
    894                 <else> 
    895                     <rule e="way" k="horse" v="yes|designated"> 
    896                         <line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/> 
    897                         <line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    898                 </rule> 
    899                 <else> 
    900                     <line class="tunnel-casing highway-footway-casing tunnel" mask-class="tunnel-core highway-footway-core"/> 
    901                     <line class="highway-footway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    902                 </else></else> 
    903             </rule> 
    904             <rule e="way" k="highway" v="bridleway"> 
    905                 <line class="tunnel-casing highway-bridleway-casing tunnel" mask-class="tunnel-core highway-bridleway-core"/> 
    906                 <line class="highway-bridleway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    907             </rule> 
    908             <rule e="way" k="highway" v="byway"> 
    909                 <line class="tunnel-casing highway-byway-1-casing tunnel" mask-class="tunnel-core highway-byway-1-core"/> 
    910                 <line class="highway-byway-1-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    911             </rule> 
    912             <rule e="way" k="highway" v="track"> 
    913                 <line class="tunnel-casing highway-track-casing tunnel" mask-class="tunnel-core highway-track-core"/> 
    914                 <line class="highway-track-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    915             </rule> 
    916             <rule e="way" k="highway" v="unsurfaced"> 
    917                 <line class="tunnel-casing highway-unsurfaced-casing tunnel" mask-class="tunnel-core highway-unsurfaced-core"/> 
    918                 <line class="highway-unsurfaced-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    919             </rule> 
    920             <rule e="way" k="highway" v="service"> 
    921                 <line class="tunnel-casing highway-service-casing tunnel" mask-class="tunnel-core highway-service-core"/> 
    922                 <line class="highway-service-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    923             </rule> 
    924             <rule e="way" k="highway" v="unclassified|residential|minor|tertiary|living_street"> 
    925                 <line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-unclassified-core"/> 
    926                 <line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    927             </rule> 
    928             <rule e="way" k="highway" v="road"> 
    929                 <line class="tunnel-casing highway-unclassified-casing tunnel" mask-class="tunnel-core highway-road-core"/> 
    930                 <line class="highway-unclassified-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    931             </rule> 
    932             <rule e="way" k="highway" v="tertiary"> 
    933                 <line class="tunnel-casing highway-tertiary-casing tunnel" mask-class="tunnel-core highway-tertiary-core"/> 
    934                 <line class="highway-tertiary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    935             </rule> 
    936             <rule e="way" k="highway" v="secondary"> 
    937                 <line class="tunnel-casing highway-secondary-casing tunnel" mask-class="tunnel-core highway-secondary-core"/> 
    938                 <line class="highway-secondary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    939             </rule> 
    940             <rule e="way" k="highway" v="primary_link"> 
    941                 <line class="tunnel-casing highway-primary-link-casing tunnel" mask-class="tunnel-core highway-primary-link-core"/> 
    942                 <line class="highway-primary-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    943             </rule> 
    944             <rule e="way" k="highway" v="trunk_link"> 
    945                 <line class="tunnel-casing highway-trunk-link-casing tunnel" mask-class="tunnel-core highway-trunk-link-core"/> 
    946                 <line class="highway-trunk-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    947             </rule> 
    948             <rule e="way" k="highway" v="motorway_link"> 
    949                 <line class="tunnel-casing highway-motorway-link-casing tunnel" mask-class="tunnel-core highway-motorway-link-core"/> 
    950                 <line class="highway-motorway-link-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    951             </rule> 
    952             <rule e="way" k="highway" v="primary"> 
    953                 <line class="tunnel-casing highway-primary-casing tunnel" mask-class="tunnel-core highway-primary-core"/> 
    954                 <line class="highway-primary-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    955             </rule> 
    956             <rule e="way" k="highway" v="trunk"> 
    957                 <line class="tunnel-casing highway-trunk-casing tunnel" mask-class="tunnel-core highway-trunk-core"/> 
    958                 <line class="highway-trunk-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    959             </rule> 
    960             <rule e="way" k="highway" v="motorway"> 
    961                 <line class="tunnel-casing highway-motorway-casing tunnel" mask-class="tunnel-core highway-motorway-core"/> 
    962                 <line class="highway-motorway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    963             </rule> 
    964             <rule e="way" k="railway" v="monorail"> 
    965                 <line class="tunnel-casing railway-monorail-casing tunnel" mask-class="tunnel-core railway-monorail-core"/> 
    966                 <line class="railway-monorail-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    967             </rule> 
    968             <rule e="way" k="railway" v="preserved"> 
    969                 <line class="tunnel-casing railway-preserved-casing tunnel" mask-class="tunnel-core railway-preserved-core"/> 
    970                 <line class="railway-preserved-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    971             </rule> 
    972             <rule e="way" k="railway" v="narrow_gauge"> 
    973                 <line class="tunnel-casing railway-narrow-gauge-casing tunnel" mask-class="tunnel-core railway-narrow-gauge-core"/> 
    974                 <line class="railway-narrow-gauge-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    975             </rule> 
    976             <rule e="way" k="railway" v="tram"> 
    977                 <line class="tunnel-casing railway-tram-casing tunnel" mask-class="tunnel-core railway-tram-core"/> 
    978                 <line class="railway-tram-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    979             </rule> 
    980             <rule e="way" k="railway" v="subway"> 
    981                 <line class="tunnel-casing railway-subway-casing tunnel" mask-class="tunnel-core railway-subway-core"/> 
    982                 <line class="railway-subway-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    983             </rule> 
    984             <rule e="way" k="railway" v="light_rail|incline"> 
    985                 <line class="tunnel-casing railway-light-rail-casing tunnel" mask-class="tunnel-core railway-light-rail-core"/> 
    986                 <line class="railway-light-rail-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    987             </rule> 
    988             <rule e="way" k="railway" v="rail"> 
    989                 <line class="tunnel-casing railway-rail-casing tunnel" mask-class="tunnel-core railway-rail-1-core"/> 
    990                 <line class="railway-rail-casing highway-tunnel-ends" suppress-markers-tag="tunnel"/> 
    991             </rule> 
    992         </rule> 
    993  
    994         <!-- Linear cores (under construction) --> 
    995         <rule e="way" k="highway" v="construction"> 
    996             <rule e="way" k="construction" v="steps"> 
    997                 <line class="highway-core highway-steps-core under-construction"/> 
    998             </rule> 
    999             <rule e="way" k="construction" v="footway|footpath"> 
    1000                 <line class="highway-core highway-footway-core under-construction"/> 
    1001             </rule> 
    1002             <rule e="way" k="construction" v="pedestrian"> 
    1003                 <line class="highway-core highway-pedestrian-core under-construction"/> 
    1004             </rule> 
    1005             <rule e="way" k="construction" v="cycleway"> 
    1006                 <line class="highway-core highway-cycleway-core under-construction"/> 
    1007             </rule> 
    1008             <rule e="way" k="construction" v="path"> 
    1009                 <rule e="way" k="bicycle" v="yes|designated"> 
    1010                     <line class="highway-core highway-cycleway-core under-construction"/> 
    1011             </rule> 
    1012                 <else> 
    1013                     <rule e="way" k="horse" v="yes|designated"> 
    1014                         <line class="highway-core highway-bridleway-core under-construction"/> 
    1015                 </rule> 
    1016                 <else> 
    1017                     <line class="highway-core highway-footway-core under-construction"/> 
    1018                 </else></else> 
    1019             </rule> 
    1020             <rule e="way" k="construction" v="bridleway"> 
    1021                 <line class="highway-core highway-bridleway-core under-construction"/> 
    1022             </rule> 
    1023             <rule e="way" k="construction" v="byway"> 
    1024                 <line class="highway-core highway-byway-1-core under-construction"/> 
    1025             </rule> 
    1026             <rule e="way" k="construction" v="track"> 
    1027                 <line class="highway-core highway-track-core under-construction"/> 
    1028             </rule> 
    1029             <rule e="way" k="construction" v="unsurfaced"> 
    1030                 <line class="highway-core highway-unsurfaced-core under-construction"/> 
    1031             </rule> 
    1032             <rule e="way" k="construction" v="service"> 
    1033                 <line class="highway-core highway-service-core under-construction"/> 
    1034             </rule> 
    1035             <rule e="way" k="construction" v="unclassified|residential|minor|living_street"> 
    1036                 <line class="highway-core highway-unclassified-core under-construction"/> 
    1037             </rule> 
    1038             <rule e="way" k="construction" v="road"> 
    1039                 <line class="highway-core highway-road-core under-construction"/> 
    1040             </rule> 
    1041             <rule e="way" k="construction" v="tertiary"> 
    1042                 <line class="highway-core highway-tertiary-core under-construction"/> 
    1043             </rule> 
    1044             <rule e="way" k="construction" v="secondary"> 
    1045                 <line class="highway-core highway-secondary-core under-construction"/> 
    1046             </rule> 
    1047             <rule e="way" k="construction" v="primary_link"> 
    1048                 <line class="highway-core highway-primary-link-core under-construction"/> 
    1049             </rule> 
    1050             <rule e="way" k="construction" v="trunk_link"> 
    1051                 <line class="highway-core highway-trunk-link-core under-construction"/> 
    1052             </rule> 
    1053             <rule e="way" k="construction" v="motorway_link"> 
    1054                 <line class="highway-core highway-motorway-link-core under-construction"/> 
    1055             </rule> 
    1056             <rule e="way" k="construction" v="primary"> 
    1057                 <line class="highway-core highway-primary-core under-construction"/> 
    1058             </rule> 
    1059             <rule e="way" k="construction" v="trunk"> 
    1060                 <line class="highway-core highway-trunk-core under-construction"/> 
    1061             </rule> 
    1062             <rule e="way" k="construction" v="motorway"> 
    1063                 <line class='highway-casing highway-motorway-casing' mask-class='highway-motorway-core under-construction' smart-linecap='no'/> 
    1064                 <line class='highway-core highway-motorway-core' mask-class='under-construction' smart-linecap='no'/> 
    1065             </rule> 
    1066         </rule> 
    1067         <rule e="way" k="railway" v="construction"> 
    1068             <rule e="way" k="construction" v="monorail"> 
    1069                 <line class="railway-core railway-monorail-core under-construction"/> 
    1070             </rule> 
    1071             <rule e="way" k="construction" v="preserved"> 
    1072                 <line class="railway-core railway-preserved-core under-construction"/> 
    1073             </rule> 
    1074             <rule e="way" k="construction" v="narrow_gauge"> 
    1075                 <line class="railway-core railway-narrow-gauge-core under-construction"/> 
    1076             </rule> 
    1077             <rule e="way" k="construction" v="tram"> 
    1078                 <line class="railway-core railway-tram-core under-construction"/> 
    1079             </rule> 
    1080             <rule e="way" k="construction" v="subway"> 
    1081                 <line class="railway-core railway-subway-core under-construction"/> 
    1082             </rule> 
    1083             <rule e="way" k="construction" v="light_rail|incline"> 
    1084                 <line class="railway-core railway-light-rail-core under-construction"/> 
    1085             </rule> 
    1086             <rule e="way" k="construction" v="rail"> 
    1087                 <line class="railway-core railway-rail-1-core under-construction"/> 
    1088             </rule> 
    1089         </rule> 
    1090  
    1091         <!-- access restrictions --> 
    1092         <rule e="way" k="highway" v="*"> 
    1093             <rule e="way" k="area" v="yes|true"> 
    1094                 <rule e="way" k="access" v="private"> 
    1095                     <area class="access-private-area"/> 
    1096                 </rule> 
    1097                 <rule e="way" k="access" v="permissive"> 
    1098                     <area class="access-permissive-area"/> 
    1099                 </rule> 
    1100                 <rule e="way" k="access" v="destination"> 
    1101                     <area class="access-destination-area"/> 
    1102                 </rule> 
    1103                 <rule e="way" k="access" v="no"> 
    1104                     <area class="access-no-area"/> 
    1105                 </rule> 
    1106             </rule> 
    1107             <else> 
    1108                 <rule e="way" k="highway" v="footway|footpath|cycleway|path|bridleway|byway|unsurfaced"> 
    1109                     <rule e="way" k="access" v="private"> 
    1110                         <line class="access-private-line" smart-linecap="no"/> 
    1111                     </rule> 
    1112                     <rule e="way" k="access" v="permissive"> 
    1113                         <line class="access-permissive-line" smart-linecap="no"/> 
    1114                     </rule> 
    1115                     <rule e="way" k="access" v="destination"> 
    1116                         <line class="access-destination-line" smart-linecap="no"/> 
    1117                     </rule> 
    1118                     <rule e="way" k="access" v="no"> 
    1119                         <line class="access-no-line" smart-linecap="no"/> 
    1120                     </rule> 
    1121                 </rule> 
    1122                 <else> 
    1123                     <rule e="way" k="highway" v="track"> 
    1124                         <rule e="way" k="tracktype" v="grade3|grade4|grade5"> 
    1125                             <rule e="way" k="access" v="private"> 
    1126                                 <line class="access-private-line" smart-linecap="no"/> 
    1127                             </rule> 
    1128                             <rule e="way" k="access" v="permissive"> 
    1129                                 <line class="access-permissive-line" smart-linecap="no"/> 
    1130                             </rule> 
    1131                             <rule e="way" k="access" v="destination"> 
    1132                                 <line class="access-destination-line" smart-linecap="no"/> 
    1133                             </rule> 
    1134                             <rule e="way" k="access" v="no"> 
    1135                                 <line class="access-no-line" smart-linecap="no"/> 
    1136                             </rule> 
    1137                         </rule> 
    1138                         <else> 
    1139                             <rule e="way" k="access" v="private"> 
    1140                                 <line class="access-private-line"/> 
    1141                             </rule> 
    1142                             <rule e="way" k="access" v="permissive"> 
    1143                                 <line class="access-permissive-line"/> 
    1144                             </rule> 
    1145                             <rule e="way" k="access" v="destination"> 
    1146                                 <line class="access-destination-line"/> 
    1147                             </rule> 
    1148                             <rule e="way" k="access" v="no"> 
    1149                                 <line class="access-no-line"/> 
    1150                             </rule> 
    1151                         </else> 
    1152                     </rule> 
    1153                     <else> 
    1154                         <rule e="way" k="access" v="private"> 
    1155                             <line class="access-private-line"/> 
    1156                         </rule> 
    1157                         <rule e="way" k="access" v="permissive"> 
    1158                             <line class="access-permissive-line"/> 
    1159                         </rule> 
    1160                         <rule e="way" k="access" v="destination"> 
    1161                             <line class="access-destination-line"/> 
    1162                         </rule> 
    1163                         <rule e="way" k="access" v="no"> 
    1164                             <line class="access-no-line"/> 
    1165                         </rule> 
    1166                     </else> 
    1167                 </else> 
    1168             </else> 
    1169         </rule> 
    1170  
    1171         <!-- Mini-roundabouts --> 
    1172         <rule e="node" k="highway" v="mini_roundabout"> 
    1173             <rule e="node" k="direction" v="clockwise"> 
    1174                 <symbol ref="roundabout_left" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1175             </rule> 
    1176             <else> 
    1177                 <!-- Default is anti-clockwise --> 
    1178                 <symbol ref="roundabout_right" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1179             </else> 
    1180         </rule> 
    1181  
    1182         <!-- Oneway markers --> 
    1183         <rule e="way" k="tunnel" v="~|false|no"> 
    1184             <rule e="way" k="area" v="~|false|no"> 
    1185                 <rule e="way" k="highway" v="*"> 
    1186                     <rule e="way" k="oneway" v="1|yes|true"> 
    1187                         <line class="oneway-casing oneway-casing-1" smart-linecap="no"/> 
    1188                         <line class="oneway-casing oneway-casing-2" smart-linecap="no"/> 
    1189                         <line class="oneway-casing oneway-casing-3" smart-linecap="no"/> 
    1190                         <line class="oneway-casing oneway-casing-4" smart-linecap="no"/> 
    1191                         <line class="oneway-casing oneway-casing-5" smart-linecap="no"/> 
    1192                         <line class="oneway-casing oneway-casing-6" smart-linecap="no"/> 
    1193                         <line class="oneway-casing oneway-casing-7" smart-linecap="no"/> 
    1194                         <line class="oneway-casing oneway-casing-8" smart-linecap="no"/> 
    1195                         <line class="oneway-core oneway-core-1" smart-linecap="no"/> 
    1196                         <line class="oneway-core oneway-core-2" smart-linecap="no"/> 
    1197                         <line class="oneway-core oneway-core-3" smart-linecap="no"/> 
    1198                         <line class="oneway-core oneway-core-4" smart-linecap="no"/> 
    1199                         <line class="oneway-core oneway-core-5" smart-linecap="no"/> 
    1200                         <line class="oneway-core oneway-core-6" smart-linecap="no"/> 
    1201                         <line class="oneway-core oneway-core-7" smart-linecap="no"/> 
    1202                     </rule> 
    1203                     <rule e="way" k="oneway" v="-1"> 
    1204                         <line class="otherway"/> 
    1205                     </rule> 
    1206                 </rule> 
    1207                 <!-- Motorway implies oneway-ness --> 
    1208                 <rule e="way" k="highway" v="motorway|motorway_link"> 
    1209                     <line class="oneway-casing oneway-casing-1" smart-linecap="no"/> 
    1210                     <line class="oneway-casing oneway-casing-2" smart-linecap="no"/> 
    1211                     <line class="oneway-casing oneway-casing-3" smart-linecap="no"/> 
    1212                     <line class="oneway-casing oneway-casing-4" smart-linecap="no"/> 
    1213                     <line class="oneway-casing oneway-casing-5" smart-linecap="no"/> 
    1214                     <line class="oneway-casing oneway-casing-6" smart-linecap="no"/> 
    1215                     <line class="oneway-casing oneway-casing-7" smart-linecap="no"/> 
    1216                     <line class="oneway-casing oneway-casing-8" smart-linecap="no"/> 
    1217                     <line class="oneway-core oneway-core-1" smart-linecap="no"/> 
    1218                     <line class="oneway-core oneway-core-2" smart-linecap="no"/> 
    1219                     <line class="oneway-core oneway-core-3" smart-linecap="no"/> 
    1220                     <line class="oneway-core oneway-core-4" smart-linecap="no"/> 
    1221                     <line class="oneway-core oneway-core-5" smart-linecap="no"/> 
    1222                     <line class="oneway-core oneway-core-6" smart-linecap="no"/> 
    1223                     <line class="oneway-core oneway-core-7" smart-linecap="no"/> 
    1224                 </rule> 
    1225                 <!-- Roundabouts are oneway in the direction of the segments --> 
    1226                 <rule e="way" k="junction" v="roundabout"> 
    1227                     <line class="oneway-casing oneway-casing-1" smart-linecap="no"/> 
    1228                     <line class="oneway-casing oneway-casing-2" smart-linecap="no"/> 
    1229                     <line class="oneway-casing oneway-casing-3" smart-linecap="no"/> 
    1230                     <line class="oneway-casing oneway-casing-4" smart-linecap="no"/> 
    1231                     <line class="oneway-casing oneway-casing-5" smart-linecap="no"/> 
    1232                     <line class="oneway-casing oneway-casing-6" smart-linecap="no"/> 
    1233                     <line class="oneway-casing oneway-casing-7" smart-linecap="no"/> 
    1234                     <line class="oneway-casing oneway-casing-8" smart-linecap="no"/> 
    1235                     <line class="oneway-core oneway-core-1" smart-linecap="no"/> 
    1236                     <line class="oneway-core oneway-core-2" smart-linecap="no"/> 
    1237                     <line class="oneway-core oneway-core-3" smart-linecap="no"/> 
    1238                     <line class="oneway-core oneway-core-4" smart-linecap="no"/> 
    1239                     <line class="oneway-core oneway-core-5" smart-linecap="no"/> 
    1240                     <line class="oneway-core oneway-core-6" smart-linecap="no"/> 
    1241                     <line class="oneway-core oneway-core-7" smart-linecap="no"/> 
    1242                 </rule> 
    1243             </rule> 
    1244         </rule> 
    1245          
    1246         <!-- SAC scale for paths and footways --> 
    1247         <rule e="way" k="highway" v="path|footway"> 
    1248             <rule e="way" k="sac_scale" v="hiking|t1|T1"> 
    1249                 <line class="sac-scale-t1" smart-linecap="no"/> 
    1250             </rule> 
    1251             <rule e="way" k="sac_scale" v="mountain_hiking|t2|T2"> 
    1252                 <line class="sac-scale-t2" smart-linecap="no"/> 
    1253             </rule> 
    1254             <rule e="way" k="sac_scale" v="demanding_mountain_hiking|t3|T3"> 
    1255                 <line class="sac-scale-t3" smart-linecap="no"/> 
    1256             </rule> 
    1257             <rule e="way" k="sac_scale" v="alpine_hiking|t4|T4"> 
    1258                 <line class="sac-scale-t4" smart-linecap="no"/> 
    1259             </rule> 
    1260             <rule e="way" k="sac_scale" v="demanding_alpine_hiking|t5|T5"> 
    1261                 <line class="sac-scale-t5" smart-linecap="no"/> 
    1262             </rule> 
    1263             <rule e="way" k="sac_scale" v="difficult_alpine_hiking|t6|T6"> 
    1264                 <line class="sac-scale-t6" smart-linecap="no"/> 
    1265             </rule>             
    1266         </rule> 
    1267  
    1268         <!-- Piste maps --> 
    1269         <rule e="way" k="piste:type" v="downhill"> 
    1270             <rule e="way" k="piste:difficulty" v="novice"> 
    1271                 <line class="piste-core piste-difficulty-novice" smart-linecap="no"/> 
    1272             </rule> 
    1273             <rule e="way" k="piste:difficulty" v="easy"> 
    1274                 <line class="piste-core piste-difficulty-easy" smart-linecap="no"/> 
    1275             </rule> 
    1276             <rule e="way" k="piste:difficulty" v="intermediate"> 
    1277                 <line class="piste-core piste-difficulty-intermediate" smart-linecap="no"/> 
    1278             </rule> 
    1279             <rule e="way" k="piste:difficulty" v="advanced"> 
    1280                 <line class="piste-core piste-difficulty-advanced" smart-linecap="no"/> 
    1281             </rule> 
    1282             <rule e="way" k="piste:difficulty" v="expert"> 
    1283                 <line class="piste-core piste-difficulty-expert" smart-linecap="no"/> 
    1284             </rule> 
    1285             <rule e="way" k="piste:difficulty" v="freeride"> 
    1286                 <line class="piste-core piste-difficulty-freeride" smart-linecap="no"/> 
    1287             </rule> 
    1288             <rule e="way" k="piste:difficulty" v="~"> 
    1289                 <line class="piste-core piste-difficulty-other" smart-linecap="no"/> 
    1290             </rule> 
    1291             <rule e="way" k="name|ref" v="*"> 
    1292                 <!-- prefer to render name, otherwise render ref --> 
    1293                 <!-- text is rendered at 75%, refs at 25%, aerialway name at 50% --> 
    1294                 <rule e="way" k="name" v="~"> 
    1295                     <rule e="way" k="ref" v="*"> 
    1296                         <text k="ref" dy="2px" class="piste-downhill-ref" text-anchor="middle" startOffset="75%"/> 
    1297                     </rule> 
    1298                 </rule> 
    1299                 <else> 
    1300                     <rule e="way" k="ref" v="*"> 
    1301                         <text k="ref" dy="2px" class="piste-downhill-ref" text-anchor="middle" startOffset="75%"/> 
    1302                     </rule> 
    1303                     <rule e="way" k="name" v="*"> 
    1304                         <text k="name" dy="2px" class="piste-downhill-name" text-anchor="middle" startOffset="75%"/> 
    1305                     </rule> 
    1306                 </else> 
    1307             </rule> 
    1308         </rule> 
    1309         <rule e="way" k="piste:type" v="sled"> 
    1310             <line class="piste-type-sled"/> 
    1311         </rule> 
    1312         <rule e="way" k="piste:type" v="nordic"> 
    1313             <line class="piste-type-nordic"/> 
    1314         </rule> 
    1315         <rule e="way" k="man_made" v="piste:halfpipe"> 
    1316             <area class="man-made-piste-halfpipe"/> 
    1317             <areaSymbol ref="man-made-halfpipe" width="3px" height="3px" transform="translate(-1.5,-1.5)"/> 
    1318         </rule> 
    1319  
    1320         <!-- Surface lifts (render over pistes) --> 
    1321         <rule e="way" k="piste:lift" v="*"> 
    1322             <rule e="way" k="piste:lift" v="t-bar|j-bar|platter"> 
    1323                 <line class="aerialway-line piste-lift-t-bar-marker"/> 
    1324                 <line smart-linecap="no" class="aerialway-struts no-bezier"/> 
    1325             </rule> 
    1326             <rule e="way" k="piste:lift" v="rope_tow"> 
    1327                 <line smart-linecap="no" class="piste-lift-rope-tow no-bezier"/> 
    1328             </rule> 
    1329             <rule e="way" k="piste:lift" v="magic_carpet"> 
    1330                 <line smart-linecap="no" class="piste-lift-magic-carpet no-bezier"/> 
    1331             </rule> 
    1332             <rule e="way" k="name" v="*"> 
    1333                 <text k="name" dx="0px" dy="-3px" class="aerialway-name" text-anchor="middle" startOffset="50%"/> 
    1334             </rule> 
    1335         </rule> 
    1336  
    1337         <!-- Aerialways (render over pistes) --> 
    1338         <rule e="node|way" k="aerialway" v="*"> 
    1339             <rule e="way" k="aerialway" v="cable_car"> 
    1340                 <line class="aerialway-line aerialway-cablecar-marker no-bezier" smart-linecap="no"/> 
    1341             </rule> 
    1342             <else> 
    1343                 <rule e="way" k="aerialway" v="gondola"> 
    1344                     <line class="aerialway-line aerialway-gondola-marker no-bezier" smart-linecap="no"/> 
    1345                 </rule> 
    1346                 <else> 
    1347                     <rule e="way" k="aerialway" v="chair_lift"> 
    1348                         <rule e="way" k="piste:lift:occupancy" v="4|5|6"> 
    1349                             <line class="aerialway-line aerialway-chairlift4-marker no-bezier" smart-linecap="no"/> 
    1350                         </rule> 
    1351                         <else> 
    1352                             <line class="aerialway-line aerialway-chairlift2-marker no-bezier" smart-linecap="no"/> 
    1353                         </else> 
    1354                     </rule> 
    1355                     <else> 
    1356                         <rule e="way" k="aerialway" v="mixed_lift"> 
    1357                             <line class="aerialway-line aerialway-mixedlift-marker no-bezier" smart-linecap="no"/> 
    1358                         </rule> 
    1359                         <else> 
    1360                             <rule e="way" k="aerialway" v="*"> 
    1361                                 <line class="aerialway-line no-bezier" smart-linecap="no"/> 
    1362                             </rule> 
    1363                         </else> 
    1364                     </else> 
    1365                 </else> 
    1366             </else> 
    1367             <line smart-linecap="no" class="aerialway-struts no-bezier"/> 
    1368             <rule e="node" k="aerialway" v="station"> 
    1369                 <circle r="0.75px" class="aerialway-station"/> 
    1370             </rule> 
    1371             <rule e="node" s="way" k="aerialway" v="*"> 
    1372                 <rule e="node" k="ele" v="*"> 
    1373                     <text k="ele" dx="0px" dy="-2.5px" class="aerialway-elevation-text"/> 
    1374                 </rule> 
    1375             </rule> 
    1376             <rule e="way" k="name" v="*"> 
    1377                 <text k="name" dx="0px" dy="-3px" class="aerialway-name" text-anchor="middle" startOffset="50%"/> 
    1378             </rule> 
    1379         </rule> 
    1380  
    1381         <!-- Natural features --> 
    1382         <rule e="node" k="natural" v="peak"> 
    1383             <symbol ref="peak" width="2px" height="2px" transform="translate(-1,-1.2)"/> 
    1384         </rule> 
    1385  
    1386         <!-- Draw marine features --> 
    1387         <rule e="way" k="man_made" v="pier"> 
    1388             <line class="artificial-pier-casing"/> 
    1389         </rule> 
    1390         <rule e="way" k="man_made" v="pier"> 
    1391             <line class="artificial-pier-core"/> 
    1392         </rule> 
    1393  
    1394         <!-- Power lines and pylons --> 
    1395         <rule e="node" k="power" v="tower"> 
    1396             <symbol ref="power-tower" width="1px" height="1px" transform="translate(-.5,-.5)"/> 
    1397         </rule> 
    1398         <rule e="way" k="power" v="line"> 
    1399             <line class="power-line no-bezier" smart-linecap="no"/> 
    1400         </rule> 
    1401  
    1402         <!-- Non-physical routes --> 
    1403         <rule e="way" k="route" v="ferry"> 
    1404             <line class="route-ferry"/> 
    1405         </rule> 
    1406  
    1407         <!-- Tourist features --> 
    1408         <rule e="node" k="tourism" v="hotel"> 
    1409             <symbol ref="hotel" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1410         </rule> 
    1411         <rule e="node" k="tourism" v="hostel"> 
    1412             <symbol ref="hostel" width="3px" height="3px" transform="translate(-1.5,-1.5)"/> 
    1413         </rule> 
    1414         <rule e="node" k="tourism" v="camp_site"> 
    1415             <symbol ref="campSite" width="2px" height="2px" transform="translate(-1,-1.3)"/> 
    1416         </rule> 
    1417         <rule e="node" k="tourism" v="information"> 
    1418             <symbol ref="information" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1419         </rule> 
    1420  
    1421         <!-- Railway stations --> 
    1422         <rule e="node" k="railway" v="station"> 
    1423             <rule e="node" s="way" k="railway" v="rail"> 
    1424                 <circle r="0.7" class="railway-station"/> 
    1425             </rule> 
    1426             <else> 
    1427                 <circle r="0.4" class="railway-halt"/> 
    1428             </else> 
    1429         </rule> 
    1430         <rule e="node" k="railway" v="halt"> 
    1431             <circle r="0.4" class="railway-halt"/> 
    1432         </rule> 
    1433  
    1434         <!-- tram stops --> 
    1435         <rule e="node" k="railway" v="tram_stop"> 
    1436             <circle r="0.4" class="railway-halt"/> 
    1437         </rule> 
    1438  
    1439         <!-- Level crossings --> 
    1440         <!-- For everything, except trams, if it shares a node with a road then render a railroad crossing symbol.  --> 
    1441         <rule e="node" s="way" k="railway" v="rail|light_rail|subway|narrow_gauge|preserved|monorail"> 
    1442             <rule e="node" s="way" k="railway" v="rail"> 
    1443                 <rule e="node" s="way" k="highway" v="motorway|trunk|primary|secondary|tertiary|minor|unclassified|residential|service|unsurfaced|track|living_street|road|cycleway|path|footway"> 
    1444                     <symbol ref="railway-crossing" width="3.5px" height="3.5px" transform="translate(-1.75,-1.75)"/> 
    1445                 </rule> 
    1446             </rule> 
    1447             <else> 
    1448                 <rule e="node" s="way" k="highway" v="motorway|trunk|primary|secondary|tertiary|minor|unclassified|residential|service|unsurfaced|track|living_street|road|cycleway|path|footway"> 
    1449                     <symbol ref="railway-crossing" width="3px" height="3px" transform="translate(-1.5,-1.5)"/> 
    1450                 </rule> 
    1451             </else> 
    1452         </rule> 
    1453         <!-- If tagged explicitly --> 
    1454         <else> 
    1455             <rule e="node" k="railway" v="level_crossing"> 
    1456                 <rule e="node" s="way" k="railway" v="rail"> 
    1457                     <symbol ref="railway-crossing" width="3.5px" height="3.5px" transform="translate(-1.75,-1.75)"/> 
    1458                 </rule> 
    1459                 <else> 
    1460                     <symbol ref="railway-crossing" width="3px" height="3px" transform="translate(-1.5,-1.5)"/> 
    1461                 </else> 
    1462             </rule> 
    1463         </else> 
    1464  
    1465         <!-- Gates --> 
    1466         <rule e="node" k="barrier|highway" v="gate"> 
    1467             <rule e="node" k="status" v="open"> 
    1468                 <wayMarker k="highway" class="gate-open"/> 
    1469             </rule> 
    1470             <else> 
    1471                 <rule e="node" k="status" v="locked"> 
    1472                     <wayMarker k="highway" class="gate-locked"/> 
    1473                 </rule> 
    1474                 <else> 
    1475                     <wayMarker k="highway" class="gate-closed"/> 
    1476                 </else> 
    1477             </else> 
    1478         </rule> 
    1479         <rule e="node" k="highway" v="stile"> 
    1480             <wayMarker k="highway" fill="none" stroke="red" stroke-width="1px" stroke-opacity="0" marker-mid="url(#marker-stile)"/> 
    1481         </rule> 
    1482         <rule e="node" k="highway|barrier" v="bollard"> 
    1483             <circle r='0.2px' class='bollard' /> 
    1484         </rule> 
    1485  
    1486         <!-- Bus stops --> 
    1487         <rule e="node" k="highway" v="bus_stop"> 
    1488             <symbol ref="bus" width="3px" height="3px" transform="translate(-1.5,-1.5)"/> 
    1489         </rule> 
    1490  
    1491         <!-- highway motorway_junctions --> 
    1492         <rule e="node" k="highway" v="motorway_junction"> 
    1493             <circle r="1.825" class="highway-motorway-junction"/> 
    1494             <text k="name" class="highway-motorway-junction-caption" dy="-2.3px"/> 
    1495             <text k="ref" class="highway-motorway-junction-caption" dy="0.7px"/> 
    1496         </rule> 
    1497  
    1498         <!-- Amenities --> 
    1499         <rule e="node" k="aeroway" v="helipad"> 
    1500             <symbol ref="helipad" width="4px" height="4px" transform="translate(-2,-2)"/> 
    1501         </rule> 
    1502         <rule e="node" k="amenity" v="hospital"> 
    1503             <symbol ref="hospital" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1504         </rule> 
    1505         <rule e="node" k="amenity" v="doctors"> 
    1506             <symbol ref="doctor" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1507         </rule> 
    1508         <rule e="node" k="amenity" v="pharmacy"> 
    1509             <symbol ref="pharmacy" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1510         </rule> 
    1511         <rule e="node" k="amenity" v="post_office"> 
    1512             <symbol ref="postoffice" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1513         </rule> 
    1514         <rule e="node" k="amenity" v="post_box"> 
    1515             <symbol ref="postbox" width="1.5px" height="1.5px" transform="translate(-0.75,-0.75)"/> 
    1516         </rule> 
    1517         <rule e="node" k="amenity" v="speed_trap"> 
    1518             <symbol ref="speed_trap" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1519         </rule> 
    1520         <rule e="node" k="amenity" v="pub"> 
    1521             <symbol ref="pub" width="1.5px" height="1.5px" transform="translate(-0.75,-0.75)"/> 
    1522         </rule> 
    1523         <rule e="node" k="amenity" v="restaurant"> 
    1524             <symbol ref="restaurant" width="1.5px" height="1.5px" transform="translate(-0.75,-0.75)"/> 
    1525         </rule> 
    1526         <rule e="node" k="amenity" v="cinema"> 
    1527             <symbol ref="cinema" width="2.5px" height="2.5px" transform="translate(-1.25,-1.25)"/> 
    1528         </rule> 
    1529         <rule e="node" k="amenity" v="theatre"> 
    1530             <symbol ref="theatre" width="2.5px" height="2.5px" transform="translate(-1.25,-1.25)"/> 
    1531         </rule> 
    1532         <rule e="node" k="man_made" v="windmill"> 
    1533             <symbol ref="windmill" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1534         </rule> 
    1535         <rule e="node" k="amenity" v="place_of_worship"> 
    1536             <rule e="node" k="denomination|religion" v="jewish"> 
    1537                 <symbol ref="synagogue" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1538             </rule> 
    1539             <else> 
    1540                 <rule e="node" k="denomination|religion" v="muslim|moslem"> 
    1541                     <symbol ref="mosque" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1542                 </rule> 
    1543                 <else> 
    1544                     <rule e="node" k="denomination|religion" v="christian"> 
    1545                         <symbol ref="church" width="2px" height="2px" transform="translate(-1,-1.2)"/> 
    1546                     </rule> 
    1547                     <else> 
    1548                         <rule e="node" k="denomination|religion" v="sikhism|sikh"> 
    1549                             <symbol ref="khanda" width="2.4px" height="2.4px" transform="translate(-1.2, -1.2)"/> 
    1550                         </rule> 
    1551                         <else> 
    1552                             <symbol ref="peak" width="2px" height="2px" transform="translate(-1,-1.2)"/> 
    1553                         </else> 
    1554                     </else> 
    1555                 </else> 
    1556             </else> 
    1557         </rule> 
    1558         <rule e="node" k="amenity" v="parking"> 
    1559             <symbol ref="parking" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1560         </rule> 
    1561         <rule e="way" k="amenity" v="parking"> 
    1562             <rule e="way" k="access" v="~|yes|public"> 
    1563                 <areaSymbol ref="parking" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1564             </rule> 
    1565         </rule> 
    1566         <rule e="node" k="highway" v="traffic_signals"> 
    1567             <symbol ref="traffic_signal" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1568         </rule> 
    1569         <rule e="node" k="amenity" v="school"> 
    1570             <symbol ref="school" width='2px' height='2px' transform='translate(-1,-1)'/> 
    1571         </rule> 
    1572         <rule e="way" k="amenity" v="school"> 
    1573             <areaSymbol ref="school" width='2px' height='2px' transform='translate(-1,-1)'/> 
    1574         </rule> 
    1575         <rule e="node" k="amenity" v="university|college"> 
    1576             <symbol ref="university" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1577         </rule> 
    1578         <rule e="way" k="amenity" v="university|college"> 
    1579             <areaSymbol ref="university" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1580         </rule> 
    1581         <rule e="node" k="amenity|shop" v="supermarket"> 
    1582             <symbol ref="supermarket" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1583         </rule> 
    1584         <rule e="way" k="amenity|shop" v="supermarket"> 
    1585             <areaSymbol ref="supermarket" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1586         </rule> 
    1587         <rule e="node" k="amenity" v="shelter"> 
    1588             <rule e="node" k="fireplace" v="yes"> 
    1589                 <symbol ref="shelter-fireplace" width="4px" height="4px" transform="translate(-2,-2.6)"/> 
    1590             </rule> 
    1591             <else> 
    1592                 <symbol ref="shelter" width="4px" height="4px" transform="translate(-2,-2.6)"/> 
    1593             </else> 
    1594         </rule> 
    1595         <rule e="node" k="amenity" v="library"> 
    1596             <symbol ref="library" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1597         </rule> 
    1598         <rule e="node" k="amenity" v="fuel"> 
    1599             <symbol ref="petrolStation" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1600         </rule> 
    1601         <rule e="node" k="amenity" v="recycling"> 
    1602             <symbol ref="recycling" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1603         </rule> 
    1604         <rule e="node" k="amenity" v="toilets"> 
    1605             <symbol ref="toilets" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1606         </rule> 
    1607         <rule e="node" k="amenity" v="drinking_water"> 
    1608             <symbol ref="drinking_water" width="2px" height="2px" transform="translate(-1,-1)"/> 
    1609         </rule> 
    1610         <rule e="node" k="amenity" v="bank"> 
    1611             <symbol ref="bank" width="2px" height="2px" transform="translate(-1,-1.2)"/> 
    1612         </rule> 
    1613  
    1614         <!-- Leisure symbols --> 
    1615         <rule e="node" k="leisure" v="golf_course"> 
    1616             <symbol ref="golfCourse" width="5px" height="5px" transform="translate(-2.5,-2.5)"/> 
    1617         </rule> 
    1618         <rule e="node" k="leisure" v="slipway"> 
    1619             <symbol ref="slipway" width="4px" height="4px" transform="translate(-2,-2.7)"/> 
    1620         </rule> 
    1621  
    1622         <!-- Sport symbols --> 
    1623         <rule e="node" k="sport" v="soccer"> 
    1624             <symbol ref="soccer" width="4px" height="4px" transform="translate(-2, -2)"/> 
    1625         </rule> 
    1626         <rule e="way" k="sport" v="soccer"> 
    1627             <areaSymbol ref="soccer-borderless" width="5px" height="5px" transform="translate(-2.5, -2.5)"/> 
    1628         </rule> 
    1629         <rule e="node" k="sport" v="tennis"> 
    1630             <symbol ref="tennis" width="4px" height="4px" transform="translate(-2, -2)"/> 
    1631         </rule> 
    1632         <rule e="way" k="sport" v="tennis"> 
    1633             <areaSymbol ref="tennis-borderless" width="5px" height="5px" transform="translate(-2.5, -2.5)"/> 
    1634         </rule> 
    1635         <rule e="node" k="sport" v="swimming"> 
    1636             <symbol ref="swimming" width="4px" height="4px" transform="translate(-2, -2)"/> 
    1637         </rule> 
    1638         <rule e="way" k="sport" v="swimming"> 
    1639             <areaSymbol ref="swimming-borderless" width="5px" height="5px" transform="translate(-2.5, -2.5)"/> 
    1640         </rule> 
    1641  
    1642         <!-- Historic symbols --> 
    1643         <rule e="node" k="historic" v="*"> 
    1644             <rule e="node" k="historic" v="museum"> 
    1645                 <symbol ref="museum" width="2px" height="2px" transform="translate(-1,-1.3)"/> 
    1646             </rule> 
    1647             <else> 
    1648                 <circle r="0.4" class="generic-poi"/> 
    1649             </else> 
    1650         </rule> 
    1651         <rule e="node" k="man_made" v="cairn"> 
    1652             <circle r="0.4" stroke="black" stroke-width="0.1px" fill="white"/> 
    1653             <circle r="0.1" stroke="black" stroke-width="0.1px" fill="black"/> 
    1654         </rule> 
    1655     </rule> 
    1656  
    1657     <!-- ==================================== Layer -5 ======================================== --> 
    1658     <rule e="node|way" k="osmarender:render" v="~|yes" layer="-5"> 
    1659  
    1660         <!-- Landuse --> 
    1661         <rule e="way" k="landuse" v="residential|farmyard" layer="-5"> 
    1662             <area class="landuse-residential"/> 
    1663         </rule> 
    1664         <rule e="way" k="landuse" v="retail" layer="-5"> 
    1665             <area class="landuse-retail"/> 
    1666         </rule> 
    1667         <rule e="way" k="landuse" v="industrial|brownfield" layer="-5"> 
    1668             <area class="landuse-industrial"/> 
    1669         </rule> 
    1670         <rule e="way" k="landuse" v="commercial" layer="-5"> 
    1671             <area class="landuse-commercial"/> 
    1672         </rule> 
    1673  
    1674         <!-- Artificial landuse --> 
    1675         <rule e="way" k="amenity" v="school|college|university" layer="-5"> 
    1676             <area class="amenity-school"/> 
    1677         </rule> 
    1678  
    1679         <!-- Man-made areas --> 
    1680         <rule e="way" k="landuse" v="military" layer="-5"> 
    1681             <rule e="way" k="military" v="~" layer="-5"> 
    1682                 <area class="military-area"/> 
    1683             </rule> 
    1684         </rule> 
    1685         <rule e="way" k="military" v="*" layer="-5"> 
    1686             <area class="military-area"/> 
    1687         </rule> 
    1688  
    1689     </rule> 
    1690  
    1691     <!-- ==================================== Layer 5 ======================================== --> 
    1692     <rule e="node|way" k="osmarender:render" v="~|yes" layer="5"> 
    1693  
    1694         <!-- Non-physical boundaries --> 
    1695         <rule e="way" k="boundary" v="administrative" layer="5"> 
    1696             <rule e="way" k="border_type" v="state" layer="5"> 
    1697                 <line class="boundary boundary-administrative-state-casing"/> 
    1698                 <line class="boundary boundary-administrative-state-core"/> 
    1699             </rule> 
    1700             <else> 
    1701                 <rule e="way" k="admin_level" v="10" layer="5"> 
    1702                     <line class="boundary boundary-administrative-parish-core"/> 
    1703                 </rule> 
    1704                 <else> 
    1705                     <rule e="way" k="admin_level" v="8" layer="5"> 
    1706                         <line class="boundary boundary-administrative-district-core"/> 
    1707                     </rule> 
    1708                     <else> 
    1709                         <line class="boundary boundary-administrative-state-core"/> 
    1710                     </else> 
    1711                 </else> 
    1712             </else> 
    1713         </rule> 
    1714  
    1715         <!-- Waterway and Street names --> 
    1716         <rule e="way" k="osmarender:renderName" v="~|yes" layer="5"> 
    1717             <rule e="way" k="tunnel" v="~|no|false" layer="5"> <!-- no names in tunnels --> 
    1718                 <rule e="way" k="area" v="~|no|false" layer="5"> <!-- area names are done elsewhere --> 
    1719                     <rule e="way" k="junction" v="~" layer="5"> <!-- no names on or along junctions --> 
    1720  
    1721                         <!-- Waterway names --> 
    1722                         <rule e="way" k="waterway" v="drain" layer="5"> 
    1723                             <text k="name" startOffset="50%" class="waterway-name-casing waterway-drain-name-casing" dy="0.5px"/> 
    1724                             <text k="name" startOffset="50%" class="waterway-name-core waterway-drain-name-core" dy="0.5px"/> 
    1725                         </rule> 
    1726                         <rule e="way" k="waterway" v="canal" layer="5"> 
    1727                             <text k="name" startOffset="50%" class="waterway-name-casing waterway-canal-name-casing" dy="0.5px"/> 
    1728                             <text k="name" startOffset="50%" class="waterway-name-core waterway-canal-name-core" dy="0.5px"/> 
    1729                         </rule> 
    1730                         <rule e="way" k="waterway" v="stream" layer="5"> 
    1731                             <text k="name" startOffset="50%" class="waterway-name-casing waterway-stream-name-casing" dy="0.5px"/> 
    1732                             <text k="name" startOffset="50%" class="waterway-name-core waterway-stream-name-core" dy="0.5px"/> 
    1733                         </rule> 
    1734                         <rule e="way" k="waterway" v="river" layer="5"> 
    1735                             <text k="name" startOffset="50%" class="waterway-name-casing waterway-river-name-casing" dy="0.5px"/> 
    1736                             <text k="name" startOffset="50%" class="waterway-name-core waterway-river-name-core" dy="0.5px"/> 
    1737                         </rule> 
    1738  
    1739                         <!-- Scramble names --> 
    1740                         <rule e="way" k="scramble" v="*" layer="5"> 
    1741                             <text startOffset="50%" class="caption-casing highway-scramble-name" dy="0.35px"><tag k="name"/> ( <tag k="scramble"/> )</text> 
    1742                             <text startOffset="50%" class="caption-core highway-scramble-name" dy="0.35px"><tag k="name"/> ( <tag k="scramble"/> )</text> 
    1743                         </rule> 
    1744  
    1745                         <!-- Highway names --> 
    1746                         <rule e="way" k="highway" v="steps" layer="5"> 
    1747                             <text k="name" startOffset="50%" class="highway-name highway-steps-name" dy="0.35px"/> 
    1748                         </rule> 
    1749                         <rule e="way" k="highway" v="footway|footpath" layer="5"> 
    1750                             <text k="name" startOffset="50%" class="highway-name highway-footway-name" dy="0.35px"/> 
    1751                         </rule> 
    1752                         <rule e="way" k="highway" v="pedestrian" layer="5"> 
    1753                             <text k="name" startOffset="50%" class="highway-name highway-pedestrian-name" dy="0.35px"/> 
    1754                         </rule> 
    1755                         <rule e="way" k="highway" v="cycleway" layer="5"> 
    1756                             <text k="name" startOffset="50%" class="highway-name highway-cycleway-name" dy="0.35px"/> 
    1757                         </rule> 
    1758                         <rule e="way" k="highway" v="path" layer="5"> 
    1759                             <rule e="way" k="bicycle" v="yes|designated" layer="5"> 
    1760                                 <text k="name" startOffset="50%" class="highway-name highway-cycleway-name" dy="0.35px"/> 
    1761                         </rule> 
    1762                             <else> 
    1763                                 <rule e="way" k="horse" v="yes|designated" layer="5"> 
    1764                                     <text k="name" startOffset="50%" class="highway-name highway-bridleway-name" dy="0.35px"/> 
    1765                         </rule> 
    1766                             <else> 
    1767                                 <text k="name" startOffset="50%" class="highway-name highway-footway-name" dy="0.35px"/> 
    1768                             </else></else> 
    1769                         </rule> 
    1770                         <rule e="way" k="highway" v="bridleway" layer="5"> 
    1771                             <text k="name" startOffset="50%" class="highway-name highway-bridleway-name" dy="0.35px"/> 
    1772                         </rule> 
    1773                         <rule e="way" k="highway" v="byway" layer="5"> 
    1774                             <text k="name" startOffset="50%" class="highway-name highway-byway-name" dy="0.35px"/> 
    1775                         </rule> 
    1776                         <rule e="way" k="highway" v="track" layer="5"> 
    1777                             <text k="name" startOffset="50%" class="highway-name highway-track-name" dy="0.35px"/> 
    1778                         </rule> 
    1779                         <rule e="way" k="highway" v="unsurfaced" layer="5"> 
    1780                             <text k="name" startOffset="50%" class="highway-name highway-unsurfaced-name" dy="0.35px"/> 
    1781                         </rule> 
    1782                         <rule e="way" k="highway" v="service" layer="5"> 
    1783                             <text k="name" startOffset="50%" class="highway-name highway-service-name" dy="0.35px"/> 
    1784                         </rule> 
    1785                         <rule e="way" k="highway" v="unclassified|residential|minor|living_street|road" layer="5"> 
    1786                             <text k="name" startOffset="50%" class="highway-name highway-unclassified-name" dy="0.35px"/> 
    1787                         </rule> 
    1788                         <rule e="way" k="highway" v="tertiary" layer="5"> 
    1789                             <text k="name" startOffset="50%" class="highway-name highway-tertiary-name" dy="0.5px"/> 
    1790                         </rule> 
    1791                         <rule e="way" k="highway" v="secondary" layer="5"> 
    1792                             <text k="name" startOffset="50%" class="highway-name highway-secondary-name" dy="0.5px"/> 
    1793                         </rule> 
    1794                         <rule e="way" k="highway" v="primary_link" layer="5"> 
    1795                             <text k="name" startOffset="50%" class="highway-name highway-primary-link-name" dy="0.5px"/> 
    1796                         </rule> 
    1797                         <rule e="way" k="highway" v="trunk_link" layer="5"> 
    1798                             <text k="name" startOffset="50%" class="highway-name highway-trunk-link-name" dy="0.35px"/> 
    1799                         </rule> 
    1800                         <rule e="way" k="highway" v="motorway_link" layer="5"> 
    1801                             <text k="name" startOffset="50%" class="highway-name highway-motorway-link-name" dy="0.35px"/> 
    1802                         </rule> 
    1803                         <rule e="way" k="highway" v="primary" layer="5"> 
    1804                             <text k="name" startOffset="50%" class="highway-name highway-primary-name" dy="0.5px"/> 
    1805                         </rule> 
    1806                         <rule e="way" k="highway" v="trunk" layer="5"> 
    1807                             <text k="name" startOffset="50%" class="highway-name highway-trunk-name" dy="0.35px"/> 
    1808                         </rule> 
    1809                         <rule e="way" k="highway" v="motorway" layer="5"> 
    1810                             <text k="name" startOffset="50%" class="highway-name highway-motorway-name" dy="0.35px"/> 
    1811                         </rule> 
    1812                     </rule> 
    1813  
    1814                     <rule e="way" k="junction" v="*" layer="5" notConnectedSameTag="name"> <!-- Roundabouts, motorway exits etc --> 
    1815                         <rule e="way" k="highway" v="unsurfaced|track" layer="5"> 
    1816                             <areaText k="name" startOffset="50%" class="highway-name highway-unsurfaced-name" dy="0.75px"/> 
    1817                         </rule> 
    1818                         <rule e="way" k="highway" v="pedestrian" layer="5"> 
    1819                             <areaText k="name" startOffset="50%" class="highway-name highway-pedestrian-name" dy="0.75px"/> 
    1820                         </rule> 
    1821                         <rule e="way" k="highway" v="unclassified|residential|minor|living_street|road" layer="5"> 
    1822                             <areaText k="name" startOffset="50%" class="highway-name highway-unclassified-name" dy="0.75px"/> 
    1823                         </rule> 
    1824                         <rule e="way" k="highway" v="tertiary" layer="5"> 
    1825                             <areaText k="name" startOffset="50%" class="highway-name highway-tertiary-name" dy="0.75px"/> 
    1826                         </rule> 
    1827                         <rule e="way" k="highway" v="secondary" layer="5"> 
    1828                             <areaText k="name" startOffset="50%" class="highway-name highway-secondary-name" dy="1px"/> 
    1829                         </rule> 
    1830                         <rule e="way" k="highway" v="primary|primary_link" layer="5"> 
    1831                             <areaText k="name" startOffset="50%" class="highway-name highway-primary-name" dy="1px"/> 
    1832                         </rule> 
    1833                         <rule e="way" k="highway" v="trunk|trunk_link" layer="5"> 
    1834                             <areaText k="name" startOffset="50%" class="highway-name highway-trunk-name" dy="1.5px"/> 
    1835                         </rule> 
    1836                         <rule e="way" k="highway" v="motorway|motorway_link" layer="5"> 
    1837                             <areaText k="name" startOffset="50%" class="highway-name highway-motorway-name" dy="1.5px"/> 
    1838                         </rule> 
    1839                     </rule> 
    1840                 </rule> 
    1841                 <else> <!-- area!=yes --> 
    1842                     <rule e="way" k="highway" v="*" notConnectedSameTag="name" layer="5"> 
    1843                         <areaText k="name" class="caption-casing generic-caption-casing" text-anchor="middle" startOffset="50%"/> 
    1844                         <areaText k="name" class="caption-core generic-caption-core" text-anchor="middle" startOffset="50%"/> 
    1845                     </rule> 
    1846                 </else> 
    1847             </rule> 
    1848         </rule> 
    1849  
    1850         <!-- Road numbers for all highways --> 
    1851         <rule e="way" k="osmarender:renderRef" v="~|yes" layer="5"> 
    1852             <rule e="way" k="tunnel" v="~|no|false" layer="5"> <!-- no road numbers in tunnels --> 
    1853                 <rule e="way" k="junction" v="~" layer="5"> <!-- no ref on junctions / roundabouts --> 
    1854                     <!-- Use startOffset to prevent captions from colliding on dual carriageways --> 
    1855                     <rule e="way" k="highway" v="steps" layer="5"> 
    1856                         <text k="ref" startOffset="30%" class="highway-ref highway-steps-ref" dy="-0.5px"/> 
    1857                     </rule> 
    1858                     <rule e="way" k="highway" v="footway|footpath" layer="5"> 
    1859                         <text k="ref" startOffset="30%" class="highway-ref highway-footway-ref" dy="-0.5px"/> 
    1860                     </rule> 
    1861                     <rule e="way" k="highway" v="pedestrian" layer="5"> 
    1862                         <text k="ref" startOffset="30%" class="highway-ref highway-pedestrian-ref" dy="-1px"/> 
    1863                     </rule> 
    1864                     <rule e="way" k="highway" v="cycleway" layer="5"> 
    1865                         <text k="ref" startOffset="30%" class="highway-ref highway-cycleway-ref" dy="-0.8px"/> 
    1866                         <text k="ncn_ref" startOffset="60%" class="highway-ref highway-cycleway-ref" dy="-0.8px"/> 
    1867                     </rule> 
    1868                     <rule e="way" k="highway" v="path" layer="5"> 
    1869                         <rule e="way" k="bicycle" v="yes|designated" layer="5"> 
    1870                             <text k="ref" startOffset="30%" class="highway-ref highway-cycleway-ref" dy="-0.8px"/> 
    1871                             <text k="ncn_ref" startOffset="60%" class="highway-ref highway-cycleway-ref" dy="-0.8px"/> 
    1872                         </rule> 
    1873                         <else> 
    1874                             <rule e="way" k="horse" v="yes|designated" layer="5"> 
    1875                                 <text k="ref" startOffset="30%" class="highway-ref highway-bridleway-ref" dy="-0.8px"/> 
    1876                         </rule> 
    1877                         <else> 
    1878                             <text k="ref" startOffset="30%" class="highway-ref highway-footway-ref" dy="-0.5px"/> 
    1879                         </else></else> 
    1880                     </rule> 
    1881                     <rule e="way" k="highway" v="bridleway" layer="5"> 
    1882                         <text k="ref" startOffset="30%" class="highway-ref highway-bridleway-ref" dy="-0.8px"/> 
    1883                     </rule> 
    1884                     <rule e="way" k="highway" v="byway" layer="5"> 
    1885                         <text k="ref" startOffset="30%" class="highway-ref highway-byway-ref" dy="-1px"/> 
    1886                     </rule> 
    1887                     <rule e="way" k="highway" v="track" layer="5"> 
    1888                         <text k="ref" startOffset="30%" class="highway-ref highway-track-ref" dy="-1px"/> 
    1889                     </rule> 
    1890                     <rule e="way" k="highway" v="unsurfaced" layer="5"> 
    1891                         <text k="ref" startOffset="30%" class="highway-ref highway-unsurfaced-ref" dy="-1px"/> 
    1892                     </rule> 
    1893                     <rule e="way" k="highway" v="service" layer="5"> 
    1894                         <text k="ref" startOffset="30%" class="highway-ref highway-service-ref" dy="-1px"/> 
    1895                     </rule> 
    1896                     <rule e="way" k="highway" v="unclassified|residential|minor|living_street|road" layer="5"> 
    1897                         <text k="ref" startOffset="30%" class="highway-ref highway-unclassified-ref" dy="-1.2px"/> 
    1898                     </rule> 
    1899                     <rule e="way" k="highway" v="tertiary" layer="5"> 
    1900                         <text k="ref" startOffset="30%" class="highway-ref highway-tertiary-ref" dy="-1.25px" textAttenuation="3"/> 
    1901                     </rule> 
    1902                     <rule e="way" k="highway" v="secondary" layer="5"> 
    1903                         <text k="ref" startOffset="30%" class="highway-ref highway-secondary-ref" dy="-1.25px" textAttenuation="3"/> 
    1904                     </rule> 
    1905                     <rule e="way" k="highway" v="primary" layer="5"> 
    1906                         <text k="ref" startOffset="30%" class="highway-ref highway-primary-ref" dy="-1.25px" textAttenuation="3"/> 
    1907                     </rule> 
    1908                     <rule e="way" k="highway" v="trunk" layer="5"> 
    1909                         <text k="ref" startOffset="30%" class="highway-ref highway-trunk-ref" dy="-1.25px" textAttenuation="3"/> 
    1910                     </rule> 
    1911                     <rule e="way" k="highway" v="motorway" layer="5"> 
    1912                         <text k="ref" startOffset="30%" class="highway-ref highway-motorway-ref" dy="-1.50px" textAttenuation="3"/> 
    1913                     </rule> 
    1914                 </rule> 
    1915             </rule> 
    1916         </rule> 
    1917  
    1918         <!-- Place names  --> 
    1919         <rule e="node" k="osmarender:renderName" v="~|yes" layer="5"> 
    1920             <rule e="node" k="natural" v="peak" layer="5"> 
    1921                 <text k="name" class="place-caption peak-caption" dy="-1.5px"/> 
    1922                 <text k="elevation" class="place-caption" font-size="1px" dy="2.0px"/> 
    1923             </rule> 
    1924  
    1925             <rule e="node" k="place" v="islet" layer="5"> 
    1926                 <text k="name" class="place-caption islet-caption"/> 
    1927             </rule> 
    1928             <rule e="node" k="place" v="village" layer="5"> 
    1929                 <text k="name" class="place-caption village-caption"/> 
    1930             </rule> 
    1931             <rule e="node" k="place" v="suburb" layer="5"> 
    1932                 <text k="name" class="place-caption suburb-caption"/> 
    1933             </rule> 
    1934             <rule e="node" k="place" v="hamlet" layer="5"> 
    1935                 <text k="name" class="place-caption hamlet-caption"/> 
    1936             </rule> 
    1937             <rule e="node" k="place" v="locality" layer="5"> 
    1938                 <text k="name" class="place-caption locality-caption"/> 
    1939             </rule> 
    1940             <rule e="node" k="place" v="farm" layer="5"> 
    1941                 <text k="name" class="place-caption farm-caption"/> 
    1942             </rule> 
    1943             <rule e="node" k="tourism" v="attraction" layer="5"> 
    1944                 <text k="name" class="tourism-attraction-caption"/> 
    1945             </rule> 
    1946  
    1947             <rule e="node" k="railway" v="station" layer="5"> 
    1948                 <rule e="node" s="way" k="railway" v="rail" layer="5"> 
    1949                     <text k="name" class="caption-casing railway-station-caption-casing" dy="-1.5px"/> 
    1950                     <text k="name" class="caption-core railway-station-caption-core" dy="-1.5px"/> 
    1951                 </rule> 
    1952                 <else> 
    1953                     <text k="name" class="caption-casing railway-halt-caption-casing" dy="-1px"/> 
    1954                     <text k="name" class="caption-core railway-halt-caption-core" dy="-1px"/> 
    1955                 </else> 
    1956             </rule> 
    1957             <rule e="node" k="railway" v="halt" layer="5"> 
    1958                 <text k="name" class="caption-casing railway-halt-caption-casing" dy="-1px"/> 
    1959                 <text k="name" class="caption-core railway-halt-caption-core" dy="-1px"/> 
    1960             </rule> 
    1961             <rule e="node" k="railway" v="tram_stop" layer="5"> 
    1962                 <text k="name" class="caption-casing railway-halt-caption-casing" dy="-1px"/> 
    1963                 <text k="name" class="caption-core railway-halt-caption-core" dy="-1px"/> 
    1964             </rule> 
    1965  
    1966             <rule e="node" k="amenity" v="pub|restaurant" layer="5"> 
    1967                 <text k="name" class="caption-casing amenity-pub-caption-casing" dy="-1.2px"/> 
    1968                 <text k="name" class="caption-core amenity-pub-caption-core" dy="-1.2px"/> 
    1969             </rule> 
    1970             <rule e="node" k="amenity" v="cinema" layer="5"> 
    1971                 <text k="name" class="caption-casing amenity-cinema-caption-casing" dy="-3px"/> 
    1972                 <text k="name" class="caption-core amenity-cinema-caption-core" dy="-3px"/> 
    1973             </rule> 
    1974             <rule e="node" k="amenity" v="theatre" layer="5"> 
    1975                 <text k="name" class="caption-casing amenity-theatre-caption-casing" dy="-3px"/> 
    1976                 <text k="name" class="caption-core amenity-theatre-caption-core" dy="-3px"/> 
    1977             </rule> 
    1978  
    1979             <rule e="node" k="amenity" v="school|college|university" layer="5"> 
    1980                 <text k="name" class="caption-casing generic-caption-casing" dy="-3px"/> 
    1981                 <text k="name" class="caption-core generic-caption-core" dy="-3px"/> 
    1982             </rule> 
    1983             <rule e="node" k="amenity" v="shelter|supermarket|library|doctors|pharmacy|place_of_worship|parking|post_office|hospital|hotel|hostel|camp_site|bank" layer="5"> 
    1984                 <text k="name" class="caption-casing generic-caption-casing" dy="-2.5px"/> 
    1985                 <text k="name" class="caption-core generic-caption-core" dy="-2.5px"/> 
    1986             </rule> 
    1987             <rule e="node" k="shop" v="supermarket" layer="5"> 
    1988                 <text k="name" class="caption-casing generic-caption-casing" dy="-2.5px"/> 
    1989                 <text k="name" class="caption-core generic-caption-core" dy="-2.5px"/> 
    1990             </rule> 
    1991             <rule e="node" k="tourism" v="hotel|hostel|camp_site|information" layer="5"> 
    1992                 <text k="name" class="caption-casing generic-caption-casing" dy="-2.5px"/> 
    1993                 <text k="name" class="caption-core generic-caption-core" dy="-2.5px"/> 
    1994             </rule> 
    1995             <rule e="node" k="historic" v="*" layer="5"> 
    1996                 <text k="name" class="caption-casing generic-caption-casing" dy="-2.5px"/> 
    1997                 <text k="name" class="caption-core generic-caption-core" dy="-2.5px"/> 
    1998             </rule> 
    1999         </rule> 
    2000  
    2001         <!-- House numbers --> 
    2002         <rule e="way" k="addr:housenumber" v="*" layer="5"> 
    2003             <areaSymbol ref="housenumber" width="2px" height="2px" transform="translate(-1,-1)"/> 
    2004             <areaText k="addr:housenumber" startOffset="50%" class="housenumber-caption" dy="0.3px"/> 
    2005         </rule> 
    2006         <rule e="node" k="addr:housenumber" v="*" layer="5"> 
    2007             <circle r="0.8px" class="housenumber-node"/> 
    2008             <text k="addr:housenumber" class="housenumber-caption" dy="0.3px"/> 
    2009         </rule> 
    2010  
    2011         <!-- Area captions --> 
    2012         <rule e="way" k="natural" v="*" layer="5"> 
    2013             <areaText k="name" class="caption-casing generic-caption-casing" text-anchor="middle" startOffset="50%"/> 
    2014             <areaText k="name" class="caption-core generic-caption-core" text-anchor="middle" startOffset="50%"/> 
    2015         </rule> 
    2016  
    2017         <rule e="way" k="sport" v="~" layer="5"> <!-- omit rendering captions for leisure, if sport is also set --> 
    2018             <rule e="way" k="leisure" v="*" layer="5"> 
    2019                 <areaText k="name" class="caption-casing generic-caption-casing" text-anchor="middle" startOffset="50%"/> 
    2020                 <areaText k="name" class="caption-core generic-caption-core" text-anchor="middle" startOffset="50%"/> 
    2021             </rule> 
    2022         </rule> 
    2023         <rule e="way" k="sport" v="*" layer="5"> 
    2024             <!-- Offset captions for areas with icons --> 
    2025             <rule e="way" k="sport" v="soccer|tennis|swimming" layer="5"> 
    2026                 <areaText k="name" class="caption-casing generic-caption-casing" text-anchor="middle" startOffset="50%" dy="3.5px"/> 
    2027                 <areaText k="name" class="caption-core generic-caption-core" text-anchor="middle" startOffset="50%" dy="3.5px"/> 
    2028             </rule> 
    2029             <else> 
    2030                 <areaText k="name" class="caption-casing generic-caption-casing" text-anchor="middle" startOffset="50%"/> 
    2031                 <areaText k="name" class="caption-core generic-caption-core" text-anchor="middle" startOffset="50%"/> 
    2032             </else> 
    2033         </rule> 
    2034         <rule e="way" k="landuse|military" v="*" layer="5"> 
    2035             <areaText k="name" class="caption-casing generic-caption-casing" text-anchor="middle" startOffset="50%"/> 
    2036             <areaText k="name" class="caption-core generic-caption-core" text-anchor="middle" startOffset="50%"/> 
    2037         </rule> 
    2038         <rule e="way" k="amenity|shop" v="school|college|university|parking|supermarket" layer="5"> 
    2039              <areaText k="name" class="caption-casing generic-caption-casing" dy='-2.5px' text-anchor='middle' startOffset='50%'/> 
    2040              <areaText k="name" class="caption-core generic-caption-core" dy='-2.5px' text-anchor='middle' startOffset='50%'/> 
    2041         </rule> 
    2042  
    2043         <rule e="way" k="sport" v="~" layer="5"> <!-- don't render captions for buildings, if sport is also set, thus honor offsets --> 
    2044             <rule e="way" k="building" v="*" layer="5"> 
    2045                  <!-- same goes if one of the following is set --> 
    2046                  <rule e="way" k="amenity|shop" v="school|college|university|parking|supermarket" layer="5"> 
    2047                  </rule> 
    2048                  <else> 
    2049                     <areaText k="name" class="caption-casing generic-caption-casing" text-anchor='middle' startOffset='50%'/> 
    2050                     <areaText k="name" class="caption-core generic-caption-core" text-anchor='middle' startOffset='50%'/> 
    2051                  </else> 
    2052             </rule> 
    2053         </rule> 
    2054         <rule e="way" k="tourism" v="tourism-attraction|zoo|picnic_site|caravan_site|camp_site" layer="5"> 
    2055             <areaText k="name" class="caption-casing generic-caption-casing" text-anchor="middle" startOffset="50%"/> 
    2056             <areaText k="name" class="caption-core generic-caption-core" text-anchor="middle" startOffset="50%"/> 
    2057         </rule> 
    2058     </rule> 
    2059  
    2060     <!-- Relation/Routes SDW --> 
    2061     <rule e="relation" k="type" v="route"> 
    2062         <rule e="relation" k="prefered_color" v="*"> 
    2063             <rule e="relation" k="prefered_color" v="white"> 
    2064                 <line class="relationroute-way relationroute-white" smart-linecap="no"/> 
    2065             </rule> 
    2066             <rule e="relation" k="prefered_color" v="silver"> 
    2067                 <line class="relationroute-way relationroute-silver" smart-linecap="no"/> 
    2068             </rule> 
    2069             <rule e="relation" k="prefered_color" v="gray"> 
    2070                 <line class="relationroute-way relationroute-gray" smart-linecap="no"/> 
    2071             </rule> 
    2072             <rule e="relation" k="prefered_color" v="black"> 
    2073                 <line class="relationroute-way relationroute-black" smart-linecap="no"/> 
    2074             </rule> 
    2075             <rule e="relation" k="prefered_color" v="red"> 
    2076                 <line class="relationroute-way relationroute-red" smart-linecap="no"/> 
    2077             </rule> 
    2078             <rule e="relation" k="prefered_color" v="maroon"> 
    2079                 <line class="relationroute-way relationroute-maroon" smart-linecap="no"/> 
    2080             </rule> 
    2081             <rule e="relation" k="prefered_color" v="green"> 
    2082                 <line class="relationroute-way relationroute-green" smart-linecap="no"/> 
    2083             </rule> 
    2084             <rule e="relation" k="prefered_color" v="lime"> 
    2085                 <line class="relationroute-way relationroute-lime" smart-linecap="no"/> 
    2086             </rule> 
    2087             <rule e="relation" k="prefered_color" v="blue"> 
    2088                 <line class="relationroute-way relationroute-blue" smart-linecap="no"/> 
    2089             </rule> 
    2090             <rule e="relation" k="prefered_color" v="navy"> 
    2091                 <line class="relationroute-way relationroute-navy" smart-linecap="no"/> 
    2092             </rule> 
    2093             <rule e="relation" k="prefered_color" v="fuchsia"> 
    2094                 <line class="relationroute-way relationroute-fuchsia" smart-linecap="no"/> 
    2095             </rule> 
    2096             <rule e="relation" k="prefered_color" v="purple"> 
    2097                 <line class="relationroute-way relationroute-purple" smart-linecap="no"/> 
    2098             </rule> 
    2099             <rule e="relation" k="prefered_color" v="yellow"> 
    2100                 <line class="relationroute-way relationroute-yellow" smart-linecap="no"/> 
    2101             </rule> 
    2102             <rule e="relation" k="prefered_color" v="olive"> 
    2103                 <line class="relationroute-way relationroute-olive" smart-linecap="no"/> 
    2104             </rule> 
    2105             <rule e="relation" k="prefered_color" v="aqua"> 
    2106                 <line class="relationroute-way relationroute-aqua" smart-linecap="no"/> 
    2107             </rule> 
    2108             <rule e="relation" k="prefered_color" v="teal"> 
    2109                 <line class="relationroute-way relationroute-teal" smart-linecap="no"/> 
    2110             </rule> 
    2111         </rule> 
    2112         <else> 
    2113             <rule e="relation" k="route" v="road"> 
    2114                 <line class="relationroute-way relationroute-yellow" smart-linecap="no"/> 
    2115                 <circle class="relationroute-yellow relationroute-stop" r="0.5px"/> 
    2116             </rule> 
    2117             <rule e="relation" k="route" v="bicycle"> 
    2118                 <line class="relationroute-way relationroute-blue" smart-linecap="no"/> 
    2119                 <circle class="relationroute-blue relationroute-stop" r="0.5px"/> 
    2120             </rule> 
    2121             <rule e="relation" k="route" v="hiking"> 
    2122                 <line class="relationroute-way relationroute-red" smart-linecap="no"/> 
    2123                 <circle class="relationroute-red relationroute-stop" r="0.5px"/> 
    2124             </rule> 
    2125             <rule e="relation" k="route" v="bus"> 
    2126                 <line class="relationroute-way relationroute-green" smart-linecap="no"/> 
    2127                 <circle class="relationroute-green relationroute-stop" r="0.5px"/> 
    2128             </rule> 
    2129         </else> 
    2130     </rule> 
    2131  
    2132     <!-- SVG Definitions - markers, symbols etc go here --> 
    2133     <defs> 
    2134         <style xmlns="http://www.w3.org/2000/svg" id="styles" type="text/css"> 
    2135             /* DO NOT DELETE - Used by osmarender.xsl */ 
    2136             .untagged-segments { 
    2137                 stroke-width: 0.5px; 
    2138                 stroke-linejoin: round; 
    2139                 stroke-linecap: butt; 
    2140                 stroke: #e0e0e0; 
    2141                 stroke-dasharray: 0.5,0.5; 
    2142             } 
    2143  
    2144  
    2145             .gate-locked { 
    2146                 fill: none; 
    2147                 stroke: red; 
    2148                 stroke-width: 1px; 
    2149                 stroke-opacity: 0; 
    2150                 marker-mid: url(#marker-gate-locked); 
    2151             } 
    2152  
    2153             .gate-closed { 
    2154                 fill: none; 
    2155                 stroke: red; 
    2156                 stroke-width: 1px; 
    2157                 stroke-opacity: 0; 
    2158                 marker-mid: url(#marker-gate-closed); 
    2159             } 
    2160  
    2161             .gate-open { 
    2162                 fill: none; 
    2163                 stroke: red; 
    2164                 stroke-width: 1px; 
    2165                 stroke-opacity: 0; 
    2166                 marker-mid: url(#marker-gate-open); 
    2167             } 
    2168  
    2169             .bollard { 
    2170                 fill: #777777; 
    2171                 stroke: none; 
    2172             } 
    2173  
    2174             /* Railways - generic styles */ 
    2175             .railway-casing { 
    2176                 stroke-linecap: butt; 
    2177                 stroke-linejoin: round; 
    2178                 fill: none; 
    2179             } 
    2180  
    2181             .railway-core { 
    2182                 stroke-linecap: butt; 
    2183                 stroke-linejoin: round; 
    2184                 fill: none; 
    2185             } 
    2186  
    2187             /* RelationRoute - generic styles */ 
    2188             .relationroute-way { 
    2189                 stroke-linecap: round; 
    2190                 stroke-linejoin: round; 
    2191                 smart-linecap: no; 
    2192                 fill: none; 
    2193                 stroke-width: 2.5px; 
    2194                 opacity: 0.75; 
    2195             } 
    2196  
    2197             .relationroute-stop { 
    2198                 stroke-width: 4px; 
    2199                 fill: none; 
    2200                 opacity: 0.75; 
    2201             } 
    2202  
    2203             /* VGA colours supported, add more if necessary */ 
    2204             .relationroute-white                      { stroke: #FFFFFF; } 
    2205             .relationroute-silver                     { stroke: #C0C0C0; } 
    2206             .relationroute-gray                       { stroke: #808080; } 
    2207             .relationroute-black                      { stroke: #000000; } 
    2208             .relationroute-red                        { stroke: #FF0000; } 
    2209             .relationroute-maroon                     { stroke: #800000; } 
    2210             .relationroute-green                      { stroke: #008000; } 
    2211             .relationroute-lime                       { stroke: #00FF00; } 
    2212             .relationroute-blue                       { stroke: #0000FF; } 
    2213             .relationroute-navy                       { stroke: #000080; } 
    2214             .relationroute-fuchsia                    { stroke: #FF00FF; } 
    2215             .relationroute-purple                     { stroke: #800080; } 
    2216             .relationroute-yellow                     { stroke: #FFFF00; } 
    2217             .relationroute-olive                      { stroke: #808000; } 
    2218             .relationroute-aqua                       { stroke: #00FFFF; } 
    2219             .relationroute-teal                       { stroke: #008080; } 
    2220  
    2221  
    2222             /* Highways - generic styles */ 
    2223             .highway-casing { 
    2224                 stroke-linecap: square; 
    2225                 stroke-linejoin: round; 
    2226                 fill: none; 
    2227             } 
    2228  
    2229             .highway-core { 
    2230                 stroke-linecap: square; 
    2231                 stroke-linejoin: round; 
    2232                 fill: none; 
    2233             } 
    2234  
    2235             .highway-motorway-junction { 
    2236                  fill: yellow; 
    2237                  stroke: #4D5D73; 
    2238                  stroke-width: 0.75px; 
    2239             } 
    2240  
    2241             .highway-motorway-junction-caption { 
    2242                  fill: black; 
    2243                  stroke: black; 
    2244                  stroke-width: 0.05px; 
    2245                  font-family: "DejaVu Sans",sans-serif; 
    2246                  font-size: 1.5px; 
    2247                  font-weight: bold; 
    2248                  text-anchor: middle; 
    2249             } 
    2250  
    2251             .highway-ref { 
    2252                 fill: #666666; 
    2253                 stroke: white; 
    2254                 font-family: "DejaVu Sans"; 
    2255                 font-weight: normal; 
    2256                 text-anchor: middle; 
    2257             } 
    2258  
    2259             .highway-name { 
    2260                 fill: black; 
    2261                 font-family: "DejaVu Sans"; 
    2262                 font-weight: normal; 
    2263                 stroke: white; 
    2264                 text-anchor: middle; 
    2265             } 
    2266  
    2267             .highway-user { 
    2268                 stroke-width: 0px; 
    2269                 font-size: 1.0px; fill: #bbbbbb; 
    2270             } 
    2271  
    2272             .bridge-casing { 
    2273                 stroke-linecap: butt; 
    2274                 stroke-linejoin: round; 
    2275                 stroke: #777777; 
    2276                 fill: none; 
    2277                 marker-start: url(#bridge-casing-start); 
    2278                 marker-end: url(#bridge-casing-end); 
    2279             } 
    2280  
    2281             .bridge-core { 
    2282                 stroke-linecap: butt; 
    2283                 stroke-linejoin: round; 
    2284                 stroke: #f8f8f8; 
    2285                 fill: none; 
    2286             } 
    2287  
    2288             .tunnel-casing { 
    2289                 stroke-linecap: butt; 
    2290                 stroke-linejoin: round; 
    2291                 fill: none; 
    2292             } 
    2293  
    2294             .tunnel-core { 
    2295                 stroke-linecap: butt; 
    2296                 stroke-linejoin: round; 
    2297                 fill: none; 
    2298             } 
    2299  
    2300             .tunnel { stroke-dasharray: 0.4, 0.4; } 
    2301  
    2302  
    2303             .railway-rail-bridge-casing             { stroke-width: 2.75px; } 
    2304             .railway-rail-bridge-core               { stroke-width: 2.25px; } 
    2305             .railway-rail-casing                    { stroke-width: 1.0px; stroke: #aaaaaa; } 
    2306             .railway-rail-1-core                    { stroke-width: 0.8px; stroke: #ffffff; } 
    2307             .railway-rail-2-core                    { stroke-width: 1.5px; stroke: #aaaaaa; stroke-dasharray: 0.1, 1.0; } 
    2308  
    2309             .railway-light-rail-bridge-casing       { stroke-width: 2.05px; } 
    2310             .railway-light-rail-bridge-core         { stroke-width: 1.55px; } 
    2311             .railway-light-rail-casing              { stroke-width: 0.8px; stroke: #666666; } 
    2312             .railway-light-rail-core                { stroke-width: 0.6px; stroke: #666666; } 
    2313  
    2314             .railway-subway-bridge-casing           { stroke-width: 2.05px; } 
    2315             .railway-subway-bridge-core             { stroke-width: 1.55px; } 
    2316             .railway-subway-casing                  { stroke-width: 0.8px; stroke: #aaaaaa; } 
    2317             .railway-subway-core                    { stroke-width: 0.6px; stroke: #ffffff; stroke-dasharray: 1, 3; } 
    2318  
    2319             .railway-tram-bridge-casing             { stroke-width: 2.05px; } 
    2320             .railway-tram-bridge-core               { stroke-width: 1.55px; } 
    2321             .railway-tram-casing                    { stroke-width: 0.8px; stroke: #666666; } 
    2322             .railway-tram-core                      { stroke-width: 0.6px; stroke: #666666; } 
    2323  
    2324             .railway-narrow-gauge-bridge-casing     { stroke-width: 2.05px; } 
    2325             .railway-narrow-gauge-bridge-core       { stroke-width: 1.55px; } 
    2326             .railway-narrow-gauge-casing            { stroke-width: 0.8px; stroke: #aaaaaa; } 
    2327             .railway-narrow-gauge-core              { stroke-width: 0.6px; stroke: #aaaaaa; } 
    2328  
    2329             .railway-preserved-bridge-casing        { stroke-width: 2.35px; } 
    2330             .railway-preserved-bridge-core          { stroke-width: 1.85px; } 
    2331             .railway-preserved-casing               { stroke-width: 1.1px; stroke: #666666; } 
    2332             .railway-preserved-core                 { stroke-width: 0.9px; stroke: #666666; } 
    2333  
    2334             .railway-monorail-bridge-casing         { stroke-width: 2.25px; } 
    2335             .railway-monorail-bridge-core           { stroke-width: 1.75px; } 
    2336             .railway-monorail-casing                { stroke-width: 1.0px; stroke: #666666; } 
    2337             .railway-monorail-core                  { stroke-width: 0.8px; stroke: #a65ca3; } 
    2338  
    2339             .highway-motorway-bridge-casing         { stroke-width: 3.50px; } 
    2340             .highway-motorway-bridge-core           { stroke-width: 3.00px; } 
    2341             .highway-motorway-casing                { stroke-width: 1.9px;  stroke: #777777; } 
    2342             .highway-motorway-area-casing           { stroke-width: 0.2px; } 
    2343             .highway-motorway-core                    { stroke-width: 1.7px;  stroke: #809BC0; } 
    2344             .highway-motorway-area                    {fill: #809BC0; } 
    2345             .highway-motorway-name                  { stroke-width: 0px;     font-size: 1.5px; } 
    2346             .highway-motorway-ref                   { stroke-width: 0px;     font-size: 2px; } 
    2347  
    2348             .highway-trunk-bridge-casing            { stroke-width: 2.5px; } 
    2349             .highway-trunk-bridge-core              { stroke-width: 2.2px; } 
    2350             .highway-trunk-casing                   { stroke-width: 1.7px;     stroke: #777777; } 
    2351             .highway-trunk-area-casing              { stroke-width: 0.2px; } 
    2352             .highway-trunk-core                     { stroke-width: 1.5px;  stroke: #7FC97F; } 
    2353             .highway-trunk-area                     { fill: #7FC97F; } 
    2354             .highway-trunk-name                     { stroke-width: 0px;     font-size: 1.5px; } 
    2355             .highway-trunk-ref                      { stroke-width: 0px;     font-size: 2px; } 
    2356  
    2357             .highway-primary-bridge-casing          { stroke-width: 2.5px; } 
    2358             .highway-primary-bridge-core            { stroke-width: 2.2px; } 
    2359             .highway-primary-casing                 { stroke-width: 1.7px;     stroke: #777777; } 
    2360             .highway-primary-area-casing            { stroke-width: 0.2px; } 
    2361             .highway-primary-core                   { stroke-width: 1.5px;  stroke: #e46d71; } 
    2362             .highway-primary-area                   { fill: #e46d71; } 
    2363             .highway-primary-name                   { stroke-width: 0px;     font-size: 1.5px; } 
    2364             .highway-primary-ref                    { stroke-width: 0px;     font-size: 2px; } 
    2365  
    2366             .highway-motorway-link-bridge-casing    { stroke-width: 2.5px; } 
    2367             .highway-motorway-link-bridge-core      { stroke-width: 2.2px; } 
    2368             .highway-motorway-link-casing           { stroke-width: 1.7px;     stroke: #777777; } 
    2369             .highway-motorway-link-area-casing      { stroke-width: 0.2px; } 
    2370             .highway-motorway-link-core             { stroke-width: 1.5px;  stroke: #809BC0; } 
    2371             .highway-motorway-link-area             { fill: #809BC0; } 
    2372             .highway-motorway-link-name             { stroke-width: 0px;     font-size: 1.5px; } 
    2373             .highway-motorway-link-ref              { stroke-width: 0px;     font-size: 2px; } 
    2374  
    2375             .highway-trunk-link-bridge-casing       { stroke-width: 2.5px; } 
    2376             .highway-trunk-link-bridge-core         { stroke-width: 2.2px; } 
    2377             .highway-trunk-link-casing              { stroke-width: 1.7px;     stroke: #777777; } 
    2378             .highway-trunk-link-area-casing         { stroke-width: 0.2px; } 
    2379             .highway-trunk-link-core                { stroke-width: 1.5px;  stroke: #7FC97F; } 
    2380             .highway-trunk-link-area                { fill: #7FC97F; } 
    2381             .highway-trunk-link-name                { stroke-width: 0px;     font-size: 1.5px; } 
    2382             .highway-trunk-link-ref                 { stroke-width: 0px;     font-size: 2px; } 
    2383  
    2384             .highway-primary-link-bridge-casing     { stroke-width: 2.5px; } 
    2385             .highway-primary-link-bridge-core       { stroke-width: 2.2px; } 
    2386             .highway-primary-link-casing            { stroke-width: 1.7px;  stroke: #777777; } 
    2387             .highway-primary-link-area-casing       { stroke-width: 0.2px; } 
    2388             .highway-primary-link-core              { stroke-width: 1.5px;   stroke: #e46d71; } 
    2389             .highway-primary-link-area              { fill: #e46d71; } 
    2390             .highway-primary-link-name              { stroke-width: 0px;     font-size: 1.5px; } 
    2391             .highway-primary-link-ref               { stroke-width: 0px;     font-size: 2px; } 
    2392  
    2393             .highway-secondary-bridge-casing        { stroke-width: 2.5px; } 
    2394             .highway-secondary-bridge-core          { stroke-width: 2.2px; } 
    2395             .highway-secondary-casing                { stroke-width: 1.7px;     stroke: #777777; } 
    2396             .highway-secondary-area-casing           { stroke-width: 0.2px; } 
    2397             .highway-secondary-core                 { stroke-width: 1.5px;  stroke: #FDBF6F; } 
    2398             .highway-secondary-area                 { fill: #FDBF6F; } 
    2399             .highway-secondary-name                 { stroke-width: 0px;     font-size: 1.5px;} 
    2400             .highway-secondary-ref                  { stroke-width: 0px;     font-size: 2px; } 
    2401  
    2402             .highway-tertiary-bridge-casing         { stroke-width: 2.5px; } 
    2403             .highway-tertiary-bridge-core           { stroke-width: 2.2px; } 
    2404             .highway-tertiary-casing                { stroke-width: 1.7px;  stroke: #777777; } 
    2405             .highway-tertiary-area-casing           { stroke-width: 0.2px; } 
    2406             .highway-tertiary-core                  { stroke-width: 1.5px;   stroke: #f7f496; } 
    2407             .highway-tertiary-area                  { fill: #f7f496; } 
    2408             .highway-tertiary-name                  { stroke-width: 0px;     font-size: 1.25px; } 
    2409             .highway-tertiary-ref                    { stroke-width: 0px;     font-size: 1.5px; } 
    2410  
    2411             .highway-unclassified-bridge-casing     { stroke-width: 2.2px; } 
    2412             .highway-unclassified-bridge-core       { stroke-width: 2.0px; } 
    2413             .highway-unclassified-casing            { stroke-width: 1.5px;  stroke: #777777; } 
    2414             .highway-unclassified-area-casing       { stroke-width: 0.25px; } 
    2415             .highway-unclassified-core              { stroke-width: 1.25px;   stroke: #ffffff; } 
    2416             .highway-unclassified-area              { fill: #ffffff; } 
    2417             .highway-unclassified-name              { stroke-width: 0px;     font-size: 1.25px; } 
    2418             .highway-unclassified-ref               { stroke-width: 0px;     font-size: 1.5px; } 
    2419             .highway-unclassified-turningcircle     { fill: #ffffff; stroke-width: 0.125px; stroke: #777777; } 
    2420             .highway-road-core                      { stroke-width: 1.25px;   stroke: #d0d0d0; } 
    2421             .highway-road-area                      { fill: #d0d0d0; } 
    2422  
    2423             .highway-livingstreet-casing            { stroke-width: 1.5px;  stroke: #777777; } 
    2424             .highway-livingstreet-area-casing       { stroke-width: 0.25px; } 
    2425             .highway-livingstreet-core-1            { stroke-width: 1.25px; stroke: #ffffff; stroke-linecap: round; } 
    2426             .highway-livingstreet-core-2            { stroke-width: 1.25px; stroke: #eeeeee; stroke-dasharray: 0.2,0.5; stroke-linecap: butt; } 
    2427             .highway-livingstreet-area              { fill: #ffffff; } 
    2428  
    2429             .highway-service-bridge-casing          { stroke-width: 2.25px; } 
    2430             .highway-service-bridge-core            { stroke-width: 1.75px; } 
    2431             .highway-service-casing                 { stroke-width: 1.0px;   stroke: #777777; } 
    2432             .highway-service-area-casing            { stroke-width: 0.2px; } 
    2433             .highway-service-core                   { stroke-width: 0.8px;   stroke: #ffffff; } 
    2434             .highway-service-area                   { fill: #ffffff; } 
    2435             .highway-service-name                   { stroke-width: 0px;     font-size: 1.25px; } 
    2436             .highway-service-ref                    { stroke-width: 0px;     font-size: 1.25px; } 
    2437  
    2438             .highway-unsurfaced-bridge-casing       { stroke-width: 2.25px; } 
    2439             .highway-unsurfaced-bridge-core         { stroke-width: 1.75px; } 
    2440             .highway-unsurfaced-casing              { stroke-width: 1.2px;   stroke: #777777; stroke-dasharray: 1, 0.5; stroke-linecap: butt; } 
    2441             .highway-unsurfaced-area-casing         { stroke-width: 0.2px; } 
    2442             .highway-unsurfaced-core                { stroke-width: 1px;   stroke: #ffffff; } 
    2443             .highway-unsurfaced-area                { fill: #ffffff; } 
    2444             .highway-unsurfaced-name                { stroke-width: 0px;     font-size: 1.25px; } 
    2445             .highway-unsurfaced-ref                 { stroke-width: 0px;     font-size: 1.25px; } 
    2446  
    2447             .highway-track-bridge-casing            { stroke-width: 2.25px; } 
    2448             .highway-track-bridge-core              { stroke-width: 1.75px; } 
    2449             .highway-track-casing                   { stroke-width: 1.0px;   stroke: #d79331; } 
    2450             .highway-track-area-casing              { stroke-width: 0.2px; } 
    2451             .highway-track-core                     { stroke-width: 0.8px;   stroke: #ffffff; } 
    2452             .highway-track-area                     { fill: #ffffff; } 
    2453             .highway-track-name                     { stroke-width: 0px;     font-size: 1.25px; } 
    2454             .highway-track-ref                      { stroke-width: 0px;     font-size: 1.25px; } 
    2455  
    2456             .highway-track-grade1-casing            { stroke: #777777; } 
    2457             .highway-track-grade2-casing            { } 
    2458             .highway-track-grade3-casing            { stroke-dasharray: 1.4, 1.0; stroke-linecap: butt; } 
    2459             .highway-track-grade4-casing            { stroke-dasharray: 1.4, 1.0, 0.4, 1.0; stroke-linecap: butt; } 
    2460             .highway-track-grade5-casing            { stroke-dasharray: 0.4, 1.0; stroke-linecap: butt; } 
    2461  
    2462             .highway-byway-bridge-casing            { stroke-width: 1.6px; } 
    2463             .highway-byway-bridge-core              { stroke-width: 1.4px; } 
    2464             .highway-byway-1-casing                 { stroke-width: 1px;     stroke: #555555;  stroke-dasharray: 0.7, 0.2; stroke-linecap: butt;} 
    2465             .highway-byway-1-area-casing            { stroke-width: 0.2px;} 
    2466             .highway-byway-2-casing                 { stroke-width: 0.8px;   stroke: #efadaa; } 
    2467             .highway-byway-2-area-casing            { stroke-width: 0.0px; } 
    2468             .highway-byway-3-casing                 { stroke-width: 1.4px;   stroke: #555555;  stroke-dasharray: 0.1, 0.8; stroke-dashoffset: 0.6; stroke-linecap: butt; } 
    2469             .highway-byway-3-area-casing            { stroke-width: 0.7px; } 
    2470             .highway-byway-1-core                   { stroke-width: 0.4px;   stroke: #efadaa; } 
    2471             .highway-byway-area                     { fill: #efadaa; } 
    2472             .highway-byway-name                     { stroke-width: 0px;     font-size: 1.25px; } 
    2473             .highway-byway-ref                      { stroke-width: 0px;     font-size: 1.25px; } 
    2474  
    2475             .highway-bridleway-bridge-casing        { stroke-width: 1.6px; } 
    2476             .highway-bridleway-bridge-core          { stroke-width: 1.4px; } 
    2477             .highway-bridleway-casing               { stroke-width: 1px;     stroke: #777777;  stroke-dasharray: 0.7, 0.2; stroke-linecap: butt; } 
    2478             .highway-bridleway-area-casing          { stroke-width: 0.2px; } 
    2479             .highway-bridleway-core                 { stroke-width: 0.8px;   stroke: #e3e9f1; } 
    2480             .highway-bridleway-area                 { fill: #e3e9f1; } 
    2481             .highway-bridleway-name                 { stroke-width: 0px;     font-size: 1.25px; } 
    2482             .highway-bridleway-ref                  { stroke-width: 0px;     font-size: 1.25px; } 
    2483  
    2484             .highway-cycleway-bridge-casing         { stroke-width: 1.6px; } 
    2485             .highway-cycleway-bridge-core           { stroke-width: 1.4px; } 
    2486             .highway-cycleway-casing                { stroke-width: 1px;     stroke: #777777; stroke-dasharray: 0.2, 0.2; stroke-linecap: butt;} 
    2487             .highway-cycleway-area-casing           { stroke-width: 0.2px; } 
    2488             .highway-cycleway-core                  { stroke-width: 0.8px;   stroke: #d1ead1; } 
    2489             .highway-cycleway-area                  { fill: #d1ead1; } 
    2490             .highway-cycleway-name                  { stroke-width: 0px;     font-size: 1.25px; } 
    2491             .highway-cycleway-ref                   { stroke-width: 0px;     font-size: 1.25px; } 
    2492  
    2493             .highway-pedestrian-bridge-casing       { stroke-width: 1.8px; } 
    2494             .highway-pedestrian-bridge-core         { stroke-width: 1.6px; } 
    2495             .highway-pedestrian-casing              { stroke-width: 1.2px;   stroke: #aaaaaa; } 
    2496             .highway-pedestrian-area-casing         { stroke-width: 0.2px; } 
    2497             .highway-pedestrian-core                { stroke-width: 1px;   stroke: #eeeeee; } 
    2498             .highway-pedestrian-area                { fill: #eeeeee; } 
    2499             .highway-pedestrian-name                { stroke-width: 0px;     font-size: 1px; } 
    2500             .highway-pedestrian-ref                 { stroke-width: 0px;     font-size: 1.25px; } 
    2501  
    2502             .highway-footway-bridge-casing          { stroke-width: 1.2px; } 
    2503             .highway-footway-bridge-core            { stroke-width: 1px; } 
    2504             .highway-footway-casing                 { stroke-width: 0.6px;   stroke: #777777; stroke-dasharray: 0.2, 0.2; stroke-linecap: butt;} 
    2505             .highway-footway-area-casing            { stroke-width: 0.1px;} 
    2506             .highway-footway-core                   { stroke-width: 0.5px;   stroke: #efeaa0; } 
    2507             .highway-footway-area                   { fill: #efeaa0; } 
    2508             .highway-footway-name                   { stroke-width: 0px;     font-size: 1.25px; } 
    2509             .highway-footway-ref                    { stroke-width: 0px;     font-size: 1.25px; } 
    2510  
    2511             /* render unmarked paths in the same color as highway=road */ 
    2512             .highway-path-core                      { stroke-width: 0.5px;   stroke: #d0d0d0; } 
    2513  
    2514             .highway-steps-bridge-casing            { stroke-width: 1.2px; } 
    2515             .highway-steps-bridge-core              { stroke-width: 1.0px; } 
    2516             .highway-steps-casing                   { stroke-width: 0.6px;   stroke: #777777; } 
    2517             .highway-steps-area-casing              { stroke-width: 0.1px; } 
    2518             .highway-steps-core                     { stroke-width: 0.5px;   stroke: #e5e0c2; stroke-dasharray: 0.3, 0.1; stroke-linecap: butt;} 
    2519             .highway-steps-name                     { stroke-width: 0px;     font-size: 1.25px; } 
    2520             .highway-steps-ref                      { stroke-width: 0px;     font-size: 1.25px; } 
    2521  
    2522             .highway-scramble-core                  { stroke-width: 0.15px;  stroke: #777777; stroke-dasharray: 0.8, 0.2; stroke-linecap: butt;} 
    2523             .highway-scramble-name                  { stroke-width: 0.5px;   fill: black;  font-size: 1.25px; } 
    2524  
    2525             /* Aeroways */ 
    2526             .aeroway-apron { 
    2527                 stroke-width: 0.3px; 
    2528                 stroke: none; 
    2529                 fill: #f0f0f0; 
    2530             } 
    2531  
    2532             .aeroway-taxiway-casing { 
    2533                 stroke-width: 3px; 
    2534                 stroke-linecap: butt; 
    2535                 stroke-linejoin: round; 
    2536                 stroke: #000000; 
    2537                 fill: none; 
    2538             } 
    2539  
    2540             .aeroway-taxiway-core { 
    2541                 stroke-width: 2px; 
    2542                 stroke-linecap: butt; 
    2543                 stroke-linejoin: round; 
    2544                 stroke: #d4dcbd; 
    2545                 fill: none; 
    2546             } 
    2547  
    2548             .aeroway-runway-core { 
    2549                 stroke-width: 5px; 
    2550                 stroke-linecap: square; 
    2551                 stroke-linejoin: round; 
    2552                 stroke: #d4dcbd; 
    2553                 fill: none; 
    2554             } 
    2555  
    2556             .aeroway-runway-casing { 
    2557                 stroke-width: 7px; 
    2558                 stroke-linecap: square; 
    2559                 stroke-linejoin: round; 
    2560                 stroke: #000000; 
    2561                 fill: none; 
    2562             } 
    2563  
    2564             .aeroway-aerodrome-caption { 
    2565                 fill: black; 
    2566                 stroke: white; 
    2567                 stroke-width: 0.3px; 
    2568                 font-family: "DejaVu Sans"; 
    2569                 font-size: 6px; 
    2570                 font-weight: bold; 
    2571             } 
    2572  
    2573             .aeroway-airport-caption { 
    2574                 fill: black; 
    2575                 stroke: white; 
    2576                 stroke-width: 0.3px; 
    2577                 font-family: "DejaVu Sans"; 
    2578                 font-size: 10px; 
    2579                 font-weight: bold; 
    2580             } 
    2581  
    2582  
    2583             /* Waterways */ 
    2584             .waterway-name-casing { 
    2585                 stroke: #333333; 
    2586                 fill: white; 
    2587                 font-family: "DejaVu Sans"; 
    2588                 font-weight: bold; 
    2589                 text-anchor: middle; 
    2590                 stroke-miterlimit: 1.5; 
    2591             } 
    2592  
    2593             .waterway-name-core { 
    2594                 stroke: green; 
    2595                 fill: white; 
    2596                 stroke-width: 0px; 
    2597                 font-family: "DejaVu Sans"; 
    2598                 font-weight: bold; 
    2599                 text-anchor: middle; 
    2600                 stroke-miterlimit: 1.5; 
    2601             } 
    2602  
    2603             .waterway-casing { 
    2604                 stroke-linecap: round; 
    2605                 stroke-linejoin: round; 
    2606                 stroke: #b5d6f1; 
    2607                 fill: none; 
    2608             } 
    2609  
    2610             .waterway-core { 
    2611                 stroke-linecap: round; 
    2612                 stroke-linejoin: round; 
    2613                 stroke: #b5d6f1; 
    2614                 fill: none; 
    2615             } 
    2616  
    2617             .waterway-riverbank { 
    2618                 fill: #b5d6f1; 
    2619                 stroke: #aaaaaa; 
    2620                 stroke-width: 0px; 
    2621             } 
    2622  
    2623             .waterway-river-casing                  { stroke-width: 2px; } 
    2624             .waterway-river-core                    { stroke-width: 1.7px; } 
    2625             .waterway-river-name-casing             { font-size: 1.5px; stroke-width: 0.1px;} 
    2626             .waterway-river-name-core               { font-size: 1.5px; } 
    2627  
    2628             .waterway-stream-casing                 { stroke-width: 0.275px; } 
    2629             .waterway-stream-core                   { stroke-width: 0.2px; } 
    2630             .waterway-stream-name-casing            { stroke-width: 0.1px; font-size: 1.5px; } 
    2631             .waterway-stream-name-core              { font-size: 1.5px; } 
    2632  
    2633             .waterway-canal-casing                  { stroke-width: 2px; } 
    2634             .waterway-canal-core                    { stroke-width: 1px; } 
    2635             .waterway-canal-name-casing             { stroke-width: 0.1px; font-size: 1.5px; } 
    2636             .waterway-canal-name-core               { font-size: 1.5px; } 
    2637  
    2638             .waterway-drain-casing                  { stroke-width: 1px; } 
    2639             .waterway-drain-core                    { stroke-width: 0.5px; } 
    2640             .waterway-drain-name-casing             { stroke-width: 0.1px; font-size: 1.5px; } 
    2641             .waterway-drain-name-core               { font-size: 1.5px; } 
    2642  
    2643  
    2644             /* Generic under-construction style - makes any way dashed */ 
    2645             .under-construction { stroke-dasharray: 4, 4; stroke-linecap: butt;} 
    2646  
    2647  
    2648             /* Ferry */ 
    2649             .route-ferry { 
    2650                 stroke-width: 0.5px; 
    2651                 stroke-dasharray: 3,2; 
    2652                 stroke-linecap: butt; 
    2653                 stroke-linejoin: round; 
    2654                 stroke: #777777; 
    2655                 fill: none; 
    2656             } 
    2657  
    2658  
    2659             /* Place names */ 
    2660             /* General style for captions */ 
    2661             .place-caption { 
    2662                 fill: black; 
    2663                 stroke: none; 
    2664                 font-family: "DejaVu Sans"; 
    2665                 font-weight: bold; 
    2666                 text-anchor: middle; 
    2667             } 
    2668  
    2669             .caption-casing { 
    2670                 fill: white; 
    2671                 stroke: white; 
    2672                 font-family: "DejaVu Sans"; 
    2673                 font-weight: bold; 
    2674                 text-anchor: middle; 
    2675                 stroke-miterlimit: 1.5; 
    2676             } 
    2677  
    2678             .caption-core { 
    2679                 stroke: white; 
    2680                 stroke-width: 0px; 
    2681                 font-family: "DejaVu Sans"; 
    2682                 font-weight: bold; 
    2683                 text-anchor: middle; 
    2684                 stroke-miterlimit: 1.5; 
    2685             } 
    2686  
    2687             .peak-caption           { font-size: 2px; } 
    2688             .islet-caption          { font-size: 3px; } 
    2689             .village-caption        { font-size: 3px; } 
    2690             .suburb-caption         { font-size: 3px; } 
    2691             .hamlet-caption         { font-size: 2px; } 
    2692             .locality-caption       { font-size: 2px; } 
    2693             .farm-caption           { font-size: 1.5px; } 
    2694  
    2695             .housenumber-interpolation { 
    2696                 fill: none; 
    2697                 stroke: #b0b0b0; 
    2698                 stroke-width: 0.25px; 
    2699             } 
    2700  
    2701             .housenumber-interpolation-all { 
    2702             } 
    2703  
    2704             .housenumber-interpolation-even { 
    2705                 stroke-dasharray: 0.5 0.5; 
    2706             } 
    2707  
    2708             .housenumber-interpolation-odd { 
    2709                 stroke-dasharray: 0.2 0.2; 
    2710             } 
    2711  
    2712             .housenumber-node { 
    2713                 stroke: none; 
    2714                 fill: #b0b0b0; 
    2715             } 
    2716  
    2717             .housenumber-caption { 
    2718                 stroke-width: 0px; 
    2719                 fill: #ffffff; 
    2720                 font-family: "DejaVu Sans"; 
    2721                 text-anchor: middle; 
    2722                 stroke-miterlimit: 1.5; 
    2723                 font-size: 0.8px; 
    2724             } 
    2725  
    2726             /* Natural */ 
    2727             .natural-water { 
    2728                 fill: #b5d6f1; 
    2729                 stroke: #aaaaaa; 
    2730                 stroke-width: 0px; 
    2731             } 
    2732  
    2733             .natural-coastline { 
    2734                 fill: #b5d6f1; 
    2735                 stroke: #b5d6f1; 
    2736                 stroke-width: 0.4px; 
    2737             } 
    2738  
    2739             .natural-land { 
    2740                 fill: #ffffff; 
    2741                 stroke: #e0e0e0; 
    2742                 stroke-width: 0.1px; 
    2743             } 
    2744  
    2745             .natural-heath { 
    2746                 fill: #ffffc0; 
    2747                 stroke: #ffff90; 
    2748                 stroke-width: 0.2px; 
    2749             } 
    2750  
    2751             .natural-beach { 
    2752                 fill: #eecc55; 
    2753                 stroke: none; 
    2754             } 
    2755  
    2756             /* Landuse */ 
    2757             .landuse-wood { 
    2758                 fill: #72bf81; 
    2759                 stroke: #6fc18e; 
    2760                 stroke-width: 0.2px; 
    2761             } 
    2762  
    2763             .landuse-wood-coniferous { 
    2764                 fill: url(#wood-coniferous-pattern); 
    2765                 stroke: #6fc18e; 
    2766                 stroke-width: 0.2px; 
    2767             } 
    2768  
    2769             .landuse-wood-deciduous { 
    2770                 fill: url(#wood-deciduous-pattern); 
    2771                 stroke: #6fc18e; 
    2772                 stroke-width: 0.2px; 
    2773             } 
    2774  
    2775             .landuse-wood-mixed { 
    2776                 fill: url(#wood-mixed-pattern); 
    2777                 stroke: #6fc18e; 
    2778                 stroke-width: 0.2px; 
    2779             } 
    2780  
    2781             .landuse-cemetery { 
    2782                 fill: url(#cemetery-pattern); 
    2783                 stroke: #eeeeee; 
    2784                 stroke-width: 0.2px; 
    2785             } 
    2786  
    2787             .landuse-cemetery-christian { 
    2788                 fill: url(#cemetery-christian-pattern); 
    2789                 stroke: #eeeeee; 
    2790                 stroke-width: 0.2px; 
    2791             } 
    2792  
    2793             .landuse-vineyard { 
    2794                 fill: url(#vineyard-pattern); 
    2795                 stroke: #eeeeee; 
    2796                 stroke-width: 0.2px; 
    2797             } 
    2798  
    2799             .landuse-field { 
    2800                 fill: #bde3cb; 
    2801                 stroke: #6fc13d; 
    2802                 stroke-width: 0.2px; 
    2803             } 
    2804  
    2805             .landuse-residential { 
    2806                 stroke: none; 
    2807                 fill: #f2f2f2; 
    2808             } 
    2809  
    2810             .landuse-retail { 
    2811                 stroke: none; 
    2812                 fill: #ffebeb; 
    2813             } 
    2814  
    2815             .landuse-industrial { 
    2816                 fill: #ecd8ff; 
    2817                 stroke: #eeeeee; 
    2818                 stroke-width: 0.2px; 
    2819             } 
    2820  
    2821             .landuse-commercial { 
    2822                 fill: #fcffc9; 
    2823                 stroke: #eeeeee; 
    2824                 stroke-width: 0.2px; 
    2825             } 
    2826  
    2827             .landuse-quarry { 
    2828                 fill: #E2CF80; 
    2829                 stroke: #5A6332; 
    2830                 stroke-width: 0.2px; 
    2831             } 
    2832  
    2833             .landuse-retail { 
    2834                 fill: #ffebeb; 
    2835                 stroke: #eeeeee; 
    2836                 stroke-width: 0.2px; 
    2837             } 
    2838  
    2839             .landuse-runway { 
    2840               stroke-width: 0.3px; 
    2841               stroke: #808080; 
    2842               fill: #d4dcbd; 
    2843             } 
    2844  
    2845             .landuse-runway-disused { 
    2846               stroke-width: 0.3px; 
    2847               stroke: #808080; 
    2848               fill: #d4dcbd; 
    2849               stroke-dasharray: 1, 1; 
    2850             } 
    2851  
    2852             .landuse-runway-dismantled { 
    2853               stroke-width: 0.3px; 
    2854               stroke: #808080; 
    2855               fill: #fcffef; 
    2856               stroke-dasharray: 0.3, 1.7; 
    2857               opacity: 0.5; 
    2858             } 
    2859  
    2860             .artificial-pier-core { 
    2861               stroke-width: 0.3px; 
    2862               stroke-linecap: butt; 
    2863               stroke-linejoin: round; 
    2864               stroke: #eeeeee; 
    2865               fill: none; 
    2866             } 
    2867  
    2868             .artificial-pier-casing { 
    2869               stroke-width: 0.4px; 
    2870               stroke-linecap: butt; 
    2871               stroke-linejoin: round; 
    2872               stroke: #cccccc; 
    2873               fill: none; 
    2874             } 
    2875  
    2876             /* Leisure */ 
    2877             .leisure-park { 
    2878                 fill: #c7f1a3; 
    2879                 stroke: #6fc18e; 
    2880                 stroke-width: 0.2px; 
    2881             } 
    2882  
    2883             .leisure-stadium { 
    2884                 fill: #bde3cb; 
    2885                 stroke: #6fc18e; 
    2886                 stroke-width: 0.2px; 
    2887             } 
    2888  
    2889             .leisure-track { 
    2890                 fill: #bde3cb; 
    2891                 stroke: #6fc18e; 
    2892                 stroke-width: 0.2px; 
    2893             } 
    2894  
    2895             .leisure-swimming-pool { 
    2896                 fill: #b5d6f1; 
    2897                 stroke: #6060ff; 
    2898                 stroke-width: 0.2px; 
    2899             } 
    2900  
    2901             .sport { 
    2902                 fill: #bde3cb; 
    2903                 stroke: #6fc18e; 
    2904                 stroke-width: 0.2px; 
    2905             } 
    2906  
    2907             .sport-swimming { 
    2908                 fill: #b5d6f1; 
    2909                 stroke: #6060ff; 
    2910                 stroke-width: 0.2px; 
    2911             } 
    2912  
    2913             .sport-tennis { 
    2914                 fill: #d18a6a; 
    2915                 stroke: #B36C4C; 
    2916                 stroke-width: 0.2px; 
    2917             } 
    2918  
    2919             .amenity-parking { 
    2920                 fill: #f7efb7; 
    2921                 stroke: #e9dd72; 
    2922                 stroke-width: 0.2px; 
    2923             } 
    2924  
    2925             .amenity-school { 
    2926                 fill: #dfafdd; 
    2927                 stroke: #e9dd72; 
    2928                 stroke-width: 0.2px; 
    2929             } 
    2930  
    2931  
    2932             /* Non-physical boundaries */ 
    2933             .boundary { 
    2934                 stroke-linecap: butt; 
    2935                 stroke-linejoin: round; 
    2936                 fill: none; 
    2937             } 
    2938  
    2939             .boundary-administrative-state-casing { 
    2940                 stroke-width: 2.5px; 
    2941                 stroke: #ffff00; 
    2942                 opacity: 0.5; 
    2943             } 
    2944  
    2945             .boundary-administrative-state-core { 
    2946                 stroke-width: 0.25px; 
    2947                 stroke: #f9574b; 
    2948                 stroke-dasharray: 2.5, 0.5, 0.5, 0.5; 
    2949             } 
    2950  
    2951             .boundary-administrative-district-core { 
    2952                 stroke-width: 0.25px; 
    2953                 stroke: #f9574b; 
    2954                 stroke-dasharray: 1.5, 0.5, 1.5, 0.5; 
    2955             } 
    2956  
    2957             .boundary-administrative-parish-core { 
    2958                 stroke-width: 0.25px; 
    2959                 stroke: #f9574b; 
    2960                 stroke-dasharray: 0.5, 0.5, 0.5, 0.5; 
    2961             } 
    2962  
    2963  
    2964             /* Racetracks */ 
    2965             .highway-racetrack-core { 
    2966               stroke-width: 1.5px; 
    2967               stroke-linecap: butt; 
    2968               stroke-linejoin: round; 
    2969               fill: none; 
    2970               stroke: #f0f0f0; 
    2971             } 
    2972  
    2973             .highway-racetrack-casing-red { 
    2974               stroke-width: 1.7px; 
    2975               stroke-dasharray: 0.2, 0.2; 
    2976               stroke-linecap: butt; 
    2977               stroke-linejoin: round; 
    2978               fill: none; 
    2979               stroke: #ff0000; 
    2980             } 
    2981  
    2982             .highway-racetrack-casing-white { 
    2983               stroke-width: 1.7px; 
    2984               stroke-linecap: butt; 
    2985               stroke-linejoin: round; 
    2986               fill: none; 
    2987               stroke: #ffffff; 
    2988             } 
    2989  
    2990             .highway-raceway-casing { 
    2991               stroke-width: 2px; 
    2992               stroke-linecap: butt; 
    2993               stroke-linejoin: round; 
    2994               fill: none; 
    2995               stroke: #101010; 
    2996               } 
    2997  
    2998             .highway-raceway-casing-disused { 
    2999               stroke-width: 2px; 
    3000               stroke-linecap: butt; 
    3001               stroke-linejoin: round; 
    3002               fill: none; 
    3003               stroke: #808080; 
    3004               stroke-dasharray: 1, 1; 
    3005               } 
    3006  
    3007             .highway-raceway-casing-dismantled { 
    3008               stroke-width: 2px; 
    3009               stroke-linecap: butt; 
    3010               stroke-linejoin: round; 
    3011               fill: none; 
    3012               stroke: #808080; 
    3013               stroke-dasharray: 0.3, 1.7; 
    3014               opacity: 0.5; 
    3015               } 
    3016  
    3017             .highway-raceway-core { 
    3018               stroke-width: 1.5px; 
    3019               stroke-linecap: butt; 
    3020               stroke-linejoin: round; 
    3021               fill: none; 
    3022               stroke: #f0f0f0; 
    3023             } 
    3024  
    3025             .highway-raceway-core-disused { 
    3026               stroke-width: 1.5px; 
    3027               stroke-linecap: butt; 
    3028               stroke-linejoin: round; 
    3029               fill: none; 
    3030               stroke-dasharray: 1, 1; 
    3031               stroke: #f7f7f7; 
    3032             } 
    3033  
    3034             .highway-raceway-core-dismantled { 
    3035               stroke-width: 1.5px; 
    3036               stroke-linecap: butt; 
    3037               stroke-linejoin: round; 
    3038               fill: none; 
    3039               stroke: #fbfbfb; 
    3040               stroke-dasharray: 0.3, 1.7; 
    3041               opacity: 0.5; 
    3042             } 
    3043  
    3044             .landuse-raceway { 
    3045               stroke-width: 0.3px; 
    3046               stroke-linecap: butt; 
    3047               stroke-linejoin: round; 
    3048               fill: #f0f0f0; 
    3049               stroke: #101010; 
    3050             } 
    3051  
    3052             .landuse-raceway-disused { 
    3053               stroke-width: 0.3px; 
    3054               stroke-linecap: butt; 
    3055               stroke-linejoin: round; 
    3056               fill: #f7f7f7; 
    3057               stroke: #808080; 
    3058               stroke-dasharray: 1, 1; 
    3059             } 
    3060  
    3061             .landuse-raceway-dismantled { 
    3062               stroke-width: 0.3px; 
    3063               stroke-linecap: butt; 
    3064               stroke-linejoin: round; 
    3065               fill: #fbfbfb; 
    3066               stroke: #808080; 
    3067               stroke-dasharray: 0.3, 1.7; 
    3068               opacity: 0.5; 
    3069             } 
    3070  
    3071  
    3072             .railway-station                        { fill: #ec2d2d;        stroke: #666666; stroke-width: 0.25px; } 
    3073             .railway-station-caption-casing         { stroke-width: 0.5px;  font-size: 1.5px; } 
    3074             .railway-station-caption-core           { fill: #ec2d2d;        font-size: 1.5px; } 
    3075  
    3076             .railway-halt                           { fill: #ec2d2d;        stroke: #666666; stroke-width: 0.1px; } 
    3077             .railway-halt-caption-casing            { stroke-width: 0.4px;  font-size: 1.25px; } 
    3078             .railway-halt-caption-core              { fill: #ec2d2d;        font-size: 1.25px; } 
    3079  
    3080  
    3081             /* Tourism */ 
    3082             .tourism-attraction { 
    3083                 fill: #f2caea; 
    3084                 stroke: #f124cb; 
    3085                 stroke-width: 0px; 
    3086             } 
    3087             .tourism-green-area { 
    3088                 fill: #c7f1a3; 
    3089                 stroke: #6fc18e; 
    3090                 stroke-width: 0.2px; 
    3091             } 
    3092             .tourism-attraction-caption { 
    3093                 fill: #f124cb; 
    3094                 stroke: white; 
    3095                 stroke-width: 0px; 
    3096                 font-family: "DejaVu Sans"; 
    3097                 font-size: 1.5px; 
    3098                 font-weight: bold; 
    3099                 text-anchor: middle; 
    3100             } 
    3101  
    3102  
    3103             .amenity-pub-caption-casing          { stroke-width: .5px;   font-size: 1px; } 
    3104             .amenity-pub-caption-core            { fill: #e21e2f;        font-size: 1px; } 
    3105  
    3106             .amenity-cinema-caption-casing       { stroke-width: .5px;   font-size: 1px; } 
    3107             .amenity-cinema-caption-core         { fill: #f124cb;        font-size: 1px; } 
    3108  
    3109             .amenity-theatre-caption-casing      { stroke-width: .5px;   font-size: 1px; } 
    3110             .amenity-theatre-caption-core        { fill: #f124cb;        font-size: 1px; } 
    3111  
    3112             .generic-caption-casing              { stroke-width: .5px;   font-size: 1px; } 
    3113             .generic-caption-core                { fill: #2e3ae6;        font-size: 1px; } 
    3114  
    3115             .generic-poi { 
    3116                 fill: #2e3ae6; 
    3117                 stroke: #666666; 
    3118                 stroke-width: 0.1px; 
    3119             } 
    3120  
    3121             /* Building */ 
    3122             .building { 
    3123                 fill: #dddddd; 
    3124                 stroke: #cccccc; 
    3125                 stroke-width: 0.2px; 
    3126             } 
    3127  
    3128             .building-block { 
    3129                 fill: #F3D6B6; 
    3130                 stroke: #6a5a8e; 
    3131                 stroke-width: 0.2px; 
    3132             } 
    3133  
    3134             .building-residential { 
    3135                 fill: #c95e2a; 
    3136                 stroke: #80290a; 
    3137                 stroke-width: 0.2px; 
    3138             } 
    3139  
    3140  
    3141             /* Aerialway */ 
    3142             .aerialway-line { 
    3143                 fill: none; 
    3144                 stroke: #202020; 
    3145                 stroke-width: 0.4px; 
    3146             } 
    3147  
    3148             .aerialway-cablecar-marker { 
    3149                 marker-start:url(#marker-cablecar); 
    3150             } 
    3151  
    3152             .aerialway-gondola-marker { 
    3153                 marker-start:url(#marker-gondola); 
    3154             } 
    3155  
    3156             .aerialway-chairlift2-marker { 
    3157                 marker-start:url(#marker-chair-lift-2); 
    3158             } 
    3159  
    3160             .aerialway-chairlift4-marker { 
    3161                 marker-start:url(#marker-chair-lift-4); 
    3162             } 
    3163  
    3164             .aerialway-mixedlift-marker { 
    3165                 marker-start:url(#marker-mixed-lift); 
    3166             } 
    3167  
    3168             .aerialway-struts { 
    3169                 fill: none; 
    3170                 stroke: #202020; 
    3171                 stroke-width: 4px; 
    3172                 stroke-dasharray: 0.2,20; 
    3173             } 
    3174  
    3175             .aerialway-station { 
    3176                 fill: black; 
    3177                 stroke: black; 
    3178                 stroke-width: 1px; 
    3179             } 
    3180  
    3181             .aerialway-name { 
    3182                 fill: #606060; 
    3183                 font-family: "DejaVu Sans"; 
    3184                 font-weight: normal; 
    3185                 font-size: 4px; 
    3186                 stroke: none; 
    3187                 text-anchor: middle; 
    3188             } 
    3189  
    3190             .aerialway-elevation-text { 
    3191                 fill: #606060; 
    3192                 font-family: "DejaVu Sans"; 
    3193                 font-weight: normal; 
    3194                 font-size: 3px; 
    3195                 text-anchor: middle; 
    3196             } 
    3197  
    3198             .military-area { 
    3199                fill: url(#military-pattern); 
    3200                stroke: #eeeeee; 
    3201                stroke-width: 0.2px; 
    3202             } 
    3203  
    3204             /* surface lifts */ 
    3205  
    3206             .piste-lift-t-bar-marker { 
    3207                 marker-start:url(#marker-piste-lift-t-bar); 
    3208             } 
    3209  
    3210             .piste-lift-rope-tow { 
    3211                 fill: none; 
    3212                 stroke: #a47c41; 
    3213                 stroke-width: 0.5px; 
    3214                 stroke-dasharray: 1,1; 
    3215                 stroke-linecap: square; 
    3216             } 
    3217  
    3218             .piste-lift-magic-carpet { 
    3219                 fill: none; 
    3220                 stroke: #101010; 
    3221                 stroke-width: 0.8px; 
    3222             } 
    3223  
    3224             /* Piste maps */ 
    3225             .piste-core { 
    3226                 fill: none; 
    3227                 stroke-linecap: round; 
    3228                 stroke-linejoin: round; 
    3229                 stroke-width: 5px; 
    3230                 opacity: 0.8; 
    3231             } 
    3232  
    3233             .piste-difficulty-novice       { stroke: #31ff31; } 
    3234             .piste-difficulty-easy         { stroke: #3131ff; } 
    3235             .piste-difficulty-intermediate { stroke: #ff3131; } 
    3236             .piste-difficulty-advanced     { stroke: #060606; } 
    3237             .piste-difficulty-expert       { stroke: #f6800a; } 
    3238             .piste-difficulty-freeride     { stroke: #f6dd0a; } 
    3239             .piste-difficulty-other        { stroke: #505050; } 
    3240  
    3241             .piste-downhill-name { 
    3242                 fill: #ffffff; 
    3243                 font-family: "DejaVu Sans"; 
    3244                 font-weight: normal; 
    3245                 font-size: 5px; 
    3246                 text-anchor: middle; 
    3247             } 
    3248  
    3249             .piste-downhill-ref { 
    3250                 fill: #000000; 
    3251                 font-family: "DejaVu Sans"; 
    3252                 font-weight: normal; 
    3253                 font-size: 5px; 
    3254                 text-anchor: middle; 
    3255             } 
    3256  
    3257             .piste-type-sled { 
    3258                 fill: none; 
    3259                 stroke: #cdabde; 
    3260                 stroke-width: 2.5px; 
    3261                 marker-start:url(#marker-piste-type-sled); 
    3262             } 
    3263  
    3264             .piste-type-nordic { 
    3265                 fill: none; 
    3266                 stroke: #c00000; 
    3267                 stroke-width: 1px; 
    3268                 stroke-dasharray: 3,0.5; 
    3269                 marker-start:url(#marker-piste-type-nordic); 
    3270             } 
    3271  
    3272             .man-made-piste-halfpipe { 
    3273                 fill: #a0f0ff; 
    3274                 stroke: #00bcdf; 
    3275                 stroke-width: 0.4px; 
    3276             } 
    3277  
    3278  
    3279             /* Power line */ 
    3280             .power-line { 
    3281                 stroke-width: 0.1px; 
    3282                 stroke-linecap: butt; 
    3283                 stroke-linejoin: round; 
    3284                 stroke: #cccccc; 
    3285                 stroke-dasharray: 1 ,1; 
    3286                 fill: none; 
    3287             } 
    3288  
    3289  
    3290             /* Area captions */ 
    3291             .park-name { 
    3292                 fill: #444444; 
    3293                 font-family: "DejaVu Sans"; 
    3294                 font-weight: normal; 
    3295                 stroke: white; 
    3296                 font-size: 2.25px; 
    3297                 stroke-width: 0.0px; 
    3298             } 
    3299  
    3300             .landuse-reservoir-name { 
    3301                 fill: #444444; 
    3302                 font-family: "DejaVu Sans"; 
    3303                 font-weight: normal; 
    3304                 stroke: white; 
    3305                 font-size: 2.25px; 
    3306                 stroke-width: 0.0px; 
    3307             } 
    3308  
    3309  
    3310             /* Oneway */ 
    3311             .oneway-casing { 
    3312                 fill: none; 
    3313                 stroke-linecap: butt; 
    3314                 stroke: #777777; 
    3315             } 
    3316  
    3317             /*    stroke: #a2aee9; */ 
    3318  
    3319             .oneway-core { 
    3320                 fill: none; 
    3321                 stroke-linecap: butt; 
    3322                 stroke: #ffffff; 
    3323             } 
    3324  
    3325             .oneway-casing-1 { 
    3326                 stroke-width: 0.2px; 
    3327                 stroke-dasharray: 2.1,27.9; 
    3328                 stroke-dashoffset: 23.1; 
    3329             } 
    3330  
    3331             .oneway-casing-2 { 
    3332                 stroke-width: 0.475px; 
    3333                 stroke-dasharray: 0.3,29.7; 
    3334                 stroke-dashoffset: 21.7; 
    3335             } 
    3336  
    3337             .oneway-casing-3 { 
    3338                 stroke-width: 0.4px; 
    3339                 stroke-dasharray: 0.3,29.7; 
    3340                 stroke-dashoffset: 21.6; 
    3341             } 
    3342  
    3343             .oneway-casing-4 { 
    3344                 stroke-width: 0.325px; 
    3345                 stroke-dasharray: 0.4,29.6; 
    3346                 stroke-dashoffset: 21.6; 
    3347             } 
    3348  
    3349             .oneway-casing-5 { 
    3350                 stroke-width: 0.25px; 
    3351                 stroke-dasharray: 0.5,29.5; 
    3352                 stroke-dashoffset: 21.6; 
    3353             } 
    3354  
    3355             .oneway-casing-6 { 
    3356                 stroke-width: 0.175px; 
    3357                 stroke-dasharray: 0.6,29.4; 
    3358                 stroke-dashoffset: 21.6; 
    3359             } 
    3360  
    3361             .oneway-casing-7 { 
    3362                 stroke-width: 0.1px; 
    3363                 stroke-dasharray: 0.7,29.3; 
    3364                 stroke-dashoffset: 21.6; 
    3365             } 
    3366  
    3367             .oneway-casing-8 { 
    3368                 stroke-width: 0.05px; 
    3369                 stroke-dasharray: 0.8,29.2; 
    3370                 stroke-dashoffset: 21.6; 
    3371             } 
    3372  
    3373             .oneway-core-1 { 
    3374                 stroke-width: 0.1px; 
    3375                 stroke-dasharray: 2,28; 
    3376                 stroke-dashoffset: 23; 
    3377             } 
    3378  
    3379             .oneway-core-2 { 
    3380                 stroke-width: 0.425px; 
    3381                 stroke-dasharray: 0.2,29.8; 
    3382                 stroke-dashoffset: 21.6; 
    3383             } 
    3384  
    3385             .oneway-core-3 { 
    3386                 stroke-width: 0.35px; 
    3387                 stroke-dasharray: 0.3,29.7; 
    3388                 stroke-dashoffset: 21.6; 
    3389             } 
    3390  
    3391             .oneway-core-4 { 
    3392                 stroke-width: 0.275px; 
    3393                 stroke-dasharray: 0.4,29.6; 
    3394                 stroke-dashoffset: 21.6; 
    3395             } 
    3396  
    3397             .oneway-core-5 { 
    3398                 stroke-width: 0.2px; 
    3399                 stroke-dasharray: 0.5,29.5; 
    3400                 stroke-dashoffset: 21.6; 
    3401             } 
    3402  
    3403             .oneway-core-6 { 
    3404                 stroke-width: 0.125px; 
    3405                 stroke-dasharray: 0.6,29.4; 
    3406                 stroke-dashoffset: 21.6; 
    3407             } 
    3408  
    3409             .oneway-core-7 { 
    3410                 stroke-width: 0.05px; 
    3411                 stroke-dasharray: 0.7,29.3; 
    3412                 stroke-dashoffset: 21.6; 
    3413             } 
    3414  
    3415             .otherway { 
    3416                 fill: none; 
    3417                 stroke: red; 
    3418                 stroke-width: 2px; 
    3419                 stroke-opacity: 0; 
    3420                 /* marker-start: url(#marker-otherway-start); */ 
    3421                 marker-end: url(#marker-otherway-end); 
    3422             } 
    3423  
    3424         /* SAC scales for paths and footways 
    3425            colors taken from: 
    3426            http://www.sac-cas.ch/uploads/media/SAC_Wanderskala_Vergleich_01.pdf 
    3427         */ 
    3428         .sac-scale-t1 { 
    3429           stroke: red; 
    3430           stroke-width: 0.1px; 
    3431           fill: none; 
    3432         } 
    3433  
    3434         .sac-scale-t2 { 
    3435           stroke-dasharray: 0.5, 0.5; 
    3436           stroke: red; 
    3437           stroke-width: 0.1px; 
    3438           fill: none; 
    3439         } 
    3440  
    3441         .sac-scale-t3 { 
    3442           stroke-dasharray: 0.01, 0.15; 
    3443           stroke-linecap: round; 
    3444           stroke: red; 
    3445           stroke-width: 0.1px; 
    3446           fill: none; 
    3447         } 
    3448  
    3449         .sac-scale-t4 { 
    3450           stroke: blue; 
    3451           stroke-width: 0.1px; 
    3452           fill: none; 
    3453         } 
    3454  
    3455         .sac-scale-t5 { 
    3456           stroke-dasharray: 0.5, 0.5; 
    3457           stroke: blue; 
    3458           stroke-width: 0.1px; 
    3459           fill: none; 
    3460         } 
    3461  
    3462         .sac-scale-t6 { 
    3463           stroke-dasharray: 0.01, 0.15; 
    3464           stroke-linecap: round; 
    3465           stroke: blue; 
    3466           stroke-width: 0.1px; 
    3467           fill: none; 
    3468         } 
    3469                  
    3470             /* Access restrictions */ 
    3471             .access-private-line { 
    3472                 fill: none; 
    3473                 stroke: url(#access-private-pattern); 
    3474                 stroke-width: 1.5px; 
    3475             } 
    3476             .access-private-area { 
    3477                 fill: url(#access-private-pattern); 
    3478                 stroke: url(#access-private-pattern); 
    3479                 stroke-width: 1px; 
    3480             } 
    3481             .access-private-small-area { 
    3482                 fill: url(#access-private-pattern); 
    3483                 stroke: url(#access-private-pattern); 
    3484                 stroke-width: 0.5px; 
    3485             } 
    3486  
    3487             .access-permissive-line { 
    3488                 fill: none; 
    3489                 stroke: url(#access-permissive-pattern); 
    3490                 stroke-width: 1.5px; 
    3491             } 
    3492             .access-permissive-area { 
    3493                 fill: url(#access-permissive-pattern); 
    3494                 stroke: url(#access-permissive-pattern); 
    3495                 stroke-width: 1px; 
    3496             } 
    3497             .access-permissive-small-area { 
    3498                 fill: url(#access-permissive-pattern); 
    3499                 stroke: url(#access-permissive-pattern); 
    3500                 stroke-width: 0.5px; 
    3501             } 
    3502  
    3503             .access-destination-line { 
    3504                 fill: none; 
    3505                 stroke: url(#access-destination-pattern); 
    3506                 stroke-width: 1.5px; 
    3507             } 
    3508             .access-destination-area { 
    3509                 fill: url(#access-destination-pattern); 
    3510                 stroke: url(#access-destination-pattern); 
    3511                 stroke-width: 1px; 
    3512             } 
    3513             .access-destination-small-area { 
    3514                 fill: url(#access-destination-pattern); 
    3515                 stroke: url(#access-destination-pattern); 
    3516                 stroke-width: 0.5px; 
    3517             } 
    3518  
    3519             .access-no-line { 
    3520                 fill: none; 
    3521                 stroke: url(#access-no-pattern); 
    3522                 stroke-width: 1.5px; 
    3523             } 
    3524             .access-no-area { 
    3525                 fill: url(#access-no-pattern); 
    3526                 stroke: url(#access-no-pattern); 
    3527                 stroke-width: 1px; 
    3528             } 
    3529             .access-no-small-area { 
    3530                 fill: url(#access-no-pattern); 
    3531                 stroke: url(#access-no-pattern); 
    3532                 stroke-width: 0.5px; 
    3533             } 
    3534  
    3535             /* Map decoration */ 
    3536             .map-grid-line { 
    3537                 fill: none; 
    3538                 stroke: #8080ff; 
    3539                 stroke-width: 0.1px; 
    3540                 stroke-opacity: 0.5; 
    3541             } 
    3542  
    3543             .map-border-casing { 
    3544                 fill: none; 
    3545                 stroke: #8080ff; 
    3546                 stroke-width: 3px; 
    3547                 stroke-miterlimit: 4; 
    3548                 stroke-dasharray: none; 
    3549                 stroke-opacity: 1; 
    3550                 stroke-linecap: round; 
    3551             } 
    3552  
    3553             .map-border-core { 
    3554                 fill: none; 
    3555                 fill-opacity: 1; 
    3556                 fill-rule: nonzero; 
    3557                 stroke: #ffffff; 
    3558                 stroke-width: 2px; 
    3559                 stroke-miterlimit: 0; 
    3560                 stroke-dashoffset: -0.5px; 
    3561                 stroke-opacity: 1; 
    3562             } 
    3563  
    3564             .map-scale-casing { 
    3565                 fill: none; 
    3566                 stroke: #8080ff; 
    3567                 stroke-width: 4px; 
    3568                 stroke-linecap: butt; 
    3569             } 
    3570  
    3571             .map-scale-core { 
    3572                 fill: none; 
    3573                 stroke: #ffffff; 
    3574                 stroke-width: 3px; 
    3575                 stroke-linecap: butt; 
    3576             } 
    3577  
    3578             .map-scale-bookend { 
    3579                 fill: none; 
    3580                 stroke: #8080ff; 
    3581                 stroke-width: 1px; 
    3582                 stroke-linecap: butt; 
    3583             } 
    3584  
    3585             .map-scale-caption { 
    3586                 font-family: "DejaVu Sans"; 
    3587                 font-size: 10px; 
    3588                 fill: #8080ff; 
    3589             } 
    3590  
    3591             <!-- map background must be the same for all zooms or else empty tile detection will fail --> 
    3592             .map-background { 
    3593                 fill: #f8f8f8; 
    3594                 stroke: none; 
    3595             } 
    3596  
    3597             .map-title { 
    3598                 font-family: "DejaVu Sans"; 
    3599                 font-size: 20px; 
    3600                 text-anchor: middle; 
    3601                 fill: black; 
    3602             } 
    3603  
    3604             .map-title-background { 
    3605                 fill: white; 
    3606             } 
    3607  
    3608             .map-marginalia-background { 
    3609                 fill: white; 
    3610             } 
    3611  
    3612             .highway-tunnel-ends { 
    3613                 stroke-opacity: 0; 
    3614                 fill: none; 
    3615                 marker-start: url(#marker-tunnel-start); 
    3616                 marker-end: url(#marker-tunnel-end); 
    3617              } 
    3618  
    3619             /* Osmarender built-in styles - do not remove */ 
    3620             .osmarender-stroke-linecap-round { stroke-linecap: round; } 
    3621             .osmarender-stroke-linecap-butt { stroke-linecap: butt; } 
    3622             .osmarender-mask-black { stroke: black; } 
    3623             .osmarender-mask-white { stroke: white; } 
    3624             .osmarender-no-marker-start { marker-start: none; } 
    3625             .osmarender-no-marker-end { marker-end: none; } 
    3626         </style> 
    3627  
    3628         <svg:pattern x="0" y="0" width="200" height="200" id="wood-deciduous-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.1)"> 
    3629             <svg:rect fill="#72bf81" width="205" height="205" x="0" y="0"/> 
    3630             <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"/> 
    3631             <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"/> 
    3632         </svg:pattern> 
    3633         <svg:pattern x="0" y="0" width="200" height="200" id="wood-coniferous-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.1)"> 
    3634             <svg:rect fill="#72bf81" width="205" height="205" x="0" y="0"/> 
    3635             <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"/> 
    3636             <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"/> 
    3637         </svg:pattern> 
    3638         <svg:pattern x="0" y="0" width="300" height="200" id="wood-mixed-pattern" patternUnits="userSpaceOnUse" patternTransform="scale(0.1)"> 
    3639             <svg:rect fill="#72bf81" width="305" height="205" x="0" y="0"/> 
    3640             <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"/> 
    3641             <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"/> 
    3642             <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"/> 
    3643             <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"/> 
    3644         </svg:pattern> 
    3645  
    3646         <svg:pattern id="military-pattern" x="0" y="0" width="500" height="500" patternUnits="userSpaceOnUse" patternTransform="scale(0.01)"> 
    3647             <svg:rect width="510" height="510" x="0" y="0" fill="#969632"/> 
    3648             <svg:path fill="#505000" 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 "/> 
    3649             <svg:path fill="#505000" 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 "/> 
    3650             <svg:path fill="#505000" 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"/> 
    3651             <svg:path fill="#505000" 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"/> 
    3652             <svg:path fill="#505000" 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"/> 
    3653             <svg:path fill="#505000" 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"/> 
    3654             <svg:path fill="#505000" 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 "/> 
    3655             <svg:path fill="#505000" 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"/> 
    3656             <svg:path fill="#505000" 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"/> 
    3657             <svg:path fill="#505000" 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"/> 
    3658         </svg:pattern> 
    3659  
    3660         <svg:pattern id="cemetery-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)"> 
    3661             <svg:rect fill="#bde3cb" width="10" height="10" x="0" y="0"/> 
    3662             <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 "/> 
    3663             <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 "/> 
    3664         </svg:pattern> 
    3665         <svg:pattern id="cemetery-christian-pattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)"> 
    3666             <svg:rect fill="#bde3cb" width="11" height="11" x="0" y="0"/> 
    3667             <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"/> 
    3668         </svg:pattern> 
    3669  
    3670         <svg:pattern patternUnits="userSpaceOnUse" width="104.8886" height="112.38862" patternTransform="scale(0.05,0.05)" id="vineyard-pattern"> 
    3671             <svg:rect fill="#d5f2e0" width="104.8886" height="112.38862" x="0" y="0"/> 
    3672             <svg:g transform="translate(-35,-59.111382)"> 
    3673                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3674                 <svg:rect 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"/> 
    3675                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3676                 <svg:rect 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"/> 
    3677                 <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"/> 
    3678                 <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)"/> 
    3679                 <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)"/> 
    3680                 <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)"/> 
    3681                 <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)"/> 
    3682                 <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)"/> 
    3683                 <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)"/> 
    3684                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3685                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3686                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3687                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3688                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3689                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3690                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3691                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3692                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3693                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3694                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3695                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3696                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3697                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3698                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3699                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3700                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3701                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3702                 <svg:rect 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"/> 
    3703                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3704                 <svg:rect 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"/> 
    3705                 <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"/> 
    3706                 <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)"/> 
    3707                 <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)"/> 
    3708                 <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)"/> 
    3709                 <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)"/> 
    3710                 <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)"/> 
    3711                 <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)"/> 
    3712                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3713                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3714                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3715                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3716                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3717                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3718                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3719                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3720                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3721                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3722                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3723                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3724                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3725                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3726                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3727                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3728                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3729                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3730                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3731                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3732                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3733                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3734                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3735                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3736                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3737                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3738                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3739                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3740                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3741                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3742                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3743                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3744                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3745                 <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"/> 
    3746                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3747                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3748                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3749                 <svg:rect style="fill:#7ba274;fill-opacity: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"/> 
    3750             </svg:g> 
    3751         </svg:pattern> 
    3752  
    3753         <svg:pattern id="access-private-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)"> 
    3754             <svg:path fill="none" stroke="#ff4040" stroke-width="0.1" d="M5,0 L0,5 M0,0 L5,5"/> 
    3755         </svg:pattern> 
    3756         <svg:pattern id="access-permissive-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)"> 
    3757             <svg:path fill="none" stroke="#40ff40" stroke-width="0.1" d="M5,0 L0,5 M0,0 L5,5"/> 
    3758         </svg:pattern> 
    3759         <svg:pattern id="access-destination-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)"> 
    3760             <svg:path fill="none" stroke="#4040ff" stroke-width="0.1" d="M5,0 L0,5 M0,0 L5,5"/> 
    3761         </svg:pattern> 
    3762         <svg:pattern id="access-no-pattern" x="0" y="0" width="5" height="5" patternUnits="userSpaceOnUse" patternTransform="scale(0.25)"> 
    3763             <svg:path fill="none" stroke="#ff4040" stroke-width="0.1" d="M5,0 L0,5 M0,0 L5,5"/> 
    3764         </svg:pattern> 
    3765  
    3766         <svg:marker 
    3767             id="bridge-casing-end" 
    3768             markerUnits="strokeWidth" 
    3769             fill='none' 
    3770             stroke-width='0.06px' 
    3771             viewBox='-1 -1 2 2' 
    3772             refX='1' 
    3773             refY='1' 
    3774             markerWidth='2' 
    3775             markerHeight='2' 
    3776             stroke='#777777' 
    3777             orient="auto"> 
    3778             <svg:path d="M -0.05,0.45 L 0.3,0.8 M -0.05,-0.45 L 0.3,-0.8" /> 
    3779         </svg:marker> 
    3780  
    3781         <svg:marker 
    3782             id="bridge-casing-start" 
    3783             markerUnits="strokeWidth" 
    3784             fill='none' 
    3785             stroke-width='0.06px' 
    3786             viewBox='-1 -1 2 2' 
    3787             refX='1' 
    3788             refY='1' 
    3789             markerWidth='2' 
    3790             markerHeight='2' 
    3791             stroke='#777777' 
    3792             orient="auto"> 
    3793             <svg:path d="M 0.05,0.45 L -0.3,0.8 M 0.05,-0.45 L -0.3,-0.8" /> 
    3794         </svg:marker> 
    3795  
    3796         <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"> 
    3797             <svg:path d="M 4,1 A5,4.25 0 0,1 4,9"/> 
    3798         </svg:marker> 
    3799         <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"> 
    3800             <svg:path d="M 6,1 A5,4.25 0 0,0 6,9"/> 
    3801         </svg:marker> 
    3802  
    3803         <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"> 
    3804             <svg:path d="M 1,0 L 1,10 M 3,0 L 3,10"/> 
    3805         </svg:marker> 
    3806         <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"> 
    3807             <svg:path d="M 1,0 L 1,10"/> 
    3808         </svg:marker> 
    3809         <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"> 
    3810             <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"/> 
    3811         </svg:marker> 
    3812  
    3813         <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"> 
    3814             <svg:path d="M3.5,0 L3.5,10 M6.5,0 L6.5,10 M 10,1 L 1,10"/> 
    3815         </svg:marker> 
    3816  
    3817         <svg:marker id="marker-otherway-start" viewBox="0 0 10 10" refX="-30px" refY="5px" markerUnits="userSpaceOnUse" fill="#FFFFFF" stroke-width="1px" stroke="#000000" markerWidth="1px" markerHeight="1px" orient="auto"> 
    3818             <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"/> 
    3819         </svg:marker> 
    3820         <svg:marker id="marker-otherway-end" viewBox="0 0 10 10" refX="30px" refY="5px" markerUnits="userSpaceOnUse" fill="#FFFFFF" stroke-width="1px" stroke="#000000" markerWidth="1px" markerHeight="1px" orient="auto"> 
    3821             <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"/> 
    3822         </svg:marker> 
    3823      
    3824     <svg:marker id="marker-piste-type-sled" viewBox="0 0 10 10" refX="-1px" refY="10px" markerUnits="userSpaceOnUse" fill="#000000" stroke="none" markerWidth="7px" markerHeight="7px" orient="auto"> 
    3825         <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"/> 
    3826     </svg:marker> 
    3827     <svg:marker id="marker-piste-type-nordic" viewBox="0 0 10 10" refX="-1px" refY="10px" markerUnits="userSpaceOnUse" fill="#000000" stroke="none" markerWidth="7px" markerHeight="7px" orient="auto"> 
    3828         <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"/> 
    3829     </svg:marker> 
    3830     </defs> 
     174    </rule>--> 
    3831175</rules> 
  • trunk/test/testRuleset.c

    r25 r29  
    1 #define DEBUG 
     1/* 
     2 * Memphis - Cairo Rederer for OSM in C 
     3 * Copyright (C) 2008  <marius.rieder@durchmesser.ch> 
     4 * 
     5 * This program is free software; you can redistribute it and/or modify 
     6 * it under the terms of the GNU General Public License as published by 
     7 * the Free Software Foundation; either version 2 of the License, or 
     8 * (at your option) any later version. 
     9 * 
     10 * This program is distributed in the hope that it will be useful, 
     11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 
     12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
     13 * GNU General Public License for more details. 
     14 * 
     15 * You should have received a copy of the GNU General Public License 
     16 * along with this program; if not, write to the Free Software Foundation, 
     17 * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. 
     18 */ 
     19#include <glib.h> 
     20#include <time.h> 
     21#include <stdio.h> 
     22#include <stdlib.h> 
     23#include <string.h> 
    224 
    325 
    4 #include "ruleset.h" 
    5 #include "list.h" 
    6 #include "strlist.h" 
     26#include "../ruleset.h" 
     27#include "../main.h" 
    728 
    8 #include <stdio.h> 
     29memphisOpt  *opts; 
     30GTree       *keyStrings; 
     31GTree       *valStrings; 
     32GTree       *patternStrings; 
    933 
    10 // Global Vars 
    11 int         debug; 
    12 strList     *keyStrings; 
    13 strList     *valStrings; 
     34gint g_strcmp(gconstpointer  a, gconstpointer  b) { 
     35    return strcmp((char *)a,(char *)b); 
     36} 
    1437 
    15 int main(int argc, char **argv) { 
    16     cfgRules   *rules; 
    17     cfgRule    *rule; 
    18     cfgDraw    *draw; 
    19     int        i=0; 
    20     char       **ref; 
    21      
    22     debug = 2; 
    23      
    24     rules = (cfgRules *) rulesetRead("rule.xml"); 
    25      
    26     fprintf(stdout,"------------------------\n"); 
    27     rule = rules->rule; 
    28     while(rule) { 
    29        i++; 
    30        int h; 
    31        for(h=0;h<rule->d;h++){ 
    32             fprintf(stdout,"-"); 
    33        } 
    34         
    35        fprintf(stdout,"rule %i %i\n",(rule->type&WAY),(rule->type&NODE)); 
    36         
    37        ref = rule->key; 
    38        while (*ref != NULL) { 
    39             fprintf(stdout," K: %s\n", *(ref)); 
    40             ref++; 
    41        } 
    42        ref = rule->value; 
    43        while (*ref != NULL) { 
    44             fprintf(stdout," V: %s\n", *(ref)); 
    45             ref++; 
    46        } 
    47         
    48        draw = rule->draw; 
    49        while (draw) { 
    50             fprintf(stdout," D: %i\n", draw->type); 
    51             draw = draw->next; 
    52        } 
    53         
    54         
    55        if(rule->nsub) { 
    56         for(h=0;h<rule->d;h++){ 
    57             fprintf(stdout,"-"); 
    58         } 
    59                fprintf(stdout,"else\n"); 
    60        } 
    61             
    62        if(rule->sub != NULL) { 
    63            rule = rule->sub; 
    64        } else { 
    65            rule = rule->next; 
    66        } 
    67     } 
    68     fprintf(stdout,"Rules %i:%i\n", rules->cntRule, i); 
    69     fprintf(stdout,"Else  %i\n", rules->cntElse); 
    70     fprintf(stdout,"------------------------\n"); 
     38int main () { 
     39     
     40    opts = malloc(sizeof(memphisOpt)); 
     41    opts->debug=1; 
     42     
     43     
     44    keyStrings = g_tree_new(g_strcmp); 
     45    valStrings = g_tree_new(g_strcmp); 
     46    patternStrings = g_tree_new(g_strcmp); 
     47     
     48    rulesetRead("test/ruleset.xml"); 
     49         
     50    return (0); 
    7151} 
     52 
     53/* 
     54 * vim: expandtab shiftwidth=4 tabstop=4: 
     55 */ 
Note: See TracChangeset for help on using the changeset viewer.