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
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
Attachments (2)
-
cyclewaylegend.2.jpg
(312.5 KB
) - added by 3 years ago.
Legend for Cycleways Styling (BNA) style (NOZIP)
-
cyclestylelegend3.jpg
(789.6 KB
) - added by 28 hours ago.
Legend for Cycleways Styling (BNA) style (NOZIP)
Download all attachments as: .zip



