wiki:Styles/CyclewaysStylingBNA

Cycleway Styling (BNA)

This style was developed to aid in editing for the PeopleforBikes Bicycle Network Analysis (BNA). It adds line decorations to visualize on and off-road cycle tags, as well as relevant on-street parking. Notably, it displays individual sides of the road, and includes cycleway buffers. Deprecated tags are shown in different colors to suggest edits. The style works with the internal JOSM Default style, but is optimized for use with the Potlatch 2 style enabled as well.

Legend

Legend for Cycleways Styling (BNA) style (NOZIP)

Code

meta 
{
        title: "Cycleways Styling (BNA)";
        description: "This style was developed to aid in editing for PeopleforBikes Bicycle Network Analysis (BNA). It adds line decorations to visualize on and off-road cycle tags, as well as relevant on-street parking. Notably, it displays individual sides of the road, and includes cycleway buffers. Deprecated tags are shown in different colors to suggest edits.";
        version: 10_2025-12-29;
        author: "pkoby";
        link: "https://josm.openstreetmap.de/wiki/Styles/CyclewaysStylingBNA";
}

setting::separations {
        type: boolean;
        label: tr("Show track separations");
        default: false;
}
setting::markings {
        type: boolean;
        label: tr("Show lane markings");
        default: false;
}
setting::parking {
        type: boolean;
        label: tr("Show on-street parking");
        default: false;
}


way::base {
        offset: 0; 
        z-index: 1;
}

way::justlane {
        offset: prop("offset", "base");
}
way[highway][cycleway=lane]::justlane {
        color: #55f;
        dashes: 5,2;
        width: 4;
        offset: prop("offset")-10;
}
way::justlane2 {
        offset: prop("offset", "base");
}
way[highway][cycleway=lane]::justlane2 {
        color: #55f;
        dashes: 5,2;
        width: 4;
        offset: prop("offset")+10;
}

way::nah {
        offset: prop("offset", "base");
}
way[highway][cycleway:both=no]::nah,way[highway][cycleway:right=no]::nah {
        color: #f05;
        dashes: 5,9,5,3;
        width: 4;
        offset: prop("offset")-10;
}
way::nah2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both=no]::nah2,way[highway][cycleway:left=no]::nah2 {
        color: #f05;
        dashes: 5,3,5,9;
        width: 4;
        offset: prop("offset")+10;
}

way::lane {
        offset: prop("offset", "base");
}
way[highway][cycleway:both=lane]::lane,way[highway][cycleway:right=lane]::lane {
        color: blue;
        dashes: 5,2;
        width: 4;
        offset: prop("offset")-10;
        z-index: 1;
}
way::lane2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both=lane]::lane2,way[highway][cycleway:left=lane]::lane2 {
        color: blue;
        dashes: 5,2;
        width: 4;
        offset: prop("offset")+10;
        z-index: 1;
}

way::disused {
        offset: prop("offset", "base");
}
way[highway][disused:cycleway:both]::disused,way[highway][disused:cycleway:right]::disused {
        color: #000;
        dashes: 5,8;
        width: 4;
        offset: prop("offset")-10;
        opacity: 0.4;
}
way::disused2 {
        offset: prop("offset", "base");
}
way[highway][disused:cycleway:both]::disused2,way[highway][disused:cycleway:left]::disused2 {
        color: #000;
        dashes: 5,8;
        width: 4;
        offset: prop("offset")+10;
        opacity: 0.4;
}

way::twolanesnobuff {
        offset: prop("offset", "base");
}
way[highway][cycleway:left=lane][cycleway:right=lane][!cycleway:left:buffer][!cycleway:right:buffer]::twolanesnobuff {
        color: #ff4400;
        dashes: 5,2;
        width: 4;
        offset: prop("offset")-10;
        z-index: 10;
}
way::twolanesnobuff2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:left=lane][cycleway:right=lane][!cycleway:left:buffer][!cycleway:right:buffer]::twolanesnobuff2 {
        color: #ff4400;
        dashes: 5,2;
        width: 4;
        offset: prop("offset")+10;
        z-index: 10;
}

way::advisorylane {
        offset: prop("offset", "base");
}
way[highway][cycleway:lane=advisory]::advisorylane,way[highway][cycleway:both:lane=advisory]::advisorylane,way[highway][cycleway:right:lane=advisory]::advisorylane {
        color: #f60;
        dashes: 5,23;
        width: 4;
        offset: prop("offset")-10;
        z-index: 5;
}
way::advisorylane2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:lane=advisory]::advisorylane2,way[highway][cycleway:both:lane=advisory]::advisorylane2,way[highway][cycleway:left:lane=advisory]::advisorylane2 {
        color: #f60;
        dashes: 5,23;
        width: 4;
        offset: prop("offset")+10;
        z-index: 5;
}

way::exclusivelane {
        offset: prop("offset", "base");
}
way[highway][cycleway:lane=exclusive]::exclusivelane,way[highway][cycleway:both:lane=exclusive]::exclusivelane,way[highway][cycleway:right:lane=exclusive]::exclusivelane {
        color: #0f0;
        dashes: 5,23;
        width: 4;
        offset: prop("offset")-10;
        z-index: 5;
}
way::exclusivelane2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:lane=exclusive]::exclusivelane2,way[highway][cycleway:both:lane=exclusive]::exclusivelane2,way[highway][cycleway:left:lane=exclusive]::exclusivelane2 {
        color: #0f0;
        dashes: 5,23;
        width: 4;
        offset: prop("offset")+10;
        z-index: 5;
}

way::pictogramlane {
        offset: prop("offset", "base");
}
way[highway][cycleway:lane=pictogram]::pictogramlane,way[highway][cycleway:both:lane=pictogram]::pictogramlane,way[highway][cycleway:right:lane=pictogram]::pictogramlane {
        color: #fff;
        dashes: 5,37;
        width: 4;
        offset: prop("offset")-10;
        z-index: 5;
}
way::pictogramlane2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:lane=pictogram]::pictogramlane2,way[highway][cycleway:both:lane=pictogram]::pictogramlane2,way[highway][cycleway:left:lane=pictogram]::pictogramlane2 {
        color: #fff;
        dashes: 5,37;
        width: 4;
        offset: prop("offset")+10;
        z-index: 5;
}

