Changes between Version 45 and Version 52 of Styles/Maxspeed


Ignore:
Timestamp:
(multiple changes)
Author:
(multiple changes)
Comment:
(multiple changes)

Legend:

Unmodified
Added
Removed
Modified
  • Styles/Maxspeed

    v45 v52  
    77* maxspeed:forward
    88* maxspeed:backward
    9 * [[osmwiki:Conditional_restrictions|maxspeed:conditional]]
     9* [[osmwiki:Key:maxspeed:conditional|maxspeed:conditional]]
    1010* maxspeed:forward:conditional
    1111* maxspeed:backward:conditional
     
    1313* maxspeed:variable:forward
    1414* maxspeed:variable:backward
     15* [[osmwiki:Key:maxspeed:advisory|maxspeed:advisory]]
     16* maxspeed:advisory:forward
     17* maxspeed:advisory:backward
    1518
    1619This style was mainly developed for streets but can be used on railways too.
     
    2427[[Image(maxspeed_legend.png)]]
    2528
     29On high zoom the maxspeed values are displayed as text. This can be disabled in the [wiki:Help/Dialog/MapPaint/StyleSettings style settings] of this mappaint style.
     30
     31How the different keys are supported by this style:
     32
     33||= key =||= color =||= text =||= text abbreviation =||= validation =||
     34||`maxspeed`  || yes || yes ||  || yes ||
     35||`maxspeed:forward`  || yes || yes || fw || yes ||
     36||`maxspeed:backward`  || yes || yes || bw || yes ||
     37||`maxspeed:conditional`  || yes (dashed pattern) || yes || c (value before `@` only) || yes ||
     38||`maxspeed:forward:conditional`  || yes (dashed pattern) || yes || fwc (value before `@` only) || yes ||
     39||`maxspeed:backward:conditional`  || yes (dashed pattern) || yes || bwc (value before `@` only) || yes ||
     40||`maxspeed:variable`  || yes (different dashed pattern) || yes (all values except `no`) || v (without the actual value) || no ||
     41||`maxspeed:variable:forward`  || yes (different dashed pattern) || yes (all values except `no`) || vfw (without the actual value) || no ||
     42||`maxspeed:variable:backward`  || yes (different dashed pattern) || yes (all values except `no`) || vbw (without the actual value) || no ||
     43||`maxspeed:advisory`  || no || yes || a || yes ||
     44||`maxspeed:advisory:forward`  || no || yes || afw || yes ||
     45||`maxspeed:advisory:backward`  || no || yes || abw || yes ||
     46
     47
     48[osmwiki:Key:maxspeed#Implicit_maxspeed_values Implicit maxspeed values] are currently supported for the following countries: `BY` (Belarus), `FR` (France), `RO` (Romania), `RS` (Serbia), `RU` (Russia). This needs to be enabled in the [wiki:Help/Dialog/MapPaint/StyleSettings style settings] of this mappaint style first if wanted.
     49
    2650For ideas/questions/bugs/suggestions or similar please write a message to [osmwww:user/Klumbumbus Klumbumbus].
    2751
     
    3054[attachment:Testcenter.osm Testcenter] for quality assurance of this style.
    3155
    32 [osmwiki:Key:maxspeed#Implicit_maxspeed_values Implicit maxspeed values] are currently supported for the following countries: BY (Belarus), FR (France), RO (Romania), RS (Serbia), RU (Russia). This needs to be enabled in the [wiki:Help/Dialog/MapPaint/StyleSettings style settings] of this mappaint style first if wanted.
    33 
    3456Known problems:
    35 * Dashes can sometimes lead to rendering artefacts (dash goes straight on, while the road has a corner), see JOSM bug #8429. Just zoom to fix it.
    36 * When using different forward and backward conditional values or variable values, the dashes on the left and right of the road can sometimes be asynchronous, see JOSM bug #11994. Just zoom or move the map to fix it.
     57* When using `forward`/`backward` values in combination with `conditional` values or `variable`, the dashes on the left and right of the road can sometimes be asynchronous, see JOSM bug #11994.
    3758
    3859
    3960== Changelog ==
     61=== Version 3.1 ===
     62* Unify indentation (4 spaces instead of tabulator), no code change
     63=== Version 3.0 ===
     64* Add display of all supported `maxspeed` values as text on high zoom (partly shortened and with abbreviation, see table above); can be disabled by style setting
     65* Rework error display code to make it compatible with `maxspeed` values display
     66* Add and improve some corner cases of the error display
     67* Add support of `maxspeed:advisory` (by user request); only by text display as a 3rd color (beside `maxspeed` and `maxspeed:conditional`) combined with `forward`/`backward` and `variable` would be too confusing
     68* Add error display for wrong `maxspeed:advisory` values
     69=== Version 2.9 ===
     70* Add color for `80 mph` (same as `140`) and `85 mph` (new color) by user request (used in USA)
     71* Make color of `30` and `45 mph` a little brighter to better distinguish from `100` and `60` mph
    4072=== Version 2.8 ===
    41 * Change style setting "maxspeed=RU:* tagging scheme" to general "implicit maxspeed values" and make it disabled by default. Add support for countries with most usage (RO, FR and BY) and RS by user request
     73* Change style setting "maxspeed=RU:* tagging scheme" to general "implicit maxspeed values" and make it disabled by default. Add support for countries with most usage (`RO`, `FR` and `BY`) and `RS` by user request
    4274* A little stricter checking of bad values for some corner cases, e.g. `20 mphh` is now reported as wrong value (was simply ignored before)
    4375=== Version 2.7 ===
    44 * Add support of maxspeed=* + maxspeed:direction:conditional=* (without maxspeed:direction=*), fixes bug in version 2.5
     76* Add support of `maxspeed=*` + `maxspeed:direction:conditional=*` (without `maxspeed:direction=*`), fixes bug in version 2.5
    4577* Better display of error messages
    4678* Remove opacity because of different reasons
    47 * Adjust color for 120
    48 * If maxspeed and maxspeed:direction is tagged together (tagging error) it is now no longer displayed both stacked, but direction value overrides normal maxspeed value
    49 * Support combinations of conditional and variable maxspeed
    50 * Add 140
     79* Adjust color for `120`
     80* If `maxspeed` and `maxspeed:direction` is tagged together (tagging error) it is now no longer displayed both stacked, but direction value overrides normal `maxspeed` value
     81* Support combinations of `conditional` and `variable` `maxspeed`
     82* Add `140`
    5183=== Version 2.5 ===
    52 * Add support of maxspeed:conditional, maxspeed:forward:conditional and maxspeed:backward:conditional
    53 * Add error message for wrong value of conditional maxspeed
    54 * Add error message for conditional maxspeed without default maxspeed
     84* Add support of `maxspeed:conditional`, `maxspeed:forward:conditional` and `maxspeed:backward:conditional`
     85* Add error message for wrong value of `conditional` `maxspeed`
     86* Add error message for `conditional` `maxspeed` without default `maxspeed`
    5587* Add in file table of contents and numbered headings for better understandability of the code structure
    5688=== Version 2.1 ===
     
    6092=== Version 2.0 ===
    6193* change from xml to mapcss
    62 * support of maxspeed:forward and maxspeed:backward (considering left and right hand traffic)
    63 * support of maxspeed:variable, maxspeed:variable:forward and maxspeed:variable:backward (dashed line)
    64 * highlight color is now below the highway line, to see the highway type (residential, secondary, motorway,...)
    65 * removed support of values without space between number and unit (e.g. ''35mph'')
    66 * added error message for wrong maxspeed values (like ''35mph'' or ''35 m/h'')
    67 * added error message if maxspeed direction is opposed to oneway direction
     94* support of `maxspeed:forward` and `maxspeed:backward` (considering left and right hand traffic)
     95* support of `maxspeed:variable`, `maxspeed:variable:forward` and `maxspeed:variable:backward` (dashed line)
     96* highlight color is now below the highway line, to see the highway type (`residential`, `secondary`, `motorway`,...)
     97* removed support of values without space between number and unit (e.g. `35mph`)
     98* added error message for wrong `maxspeed` values (like `35mph` or `35 m/h`)
     99* added error message if `maxspeed` direction is opposed to `oneway` direction
    68100* adjusted to most used values according to [https://taginfo.openstreetmap.org/keys/maxspeed#values taginfo]
    69  * added ''20'', ''45'', ''none''
    70  * removed unused values like ''32.19''
     101 * added `20`, `45`, `none`
     102 * removed unused values like `32.19`
    71103* adjusted opacities, widths and some colors for better display and distinction between the colors
    72104* widths depends on zoom level
     
    110142 5.3.2 - mph
    111143 5.4 - general rules
    112 6 - error reporting
    113  6.1 - report wrong value of maxspeed
    114  6.2 - report wrong value of maxspeed:conditional
    115  6.3 - report conditional maxspeed without default maxspeed
    116  6.4 - report if maxspeed direction is opposed to oneway direction
     1446 - display maxspeed values as text
     1457 - error reporting
     146 7.1 - report wrong value of maxspeed
     147 7.2 - report wrong value of maxspeed:conditional
     148 7.3 - report conditional maxspeed without default maxspeed
     149 7.4 - report wrong value of maxspeed:advisory
     150 7.5 - report if maxspeed direction is opposed to oneway direction
    117151 
    118152*/
     
    123157meta
    124158{
    125         title: "Maxspeed";
    126         version: "2.8.[[revision]]_[[date]]";
    127         description: "Display maxspeed values of ways in the map view.";
    128         icon: "maxspeed_icon.svg";
    129         author: "Rubke, Dirk Stöcker, Vclaw, Klumbumbus";
    130         link: "https://josm.openstreetmap.de/wiki/Styles/Maxspeed";
    131         min-josm-version: "7450"; /* because of user settings */
     159    title: "Maxspeed";
     160    version: "3.1.[[revision]]_[[date]]";
     161    description: "Display maxspeed values of ways in the map view.";
     162    icon: "maxspeed_icon.svg";
     163    author: "Rubke, Dirk Stöcker, Vclaw, Klumbumbus";
     164    link: "https://josm.openstreetmap.de/wiki/Styles/Maxspeed";
     165    min-josm-version: "7450"; /* because of user settings */
    132166}
    133167meta[lang=de]
    134168{
    135         title: "Höchstgeschwindigkeit";
    136         description: "Anzeige der Höchstgeschwindigkeiten von Linien in der Kartenanzeige.";
    137         link: "https://josm.openstreetmap.de/wiki/De:Styles/Maxspeed";
     169    title: "Höchstgeschwindigkeit";
     170    description: "Anzeige der Höchstgeschwindigkeiten von Linien in der Kartenanzeige.";
     171    link: "https://josm.openstreetmap.de/wiki/De:Styles/Maxspeed";
    138172}
    139173
     
    143177/* 2.1 - create user settings */
    144178setting::implicit {
    145   type: boolean;
    146   label: tr("Support implicit maxspeed values, e.g. RO:urban (only in BY, FR, RO, RU, RS)");
    147   default: false;
     179    type: boolean;
     180    label: tr("Support implicit maxspeed values, e.g. RO:urban (only in BY, FR, RO, RU, RS)");
     181    default: false;
     182}
     183setting::textdisplay {
     184    type: boolean;
     185    label: tr("Display maxspeed values as text");
     186    default: true;
    148187}
    149188
     
    151190way["tiger:reviewed"=no]::core_tiger
    152191{
    153         opacity: 0;
     192    opacity: 0;
    154193}
    155194
     
    157196way[highway]
    158197{
    159         text: none;
     198    text: none;
    160199}
    161200
     
    163202way["maxspeed:conditional"=~/^(none|[1-9][0-9]*) @ /]::maxspeedlayer
    164203{
    165         maxsp_cond: get(split(" ", tag("maxspeed:conditional")), 0);
    166         set cond_kmh;
     204    maxsp_cond: get(split(" ", tag("maxspeed:conditional")), 0);
     205    set cond_kmh;
    167206}
    168207way["maxspeed:forward:conditional"=~/^(none|[1-9][0-9]*) @ /]::maxspeedcasinglayer
    169208{
    170         maxsp_forward_cond: get(split(" ", tag("maxspeed:forward:conditional")), 0);
    171         set cond_forward_kmh;
     209    maxsp_forward_cond: get(split(" ", tag("maxspeed:forward:conditional")), 0);
     210    set cond_forward_kmh;
    172211}
    173212way["maxspeed:backward:conditional"=~/^(none|[1-9][0-9]*) @ /]::maxspeedcasinglayer
    174213{
    175         maxsp_backward_cond: get(split(" ", tag("maxspeed:backward:conditional")), 0);
    176         set cond_backward_kmh;
     214    maxsp_backward_cond: get(split(" ", tag("maxspeed:backward:conditional")), 0);
     215    set cond_backward_kmh;
    177216}
    178217way["maxspeed:conditional"=~/^[1-9][0-9]* mph @ /]::maxspeedlayer
    179218{
    180         maxsp_cond: get(split(" ", tag("maxspeed:conditional")), 0);
    181         set cond_mph;
     219    maxsp_cond: get(split(" ", tag("maxspeed:conditional")), 0);
     220    set cond_mph;
    182221}
    183222way["maxspeed:forward:conditional"=~/^[1-9][0-9]* mph @ /]::maxspeedcasinglayer
    184223{
    185         maxsp_forward_cond: get(split(" ", tag("maxspeed:forward:conditional")), 0);
    186         set cond_forward_mph;
     224    maxsp_forward_cond: get(split(" ", tag("maxspeed:forward:conditional")), 0);
     225    set cond_forward_mph;
    187226}
    188227way["maxspeed:backward:conditional"=~/^[1-9][0-9]* mph @ /]::maxspeedcasinglayer
    189228{
    190         maxsp_backward_cond: get(split(" ", tag("maxspeed:backward:conditional")), 0);
    191         set cond_backward_mph;
     229    maxsp_backward_cond: get(split(" ", tag("maxspeed:backward:conditional")), 0);
     230    set cond_backward_mph;
    192231}
    193232
     
    202241way["maxspeed"="none"]::maxspeedlayer
    203242{
    204         set maxspeed;
    205         color: speed_none#febede;
     243    set maxspeed;
     244    color: speed_none#febede;
    206245}
    207246way["maxspeed"="5"]::maxspeedlayer
    208247{
    209         set maxspeed;
    210         color: speed_5#ff5656;
     248    set maxspeed;
     249    color: speed_5#ff5656;
    211250}
    212251way["maxspeed"="10"]::maxspeedlayer,
    213252way["maxspeed"="RS:living_street"][setting("implicit")]::maxspeedlayer
    214253{
    215         set maxspeed;
    216         color: speed_10#b80022;
     254    set maxspeed;
     255    color: speed_10#b80022;
    217256}
    218257way["maxspeed"="15"]::maxspeedlayer
    219258{
    220         set maxspeed;
    221         color: speed_15#00da8b;
     259    set maxspeed;
     260    color: speed_15#00da8b;
    222261}
    223262way["maxspeed"="20"]::maxspeedlayer,
     
    225264way["maxspeed"="RU:living_street"][setting("implicit")]::maxspeedlayer
    226265{
    227         set maxspeed;
    228         color: speed_20#e3cc82;
     266    set maxspeed;
     267    color: speed_20#e3cc82;
    229268}
    230269way["maxspeed"="30"]::maxspeedlayer,
    231270way["maxspeed"="FR:zone30"][setting("implicit")]::maxspeedlayer
    232271{
    233         set maxspeed;
    234         color: speed_30#4d4dff;
     272    set maxspeed;
     273    color: speed_30#4d4dff;
    235274}
    236275way["maxspeed"="40"]::maxspeedlayer
    237276{
    238         set maxspeed;
    239         color: speed_40#4d4d00;
     277    set maxspeed;
     278    color: speed_40#4d4d00;
    240279}
    241280way["maxspeed"="45"]::maxspeedlayer
    242281{
    243         set maxspeed;
    244         color: speed_45#ff529a;
     282    set maxspeed;
     283    color: speed_45#fd6eaa;
    245284}
    246285way["maxspeed"="50"]::maxspeedlayer,
     
    249288way["maxspeed"="RS:urban"][setting("implicit")]::maxspeedlayer
    250289{
    251         set maxspeed;
    252         color: speed_50#07f807;
     290    set maxspeed;
     291    color: speed_50#07f807;
    253292}
    254293way["maxspeed"="60"]::maxspeedlayer,
     
    256295way["maxspeed"="RU:urban"][setting("implicit")]::maxspeedlayer
    257296{
    258         set maxspeed;
    259         color: speed_60#9f9fff;
     297    set maxspeed;
     298    color: speed_60#9f9fff;
    260299}
    261300way["maxspeed"="70"]::maxspeedlayer
    262301{
    263         set maxspeed;
    264         color: speed_70#ee8b00;
     302    set maxspeed;
     303    color: speed_70#ee8b00;
    265304}
    266305way["maxspeed"="80"]::maxspeedlayer,
     
    268307way["maxspeed"="RS:rural"][setting("implicit")]::maxspeedlayer
    269308{
    270         set maxspeed;
    271         color: speed_80#f90808;
     309    set maxspeed;
     310    color: speed_80#f90808;
    272311}
    273312way["maxspeed"="90"]::maxspeedlayer,
     
    276315way["maxspeed"="RU:rural"][setting("implicit")]::maxspeedlayer
    277316{
    278         set maxspeed;
    279         color: speed_90#07f8f8;
     317    set maxspeed;
     318    color: speed_90#07f8f8;
    280319}
    281320way["maxspeed"="100"]::maxspeedlayer,
     
    283322way["maxspeed"="RS:trunk"][setting("implicit")]::maxspeedlayer
    284323{
    285         set maxspeed;
    286         color: speed_100#f807f8;
     324    set maxspeed;
     325    color: speed_100#f807f8;
    287326}
    288327way["maxspeed"="110"]::maxspeedlayer,
     
    290329way["maxspeed"="RU:motorway"][setting("implicit")]::maxspeedlayer
    291330{
    292         set maxspeed;
    293         color: speed_110#7807f8;
     331    set maxspeed;
     332    color: speed_110#7807f8;
    294333}
    295334way["maxspeed"="120"]::maxspeedlayer
    296335{
    297         set maxspeed;
    298         color: speed_120#b69b20;
     336    set maxspeed;
     337    color: speed_120#b69b20;
    299338}
    300339way["maxspeed"="130"]::maxspeedlayer,
     
    303342way["maxspeed"="RS:motorway"][setting("implicit")]::maxspeedlayer
    304343{
    305         set maxspeed;
    306         color: speed_130#c0f100;
     344    set maxspeed;
     345    color: speed_130#c0f100;
    307346}
    308347way["maxspeed"="140"]::maxspeedlayer
    309348{
    310         set maxspeed;
    311         color: speed_140#438100;
     349    set maxspeed;
     350    color: speed_140#438100;
    312351}
    313352/* 3.2 - mph */
    314353way["maxspeed"="5 mph"]::maxspeedlayer
    315354{
    316         set maxspeed;
    317         color: speed_5_mph#b80022;
     355    set maxspeed;
     356    color: speed_5_mph#b80022;
    318357}
    319358way["maxspeed"="10 mph"]::maxspeedlayer
    320359{
    321         set maxspeed;
    322         color: speed_10_mph#00da8b;
     360    set maxspeed;
     361    color: speed_10_mph#00da8b;
    323362}
    324363way["maxspeed"="15 mph"]::maxspeedlayer
    325364{
    326         set maxspeed;
    327         color: speed_15_mph#e3cc82;
     365    set maxspeed;
     366    color: speed_15_mph#e3cc82;
    328367}
    329368way["maxspeed"="20 mph"]::maxspeedlayer
    330369{
    331         set maxspeed;
    332         color: speed_20_mph#4d4dff;
     370    set maxspeed;
     371    color: speed_20_mph#4d4dff;
    333372}
    334373way["maxspeed"="25 mph"]::maxspeedlayer
    335374{
    336         set maxspeed;
    337         color: speed_25_mph#4d4d00;
     375    set maxspeed;
     376    color: speed_25_mph#4d4d00;
    338377}
    339378way["maxspeed"="30 mph"]::maxspeedlayer
    340379{
    341         set maxspeed;
    342         color: speed_30_mph#ff529a;
     380    set maxspeed;
     381    color: speed_30_mph#fd6eaa;
    343382}
    344383way["maxspeed"="35 mph"]::maxspeedlayer
    345384{
    346         set maxspeed;
    347         color: speed_35_mph#07f807;
     385    set maxspeed;
     386    color: speed_35_mph#07f807;
    348387}
    349388way["maxspeed"="40 mph"]::maxspeedlayer
    350389{
    351         set maxspeed;
    352         color: speed_40_mph#9f9fff;
     390    set maxspeed;
     391    color: speed_40_mph#9f9fff;
    353392}
    354393way["maxspeed"="45 mph"]::maxspeedlayer
    355394{
    356         set maxspeed;
    357         color: speed_45_mph#ee8b00;
     395    set maxspeed;
     396    color: speed_45_mph#ee8b00;
    358397}
    359398way["maxspeed"="50 mph"]::maxspeedlayer
    360399{
    361         set maxspeed;
    362         color: speed_50_mph#f90808;
     400    set maxspeed;
     401    color: speed_50_mph#f90808;
    363402}
    364403way["maxspeed"="55 mph"]::maxspeedlayer
    365404{
    366         set maxspeed;
    367         color: speed_55_mph#07f8f8;
     405    set maxspeed;
     406    color: speed_55_mph#07f8f8;
    368407}
    369408way["maxspeed"="60 mph"]::maxspeedlayer
    370409{
    371         set maxspeed;
    372         color: speed_60_mph#f807f8;
     410    set maxspeed;
     411    color: speed_60_mph#f807f8;
    373412}
    374413way["maxspeed"="65 mph"]::maxspeedlayer
    375414{
    376         set maxspeed;
    377         color: speed_65_mph#7807f8;
     415    set maxspeed;
     416    color: speed_65_mph#7807f8;
    378417}
    379418way["maxspeed"="70 mph"]::maxspeedlayer
    380419{
    381         set maxspeed;
    382         color: speed_70_mph#b69b20;
     420    set maxspeed;
     421    color: speed_70_mph#b69b20;
    383422}
    384423way["maxspeed"="75 mph"]::maxspeedlayer
    385424{
    386         set maxspeed;
    387         color: speed_75_mph#c0f100;
     425    set maxspeed;
     426    color: speed_75_mph#c0f100;
     427}
     428way["maxspeed"="80 mph"]::maxspeedlayer
     429{
     430    set maxspeed;
     431    color: speed_80_mph#438100;
     432}
     433way["maxspeed"="85 mph"]::maxspeedlayer
     434{
     435    set maxspeed;
     436    color: speed_85_mph#725600;
    388437}
    389438
     
    392441way.cond_mph::maxspeedlayer
    393442{
    394         dashes: 55,25;
     443    dashes: 55,25;
    395444}
    396445/* 3.3.1 - kmh */
    397446way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="none"]::maxspeedlayer
    398447{
    399         dashes-background-color:  speed_none#febede;
     448    dashes-background-color:  speed_none#febede;
    400449}
    401450way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="5"]::maxspeedlayer
    402451{
    403         dashes-background-color:  speed_5#ff5656;
     452    dashes-background-color:  speed_5#ff5656;
    404453}
    405454way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="10"]::maxspeedlayer
    406455{
    407         dashes-background-color:  speed_10#b80022;
     456    dashes-background-color:  speed_10#b80022;
    408457}
    409458way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="15"]::maxspeedlayer
    410459{
    411         dashes-background-color:  speed_15#00da8b;
     460    dashes-background-color:  speed_15#00da8b;
    412461}
    413462way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="20"]::maxspeedlayer
    414463/* A selector for implicit scheme is not needed here because e.g. "maxspeed:conditional=RU:living_street @ (...)" is nonsense, better use the actual maxspeed value in this case. The same is true for the others (rural, urban, motorway, ...).  */
    415464{
    416         dashes-background-color:  speed_20#e3cc82;
     465    dashes-background-color:  speed_20#e3cc82;
    417466}
    418467way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="30"]::maxspeedlayer
    419468{
    420         dashes-background-color:  speed_30#4d4dff;
     469    dashes-background-color:  speed_30#4d4dff;
    421470}
    422471way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="40"]::maxspeedlayer
    423472{
    424         dashes-background-color:  speed_40#4d4d00;
     473    dashes-background-color:  speed_40#4d4d00;
    425474}
    426475way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="45"]::maxspeedlayer
    427476{
    428         dashes-background-color:  speed_45#ff529a;
     477    dashes-background-color:  speed_45#fd6eaa;
    429478}
    430479way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="50"]::maxspeedlayer
    431480{
    432         dashes-background-color:  speed_50#07f807;
     481    dashes-background-color:  speed_50#07f807;
    433482}
    434483way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="60"]::maxspeedlayer
    435484{
    436         dashes-background-color:  speed_60#9f9fff;
     485    dashes-background-color:  speed_60#9f9fff;
    437486}
    438487way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="70"]::maxspeedlayer
    439488{
    440         dashes-background-color:  speed_70#ee8b00;
     489    dashes-background-color:  speed_70#ee8b00;
    441490}
    442491way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="80"]::maxspeedlayer
    443492{
    444         dashes-background-color:  speed_80#f90808;
     493    dashes-background-color:  speed_80#f90808;
    445494}
    446495way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="90"]::maxspeedlayer
    447496{
    448         dashes-background-color:  speed_90#07f8f8;
     497    dashes-background-color:  speed_90#07f8f8;
    449498}
    450499way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="100"]::maxspeedlayer
    451500{
    452         dashes-background-color:  speed_100#f807f8;
     501    dashes-background-color:  speed_100#f807f8;
    453502}
    454503way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="110"]::maxspeedlayer
    455504{
    456         dashes-background-color:  speed_110#7807f8;
     505    dashes-background-color:  speed_110#7807f8;
    457506}
    458507way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="120"]::maxspeedlayer
    459508{
    460         dashes-background-color:  speed_120#b69b20;
     509    dashes-background-color:  speed_120#b69b20;
    461510}
    462511way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="130"]::maxspeedlayer
    463512{
    464         dashes-background-color:  speed_130#c0f100;
     513    dashes-background-color:  speed_130#c0f100;
    465514}
    466515way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="140"]::maxspeedlayer
    467516{
    468         dashes-background-color:  speed_140#438100;
     517    dashes-background-color:  speed_140#438100;
    469518}
    470519/* 3.3.2 -  mph */
    471520way.cond_mph[prop(maxsp_cond, maxspeedlayer)="5"]::maxspeedlayer
    472521{
    473         dashes-background-color:  speed_5_mph#b80022;
     522    dashes-background-color:  speed_5_mph#b80022;
    474523}
    475524way.cond_mph[prop(maxsp_cond, maxspeedlayer)="10"]::maxspeedlayer
    476525{
    477         dashes-background-color:  speed_10_mph#00da8b;
     526    dashes-background-color:  speed_10_mph#00da8b;
    478527}
    479528way.cond_mph[prop(maxsp_cond, maxspeedlayer)="15"]::maxspeedlayer
    480529{
    481         dashes-background-color:  speed_15_mph#e3cc82;
     530    dashes-background-color:  speed_15_mph#e3cc82;
    482531}
    483532way.cond_mph[prop(maxsp_cond, maxspeedlayer)="20"]::maxspeedlayer
    484533{
    485         dashes-background-color:  speed_20_mph#4d4dff;
     534    dashes-background-color:  speed_20_mph#4d4dff;
    486535}
    487536way.cond_mph[prop(maxsp_cond, maxspeedlayer)="25"]::maxspeedlayer
    488537{
    489         dashes-background-color:  speed_25_mph#4d4d00;
     538    dashes-background-color:  speed_25_mph#4d4d00;
    490539}
    491540way.cond_mph[prop(maxsp_cond, maxspeedlayer)="30"]::maxspeedlayer
    492541{
    493         dashes-background-color:  speed_30_mph#ff529a;
     542    dashes-background-color:  speed_30_mph#fd6eaa;
    494543}
    495544way.cond_mph[prop(maxsp_cond, maxspeedlayer)="35"]::maxspeedlayer
    496545{
    497         dashes-background-color:  speed_35_mph#07f807;
     546    dashes-background-color:  speed_35_mph#07f807;
    498547}
    499548way.cond_mph[prop(maxsp_cond, maxspeedlayer)="40"]::maxspeedlayer
    500549{
    501         dashes-background-color:  speed_40_mph#9f9fff;
     550    dashes-background-color:  speed_40_mph#9f9fff;
    502551}
    503552way.cond_mph[prop(maxsp_cond, maxspeedlayer)="45"]::maxspeedlayer
    504553{
    505         dashes-background-color:  speed_45_mph#ee8b00;
     554    dashes-background-color:  speed_45_mph#ee8b00;
    506555}
    507556way.cond_mph[prop(maxsp_cond, maxspeedlayer)="50"]::maxspeedlayer
    508557{
    509         dashes-background-color:  speed_50_mph#f90808;
     558    dashes-background-color:  speed_50_mph#f90808;
    510559}
    511560way.cond_mph[prop(maxsp_cond, maxspeedlayer)="55"]::maxspeedlayer
    512561{
    513         dashes-background-color:  speed_55_mph#07f8f8;
     562    dashes-background-color:  speed_55_mph#07f8f8;
    514563}
    515564way.cond_mph[prop(maxsp_cond, maxspeedlayer)="60"]::maxspeedlayer
    516565{
    517         dashes-background-color:  speed_60_mph#f807f8;
     566    dashes-background-color:  speed_60_mph#f807f8;
    518567}
    519568way.cond_mph[prop(maxsp_cond, maxspeedlayer)="65"]::maxspeedlayer
    520569{
    521         dashes-background-color:  speed_65_mph#7807f8;
     570    dashes-background-color:  speed_65_mph#7807f8;
    522571}
    523572way.cond_mph[prop(maxsp_cond, maxspeedlayer)="70"]::maxspeedlayer
    524573{
    525         dashes-background-color:  speed_70_mph#b69b20;
     574    dashes-background-color:  speed_70_mph#b69b20;
    526575}
    527576way.cond_mph[prop(maxsp_cond, maxspeedlayer)="75"]::maxspeedlayer
    528577{
    529         dashes-background-color:  speed_75_mph#c0f100;
     578    dashes-background-color:  speed_75_mph#c0f100;
     579}
     580way.cond_mph[prop(maxsp_cond, maxspeedlayer)="80"]::maxspeedlayer
     581{
     582    dashes-background-color:  speed_80_mph#438100;
     583}
     584way.cond_mph[prop(maxsp_cond, maxspeedlayer)="85"]::maxspeedlayer
     585{
     586    dashes-background-color:  speed_85_mph#725600;
    530587}
    531588
     
    533590way.maxspeed::maxspeedlayer
    534591{
    535         width: 14;
    536         z-index: -1;
     592    width: 14;
     593    z-index: -1;
    537594}
    538595way|z16.maxspeed::maxspeedlayer
    539596{
    540         width: 12;
     597    width: 12;
    541598}
    542599way|z-15.maxspeed::maxspeedlayer
    543600{
    544         width:10;
     601    width:10;
    545602}
    546603way.maxspeed[maxspeed:variable]::maxspeedlayer
    547604{
    548         dashes: 34,6;
    549         /* *variable* overrides the dashes scheme of *conditional*, but the colors of conditional stay.
    550         This way you can see conditional and variable together */
     605    dashes: 34,6;
     606    /* *variable* overrides the dashes scheme of *conditional*, but the colors of conditional stay.
     607    This way you can see conditional and variable together */
    551608}
    552609
     
    558615way["maxspeed:backward"="none"]!:righthandtraffic::maxspeedcasinglayer
    559616{
    560         set maxspeed_right;
    561         right-casing-color: speed_none#febede;
     617    set maxspeed_right;
     618    right-casing-color: speed_none#febede;
    562619}
    563620way["maxspeed:forward"="5"]:righthandtraffic::maxspeedcasinglayer,
    564621way["maxspeed:backward"="5"]!:righthandtraffic::maxspeedcasinglayer
    565622{
    566         set maxspeed_right;
    567         right-casing-color: speed_5#ff5656;
     623    set maxspeed_right;
     624    right-casing-color: speed_5#ff5656;
    568625}
    569626way["maxspeed:forward"="10"]:righthandtraffic::maxspeedcasinglayer,
     
    571628way["maxspeed:forward"="RS:living_street"][setting("implicit")]:righthandtraffic::maxspeedcasinglayer
    572629{
    573         set maxspeed_right;
    574         right-casing-color: speed_10#b80022;
     630    set maxspeed_right;
     631    right-casing-color: speed_10#b80022;
    575632}
    576633way["maxspeed:forward"="15"]:righthandtraffic::maxspeedcasinglayer,
    577634way["maxspeed:backward"="15"]!:righthandtraffic::maxspeedcasinglayer
    578635{
    579         set maxspeed_right;
    580         right-casing-color: speed_15#00da8b;
     636    set maxspeed_right;
     637    right-casing-color: speed_15#00da8b;
    581638}
    582639way["maxspeed:forward"="20"]:righthandtraffic::maxspeedcasinglayer,
     
    586643/* no left hand traffic in BY, FR, RO, RU, RS, so a selector is not needed here and the similar rules in chapter 5.1 */
    587644{
    588         set maxspeed_right;
    589         right-casing-color: speed_20#e3cc82;
     645    set maxspeed_right;
     646    right-casing-color: speed_20#e3cc82;
    590647}
    591648way["maxspeed:forward"="30"]:righthandtraffic::maxspeedcasinglayer,
     
    593650way["maxspeed:forward"="FR:zone30"][setting("implicit")]:righthandtraffic::maxspeedcasinglayer
    594651{
    595         set maxspeed_right;
    596         right-casing-color: speed_30#4d4dff;
     652    set maxspeed_right;
     653    right-casing-color: speed_30#4d4dff;
    597654}
    598655way["maxspeed:forward"="40"]:righthandtraffic::maxspeedcasinglayer,
    599656way["maxspeed:backward"="40"]!:righthandtraffic::maxspeedcasinglayer
    600657{
    601         set maxspeed_right;
    602         right-casing-color: speed_40#4d4d00;
     658    set maxspeed_right;
     659    right-casing-color: speed_40#4d4d00;
    603660}
    604661way["maxspeed:forward"="45"]:righthandtraffic::maxspeedcasinglayer,
    605662way["maxspeed:backward"="45"]!:righthandtraffic::maxspeedcasinglayer
    606663{
    607         set maxspeed_right;
    608         right-casing-color: speed_45#ff529a;
     664    set maxspeed_right;
     665    right-casing-color: speed_45#fd6eaa;
    609666}
    610667way["maxspeed:forward"="50"]:righthandtraffic::maxspeedcasinglayer,
     
    614671way["maxspeed:forward"="RS:urban"][setting("implicit")]:righthandtraffic::maxspeedcasinglayer
    615672{
    616         set maxspeed_right;
    617         right-casing-color: speed_50#07f807;
     673    set maxspeed_right;
     674    right-casing-color: speed_50#07f807;
    618675}
    619676way["maxspeed:forward"="60"]:righthandtraffic::maxspeedcasinglayer,
     
    622679way["maxspeed:forward"="RU:urban"][setting("implicit")]:righthandtraffic::maxspeedcasinglayer
    623680{
    624         set maxspeed_right;
    625         right-casing-color: speed_60#9f9fff;
     681    set maxspeed_right;
     682    right-casing-color: speed_60#9f9fff;
    626683}
    627684way["maxspeed:forward"="70"]:righthandtraffic::maxspeedcasinglayer,
    628685way["maxspeed:backward"="70"]!:righthandtraffic::maxspeedcasinglayer
    629686{
    630         set maxspeed_right;
    631         right-casing-color: speed_70#ee8b00;
     687    set maxspeed_right;
     688    right-casing-color: speed_70#ee8b00;
    632689}
    633690way["maxspeed:forward"="80"]:righthandtraffic::maxspeedcasinglayer,
     
    636693way["maxspeed:forward"="RS:rural"][setting("implicit")]:righthandtraffic::maxspeedcasinglayer
    637694{
    638         set maxspeed_right;
    639         right-casing-color: speed_80#f90808;
     695    set maxspeed_right;
     696    right-casing-color: speed_80#f90808;
    640697}
    641698way["maxspeed:forward"="90"]:righthandtraffic::maxspeedcasinglayer,
     
    645702way["maxspeed:forward"="RU:rural"][setting("implicit")]:righthandtraffic::maxspeedcasinglayer
    646703{
    647         set maxspeed_right;
    648         right-casing-color: speed_90#07f8f8;
     704    set maxspeed_right;
     705    right-casing-color: speed_90#07f8f8;
    649706}
    650707way["maxspeed:forward"="100"]:righthandtraffic::maxspeedcasinglayer,
     
    653710way["maxspeed:forward"="RS:trunk"][setting("implicit")]:righthandtraffic::maxspeedcasinglayer
    654711{
    655         set maxspeed_right;
    656         right-casing-color: speed_100#f807f8;
     712    set maxspeed_right;
     713    right-casing-color: speed_100#f807f8;
    657714}
    658715way["maxspeed:forward"="110"]:righthandtraffic::maxspeedcasinglayer,
     
    661718way["maxspeed:forward"="RU:motorway"][setting("implicit")]:righthandtraffic::maxspeedcasinglayer
    662719{
    663         set maxspeed_right;
    664         right-casing-color: speed_110#7807f8;
     720    set maxspeed_right;
     721    right-casing-color: speed_110#7807f8;
    665722}
    666723way["maxspeed:forward"="120"]:righthandtraffic::maxspeedcasinglayer,
    667724way["maxspeed:backward"="120"]!:righthandtraffic::maxspeedcasinglayer
    668725{
    669         set maxspeed_right;
    670         right-casing-color: speed_120#b69b20;
     726    set maxspeed_right;
     727    right-casing-color: speed_120#b69b20;
    671728}
    672729way["maxspeed:forward"="130"]:righthandtraffic::maxspeedcasinglayer,
     
    676733way["maxspeed:forward"="RS:motorway"][setting("implicit")]:righthandtraffic::maxspeedcasinglayer
    677734{
    678         set maxspeed_right;
    679         right-casing-color: speed_130#c0f100;
     735    set maxspeed_right;
     736    right-casing-color: speed_130#c0f100;
    680737}
    681738way["maxspeed:forward"="140"]:righthandtraffic::maxspeedcasinglayer,
    682739way["maxspeed:backward"="140"]!:righthandtraffic::maxspeedcasinglayer
    683740{
    684         set maxspeed_right;
    685         right-casing-color: speed_140#438100;
     741    set maxspeed_right;
     742    right-casing-color: speed_140#438100;
    686743}
    687744/* 4.2 - mph */
     
    689746way["maxspeed:backward"="5 mph"]!:righthandtraffic::maxspeedcasinglayer
    690747{
    691         set maxspeed_right;
    692         right-casing-color: speed_5_mph#b80022;
     748    set maxspeed_right;
     749    right-casing-color: speed_5_mph#b80022;
    693750}
    694751way["maxspeed:forward"="10 mph"]:righthandtraffic::maxspeedcasinglayer,
    695752way["maxspeed:backward"="10 mph"]!:righthandtraffic::maxspeedcasinglayer
    696753{
    697         set maxspeed_right;
    698         right-casing-color: speed_10_mph#00da8b;
     754    set maxspeed_right;
     755    right-casing-color: speed_10_mph#00da8b;
    699756}
    700757way["maxspeed:forward"="15 mph"]:righthandtraffic::maxspeedcasinglayer,
    701758way["maxspeed:backward"="15 mph"]!:righthandtraffic::maxspeedcasinglayer
    702759{
    703         set maxspeed_right;
    704         right-casing-color: speed_15_mph#e3cc82;
     760    set maxspeed_right;
     761    right-casing-color: speed_15_mph#e3cc82;
    705762}
    706763way["maxspeed:forward"="20 mph"]:righthandtraffic::maxspeedcasinglayer,
    707764way["maxspeed:backward"="20 mph"]!:righthandtraffic::maxspeedcasinglayer
    708765{
    709         set maxspeed_right;
    710         right-casing-color: speed_20_mph#4d4dff;
     766    set maxspeed_right;
     767    right-casing-color: speed_20_mph#4d4dff;
    711768}
    712769way["maxspeed:forward"="25 mph"]:righthandtraffic::maxspeedcasinglayer,
    713770way["maxspeed:backward"="25 mph"]!:righthandtraffic::maxspeedcasinglayer
    714771{
    715         set maxspeed_right;
    716         right-casing-color: speed_25_mph#4d4d00;
     772    set maxspeed_right;
     773    right-casing-color: speed_25_mph#4d4d00;
    717774}
    718775way["maxspeed:forward"="30 mph"]:righthandtraffic::maxspeedcasinglayer,
    719776way["maxspeed:backward"="30 mph"]!:righthandtraffic::maxspeedcasinglayer
    720777{
    721         set maxspeed_right;
    722         right-casing-color: speed_30_mph#ff529a;
     778    set maxspeed_right;
     779    right-casing-color: speed_30_mph#fd6eaa;
    723780}
    724781way["maxspeed:forward"="35 mph"]:righthandtraffic::maxspeedcasinglayer,
    725782way["maxspeed:backward"="35 mph"]!:righthandtraffic::maxspeedcasinglayer
    726783{
    727         set maxspeed_right;
    728         right-casing-color: speed_35_mph#07f807;
     784    set maxspeed_right;
     785    right-casing-color: speed_35_mph#07f807;
    729786}
    730787way["maxspeed:forward"="40 mph"]:righthandtraffic::maxspeedcasinglayer,
    731788way["maxspeed:backward"="40 mph"]!:righthandtraffic::maxspeedcasinglayer
    732789{
    733         set maxspeed_right;
    734         right-casing-color: speed_40_mph#9f9fff;
     790    set maxspeed_right;
     791    right-casing-color: speed_40_mph#9f9fff;
    735792}
    736793way["maxspeed:forward"="45 mph"]:righthandtraffic::maxspeedcasinglayer,
    737794way["maxspeed:backward"="45 mph"]!:righthandtraffic::maxspeedcasinglayer
    738795{
    739         set maxspeed_right;
    740         right-casing-color: speed_45_mph#ee8b00;
     796    set maxspeed_right;
     797    right-casing-color: speed_45_mph#ee8b00;
    741798}
    742799way["maxspeed:forward"="50 mph"]:righthandtraffic::maxspeedcasinglayer,
    743800way["maxspeed:backward"="50 mph"]!:righthandtraffic::maxspeedcasinglayer
    744801{
    745         set maxspeed_right;
    746         right-casing-color: speed_50_mph#f90808;
     802    set maxspeed_right;
     803    right-casing-color: speed_50_mph#f90808;
    747804}
    748805way["maxspeed:forward"="55 mph"]:righthandtraffic::maxspeedcasinglayer,
    749806way["maxspeed:backward"="55 mph"]!:righthandtraffic::maxspeedcasinglayer
    750807{
    751         set maxspeed_right;
    752         right-casing-color: speed_55_mph#07f8f8;
     808    set maxspeed_right;
     809    right-casing-color: speed_55_mph#07f8f8;
    753810}
    754811way["maxspeed:forward"="60 mph"]:righthandtraffic::maxspeedcasinglayer,
    755812way["maxspeed:backward"="60 mph"]!:righthandtraffic::maxspeedcasinglayer
    756813{
    757         set maxspeed_right;
    758         right-casing-color: speed_60_mph#f807f8;
     814    set maxspeed_right;
     815    right-casing-color: speed_60_mph#f807f8;
    759816}
    760817way["maxspeed:forward"="65 mph"]:righthandtraffic::maxspeedcasinglayer,
    761818way["maxspeed:backward"="65 mph"]!:righthandtraffic::maxspeedcasinglayer
    762819{
    763         set maxspeed_right;
    764         right-casing-color: speed_65_mph#7807f8;
     820    set maxspeed_right;
     821    right-casing-color: speed_65_mph#7807f8;
    765822}
    766823way["maxspeed:forward"="70 mph"]:righthandtraffic::maxspeedcasinglayer,
    767824way["maxspeed:backward"="70 mph"]!:righthandtraffic::maxspeedcasinglayer
    768825{
    769         set maxspeed_right;
    770         right-casing-color: speed_70_mph#b69b20;
     826    set maxspeed_right;
     827    right-casing-color: speed_70_mph#b69b20;
    771828}
    772829way["maxspeed:forward"="75 mph"]:righthandtraffic::maxspeedcasinglayer,
    773830way["maxspeed:backward"="75 mph"]!:righthandtraffic::maxspeedcasinglayer
    774831{
    775         set maxspeed_right;
    776         right-casing-color: speed_75_mph#c0f100;
     832    set maxspeed_right;
     833    right-casing-color: speed_75_mph#c0f100;
     834}
     835way["maxspeed:forward"="80 mph"]:righthandtraffic::maxspeedcasinglayer,
     836way["maxspeed:backward"="80 mph"]!:righthandtraffic::maxspeedcasinglayer
     837{
     838    set maxspeed_right;
     839    right-casing-color: speed_80_mph#438100;
     840}
     841way["maxspeed:forward"="85 mph"]:righthandtraffic::maxspeedcasinglayer,
     842way["maxspeed:backward"="85 mph"]!:righthandtraffic::maxspeedcasinglayer
     843{
     844    set maxspeed_right;
     845    right-casing-color: speed_85_mph#725600;
    777846}
    778847
     
    783852way.cond_backward_mph!:righthandtraffic::maxspeedcasinglayer
    784853{
    785         set maxspeed_right_cond;
    786         right-casing-dashes: 55,25;
     854    set maxspeed_right_cond;
     855    right-casing-dashes: 55,25;
    787856}
    788857/* 4.3.1 - kmh */
     
    790859way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="none"]!:righthandtraffic::maxspeedcasinglayer
    791860{
    792         right-casing-dashes-background-color: speed_none#febede;
     861    right-casing-dashes-background-color: speed_none#febede;
    793862}
    794863way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="5"]:righthandtraffic::maxspeedcasinglayer,
    795864way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="5"]!:righthandtraffic::maxspeedcasinglayer
    796865{
    797         right-casing-dashes-background-color: speed_5#ff5656;
     866    right-casing-dashes-background-color: speed_5#ff5656;
    798867}
    799868way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="10"]:righthandtraffic::maxspeedcasinglayer,
    800869way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="10"]!:righthandtraffic::maxspeedcasinglayer
    801870{
    802         right-casing-dashes-background-color: speed_10#b80022;
     871    right-casing-dashes-background-color: speed_10#b80022;
    803872}
    804873way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="15"]:righthandtraffic::maxspeedcasinglayer,
    805874way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="15"]!:righthandtraffic::maxspeedcasinglayer
    806875{
    807         right-casing-dashes-background-color: speed_15#00da8b;
     876    right-casing-dashes-background-color: speed_15#00da8b;
    808877}
    809878way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="20"]:righthandtraffic::maxspeedcasinglayer,
    810879way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="20"]!:righthandtraffic::maxspeedcasinglayer
    811880{
    812         right-casing-dashes-background-color: speed_20#e3cc82;
     881    right-casing-dashes-background-color: speed_20#e3cc82;
    813882}
    814883way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="30"]:righthandtraffic::maxspeedcasinglayer,
    815884way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="30"]!:righthandtraffic::maxspeedcasinglayer
    816885{
    817         right-casing-dashes-background-color: speed_30#4d4dff;
     886    right-casing-dashes-background-color: speed_30#4d4dff;
    818887}
    819888way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="40"]:righthandtraffic::maxspeedcasinglayer,
    820889way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="40"]!:righthandtraffic::maxspeedcasinglayer
    821890{
    822         right-casing-dashes-background-color: speed_40#4d4d00;
     891    right-casing-dashes-background-color: speed_40#4d4d00;
    823892}
    824893way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="45"]:righthandtraffic::maxspeedcasinglayer,
    825894way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="45"]!:righthandtraffic::maxspeedcasinglayer
    826895{
    827         right-casing-dashes-background-color: speed_45#ff529a;
     896    right-casing-dashes-background-color: speed_45#fd6eaa;
    828897}
    829898way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="50"]:righthandtraffic::maxspeedcasinglayer,
    830899way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="50"]!:righthandtraffic::maxspeedcasinglayer
    831900{
    832         right-casing-dashes-background-color: speed_50#07f807;
     901    right-casing-dashes-background-color: speed_50#07f807;
    833902}
    834903way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="60"]:righthandtraffic::maxspeedcasinglayer,
    835904way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="60"]!:righthandtraffic::maxspeedcasinglayer
    836905{
    837         right-casing-dashes-background-color: speed_60#9f9fff;
     906    right-casing-dashes-background-color: speed_60#9f9fff;
    838907}
    839908way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="70"]:righthandtraffic::maxspeedcasinglayer,
    840909way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="70"]!:righthandtraffic::maxspeedcasinglayer
    841910{
    842         right-casing-dashes-background-color: speed_70#ee8b00;
     911    right-casing-dashes-background-color: speed_70#ee8b00;
    843912}
    844913way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="80"]:righthandtraffic::maxspeedcasinglayer,
    845914way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="80"]!:righthandtraffic::maxspeedcasinglayer
    846915{
    847         right-casing-dashes-background-color: speed_80#f90808;
     916    right-casing-dashes-background-color: speed_80#f90808;
    848917}
    849918way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="90"]:righthandtraffic::maxspeedcasinglayer,
    850919way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="90"]!:righthandtraffic::maxspeedcasinglayer
    851920{
    852         right-casing-dashes-background-color: speed_90#07f8f8;
     921    right-casing-dashes-background-color: speed_90#07f8f8;
    853922}
    854923way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="100"]:righthandtraffic::maxspeedcasinglayer,
    855924way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="100"]!:righthandtraffic::maxspeedcasinglayer
    856925{
    857         right-casing-dashes-background-color: speed_100#f807f8;
     926    right-casing-dashes-background-color: speed_100#f807f8;
    858927}
    859928way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="110"]:righthandtraffic::maxspeedcasinglayer,
    860929way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="110"]!:righthandtraffic::maxspeedcasinglayer
    861930{
    862         right-casing-dashes-background-color: speed_110#7807f8;
     931    right-casing-dashes-background-color: speed_110#7807f8;
    863932}
    864933way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="120"]:righthandtraffic::maxspeedcasinglayer,
    865934way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="120"]!:righthandtraffic::maxspeedcasinglayer
    866935{
    867         right-casing-dashes-background-color: speed_120#b69b20;
     936    right-casing-dashes-background-color: speed_120#b69b20;
    868937}
    869938way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="130"]:righthandtraffic::maxspeedcasinglayer,
    870939way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="130"]!:righthandtraffic::maxspeedcasinglayer
    871940{
    872         right-casing-dashes-background-color: speed_130#c0f100;
     941    right-casing-dashes-background-color: speed_130#c0f100;
    873942}
    874943way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="140"]:righthandtraffic::maxspeedcasinglayer,
    875944way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="140"]!:righthandtraffic::maxspeedcasinglayer
    876945{
    877         right-casing-dashes-background-color: speed_140#438100;
     946    right-casing-dashes-background-color: speed_140#438100;
    878947}
    879948/* 4.3.2 - mph */
     
    881950way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="5"]!:righthandtraffic::maxspeedcasinglayer
    882951{
    883         right-casing-dashes-background-color: speed_5_mph#b80022;
     952    right-casing-dashes-background-color: speed_5_mph#b80022;
    884953}
    885954way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="10"]:righthandtraffic::maxspeedcasinglayer,
    886955way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="10"]!:righthandtraffic::maxspeedcasinglayer
    887956{
    888         right-casing-dashes-background-color: speed_10_mph#00da8b;
     957    right-casing-dashes-background-color: speed_10_mph#00da8b;
    889958}
    890959way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="15"]:righthandtraffic::maxspeedcasinglayer,
    891960way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="15"]!:righthandtraffic::maxspeedcasinglayer
    892961{
    893         right-casing-dashes-background-color: speed_15_mph#e3cc82;
     962    right-casing-dashes-background-color: speed_15_mph#e3cc82;
    894963}
    895964way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="20"]:righthandtraffic::maxspeedcasinglayer,
    896965way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="20"]!:righthandtraffic::maxspeedcasinglayer
    897966{
    898         right-casing-dashes-background-color: speed_20_mph#4d4dff;
     967    right-casing-dashes-background-color: speed_20_mph#4d4dff;
    899968}
    900969way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="25"]:righthandtraffic::maxspeedcasinglayer,
    901970way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="25"]!:righthandtraffic::maxspeedcasinglayer
    902971{
    903         right-casing-dashes-background-color: speed_25_mph#4d4d00;
     972    right-casing-dashes-background-color: speed_25_mph#4d4d00;
    904973}
    905974way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="30"]:righthandtraffic::maxspeedcasinglayer,
    906975way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="30"]!:righthandtraffic::maxspeedcasinglayer
    907976{
    908         right-casing-dashes-background-color: speed_30_mph#ff529a;
     977    right-casing-dashes-background-color: speed_30_mph#fd6eaa;
    909978}
    910979way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="35"]:righthandtraffic::maxspeedcasinglayer,
    911980way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="35"]!:righthandtraffic::maxspeedcasinglayer
    912981{
    913         right-casing-dashes-background-color: speed_35_mph#07f807;
     982    right-casing-dashes-background-color: speed_35_mph#07f807;
    914983}
    915984way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="40"]:righthandtraffic::maxspeedcasinglayer,
    916985way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="40"]!:righthandtraffic::maxspeedcasinglayer
    917986{
    918         right-casing-dashes-background-color: speed_40_mph#9f9fff;
     987    right-casing-dashes-background-color: speed_40_mph#9f9fff;
    919988}
    920989way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="45"]:righthandtraffic::maxspeedcasinglayer,
    921990way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="45"]!:righthandtraffic::maxspeedcasinglayer
    922991{
    923         right-casing-dashes-background-color: speed_45_mph#ee8b00;
     992    right-casing-dashes-background-color: speed_45_mph#ee8b00;
    924993}
    925994way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="50"]:righthandtraffic::maxspeedcasinglayer,
    926995way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="50"]!:righthandtraffic::maxspeedcasinglayer
    927996{
    928         right-casing-dashes-background-color: speed_50_mph#f90808;
     997    right-casing-dashes-background-color: speed_50_mph#f90808;
    929998}
    930999way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="55"]:righthandtraffic::maxspeedcasinglayer,
    9311000way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="55"]!:righthandtraffic::maxspeedcasinglayer
    9321001{
    933         right-casing-dashes-background-color: speed_55_mph#07f8f8;
     1002    right-casing-dashes-background-color: speed_55_mph#07f8f8;
    9341003}
    9351004way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="60"]:righthandtraffic::maxspeedcasinglayer,
    9361005way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="60"]!:righthandtraffic::maxspeedcasinglayer
    9371006{
    938         right-casing-dashes-background-color: speed_60_mph#f807f8;
     1007    right-casing-dashes-background-color: speed_60_mph#f807f8;
    9391008}
    9401009way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="65"]:righthandtraffic::maxspeedcasinglayer,
    9411010way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="65"]!:righthandtraffic::maxspeedcasinglayer
    9421011{
    943         right-casing-dashes-background-color: speed_65_mph#7807f8;
     1012    right-casing-dashes-background-color: speed_65_mph#7807f8;
    9441013}
    9451014way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="70"]:righthandtraffic::maxspeedcasinglayer,
    9461015way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="70"]!:righthandtraffic::maxspeedcasinglayer
    9471016{
    948         right-casing-dashes-background-color: speed_70_mph#b69b20;
     1017    right-casing-dashes-background-color: speed_70_mph#b69b20;
    9491018}
    9501019way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="75"]:righthandtraffic::maxspeedcasinglayer,
    9511020way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="75"]!:righthandtraffic::maxspeedcasinglayer
    9521021{
    953         right-casing-dashes-background-color: speed_75_mph#c0f100;
     1022    right-casing-dashes-background-color: speed_75_mph#c0f100;
     1023}
     1024way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="80"]:righthandtraffic::maxspeedcasinglayer,
     1025way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="80"]!:righthandtraffic::maxspeedcasinglayer
     1026{
     1027    right-casing-dashes-background-color: speed_80_mph#438100;
     1028}
     1029way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="85"]:righthandtraffic::maxspeedcasinglayer,
     1030way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="85"]!:righthandtraffic::maxspeedcasinglayer
     1031{
     1032    right-casing-dashes-background-color: speed_85_mph#725600;
    9541033}
    9551034
     
    9581037way.maxspeed_right_cond::maxspeedcasinglayer
    9591038{
    960         right-casing-width: 6;
    961         right-casing-offset: 0;
    962         major-z-index: 3;
    963         z-index: -1;
     1039    right-casing-width: 6;
     1040    right-casing-offset: 0;
     1041    major-z-index: 3;
     1042    z-index: -1;
    9641043}
    9651044way|z16.maxspeed_right::maxspeedcasinglayer,
    9661045way|z16.maxspeed_right_cond::maxspeedcasinglayer
    9671046{
    968         right-casing-width: 5;
     1047    right-casing-width: 5;
    9691048}
    9701049way|z-15.maxspeed_right::maxspeedcasinglayer,
    9711050way|z-15.maxspeed_right_cond::maxspeedcasinglayer
    9721051{
    973         right-casing-width: 4;
     1052    right-casing-width: 4;
    9741053}
    9751054way.maxspeed_right_cond!.maxspeed_right::maxspeedcasinglayer
    9761055{
    977         right-casing-opacity: 0;
    978         right-casing-dashes-background-opacity: 1;
     1056    right-casing-opacity: 0;
     1057    right-casing-dashes-background-opacity: 1;
    9791058}
    9801059way.maxspeed_right[maxspeed:variable:forward]:righthandtraffic::maxspeedcasinglayer,
     
    9831062way.maxspeed_right_cond[maxspeed:variable:backward]!:righthandtraffic::maxspeedcasinglayer
    9841063{
    985         right-casing-dashes: 34,6;
     1064    right-casing-dashes: 34,6;
    9861065}
    9871066
     
    9931072way["maxspeed:backward"="none"]:righthandtraffic::maxspeedcasinglayer
    9941073{
    995         set maxspeed_left;
    996         left-casing-color: speed_none#febede;
     1074    set maxspeed_left;
     1075    left-casing-color: speed_none#febede;
    9971076}
    9981077way["maxspeed:forward"="5"]!:righthandtraffic::maxspeedcasinglayer,
    9991078way["maxspeed:backward"="5"]:righthandtraffic::maxspeedcasinglayer
    10001079{
    1001         set maxspeed_left;
    1002         left-casing-color: speed_5#ff5656;
     1080    set maxspeed_left;
     1081    left-casing-color: speed_5#ff5656;
    10031082}
    10041083way["maxspeed:forward"="10"]!:righthandtraffic::maxspeedcasinglayer,
     
    10061085way["maxspeed:backward"="RS:living_street"][setting("implicit")]:righthandtraffic::maxspeedcasinglayer
    10071086{
    1008         set maxspeed_left;
    1009         left-casing-color: speed_10#b80022;
     1087    set maxspeed_left;
     1088    left-casing-color: speed_10#b80022;
    10101089}
    10111090way["maxspeed:forward"="15"]!:righthandtraffic::maxspeedcasinglayer,
    10121091way["maxspeed:backward"="15"]:righthandtraffic::maxspeedcasinglayer
    10131092{
    1014         set maxspeed_left;
    1015         left-casing-color: speed_15#00da8b;
     1093    set maxspeed_left;
     1094    left-casing-color: speed_15#00da8b;
    10161095}
    10171096way["maxspeed:forward"="20"]!:righthandtraffic::maxspeedcasinglayer,
     
    10201099way["maxspeed:backward"="RU:living_street"][setting("implicit")]:righthandtraffic::maxspeedcasinglayer
    10211100{
    1022         set maxspeed_left;
    1023         left-casing-color: speed_20#e3cc82;
     1101    set maxspeed_left;
     1102    left-casing-color: speed_20#e3cc82;
    10241103}
    10251104way["maxspeed:forward"="30"]!:righthandtraffic::maxspeedcasinglayer,
     
    10271106way["maxspeed:backward"="FR:zone30"][setting("implicit")]:righthandtraffic::maxspeedcasinglayer
    10281107{
    1029         set maxspeed_left;
    1030         left-casing-color: speed_30#4d4dff;
     1108    set maxspeed_left;
     1109    left-casing-color: speed_30#4d4dff;
    10311110}
    10321111way["maxspeed:forward"="40"]!:righthandtraffic::maxspeedcasinglayer,
    10331112way["maxspeed:backward"="40"]:righthandtraffic::maxspeedcasinglayer
    10341113{
    1035         set maxspeed_left;
    1036         left-casing-color: speed_40#4d4d00;
     1114    set maxspeed_left;
     1115    left-casing-color: speed_40#4d4d00;
    10371116}
    10381117way["maxspeed:forward"="45"]!:righthandtraffic::maxspeedcasinglayer,
    10391118way["maxspeed:backward"="45"]:righthandtraffic::maxspeedcasinglayer
    10401119{
    1041         set maxspeed_left;
    1042         left-casing-color: speed_45#ff529a;
     1120    set maxspeed_left;
     1121    left-casing-color: speed_45#fd6eaa;
    10431122}
    10441123way["maxspeed:forward"="50"]!:righthandtraffic::maxspeedcasinglayer,
     
    10481127way["maxspeed:backward"="RS:urban"][setting("implicit")]:righthandtraffic::maxspeedcasinglayer
    10491128{
    1050         set maxspeed_left;
    1051         left-casing-color: speed_50#07f807;
     1129    set maxspeed_left;
     1130    left-casing-color: speed_50#07f807;
    10521131}
    10531132way["maxspeed:forward"="60"]!:righthandtraffic::maxspeedcasinglayer,
     
    10561135way["maxspeed:backward"="RU:urban"][setting("implicit")]:righthandtraffic::maxspeedcasinglayer
    10571136{
    1058         set maxspeed_left;
    1059         left-casing-color: speed_60#9f9fff;
     1137    set maxspeed_left;
     1138    left-casing-color: speed_60#9f9fff;
    10601139}
    10611140way["maxspeed:forward"="70"]!:righthandtraffic::maxspeedcasinglayer,
    10621141way["maxspeed:backward"="70"]:righthandtraffic::maxspeedcasinglayer
    10631142{
    1064         set maxspeed_left;
    1065         left-casing-color: speed_70#ee8b00;
     1143    set maxspeed_left;
     1144    left-casing-color: speed_70#ee8b00;
    10661145}
    10671146way["maxspeed:forward"="80"]!:righthandtraffic::maxspeedcasinglayer,
     
    10701149way["maxspeed:backward"="RS:rural"][setting("implicit")]:righthandtraffic::maxspeedcasinglayer
    10711150{
    1072         set maxspeed_left;
    1073         left-casing-color: speed_80#f90808;
     1151    set maxspeed_left;
     1152    left-casing-color: speed_80#f90808;
    10741153}
    10751154way["maxspeed:forward"="90"]!:righthandtraffic::maxspeedcasinglayer,
     
    10791158way["maxspeed:backward"="RU:rural"][setting("implicit")]:righthandtraffic::maxspeedcasinglayer
    10801159{
    1081         set maxspeed_left;
    1082         left-casing-color: speed_90#07f8f8;
     1160    set maxspeed_left;
     1161    left-casing-color: speed_90#07f8f8;
    10831162}
    10841163way["maxspeed:forward"="100"]!:righthandtraffic::maxspeedcasinglayer,
     
    10871166way["maxspeed:backward"="RS:trunk"][setting("implicit")]:righthandtraffic::maxspeedcasinglayer
    10881167{
    1089         set maxspeed_left;
    1090         left-casing-color: speed_100#f807f8;
     1168    set maxspeed_left;
     1169    left-casing-color: speed_100#f807f8;
    10911170}
    10921171way["maxspeed:forward"="110"]!:righthandtraffic::maxspeedcasinglayer,
     
    10951174way["maxspeed:backward"="RU:motorway"][setting("implicit")]:righthandtraffic::maxspeedcasinglayer
    10961175{
    1097         set maxspeed_left;
    1098         left-casing-color: speed_110#7807f8;
     1176    set maxspeed_left;
     1177    left-casing-color: speed_110#7807f8;
    10991178}
    11001179way["maxspeed:forward"="120"]!:righthandtraffic::maxspeedcasinglayer,
    11011180way["maxspeed:backward"="120"]:righthandtraffic::maxspeedcasinglayer
    11021181{
    1103         set maxspeed_left;
    1104         left-casing-color: speed_120#b69b20;
     1182    set maxspeed_left;
     1183    left-casing-color: speed_120#b69b20;
    11051184}
    11061185way["maxspeed:forward"="130"]!:righthandtraffic::maxspeedcasinglayer,
     
    11101189way["maxspeed:backward"="RS:motorway"][setting("implicit")]:righthandtraffic::maxspeedcasinglayer
    11111190{
    1112         set maxspeed_left;
    1113         left-casing-color: speed_130#c0f100;
     1191    set maxspeed_left;
     1192    left-casing-color: speed_130#c0f100;
    11141193}
    11151194way["maxspeed:forward"="140"]!:righthandtraffic::maxspeedcasinglayer,
    11161195way["maxspeed:backward"="140"]:righthandtraffic::maxspeedcasinglayer
    11171196{
    1118         set maxspeed_left;
    1119         left-casing-color: speed_140#438100;
     1197    set maxspeed_left;
     1198    left-casing-color: speed_140#438100;
    11201199}
    11211200/* 5.2 - mph */
     
    11231202way["maxspeed:backward"="5 mph"]:righthandtraffic::maxspeedcasinglayer
    11241203{
    1125         set maxspeed_left;
    1126         left-casing-color: speed_5_mph#b80022;
     1204    set maxspeed_left;
     1205    left-casing-color: speed_5_mph#b80022;
    11271206}
    11281207way["maxspeed:forward"="10 mph"]!:righthandtraffic::maxspeedcasinglayer,
    11291208way["maxspeed:backward"="10 mph"]:righthandtraffic::maxspeedcasinglayer
    11301209{
    1131         set maxspeed_left;
    1132         left-casing-color: speed_10_mph#00da8b;
     1210    set maxspeed_left;
     1211    left-casing-color: speed_10_mph#00da8b;
    11331212}
    11341213way["maxspeed:forward"="15 mph"]!:righthandtraffic::maxspeedcasinglayer,
    11351214way["maxspeed:backward"="15 mph"]:righthandtraffic::maxspeedcasinglayer
    11361215{
    1137         set maxspeed_left;
    1138         left-casing-color: speed_15_mph#e3cc82;
     1216    set maxspeed_left;
     1217    left-casing-color: speed_15_mph#e3cc82;
    11391218}
    11401219way["maxspeed:forward"="20 mph"]!:righthandtraffic::maxspeedcasinglayer,
    11411220way["maxspeed:backward"="20 mph"]:righthandtraffic::maxspeedcasinglayer
    11421221{
    1143         set maxspeed_left;
    1144         left-casing-color: speed_20_mph#4d4dff;
     1222    set maxspeed_left;
     1223    left-casing-color: speed_20_mph#4d4dff;
    11451224}
    11461225way["maxspeed:forward"="25 mph"]!:righthandtraffic::maxspeedcasinglayer,
    11471226way["maxspeed:backward"="25 mph"]:righthandtraffic::maxspeedcasinglayer
    11481227{
    1149         set maxspeed_left;
    1150         left-casing-color: speed_25_mph#4d4d00;
     1228    set maxspeed_left;
     1229    left-casing-color: speed_25_mph#4d4d00;
    11511230}
    11521231way["maxspeed:forward"="30 mph"]!:righthandtraffic::maxspeedcasinglayer,
    11531232way["maxspeed:backward"="30 mph"]:righthandtraffic::maxspeedcasinglayer
    11541233{
    1155         set maxspeed_left;
    1156         left-casing-color: speed_30_mph#ff529a;
     1234    set maxspeed_left;
     1235    left-casing-color: speed_30_mph#fd6eaa;
    11571236}
    11581237way["maxspeed:forward"="35 mph"]!:righthandtraffic::maxspeedcasinglayer,
    11591238way["maxspeed:backward"="35 mph"]:righthandtraffic::maxspeedcasinglayer
    11601239{
    1161         set maxspeed_left;
    1162         left-casing-color: speed_35_mph#07f807;
     1240    set maxspeed_left;
     1241    left-casing-color: speed_35_mph#07f807;
    11631242}
    11641243way["maxspeed:forward"="40 mph"]!:righthandtraffic::maxspeedcasinglayer,
    11651244way["maxspeed:backward"="40 mph"]:righthandtraffic::maxspeedcasinglayer
    11661245{
    1167         set maxspeed_left;
    1168         left-casing-color: speed_40_mph#9f9fff;
     1246    set maxspeed_left;
     1247    left-casing-color: speed_40_mph#9f9fff;
    11691248}
    11701249way["maxspeed:forward"="45 mph"]!:righthandtraffic::maxspeedcasinglayer,
    11711250way["maxspeed:backward"="45 mph"]:righthandtraffic::maxspeedcasinglayer
    11721251{
    1173         set maxspeed_left;
    1174         left-casing-color: speed_45_mph#ee8b00;
     1252    set maxspeed_left;
     1253    left-casing-color: speed_45_mph#ee8b00;
    11751254}
    11761255way["maxspeed:forward"="50 mph"]!:righthandtraffic::maxspeedcasinglayer,
    11771256way["maxspeed:backward"="50 mph"]:righthandtraffic::maxspeedcasinglayer
    11781257{
    1179         set maxspeed_left;
    1180         left-casing-color: speed_50_mph#f90808;
     1258    set maxspeed_left;
     1259    left-casing-color: speed_50_mph#f90808;
    11811260}
    11821261way["maxspeed:forward"="55 mph"]!:righthandtraffic::maxspeedcasinglayer,
    11831262way["maxspeed:backward"="55 mph"]:righthandtraffic::maxspeedcasinglayer
    11841263{
    1185         set maxspeed_left;
    1186         left-casing-color: speed_55_mph#07f8f8;
     1264    set maxspeed_left;
     1265    left-casing-color: speed_55_mph#07f8f8;
    11871266}
    11881267way["maxspeed:forward"="60 mph"]!:righthandtraffic::maxspeedcasinglayer,
    11891268way["maxspeed:backward"="60 mph"]:righthandtraffic::maxspeedcasinglayer
    11901269{
    1191         set maxspeed_left;
    1192         left-casing-color: speed_60_mph#f807f8;
     1270    set maxspeed_left;
     1271    left-casing-color: speed_60_mph#f807f8;
    11931272}
    11941273way["maxspeed:forward"="65 mph"]!:righthandtraffic::maxspeedcasinglayer,
    11951274way["maxspeed:backward"="65 mph"]:righthandtraffic::maxspeedcasinglayer
    11961275{
    1197         set maxspeed_left;
    1198         left-casing-color: speed_65_mph#7807f8;
     1276    set maxspeed_left;
     1277    left-casing-color: speed_65_mph#7807f8;
    11991278}
    12001279way["maxspeed:forward"="70 mph"]!:righthandtraffic::maxspeedcasinglayer,
    12011280way["maxspeed:backward"="70 mph"]:righthandtraffic::maxspeedcasinglayer
    12021281{
    1203         set maxspeed_left;
    1204         left-casing-color: speed_70_mph#b69b20;
     1282    set maxspeed_left;
     1283    left-casing-color: speed_70_mph#b69b20;
    12051284}
    12061285way["maxspeed:forward"="75 mph"]!:righthandtraffic::maxspeedcasinglayer,
    12071286way["maxspeed:backward"="75 mph"]:righthandtraffic::maxspeedcasinglayer
    12081287{
    1209         set maxspeed_left;
    1210         left-casing-color: speed_75_mph#c0f100;
     1288    set maxspeed_left;
     1289    left-casing-color: speed_75_mph#c0f100;
     1290}
     1291way["maxspeed:forward"="80 mph"]!:righthandtraffic::maxspeedcasinglayer,
     1292way["maxspeed:backward"="80 mph"]:righthandtraffic::maxspeedcasinglayer
     1293{
     1294    set maxspeed_left;
     1295    left-casing-color: speed_80_mph#438100;
     1296}
     1297way["maxspeed:forward"="85 mph"]!:righthandtraffic::maxspeedcasinglayer,
     1298way["maxspeed:backward"="85 mph"]:righthandtraffic::maxspeedcasinglayer
     1299{
     1300    set maxspeed_left;
     1301    left-casing-color: speed_85_mph#725600;
    12111302}
    12121303
     
    12171308way.cond_backward_mph:righthandtraffic::maxspeedcasinglayer
    12181309{
    1219         set maxspeed_left_cond;
    1220         left-casing-dashes: 55,25;
     1310    set maxspeed_left_cond;
     1311    left-casing-dashes: 55,25;
    12211312}
    12221313/* 5.3.1 - kmh */
     
    12241315way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="none"]:righthandtraffic::maxspeedcasinglayer
    12251316{
    1226         left-casing-dashes-background-color: speed_none#febede;
     1317    left-casing-dashes-background-color: speed_none#febede;
    12271318}
    12281319way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="5"]!:righthandtraffic::maxspeedcasinglayer,
    12291320way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="5"]:righthandtraffic::maxspeedcasinglayer
    12301321{
    1231         left-casing-dashes-background-color: speed_5#ff5656;
     1322    left-casing-dashes-background-color: speed_5#ff5656;
    12321323}
    12331324way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="10"]!:righthandtraffic::maxspeedcasinglayer,
    12341325way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="10"]:righthandtraffic::maxspeedcasinglayer
    12351326{
    1236         left-casing-dashes-background-color: speed_10#b80022;
     1327    left-casing-dashes-background-color: speed_10#b80022;
    12371328}
    12381329way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="15"]!:righthandtraffic::maxspeedcasinglayer,
    12391330way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="15"]:righthandtraffic::maxspeedcasinglayer
    12401331{
    1241         left-casing-dashes-background-color: speed_15#00da8b;
     1332    left-casing-dashes-background-color: speed_15#00da8b;
    12421333}
    12431334way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="20"]!:righthandtraffic::maxspeedcasinglayer,
    12441335way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="20"]:righthandtraffic::maxspeedcasinglayer
    12451336{
    1246         left-casing-dashes-background-color: speed_20#e3cc82;
     1337    left-casing-dashes-background-color: speed_20#e3cc82;
    12471338}
    12481339way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="30"]!:righthandtraffic::maxspeedcasinglayer,
    12491340way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="30"]:righthandtraffic::maxspeedcasinglayer
    12501341{
    1251         left-casing-dashes-background-color: speed_30#4d4dff;
     1342    left-casing-dashes-background-color: speed_30#4d4dff;
    12521343}
    12531344way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="40"]!:righthandtraffic::maxspeedcasinglayer,
    12541345way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="40"]:righthandtraffic::maxspeedcasinglayer
    12551346{
    1256         left-casing-dashes-background-color: speed_40#4d4d00;
     1347    left-casing-dashes-background-color: speed_40#4d4d00;
    12571348}
    12581349way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="45"]!:righthandtraffic::maxspeedcasinglayer,
    12591350way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="45"]:righthandtraffic::maxspeedcasinglayer
    12601351{
    1261         left-casing-dashes-background-color: speed_45#ff529a;
     1352    left-casing-dashes-background-color: speed_45#fd6eaa;
    12621353}
    12631354way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="50"]!:righthandtraffic::maxspeedcasinglayer,
    12641355way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="50"]:righthandtraffic::maxspeedcasinglayer
    12651356{
    1266         left-casing-dashes-background-color: speed_50#07f807;
     1357    left-casing-dashes-background-color: speed_50#07f807;
    12671358}
    12681359way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="60"]!:righthandtraffic::maxspeedcasinglayer,
    12691360way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="60"]:righthandtraffic::maxspeedcasinglayer
    12701361{
    1271         left-casing-dashes-background-color: speed_60#9f9fff;
     1362    left-casing-dashes-background-color: speed_60#9f9fff;
    12721363}
    12731364way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="70"]!:righthandtraffic::maxspeedcasinglayer,
    12741365way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="70"]:righthandtraffic::maxspeedcasinglayer
    12751366{
    1276         left-casing-dashes-background-color: speed_70#ee8b00;
     1367    left-casing-dashes-background-color: speed_70#ee8b00;
    12771368}
    12781369way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="80"]!:righthandtraffic::maxspeedcasinglayer,
    12791370way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="80"]:righthandtraffic::maxspeedcasinglayer
    12801371{
    1281         left-casing-dashes-background-color: speed_80#f90808;
     1372    left-casing-dashes-background-color: speed_80#f90808;
    12821373}
    12831374way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="90"]!:righthandtraffic::maxspeedcasinglayer,
    12841375way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="90"]:righthandtraffic::maxspeedcasinglayer
    12851376{
    1286         left-casing-dashes-background-color: speed_90#07f8f8;
     1377    left-casing-dashes-background-color: speed_90#07f8f8;
    12871378}
    12881379way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="100"]!:righthandtraffic::maxspeedcasinglayer,
    12891380way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="100"]:righthandtraffic::maxspeedcasinglayer
    12901381{
    1291         left-casing-dashes-background-color: speed_100#f807f8;
     1382    left-casing-dashes-background-color: speed_100#f807f8;
    12921383}
    12931384way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="110"]!:righthandtraffic::maxspeedcasinglayer,
    12941385way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="110"]:righthandtraffic::maxspeedcasinglayer
    12951386{
    1296         left-casing-dashes-background-color: speed_110#7807f8;
     1387    left-casing-dashes-background-color: speed_110#7807f8;
    12971388}
    12981389way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="120"]!:righthandtraffic::maxspeedcasinglayer,
    12991390way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="120"]:righthandtraffic::maxspeedcasinglayer
    13001391{
    1301         left-casing-dashes-background-color: speed_120#b69b20;
     1392    left-casing-dashes-background-color: speed_120#b69b20;
    13021393}
    13031394way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="130"]!:righthandtraffic::maxspeedcasinglayer,
    13041395way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="130"]:righthandtraffic::maxspeedcasinglayer
    13051396{
    1306         left-casing-dashes-background-color: speed_130#c0f100;
     1397    left-casing-dashes-background-color: speed_130#c0f100;
    13071398}
    13081399way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="140"]!:righthandtraffic::maxspeedcasinglayer,
    13091400way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="140"]:righthandtraffic::maxspeedcasinglayer
    13101401{
    1311         left-casing-dashes-background-color: speed_140#438100;
     1402    left-casing-dashes-background-color: speed_140#438100;
    13121403}
    13131404/* 5.3.2 - mph */
     
    13151406way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="5"]:righthandtraffic::maxspeedcasinglayer
    13161407{
    1317         left-casing-dashes-background-color: speed_5_mph#b80022;
     1408    left-casing-dashes-background-color: speed_5_mph#b80022;
    13181409}
    13191410way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="10"]!:righthandtraffic::maxspeedcasinglayer,
    13201411way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="10"]:righthandtraffic::maxspeedcasinglayer
    13211412{
    1322         left-casing-dashes-background-color: speed_10_mph#00da8b;
     1413    left-casing-dashes-background-color: speed_10_mph#00da8b;
    13231414}
    13241415way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="15"]!:righthandtraffic::maxspeedcasinglayer,
    13251416way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="15"]:righthandtraffic::maxspeedcasinglayer
    13261417{
    1327         left-casing-dashes-background-color: speed_15_mph#e3cc82;
     1418    left-casing-dashes-background-color: speed_15_mph#e3cc82;
    13281419}
    13291420way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="20"]!:righthandtraffic::maxspeedcasinglayer,
    13301421way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="20"]:righthandtraffic::maxspeedcasinglayer
    13311422{
    1332         left-casing-dashes-background-color: speed_20_mph#4d4dff;
     1423    left-casing-dashes-background-color: speed_20_mph#4d4dff;
    13331424}
    13341425way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="25"]!:righthandtraffic::maxspeedcasinglayer,
    13351426way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="25"]:righthandtraffic::maxspeedcasinglayer
    13361427{
    1337         left-casing-dashes-background-color: speed_25_mph#4d4d00;
     1428    left-casing-dashes-background-color: speed_25_mph#4d4d00;
    13381429}
    13391430way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="30"]!:righthandtraffic::maxspeedcasinglayer,
    13401431way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="30"]:righthandtraffic::maxspeedcasinglayer
    13411432{
    1342         left-casing-dashes-background-color: speed_30_mph#ff529a;
     1433    left-casing-dashes-background-color: speed_30_mph#fd6eaa;
    13431434}
    13441435way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="35"]!:righthandtraffic::maxspeedcasinglayer,
    13451436way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="35"]:righthandtraffic::maxspeedcasinglayer
    13461437{
    1347         left-casing-dashes-background-color: speed_35_mph#07f807;
     1438    left-casing-dashes-background-color: speed_35_mph#07f807;
    13481439}
    13491440way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="40"]!:righthandtraffic::maxspeedcasinglayer,
    13501441way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="40"]:righthandtraffic::maxspeedcasinglayer
    13511442{
    1352         left-casing-dashes-background-color: speed_40_mph#9f9fff;
     1443    left-casing-dashes-background-color: speed_40_mph#9f9fff;
    13531444}
    13541445way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="45"]!:righthandtraffic::maxspeedcasinglayer,
    13551446way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="45"]:righthandtraffic::maxspeedcasinglayer
    13561447{
    1357         left-casing-dashes-background-color: speed_45_mph#ee8b00;
     1448    left-casing-dashes-background-color: speed_45_mph#ee8b00;
    13581449}
    13591450way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="50"]!:righthandtraffic::maxspeedcasinglayer,
    13601451way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="50"]:righthandtraffic::maxspeedcasinglayer
    13611452{
    1362         left-casing-dashes-background-color: speed_50_mph#f90808;
     1453    left-casing-dashes-background-color: speed_50_mph#f90808;
    13631454}
    13641455way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="55"]!:righthandtraffic::maxspeedcasinglayer,
    13651456way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="55"]:righthandtraffic::maxspeedcasinglayer
    13661457{
    1367         left-casing-dashes-background-color: speed_55_mph#07f8f8;
     1458    left-casing-dashes-background-color: speed_55_mph#07f8f8;
    13681459}
    13691460way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="60"]!:righthandtraffic::maxspeedcasinglayer,
    13701461way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="60"]:righthandtraffic::maxspeedcasinglayer
    13711462{
    1372         left-casing-dashes-background-color: speed_60_mph#f807f8;
     1463    left-casing-dashes-background-color: speed_60_mph#f807f8;
    13731464}
    13741465way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="65"]!:righthandtraffic::maxspeedcasinglayer,
    13751466way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="65"]:righthandtraffic::maxspeedcasinglayer
    13761467{
    1377         left-casing-dashes-background-color: speed_65_mph#7807f8;
     1468    left-casing-dashes-background-color: speed_65_mph#7807f8;
    13781469}
    13791470way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="70"]!:righthandtraffic::maxspeedcasinglayer,
    13801471way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="70"]:righthandtraffic::maxspeedcasinglayer
    13811472{
    1382         left-casing-dashes-background-color: speed_70_mph#b69b20;
     1473    left-casing-dashes-background-color: speed_70_mph#b69b20;
    13831474}
    13841475way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="75"]!:righthandtraffic::maxspeedcasinglayer,
    13851476way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="75"]:righthandtraffic::maxspeedcasinglayer
    13861477{
    1387         left-casing-dashes-background-color: speed_75_mph#c0f100;
     1478    left-casing-dashes-background-color: speed_75_mph#c0f100;
     1479}
     1480way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="80"]!:righthandtraffic::maxspeedcasinglayer,
     1481way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="80"]:righthandtraffic::maxspeedcasinglayer
     1482{
     1483    left-casing-dashes-background-color: speed_80_mph#438100;
     1484}
     1485way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="85"]!:righthandtraffic::maxspeedcasinglayer,
     1486way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="85"]:righthandtraffic::maxspeedcasinglayer
     1487{
     1488    left-casing-dashes-background-color: speed_85_mph#725600;
    13881489}
    13891490
     
    13921493way.maxspeed_left_cond::maxspeedcasinglayer
    13931494{
    1394         left-casing-width: 6;
    1395         left-casing-offset: 0;
    1396         major-z-index: 3;
    1397         z-index: -1;
     1495    left-casing-width: 6;
     1496    left-casing-offset: 0;
     1497    major-z-index: 3;
     1498    z-index: -1;
    13981499}
    13991500way|z16.maxspeed_left::maxspeedcasinglayer,
    14001501way|z16.maxspeed_left_cond::maxspeedcasinglayer
    14011502{
    1402         left-casing-width: 5;
     1503    left-casing-width: 5;
    14031504}
    14041505way|z-15.maxspeed_left::maxspeedcasinglayer,
    14051506way|z-15.maxspeed_left_cond::maxspeedcasinglayer
    14061507{
    1407         left-casing-width: 4;
     1508    left-casing-width: 4;
    14081509}
    14091510way.maxspeed_left_cond!.maxspeed_left::maxspeedcasinglayer
    14101511{
    1411         left-casing-opacity: 0;
    1412         left-casing-dashes-background-opacity: 1;
     1512    left-casing-opacity: 0;
     1513    left-casing-dashes-background-opacity: 1;
    14131514}
    14141515way.maxspeed_left[maxspeed:variable:forward]!:righthandtraffic::maxspeedcasinglayer,
     
    14171518way.maxspeed_left_cond[maxspeed:variable:backward]:righthandtraffic::maxspeedcasinglayer
    14181519{
    1419         left-casing-dashes: 34,6;
     1520    left-casing-dashes: 34,6;
    14201521}
    14211522
    14221523/*************************************/
    14231524
    1424 /* 6 - error reporting */
    1425 /* 6.1 - report wrong value of maxspeed */
    1426 way[maxspeed=~/^[0-9]+$/]::maxspeedlayer,
    1427 way[maxspeed=signals]::maxspeedlayer,
    1428 way[maxspeed=none]::maxspeedlayer,
    1429 way[maxspeed=~/^[0-9]+ mph$/]::maxspeedlayer,
    1430 way[maxspeed=~/^[0-9]+ km\/h$/]::maxspeedlayer,
    1431 way[maxspeed=~/^[0-9]+ knots$/]::maxspeedlayer,
    1432 way[maxspeed=~/^(BY|FR|RO|RS|RU):(urban|rural|motorway)/][setting("implicit")]::maxspeedlayer,
    1433 way[maxspeed=~/^(FR):(zone30)/][setting("implicit")]::maxspeedlayer,
    1434 way[maxspeed=~/^(RO|RS):(trunk)/][setting("implicit")]::maxspeedlayer,
    1435 way[maxspeed=~/^(BY|RS|RU):(living_street)/][setting("implicit")]::maxspeedlayer
    1436 {
    1437         set correct_value;
    1438 }
    1439 way[maxspeed:forward=~/^[0-9]+$/]::maxspeedcasinglayer,
    1440 way[maxspeed:forward=signals]::maxspeedcasinglayer,
    1441 way[maxspeed:forward=none]::maxspeedcasinglayer,
    1442 way[maxspeed:forward=~/^[0-9]+ mph$/]::maxspeedcasinglayer,
    1443 way[maxspeed:forward=~/^[0-9]+ km\/h$/]::maxspeedcasinglayer,
    1444 way[maxspeed:forward=~/^[0-9]+ knots$/]::maxspeedcasinglayer,
    1445 way[maxspeed:forward=~/^(BY|FR|RO|RS|RU):(urban|rural|motorway)/][setting("implicit")]::maxspeedcasinglayer,
    1446 way[maxspeed:forward=~/^(FR):(zone30)/][setting("implicit")]::maxspeedcasinglayer,
    1447 way[maxspeed:forward=~/^(RO|RS):(trunk)/][setting("implicit")]::maxspeedcasinglayer,
    1448 way[maxspeed:forward=~/^(BY|RS|RU):(living_street)/][setting("implicit")]::maxspeedcasinglayer
    1449 {
    1450         set correct_value_forward;
    1451 }
    1452 way[maxspeed:backward=~/^[0-9]+$/]::maxspeedcasinglayer,
    1453 way[maxspeed:backward=signals]::maxspeedcasinglayer,
    1454 way[maxspeed:backward=none]::maxspeedcasinglayer,
    1455 way[maxspeed:backward=~/^[0-9]+ mph$/]::maxspeedcasinglayer,
    1456 way[maxspeed:backward=~/^[0-9]+ km\/h$/]::maxspeedcasinglayer,
    1457 way[maxspeed:backward=~/^[0-9]+ knots$/]::maxspeedcasinglayer,
    1458 way[maxspeed:backward=~/^(BY|FR|RO|RS|RU):(urban|rural|motorway)/][setting("implicit")]::maxspeedcasinglayer,
    1459 way[maxspeed:backward=~/^(FR):(zone30)/][setting("implicit")]::maxspeedcasinglayer,
    1460 way[maxspeed:backward=~/^(RO|RS):(trunk)/][setting("implicit")]::maxspeedcasinglayer,
    1461 way[maxspeed:backward=~/^(BY|RS|RU):(living_street)/][setting("implicit")]::maxspeedcasinglayer
    1462 {
    1463         set correct_value_backward;
    1464 }
    1465 
    1466 way["maxspeed"]!.correct_value::maxspeedlayer,
    1467 way["maxspeed:forward"]!.correct_value_forward::maxspeedcasinglayer,
    1468 way["maxspeed:backward"]!.correct_value_backward::maxspeedcasinglayer
    1469 {
    1470         color: yellow;
    1471         dashes-background-color: red;
    1472         dashes: 4,24;
    1473         opacity: 1;
    1474         width: 5;
    1475         text: tr("no correct value for maxspeed!");
    1476         text-color: black;
    1477         font-size: 11;
    1478         text-halo-color: red;
    1479         text-halo-radius: 2;
    1480         casing-width: 1;
    1481         casing-color: yellow;
    1482 }
    1483 
    1484 /* 6.2 - report wrong value of maxspeed:conditional */
    1485 way["maxspeed:conditional"=~/^[1-9][0-9]* knots @ /]::maxspeedlayer,
    1486 way["maxspeed:forward:conditional"=~/^[1-9][0-9]* knots @ /]::maxspeedcasinglayer,
    1487 way["maxspeed:backward:conditional"=~/^[1-9][0-9]* knots @ /]::maxspeedcasinglayer
    1488 {
    1489         set cond_knots;
    1490 }
    1491 
    1492 way["maxspeed:conditional"]!.cond_kmh!.cond_mph!.cond_knots::maxspeedlayer,
    1493 way["maxspeed:forward:conditional"]!.cond_forward_kmh!.cond_forward_mph!.cond_knots::maxspeedcasinglayer,
    1494 way["maxspeed:backward:conditional"]!.cond_backward_kmh!.cond_backward_mph!.cond_knots::maxspeedcasinglayer
    1495 {
    1496         color: yellow;
    1497         dashes-background-color: red;
    1498         dashes: 4,24;
    1499         opacity: 1;
    1500         width: 5;
    1501         text: tr("wrong conditional maxspeed value!");
    1502         text-color: black;
    1503         font-size: 11;
    1504         text-halo-color: red;
    1505         text-halo-radius: 2;
    1506         left-casing-width: 1;
    1507         left-casing-color: yellow;
    1508         right-casing-width: 1;
    1509         right-casing-color: yellow;
    1510         z-index: 1;
    1511 }
    1512 
    1513 /* 6.3 - report conditional maxspeed without default maxspeed */
    1514 way["maxspeed:conditional"][!"maxspeed"]::maxspeedlayer,
    1515 way["maxspeed:forward:conditional"][!"maxspeed:forward"][!"maxspeed"]::maxspeedcasinglayer,
    1516 way["maxspeed:backward:conditional"][!"maxspeed:backward"][!"maxspeed"]::maxspeedcasinglayer
    1517 {
    1518         color: yellow;
    1519         dashes-background-color: red;
    1520         dashes: 4,24;
    1521         opacity: 1;
    1522         width: 5;
    1523         text: tr("conditional maxspeed without default maxspeed!");
    1524         text-color: black;
    1525         font-size: 11;
    1526         text-halo-color: red;
    1527         text-halo-radius: 2;
    1528         left-casing-width: 1;
    1529         left-casing-color: yellow;
    1530         right-casing-width: 1;
    1531         right-casing-color: yellow;
    1532         left-casing-opacity: 1;
    1533         right-casing-opacity: 1;
    1534         z-index: 1;
    1535 
    1536 }
    1537 
    1538 /* 6.4 - report if maxspeed direction is opposed to oneway direction */
    1539 way["maxspeed:backward"][oneway?], /* in default layer to not hide the oneway arrows */
     1525/* 6 - display maxspeed values as text (text always in default layer) */
     1526way[setting("textdisplay")][maxspeed]
     1527{
     1528    maxspeedvalues: tag(maxspeed);
     1529    set text_available;
     1530}
     1531way[setting("textdisplay")][maxspeed:forward]
     1532{
     1533    maxspeedvalues: concat(prop(maxspeedvalues), "  fw", tag("maxspeed:forward"));
     1534    set text_available;
     1535}
     1536way[setting("textdisplay")][maxspeed:backward]
     1537{
     1538    maxspeedvalues: concat(prop(maxspeedvalues), "  bw", tag("maxspeed:backward"));
     1539    set text_available;
     1540}
     1541
     1542/* get rid of the text after "@" as it can be a long text while keeping mph and knots */
     1543way[setting("textdisplay")][maxspeed:conditional]
     1544{
     1545    maxspeedvalues: concat(prop(maxspeedvalues), "  c", get(split(" @", tag("maxspeed:conditional")), 0));
     1546    set text_available;
     1547}
     1548way[setting("textdisplay")][maxspeed:forward:conditional]
     1549{
     1550    maxspeedvalues: concat(prop(maxspeedvalues), "  fwc", get(split(" @", tag("maxspeed:forward:conditional")), 0));
     1551    set text_available;
     1552}
     1553way[setting("textdisplay")][maxspeed:backward:conditional]
     1554{
     1555    maxspeedvalues: concat(prop(maxspeedvalues), "  bwc", get(split(" @", tag("maxspeed:backward:conditional")), 0));
     1556    set text_available;
     1557}
     1558
     1559way[setting("textdisplay")][maxspeed:advisory]
     1560{
     1561    maxspeedvalues: concat(prop(maxspeedvalues), "  a", tag("maxspeed:advisory"));
     1562    set text_available;
     1563}
     1564way[setting("textdisplay")][maxspeed:advisory:forward]
     1565{
     1566    maxspeedvalues: concat(prop(maxspeedvalues), "  afw", tag("maxspeed:advisory:forward"));
     1567    set text_available;
     1568}
     1569way[setting("textdisplay")][maxspeed:advisory:backward]
     1570{
     1571    maxspeedvalues: concat(prop(maxspeedvalues), "  abw", tag("maxspeed:advisory:backward"));
     1572    set text_available;
     1573}
     1574
     1575/* display "v" only for the values yes or other reasons (as the reason can be a long text), but not for value no */
     1576way[setting("textdisplay")][maxspeed:variable][maxspeed:variable!=no]
     1577{
     1578    maxspeedvalues: concat(prop(maxspeedvalues), "  v");
     1579    set text_available;
     1580}
     1581way[setting("textdisplay")][maxspeed:variable:forward][maxspeed:variable:forward!=no]
     1582{
     1583    maxspeedvalues: concat(prop(maxspeedvalues), "  vfw");
     1584    set text_available;
     1585}
     1586way[setting("textdisplay")][maxspeed:variable:backward][maxspeed:variable:backward!=no]
     1587{
     1588    maxspeedvalues: concat(prop(maxspeedvalues), "  vbw");
     1589    set text_available;
     1590}
     1591
     1592way|z18-[setting("textdisplay")].text_available
     1593{
     1594    font-size: 13;
     1595    text-color: black;
     1596    text-halo-radius: 2;
     1597    text-halo-color: white;
     1598    text: prop(maxspeedvalues);
     1599}
     1600
     1601
     1602/*************************************/
     1603
     1604/* 7 - error reporting (text always in default layer, overwrites text: prop(maxspeedvalues))*/
     1605/* 7.1 - report wrong value of maxspeed (knots has no style support but should not produce a warning anyway) */
     1606way[maxspeed=~/^[1-9][0-9]*( mph| knots)?$/],
     1607way[maxspeed=signals],
     1608way[maxspeed=none],
     1609way[maxspeed=~/^(BY|FR|RO|RS|RU):(urban|rural|motorway)/][setting("implicit")],
     1610way[maxspeed=~/^(FR):(zone30)/][setting("implicit")],
     1611way[maxspeed=~/^(RO|RS):(trunk)/][setting("implicit")],
     1612way[maxspeed=~/^(BY|RS|RU):(living_street)/][setting("implicit")]
     1613{
     1614    set correct_value;
     1615}
     1616way[maxspeed:forward=~/^[1-9][0-9]*( mph| knots)?$/],
     1617way[maxspeed:forward=signals],
     1618way[maxspeed:forward=none],
     1619way[maxspeed:forward=~/^(BY|FR|RO|RS|RU):(urban|rural|motorway)/][setting("implicit")],
     1620way[maxspeed:forward=~/^(FR):(zone30)/][setting("implicit")],
     1621way[maxspeed:forward=~/^(RO|RS):(trunk)/][setting("implicit")],
     1622way[maxspeed:forward=~/^(BY|RS|RU):(living_street)/][setting("implicit")]
     1623{
     1624    set correct_value_forward;
     1625}
     1626way[maxspeed:backward=~/^[1-9][0-9]*( mph| knots)?$/],
     1627way[maxspeed:backward=signals],
     1628way[maxspeed:backward=none],
     1629way[maxspeed:backward=~/^(BY|FR|RO|RS|RU):(urban|rural|motorway)/][setting("implicit")],
     1630way[maxspeed:backward=~/^(FR):(zone30)/][setting("implicit")],
     1631way[maxspeed:backward=~/^(RO|RS):(trunk)/][setting("implicit")],
     1632way[maxspeed:backward=~/^(BY|RS|RU):(living_street)/][setting("implicit")]
     1633{
     1634    set correct_value_backward;
     1635}
     1636
     1637way["maxspeed"]!.correct_value,
     1638way["maxspeed:forward"]!.correct_value_forward,
     1639way["maxspeed:backward"]!.correct_value_backward
     1640{
     1641    color: yellow;
     1642    dashes-background-color: red;
     1643    dashes: 4,24;
     1644    width: 5;
     1645    text: tr("wrong maxspeed value!");
     1646    text-color: black;
     1647    font-size: 11;
     1648    text-halo-color: red;
     1649    text-halo-radius: 2;
     1650    left-casing-width: 1;
     1651    left-casing-color: yellow;
     1652    right-casing-width: 1;
     1653    right-casing-color: yellow;
     1654    major-z-index: 3;
     1655}
     1656
     1657
     1658/* 7.2 - report wrong value of maxspeed:conditional */
     1659way["maxspeed:conditional"=~/^(none|[1-9][0-9]*( mph| knots)?) @ /]
     1660{
     1661    set correct_value_cond;
     1662}
     1663
     1664way["maxspeed:forward:conditional"=~/^(none|[1-9][0-9]*( mph| knots)?) @ /]
     1665{
     1666    set correct_value_forward_cond;
     1667}
     1668
     1669
     1670way["maxspeed:backward:conditional"=~/^(none|[1-9][0-9]*( mph| knots)?) @ /]
     1671{
     1672    set correct_value_backward_cond;
     1673}
     1674
     1675
     1676way["maxspeed:conditional"]!.correct_value_cond,
     1677way["maxspeed:forward:conditional"]!.correct_value_forward_cond,
     1678way["maxspeed:backward:conditional"]!.correct_value_backward_cond
     1679{
     1680    color: yellow;
     1681    dashes-background-color: red;
     1682    dashes: 4,24;
     1683    width: 5;
     1684    text: tr("wrong conditional maxspeed value!");
     1685    text-color: black;
     1686    font-size: 11;
     1687    text-halo-color: red;
     1688    text-halo-radius: 2;
     1689    left-casing-width: 1;
     1690    left-casing-color: yellow;
     1691    right-casing-width: 1;
     1692    right-casing-color: yellow;
     1693    major-z-index: 3;
     1694}
     1695
     1696/* 7.3 - report conditional maxspeed without default maxspeed */
     1697way["maxspeed:conditional"][!"maxspeed"],
     1698way["maxspeed:forward:conditional"][!"maxspeed:forward"][!"maxspeed"],
     1699way["maxspeed:backward:conditional"][!"maxspeed:backward"][!"maxspeed"]
     1700{
     1701    color: yellow;
     1702    dashes-background-color: red;
     1703    dashes: 4,24;
     1704    width: 5;
     1705    text: tr("conditional maxspeed without default maxspeed!");
     1706    text-color: black;
     1707    font-size: 11;
     1708    text-halo-color: red;
     1709    text-halo-radius: 2;
     1710    left-casing-width: 1;
     1711    left-casing-color: yellow;
     1712    right-casing-width: 1;
     1713    right-casing-color: yellow;
     1714    major-z-index: 3;
     1715
     1716}
     1717
     1718/* 7.4 - report wrong value of maxspeed:advisory */
     1719way[maxspeed:advisory=~/^[1-9][0-9]*( mph| knots)?$/]
     1720{
     1721    set correct_value_advisory;
     1722}
     1723way[maxspeed:advisory:forward=~/^[1-9][0-9]*( mph| knots)?$/]
     1724{
     1725    set correct_value_advisory_forward;
     1726}
     1727way[maxspeed:advisory:backward=~/^[1-9][0-9]*( mph| knots)?$/]
     1728{
     1729    set correct_value_advisory_backward;
     1730}
     1731
     1732way["maxspeed:advisory"]!.correct_value_advisory,
     1733way["maxspeed:advisory:forward"]!.correct_value_advisory_forward,
     1734way["maxspeed:advisory:backward"]!.correct_value_advisory_backward
     1735{
     1736    color: yellow;
     1737    dashes-background-color: red;
     1738    dashes: 4,24;
     1739    width: 5;
     1740    text: tr("wrong maxspeed:advisory value!");
     1741    text-color: black;
     1742    font-size: 11;
     1743    text-halo-color: red;
     1744    text-halo-radius: 2;
     1745    left-casing-width: 1;
     1746    left-casing-color: yellow;
     1747    right-casing-width: 1;
     1748    right-casing-color: yellow;
     1749    major-z-index: 3;
     1750}
     1751
     1752/* 7.5 - report if maxspeed direction is opposed to oneway direction */
     1753way["maxspeed:backward"][oneway?],
    15401754way["maxspeed:forward"][oneway=-1]
    15411755{
    1542         color: yellow;
    1543         dashes-background-color: red;
    1544         dashes: 4,24;
    1545         opacity: 1;
    1546         width: 5;
    1547         text: tr("maxspeed opposed to oneway direction!");
    1548         text-color: black;
    1549         font-size: 11;
    1550         text-halo-color: red;
    1551         text-halo-radius: 2;
    1552         casing-width: 1;
    1553         casing-color: yellow;
     1756    color: yellow;
     1757    dashes-background-color: red;
     1758    dashes: 4,24;
     1759    width: 5;
     1760    text: tr("maxspeed opposed to oneway direction!");
     1761    text-color: black;
     1762    font-size: 11;
     1763    text-halo-color: red;
     1764    text-halo-radius: 2;
     1765    left-casing-width: 1;
     1766    left-casing-color: yellow;
     1767    right-casing-width: 1;
     1768    right-casing-color: yellow;
     1769    major-z-index: 3;
    15541770}
    15551771}}}