Changes between Version 30 and Version 31 of Styles/Maxspeed


Ignore:
Timestamp:
2015-11-05T00:30:45+01:00 (10 years ago)
Author:
Klumbumbus
Comment:

update to version 2.7 - code

Legend:

Unmodified
Added
Removed
Modified
  • Styles/Maxspeed

    v30 v31  
    6060 3.1 - kmh
    6161 3.2 - mph
    62  3.3 - general rules
    63  3.4 - conditional maxspeed
    64  3.4.1 - kmh
    65  3.4.2 - mph
     62 3.3 - conditional maxspeed
     63 3.3.1 - kmh
     64 3.3.2 - mph
     65 3.4 - general rules
    66664 - display maxspeed:forward=* for righthandtraffic and maxspeed:backward=* for lefthandtraffic
    6767 4.1 - kmh
    6868 4.2 - mph
    69  4.3 - general rules
    70  4.4 - conditional righthand-forward and lefthand-backward maxspeed
    71  4.4.1 - kmh
    72  4.4.2 - mph
     69 4.3 - conditional righthand-forward and lefthand-backward maxspeed
     70 4.3.1 - kmh
     71 4.3.2 - mph
     72 4.4 - general rules
    73735 - display maxspeed:forward=* for lefthandtraffic and maxspeed:backward=* for righthandtraffic
    7474 5.1 - kmh
    7575 5.2 - mph
    76  5.3 - general rules
    77  5.4 - conditional lefthand-forward and righthand-backward maxspeed
    78  5.4.1 - kmh
    79  5.4.2 - mph
     76 5.3 - conditional lefthand-forward and righthand-backward maxspeed
     77 5.3.1 - kmh
     78 5.3.2 - mph
     79 5.4 - general rules
    80806 - error reporting
    8181 6.1 - report wrong value of maxspeed
     
    9292{
    9393        title: "Maxspeed";
    94         version: "2.5.[[revision]]_[[date]]";
    95         description: "Display maxspeed values in JOSM map display.";
     94        version: "2.7.[[revision]]_[[date]]";
     95        description: "Display maxspeed values of ways in the map view.";
    9696        icon: "maxspeed_icon.svg";
    9797        author: "Rubke, Dirk Stöcker, Vclaw, Klumbumbus";
     
    103103{
    104104        title: "Höchstgeschwindigkeit";
    105         description: "Anzeige der Höchstgeschwindigkeiten in der JOSM-Kartenanzeige.";
     105        description: "Anzeige der Höchstgeschwindigkeiten von Linien in der Kartenanzeige.";
    106106        link: "http://josm.openstreetmap.de/wiki/De:Styles/Maxspeed";
    107107}
     
    135135        set cond_kmh;
    136136}
    137 way["maxspeed:forward:conditional"=~/^(none|[1-9][0-9]*) @ /]::maxspeedlayer
     137way["maxspeed:forward:conditional"=~/^(none|[1-9][0-9]*) @ /]::maxspeedcasinglayer
    138138{
    139139        maxsp_forward_cond: get(split(" ", tag("maxspeed:forward:conditional")), 0);
    140140        set cond_forward_kmh;
    141141}
    142 way["maxspeed:backward:conditional"=~/^(none|[1-9][0-9]*) @ /]::maxspeedlayer
     142way["maxspeed:backward:conditional"=~/^(none|[1-9][0-9]*) @ /]::maxspeedcasinglayer
    143143{
    144144        maxsp_backward_cond: get(split(" ", tag("maxspeed:backward:conditional")), 0);
     
    150150        set cond_mph;
    151151}
    152 way["maxspeed:forward:conditional"=~/^[1-9][0-9]* mph @ /]::maxspeedlayer
     152way["maxspeed:forward:conditional"=~/^[1-9][0-9]* mph @ /]::maxspeedcasinglayer
    153153{
    154154        maxsp_forward_cond: get(split(" ", tag("maxspeed:forward:conditional")), 0);
    155155        set cond_forward_mph;
    156156}
    157 way["maxspeed:backward:conditional"=~/^[1-9][0-9]* mph @ /]::maxspeedlayer
     157way["maxspeed:backward:conditional"=~/^[1-9][0-9]* mph @ /]::maxspeedcasinglayer
    158158{
    159159        maxsp_backward_cond: get(split(" ", tag("maxspeed:backward:conditional")), 0);
     
    164164
    165165/* 3 - display maxspeed=* */
     166/* Note: With some modifications one could delete chapter three and one could use the casing rendering from forward and backward also for the default maxspeed=* rendering.
     167This would simplify the style code a bit. However this leads to more asynchronous renderings of the dashes, see JOSM ticket #11994.
     168Also it makes a nicer rendering for dashes lines, like highway=construction or railway=tram.
     169Therefore the style is written this way. */
    166170/* 3.1 - kmh */
    167171way["maxspeed"="none"]::maxspeedlayer
     
    247251{
    248252        set maxspeed;
    249         color: speed_120#ccad24;
     253        color: speed_120#b69b20;
    250254}
    251255way["maxspeed"="130"]::maxspeedlayer
     
    323327{
    324328        set maxspeed;
    325         color: speed_70_mph#ccad24;
     329        color: speed_70_mph#b69b20;
    326330}
    327331way["maxspeed"="75 mph"]::maxspeedlayer
     
    331335}
    332336
    333 /* 3.3 - general rules */
     337/* 3.3 - conditional maxspeed */
     338way.cond_kmh::maxspeedlayer,
     339way.cond_mph::maxspeedlayer
     340{
     341        dashes: 55,25;
     342}
     343/* 3.3.1 - kmh */
     344way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="none"]::maxspeedlayer
     345{
     346        dashes-background-color:  speed_none#febede;
     347}
     348way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="5"]::maxspeedlayer
     349{
     350        dashes-background-color:  speed_5#ff5656;
     351}
     352way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="10"]::maxspeedlayer
     353{
     354        dashes-background-color:  speed_10#b80022;
     355}
     356way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="15"]::maxspeedlayer
     357{
     358        dashes-background-color:  speed_15#00da8b;
     359}
     360way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="20"]::maxspeedlayer
     361/* A selector for RU scheme is not needed here because "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).  */
     362{
     363        dashes-background-color:  speed_20#e3cc82;
     364}
     365way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="30"]::maxspeedlayer
     366{
     367        dashes-background-color:  speed_30#4d4dff;
     368}
     369way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="40"]::maxspeedlayer
     370{
     371        dashes-background-color:  speed_40#4d4d00;
     372}
     373way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="45"]::maxspeedlayer
     374{
     375        dashes-background-color:  speed_45#ff529a;
     376}
     377way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="50"]::maxspeedlayer
     378{
     379        dashes-background-color:  speed_50#07f807;
     380}
     381way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="60"]::maxspeedlayer
     382{
     383        dashes-background-color:  speed_60#9f9fff;
     384}
     385way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="70"]::maxspeedlayer
     386{
     387        dashes-background-color:  speed_70#ee8b00;
     388}
     389way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="80"]::maxspeedlayer
     390{
     391        dashes-background-color:  speed_80#f90808;
     392}
     393way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="90"]::maxspeedlayer
     394{
     395        dashes-background-color:  speed_90#07f8f8;
     396}
     397way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="100"]::maxspeedlayer
     398{
     399        dashes-background-color:  speed_100#f807f8;
     400}
     401way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="110"]::maxspeedlayer
     402{
     403        dashes-background-color:  speed_110#7807f8;
     404}
     405way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="120"]::maxspeedlayer
     406{
     407        dashes-background-color:  speed_120#b69b20;
     408}
     409way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="130"]::maxspeedlayer
     410{
     411        dashes-background-color:  speed_130#c0f100;
     412}
     413/* 3.3.2 -  mph */
     414way.cond_mph[prop(maxsp_cond, maxspeedlayer)="5"]::maxspeedlayer
     415{
     416        dashes-background-color:  speed_5_mph#b80022;
     417}
     418way.cond_mph[prop(maxsp_cond, maxspeedlayer)="10"]::maxspeedlayer
     419{
     420        dashes-background-color:  speed_10_mph#00da8b;
     421}
     422way.cond_mph[prop(maxsp_cond, maxspeedlayer)="15"]::maxspeedlayer
     423{
     424        dashes-background-color:  speed_15_mph#e3cc82;
     425}
     426way.cond_mph[prop(maxsp_cond, maxspeedlayer)="20"]::maxspeedlayer
     427{
     428        dashes-background-color:  speed_20_mph#4d4dff;
     429}
     430way.cond_mph[prop(maxsp_cond, maxspeedlayer)="25"]::maxspeedlayer
     431{
     432        dashes-background-color:  speed_25_mph#4d4d00;
     433}
     434way.cond_mph[prop(maxsp_cond, maxspeedlayer)="30"]::maxspeedlayer
     435{
     436        dashes-background-color:  speed_30_mph#ff529a;
     437}
     438way.cond_mph[prop(maxsp_cond, maxspeedlayer)="35"]::maxspeedlayer
     439{
     440        dashes-background-color:  speed_35_mph#07f807;
     441}
     442way.cond_mph[prop(maxsp_cond, maxspeedlayer)="40"]::maxspeedlayer
     443{
     444        dashes-background-color:  speed_40_mph#9f9fff;
     445}
     446way.cond_mph[prop(maxsp_cond, maxspeedlayer)="45"]::maxspeedlayer
     447{
     448        dashes-background-color:  speed_45_mph#ee8b00;
     449}
     450way.cond_mph[prop(maxsp_cond, maxspeedlayer)="50"]::maxspeedlayer
     451{
     452        dashes-background-color:  speed_50_mph#f90808;
     453}
     454way.cond_mph[prop(maxsp_cond, maxspeedlayer)="55"]::maxspeedlayer
     455{
     456        dashes-background-color:  speed_55_mph#07f8f8;
     457}
     458way.cond_mph[prop(maxsp_cond, maxspeedlayer)="60"]::maxspeedlayer
     459{
     460        dashes-background-color:  speed_60_mph#f807f8;
     461}
     462way.cond_mph[prop(maxsp_cond, maxspeedlayer)="65"]::maxspeedlayer
     463{
     464        dashes-background-color:  speed_65_mph#7807f8;
     465}
     466way.cond_mph[prop(maxsp_cond, maxspeedlayer)="70"]::maxspeedlayer
     467{
     468        dashes-background-color:  speed_70_mph#b69b20;
     469}
     470way.cond_mph[prop(maxsp_cond, maxspeedlayer)="75"]::maxspeedlayer
     471{
     472        dashes-background-color:  speed_75_mph#c0f100;
     473}
     474
     475/* 3.4 - general rules */
    334476way.maxspeed::maxspeedlayer
    335477{
    336         opacity: 0.75;
    337478        width: 14;
    338479        z-index: -1;
     
    349490{
    350491        dashes: 34,6;
    351 }
    352 
    353 /* 3.4 - conditional maxspeed */
    354 way.cond_kmh::maxspeedlayer,
    355 way.cond_mph::maxspeedlayer
    356 {
    357         dashes: 55,25;
    358         /* dashes-background-opacity is automatic adopted from opacity. */
    359 }
    360 /* 3.4.1 - kmh */
    361 way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="none"]::maxspeedlayer
    362 {
    363         dashes-background-color:  speed_none#febede;
    364 }
    365 way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="5"]::maxspeedlayer
    366 {
    367         dashes-background-color:  speed_5#ff5656;
    368 }
    369 way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="10"]::maxspeedlayer
    370 {
    371         dashes-background-color:  speed_10#b80022;
    372 }
    373 way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="15"]::maxspeedlayer
    374 {
    375         dashes-background-color:  speed_15#00da8b;
    376 }
    377 way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="20"]::maxspeedlayer
    378 /* A selector for RU scheme is not needed here because "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).  */
    379 {
    380         dashes-background-color:  speed_20#e3cc82;
    381 }
    382 way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="30"]::maxspeedlayer
    383 {
    384         dashes-background-color:  speed_30#4d4dff;
    385 }
    386 way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="40"]::maxspeedlayer
    387 {
    388         dashes-background-color:  speed_40#4d4d00;
    389 }
    390 way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="45"]::maxspeedlayer
    391 {
    392         dashes-background-color:  speed_45#ff529a;
    393 }
    394 way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="50"]::maxspeedlayer
    395 {
    396         dashes-background-color:  speed_50#07f807;
    397 }
    398 way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="60"]::maxspeedlayer
    399 {
    400         dashes-background-color:  speed_60#9f9fff;
    401 }
    402 way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="70"]::maxspeedlayer
    403 {
    404         dashes-background-color:  speed_70#ee8b00;
    405 }
    406 way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="80"]::maxspeedlayer
    407 {
    408         dashes-background-color:  speed_80#f90808;
    409 }
    410 way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="90"]::maxspeedlayer
    411 {
    412         dashes-background-color:  speed_90#07f8f8;
    413 }
    414 way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="100"]::maxspeedlayer
    415 {
    416         dashes-background-color:  speed_100#f807f8;
    417 }
    418 way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="110"]::maxspeedlayer
    419 {
    420         dashes-background-color:  speed_110#7807f8;
    421 }
    422 way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="120"]::maxspeedlayer
    423 {
    424         dashes-background-color:  speed_120#ccad24;
    425 }
    426 way.cond_kmh[prop(maxsp_cond, maxspeedlayer)="130"]::maxspeedlayer
    427 {
    428         dashes-background-color:  speed_130#c0f100;
    429 }
    430 /* 3.4.2 -  mph */
    431 way.cond_mph[prop(maxsp_cond, maxspeedlayer)="5"]::maxspeedlayer
    432 {
    433         dashes-background-color:  speed_5_mph#b80022;
    434 }
    435 way.cond_mph[prop(maxsp_cond, maxspeedlayer)="10"]::maxspeedlayer
    436 {
    437         dashes-background-color:  speed_10_mph#00da8b;
    438 }
    439 way.cond_mph[prop(maxsp_cond, maxspeedlayer)="15"]::maxspeedlayer
    440 {
    441         dashes-background-color:  speed_15_mph#e3cc82;
    442 }
    443 way.cond_mph[prop(maxsp_cond, maxspeedlayer)="20"]::maxspeedlayer
    444 {
    445         dashes-background-color:  speed_20_mph#4d4dff;
    446 }
    447 way.cond_mph[prop(maxsp_cond, maxspeedlayer)="25"]::maxspeedlayer
    448 {
    449         dashes-background-color:  speed_25_mph#4d4d00;
    450 }
    451 way.cond_mph[prop(maxsp_cond, maxspeedlayer)="30"]::maxspeedlayer
    452 {
    453         dashes-background-color:  speed_30_mph#ff529a;
    454 }
    455 way.cond_mph[prop(maxsp_cond, maxspeedlayer)="35"]::maxspeedlayer
    456 {
    457         dashes-background-color:  speed_35_mph#07f807;
    458 }
    459 way.cond_mph[prop(maxsp_cond, maxspeedlayer)="40"]::maxspeedlayer
    460 {
    461         dashes-background-color:  speed_40_mph#9f9fff;
    462 }
    463 way.cond_mph[prop(maxsp_cond, maxspeedlayer)="45"]::maxspeedlayer
    464 {
    465         dashes-background-color:  speed_45_mph#ee8b00;
    466 }
    467 way.cond_mph[prop(maxsp_cond, maxspeedlayer)="50"]::maxspeedlayer
    468 {
    469         dashes-background-color:  speed_50_mph#f90808;
    470 }
    471 way.cond_mph[prop(maxsp_cond, maxspeedlayer)="55"]::maxspeedlayer
    472 {
    473         dashes-background-color:  speed_55_mph#07f8f8;
    474 }
    475 way.cond_mph[prop(maxsp_cond, maxspeedlayer)="60"]::maxspeedlayer
    476 {
    477         dashes-background-color:  speed_60_mph#f807f8;
    478 }
    479 way.cond_mph[prop(maxsp_cond, maxspeedlayer)="65"]::maxspeedlayer
    480 {
    481         dashes-background-color:  speed_65_mph#7807f8;
    482 }
    483 way.cond_mph[prop(maxsp_cond, maxspeedlayer)="70"]::maxspeedlayer
    484 {
    485         dashes-background-color:  speed_70_mph#ccad24;
    486 }
    487 way.cond_mph[prop(maxsp_cond, maxspeedlayer)="75"]::maxspeedlayer
    488 {
    489         dashes-background-color:  speed_75_mph#c0f100;
     492        /* *variable* overrides the dashes scheme of *conditional*, but the colors of conditional stay.
     493        This way you can see conditional and variable together */
    490494}
    491495
     
    494498/* 4 - display maxspeed:forward=* for righthandtraffic and maxspeed:backward=* for lefthandtraffic */
    495499/* 4.1 - kmh */
    496 way["maxspeed:forward"="none"]:righthandtraffic::maxspeedlayer,
    497 way["maxspeed:backward"="none"]!:righthandtraffic::maxspeedlayer
     500way["maxspeed:forward"="none"]:righthandtraffic::maxspeedcasinglayer,
     501way["maxspeed:backward"="none"]!:righthandtraffic::maxspeedcasinglayer
    498502{
    499503        set maxspeed_right;
    500504        right-casing-color: speed_none#febede;
    501505}
    502 way["maxspeed:forward"="5"]:righthandtraffic::maxspeedlayer,
    503 way["maxspeed:backward"="5"]!:righthandtraffic::maxspeedlayer
     506way["maxspeed:forward"="5"]:righthandtraffic::maxspeedcasinglayer,
     507way["maxspeed:backward"="5"]!:righthandtraffic::maxspeedcasinglayer
    504508{
    505509        set maxspeed_right;
    506510        right-casing-color: speed_5#ff5656;
    507511}
    508 way["maxspeed:forward"="10"]:righthandtraffic::maxspeedlayer,
    509 way["maxspeed:backward"="10"]!:righthandtraffic::maxspeedlayer
     512way["maxspeed:forward"="10"]:righthandtraffic::maxspeedcasinglayer,
     513way["maxspeed:backward"="10"]!:righthandtraffic::maxspeedcasinglayer
    510514{
    511515        set maxspeed_right;
    512516        right-casing-color: speed_10#b80022;
    513517}
    514 way["maxspeed:forward"="15"]:righthandtraffic::maxspeedlayer,
    515 way["maxspeed:backward"="15"]!:righthandtraffic::maxspeedlayer
     518way["maxspeed:forward"="15"]:righthandtraffic::maxspeedcasinglayer,
     519way["maxspeed:backward"="15"]!:righthandtraffic::maxspeedcasinglayer
    516520{
    517521        set maxspeed_right;
    518522        right-casing-color: speed_15#00da8b;
    519523}
    520 way["maxspeed:forward"="20"]:righthandtraffic::maxspeedlayer,
    521 way["maxspeed:backward"="20"]!:righthandtraffic::maxspeedlayer,
    522 way["maxspeed:forward"="RU:living_street"][setting("RU")]:righthandtraffic::maxspeedlayer
     524way["maxspeed:forward"="20"]:righthandtraffic::maxspeedcasinglayer,
     525way["maxspeed:backward"="20"]!:righthandtraffic::maxspeedcasinglayer,
     526way["maxspeed:forward"="RU:living_street"][setting("RU")]:righthandtraffic::maxspeedcasinglayer
    523527/* no left hand traffic in RU, so a selector is not needed */
    524528{
     
    526530        right-casing-color: speed_20#e3cc82;
    527531}
    528 way["maxspeed:forward"="30"]:righthandtraffic::maxspeedlayer,
    529 way["maxspeed:backward"="30"]!:righthandtraffic::maxspeedlayer
     532way["maxspeed:forward"="30"]:righthandtraffic::maxspeedcasinglayer,
     533way["maxspeed:backward"="30"]!:righthandtraffic::maxspeedcasinglayer
    530534{
    531535        set maxspeed_right;
    532536        right-casing-color: speed_30#4d4dff;
    533537}
    534 way["maxspeed:forward"="40"]:righthandtraffic::maxspeedlayer,
    535 way["maxspeed:backward"="40"]!:righthandtraffic::maxspeedlayer
     538way["maxspeed:forward"="40"]:righthandtraffic::maxspeedcasinglayer,
     539way["maxspeed:backward"="40"]!:righthandtraffic::maxspeedcasinglayer
    536540{
    537541        set maxspeed_right;
    538542        right-casing-color: speed_40#4d4d00;
    539543}
    540 way["maxspeed:forward"="45"]:righthandtraffic::maxspeedlayer,
    541 way["maxspeed:backward"="45"]!:righthandtraffic::maxspeedlayer
     544way["maxspeed:forward"="45"]:righthandtraffic::maxspeedcasinglayer,
     545way["maxspeed:backward"="45"]!:righthandtraffic::maxspeedcasinglayer
    542546{
    543547        set maxspeed_right;
    544548        right-casing-color: speed_45#ff529a;
    545549}
    546 way["maxspeed:forward"="50"]:righthandtraffic::maxspeedlayer,
    547 way["maxspeed:backward"="50"]!:righthandtraffic::maxspeedlayer
     550way["maxspeed:forward"="50"]:righthandtraffic::maxspeedcasinglayer,
     551way["maxspeed:backward"="50"]!:righthandtraffic::maxspeedcasinglayer
    548552{
    549553        set maxspeed_right;
    550554        right-casing-color: speed_50#07f807;
    551555}
    552 way["maxspeed:forward"="60"]:righthandtraffic::maxspeedlayer,
    553 way["maxspeed:backward"="60"]!:righthandtraffic::maxspeedlayer,
    554 way["maxspeed:forward"="RU:urban"][setting("RU")]:righthandtraffic::maxspeedlayer
     556way["maxspeed:forward"="60"]:righthandtraffic::maxspeedcasinglayer,
     557way["maxspeed:backward"="60"]!:righthandtraffic::maxspeedcasinglayer,
     558way["maxspeed:forward"="RU:urban"][setting("RU")]:righthandtraffic::maxspeedcasinglayer
    555559{
    556560        set maxspeed_right;
    557561        right-casing-color: speed_60#9f9fff;
    558562}
    559 way["maxspeed:forward"="70"]:righthandtraffic::maxspeedlayer,
    560 way["maxspeed:backward"="70"]!:righthandtraffic::maxspeedlayer
     563way["maxspeed:forward"="70"]:righthandtraffic::maxspeedcasinglayer,
     564way["maxspeed:backward"="70"]!:righthandtraffic::maxspeedcasinglayer
    561565{
    562566        set maxspeed_right;
    563567        right-casing-color: speed_70#ee8b00;
    564568}
    565 way["maxspeed:forward"="80"]:righthandtraffic::maxspeedlayer,
    566 way["maxspeed:backward"="80"]!:righthandtraffic::maxspeedlayer
     569way["maxspeed:forward"="80"]:righthandtraffic::maxspeedcasinglayer,
     570way["maxspeed:backward"="80"]!:righthandtraffic::maxspeedcasinglayer
    567571{
    568572        set maxspeed_right;
    569573        right-casing-color: speed_80#f90808;
    570574}
    571 way["maxspeed:forward"="90"]:righthandtraffic::maxspeedlayer,
    572 way["maxspeed:backward"="90"]!:righthandtraffic::maxspeedlayer,
    573 way["maxspeed:forward"="RU:rural"][setting("RU")]:righthandtraffic::maxspeedlayer
     575way["maxspeed:forward"="90"]:righthandtraffic::maxspeedcasinglayer,
     576way["maxspeed:backward"="90"]!:righthandtraffic::maxspeedcasinglayer,
     577way["maxspeed:forward"="RU:rural"][setting("RU")]:righthandtraffic::maxspeedcasinglayer
    574578{
    575579        set maxspeed_right;
    576580        right-casing-color: speed_90#07f8f8;
    577581}
    578 way["maxspeed:forward"="100"]:righthandtraffic::maxspeedlayer,
    579 way["maxspeed:backward"="100"]!:righthandtraffic::maxspeedlayer
     582way["maxspeed:forward"="100"]:righthandtraffic::maxspeedcasinglayer,
     583way["maxspeed:backward"="100"]!:righthandtraffic::maxspeedcasinglayer
    580584{
    581585        set maxspeed_right;
    582586        right-casing-color: speed_100#f807f8;
    583587}
    584 way["maxspeed:forward"="110"]:righthandtraffic::maxspeedlayer,
    585 way["maxspeed:backward"="110"]!:righthandtraffic::maxspeedlayer,
    586 way["maxspeed:forward"="RU:motorway"][setting("RU")]:righthandtraffic::maxspeedlayer
     588way["maxspeed:forward"="110"]:righthandtraffic::maxspeedcasinglayer,
     589way["maxspeed:backward"="110"]!:righthandtraffic::maxspeedcasinglayer,
     590way["maxspeed:forward"="RU:motorway"][setting("RU")]:righthandtraffic::maxspeedcasinglayer
    587591{
    588592        set maxspeed_right;
    589593        right-casing-color: speed_110#7807f8;
    590594}
    591 way["maxspeed:forward"="120"]:righthandtraffic::maxspeedlayer,
    592 way["maxspeed:backward"="120"]!:righthandtraffic::maxspeedlayer
    593 {
    594         set maxspeed_right;
    595         right-casing-color: speed_120#ccad24;
    596 }
    597 way["maxspeed:forward"="130"]:righthandtraffic::maxspeedlayer,
    598 way["maxspeed:backward"="130"]!:righthandtraffic::maxspeedlayer
     595way["maxspeed:forward"="120"]:righthandtraffic::maxspeedcasinglayer,
     596way["maxspeed:backward"="120"]!:righthandtraffic::maxspeedcasinglayer
     597{
     598        set maxspeed_right;
     599        right-casing-color: speed_120#b69b20;
     600}
     601way["maxspeed:forward"="130"]:righthandtraffic::maxspeedcasinglayer,
     602way["maxspeed:backward"="130"]!:righthandtraffic::maxspeedcasinglayer
    599603{
    600604        set maxspeed_right;
     
    602606}
    603607/* 4.2 - mph */
    604 way["maxspeed:forward"="5 mph"]:righthandtraffic::maxspeedlayer,
    605 way["maxspeed:backward"="5 mph"]!:righthandtraffic::maxspeedlayer
     608way["maxspeed:forward"="5 mph"]:righthandtraffic::maxspeedcasinglayer,
     609way["maxspeed:backward"="5 mph"]!:righthandtraffic::maxspeedcasinglayer
    606610{
    607611        set maxspeed_right;
    608612        right-casing-color: speed_5_mph#b80022;
    609613}
    610 way["maxspeed:forward"="10 mph"]:righthandtraffic::maxspeedlayer,
    611 way["maxspeed:backward"="10 mph"]!:righthandtraffic::maxspeedlayer
     614way["maxspeed:forward"="10 mph"]:righthandtraffic::maxspeedcasinglayer,
     615way["maxspeed:backward"="10 mph"]!:righthandtraffic::maxspeedcasinglayer
    612616{
    613617        set maxspeed_right;
    614618        right-casing-color: speed_10_mph#00da8b;
    615619}
    616 way["maxspeed:forward"="15 mph"]:righthandtraffic::maxspeedlayer,
    617 way["maxspeed:backward"="15 mph"]!:righthandtraffic::maxspeedlayer
     620way["maxspeed:forward"="15 mph"]:righthandtraffic::maxspeedcasinglayer,
     621way["maxspeed:backward"="15 mph"]!:righthandtraffic::maxspeedcasinglayer
    618622{
    619623        set maxspeed_right;
    620624        right-casing-color: speed_15_mph#e3cc82;
    621625}
    622 way["maxspeed:forward"="20 mph"]:righthandtraffic::maxspeedlayer,
    623 way["maxspeed:backward"="20 mph"]!:righthandtraffic::maxspeedlayer
     626way["maxspeed:forward"="20 mph"]:righthandtraffic::maxspeedcasinglayer,
     627way["maxspeed:backward"="20 mph"]!:righthandtraffic::maxspeedcasinglayer
    624628{
    625629        set maxspeed_right;
    626630        right-casing-color: speed_20_mph#4d4dff;
    627631}
    628 way["maxspeed:forward"="25 mph"]:righthandtraffic::maxspeedlayer,
    629 way["maxspeed:backward"="25 mph"]!:righthandtraffic::maxspeedlayer
     632way["maxspeed:forward"="25 mph"]:righthandtraffic::maxspeedcasinglayer,
     633way["maxspeed:backward"="25 mph"]!:righthandtraffic::maxspeedcasinglayer
    630634{
    631635        set maxspeed_right;
    632636        right-casing-color: speed_25_mph#4d4d00;
    633637}
    634 way["maxspeed:forward"="30 mph"]:righthandtraffic::maxspeedlayer,
    635 way["maxspeed:backward"="30 mph"]!:righthandtraffic::maxspeedlayer
     638way["maxspeed:forward"="30 mph"]:righthandtraffic::maxspeedcasinglayer,
     639way["maxspeed:backward"="30 mph"]!:righthandtraffic::maxspeedcasinglayer
    636640{
    637641        set maxspeed_right;
    638642        right-casing-color: speed_30_mph#ff529a;
    639643}
    640 way["maxspeed:forward"="35 mph"]:righthandtraffic::maxspeedlayer,
    641 way["maxspeed:backward"="35 mph"]!:righthandtraffic::maxspeedlayer
     644way["maxspeed:forward"="35 mph"]:righthandtraffic::maxspeedcasinglayer,
     645way["maxspeed:backward"="35 mph"]!:righthandtraffic::maxspeedcasinglayer
    642646{
    643647        set maxspeed_right;
    644648        right-casing-color: speed_35_mph#07f807;
    645649}
    646 way["maxspeed:forward"="40 mph"]:righthandtraffic::maxspeedlayer,
    647 way["maxspeed:backward"="40 mph"]!:righthandtraffic::maxspeedlayer
     650way["maxspeed:forward"="40 mph"]:righthandtraffic::maxspeedcasinglayer,
     651way["maxspeed:backward"="40 mph"]!:righthandtraffic::maxspeedcasinglayer
    648652{
    649653        set maxspeed_right;
    650654        right-casing-color: speed_40_mph#9f9fff;
    651655}
    652 way["maxspeed:forward"="45 mph"]:righthandtraffic::maxspeedlayer,
    653 way["maxspeed:backward"="45 mph"]!:righthandtraffic::maxspeedlayer
     656way["maxspeed:forward"="45 mph"]:righthandtraffic::maxspeedcasinglayer,
     657way["maxspeed:backward"="45 mph"]!:righthandtraffic::maxspeedcasinglayer
    654658{
    655659        set maxspeed_right;
    656660        right-casing-color: speed_45_mph#ee8b00;
    657661}
    658 way["maxspeed:forward"="50 mph"]:righthandtraffic::maxspeedlayer,
    659 way["maxspeed:backward"="50 mph"]!:righthandtraffic::maxspeedlayer
     662way["maxspeed:forward"="50 mph"]:righthandtraffic::maxspeedcasinglayer,
     663way["maxspeed:backward"="50 mph"]!:righthandtraffic::maxspeedcasinglayer
    660664{
    661665        set maxspeed_right;
    662666        right-casing-color: speed_50_mph#f90808;
    663667}
    664 way["maxspeed:forward"="55 mph"]:righthandtraffic::maxspeedlayer,
    665 way["maxspeed:backward"="55 mph"]!:righthandtraffic::maxspeedlayer
     668way["maxspeed:forward"="55 mph"]:righthandtraffic::maxspeedcasinglayer,
     669way["maxspeed:backward"="55 mph"]!:righthandtraffic::maxspeedcasinglayer
    666670{
    667671        set maxspeed_right;
    668672        right-casing-color: speed_55_mph#07f8f8;
    669673}
    670 way["maxspeed:forward"="60 mph"]:righthandtraffic::maxspeedlayer,
    671 way["maxspeed:backward"="60 mph"]!:righthandtraffic::maxspeedlayer
     674way["maxspeed:forward"="60 mph"]:righthandtraffic::maxspeedcasinglayer,
     675way["maxspeed:backward"="60 mph"]!:righthandtraffic::maxspeedcasinglayer
    672676{
    673677        set maxspeed_right;
    674678        right-casing-color: speed_60_mph#f807f8;
    675679}
    676 way["maxspeed:forward"="65 mph"]:righthandtraffic::maxspeedlayer,
    677 way["maxspeed:backward"="65 mph"]!:righthandtraffic::maxspeedlayer
     680way["maxspeed:forward"="65 mph"]:righthandtraffic::maxspeedcasinglayer,
     681way["maxspeed:backward"="65 mph"]!:righthandtraffic::maxspeedcasinglayer
    678682{
    679683        set maxspeed_right;
    680684        right-casing-color: speed_65_mph#7807f8;
    681685}
    682 way["maxspeed:forward"="70 mph"]:righthandtraffic::maxspeedlayer,
    683 way["maxspeed:backward"="70 mph"]!:righthandtraffic::maxspeedlayer
    684 {
    685         set maxspeed_right;
    686         right-casing-color: speed_70_mph#ccad24;
    687 }
    688 way["maxspeed:forward"="75 mph"]:righthandtraffic::maxspeedlayer,
    689 way["maxspeed:backward"="75 mph"]!:righthandtraffic::maxspeedlayer
     686way["maxspeed:forward"="70 mph"]:righthandtraffic::maxspeedcasinglayer,
     687way["maxspeed:backward"="70 mph"]!:righthandtraffic::maxspeedcasinglayer
     688{
     689        set maxspeed_right;
     690        right-casing-color: speed_70_mph#b69b20;
     691}
     692way["maxspeed:forward"="75 mph"]:righthandtraffic::maxspeedcasinglayer,
     693way["maxspeed:backward"="75 mph"]!:righthandtraffic::maxspeedcasinglayer
    690694{
    691695        set maxspeed_right;
     
    693697}
    694698
    695 /* 4.3 - general rules */
    696 way.maxspeed_right::maxspeedlayer
    697 {
    698         right-casing-opacity: 0.75;
     699/* 4.3 - conditional righthand-forward and lefthand-backward maxspeed */
     700way.cond_forward_kmh:righthandtraffic::maxspeedcasinglayer,
     701way.cond_backward_kmh!:righthandtraffic::maxspeedcasinglayer,
     702way.cond_forward_mph:righthandtraffic::maxspeedcasinglayer,
     703way.cond_backward_mph!:righthandtraffic::maxspeedcasinglayer
     704{
     705        set maxspeed_right_cond;
     706        right-casing-dashes: 55,25;
     707}
     708/* 4.3.1 - kmh */
     709way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="none"]:righthandtraffic::maxspeedcasinglayer,
     710way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="none"]!:righthandtraffic::maxspeedcasinglayer
     711{
     712        right-casing-dashes-background-color: speed_none#febede;
     713}
     714way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="5"]:righthandtraffic::maxspeedcasinglayer,
     715way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="5"]!:righthandtraffic::maxspeedcasinglayer
     716{
     717        right-casing-dashes-background-color: speed_5#ff5656;
     718}
     719way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="10"]:righthandtraffic::maxspeedcasinglayer,
     720way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="10"]!:righthandtraffic::maxspeedcasinglayer
     721{
     722        right-casing-dashes-background-color: speed_10#b80022;
     723}
     724way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="15"]:righthandtraffic::maxspeedcasinglayer,
     725way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="15"]!:righthandtraffic::maxspeedcasinglayer
     726{
     727        right-casing-dashes-background-color: speed_15#00da8b;
     728}
     729way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="20"]:righthandtraffic::maxspeedcasinglayer,
     730way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="20"]!:righthandtraffic::maxspeedcasinglayer
     731{
     732        right-casing-dashes-background-color: speed_20#e3cc82;
     733}
     734way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="30"]:righthandtraffic::maxspeedcasinglayer,
     735way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="30"]!:righthandtraffic::maxspeedcasinglayer
     736{
     737        right-casing-dashes-background-color: speed_30#4d4dff;
     738}
     739way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="40"]:righthandtraffic::maxspeedcasinglayer,
     740way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="40"]!:righthandtraffic::maxspeedcasinglayer
     741{
     742        right-casing-dashes-background-color: speed_40#4d4d00;
     743}
     744way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="45"]:righthandtraffic::maxspeedcasinglayer,
     745way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="45"]!:righthandtraffic::maxspeedcasinglayer
     746{
     747        right-casing-dashes-background-color: speed_45#ff529a;
     748}
     749way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="50"]:righthandtraffic::maxspeedcasinglayer,
     750way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="50"]!:righthandtraffic::maxspeedcasinglayer
     751{
     752        right-casing-dashes-background-color: speed_50#07f807;
     753}
     754way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="60"]:righthandtraffic::maxspeedcasinglayer,
     755way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="60"]!:righthandtraffic::maxspeedcasinglayer
     756{
     757        right-casing-dashes-background-color: speed_60#9f9fff;
     758}
     759way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="70"]:righthandtraffic::maxspeedcasinglayer,
     760way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="70"]!:righthandtraffic::maxspeedcasinglayer
     761{
     762        right-casing-dashes-background-color: speed_70#ee8b00;
     763}
     764way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="80"]:righthandtraffic::maxspeedcasinglayer,
     765way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="80"]!:righthandtraffic::maxspeedcasinglayer
     766{
     767        right-casing-dashes-background-color: speed_80#f90808;
     768}
     769way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="90"]:righthandtraffic::maxspeedcasinglayer,
     770way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="90"]!:righthandtraffic::maxspeedcasinglayer
     771{
     772        right-casing-dashes-background-color: speed_90#07f8f8;
     773}
     774way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="100"]:righthandtraffic::maxspeedcasinglayer,
     775way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="100"]!:righthandtraffic::maxspeedcasinglayer
     776{
     777        right-casing-dashes-background-color: speed_100#f807f8;
     778}
     779way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="110"]:righthandtraffic::maxspeedcasinglayer,
     780way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="110"]!:righthandtraffic::maxspeedcasinglayer
     781{
     782        right-casing-dashes-background-color: speed_110#7807f8;
     783}
     784way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="120"]:righthandtraffic::maxspeedcasinglayer,
     785way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="120"]!:righthandtraffic::maxspeedcasinglayer
     786{
     787        right-casing-dashes-background-color: speed_120#b69b20;
     788}
     789way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="130"]:righthandtraffic::maxspeedcasinglayer,
     790way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="130"]!:righthandtraffic::maxspeedcasinglayer
     791{
     792        right-casing-dashes-background-color: speed_130#c0f100;
     793}
     794/* 4.3.2 - mph */
     795way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="5"]:righthandtraffic::maxspeedcasinglayer,
     796way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="5"]!:righthandtraffic::maxspeedcasinglayer
     797{
     798        right-casing-dashes-background-color: speed_5_mph#b80022;
     799}
     800way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="10"]:righthandtraffic::maxspeedcasinglayer,
     801way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="10"]!:righthandtraffic::maxspeedcasinglayer
     802{
     803        right-casing-dashes-background-color: speed_10_mph#00da8b;
     804}
     805way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="15"]:righthandtraffic::maxspeedcasinglayer,
     806way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="15"]!:righthandtraffic::maxspeedcasinglayer
     807{
     808        right-casing-dashes-background-color: speed_15_mph#e3cc82;
     809}
     810way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="20"]:righthandtraffic::maxspeedcasinglayer,
     811way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="20"]!:righthandtraffic::maxspeedcasinglayer
     812{
     813        right-casing-dashes-background-color: speed_20_mph#4d4dff;
     814}
     815way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="25"]:righthandtraffic::maxspeedcasinglayer,
     816way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="25"]!:righthandtraffic::maxspeedcasinglayer
     817{
     818        right-casing-dashes-background-color: speed_25_mph#4d4d00;
     819}
     820way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="30"]:righthandtraffic::maxspeedcasinglayer,
     821way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="30"]!:righthandtraffic::maxspeedcasinglayer
     822{
     823        right-casing-dashes-background-color: speed_30_mph#ff529a;
     824}
     825way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="35"]:righthandtraffic::maxspeedcasinglayer,
     826way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="35"]!:righthandtraffic::maxspeedcasinglayer
     827{
     828        right-casing-dashes-background-color: speed_35_mph#07f807;
     829}
     830way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="40"]:righthandtraffic::maxspeedcasinglayer,
     831way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="40"]!:righthandtraffic::maxspeedcasinglayer
     832{
     833        right-casing-dashes-background-color: speed_40_mph#9f9fff;
     834}
     835way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="45"]:righthandtraffic::maxspeedcasinglayer,
     836way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="45"]!:righthandtraffic::maxspeedcasinglayer
     837{
     838        right-casing-dashes-background-color: speed_45_mph#ee8b00;
     839}
     840way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="50"]:righthandtraffic::maxspeedcasinglayer,
     841way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="50"]!:righthandtraffic::maxspeedcasinglayer
     842{
     843        right-casing-dashes-background-color: speed_50_mph#f90808;
     844}
     845way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="55"]:righthandtraffic::maxspeedcasinglayer,
     846way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="55"]!:righthandtraffic::maxspeedcasinglayer
     847{
     848        right-casing-dashes-background-color: speed_55_mph#07f8f8;
     849}
     850way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="60"]:righthandtraffic::maxspeedcasinglayer,
     851way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="60"]!:righthandtraffic::maxspeedcasinglayer
     852{
     853        right-casing-dashes-background-color: speed_60_mph#f807f8;
     854}
     855way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="65"]:righthandtraffic::maxspeedcasinglayer,
     856way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="65"]!:righthandtraffic::maxspeedcasinglayer
     857{
     858        right-casing-dashes-background-color: speed_65_mph#7807f8;
     859}
     860way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="70"]:righthandtraffic::maxspeedcasinglayer,
     861way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="70"]!:righthandtraffic::maxspeedcasinglayer
     862{
     863        right-casing-dashes-background-color: speed_70_mph#b69b20;
     864}
     865way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="75"]:righthandtraffic::maxspeedcasinglayer,
     866way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="75"]!:righthandtraffic::maxspeedcasinglayer
     867{
     868        right-casing-dashes-background-color: speed_75_mph#c0f100;
     869}
     870
     871/* 4.4 - general rules */
     872way.maxspeed_right::maxspeedcasinglayer,
     873way.maxspeed_right_cond::maxspeedcasinglayer
     874{
    699875        right-casing-width: 6;
    700876        right-casing-offset: 0;
    701 }
    702 way|z16.maxspeed_right::maxspeedlayer
     877        major-z-index: 3;
     878        z-index: -1;
     879}
     880way|z16.maxspeed_right::maxspeedcasinglayer,
     881way|z16.maxspeed_right_cond::maxspeedcasinglayer
    703882{
    704883        right-casing-width: 5;
    705884}
    706 way|z-15.maxspeed_right::maxspeedlayer
     885way|z-15.maxspeed_right::maxspeedcasinglayer,
     886way|z-15.maxspeed_right_cond::maxspeedcasinglayer
    707887{
    708888        right-casing-width: 4;
    709889}
    710 way.maxspeed_right[maxspeed:variable:forward]:righthandtraffic::maxspeedlayer,
    711 way.maxspeed_right[maxspeed:variable:backward]!:righthandtraffic::maxspeedlayer
     890way.maxspeed_right_cond!.maxspeed_right::maxspeedcasinglayer
     891{
     892        right-casing-opacity: 0;
     893        right-casing-dashes-background-opacity: 1;
     894}
     895way.maxspeed_right[maxspeed:variable:forward]:righthandtraffic::maxspeedcasinglayer,
     896way.maxspeed_right[maxspeed:variable:backward]!:righthandtraffic::maxspeedcasinglayer,
     897way.maxspeed_right_cond[maxspeed:variable:forward]:righthandtraffic::maxspeedcasinglayer,
     898way.maxspeed_right_cond[maxspeed:variable:backward]!:righthandtraffic::maxspeedcasinglayer
    712899{
    713900        right-casing-dashes: 34,6;
    714 }
    715 
    716 /* 4.4 - conditional righthand-forward and lefthand-backward maxspeed */
    717 way.cond_forward_kmh:righthandtraffic::maxspeedlayer,
    718 way.cond_backward_kmh!:righthandtraffic::maxspeedlayer,
    719 way.cond_forward_mph:righthandtraffic::maxspeedlayer,
    720 way.cond_backward_mph!:righthandtraffic::maxspeedlayer
    721 {
    722         right-casing-dashes: 55,25;
    723 }
    724 /* 4.4.1 - kmh */
    725 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="none"]:righthandtraffic::maxspeedlayer,
    726 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="none"]!:righthandtraffic::maxspeedlayer
    727 {
    728         right-casing-dashes-background-color: speed_none#febede;
    729 }
    730 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="5"]:righthandtraffic::maxspeedlayer,
    731 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="5"]!:righthandtraffic::maxspeedlayer
    732 {
    733         right-casing-dashes-background-color: speed_5#ff5656;
    734 }
    735 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="10"]:righthandtraffic::maxspeedlayer,
    736 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="10"]!:righthandtraffic::maxspeedlayer
    737 {
    738         right-casing-dashes-background-color: speed_10#b80022;
    739 }
    740 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="15"]:righthandtraffic::maxspeedlayer,
    741 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="15"]!:righthandtraffic::maxspeedlayer
    742 {
    743         right-casing-dashes-background-color: speed_15#00da8b;
    744 }
    745 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="20"]:righthandtraffic::maxspeedlayer,
    746 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="20"]!:righthandtraffic::maxspeedlayer
    747 {
    748         right-casing-dashes-background-color: speed_20#e3cc82;
    749 }
    750 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="30"]:righthandtraffic::maxspeedlayer,
    751 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="30"]!:righthandtraffic::maxspeedlayer
    752 {
    753         right-casing-dashes-background-color: speed_30#4d4dff;
    754 }
    755 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="40"]:righthandtraffic::maxspeedlayer,
    756 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="40"]!:righthandtraffic::maxspeedlayer
    757 {
    758         right-casing-dashes-background-color: speed_40#4d4d00;
    759 }
    760 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="45"]:righthandtraffic::maxspeedlayer,
    761 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="45"]!:righthandtraffic::maxspeedlayer
    762 {
    763         right-casing-dashes-background-color: speed_45#ff529a;
    764 }
    765 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="50"]:righthandtraffic::maxspeedlayer,
    766 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="50"]!:righthandtraffic::maxspeedlayer
    767 {
    768         right-casing-dashes-background-color: speed_50#07f807;
    769 }
    770 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="60"]:righthandtraffic::maxspeedlayer,
    771 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="60"]!:righthandtraffic::maxspeedlayer
    772 {
    773         right-casing-dashes-background-color: speed_60#9f9fff;
    774 }
    775 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="70"]:righthandtraffic::maxspeedlayer,
    776 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="70"]!:righthandtraffic::maxspeedlayer
    777 {
    778         right-casing-dashes-background-color: speed_70#ee8b00;
    779 }
    780 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="80"]:righthandtraffic::maxspeedlayer,
    781 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="80"]!:righthandtraffic::maxspeedlayer
    782 {
    783         right-casing-dashes-background-color: speed_80#f90808;
    784 }
    785 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="90"]:righthandtraffic::maxspeedlayer,
    786 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="90"]!:righthandtraffic::maxspeedlayer
    787 {
    788         right-casing-dashes-background-color: speed_90#07f8f8;
    789 }
    790 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="100"]:righthandtraffic::maxspeedlayer,
    791 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="100"]!:righthandtraffic::maxspeedlayer
    792 {
    793         right-casing-dashes-background-color: speed_100#f807f8;
    794 }
    795 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="110"]:righthandtraffic::maxspeedlayer,
    796 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="110"]!:righthandtraffic::maxspeedlayer
    797 {
    798         right-casing-dashes-background-color: speed_110#7807f8;
    799 }
    800 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="120"]:righthandtraffic::maxspeedlayer,
    801 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="120"]!:righthandtraffic::maxspeedlayer
    802 {
    803         right-casing-dashes-background-color: speed_120#ccad24;
    804 }
    805 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="130"]:righthandtraffic::maxspeedlayer,
    806 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="130"]!:righthandtraffic::maxspeedlayer
    807 {
    808         right-casing-dashes-background-color: speed_130#c0f100;
    809 }
    810 /* 4.4.2 - mph */
    811 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="5"]:righthandtraffic::maxspeedlayer,
    812 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="5"]!:righthandtraffic::maxspeedlayer
    813 {
    814         right-casing-dashes-background-color: speed_5_mph#b80022;
    815 }
    816 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="10"]:righthandtraffic::maxspeedlayer,
    817 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="10"]!:righthandtraffic::maxspeedlayer
    818 {
    819         right-casing-dashes-background-color: speed_10_mph#00da8b;
    820 }
    821 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="15"]:righthandtraffic::maxspeedlayer,
    822 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="15"]!:righthandtraffic::maxspeedlayer
    823 {
    824         right-casing-dashes-background-color: speed_15_mph#e3cc82;
    825 }
    826 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="20"]:righthandtraffic::maxspeedlayer,
    827 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="20"]!:righthandtraffic::maxspeedlayer
    828 {
    829         right-casing-dashes-background-color: speed_20_mph#4d4dff;
    830 }
    831 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="25"]:righthandtraffic::maxspeedlayer,
    832 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="25"]!:righthandtraffic::maxspeedlayer
    833 {
    834         right-casing-dashes-background-color: speed_25_mph#4d4d00;
    835 }
    836 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="30"]:righthandtraffic::maxspeedlayer,
    837 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="30"]!:righthandtraffic::maxspeedlayer
    838 {
    839         right-casing-dashes-background-color: speed_30_mph#ff529a;
    840 }
    841 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="35"]:righthandtraffic::maxspeedlayer,
    842 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="35"]!:righthandtraffic::maxspeedlayer
    843 {
    844         right-casing-dashes-background-color: speed_35_mph#07f807;
    845 }
    846 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="40"]:righthandtraffic::maxspeedlayer,
    847 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="40"]!:righthandtraffic::maxspeedlayer
    848 {
    849         right-casing-dashes-background-color: speed_40_mph#9f9fff;
    850 }
    851 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="45"]:righthandtraffic::maxspeedlayer,
    852 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="45"]!:righthandtraffic::maxspeedlayer
    853 {
    854         right-casing-dashes-background-color: speed_45_mph#ee8b00;
    855 }
    856 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="50"]:righthandtraffic::maxspeedlayer,
    857 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="50"]!:righthandtraffic::maxspeedlayer
    858 {
    859         right-casing-dashes-background-color: speed_50_mph#f90808;
    860 }
    861 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="55"]:righthandtraffic::maxspeedlayer,
    862 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="55"]!:righthandtraffic::maxspeedlayer
    863 {
    864         right-casing-dashes-background-color: speed_55_mph#07f8f8;
    865 }
    866 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="60"]:righthandtraffic::maxspeedlayer,
    867 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="60"]!:righthandtraffic::maxspeedlayer
    868 {
    869         right-casing-dashes-background-color: speed_60_mph#f807f8;
    870 }
    871 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="65"]:righthandtraffic::maxspeedlayer,
    872 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="65"]!:righthandtraffic::maxspeedlayer
    873 {
    874         right-casing-dashes-background-color: speed_65_mph#7807f8;
    875 }
    876 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="70"]:righthandtraffic::maxspeedlayer,
    877 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="70"]!:righthandtraffic::maxspeedlayer
    878 {
    879         right-casing-dashes-background-color: speed_70_mph#ccad24;
    880 }
    881 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="75"]:righthandtraffic::maxspeedlayer,
    882 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="75"]!:righthandtraffic::maxspeedlayer
    883 {
    884         right-casing-dashes-background-color: speed_75_mph#c0f100;
    885901}
    886902
     
    889905/* 5 - display maxspeed:forward=* for lefthandtraffic and maxspeed:backward=* for righthandtraffic */
    890906/* 5.1 - kmh */
    891 way["maxspeed:forward"="none"]!:righthandtraffic::maxspeedlayer,
    892 way["maxspeed:backward"="none"]:righthandtraffic::maxspeedlayer
     907way["maxspeed:forward"="none"]!:righthandtraffic::maxspeedcasinglayer,
     908way["maxspeed:backward"="none"]:righthandtraffic::maxspeedcasinglayer
    893909{
    894910        set maxspeed_left;
    895911        left-casing-color: speed_none#febede;
    896912}
    897 way["maxspeed:forward"="5"]!:righthandtraffic::maxspeedlayer,
    898 way["maxspeed:backward"="5"]:righthandtraffic::maxspeedlayer
     913way["maxspeed:forward"="5"]!:righthandtraffic::maxspeedcasinglayer,
     914way["maxspeed:backward"="5"]:righthandtraffic::maxspeedcasinglayer
    899915{
    900916        set maxspeed_left;
    901917        left-casing-color: speed_5#ff5656;
    902918}
    903 way["maxspeed:forward"="10"]!:righthandtraffic::maxspeedlayer,
    904 way["maxspeed:backward"="10"]:righthandtraffic::maxspeedlayer
     919way["maxspeed:forward"="10"]!:righthandtraffic::maxspeedcasinglayer,
     920way["maxspeed:backward"="10"]:righthandtraffic::maxspeedcasinglayer
    905921{
    906922        set maxspeed_left;
    907923        left-casing-color: speed_10#b80022;
    908924}
    909 way["maxspeed:forward"="15"]!:righthandtraffic::maxspeedlayer,
    910 way["maxspeed:backward"="15"]:righthandtraffic::maxspeedlayer
     925way["maxspeed:forward"="15"]!:righthandtraffic::maxspeedcasinglayer,
     926way["maxspeed:backward"="15"]:righthandtraffic::maxspeedcasinglayer
    911927{
    912928        set maxspeed_left;
    913929        left-casing-color: speed_15#00da8b;
    914930}
    915 way["maxspeed:forward"="20"]!:righthandtraffic::maxspeedlayer,
    916 way["maxspeed:backward"="20"]:righthandtraffic::maxspeedlayer,
    917 way["maxspeed:backward"="RU:living_street"][setting("RU")]:righthandtraffic::maxspeedlayer
     931way["maxspeed:forward"="20"]!:righthandtraffic::maxspeedcasinglayer,
     932way["maxspeed:backward"="20"]:righthandtraffic::maxspeedcasinglayer,
     933way["maxspeed:backward"="RU:living_street"][setting("RU")]:righthandtraffic::maxspeedcasinglayer
    918934{
    919935        set maxspeed_left;
    920936        left-casing-color: speed_20#e3cc82;
    921937}
    922 way["maxspeed:forward"="30"]!:righthandtraffic::maxspeedlayer,
    923 way["maxspeed:backward"="30"]:righthandtraffic::maxspeedlayer
     938way["maxspeed:forward"="30"]!:righthandtraffic::maxspeedcasinglayer,
     939way["maxspeed:backward"="30"]:righthandtraffic::maxspeedcasinglayer
    924940{
    925941        set maxspeed_left;
    926942        left-casing-color: speed_30#4d4dff;
    927943}
    928 way["maxspeed:forward"="40"]!:righthandtraffic::maxspeedlayer,
    929 way["maxspeed:backward"="40"]:righthandtraffic::maxspeedlayer
     944way["maxspeed:forward"="40"]!:righthandtraffic::maxspeedcasinglayer,
     945way["maxspeed:backward"="40"]:righthandtraffic::maxspeedcasinglayer
    930946{
    931947        set maxspeed_left;
    932948        left-casing-color: speed_40#4d4d00;
    933949}
    934 way["maxspeed:forward"="45"]!:righthandtraffic::maxspeedlayer,
    935 way["maxspeed:backward"="45"]:righthandtraffic::maxspeedlayer
     950way["maxspeed:forward"="45"]!:righthandtraffic::maxspeedcasinglayer,
     951way["maxspeed:backward"="45"]:righthandtraffic::maxspeedcasinglayer
    936952{
    937953        set maxspeed_left;
    938954        left-casing-color: speed_45#ff529a;
    939955}
    940 way["maxspeed:forward"="50"]!:righthandtraffic::maxspeedlayer,
    941 way["maxspeed:backward"="50"]:righthandtraffic::maxspeedlayer
     956way["maxspeed:forward"="50"]!:righthandtraffic::maxspeedcasinglayer,
     957way["maxspeed:backward"="50"]:righthandtraffic::maxspeedcasinglayer
    942958{
    943959        set maxspeed_left;
    944960        left-casing-color: speed_50#07f807;
    945961}
    946 way["maxspeed:forward"="60"]!:righthandtraffic::maxspeedlayer,
    947 way["maxspeed:backward"="60"]:righthandtraffic::maxspeedlayer,
    948 way["maxspeed:backward"="RU:urban"][setting("RU")]:righthandtraffic::maxspeedlayer
     962way["maxspeed:forward"="60"]!:righthandtraffic::maxspeedcasinglayer,
     963way["maxspeed:backward"="60"]:righthandtraffic::maxspeedcasinglayer,
     964way["maxspeed:backward"="RU:urban"][setting("RU")]:righthandtraffic::maxspeedcasinglayer
    949965{
    950966        set maxspeed_left;
    951967        left-casing-color: speed_60#9f9fff;
    952968}
    953 way["maxspeed:forward"="70"]!:righthandtraffic::maxspeedlayer,
    954 way["maxspeed:backward"="70"]:righthandtraffic::maxspeedlayer
     969way["maxspeed:forward"="70"]!:righthandtraffic::maxspeedcasinglayer,
     970way["maxspeed:backward"="70"]:righthandtraffic::maxspeedcasinglayer
    955971{
    956972        set maxspeed_left;
    957973        left-casing-color: speed_70#ee8b00;
    958974}
    959 way["maxspeed:forward"="80"]!:righthandtraffic::maxspeedlayer,
    960 way["maxspeed:backward"="80"]:righthandtraffic::maxspeedlayer
     975way["maxspeed:forward"="80"]!:righthandtraffic::maxspeedcasinglayer,
     976way["maxspeed:backward"="80"]:righthandtraffic::maxspeedcasinglayer
    961977{
    962978        set maxspeed_left;
    963979        left-casing-color: speed_80#f90808;
    964980}
    965 way["maxspeed:forward"="90"]!:righthandtraffic::maxspeedlayer,
    966 way["maxspeed:backward"="90"]:righthandtraffic::maxspeedlayer,
    967 way["maxspeed:backward"="RU:rural"][setting("RU")]:righthandtraffic::maxspeedlayer
     981way["maxspeed:forward"="90"]!:righthandtraffic::maxspeedcasinglayer,
     982way["maxspeed:backward"="90"]:righthandtraffic::maxspeedcasinglayer,
     983way["maxspeed:backward"="RU:rural"][setting("RU")]:righthandtraffic::maxspeedcasinglayer
    968984{
    969985        set maxspeed_left;
    970986        left-casing-color: speed_90#07f8f8;
    971987}
    972 way["maxspeed:forward"="100"]!:righthandtraffic::maxspeedlayer,
    973 way["maxspeed:backward"="100"]:righthandtraffic::maxspeedlayer
     988way["maxspeed:forward"="100"]!:righthandtraffic::maxspeedcasinglayer,
     989way["maxspeed:backward"="100"]:righthandtraffic::maxspeedcasinglayer
    974990{
    975991        set maxspeed_left;
    976992        left-casing-color: speed_100#f807f8;
    977993}
    978 way["maxspeed:forward"="110"]!:righthandtraffic::maxspeedlayer,
    979 way["maxspeed:backward"="110"]:righthandtraffic::maxspeedlayer,
    980 way["maxspeed:backward"="RU:motorway"][setting("RU")]:righthandtraffic::maxspeedlayer
     994way["maxspeed:forward"="110"]!:righthandtraffic::maxspeedcasinglayer,
     995way["maxspeed:backward"="110"]:righthandtraffic::maxspeedcasinglayer,
     996way["maxspeed:backward"="RU:motorway"][setting("RU")]:righthandtraffic::maxspeedcasinglayer
    981997{
    982998        set maxspeed_left;
    983999        left-casing-color: speed_110#7807f8;
    9841000}
    985 way["maxspeed:forward"="120"]!:righthandtraffic::maxspeedlayer,
    986 way["maxspeed:backward"="120"]:righthandtraffic::maxspeedlayer
    987 {
    988         set maxspeed_left;
    989         left-casing-color: speed_120#ccad24;
    990 }
    991 way["maxspeed:forward"="130"]!:righthandtraffic::maxspeedlayer,
    992 way["maxspeed:backward"="130"]:righthandtraffic::maxspeedlayer
     1001way["maxspeed:forward"="120"]!:righthandtraffic::maxspeedcasinglayer,
     1002way["maxspeed:backward"="120"]:righthandtraffic::maxspeedcasinglayer
     1003{
     1004        set maxspeed_left;
     1005        left-casing-color: speed_120#b69b20;
     1006}
     1007way["maxspeed:forward"="130"]!:righthandtraffic::maxspeedcasinglayer,
     1008way["maxspeed:backward"="130"]:righthandtraffic::maxspeedcasinglayer
    9931009{
    9941010        set maxspeed_left;
     
    9961012}
    9971013/* 5.2 - mph */
    998 way["maxspeed:forward"="5 mph"]!:righthandtraffic::maxspeedlayer,
    999 way["maxspeed:backward"="5 mph"]:righthandtraffic::maxspeedlayer
     1014way["maxspeed:forward"="5 mph"]!:righthandtraffic::maxspeedcasinglayer,
     1015way["maxspeed:backward"="5 mph"]:righthandtraffic::maxspeedcasinglayer
    10001016{
    10011017        set maxspeed_left;
    10021018        left-casing-color: speed_5_mph#b80022;
    10031019}
    1004 way["maxspeed:forward"="10 mph"]!:righthandtraffic::maxspeedlayer,
    1005 way["maxspeed:backward"="10 mph"]:righthandtraffic::maxspeedlayer
     1020way["maxspeed:forward"="10 mph"]!:righthandtraffic::maxspeedcasinglayer,
     1021way["maxspeed:backward"="10 mph"]:righthandtraffic::maxspeedcasinglayer
    10061022{
    10071023        set maxspeed_left;
    10081024        left-casing-color: speed_10_mph#00da8b;
    10091025}
    1010 way["maxspeed:forward"="15 mph"]!:righthandtraffic::maxspeedlayer,
    1011 way["maxspeed:backward"="15 mph"]:righthandtraffic::maxspeedlayer
     1026way["maxspeed:forward"="15 mph"]!:righthandtraffic::maxspeedcasinglayer,
     1027way["maxspeed:backward"="15 mph"]:righthandtraffic::maxspeedcasinglayer
    10121028{
    10131029        set maxspeed_left;
    10141030        left-casing-color: speed_15_mph#e3cc82;
    10151031}
    1016 way["maxspeed:forward"="20 mph"]!:righthandtraffic::maxspeedlayer,
    1017 way["maxspeed:backward"="20 mph"]:righthandtraffic::maxspeedlayer
     1032way["maxspeed:forward"="20 mph"]!:righthandtraffic::maxspeedcasinglayer,
     1033way["maxspeed:backward"="20 mph"]:righthandtraffic::maxspeedcasinglayer
    10181034{
    10191035        set maxspeed_left;
    10201036        left-casing-color: speed_20_mph#4d4dff;
    10211037}
    1022 way["maxspeed:forward"="25 mph"]!:righthandtraffic::maxspeedlayer,
    1023 way["maxspeed:backward"="25 mph"]:righthandtraffic::maxspeedlayer
     1038way["maxspeed:forward"="25 mph"]!:righthandtraffic::maxspeedcasinglayer,
     1039way["maxspeed:backward"="25 mph"]:righthandtraffic::maxspeedcasinglayer
    10241040{
    10251041        set maxspeed_left;
    10261042        left-casing-color: speed_25_mph#4d4d00;
    10271043}
    1028 way["maxspeed:forward"="30 mph"]!:righthandtraffic::maxspeedlayer,
    1029 way["maxspeed:backward"="30 mph"]:righthandtraffic::maxspeedlayer
     1044way["maxspeed:forward"="30 mph"]!:righthandtraffic::maxspeedcasinglayer,
     1045way["maxspeed:backward"="30 mph"]:righthandtraffic::maxspeedcasinglayer
    10301046{
    10311047        set maxspeed_left;
    10321048        left-casing-color: speed_30_mph#ff529a;
    10331049}
    1034 way["maxspeed:forward"="35 mph"]!:righthandtraffic::maxspeedlayer,
    1035 way["maxspeed:backward"="35 mph"]:righthandtraffic::maxspeedlayer
     1050way["maxspeed:forward"="35 mph"]!:righthandtraffic::maxspeedcasinglayer,
     1051way["maxspeed:backward"="35 mph"]:righthandtraffic::maxspeedcasinglayer
    10361052{
    10371053        set maxspeed_left;
    10381054        left-casing-color: speed_35_mph#07f807;
    10391055}
    1040 way["maxspeed:forward"="40 mph"]!:righthandtraffic::maxspeedlayer,
    1041 way["maxspeed:backward"="40 mph"]:righthandtraffic::maxspeedlayer
     1056way["maxspeed:forward"="40 mph"]!:righthandtraffic::maxspeedcasinglayer,
     1057way["maxspeed:backward"="40 mph"]:righthandtraffic::maxspeedcasinglayer
    10421058{
    10431059        set maxspeed_left;
    10441060        left-casing-color: speed_40_mph#9f9fff;
    10451061}
    1046 way["maxspeed:forward"="45 mph"]!:righthandtraffic::maxspeedlayer,
    1047 way["maxspeed:backward"="45 mph"]:righthandtraffic::maxspeedlayer
     1062way["maxspeed:forward"="45 mph"]!:righthandtraffic::maxspeedcasinglayer,
     1063way["maxspeed:backward"="45 mph"]:righthandtraffic::maxspeedcasinglayer
    10481064{
    10491065        set maxspeed_left;
    10501066        left-casing-color: speed_45_mph#ee8b00;
    10511067}
    1052 way["maxspeed:forward"="50 mph"]!:righthandtraffic::maxspeedlayer,
    1053 way["maxspeed:backward"="50 mph"]:righthandtraffic::maxspeedlayer
     1068way["maxspeed:forward"="50 mph"]!:righthandtraffic::maxspeedcasinglayer,
     1069way["maxspeed:backward"="50 mph"]:righthandtraffic::maxspeedcasinglayer
    10541070{
    10551071        set maxspeed_left;
    10561072        left-casing-color: speed_50_mph#f90808;
    10571073}
    1058 way["maxspeed:forward"="55 mph"]!:righthandtraffic::maxspeedlayer,
    1059 way["maxspeed:backward"="55 mph"]:righthandtraffic::maxspeedlayer
     1074way["maxspeed:forward"="55 mph"]!:righthandtraffic::maxspeedcasinglayer,
     1075way["maxspeed:backward"="55 mph"]:righthandtraffic::maxspeedcasinglayer
    10601076{
    10611077        set maxspeed_left;
    10621078        left-casing-color: speed_55_mph#07f8f8;
    10631079}
    1064 way["maxspeed:forward"="60 mph"]!:righthandtraffic::maxspeedlayer,
    1065 way["maxspeed:backward"="60 mph"]:righthandtraffic::maxspeedlayer
     1080way["maxspeed:forward"="60 mph"]!:righthandtraffic::maxspeedcasinglayer,
     1081way["maxspeed:backward"="60 mph"]:righthandtraffic::maxspeedcasinglayer
    10661082{
    10671083        set maxspeed_left;
    10681084        left-casing-color: speed_60_mph#f807f8;
    10691085}
    1070 way["maxspeed:forward"="65 mph"]!:righthandtraffic::maxspeedlayer,
    1071 way["maxspeed:backward"="65 mph"]:righthandtraffic::maxspeedlayer
     1086way["maxspeed:forward"="65 mph"]!:righthandtraffic::maxspeedcasinglayer,
     1087way["maxspeed:backward"="65 mph"]:righthandtraffic::maxspeedcasinglayer
    10721088{
    10731089        set maxspeed_left;
    10741090        left-casing-color: speed_65_mph#7807f8;
    10751091}
    1076 way["maxspeed:forward"="70 mph"]!:righthandtraffic::maxspeedlayer,
    1077 way["maxspeed:backward"="70 mph"]:righthandtraffic::maxspeedlayer
    1078 {
    1079         set maxspeed_left;
    1080         left-casing-color: speed_70_mph#ccad24;
    1081 }
    1082 way["maxspeed:forward"="75 mph"]!:righthandtraffic::maxspeedlayer,
    1083 way["maxspeed:backward"="75 mph"]:righthandtraffic::maxspeedlayer
     1092way["maxspeed:forward"="70 mph"]!:righthandtraffic::maxspeedcasinglayer,
     1093way["maxspeed:backward"="70 mph"]:righthandtraffic::maxspeedcasinglayer
     1094{
     1095        set maxspeed_left;
     1096        left-casing-color: speed_70_mph#b69b20;
     1097}
     1098way["maxspeed:forward"="75 mph"]!:righthandtraffic::maxspeedcasinglayer,
     1099way["maxspeed:backward"="75 mph"]:righthandtraffic::maxspeedcasinglayer
    10841100{
    10851101        set maxspeed_left;
     
    10871103}
    10881104
    1089 /* 5.3 - general rules */
    1090 way.maxspeed_left::maxspeedlayer
    1091 {
    1092         left-casing-opacity: 0.75;
     1105/* 5.3 - conditional lefthand-forward and righthand-backward maxspeed */
     1106way.cond_forward_kmh!:righthandtraffic::maxspeedcasinglayer,
     1107way.cond_backward_kmh:righthandtraffic::maxspeedcasinglayer,
     1108way.cond_forward_mph!:righthandtraffic::maxspeedcasinglayer,
     1109way.cond_backward_mph:righthandtraffic::maxspeedcasinglayer
     1110{
     1111        set maxspeed_left_cond;
     1112        left-casing-dashes: 55,25;
     1113}
     1114/* 5.3.1 - kmh */
     1115way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="none"]!:righthandtraffic::maxspeedcasinglayer,
     1116way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="none"]:righthandtraffic::maxspeedcasinglayer
     1117{
     1118        left-casing-dashes-background-color: speed_none#febede;
     1119}
     1120way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="5"]!:righthandtraffic::maxspeedcasinglayer,
     1121way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="5"]:righthandtraffic::maxspeedcasinglayer
     1122{
     1123        left-casing-dashes-background-color: speed_5#ff5656;
     1124}
     1125way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="10"]!:righthandtraffic::maxspeedcasinglayer,
     1126way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="10"]:righthandtraffic::maxspeedcasinglayer
     1127{
     1128        left-casing-dashes-background-color: speed_10#b80022;
     1129}
     1130way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="15"]!:righthandtraffic::maxspeedcasinglayer,
     1131way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="15"]:righthandtraffic::maxspeedcasinglayer
     1132{
     1133        left-casing-dashes-background-color: speed_15#00da8b;
     1134}
     1135way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="20"]!:righthandtraffic::maxspeedcasinglayer,
     1136way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="20"]:righthandtraffic::maxspeedcasinglayer
     1137{
     1138        left-casing-dashes-background-color: speed_20#e3cc82;
     1139}
     1140way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="30"]!:righthandtraffic::maxspeedcasinglayer,
     1141way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="30"]:righthandtraffic::maxspeedcasinglayer
     1142{
     1143        left-casing-dashes-background-color: speed_30#4d4dff;
     1144}
     1145way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="40"]!:righthandtraffic::maxspeedcasinglayer,
     1146way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="40"]:righthandtraffic::maxspeedcasinglayer
     1147{
     1148        left-casing-dashes-background-color: speed_40#4d4d00;
     1149}
     1150way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="45"]!:righthandtraffic::maxspeedcasinglayer,
     1151way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="45"]:righthandtraffic::maxspeedcasinglayer
     1152{
     1153        left-casing-dashes-background-color: speed_45#ff529a;
     1154}
     1155way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="50"]!:righthandtraffic::maxspeedcasinglayer,
     1156way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="50"]:righthandtraffic::maxspeedcasinglayer
     1157{
     1158        left-casing-dashes-background-color: speed_50#07f807;
     1159}
     1160way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="60"]!:righthandtraffic::maxspeedcasinglayer,
     1161way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="60"]:righthandtraffic::maxspeedcasinglayer
     1162{
     1163        left-casing-dashes-background-color: speed_60#9f9fff;
     1164}
     1165way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="70"]!:righthandtraffic::maxspeedcasinglayer,
     1166way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="70"]:righthandtraffic::maxspeedcasinglayer
     1167{
     1168        left-casing-dashes-background-color: speed_70#ee8b00;
     1169}
     1170way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="80"]!:righthandtraffic::maxspeedcasinglayer,
     1171way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="80"]:righthandtraffic::maxspeedcasinglayer
     1172{
     1173        left-casing-dashes-background-color: speed_80#f90808;
     1174}
     1175way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="90"]!:righthandtraffic::maxspeedcasinglayer,
     1176way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="90"]:righthandtraffic::maxspeedcasinglayer
     1177{
     1178        left-casing-dashes-background-color: speed_90#07f8f8;
     1179}
     1180way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="100"]!:righthandtraffic::maxspeedcasinglayer,
     1181way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="100"]:righthandtraffic::maxspeedcasinglayer
     1182{
     1183        left-casing-dashes-background-color: speed_100#f807f8;
     1184}
     1185way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="110"]!:righthandtraffic::maxspeedcasinglayer,
     1186way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="110"]:righthandtraffic::maxspeedcasinglayer
     1187{
     1188        left-casing-dashes-background-color: speed_110#7807f8;
     1189}
     1190way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="120"]!:righthandtraffic::maxspeedcasinglayer,
     1191way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="120"]:righthandtraffic::maxspeedcasinglayer
     1192{
     1193        left-casing-dashes-background-color: speed_120#b69b20;
     1194}
     1195way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedcasinglayer)="130"]!:righthandtraffic::maxspeedcasinglayer,
     1196way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedcasinglayer)="130"]:righthandtraffic::maxspeedcasinglayer
     1197{
     1198        left-casing-dashes-background-color: speed_130#c0f100;
     1199}
     1200/* 5.3.2 - mph */
     1201way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="5"]!:righthandtraffic::maxspeedcasinglayer,
     1202way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="5"]:righthandtraffic::maxspeedcasinglayer
     1203{
     1204        left-casing-dashes-background-color: speed_5_mph#b80022;
     1205}
     1206way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="10"]!:righthandtraffic::maxspeedcasinglayer,
     1207way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="10"]:righthandtraffic::maxspeedcasinglayer
     1208{
     1209        left-casing-dashes-background-color: speed_10_mph#00da8b;
     1210}
     1211way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="15"]!:righthandtraffic::maxspeedcasinglayer,
     1212way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="15"]:righthandtraffic::maxspeedcasinglayer
     1213{
     1214        left-casing-dashes-background-color: speed_15_mph#e3cc82;
     1215}
     1216way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="20"]!:righthandtraffic::maxspeedcasinglayer,
     1217way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="20"]:righthandtraffic::maxspeedcasinglayer
     1218{
     1219        left-casing-dashes-background-color: speed_20_mph#4d4dff;
     1220}
     1221way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="25"]!:righthandtraffic::maxspeedcasinglayer,
     1222way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="25"]:righthandtraffic::maxspeedcasinglayer
     1223{
     1224        left-casing-dashes-background-color: speed_25_mph#4d4d00;
     1225}
     1226way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="30"]!:righthandtraffic::maxspeedcasinglayer,
     1227way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="30"]:righthandtraffic::maxspeedcasinglayer
     1228{
     1229        left-casing-dashes-background-color: speed_30_mph#ff529a;
     1230}
     1231way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="35"]!:righthandtraffic::maxspeedcasinglayer,
     1232way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="35"]:righthandtraffic::maxspeedcasinglayer
     1233{
     1234        left-casing-dashes-background-color: speed_35_mph#07f807;
     1235}
     1236way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="40"]!:righthandtraffic::maxspeedcasinglayer,
     1237way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="40"]:righthandtraffic::maxspeedcasinglayer
     1238{
     1239        left-casing-dashes-background-color: speed_40_mph#9f9fff;
     1240}
     1241way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="45"]!:righthandtraffic::maxspeedcasinglayer,
     1242way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="45"]:righthandtraffic::maxspeedcasinglayer
     1243{
     1244        left-casing-dashes-background-color: speed_45_mph#ee8b00;
     1245}
     1246way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="50"]!:righthandtraffic::maxspeedcasinglayer,
     1247way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="50"]:righthandtraffic::maxspeedcasinglayer
     1248{
     1249        left-casing-dashes-background-color: speed_50_mph#f90808;
     1250}
     1251way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="55"]!:righthandtraffic::maxspeedcasinglayer,
     1252way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="55"]:righthandtraffic::maxspeedcasinglayer
     1253{
     1254        left-casing-dashes-background-color: speed_55_mph#07f8f8;
     1255}
     1256way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="60"]!:righthandtraffic::maxspeedcasinglayer,
     1257way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="60"]:righthandtraffic::maxspeedcasinglayer
     1258{
     1259        left-casing-dashes-background-color: speed_60_mph#f807f8;
     1260}
     1261way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="65"]!:righthandtraffic::maxspeedcasinglayer,
     1262way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="65"]:righthandtraffic::maxspeedcasinglayer
     1263{
     1264        left-casing-dashes-background-color: speed_65_mph#7807f8;
     1265}
     1266way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="70"]!:righthandtraffic::maxspeedcasinglayer,
     1267way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="70"]:righthandtraffic::maxspeedcasinglayer
     1268{
     1269        left-casing-dashes-background-color: speed_70_mph#b69b20;
     1270}
     1271way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedcasinglayer)="75"]!:righthandtraffic::maxspeedcasinglayer,
     1272way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedcasinglayer)="75"]:righthandtraffic::maxspeedcasinglayer
     1273{
     1274        left-casing-dashes-background-color: speed_75_mph#c0f100;
     1275}
     1276
     1277/* 5.4 - general rules */
     1278way.maxspeed_left::maxspeedcasinglayer,
     1279way.maxspeed_left_cond::maxspeedcasinglayer
     1280{
    10931281        left-casing-width: 6;
    10941282        left-casing-offset: 0;
    1095 }
    1096 way|z16.maxspeed_left::maxspeedlayer
     1283        major-z-index: 3;
     1284        z-index: -1;
     1285}
     1286way|z16.maxspeed_left::maxspeedcasinglayer,
     1287way|z16.maxspeed_left_cond::maxspeedcasinglayer
    10971288{
    10981289        left-casing-width: 5;
    10991290}
    1100 way|z-15.maxspeed_left::maxspeedlayer
     1291way|z-15.maxspeed_left::maxspeedcasinglayer,
     1292way|z-15.maxspeed_left_cond::maxspeedcasinglayer
    11011293{
    11021294        left-casing-width: 4;
    11031295}
    1104 way.maxspeed_left[maxspeed:variable:forward]!:righthandtraffic::maxspeedlayer,
    1105 way.maxspeed_left[maxspeed:variable:backward]:righthandtraffic::maxspeedlayer
     1296way.maxspeed_left_cond!.maxspeed_left::maxspeedcasinglayer
     1297{
     1298        left-casing-opacity: 0;
     1299        left-casing-dashes-background-opacity: 1;
     1300}
     1301way.maxspeed_left[maxspeed:variable:forward]!:righthandtraffic::maxspeedcasinglayer,
     1302way.maxspeed_left[maxspeed:variable:backward]:righthandtraffic::maxspeedcasinglayer,
     1303way.maxspeed_left_cond[maxspeed:variable:forward]!:righthandtraffic::maxspeedcasinglayer,
     1304way.maxspeed_left_cond[maxspeed:variable:backward]:righthandtraffic::maxspeedcasinglayer
    11061305{
    11071306        left-casing-dashes: 34,6;
    1108 }
    1109 
    1110 /* 5.4 - conditional lefthand-forward and righthand-backward maxspeed */
    1111 way.cond_forward_kmh!:righthandtraffic::maxspeedlayer,
    1112 way.cond_backward_kmh:righthandtraffic::maxspeedlayer,
    1113 way.cond_forward_mph!:righthandtraffic::maxspeedlayer,
    1114 way.cond_backward_mph:righthandtraffic::maxspeedlayer
    1115 {
    1116         left-casing-dashes: 55,25;
    1117 }
    1118 /* 5.4.1 - kmh */
    1119 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="none"]!:righthandtraffic::maxspeedlayer,
    1120 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="none"]:righthandtraffic::maxspeedlayer
    1121 {
    1122         left-casing-dashes-background-color: speed_none#febede;
    1123 }
    1124 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="5"]!:righthandtraffic::maxspeedlayer,
    1125 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="5"]:righthandtraffic::maxspeedlayer
    1126 {
    1127         left-casing-dashes-background-color: speed_5#ff5656;
    1128 }
    1129 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="10"]!:righthandtraffic::maxspeedlayer,
    1130 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="10"]:righthandtraffic::maxspeedlayer
    1131 {
    1132         left-casing-dashes-background-color: speed_10#b80022;
    1133 }
    1134 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="15"]!:righthandtraffic::maxspeedlayer,
    1135 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="15"]:righthandtraffic::maxspeedlayer
    1136 {
    1137         left-casing-dashes-background-color: speed_15#00da8b;
    1138 }
    1139 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="20"]!:righthandtraffic::maxspeedlayer,
    1140 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="20"]:righthandtraffic::maxspeedlayer
    1141 {
    1142         left-casing-dashes-background-color: speed_20#e3cc82;
    1143 }
    1144 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="30"]!:righthandtraffic::maxspeedlayer,
    1145 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="30"]:righthandtraffic::maxspeedlayer
    1146 {
    1147         left-casing-dashes-background-color: speed_30#4d4dff;
    1148 }
    1149 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="40"]!:righthandtraffic::maxspeedlayer,
    1150 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="40"]:righthandtraffic::maxspeedlayer
    1151 {
    1152         left-casing-dashes-background-color: speed_40#4d4d00;
    1153 }
    1154 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="45"]!:righthandtraffic::maxspeedlayer,
    1155 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="45"]:righthandtraffic::maxspeedlayer
    1156 {
    1157         left-casing-dashes-background-color: speed_45#ff529a;
    1158 }
    1159 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="50"]!:righthandtraffic::maxspeedlayer,
    1160 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="50"]:righthandtraffic::maxspeedlayer
    1161 {
    1162         left-casing-dashes-background-color: speed_50#07f807;
    1163 }
    1164 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="60"]!:righthandtraffic::maxspeedlayer,
    1165 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="60"]:righthandtraffic::maxspeedlayer
    1166 {
    1167         left-casing-dashes-background-color: speed_60#9f9fff;
    1168 }
    1169 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="70"]!:righthandtraffic::maxspeedlayer,
    1170 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="70"]:righthandtraffic::maxspeedlayer
    1171 {
    1172         left-casing-dashes-background-color: speed_70#ee8b00;
    1173 }
    1174 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="80"]!:righthandtraffic::maxspeedlayer,
    1175 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="80"]:righthandtraffic::maxspeedlayer
    1176 {
    1177         left-casing-dashes-background-color: speed_80#f90808;
    1178 }
    1179 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="90"]!:righthandtraffic::maxspeedlayer,
    1180 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="90"]:righthandtraffic::maxspeedlayer
    1181 {
    1182         left-casing-dashes-background-color: speed_90#07f8f8;
    1183 }
    1184 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="100"]!:righthandtraffic::maxspeedlayer,
    1185 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="100"]:righthandtraffic::maxspeedlayer
    1186 {
    1187         left-casing-dashes-background-color: speed_100#f807f8;
    1188 }
    1189 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="110"]!:righthandtraffic::maxspeedlayer,
    1190 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="110"]:righthandtraffic::maxspeedlayer
    1191 {
    1192         left-casing-dashes-background-color: speed_110#7807f8;
    1193 }
    1194 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="120"]!:righthandtraffic::maxspeedlayer,
    1195 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="120"]:righthandtraffic::maxspeedlayer
    1196 {
    1197         left-casing-dashes-background-color: speed_120#ccad24;
    1198 }
    1199 way.cond_forward_kmh[prop(maxsp_forward_cond, maxspeedlayer)="130"]!:righthandtraffic::maxspeedlayer,
    1200 way.cond_backward_kmh[prop(maxsp_backward_cond, maxspeedlayer)="130"]:righthandtraffic::maxspeedlayer
    1201 {
    1202         left-casing-dashes-background-color: speed_130#c0f100;
    1203 }
    1204 /* 5.4.2 - mph */
    1205 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="5"]!:righthandtraffic::maxspeedlayer,
    1206 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="5"]:righthandtraffic::maxspeedlayer
    1207 {
    1208         left-casing-dashes-background-color: speed_5_mph#b80022;
    1209 }
    1210 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="10"]!:righthandtraffic::maxspeedlayer,
    1211 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="10"]:righthandtraffic::maxspeedlayer
    1212 {
    1213         left-casing-dashes-background-color: speed_10_mph#00da8b;
    1214 }
    1215 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="15"]!:righthandtraffic::maxspeedlayer,
    1216 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="15"]:righthandtraffic::maxspeedlayer
    1217 {
    1218         left-casing-dashes-background-color: speed_15_mph#e3cc82;
    1219 }
    1220 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="20"]!:righthandtraffic::maxspeedlayer,
    1221 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="20"]:righthandtraffic::maxspeedlayer
    1222 {
    1223         left-casing-dashes-background-color: speed_20_mph#4d4dff;
    1224 }
    1225 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="25"]!:righthandtraffic::maxspeedlayer,
    1226 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="25"]:righthandtraffic::maxspeedlayer
    1227 {
    1228         left-casing-dashes-background-color: speed_25_mph#4d4d00;
    1229 }
    1230 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="30"]!:righthandtraffic::maxspeedlayer,
    1231 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="30"]:righthandtraffic::maxspeedlayer
    1232 {
    1233         left-casing-dashes-background-color: speed_30_mph#ff529a;
    1234 }
    1235 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="35"]!:righthandtraffic::maxspeedlayer,
    1236 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="35"]:righthandtraffic::maxspeedlayer
    1237 {
    1238         left-casing-dashes-background-color: speed_35_mph#07f807;
    1239 }
    1240 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="40"]!:righthandtraffic::maxspeedlayer,
    1241 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="40"]:righthandtraffic::maxspeedlayer
    1242 {
    1243         left-casing-dashes-background-color: speed_40_mph#9f9fff;
    1244 }
    1245 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="45"]!:righthandtraffic::maxspeedlayer,
    1246 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="45"]:righthandtraffic::maxspeedlayer
    1247 {
    1248         left-casing-dashes-background-color: speed_45_mph#ee8b00;
    1249 }
    1250 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="50"]!:righthandtraffic::maxspeedlayer,
    1251 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="50"]:righthandtraffic::maxspeedlayer
    1252 {
    1253         left-casing-dashes-background-color: speed_50_mph#f90808;
    1254 }
    1255 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="55"]!:righthandtraffic::maxspeedlayer,
    1256 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="55"]:righthandtraffic::maxspeedlayer
    1257 {
    1258         left-casing-dashes-background-color: speed_55_mph#07f8f8;
    1259 }
    1260 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="60"]!:righthandtraffic::maxspeedlayer,
    1261 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="60"]:righthandtraffic::maxspeedlayer
    1262 {
    1263         left-casing-dashes-background-color: speed_60_mph#f807f8;
    1264 }
    1265 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="65"]!:righthandtraffic::maxspeedlayer,
    1266 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="65"]:righthandtraffic::maxspeedlayer
    1267 {
    1268         left-casing-dashes-background-color: speed_65_mph#7807f8;
    1269 }
    1270 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="70"]!:righthandtraffic::maxspeedlayer,
    1271 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="70"]:righthandtraffic::maxspeedlayer
    1272 {
    1273         left-casing-dashes-background-color: speed_70_mph#ccad24;
    1274 }
    1275 way.cond_forward_mph[prop(maxsp_forward_cond, maxspeedlayer)="75"]!:righthandtraffic::maxspeedlayer,
    1276 way.cond_backward_mph[prop(maxsp_backward_cond, maxspeedlayer)="75"]:righthandtraffic::maxspeedlayer
    1277 {
    1278         left-casing-dashes-background-color: speed_75_mph#c0f100;
    12791307}
    12801308
     
    12961324        set correct_value;
    12971325}
    1298 way[maxspeed:forward=~/^[0-9]+$/]::maxspeedlayer,
    1299 way[maxspeed:forward=signals]::maxspeedlayer,
    1300 way[maxspeed:forward=none]::maxspeedlayer,
    1301 way[maxspeed:forward=~/^[0-9]+ mph/]::maxspeedlayer,
    1302 way[maxspeed:forward=~/[0-9]+ km\/h/]::maxspeedlayer,
    1303 way[maxspeed:forward=~/[0-9]+ knots/]::maxspeedlayer,
    1304 way[maxspeed:forward="RU:living_street"][setting("RU")]::maxspeedlayer,
    1305 way[maxspeed:forward="RU:urban"][setting("RU")]::maxspeedlayer,
    1306 way[maxspeed:forward="RU:rural"][setting("RU")]::maxspeedlayer,
    1307 way[maxspeed:forward="RU:motorway"][setting("RU")]::maxspeedlayer
     1326way[maxspeed:forward=~/^[0-9]+$/]::maxspeedcasinglayer,
     1327way[maxspeed:forward=signals]::maxspeedcasinglayer,
     1328way[maxspeed:forward=none]::maxspeedcasinglayer,
     1329way[maxspeed:forward=~/^[0-9]+ mph/]::maxspeedcasinglayer,
     1330way[maxspeed:forward=~/[0-9]+ km\/h/]::maxspeedcasinglayer,
     1331way[maxspeed:forward=~/[0-9]+ knots/]::maxspeedcasinglayer,
     1332way[maxspeed:forward="RU:living_street"][setting("RU")]::maxspeedcasinglayer,
     1333way[maxspeed:forward="RU:urban"][setting("RU")]::maxspeedcasinglayer,
     1334way[maxspeed:forward="RU:rural"][setting("RU")]::maxspeedcasinglayer,
     1335way[maxspeed:forward="RU:motorway"][setting("RU")]::maxspeedcasinglayer
    13081336{
    13091337        set correct_value_forward;
    13101338}
    1311 way[maxspeed:backward=~/^[0-9]+$/]::maxspeedlayer,
    1312 way[maxspeed:backward=signals]::maxspeedlayer,
    1313 way[maxspeed:backward=none]::maxspeedlayer,
    1314 way[maxspeed:backward=~/^[0-9]+ mph/]::maxspeedlayer,
    1315 way[maxspeed:backward=~/[0-9]+ km\/h/]::maxspeedlayer,
    1316 way[maxspeed:backward=~/[0-9]+ knots/]::maxspeedlayer,
    1317 way[maxspeed:backward="RU:living_street"][setting("RU")]::maxspeedlayer,
    1318 way[maxspeed:backward="RU:urban"][setting("RU")]::maxspeedlayer,
    1319 way[maxspeed:backward="RU:rural"][setting("RU")]::maxspeedlayer,
    1320 way[maxspeed:backward="RU:motorway"][setting("RU")]::maxspeedlayer
     1339way[maxspeed:backward=~/^[0-9]+$/]::maxspeedcasinglayer,
     1340way[maxspeed:backward=signals]::maxspeedcasinglayer,
     1341way[maxspeed:backward=none]::maxspeedcasinglayer,
     1342way[maxspeed:backward=~/^[0-9]+ mph/]::maxspeedcasinglayer,
     1343way[maxspeed:backward=~/[0-9]+ km\/h/]::maxspeedcasinglayer,
     1344way[maxspeed:backward=~/[0-9]+ knots/]::maxspeedcasinglayer,
     1345way[maxspeed:backward="RU:living_street"][setting("RU")]::maxspeedcasinglayer,
     1346way[maxspeed:backward="RU:urban"][setting("RU")]::maxspeedcasinglayer,
     1347way[maxspeed:backward="RU:rural"][setting("RU")]::maxspeedcasinglayer,
     1348way[maxspeed:backward="RU:motorway"][setting("RU")]::maxspeedcasinglayer
    13211349{
    13221350        set correct_value_backward;
     
    13241352
    13251353way["maxspeed"]!.correct_value::maxspeedlayer,
    1326 way["maxspeed:forward"]!.correct_value_forward::maxspeedlayer,
    1327 way["maxspeed:backward"]!.correct_value_backward::maxspeedlayer
     1354way["maxspeed:forward"]!.correct_value_forward::maxspeedcasinglayer,
     1355way["maxspeed:backward"]!.correct_value_backward::maxspeedcasinglayer
    13281356{
    13291357        color: yellow;
     
    13431371/* 6.2 - report wrong value of maxspeed:conditional */
    13441372way["maxspeed:conditional"=~/^[1-9][0-9]* knots @ /]::maxspeedlayer,
    1345 way["maxspeed:forward:conditional"=~/^[1-9][0-9]* knots @ /]::maxspeedlayer,
    1346 way["maxspeed:backward:conditional"=~/^[1-9][0-9]* knots @ /]::maxspeedlayer
     1373way["maxspeed:forward:conditional"=~/^[1-9][0-9]* knots @ /]::maxspeedcasinglayer,
     1374way["maxspeed:backward:conditional"=~/^[1-9][0-9]* knots @ /]::maxspeedcasinglayer
    13471375{
    13481376        set cond_knots;
    13491377}
     1378
    13501379way["maxspeed:conditional"]!.cond_kmh!.cond_mph!.cond_knots::maxspeedlayer,
    1351 way["maxspeed:forward:conditional"]!.cond_forward_kmh!.cond_forward_mph!.cond_knots::maxspeedlayer,
    1352 way["maxspeed:backward:conditional"]!.cond_backward_kmh!.cond_backward_mph!.cond_knots::maxspeedlayer
     1380way["maxspeed:forward:conditional"]!.cond_forward_kmh!.cond_forward_mph!.cond_knots::maxspeedcasinglayer,
     1381way["maxspeed:backward:conditional"]!.cond_backward_kmh!.cond_backward_mph!.cond_knots::maxspeedcasinglayer
    13531382{
    13541383        color: yellow;
     
    13621391        text-halo-color: red;
    13631392        text-halo-radius: 2;
    1364         casing-width: 1;
    1365         casing-color: yellow;
     1393        left-casing-width: 1;
     1394        left-casing-color: yellow;
     1395        right-casing-width: 1;
     1396        right-casing-color: yellow;
     1397        z-index: 1;
    13661398}
    13671399
    13681400/* 6.3 - report conditional maxspeed without default maxspeed */
    13691401way["maxspeed:conditional"][!"maxspeed"]::maxspeedlayer,
    1370 way["maxspeed:forward:conditional"][!"maxspeed:forward"][!"maxspeed"]::maxspeedlayer,
    1371 way["maxspeed:backward:conditional"][!"maxspeed:backward"][!"maxspeed"]::maxspeedlayer
     1402way["maxspeed:forward:conditional"][!"maxspeed:forward"][!"maxspeed"]::maxspeedcasinglayer,
     1403way["maxspeed:backward:conditional"][!"maxspeed:backward"][!"maxspeed"]::maxspeedcasinglayer
    13721404{
    13731405        color: yellow;
     
    13811413        text-halo-color: red;
    13821414        text-halo-radius: 2;
    1383         casing-width: 1;
    1384         casing-color: yellow;
     1415        left-casing-width: 1;
     1416        left-casing-color: yellow;
     1417        right-casing-width: 1;
     1418        right-casing-color: yellow;
     1419        left-casing-opacity: 1;
     1420        right-casing-opacity: 1;
     1421        z-index: 1;
     1422
    13851423}
    13861424
    13871425/* 6.4 - report if maxspeed direction is opposed to oneway direction */
    1388 way["maxspeed:backward"][oneway?],
     1426way["maxspeed:backward"][oneway?], /* in default layer to not hide the oneway arrows */
    13891427way["maxspeed:forward"][oneway=-1]
    13901428{