way::sharedparking{
        offset: prop("offset", "base");
}
way[highway][cycleway=shared_parking_lane]::sharedparking,way[highway][cycleway:both=shared_parking_lane]::sharedparking,way[highway][cycleway:right=shared_parking_lane]::sharedparking {
        color: yellow;
        dashes: 5,2;
        width: 4;
        offset: prop("offset")-10;
        opacity: 0.7;
}
way::sharedparking2 {
        offset: prop("offset", "base");
}
way[highway][cycleway=shared_parking_lane]::sharedparking2,way[highway][cycleway:both=shared_parking_lane]::sharedparking2,way[highway][cycleway:left=shared_parking_lane]::sharedparking2 {
        color: yellow;
        dashes: 5,2;
        width: 4;
        offset: prop("offset")+10;
        opacity: 0.7;
}

way::buffered_lane {
        offset: prop("offset", "base");
}
way[highway][cycleway=buffered_lane]::buffered_lane,way[highway][cycleway:both=buffered_lane]::buffered_lane,way[highway][cycleway:right=buffered_lane]::buffered_lane {
        color: #f50;
        dashes: 5,2;
        width: 4;
        offset: prop("offset")-10;
}
way::buffered_lane2 {
        offset: prop("offset", "base");
}
way[highway][cycleway=buffered_lane]::buffered_lane2,way[highway][cycleway:both=buffered_lane]::buffered_lane2,way[highway][cycleway:left=buffered_lane]::buffered_lane2 {
        color: #f50;
        dashes: 5,2;
        width: 4;
        offset: prop("offset")+10;
}

way::twolane {
        offset: prop("offset", "base");
}
way[highway][cycleway:right=lane][cycleway:right:oneway=no]::twolane {
        color: #0af;
        dashes: 5,2;
        width: 4;
        offset: prop("offset")-15;
}
way::twolane2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:left=lane][cycleway:left:oneway=no]::twolane2 {
        color: #0af;
        dashes: 5,2;
        width: 4;
        offset: prop("offset")+15;
}

way::opplane {
        offset: prop("offset", "base");
}
way[highway][cycleway=lane][cycleway:oneway=-1]::opplane,way[highway][cycleway:right=lane][cycleway:right:oneway=-1]::opplane,way[highway][cycleway:both=lane][cycleway:right:oneway=-1]::opplane {
        color: #0af;
        dashes: 5,2;
        width: 4;
        offset: prop("offset")-10;
        z-index: 2;
}
way::opplane2 {
        offset: prop("offset", "base");
}
way[highway][cycleway=lane][cycleway:oneway=-1]::opplane,way[highway][cycleway:left=lane][cycleway:left:oneway=-1]::opplane2,way[highway][cycleway:both=lane][cycleway:left:oneway=-1]::opplane2 {
        color: #0af;
        dashes: 5,2;
        width: 4;
        offset: prop("offset")+10;
        z-index: 2;
}

way::depopplane {
        offset: prop("offset", "base");
}
way[highway][cycleway=opposite]::depopplane,way[highway][cycleway:right=opposite]::depopplane,way[highway][cycleway:both=opposite]::depopplane,way[highway][cycleway=opposite_lane]::depopplane,way[highway][cycleway:right=opposite_lane]::depopplane,way[highway][cycleway:both=opposite_lane]::depopplane {
        color: #f50;
        dashes: 5,2;
        width: 4;
        offset: prop("offset")-10;
        z-index: 2;
}
way::depopplane2 {
        offset: prop("offset", "base");
}
way[highway][cycleway=opposite]::depopplane2,way[highway][cycleway:left=opposite]::depopplane2,way[highway][cycleway:both=opposite]::depopplane2,way[highway][cycleway=opposite_lane]::depopplane2,way[highway][cycleway:left=opposite_lane]::depopplane2,way[highway][cycleway:both=opposite_lane]::depopplane2 {
        color: #f50;
        dashes: 5,2;
        width: 4;
        offset: prop("offset")+10;
        z-index: 2;
}

way::oppbusway {
        offset: prop("offset", "base");
}
way[highway][cycleway=share_busway][cycleway:oneway=-1]::oppbusway,way[highway][cycleway:both=share_busway][cycleway:both:oneway=-1]::oppbusway,way[highway][cycleway:right=share_busway][cycleway:right:oneway=-1]::oppbusway,way[highway][cycleway:both=share_busway][cycleway:right:oneway=-1]::oppbusway {
        color: #0af;
        dashes: 30,5;
        width: 4;
        offset: prop("offset")-10;
        z-index: 2;
}
way::oppbusway2 {
        offset: prop("offset", "base");
}
way[highway][cycleway=share_busway][cycleway:oneway=-1]::oppbusway2,way[highway][cycleway:both=share_busway][cycleway:both:oneway=-1]::oppbusway2,way[highway][cycleway:left=share_busway][cycleway:left:oneway=-1]::oppbusway2,way[highway][cycleway:both=share_busway][cycleway:left:oneway=-1]::oppbusway2 {
        color: #0af;
        dashes: 30,5;
        width: 4;
        offset: prop("offset")+10;
        z-index: 2;
}

way::busway {
        offset: prop("offset", "base");
}
way[highway][cycleway=share_busway][!cycleway:oneway]::busway,way[highway][cycleway:both=share_busway][!cycleway:both:oneway]::busway,way[highway][cycleway:right=share_busway][!cycleway:right:oneway]::busway {
        color: #f33;
        dashes: 30,5;
        width: 4;
        offset: prop("offset")-10;
}
way::busway2 {
        offset: prop("offset", "base");
}
way[highway][cycleway=share_busway][!cycleway:oneway]::busway2,way[highway][cycleway:both=share_busway][!cycleway:both:oneway]::busway2,way[highway][cycleway:left=share_busway][!cycleway:left:oneway]::busway2 {
        color: #f33;
        dashes: 30,5;
        width: 4;
        offset: prop("offset")+10;
}

way::depoppbusway {
        offset: prop("offset", "base");
}
way[highway][cycleway=opposite_share_busway]::depoppbusway,way[highway][cycleway:right=opposite_share_busway]::depoppbusway,way[highway][cycleway:both=opposite_share_busway]::depoppbusway {
        color: #f50;
        dashes: 30,5;
        width: 4;
        offset: prop("offset")-10;
        z-index: 2;
}
way::depoppbusway2 {
        offset: prop("offset", "base");
}
way[highway][cycleway=opposite_share_busway]::depoppbusway2,way[highway][cycleway:left=opposite_share_busway]::depoppbusway2,way[highway][cycleway:both=opposite_share_busway]::depoppbusway2 {
        color: #f50;
        dashes: 30,5;
        width: 4;
        offset: prop("offset")+10;
        z-index: 2;
}

way::shoulder {
        offset: prop("offset", "base");
}
way[highway][cycleway=shoulder]::shoulder,way[highway][cycleway:both=shoulder]::shoulder,way[highway][cycleway:right=shoulder]::shoulder {
        color: #248;
        dashes: 5,2,5,2,5,9;
        width: 4;
        offset: prop("offset")-10;
}
way::shoulder2 {
        offset: prop("offset", "base");
}
way[highway][cycleway=shoulder]::shoulder2,way[highway][cycleway:both=shoulder]::shoulder2,way[highway][cycleway:left=shoulder]::shoulder2 {
        color: #248;
        dashes: 5,2,5,2,5,9;
        width: 4;
        offset: prop("offset")+10;
}

way::separate {
        offset: prop("offset", "base");
}
way[highway][cycleway=separate]::separate,way[highway][cycleway:both=separate]::separate,way[highway][cycleway:right=separate]::separate {
        color: blue;
        dashes: 2,8;
        width: 4;
        offset: prop("offset")-10;
}
way::separate2 {
        offset: prop("offset", "base");
}
way[highway][cycleway=separate]::separate2,way[highway][cycleway:both=separate]::separate2,way[highway][cycleway:left=separate]::separate2 {
        color: blue;
        dashes: 2,8;
        width: 4;
        offset: prop("offset")+10;
}

way::justtrack {
        offset: prop("offset", "base");
}
way[highway][cycleway=track]::justtrack {
        color: #55f;
        dashes: 23,5;
        width: 4;
        offset: prop("offset")-10;
}
way::justtrack2 {
        offset: prop("offset", "base");
}
way[highway][cycleway=track]::justtrack2 {
        color: #55f;
        dashes: 23,5;
        width: 4;
        offset: prop("offset")+10;
}

way::track {
        offset: prop("offset", "base");
}
way[highway][cycleway:both=track]::track,way[highway][cycleway:right=track]::track {
        color: blue;
        dashes: 23,5;
        width: 4;
        offset: prop("offset")-10;
        z-index: 1;
}
way::track2 {
        offset: prop("offset", "base");
}
way[highway][cycleway=track]::track2,way[highway][cycleway:both=track]::track2,way[highway][cycleway:left=track]::track2 {
        color: blue;
        dashes: 23,5;
        width: 4;
        offset: prop("offset")+10;
        z-index: 1;
}

way::twotrack {
        offset: prop("offset", "base");
}
way[highway][cycleway:right=track][cycleway:right:oneway=no]::twotrack {
        color: #0af;
        dashes: 23,5;
        width: 4;
        offset: prop("offset")-15;
}
way::twotrack2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:left=track][cycleway:left:oneway=no]::twotrack2 {
        color: #0af;
        dashes: 23,5;
        width: 4;
        offset: prop("offset")+15;
}

way::opptrack {
        offset: prop("offset", "base");
}
way[highway][cycleway=track][cycleway:oneway=-1]::opptrack,way[highway][cycleway:right=track][cycleway:right:oneway=-1]::opptrack,way[highway][cycleway:both=track][cycleway:right:oneway=-1]::opptrack {
        color: #0af;
        dashes: 23,5;
        width: 4;
        offset: prop("offset")-10;
        z-index: 2;
}
way::opptrack2 {
        offset: prop("offset", "base");
}
way[highway][cycleway=track][cycleway:oneway=-1]::opptrack,way[highway][cycleway:left=track][cycleway:left:oneway=-1]::opptrack2,way[highway][cycleway:both=track][cycleway:left:oneway=-1]::opptrack2 {
        color: #0af;
        dashes: 23,5;
        width: 4;
        offset: prop("offset")+10;
        z-index: 2;
}

way::depopptrack {
        offset: prop("offset", "base");
}
way[highway][cycleway=opposite_track]::depopptrack,way[highway][cycleway:right=opposite_track]::depopptrack,way[highway][cycleway:both=opposite_track]::depopptrack {
        color: #f50;
        dashes: 23,5;
        width: 4;
        offset: prop("offset")-10;
        z-index: 2;
}
way::depopptrack2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:left=opposite_track]::depopptrack2,way[highway][cycleway:both=opposite_track]::depopptrack2 {
        color: #f50;
        dashes: 23,5;
        width: 4;
        offset: prop("offset")+10;
        z-index: 2;
}

way::sharedlane {
        offset: prop("offset", "base");
}
way[highway][cycleway:both=shared_lane]::sharedlane,way[highway][cycleway:right=shared_lane]::sharedlane {
        color: blue;
        dashes: 5,9;
        width: 4;
        offset: prop("offset")-10;
        z-index: 1;
}
way::sharedlane2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both=shared_lane]::sharedlane2,way[highway][cycleway:left=shared_lane]::sharedlane2 {
        color: blue;
        dashes: 5,9;
        width: 4;
        offset: prop("offset")+10;
        z-index: 1;
}

way::justsharedlane {
        offset: prop("offset", "base");
}
way[highway][cycleway=shared_lane]::justsharedlane {
        color: #55f;
        dashes: 5,9;
        width: 4;
        offset: prop("offset")-10;
}
way::justsharedlane2 {
        offset: prop("offset", "base");
}
way[highway][cycleway=shared_lane]::justsharedlane2 {
        color: #55f;
        dashes: 5,9;
        width: 4;
        offset: prop("offset")+10;
}

way::buffer {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:buffer=yes]::buffer,way[highway][cycleway:right:buffer=yes]::buffer {
        color: #0c0;
        width: 4;
        offset: prop("offset")-6;
        z-index: 1;
}
way::buffer2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:buffer=yes]::buffer2,way[highway][cycleway:left:buffer=yes]::buffer2 {
        color: #0c0;
        width: 4;
        offset: prop("offset")+6;
        z-index: 1;
}

way::nobuffer {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:buffer=no]::nobuffer,way[highway][cycleway:right:buffer=no]::nobuffer {
        color: red;
        width: 4;
        offset: prop("offset")-6;
        z-index: 1;
}
way::nobuffer2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:buffer=no]::nobuffer2,way[highway][cycleway:left:buffer=no]::nobuffer2 {
        color: red;
        width: 4;
        offset: prop("offset")+6;
        z-index: 1;
}

way::justbufferyes {
        offset: prop("offset", "base");
}
way[highway][cycleway:buffer=yes]::justbufferyes {
        color: #0c0;
        width: 4;
        offset: prop("offset")-6;
}
way::justbufferyes2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:buffer=yes]::justbufferyes2 {
        color: #0c0;
        width: 4;
        offset: prop("offset")+6;
}

way::justbufferno {
        offset: prop("offset", "base");
}
way[highway][cycleway:buffer=no]::justbufferno {
        color: #c33;
        width: 4;
        offset: prop("offset")-6;
}
way::justbufferno2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:buffer=no]::justbufferno2 {
        color: #c33;
        width: 4;
        offset: prop("offset")+6;
}

/*SEPARATION*/
way::sepbollard1 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:separation=bollard][setting("separations")]::sepbollard1,way[highway][cycleway:both:separation:left=bollard][setting("separations")]::sepbollard1,way[highway][cycleway:right:separation=bollard][setting("separations")]::sepbollard1,way[highway][cycleway:right:separation:left=bollard][setting("separations")]::sepbollard1,way[highway=cycleway][separation:right=bollard][setting("separations")]::sepbollard1 {
        color: #000;
        width: 3;
        dashes: 3,16;
        offset: prop("offset")-6;
}
way::sepbollard2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:separation=bollard][setting("separations")]::sepbollard2,way[highway][cycleway:both:separation:left=bollard][setting("separations")]::sepbollard2,way[highway][cycleway:left:separation=bollard][setting("separations")]::sepbollard2,way[highway][cycleway:left:separation:left=bollard][setting("separations")]::sepbollard2,way[highway=cycleway][separation:left=bollard][setting("separations")]::sepbollard2 {
        color: #000;
        width: 3;
        dashes: 3,16;
        offset: prop("offset")+6;
}

way::sepflex1 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:separation=flex_post][setting("separations")]::sepflex1,way[highway][cycleway:both:separation:left=flex_post][setting("separations")]::sepflex1,way[highway][cycleway:right:separation=flex_post][setting("separations")]::sepflex1,way[highway][cycleway:right:separation:left=flex_post][setting("separations")]::sepflex1,way[highway=cycleway][separation:right=flex_post][setting("separations")]::sepflex1 {
        color: #fff;
        width: 3;
        dashes: 2,16;
        offset: prop("offset")-6;
}
way::sepflex2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:separation=flex_post][setting("separations")]::sepflex2,way[highway][cycleway:both:separation:left=flex_post][setting("separations")]::sepflex2,way[highway][cycleway:left:separation=flex_post][setting("separations")]::sepflex2,way[highway][cycleway:left:separation:left=flex_post][setting("separations")]::sepflex2,way[highway=cycleway][separation:left=flex_post][setting("separations")]::sepflex2 {
        color: #fff;
        width: 3;
        dashes: 2,16;
        offset: prop("offset")+6;
}

way::sepvertpanel1 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:separation=vertical_panel][setting("separations")]::sepvertpanel1,way[highway][cycleway:both:separation:left=vertical_panel][setting("separations")]::sepvertpanel1,way[highway][cycleway:right:separation=vertical_panel][setting("separations")]::sepvertpanel1,way[highway][cycleway:right:separation:left=vertical_panel][setting("separations")]::sepvertpanel1,way[highway=cycleway][separation:right=vertical_panel][setting("separations")]::sepvertpanel1 {
        color: #f60;
        width: 5;
        dashes: 2,16;
        offset: prop("offset")-6;
}
way::sepvertpanel2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:separation=vertical_panel][setting("separations")]::sepvertpanel2,way[highway][cycleway:both:separation:left=vertical_panel][setting("separations")]::sepvertpanel2,way[highway][cycleway:left:separation=vertical_panel][setting("separations")]::sepvertpanel2,way[highway][cycleway:left:separation:left=vertical_panel][setting("separations")]::sepvertpanel2,way[highway=cycleway][separation:left=vertical_panel][setting("separations")]::sepvertpanel2 {
        color: #f60;
        width: 5;
        dashes: 2,16;
        offset: prop("offset")+6;
}

way::sepstuds1 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:separation=studs][setting("separations")]::sepstuds1,way[highway][cycleway:both:separation:left=studs][setting("separations")]::sepstuds1,way[highway][cycleway:right:separation=studs][setting("separations")]::sepstuds1,way[highway][cycleway:right:separation:left=studs][setting("separations")]::sepstuds1,way[highway=cycleway][separation:right=studs][setting("separations")]::sepstuds1 {
        color: #cc0;
        width: 2;
        dashes: 2,16;
        offset: prop("offset")-6;
}
way::sepstuds2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:separation=studs][setting("separations")]::sepstuds2,way[highway][cycleway:both:separation:left=studs][setting("separations")]::sepstuds2,way[highway][cycleway:left:separation=studs][setting("separations")]::sepstuds2,way[highway][cycleway:left:separation:left=studs][setting("separations")]::sepstuds2,way[highway=cycleway][separation:left=studs][setting("separations")]::sepstuds2 {
        color: #cc0;
        width: 2;
        dashes: 2,16;
        offset: prop("offset")+6;
}

way::sepbump1 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:separation=bump][setting("separations")]::sepbump1,way[highway][cycleway:both:separation:left=bump][setting("separations")]::sepbump1,way[highway][cycleway:right:separation=bump][setting("separations")]::sepbump1,way[highway][cycleway:right:separation:left=bump][setting("separations")]::sepbump1,way[highway=cycleway][separation:right=bump][setting("separations")]::sepbump1 {
        color: #ff8;
        width: 3;
        dashes: 32,8;
        offset: prop("offset")-6;
}
way::sepbump2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:separation=bump][setting("separations")]::sepbump2,way[highway][cycleway:both:separation:left=bump][setting("separations")]::sepbump2,way[highway][cycleway:left:separation=bump][setting("separations")]::sepbump2,way[highway][cycleway:left:separation:left=bump][setting("separations")]::sepbump2,way[highway=cycleway][separation:left=bump][setting("separations")]::sepbump2 {
        color: #ff8;
        width: 3;
        dashes: 32,8;
        offset: prop("offset")+6;
}

way::sepplanter1 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:separation=planter][setting("separations")]::sepplanter1,way[highway][cycleway:both:separation:left=planter][setting("separations")]::sepplanter1,way[highway][cycleway:right:separation=planter][setting("separations")]::sepplanter1,way[highway][cycleway:right:separation:left=planter][setting("separations")]::sepplanter1,way[highway=cycleway][separation:right=planter][setting("separations")]::sepplanter1 {
        color: #000;
        width: 5;
        dashes: 7,16;
        offset: prop("offset")-6;
}
way::sepplanter2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:separation=planter][setting("separations")]::sepplanter2,way[highway][cycleway:both:separation:left=planter][setting("separations")]::sepplanter2,way[highway][cycleway:left:separation=planter][setting("separations")]::sepplanter2,way[highway][cycleway:left:separation:left=planter][setting("separations")]::sepplanter2,way[highway=cycleway][separation:left=planter][setting("separations")]::sepplanter2 {
        color: #000;
        width: 5;
        dashes: 7,16;
        offset: prop("offset")+6;
}

way::sepkerb1 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:separation=kerb][setting("separations")]::sepkerb1,way[highway][cycleway:both:separation:left=kerb][setting("separations")]::sepkerb1,way[highway][cycleway:right:separation=kerb][setting("separations")]::sepkerb1,way[highway][cycleway:right:separation:left=kerb][setting("separations")]::sepkerb1,way[highway=cycleway][separation:right=kerb][setting("separations")]::sepkerb1 {
        color: #333;
        width: 2;
        dashes: 51,5;
        offset: prop("offset")-6;
}
way::sepkerb2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:separation=kerb][setting("separations")]::sepkerb2,way[highway][cycleway:both:separation:left=kerb][setting("separations")]::sepkerb2,way[highway][cycleway:left:separation=kerb][setting("separations")]::sepkerb2,way[highway][cycleway:left:separation:left=kerb][setting("separations")]::sepkerb2,way[highway=cycleway][separation:left=kerb][setting("separations")]::sepkerb2 {
        color: #333;
        width: 2;
        dashes: 51,5;
        offset: prop("offset")+6;
}

way::sepgreen1 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:separation=greenery][setting("separations")]::sepgreen1,way[highway][cycleway:both:separation:left=greenery][setting("separations")]::sepgreen1,way[highway][cycleway:right:separation=greenery][setting("separations")]::sepgreen1,way[highway][cycleway:right:separation:left=greenery][setting("separations")]::sepgreen1,way[highway=cycleway][separation:right=greenery][setting("separations")]::sepgreen1 {
        color: #080;
        width: 4;
        offset: prop("offset")-6;
}
way::sepgreen2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:separation=greenery][setting("separations")]::sepgreen2,way[highway][cycleway:both:separation:left=greenery][setting("separations")]::sepgreen2,way[highway][cycleway:left:separation=greenery][setting("separations")]::sepgreen2,way[highway][cycleway:left:separation:left=greenery][setting("separations")]::sepgreen2,way[highway=cycleway][separation:left=greenery][setting("separations")]::sepgreen2 {
        color: #080;
        width: 4;
        offset: prop("offset")+6;
}

way::sephedge1 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:separation=hedge][setting("separations")]::sephedge1,way[highway][cycleway:both:separation:left=hedge][setting("separations")]::sephedge1,way[highway][cycleway:right:separation=hedge][setting("separations")]::sephedge1,way[highway][cycleway:right:separation:left=hedge][setting("separations")]::sephedge1,way[highway=cycleway][separation:right=hedge][setting("separations")]::sephedge1 {
        color: #050;
        width: 5;
        dashes: 16,1;
        offset: prop("offset")-6;
}
way::sephedge2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:separation=hedge][setting("separations")]::sephedge2,way[highway][cycleway:both:separation:left=hedge][setting("separations")]::sephedge2,way[highway][cycleway:left:separation=hedge][setting("separations")]::sephedge2,way[highway][cycleway:left:separation:left=hedge][setting("separations")]::sephedge2,way[highway=cycleway][separation:left=hedge][setting("separations")]::sephedge2 {
        color: #050;
        width: 5;
        dashes: 16,1;
        offset: prop("offset")+6;
}

way::septree1 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:separation=tree_row][setting("separations")]::septree1,way[highway][cycleway:both:separation:left=tree_row][setting("separations")]::septree1,way[highway][cycleway:right:separation=tree_row][setting("separations")]::septree1,way[highway][cycleway:right:separation:left=tree_row][setting("separations")]::septree1,way[highway=cycleway][separation:right=tree_row][setting("separations")]::septree1 {
        color: #070;
        width: 8;
        dashes: 8,10;
        offset: prop("offset")-6;
}
way::septree2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:separation=tree_row][setting("separations")]::septree2,way[highway][cycleway:both:separation:left=tree_row][setting("separations")]::septree2,way[highway][cycleway:left:separation=tree_row][setting("separations")]::septree2,way[highway][cycleway:left:separation:left=tree_row][setting("separations")]::septree2,way[highway=cycleway][separation:left=tree_row][setting("separations")]::septree2 {
        color: #070;
        width: 8;
        dashes: 8,10;
        offset: prop("offset")+6;
}

/*MARKINGS*/
way::marklineleft1 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:marking=solid_line][setting("markings")]::marklineleft1,way[highway][cycleway:both:marking:left=solid_line][setting("markings")]::marklineleft1,way[highway][cycleway:right:marking=solid_line][setting("markings")]::marklineleft1,way[highway][cycleway:right:marking:left=solid_line][setting("markings")]::marklineleft1 {
        color: #fff;
        width: 1;
        offset: prop("offset")-6;
        z-index: 9;
}
way::marklineleft2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:marking=solid_line][setting("markings")]::marklineleft2,way[highway][cycleway:both:marking:left=solid_line][setting("markings")]::marklineleft2,way[highway][cycleway:left:marking=solid_line][setting("markings")]::marklineleft2,way[highway][cycleway:left:marking:left=solid_line][setting("markings")]::marklineleft2 {
        color: #fff;
        width: 1;
        offset: prop("offset")+6;
        z-index: 9;
}

way::markdoubleleft1 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:marking=double_solid_line][setting("markings")]::markdoubleleft1,way[highway][cycleway:both:marking:left=double_solid_line][setting("markings")]::markdoubleleft1,way[highway][cycleway:right:marking=double_solid_line][setting("markings")]::markdoubleleft1,way[highway][cycleway:right:marking:left=double_solid_line][setting("markings")]::markdoubleleft1,way[highway][cycleway:both:marking=barred_area][setting("markings")]::markdoubleleft1,way[highway][cycleway:right:marking=barred_area][setting("markings")]::markdoubleleft1,way[highway][cycleway:right:marking:left=barred_area][setting("markings")]::markdoubleleft1 {
        color: #fff;
        width: 1;
        offset: prop("offset")-4;
        z-index: 9;
}
way::markdoubleleft2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:marking=double_solid_line][setting("markings")]::markdoubleleft2,way[highway][cycleway:both:marking:left=double_solid_line][setting("markings")]::markdoubleleft2,way[highway][cycleway:left:marking=double_solid_line][setting("markings")]::markdoubleleft2,way[highway][cycleway:left:marking:left=double_solid_line][setting("markings")]::markdoubleleft2,way[highway][cycleway:both:marking=barred_area][setting("markings")]::markdoubleleft2,way[highway][cycleway:left:marking=barred_area][setting("markings")]::markdoubleleft2,way[highway][cycleway:left:marking:left=barred_area][setting("markings")]::markdoubleleft2 {
        color: #fff;
        width: 1;
        offset: prop("offset")+4;
        z-index: 9;
}

way::markdoubleleft3 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:marking=double_solid_line][setting("markings")]::markdoubleleft3,way[highway][cycleway:both:marking:left=double_solid_line][setting("markings")]::markdoubleleft3,way[highway][cycleway:right:marking=double_solid_line][setting("markings")]::markdoubleleft3,way[highway][cycleway:right:marking:left=double_solid_line][setting("markings")]::markdoubleleft3,way[highway][cycleway:both:marking=barred_area][setting("markings")]::markdoubleleft3,way[highway][cycleway:right:marking=barred_area][setting("markings")]::markdoubleleft3,way[highway][cycleway:right:marking:left=barred_area][setting("markings")]::markdoubleleft3 {
        color: #fff;
        width: 1;
        offset: prop("offset")-7;
        z-index: 9;
}
way::markdoubleleft4 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:marking=double_solid_line][setting("markings")]::markdoubleleft4,way[highway][cycleway:both:marking:left=double_solid_line][setting("markings")]::markdoubleleft4,way[highway][cycleway:left:marking=double_solid_line][setting("markings")]::markdoubleleft4,way[highway][cycleway:left:marking:left=double_solid_line][setting("markings")]::markdoubleleft4,way[highway][cycleway:both:marking=barred_area][setting("markings")]::markdoubleleft4,way[highway][cycleway:left:marking=barred_area][setting("markings")]::markdoubleleft4,way[highway][cycleway:left:marking:left=barred_area][setting("markings")]::markdoubleleft4 {
        color: #fff;
        width: 1;
        offset: prop("offset")+7;
        z-index: 9;
}

way::markdashleft1 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:marking=dashed_line][setting("markings")]::markdashleft1,way[highway][cycleway:both:marking:left=dashed_line][setting("markings")]::markdashleft1,way[highway][cycleway:right:marking=dashed_line][setting("markings")]::markdashleft1,way[highway][cycleway:right:marking:left=dashed_line][setting("markings")]::markdashleft1 {
        color: #fff;
        width: 1;
        dashes: 8,4;
        offset: prop("offset")-5;
        z-index: 9;
}
way::markdashleft2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:marking=dashed_line][setting("markings")]::markdashleft2,way[highway][cycleway:both:marking:left=dashed_line][setting("markings")]::markdashleft2,way[highway][cycleway:left:marking=dashed_line][setting("markings")]::markdashleft2,way[highway][cycleway:left:marking:left=dashed_line][setting("markings")]::markdashleft2 {
        color: #fff;
        width: 1;
        dashes: 8,4;
        offset: prop("offset")+5;
        z-index: 9;
}

way::markbarsleft1 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:marking=barred_area][setting("markings")]::markbarsleft1,way[highway][cycleway:both:marking:left=barred_area][setting("markings")]::markbarsleft1,way[highway][cycleway:right:marking=barred_area][setting("markings")]::markbarsleft1,way[highway][cycleway:right:marking:left=barred_area][setting("markings")]::markbarsleft1 {
        color: #fff;
        width: 2;
        dashes: 1,10;
        offset: prop("offset")-6;
        z-index: 10;
}
way::markbarsleft2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:marking=barred_area][setting("markings")]::markbarsleft2,way[highway][cycleway:both:marking:left=barred_area][setting("markings")]::markbarsleft2,way[highway][cycleway:left:marking=barred_area][setting("markings")]::markbarsleft2,way[highway][cycleway:left:marking:left=barred_area][setting("markings")]::markbarsleft2 {
        color: #fff;
        width: 2;
        dashes: 1,10;
        offset: prop("offset")+6;
        z-index: 9;
}

/*MARKINGS RIGHT*/
way::marklineright1 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:marking:right=solid_line][setting("markings")]::marklineright1,way[highway][cycleway:right:marking:right=solid_line][setting("markings")]::marklineright1 {
        color: #fff;
        width: 1;
        offset: prop("offset")-15;
        z-index: 9;
}
way::marklineright2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:marking:right=solid_line][setting("markings")]::marklineright2,way[highway][cycleway:left:marking:right=solid_line][setting("markings")]::marklineright2 {
        color: #fff;
        width: 1;
        offset: prop("offset")+15;
        z-index: 9;
}

way::markdoubleright1 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:marking:right=double_solid_line][setting("markings")]::markdoubleright1,way[highway][cycleway:right:marking:right=double_solid_line][setting("markings")]::markdoubleright1,way[highway][cycleway:both:marking:right=barred_area][setting("markings")]::markdoubleright1,way[highway][cycleway:right:marking:right=barred_area][setting("markings")]::markdoubleright1 {
        color: #fff;
        width: 1;
        offset: prop("offset")-14;
        z-index: 9;
}
way::markdoubleright2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:marking:right=double_solid_line][setting("markings")]::markdoubleright2,way[highway][cycleway:left:marking:right=double_solid_line][setting("markings")]::markdoubleright2,way[highway][cycleway:both:marking:right=barred_area][setting("markings")]::markdoubleright2,way[highway][cycleway:left:marking:right=barred_area][setting("markings")]::markdoubleright2 {
        color: #fff;
        width: 1;
        offset: prop("offset")+14;
        z-index: 9;
}

way::markdoubleright3 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:marking:right=double_solid_line][setting("markings")]::markdoubleright3,way[highway][cycleway:right:marking:right=double_solid_line][setting("markings")]::markdoubleright3,way[highway][cycleway:both:marking:right=barred_area][setting("markings")]::markdoubleright3,way[highway][cycleway:right:marking:right=barred_area][setting("markings")]::markdoubleright3 {
        color: #fff;
        width: 1;
        offset: prop("offset")-17;
        z-index: 9;
}
way::markdoubleright4 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:marking:right=double_solid_line][setting("markings")]::markdoubleright4,way[highway][cycleway:left:marking:right=double_solid_line][setting("markings")]::markdoubleright4,way[highway][cycleway:both:marking:right=barred_area][setting("markings")]::markdoubleright4,way[highway][cycleway:left:marking:right=barred_area][setting("markings")]::markdoubleright4 {
        color: #fff;
        width: 1;
        offset: prop("offset")+17;
        z-index: 9;
}

way::markdashright1 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:marking:right=dashed_line][setting("markings")]::markdashright1,way[highway][cycleway:right:marking:right=dashed_line][setting("markings")]::markdashright1 {
        color: #fff;
        width: 1;
        dashes: 8,4;
        offset: prop("offset")-15;
        z-index: 9;
}
way::markdashright2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:marking:right=dashed_line][setting("markings")]::markdashright2,way[highway][cycleway:left:marking:right=dashed_line][setting("markings")]::markdashright2 {
        color: #fff;
        width: 1;
        dashes: 8,4;
        offset: prop("offset")+15;
        z-index: 9;
}
way::markbarsright1 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:marking:right=barred_area][setting("markings")]::markbarsright1,way[highway][cycleway:right:marking:right=barred_area][setting("markings")]::markbarsright1 {
        color: #fff;
        width: 2;
        dashes: 1,10;
        offset: prop("offset")-16;
        z-index: 10;
}
way::markbarsright2 {
        offset: prop("offset", "base");
}
way[highway][cycleway:both:marking:right=barred_area][setting("markings")]::markbarsright2,way[highway][cycleway:left:marking:right=barred_area][setting("markings")]::markbarsright2 {
        color: #fff;
        width: 2;
        dashes: 1,10;
        offset: prop("offset")+16;
        z-index: 9;
}

/*PARKING*/
way::parkno {
        offset: prop("offset", "base");
}
way[highway][parking:both=no][setting("parking")]::parkno,way[highway][parking:right=no][setting("parking")]::parkno {
        color: #f00;
        dashes: 26,2;
        width: 5;
        offset: prop("offset")-15;
        opacity: 0.5;
}
way::parkno2 {
        offset: prop("offset", "base");
}
way[highway][parking:both=no][setting("parking")]::parkno2,way[highway][parking:left=no][setting("parking")]::parkno2 {
        color: #f00;
        dashes: 26,2;
        width: 5;
        offset: prop("offset")+15;
        opacity: 0.5;
}

way::parkparallel {
        offset: prop("offset", "base");
}
way[highway][parking:both=lane][parking:both:orientation=parallel][setting("parking")]::parkparallel,way[highway][parking:both=street_side][parking:both:orientation=parallel][setting("parking")]::parkparallel,way[highway][parking:right=lane][parking:right:orientation=parallel][setting("parking")]::parkparallel,way[highway][parking:right=street_side][parking:right:orientation=parallel][setting("parking")]::parkparallel {
        color: #ff0;
        dashes: 26,2;
        width: 5;
        offset: prop("offset")-15;
        opacity: 0.5;
}
way::parkparallel2 {
        offset: prop("offset", "base");
}
way[highway][parking:both=lane][parking:both:orientation=parallel][setting("parking")]::parkparallel2,way[highway][parking:both=street_side][parking:both:orientation=parallel][setting("parking")]::parkparallel2,way[highway][parking:left=lane][parking:left:orientation=parallel][setting("parking")]::parkparallel2,way[highway][parking:left=street_side][parking:left:orientation=parallel][setting("parking")]::parkparallel2 {
        color: #ff0;
        dashes: 26,2;
        width: 5;
        offset: prop("offset")+15;
        opacity: 0.5;
}

way::parkparallelold {
        offset: prop("offset", "base");
}
way[highway][parking:lane=parallel][setting("parking")]::parkparallelold,way[highway][parking:lane:both=parallel][setting("parking")]::parkparallelold,way[highway][parking:lane:right=parallel][setting("parking")]::parkparallelold {
        color: #f00;
        dashes: 26,2;
        width: 5;
        offset: prop("offset")-15;
        opacity: 0.8;
}
way::parkparallelold2 {
        offset: prop("offset", "base");
}
way[highway][parking:lane=parallel][setting("parking")]::parkparallelold2,way[highway][parking:lane:both=parallel][setting("parking")]::parkparallelold2,way[highway][parking:lane:left=parallel][setting("parking")]::parkparallelold2 {
        color: #f00;
        dashes: 26,2;
        width: 5;
        offset: prop("offset")+15;
        opacity: 0.8;
}

way::parkperp {
        offset: prop("offset", "base");
}
way[highway][parking:both=lane][parking:both:orientation=perpendicular][setting("parking")]::parkperp,way[highway][parking:both=street_side][parking:both:orientation=perpendicular][setting("parking")]::parkperp,way[highway][parking:right=lane][parking:right:orientation=perpendicular][setting("parking")]::parkperp,way[highway][parking:right=street_side][parking:right:orientation=perpendicular][setting("parking")]::parkperp {
        color: #ff0;
        dashes: 7,7;
        width: 14;
        offset: prop("offset")-15;
        opacity: 0.5;
}
way::parkperp2 {
        offset: prop("offset", "base");
}
way[highway][parking:both=lane][parking:both:orientation=perpendicular][setting("parking")]::parkperp2,way[highway][parking:both=street_side][parking:both:orientation=perpendicular][setting("parking")]::parkperp2,way[highway][parking:left=lane][parking:left:orientation=perpendicular][setting("parking")]::parkperp2,way[highway][parking:left=street_side][parking:left:orientation=perpendicular][setting("parking")]::parkperp2 {
        color: #ff0;
        dashes: 7,7;
        width: 14;
        offset: prop("offset")+15;
        opacity: 0.5;
}

way::parkperpold {
        offset: prop("offset", "base");
}
way[highway][parking:lane=perpendicular][setting("parking")]::parkperpold,way[highway][parking:lane:both=perpendicular][setting("parking")]::parkperpold,way[highway][parking:lane:right=perpendicular][setting("parking")]::parkperpold {
        color: #f00;
        dashes: 7,7;
        width: 14;
        offset: prop("offset")-15;
        opacity: 0.8;
}
way::parkperpold2 {
        offset: prop("offset", "base");
}
way[highway][parking:lane=perpendicular][setting("parking")]::parkperpold2,way[highway][parking:lane:both=perpendicular][setting("parking")]::parkperpold2,way[highway][parking:lane:left=perpendicular][setting("parking")]::parkperpold2 {
        color: #f00;
        dashes: 7,7;
        width: 14;
        offset: prop("offset")+15;
        opacity: 0.8;
}

way::parkdiag {
        offset: prop("offset", "base");
}
way[highway][parking:both=lane][parking:both:orientation=diagonal][setting("parking")]::parkdiag,way[highway][parking:both=street_side][parking:both:orientation=diagonal][setting("parking")]::parkdiag,way[highway][parking:right=lane][parking:right:orientation=diagonal][setting("parking")]::parkdiag,way[highway][parking:right=street_side][parking:right:orientation=diagonal][setting("parking")]::parkdiag {
        color: #fa0;
        dashes: 9,5;
        width: 10;
        offset: prop("offset")-15;
        opacity: 0.5;
}
way::parkdiag2 {
        offset: prop("offset", "base");
}
way[highway][parking:both=lane][parking:both:orientation=diagonal][setting("parking")]::parkdiag2,way[highway][parking:both=street_side][parking:both:orientation=diagonal][setting("parking")]::parkdiag2,way[highway][parking:left=lane][parking:left:orientation=diagonal][setting("parking")]::parkdiag2,way[highway][parking:left=street_side][parking:left:orientation=diagonal][setting("parking")]::parkdiag2 {
        color: #fa0;
        dashes: 9,5;
        width: 10;
        offset: prop("offset")+15;
        opacity: 0.5;
}

way::parkdiagold {
        offset: prop("offset", "base");
}
way[highway][parking:lane=diagonal][setting("parking")]::parkdiagold,way[highway][parking:lane:both=diagonal][setting("parking")]::parkdiagold,way[highway][parking:lane:right=diagonal][setting("parking")]::parkdiagold {
        color: #f00;
        dashes: 9,5;
        width: 10;
        offset: prop("offset")-15;
        opacity: 0.8;
}
way::parkdiagold2 {
        offset: prop("offset", "base");
}
way[highway][parking:lane=diagonal][setting("parking")]::parkdiagold2,way[highway][parking:lane:both=diagonal][setting("parking")]::parkdiagold2,way[highway][parking:lane:left=diagonal][setting("parking")]::parkdiagold2 {
        color: #f00;
        dashes: 9,5;
        width: 10;
        offset: prop("offset")+15;
        opacity: 0.8;
}

way[highway=cycleway] { z-index: 4; color: #00f; width: 2; dashes: 4,2; }

way[highway=~/footway|bridleway|path|track/][bicycle=yes]::bike { z-index: 0; color: #33f; opacity:0.5; width: 5; }
way[highway=~/footway|bridleway|path|track/][bicycle=permissive]::bike { z-index: 0; color: #33f;  opacity:0.5; width: 5; }
way[highway=~/footway|bridleway|path|track/][bicycle=designated]::bike { z-index: 0; color: #00f;  opacity:1; width: 5; }
way[highway=~/footway|bridleway|path|track/][bicycle=no]::bike { z-index: 0; color: #d00; width: 5; }

way[highway=steps][bicycle=yes]::bike { z-index: 0; color: #33f; width: 7; }
way[highway=steps][bicycle=permissive]::bike { z-index: 0; color: #33f; width: 7; }
way[highway=steps][bicycle=designated]::bike { z-index: 0; color: blue; width: 7; }
way[highway=steps][bicycle=no]::bike { z-index: 0; color: #d00; width: 7; }

way[highway=~/footway|bridleway|path|track/][bicycle=designated][segregated=yes]::bike,way[highway=cycleway][segregated=yes]::bike { z-index: 5; color: white; width: 2; dashes: 9,21;}
way[highway=~/footway|bridleway|path|track/][bicycle=designated][segregated=no]::bike,way[highway=cycleway][segregated=no]::bike { z-index: 5; color: red; width: 2; dashes: 9,21;}

way[highway=~/pedestrian|service|^primary|^secondary|^tertiary|^residential|^unclassified/][bicycle=yes]::bike { z-index: 7; color: blue; width: 2; dashes: 4,4;}
way[highway=~/pedestrian|service|^primary|^secondary|^tertiary|^residential|^unclassified/][bicycle=permissive]::bike { z-index: 6; color: blue; width: 2; dashes: 4,4;}
way[highway=~/pedestrian|service|^primary|^secondary|^tertiary|^residential|^unclassified/][bicycle=designated]::bike { z-index: 6; color: blue; width: 2; dashes: 4,4;}
way[highway=~/pedestrian|service|^primary|^secondary|^tertiary|^residential|^unclassified/][bicycle=no]::bike { z-index: 6; color: #d00; width: 2; dashes: 4,4;}
way[highway=~/service|^primary|^secondary|^tertiary|^residential|^unclassified/][bicycle_road=yes]::bike { z-index: 6; color: blue; width: 2; dashes: 4,10;}

way::sidepath {
        offset: prop("offset", "base");
}
way[highway=cycleway][is_sidepath=yes]::sidepath {
        color: greenyellow;
        dashes: 2,14;
        width: 5;
        offset: prop("offset")-5;
        major-z-index: -100;
}
way::sidepath2 {
        offset: prop("offset", "base");
}
way[highway=cycleway][is_sidepath=yes]::sidepath2 {
        color: greenyellow;
        dashes: 2,14;
        width: 5;
        offset: prop("offset")+5;
        major-z-index: -100;
}

way::nosidepath {
        offset: prop("offset", "base");
}
way[highway=cycleway][is_sidepath=no]::nosidepath {
        color: red;
        dashes: 2,14;
        width: 5;
        offset: prop("offset")-5;
        major-z-index: -100;
}
way::nosidepath2 {
        offset: prop("offset", "base");
}
way[highway=cycleway][is_sidepath=no]::nosidepath2 {
        color: red;
        dashes: 2,14;
        width: 5;
        offset: prop("offset")+5;
        major-z-index: -100;
}

Styles_CyclewaysStylingBNA-style.mapcss, Styles_CyclewaysStylingBNA.zip

Last modified 28 hours ago Last modified on 2025-12-29T17:21:21+01:00

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.