Skip to content
Permalink
6fdba624cf
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
3066 lines (2896 sloc) 99.2 KB
/* For the main linear features, such as roads and railways. */
//road colors for major roads were generated with scripts/generate_road_colors.py
@motorway-fill: #e892a2; // Lch(70,35,10), error 0.5
@trunk-fill: #f9b29c; // Lch(79,33,42), error 0.7
@primary-fill: #fcd6a4; // Lch(88,31,74), error 1.7
@secondary-fill: #f7fabf; // Lch(97,29,106), error 1.7
@tertiary-fill: #ffffff;
@residential-fill: #ffffff;
@service-fill: @residential-fill;
@living-street-fill: #ededed;
@pedestrian-fill: #dddde8;
@raceway-fill: pink;
@road-fill: #ddd;
@footway-fill: salmon;
@steps-fill: @footway-fill;
@cycleway-fill: blue;
@bridleway-fill: green;
@track-fill: #996600;
@aeroway-fill: #bbc;
@runway-fill: @aeroway-fill;
@taxiway-fill: @aeroway-fill;
@helipad-fill: @aeroway-fill;
@motorway-low-zoom: #e66e89; // Lch(62,50,10), error 0.7
@trunk-low-zoom: #fa9476; // Lch(72,50,42), error 0.8
@primary-low-zoom: #f8c171; // Lch(82,50,74), error 2.1
@secondary-low-zoom: #e6ef89; // Lch(92,50,106), error 2.2
@default-casing: white;
@motorway-casing: #dc2a67; // Lch(50,70,10), error 1.1
@trunk-casing: #c84e2f; // Lch(50,65,42), error 0.7
@primary-casing: #a06b00; // Lch(50,60,74), error 1.6
@secondary-casing: #707d05; // Lch(50,55,106), error 1.9
@tertiary-casing: #8f8f8f;
@residential-casing: #bbb;
@road-casing: @residential-casing;
@service-casing: @residential-casing;
@living-street-casing: @residential-casing;
@pedestrian-casing: #999;
@path-casing: @default-casing;
@footway-casing: @default-casing;
@steps-casing: @default-casing;
@cycleway-casing: @default-casing;
@bridleway-casing: @default-casing;
@track-casing: @default-casing;
@motorway-low-zoom-casing: #c24e6b; // Lch(50,50,10), error 0.8
@trunk-low-zoom-casing: #cf6649; // Lch(56,55,42), error 0.9
@primary-low-zoom-casing: #c38a27; // Lch(62,60,74), error 2.1
@secondary-low-zoom-casing: #9eae23; // Lch(68,65,106), error 2.3
@unimportant-road: @residential-casing;
@residential-construction: #aaa;
@service-construction: #aaa;
@destination-marking: #c2e0ff;
@private-marking: #efa9a9;
@private-marking-for-red: #C26363;
@tunnel-casing: grey;
@bridge-casing: black;
@motorway-tunnel-fill: lighten(@motorway-fill, 10%);
@trunk-tunnel-fill: lighten(@trunk-fill, 10%);
@primary-tunnel-fill: lighten(@primary-fill, 10%);
@secondary-tunnel-fill: lighten(@secondary-fill, 5%);
@tertiary-tunnel-fill: lighten(@tertiary-fill, 5%);
@residential-tunnel-fill: darken(@residential-fill, 5%);
@living-street-tunnel-fill: lighten(@living-street-fill, 10%);
@motorway-width-z5: 0.5;
@trunk-width-z5: 0.4;
@motorway-width-z7: 0.8;
@trunk-width-z7: 0.6;
@motorway-width-z8: 1;
@trunk-width-z8: 1;
@primary-width-z8: 1;
@motorway-width-z9: 1.4;
@trunk-width-z9: 1.4;
@primary-width-z9: 1.4;
@secondary-width-z9: 1;
@motorway-width-z10: 1.9;
@trunk-width-z10: 1.9;
@primary-width-z10: 1.8;
@secondary-width-z10: 1;
@motorway-width-z11: 2.0;
@trunk-width-z11: 1.9;
@primary-width-z11: 1.8;
@secondary-width-z11: 1;
@motorway-width-z12: 3.5;
@motorway-link-width-z12: 1.5;
@trunk-width-z12: 3.5;
@primary-width-z12: 3.5;
@secondary-width-z12: 3.5;
@tertiary-width-z12: 2.5;
@motorway-width-z13: 6;
@motorway-link-width-z13: 4;
@trunk-width-z13: 6;
@primary-width-z13: 5;
@secondary-width-z13: 5;
@tertiary-width-z13: 5;
@residential-width-z13: 3;
@living-street-width-z13: 2;
@pedestrian-width-z13: 2;
@bridleway-width-z13: 0.3;
@footway-width-z13: 0.7;
@cycleway-width-z13: 0.7;
@path-width-z13: 0.2;
@track-width-z13: 0.5;
@track-grade1-width-z13: 0.5;
@track-grade2-width-z13: 0.5;
@steps-width-z13: 0.7;
@secondary-width-z14: 5;
@tertiary-width-z14: 5;
@residential-width-z14: 3;
@living-street-width-z14: 3;
@pedestrian-width-z14: 3;
@road-width-z14: 2;
@service-width-z14: 2;
@motorway-width-z15: 10;
@motorway-link-width-z15: 7.8;
@trunk-width-z15: 10;
@primary-width-z15: 10;
@secondary-width-z15: 9;
@tertiary-width-z15: 9;
@residential-width-z15: 5;
@living-street-width-z15: 5;
@pedestrian-width-z15: 5;
@bridleway-width-z15: 1.2;
@footway-width-z15: 1;
@cycleway-width-z15: 0.9;
@path-width-z15: 0.5;
@track-width-z15: 1.5;
@track-grade1-width-z15: 0.75;
@track-grade2-width-z15: 0.75;
@steps-width-z15: 3;
@secondary-width-z16: 10;
@tertiary-width-z16: 10;
@residential-width-z16: 6;
@living-street-width-z16: 6;
@pedestrian-width-z16: 6;
@road-width-z16: 3.5;
@service-width-z16: 3.5;
@minor-service-width-z16: 2;
@footway-width-z16: 1.3;
@cycleway-width-z16: 0.9;
@motorway-width-z17: 18;
@motorway-link-width-z17: 12;
@trunk-width-z17: 18;
@primary-width-z17: 18;
@secondary-width-z17: 18;
@tertiary-width-z17: 18;
@residential-width-z17: 12;
@living-street-width-z17: 12;
@pedestrian-width-z17: 12;
@road-width-z17: 7;
@service-width-z17: 7;
@minor-service-width-z17: 3.5;
@motorway-width-z18: 21;
@motorway-link-width-z18: 13;
@trunk-width-z18: 21;
@primary-width-z18: 21;
@secondary-width-z18: 21;
@tertiary-width-z18: 21;
@residential-width-z18: 13;
@living-street-width-z18: 13;
@pedestrian-width-z18: 13;
@road-width-z18: 8.5;
@service-width-z18: 8.5;
@minor-service-width-z18: 4.75;
@motorway-width-z19: 27;
@motorway-link-width-z19: 16;
@trunk-width-z19: 27;
@primary-width-z19: 27;
@secondary-width-z19: 27;
@tertiary-width-z19: 27;
@residential-width-z19: 17;
@living-street-width-z19: 17;
@pedestrian-width-z19: 17;
@road-width-z19: 11;
@service-width-z19: 11;
@minor-service-width-z19: 5.5;
@footway-width-z18: 1.3;
@cycleway-width-z18: 1;
@footway-width-z19: 1.6;
@cycleway-width-z19: 1.3;
@major-casing-width-z11: 0.3;
@casing-width-z12: 0.1;
@secondary-casing-width-z12: 0.3;
@major-casing-width-z12: 0.5;
@casing-width-z13: 0.5;
@residential-casing-width-z13: 0.5;
@secondary-casing-width-z13: 0.35;
@major-casing-width-z13: 0.5;
@casing-width-z14: 0.55;
@secondary-casing-width-z14: 0.35;
@major-casing-width-z14: 0.6;
@casing-width-z15: 0.6;
@secondary-casing-width-z15: 0.7;
@major-casing-width-z15: 0.7;
@casing-width-z16: 0.6;
@secondary-casing-width-z16: 0.7;
@major-casing-width-z16: 0.7;
@casing-width-z17: 0.8;
@secondary-casing-width-z17: 1;
@major-casing-width-z17: 1;
@casing-width-z18: 0.8;
@secondary-casing-width-z18: 1;
@major-casing-width-z18: 1;
@casing-width-z19: 0.8;
@secondary-casing-width-z19: 1;
@major-casing-width-z19: 1;
@bridge-casing-width-z12: 0.1;
@major-bridge-casing-width-z12: 0.5;
@bridge-casing-width-z13: 0.5;
@major-bridge-casing-width-z13: 0.5;
@bridge-casing-width-z14: 0.5;
@major-bridge-casing-width-z14: 0.6;
@bridge-casing-width-z15: 0.75;
@major-bridge-casing-width-z15: 0.75;
@bridge-casing-width-z16: 0.75;
@major-bridge-casing-width-z16: 0.75;
@bridge-casing-width-z17: 0.8;
@major-bridge-casing-width-z17: 1;
@bridge-casing-width-z18: 0.8;
@major-bridge-casing-width-z18: 1;
@bridge-casing-width-z19: 0.8;
@major-bridge-casing-width-z19: 1;
@paths-background-width: 1;
@paths-bridge-casing-width: 0.5;
@paths-tunnel-casing-width: 1;
@junction-text-color: #960000;
@halo-color-for-minor-road: white;
@motorway-oneway-arrow-color: darken(@motorway-casing, 25%);
@trunk-oneway-arrow-color: darken(@trunk-casing, 25%);
@primary-oneway-arrow-color: darken(@primary-casing, 15%);
@secondary-oneway-arrow-color: darken(@secondary-casing, 10%);
@tertiary-oneway-arrow-color: darken(@tertiary-casing, 30%);
@residential-oneway-arrow-color: darken(@residential-casing, 40%);
@living-street-oneway-arrow-color: darken(@residential-casing, 30%);
@pedestrian-oneway-arrow-color: darken(@pedestrian-casing, 25%);
@raceway-oneway-arrow-color: darken(@raceway-fill, 50%);
@footway-oneway-arrow-color: darken(@footway-fill, 35%);
@steps-oneway-arrow-color: darken(@steps-fill, 35%);
@cycleway-oneway-arrow-color: darken(@cycleway-fill, 25%);
@track-oneway-arrow-color: darken(@track-fill, 15%);
@bridleway-oneway-arrow-color: darken(@track-fill, 10%);
@shield-size: 9;
@shield-size-z16: 10;
@shield-size-z18: 11;
@shield-spacing: 760;
@shield-min-distance: 40;
@shield-font: @book-fonts;
@shield-clip: false;
@shield-motorway-fill: #620728; // Lch(20,40,10), error 0.5
@shield-trunk-fill: #5d1b0b; // Lch(21,40,42), error 0.5
@shield-primary-fill: #4c2e00; // Lch(22,40,74), error 2.9
@shield-secondary-fill: #323b00; // Lch(23,40,106), error 3.4
@shield-tertiary-fill: #3b3b3b; // Lch(25,0,0), error 0.1
.roads-casing, .bridges-casing, .tunnels-casing {
::casing {
[zoom = 9][feature = 'highway_secondary'] {
line-color: @halo-color-for-minor-road;
line-width: 2.2;
line-opacity: 0.4;
line-join: round;
//Missing line-cap: round; is intentional. It would cause rendering glow multiple times in some places - what as result of partial transparency would cause differences in rendering
//Also, bridges - including bridge casings - are rendered on top of roads. Enabling line-cap: round would result in glow from bridges rendered on top of road around bridges.
}
[zoom = 10][feature = 'highway_secondary'],
[zoom = 11][feature = 'highway_secondary'] {
line-color: @halo-color-for-minor-road;
line-width: 2.7;
line-opacity: 0.4;
line-join: round;
//Missing line-cap: round; is intentional. It would cause rendering glow multiple times in some places - what as result of partial transparency would cause differences in rendering
//Also, bridges - including bridge casings - are rendered on top of roads. Enabling line-cap: round would result in glow from bridges rendered on top of road around bridges.
}
[zoom = 10][feature = 'highway_tertiary'],
[zoom = 11][feature = 'highway_tertiary'],
[zoom = 12][feature = 'highway_unclassified'] {
line-color: @halo-color-for-minor-road;
line-width: 2.2;
line-opacity: 0.3;
line-join: round;
//Missing line-cap: round; is intentional. It would cause rendering glow multiple times in some places - what as result of partial transparency would cause differences in rendering
//Also, bridges - including bridge casings are rendered on top of roads. Enabling line-cap: round would result in glow from bridges rendered on top of road around bridges.
}
[zoom >= 12] {
[feature = 'highway_motorway'] {
line-width: @motorway-width-z12;
[zoom >= 13] { line-width: @motorway-width-z13; }
[zoom >= 15] { line-width: @motorway-width-z15; }
[zoom >= 17] { line-width: @motorway-width-z17; }
[zoom >= 18] { line-width: @motorway-width-z18; }
[zoom >= 19] { line-width: @motorway-width-z19; }
[link = 'yes'] {
line-width: @motorway-link-width-z12;
[zoom >= 13] { line-width: @motorway-link-width-z13; }
[zoom >= 15] { line-width: @motorway-link-width-z15; }
[zoom >= 17] { line-width: @motorway-link-width-z17; }
[zoom >= 18] { line-width: @motorway-link-width-z18; }
[zoom >= 19] { line-width: @motorway-link-width-z19; }
}
line-color: @motorway-low-zoom-casing;
[zoom >= 13] {
line-color: @motorway-casing;
}
.roads-casing {
line-join: round;
line-cap: round;
}
.tunnels-casing {
line-dasharray: 4,2;
}
.bridges-casing {
line-join: round;
[zoom >= 13] { line-color: @bridge-casing; }
}
}
}
[feature = 'highway_trunk'] {
[zoom >= 12] {
line-color: @trunk-low-zoom-casing;
[zoom >= 13] {
line-color: @trunk-casing;
}
line-width: @trunk-width-z12;
[zoom >= 13] { line-width: @trunk-width-z13; }
[zoom >= 15] { line-width: @trunk-width-z15; }
[zoom >= 17] { line-width: @trunk-width-z17; }
[zoom >= 18] { line-width: @trunk-width-z18; }
[zoom >= 19] { line-width: @trunk-width-z19; }
.roads-casing {
line-join: round;
line-cap: round;
}
.tunnels-casing {
line-dasharray: 4,2;
}
.bridges-casing {
line-join: round;
[zoom >= 13] { line-color: @bridge-casing; }
}
}
}
[feature = 'highway_primary'] {
[zoom >= 12] {
line-color: @primary-low-zoom-casing;
[zoom >= 13] {
line-color: @primary-casing;
}
line-width: @primary-width-z12;
[zoom >= 13] { line-width: @primary-width-z13; }
[zoom >= 15] { line-width: @primary-width-z15; }
[zoom >= 17] { line-width: @primary-width-z17; }
[zoom >= 18] { line-width: @primary-width-z18; }
[zoom >= 19] { line-width: @primary-width-z19; }
.roads-casing {
line-join: round;
line-cap: round;
}
.tunnels-casing {
line-dasharray: 4,2;
}
.bridges-casing {
line-join: round;
[zoom >= 13] { line-color: @bridge-casing; }
}
}
}
[feature = 'highway_secondary'] {
[zoom >= 12] {
line-color: @secondary-low-zoom-casing;
[zoom >= 13] {
line-color: @secondary-casing;
}
line-width: @secondary-width-z12;
[zoom >= 13] { line-width: @secondary-width-z13; }
[zoom >= 14] { line-width: @secondary-width-z14; }
[zoom >= 15] { line-width: @secondary-width-z15; }
[zoom >= 16] { line-width: @secondary-width-z16; }
[zoom >= 17] { line-width: @secondary-width-z17; }
[zoom >= 18] { line-width: @secondary-width-z18; }
[zoom >= 19] { line-width: @secondary-width-z19; }
.roads-casing {
line-join: round;
line-cap: round;
}
.tunnels-casing {
line-dasharray: 4,2;
}
.bridges-casing {
[zoom >= 13] {
line-color: @bridge-casing;
line-join: round;
}
}
}
}
[feature = 'highway_tertiary'] {
[zoom >= 12] {
line-color: @tertiary-casing;
line-width: @tertiary-width-z12;
[zoom >= 13] { line-width: @tertiary-width-z13; }
[zoom >= 14] { line-width: @tertiary-width-z14; }
[zoom >= 15] { line-width: @tertiary-width-z15; }
[zoom >= 16] { line-width: @tertiary-width-z16; }
[zoom >= 17] { line-width: @tertiary-width-z17; }
[zoom >= 18] { line-width: @tertiary-width-z18; }
[zoom >= 19] { line-width: @tertiary-width-z19; }
.roads-casing {
line-join: round;
line-cap: round;
}
.tunnels-casing {
line-dasharray: 4,2;
}
.bridges-casing {
[zoom >= 14] {
line-color: @bridge-casing;
line-join: round;
}
}
}
}
[feature = 'highway_residential'],
[feature = 'highway_unclassified'] {
[zoom >= 13] {
line-color: @residential-casing;
line-width: @residential-width-z13;
[zoom >= 14] { line-width: @residential-width-z14; }
[zoom >= 15] { line-width: @residential-width-z15; }
[zoom >= 16] { line-width: @residential-width-z16; }
[zoom >= 17] { line-width: @residential-width-z17; }
[zoom >= 18] { line-width: @residential-width-z18; }
[zoom >= 19] { line-width: @residential-width-z19; }
.roads-casing {
line-join: round;
line-cap: round;
}
.tunnels-casing {
line-dasharray: 4,2;
}
.bridges-casing {
[zoom >= 14] {
line-color: @bridge-casing;
line-join: round;
}
}
}
}
[feature = 'highway_road'] {
[zoom >= 14] {
line-color: @road-casing;
line-width: @road-width-z14;
[zoom >= 16] { line-width: @road-width-z16; }
[zoom >= 17] { line-width: @road-width-z17; }
[zoom >= 18] { line-width: @road-width-z18; }
[zoom >= 19] { line-width: @road-width-z19; }
.roads-casing {
line-join: round;
line-cap: round;
}
.tunnels-casing {
line-dasharray: 4,2;
}
.bridges-casing {
line-color: @bridge-casing;
line-join: round;
}
}
}
[feature = 'highway_service'] {
[zoom >= 14][service = 'INT-normal'],
[zoom >= 16][service = 'INT-minor'] {
line-color: @service-casing;
[service = 'INT-normal'] {
line-width: @service-width-z14;
[zoom >= 16] { line-width: @service-width-z16; }
[zoom >= 17] { line-width: @service-width-z17; }
[zoom >= 18] { line-width: @service-width-z18; }
[zoom >= 19] { line-width: @service-width-z19; }
}
[service = 'INT-minor'] {
line-width: @minor-service-width-z16;
[zoom >= 17] { line-width: @minor-service-width-z17; }
[zoom >= 18] { line-width: @minor-service-width-z18; }
[zoom >= 19] { line-width: @minor-service-width-z19; }
}
.roads-casing {
line-join: round;
line-cap: round;
}
.tunnels-casing {
line-dasharray: 4,2;
}
.bridges-casing {
line-color: @bridge-casing;
line-join: round;
}
}
}
[feature = 'highway_pedestrian'] {
[zoom >= 13] {
line-color: @pedestrian-casing;
line-width: @pedestrian-width-z13;
[zoom >= 14] { line-width: @pedestrian-width-z14; }
[zoom >= 15] { line-width: @pedestrian-width-z15; }
[zoom >= 16] { line-width: @pedestrian-width-z16; }
[zoom >= 17] { line-width: @pedestrian-width-z17; }
[zoom >= 18] { line-width: @pedestrian-width-z18; }
[zoom >= 19] { line-width: @pedestrian-width-z19; }
.roads-casing {
line-join: round;
line-cap: round;
}
.tunnels-casing {
line-dasharray: 4,2;
}
.bridges-casing {
[zoom >= 14] {
line-color: @bridge-casing;
line-join: round;
}
}
}
}
[feature = 'highway_living_street'] {
[zoom >= 13] {
line-color: @living-street-casing;
line-width: @living-street-width-z13;
[zoom >= 14] { line-width: @living-street-width-z14; }
[zoom >= 15] { line-width: @living-street-width-z15; }
[zoom >= 16] { line-width: @living-street-width-z16; }
[zoom >= 17] { line-width: @living-street-width-z17; }
[zoom >= 18] { line-width: @living-street-width-z18; }
[zoom >= 19] { line-width: @living-street-width-z19; }
.roads-casing {
line-cap: round;
line-join: round;
}
.tunnels-casing {
line-dasharray: 4,2;
}
.bridges-casing {
[zoom >= 14] {
line-color: @bridge-casing;
line-join: round;
}
}
}
}
[feature = 'highway_steps'] {
.bridges-casing {
[zoom >= 14][access != 'no'],
[zoom >= 15] {
line-width: @steps-width-z13 + 2 * (@paths-background-width + @paths-bridge-casing-width);
[zoom >= 15] { line-width: @steps-width-z15 + 2 * (@paths-background-width + @paths-bridge-casing-width); }
line-color: @bridge-casing;
line-join: round;
}
}
.tunnels-casing {
[zoom >= 13][access != 'no'],
[zoom >= 15] {
line-width: @steps-width-z13 + 2 * (@paths-background-width + @paths-tunnel-casing-width);
[zoom >= 15] { line-width: @steps-width-z15 + 2 * (@paths-background-width + @paths-tunnel-casing-width); }
line-color: @tunnel-casing;
line-dasharray: 4,2;
}
}
}
[feature = 'highway_bridleway'],
[feature = 'highway_path'][horse = 'designated'] {
.bridges-casing {
[zoom >= 14][access != 'no'],
[zoom >= 15] {
line-width: @bridleway-width-z13 + 2 * (@paths-background-width + @paths-bridge-casing-width);
[zoom >= 15] { line-width: @bridleway-width-z15 + 2 * (@paths-background-width + @paths-bridge-casing-width); }
line-color: @bridge-casing;
line-join: round;
}
}
.tunnels-casing {
[zoom >= 13][access != 'no'],
[zoom >= 15] {
line-width: @bridleway-width-z13 + 2 * (@paths-background-width + @paths-tunnel-casing-width);
[zoom >= 15] { line-width: @bridleway-width-z15 + 2 * (@paths-background-width + @paths-tunnel-casing-width); }
line-color: @tunnel-casing;
line-dasharray: 4,2;
}
}
}
[feature = 'highway_footway'],
[feature = 'highway_path'][bicycle != 'designated'][horse != 'designated'] {
.bridges-casing {
[zoom >= 14][access != 'no'],
[zoom >= 15] {
line-width: @footway-width-z13 + 2 * (@paths-background-width + @paths-bridge-casing-width);
[zoom >= 15] { line-width: @footway-width-z15 + 2 * (@paths-background-width + @paths-bridge-casing-width); }
[zoom >= 16] { line-width: @footway-width-z16 + 2 * (@paths-background-width + @paths-bridge-casing-width); }
[zoom >= 18] { line-width: @footway-width-z18 + 2 * (@paths-background-width + @paths-bridge-casing-width); }
[zoom >= 19] { line-width: @footway-width-z19 + 2 * (@paths-background-width + @paths-bridge-casing-width); }
line-color: @bridge-casing;
line-join: round;
}
}
.tunnels-casing {
[zoom >= 14][access != 'no'],
[zoom >= 15] {
line-width: @footway-width-z13 + 2 * (@paths-background-width + @paths-tunnel-casing-width);
[zoom >= 15] { line-width: @footway-width-z15 + 2 * (@paths-background-width + @paths-tunnel-casing-width); }
[zoom >= 16] { line-width: @footway-width-z16 + 2 * (@paths-background-width + @paths-tunnel-casing-width); }
[zoom >= 18] { line-width: @footway-width-z18 + 2 * (@paths-background-width + @paths-tunnel-casing-width); }
[zoom >= 19] { line-width: @footway-width-z19 + 2 * (@paths-background-width + @paths-tunnel-casing-width); }
line-color: @tunnel-casing;
line-dasharray: 4,2;
}
}
}
[feature = 'highway_cycleway'],
[feature = 'highway_path'][bicycle = 'designated'] {
.bridges-casing {
[zoom >= 14][access != 'no'],
[zoom >= 15] {
line-width: @cycleway-width-z13 + 2 * (@paths-background-width + @paths-bridge-casing-width);
[zoom >= 15] { line-width: @cycleway-width-z15 + 2 * (@paths-background-width + @paths-bridge-casing-width); }
[zoom >= 16] { line-width: @cycleway-width-z16 + 2 * (@paths-background-width + @paths-bridge-casing-width); }
[zoom >= 18] { line-width: @cycleway-width-z18 + 2 * (@paths-background-width + @paths-bridge-casing-width); }
[zoom >= 19] { line-width: @cycleway-width-z19 + 2 * (@paths-background-width + @paths-bridge-casing-width); }
line-color: @bridge-casing;
line-join: round;
}
}
.tunnels-casing {
[zoom >= 13][access != 'no'],
[zoom >= 15] {
line-width: @cycleway-width-z13 + 2 * (@paths-background-width + @paths-tunnel-casing-width);
[zoom >= 15] { line-width: @cycleway-width-z15 + 2 * (@paths-background-width + @paths-tunnel-casing-width); }
[zoom >= 16] { line-width: @cycleway-width-z16 + 2 * (@paths-background-width + @paths-tunnel-casing-width); }
[zoom >= 18] { line-width: @cycleway-width-z18 + 2 * (@paths-background-width + @paths-tunnel-casing-width); }
[zoom >= 19] { line-width: @cycleway-width-z19 + 2 * (@paths-background-width + @paths-tunnel-casing-width); }
line-color: @tunnel-casing;
line-dasharray: 4,2;
}
}
}
[feature = 'highway_track'] {
.bridges-casing {
[zoom >= 13][access != 'no'] {
line-color: @bridge-casing;
line-join: round;
line-width: @track-width-z13 + 2 * (@paths-background-width + @paths-bridge-casing-width);
[tracktype = 'grade1'] {
line-width: @track-grade1-width-z13 + 2 * (@paths-background-width + @paths-bridge-casing-width);
}
[tracktype = 'grade2'] {
line-width: @track-grade2-width-z13 + 2 * (@paths-background-width + @paths-bridge-casing-width);
}
}
[zoom >= 15] {
line-width: @track-width-z15 + 2 * (@paths-background-width + @paths-bridge-casing-width);
[tracktype = 'grade1'] {
line-width: @track-grade1-width-z15 + 2 * (@paths-background-width + @paths-bridge-casing-width);
}
[tracktype = 'grade2'] {
line-width: @track-grade2-width-z15 + 2 * (@paths-background-width + @paths-bridge-casing-width);
}
}
}
.tunnels-casing {
[zoom >= 13][access != 'no'],
[zoom >= 15] {
line-color: @tunnel-casing;
line-dasharray: 4,2;
line-width: @track-width-z13 + 2 * (@paths-background-width + @paths-tunnel-casing-width);
[tracktype = 'grade1'] {
line-width: @track-grade1-width-z13 + 2 * (@paths-background-width + @paths-tunnel-casing-width);
}
[tracktype = 'grade2'] {
line-width: @track-grade2-width-z13 + 2 * (@paths-background-width + @paths-tunnel-casing-width);
}
[zoom >= 15]{
line-width: @track-width-z15 + 2 * (@paths-background-width + @paths-tunnel-casing-width);
[tracktype = 'grade1'] {
line-width: @track-grade1-width-z15 + 2 * (@paths-background-width + @paths-tunnel-casing-width);
}
[tracktype = 'grade2'] {
line-width: @track-grade2-width-z15 + 2 * (@paths-background-width + @paths-tunnel-casing-width);
}
}
}
}
}
[feature = 'railway_tram'],
[feature = 'railway_tram-service'][zoom >= 15] {
.bridges-casing {
[zoom >= 13] {
line-width: 4;
[zoom >= 15] {
line-width: 5;
}
line-color: @bridge-casing;
line-join: round;
}
}
}
[feature = 'railway_subway'] {
.bridges-casing {
[zoom >= 14] {
line-width: 5.5;
line-color: @bridge-casing;
line-join: round;
}
}
}
[feature = 'railway_light_rail'],
[feature = 'railway_funicular'],
[feature = 'railway_narrow_gauge'] {
.bridges-casing {
[zoom >= 14] {
line-width: 5.5;
line-color: @bridge-casing;
line-join: round;
}
}
}
[feature = 'railway_rail'],
[feature = 'railway_preserved'],
[feature = 'railway_monorail'][zoom >= 14] {
.bridges-casing {
[zoom >= 13] {
line-width: 6.5;
line-color: @bridge-casing;
line-join: round;
}
}
}
[feature = 'railway_INT-spur-siding-yard'] {
.bridges-casing {
[zoom >= 13] {
line-width: 5.7;
line-color: @bridge-casing;
line-join: round;
}
}
}
[feature = 'railway_disused'][zoom >= 15],
[feature = 'railway_construction'],
[feature = 'railway_miniature'][zoom >= 15],
[feature = 'railway_INT-preserved-ssy'][zoom >= 14] {
.bridges-casing {
[zoom >= 13] {
line-width: 6;
line-color: @bridge-casing;
line-join: round;
}
}
}
[feature = 'aeroway_runway'] {
.bridges-casing {
[zoom >= 14] {
line-width: 13;
[zoom >= 15] { line-width: 19; }
[zoom >= 16] { line-width: 25; }
line-color: @bridge-casing;
line-join: round;
}
}
}
[feature = 'aeroway_taxiway'] {
.bridges-casing {
[zoom >= 14] {
line-width: 5;
line-color: @bridge-casing;
line-join: round;
[zoom >= 15] { line-width: 7; }
}
}
}
}
::bridges_and_tunnels_background {
[feature = 'highway_bridleway'],
[feature = 'highway_path'][horse = 'designated'] {
.bridges-casing {
[zoom >= 14][access != 'no'],
[zoom >= 15] {
line-width: @bridleway-width-z13 + 2 * @paths-background-width;
[zoom >= 15] { line-width: @bridleway-width-z15 + 2 * @paths-background-width; }
line-color: @bridleway-casing;
line-join: round;
}
}
.tunnels-casing {
[zoom >= 13][access != 'no'],
[zoom >= 15] {
line-color: @bridleway-casing;
line-cap: round;
line-join: round;
line-width: @bridleway-width-z13 + 2 * @paths-background-width;
[zoom >= 15] { line-width: @bridleway-width-z15 + 2 * @paths-background-width; }
}
}
}
[feature = 'highway_footway'],
[feature = 'highway_path'][bicycle != 'designated'][horse != 'designated'] {
.bridges-casing {
[zoom >= 14][access != 'no'],
[zoom >= 15] {
line-width: @footway-width-z13 + 2 * @paths-background-width;
[zoom >= 15] { line-width: @footway-width-z15 + 2 * @paths-background-width; }
[zoom >= 16] { line-width: @footway-width-z16 + 2 * @paths-background-width; }
[zoom >= 18] { line-width: @footway-width-z18 + 2 * @paths-background-width; }
[zoom >= 19] { line-width: @footway-width-z19 + 2 * @paths-background-width; }
line-color: @footway-casing;
line-join: round;
}
}
.tunnels-casing {
[zoom >= 13][access != 'no'],
[zoom >= 15] {
line-color: @footway-casing;
line-cap: round;
line-join: round;
line-width: @footway-width-z13 + 2 * @paths-background-width;
[zoom >= 15] { line-width: @footway-width-z15 + 2 * @paths-background-width; }
[zoom >= 16] { line-width: @footway-width-z16 + 2 * @paths-background-width; }
[zoom >= 18] { line-width: @footway-width-z18 + 2 * @paths-background-width; }
[zoom >= 19] { line-width: @footway-width-z19 + 2 * @paths-background-width; }
}
}
}
[feature = 'highway_cycleway'],
[feature = 'highway_path'][bicycle = 'designated'] {
.bridges-casing {
[zoom >= 14][access != 'no'],
[zoom >= 15] {
line-width: @cycleway-width-z13 + 2 * @paths-background-width;
[zoom >= 15] { line-width: @cycleway-width-z15 + 2 * @paths-background-width; }
[zoom >= 16] { line-width: @cycleway-width-z16 + 2 * @paths-background-width; }
[zoom >= 18] { line-width: @cycleway-width-z18 + 2 * @paths-background-width; }
[zoom >= 19] { line-width: @cycleway-width-z19 + 2 * @paths-background-width; }
line-color: @cycleway-casing;
line-join: round;
}
}
.tunnels-casing {
[zoom >= 13][access != 'no'],
[zoom >= 15] {
line-color: @cycleway-casing;
line-cap: round;
line-join: round;
line-width: @cycleway-width-z13 + 2 * @paths-background-width;
[zoom >= 15] { line-width: @cycleway-width-z15 + 2 * @paths-background-width; }
[zoom >= 16] { line-width: @cycleway-width-z16 + 2 * @paths-background-width; }
[zoom >= 18] { line-width: @cycleway-width-z18 + 2 * @paths-background-width; }
[zoom >= 19] { line-width: @cycleway-width-z19 + 2 * @paths-background-width; }
}
}
}
[feature = 'highway_steps'] {
.bridges-casing {
[zoom >= 14][access != 'no'],
[zoom >= 15] {
line-width: @steps-width-z13 + 2 * @paths-background-width;
[zoom >= 15] { line-width: @steps-width-z15 + 2 * @paths-background-width; }
line-color: @steps-casing;
line-join: round;
}
}
.tunnels-casing {
[zoom >= 13][access != 'no'],
[zoom >= 15] {
line-color: @steps-casing;
line-cap: round;
line-join: round;
line-width: @steps-width-z13 + 2 * @paths-background-width;
[zoom >= 15] { line-width: @steps-width-z15 + 2 * @paths-background-width; }
}
}
}
[feature = 'highway_track'] {
/* We don't set opacity here, so it's 1.0. Aside from that, it's basically a copy of roads-fill::background in the track part of ::fill */
.bridges-casing {
[zoom >= 13][access != 'no'] {
line-color: @track-casing;
line-join: round;
line-width: @track-width-z13 + 2 * @paths-background-width;
[tracktype = 'grade1'] {
line-width: @track-grade1-width-z13 + 2 * @paths-background-width;
}
[tracktype = 'grade2'] {
line-width: @track-grade2-width-z13 + 2 * @paths-background-width;
}
}
[zoom >= 15] {
line-width: @track-width-z15 + 2 * @paths-background-width;
[tracktype = 'grade1'] {
line-width: @track-grade1-width-z15 + 2 * @paths-background-width;
}
[tracktype = 'grade2'] {
line-width: @track-grade2-width-z15 + 2 * @paths-background-width;
}
}
}
.tunnels-casing {
[zoom >= 13][access != 'no'],
[zoom >= 15] {
line-color: @track-casing;
line-join: round;
line-cap: round;
line-width: @track-width-z13 + 2 * @paths-background-width;
/* With the heavier dasharrays on grade1 and grade2 it helps to make the casing a bit larger */
[tracktype = 'grade1'] {
line-width: @track-grade1-width-z13 + 2 * @paths-background-width;
}
[tracktype = 'grade2'] {
line-width: @track-grade2-width-z13 + 2 * @paths-background-width;
}
[zoom >= 15] {
line-width: @track-width-z15 + 2 * @paths-background-width;
[tracktype = 'grade1'] {
line-width: @track-grade1-width-z15 + 2 * @paths-background-width;
}
[tracktype = 'grade2'] {
line-width: @track-grade2-width-z15 + 2 * @paths-background-width;
}
}
}
}
}
[feature = 'railway_rail'][zoom >= 13],
[feature = 'railway_preserved'][zoom >= 13],
[feature = 'railway_monorail'][zoom >= 14] {
.bridges-casing {
line-width: 5;
line-color: white;
line-join: round;
}
}
[feature = 'railway_INT-spur-siding-yard'] {
.bridges-casing {
[zoom >= 13] {
line-width: 4;
line-color: white;
line-join: round;
}
}
}
[feature = 'railway_disused'][zoom >= 15],
[feature = 'railway_construction'],
[feature = 'railway_miniature'][zoom >= 15],
[feature = 'railway_INT-preserved-ssy'][zoom >= 14] {
.bridges-casing {
[zoom >= 13] {
line-width: 4.5;
line-color: white;
line-join: round;
}
}
}
[feature = 'railway_tram'],
[feature = 'railway_tram-service'][zoom >= 15] {
.bridges-casing {
[zoom >= 13] {
line-width: 3;
[zoom >= 15] {
line-width: 4;
}
line-color: white;
}
}
}
[feature = 'railway_subway'] {
.bridges-casing {
[zoom >= 14] {
line-width: 4;
line-color: white;
line-join: round;
}
}
}
[feature = 'railway_light_rail'],
[feature = 'railway_funicular'],
[feature = 'railway_narrow_gauge'] {
.bridges-casing {
[zoom >= 14] {
line-width: 4;
line-color: white;
line-join: round;
}
}
}
}
}
/* Data on z<10 comes from osm_planet_roads, data on z>=10 comes from
osm_planet_line. This is for performance reasons: osm_planet_roads contains less
data, and is thus faster. Chosen is for zoom level 10 as cut-off, because
tertiary is rendered from z10 and is not included in osm_planet_roads. */
#roads-low-zoom[zoom < 10],
.roads-fill[zoom >= 10],
.bridges-fill[zoom >= 10],
.tunnels-fill[zoom >= 10] {
::fill {
/*
* The construction rules for small roads are strange, since if construction is null its assumed that
* it's a more major road. The line-width = 0 could be removed by playing with the query to set a construction
* string for non-small roads.
*
* Also note that these rules are quite sensitive to re-ordering, since the instances end up swapping round
* (and then the dashes appear below the fills). See
* https://github.com/gravitystorm/openstreetmap-carto/issues/23
* https://github.com/mapbox/carto/issues/235
* https://github.com/mapbox/carto/issues/237
*/
[feature = 'highway_construction'] {
[zoom >= 12] {
line-width: 2;
line-color: #9cc;
[construction = 'motorway'],
[construction = 'motorway_link'] {
line-color: @motorway-fill;
}
[construction = 'trunk'],
[construction = 'trunk_link'] {
line-color: @trunk-fill;
}
[construction = 'primary'],
[construction = 'primary_link'] {
line-color: @primary-fill;
}
[construction = 'secondary'],
[construction = 'secondary_link'] {
line-color: @secondary-fill;
}
[construction = 'tertiary'],
[construction = 'tertiary_link'],
[construction = 'residential'],
[construction = 'unclassified'],
[construction = 'living_street'] {
line-color: @residential-construction;
[zoom < 13] {
line-width: 0;
b/line-width: 0;
}
[zoom >= 13][zoom < 14] {
line-width: 3;
b/line-width: 2;
b/line-dasharray: 5,3;
}
}
[construction = 'service'] {
line-color: @service-construction;
[zoom < 14] {
line-width: 0;
b/line-width: 0;
}
}
b/line-width: 2;
b/line-dasharray: 4,2;
b/line-color: white;
[zoom >= 13] {
line-width: 4;
b/line-width: 3.5;
b/line-dasharray: 6,4;
}
[zoom >= 16] {
line-width: 8;
b/line-width: 7;
b/line-dasharray: 8,6;
}
[construction = 'footway'],
[construction = 'cycleway'],
[construction = 'bridleway'],
[construction = 'path'],
[construction = 'track'] {
[zoom < 14] {
line-width: 0;
b/line-width: 0;
}
line-color: white;
line-width: 3;
line-opacity: 0.4;
b/line-width: 1.2;
b/line-color: #69f;
b/line-dasharray: 2,6;
}
}
}
[feature = 'highway_motorway'] {
[zoom >= 5] {
line-color: @motorway-low-zoom;
line-width: @motorway-width-z5;
}
[zoom >= 7] { line-width: @motorway-width-z7; }
[zoom >= 8] { line-width: @motorway-width-z8; }
[zoom >= 9] { line-width: @motorway-width-z9; }
[zoom >= 10] { line-width: @motorway-width-z10; }
[zoom >= 11] { line-width: @motorway-width-z11; }
[zoom >= 12] {
line-color: @motorway-fill;
line-width: @motorway-width-z12 - 2 * @major-casing-width-z12;
[zoom >= 13] { line-width: @motorway-width-z13 - 2 * @major-casing-width-z13; }
[zoom >= 15] { line-width: @motorway-width-z15 - 2 * @major-casing-width-z15; }
[zoom >= 17] { line-width: @motorway-width-z17 - 2 * @major-casing-width-z17; }
[zoom >= 18] { line-width: @motorway-width-z18 - 2 * @major-casing-width-z18; }
[zoom >= 19] { line-width: @motorway-width-z19 - 2 * @major-casing-width-z19; }
[link = 'yes'] {
line-width: @motorway-link-width-z12 - 2 * @casing-width-z12;
[zoom >= 13] { line-width: @motorway-link-width-z13 - 2 * @casing-width-z13; }
[zoom >= 15] { line-width: @motorway-link-width-z15 - 2 * @casing-width-z15; }
[zoom >= 17] { line-width: @motorway-link-width-z17 - 2 * @casing-width-z17; }
[zoom >= 18] { line-width: @motorway-link-width-z18 - 2 * @casing-width-z18; }
[zoom >= 19] { line-width: @motorway-link-width-z19 - 2 * @casing-width-z19; }
}
.tunnels-fill {
line-color: @motorway-tunnel-fill;
}
.bridges-fill {
line-width: @motorway-width-z12 - 2 * @major-bridge-casing-width-z12;
[zoom >= 13] { line-width: @motorway-width-z13 - 2 * @major-bridge-casing-width-z13; }
[zoom >= 15] { line-width: @motorway-width-z15 - 2 * @major-bridge-casing-width-z15; }
[zoom >= 17] { line-width: @motorway-width-z17 - 2 * @major-bridge-casing-width-z17; }
[zoom >= 18] { line-width: @motorway-width-z18 - 2 * @major-bridge-casing-width-z18; }
[zoom >= 19] { line-width: @motorway-width-z19 - 2 * @major-bridge-casing-width-z19; }
[link = 'yes'] {
line-width: @motorway-link-width-z12 - 2 * @bridge-casing-width-z12;
[zoom >= 13] { line-width: @motorway-link-width-z13 - 2 * @bridge-casing-width-z13; }
[zoom >= 15] { line-width: @motorway-link-width-z15 - 2 * @bridge-casing-width-z15; }
[zoom >= 17] { line-width: @motorway-link-width-z17 - 2 * @bridge-casing-width-z17; }
[zoom >= 18] { line-width: @motorway-link-width-z18 - 2 * @bridge-casing-width-z18; }
[zoom >= 19] { line-width: @motorway-link-width-z19 - 2 * @bridge-casing-width-z19; }
}
}
line-cap: round;
line-join: round;
}
}
[feature = 'highway_trunk'] {
[zoom >= 5] {
line-width: @trunk-width-z5;
line-color: @trunk-low-zoom;
}
[zoom >= 7] { line-width: @trunk-width-z7; }
[zoom >= 8] { line-width: @trunk-width-z8; }
[zoom >= 9] { line-width: @trunk-width-z9; }
[zoom >= 10] { line-width: @trunk-width-z10; }
[zoom >= 11] { line-width: @trunk-width-z11; }
[zoom >= 12] {
line-color: @trunk-fill;
line-width: @trunk-width-z12 - 2 * @major-casing-width-z12;
[zoom >= 13] { line-width: @trunk-width-z13 - 2 * @major-casing-width-z13; }
[zoom >= 15] { line-width: @trunk-width-z15 - 2 * @major-casing-width-z15; }
[zoom >= 17] { line-width: @trunk-width-z17 - 2 * @major-casing-width-z17; }
[zoom >= 18] { line-width: @trunk-width-z18 - 2 * @major-casing-width-z18; }
[zoom >= 19] { line-width: @trunk-width-z19 - 2 * @major-casing-width-z19; }
.tunnels-fill {
line-color: @trunk-tunnel-fill;
}
.bridges-fill {
line-width: @trunk-width-z12 - 2 * @major-bridge-casing-width-z12;
[zoom >= 13] { line-width: @trunk-width-z13 - 2 * @major-bridge-casing-width-z13; }
[zoom >= 15] { line-width: @trunk-width-z15 - 2 * @major-bridge-casing-width-z15; }
[zoom >= 17] { line-width: @trunk-width-z17 - 2 * @major-bridge-casing-width-z17; }
[zoom >= 18] { line-width: @trunk-width-z18 - 2 * @major-bridge-casing-width-z18; }
[zoom >= 19] { line-width: @trunk-width-z19 - 2 * @major-bridge-casing-width-z19; }
}
line-cap: round;
line-join: round;
}
}
[feature = 'highway_primary'] {
[zoom >= 8] {
line-width: @primary-width-z8;
line-color: @primary-low-zoom;
}
[zoom >= 9] { line-width: @primary-width-z9; }
[zoom >= 10] { line-width: @primary-width-z10; }
[zoom >= 11] { line-width: @primary-width-z11; }
[zoom >= 12] {
line-color: @primary-fill;
line-width: @primary-width-z12 - 2 * @major-casing-width-z12;
[zoom >= 13] { line-width: @primary-width-z13 - 2 * @major-casing-width-z13; }
[zoom >= 15] { line-width: @primary-width-z15 - 2 * @major-casing-width-z15; }
[zoom >= 17] { line-width: @primary-width-z17 - 2 * @major-casing-width-z17; }
[zoom >= 18] { line-width: @primary-width-z18 - 2 * @major-casing-width-z18; }
[zoom >= 19] { line-width: @primary-width-z19 - 2 * @major-casing-width-z19; }
.tunnels-fill {
line-color: @primary-tunnel-fill;
}
.bridges-fill {
line-width: @primary-width-z12 - 2 * @major-bridge-casing-width-z12;
[zoom >= 13] { line-width: @primary-width-z13 - 2 * @major-bridge-casing-width-z13; }
[zoom >= 15] { line-width: @primary-width-z15 - 2 * @major-bridge-casing-width-z15; }
[zoom >= 17] { line-width: @primary-width-z17 - 2 * @major-bridge-casing-width-z17; }
[zoom >= 18] { line-width: @primary-width-z18 - 2 * @major-bridge-casing-width-z18; }
[zoom >= 19] { line-width: @primary-width-z19 - 2 * @major-bridge-casing-width-z19; }
}
line-cap: round;
line-join: round;
}
}
[feature = 'highway_secondary'] {
[zoom >= 9] {
line-color: @unimportant-road;
line-width: @secondary-width-z9;
}
[zoom >=10] {
line-color: @unimportant-road;
line-width: @secondary-width-z10;
}
[zoom >= 11] { line-width: @secondary-width-z11; }
[zoom >= 12] {
line-color: @secondary-fill;
line-width: @secondary-width-z12 - 2 * @secondary-casing-width-z12;
line-cap: round;
line-join: round;
[zoom >= 13] {
[zoom >= 13] { line-width: @secondary-width-z13 - 2 * @secondary-casing-width-z13; }
[zoom >= 14] { line-width: @secondary-width-z14 - 2 * @secondary-casing-width-z14; }
[zoom >= 15] { line-width: @secondary-width-z15 - 2 * @secondary-casing-width-z15; }
[zoom >= 16] { line-width: @secondary-width-z16 - 2 * @secondary-casing-width-z16; }
[zoom >= 17] { line-width: @secondary-width-z17 - 2 * @secondary-casing-width-z17; }
[zoom >= 18] { line-width: @secondary-width-z18 - 2 * @secondary-casing-width-z18; }
[zoom >= 19] { line-width: @secondary-width-z19 - 2 * @secondary-casing-width-z19; }
.tunnels-fill {
line-color: @secondary-tunnel-fill;
}
.bridges-fill {
line-width: @secondary-width-z12 - 2 * @bridge-casing-width-z12;
[zoom >= 13] { line-width: @secondary-width-z13 - 2 * @major-bridge-casing-width-z13; }
[zoom >= 14] { line-width: @secondary-width-z14 - 2 * @major-bridge-casing-width-z14; }
[zoom >= 15] { line-width: @secondary-width-z15 - 2 * @major-bridge-casing-width-z15; }
[zoom >= 16] { line-width: @secondary-width-z16 - 2 * @major-bridge-casing-width-z16; }
[zoom >= 17] { line-width: @secondary-width-z17 - 2 * @major-bridge-casing-width-z17; }
[zoom >= 18] { line-width: @secondary-width-z18 - 2 * @major-bridge-casing-width-z18; }
[zoom >= 19] { line-width: @secondary-width-z19 - 2 * @major-bridge-casing-width-z19; }
}
}
}
}
[feature = 'highway_tertiary'] {
[zoom >= 10] {
line-color: @unimportant-road;
line-width: 0.55;
}
[zoom >= 12] {
line-color: @tertiary-fill;
line-width: @tertiary-width-z12 - 2 * @casing-width-z12;
[zoom >= 13] { line-width: @tertiary-width-z13 - 2 * @casing-width-z13; }
[zoom >= 14] { line-width: @tertiary-width-z14 - 2 * @casing-width-z14; }
[zoom >= 15] { line-width: @tertiary-width-z15 - 2 * @casing-width-z15; }
[zoom >= 16] { line-width: @tertiary-width-z16 - 2 * @casing-width-z16; }
[zoom >= 17] { line-width: @tertiary-width-z17 - 2 * @casing-width-z17; }
[zoom >= 18] { line-width: @tertiary-width-z18 - 2 * @casing-width-z18; }
[zoom >= 19] { line-width: @tertiary-width-z19 - 2 * @casing-width-z19; }
.tunnels-fill {
line-color: @tertiary-tunnel-fill;
}
.bridges-fill {
line-width: @tertiary-width-z12 - 2 * @bridge-casing-width-z12;
[zoom >= 13] { line-width: @tertiary-width-z13 - 2 * @bridge-casing-width-z13; }
[zoom >= 14] { line-width: @tertiary-width-z14 - 2 * @bridge-casing-width-z14; }
[zoom >= 15] { line-width: @tertiary-width-z15 - 2 * @bridge-casing-width-z15; }
[zoom >= 16] { line-width: @tertiary-width-z16 - 2 * @bridge-casing-width-z16; }
[zoom >= 17] { line-width: @tertiary-width-z17 - 2 * @bridge-casing-width-z17; }
[zoom >= 18] { line-width: @tertiary-width-z18 - 2 * @bridge-casing-width-z18; }
[zoom >= 19] { line-width: @tertiary-width-z19 - 2 * @bridge-casing-width-z19; }
}
line-cap: round;
line-join: round;
}
}
[feature = 'highway_residential'],
[feature = 'highway_unclassified'] {
[zoom = 12][feature = 'highway_residential'] {
line-color: @unimportant-road;
line-width: 0.4;
}
[zoom = 12][feature = 'highway_unclassified'] {
line-color: @unimportant-road;
line-width: 1;
}
[zoom >= 13] {
line-width: @residential-width-z13 - 2 * @residential-casing-width-z13;
[zoom >= 14] { line-width: @residential-width-z14 - 2 * @casing-width-z14; }
[zoom >= 15] { line-width: @residential-width-z15 - 2 * @casing-width-z15; }
[zoom >= 16] { line-width: @residential-width-z16 - 2 * @casing-width-z16; }
[zoom >= 17] { line-width: @residential-width-z17 - 2 * @casing-width-z17; }
[zoom >= 18] { line-width: @residential-width-z18 - 2 * @casing-width-z18; }
[zoom >= 19] { line-width: @residential-width-z19 - 2 * @casing-width-z19; }
.roads-fill, .bridges-fill {
line-color: @residential-fill;
}
.tunnels-fill {
line-color: @residential-tunnel-fill;
}
.bridges-fill {
line-width: @residential-width-z13 - 2 * @bridge-casing-width-z13;
[zoom >= 14] { line-width: @residential-width-z14 - 2 * @bridge-casing-width-z14; }
[zoom >= 15] { line-width: @residential-width-z15 - 2 * @bridge-casing-width-z15; }
[zoom >= 16] { line-width: @residential-width-z16 - 2 * @bridge-casing-width-z16; }
[zoom >= 17] { line-width: @residential-width-z17 - 2 * @bridge-casing-width-z17; }
[zoom >= 18] { line-width: @residential-width-z18 - 2 * @bridge-casing-width-z18; }
[zoom >= 19] { line-width: @residential-width-z19 - 2 * @bridge-casing-width-z19; }
}
line-cap: round;
line-join: round;
}
}
[feature = 'highway_living_street'] {
[zoom >= 13] {
line-width: @living-street-width-z13 - 2 * @casing-width-z13;
[zoom >= 14] { line-width: @living-street-width-z14 - 2 * @casing-width-z14; }
[zoom >= 15] { line-width: @living-street-width-z15 - 2 * @casing-width-z15; }
[zoom >= 16] { line-width: @living-street-width-z16 - 2 * @casing-width-z16; }
[zoom >= 17] { line-width: @living-street-width-z17 - 2 * @casing-width-z17; }
[zoom >= 18] { line-width: @living-street-width-z18 - 2 * @casing-width-z18; }
[zoom >= 19] { line-width: @living-street-width-z19 - 2 * @casing-width-z19; }
.roads-fill, .bridges-fill {
line-color: @living-street-fill;
}
.tunnels-fill {
line-color: @living-street-tunnel-fill;
}
.bridges-fill {
line-width: @living-street-width-z13 - 2 * @casing-width-z13;
[zoom >= 14] { line-width: @living-street-width-z14 - 2 * @bridge-casing-width-z14; }
[zoom >= 15] { line-width: @living-street-width-z15 - 2 * @bridge-casing-width-z15; }
[zoom >= 16] { line-width: @living-street-width-z16 - 2 * @bridge-casing-width-z16; }
[zoom >= 17] { line-width: @living-street-width-z17 - 2 * @bridge-casing-width-z17; }
[zoom >= 18] { line-width: @living-street-width-z18 - 2 * @bridge-casing-width-z18; }
[zoom >= 19] { line-width: @living-street-width-z19 - 2 * @bridge-casing-width-z19; }
}
line-join: round;
line-cap: round;
}
}
[feature = 'highway_road'] {
[zoom >= 10] {
line-width: 1;
line-color: @unimportant-road;
line-join: round;
line-cap: round;
}
[zoom >= 14] {
line-width: @road-width-z14 - 2 * @casing-width-z14;
[zoom >= 16] { line-width: @road-width-z16 - 2 * @casing-width-z16; }
[zoom >= 17] { line-width: @road-width-z17 - 2 * @casing-width-z17; }
[zoom >= 18] { line-width: @road-width-z18 - 2 * @casing-width-z18; }
[zoom >= 19] { line-width: @road-width-z19 - 2 * @casing-width-z19; }
.roads-fill {
line-color: @road-fill;
}
.bridges-fill {
line-width: @road-width-z14 - 2 * @bridge-casing-width-z14;
[zoom >= 16] { line-width: @road-width-z16 - 2 * @bridge-casing-width-z16; }
[zoom >= 17] { line-width: @road-width-z17 - 2 * @bridge-casing-width-z17; }
[zoom >= 18] { line-width: @road-width-z18 - 2 * @bridge-casing-width-z18; }
[zoom >= 19] { line-width: @road-width-z19 - 2 * @bridge-casing-width-z19; }
line-color: @road-fill;
}
.tunnels-fill {
line-color: @road-fill;
}
}
}
[feature = 'highway_service'] {
[zoom >= 13][service = 'INT-normal'] {
line-width: 1;
line-color: @unimportant-road;
}
[zoom >= 14][service = 'INT-normal'],
[zoom >= 16][service = 'INT-minor'] {
line-color: @service-fill;
[service = 'INT-normal'] {
line-width: @service-width-z14 - 2 * @casing-width-z14;
[zoom >= 16] { line-width: @service-width-z16 - 2 * @casing-width-z16; }
[zoom >= 17] { line-width: @service-width-z17 - 2 * @casing-width-z17; }
[zoom >= 18] { line-width: @service-width-z18 - 2 * @casing-width-z18; }
[zoom >= 19] { line-width: @service-width-z19 - 2 * @casing-width-z19; }
}
[service = 'INT-minor'] {
line-width: @minor-service-width-z16 - 2 * @casing-width-z16;
[zoom >= 17] { line-width: @minor-service-width-z17 - 2 * @casing-width-z17; }
[zoom >= 18] { line-width: @minor-service-width-z18 - 2 * @casing-width-z18; }
[zoom >= 19] { line-width: @minor-service-width-z19 - 2 * @casing-width-z19; }
}
line-join: round;
line-cap: round;
.tunnels-fill {
line-color: darken(white, 5%);
}
.bridges-fill {
[service = 'INT-normal'] {
line-width: @service-width-z14 - 2 * @bridge-casing-width-z14;
[zoom >= 16] { line-width: @service-width-z16 - 2 * @bridge-casing-width-z16; }
[zoom >= 17] { line-width: @service-width-z17 - 2 * @bridge-casing-width-z17; }
[zoom >= 18] { line-width: @service-width-z18 - 2 * @bridge-casing-width-z18; }
[zoom >= 19] { line-width: @service-width-z19 - 2 * @bridge-casing-width-z19; }
}
[service = 'INT-minor'] {
line-width: @minor-service-width-z16 - 2 * @bridge-casing-width-z16;
[zoom >= 17] { line-width: @minor-service-width-z17 - 2 * @bridge-casing-width-z17; }
[zoom >= 18] { line-width: @minor-service-width-z18 - 2 * @bridge-casing-width-z18; }
[zoom >= 19] { line-width: @minor-service-width-z19 - 2 * @bridge-casing-width-z19; }
}
}
}
}
[feature = 'highway_pedestrian'] {
[zoom >= 13] {
line-width: @living-street-width-z13 - 2 * @casing-width-z13;
[zoom >= 14] { line-width: @pedestrian-width-z14 - 2 * @casing-width-z14; }
[zoom >= 15] { line-width: @pedestrian-width-z15 - 2 * @casing-width-z15; }
[zoom >= 16] { line-width: @pedestrian-width-z16 - 2 * @casing-width-z16; }
[zoom >= 17] { line-width: @pedestrian-width-z17 - 2 * @casing-width-z17; }
[zoom >= 18] { line-width: @pedestrian-width-z18 - 2 * @casing-width-z18; }
[zoom >= 19] { line-width: @pedestrian-width-z19 - 2 * @casing-width-z19; }
line-color: @pedestrian-fill;
.bridges-fill {
line-width: @pedestrian-width-z13 - 2 * @casing-width-z13;
[zoom >= 14] { line-width: @pedestrian-width-z14 - 2 * @bridge-casing-width-z14; }
[zoom >= 15] { line-width: @pedestrian-width-z15 - 2 * @bridge-casing-width-z15; }
[zoom >= 16] { line-width: @pedestrian-width-z16 - 2 * @bridge-casing-width-z16; }
[zoom >= 17] { line-width: @pedestrian-width-z17 - 2 * @bridge-casing-width-z17; }
[zoom >= 18] { line-width: @pedestrian-width-z18 - 2 * @bridge-casing-width-z18; }
[zoom >= 19] { line-width: @pedestrian-width-z19 - 2 * @bridge-casing-width-z19; }
}
line-join: round;
line-cap: round;
}
}
[feature = 'highway_raceway'] {
[zoom >= 12] {
line-color: @raceway-fill;
line-width: 1.2;
line-join: round;
line-cap: round;
}
[zoom >= 13] { line-width: 2; }
[zoom >= 14] { line-width: 3; }
[zoom >= 15] { line-width: 6; }
[zoom >= 18] { line-width: 8; }
[zoom >= 19] { line-width: 12; }
[zoom >= 20] { line-width: 24; }
}
[feature = 'highway_platform'] {
[zoom >= 16] {
line-join: round;
line-width: 6;
line-color: grey;
line-cap: round;
b/line-width: 4;
b/line-color: #bbbbbb;
b/line-cap: round;
b/line-join: round;
}
}
[feature = 'highway_steps'] {
[zoom >= 13][access != 'no'],
[zoom >= 15] {
.roads-fill[zoom >= 15] {
background/line-color: @steps-casing;
background/line-cap: round;
background/line-join: round;
background/line-width: @steps-width-z15 + 2 * @paths-background-width;
background/line-opacity: 0.4;
}
line/line-color: @steps-fill;
line/line-dasharray: 2,1;
line/line-width: @steps-width-z13;
[zoom >= 15] { line/line-width: @steps-width-z15; }
}
}
[feature = 'highway_bridleway'],
[feature = 'highway_path'][horse = 'designated'] {
[zoom >= 13][access != 'no'],
[zoom >= 15] {
.roads-fill[zoom >= 15] {
background/line-color: @bridleway-casing;
background/line-cap: round;
background/line-join: round;
background/line-width: @bridleway-width-z15 + 2 * @paths-background-width;
background/line-opacity: 0.4;
}
line/line-color: @bridleway-fill;
line/line-dasharray: 4,2;
line/line-width: @bridleway-width-z13;
[zoom >= 15] { line/line-width: @bridleway-width-z15; }
.tunnels-fill {
line/line-join: round;
line/line-cap: round;
}
}
}
[feature = 'highway_footway'],
[feature = 'highway_path'][bicycle != 'designated'][horse != 'designated'] {
[zoom >= 13][access != 'no'],
[zoom >= 15] {
.roads-fill[zoom >= 15] {
background/line-color: @footway-casing;
background/line-cap: round;
background/line-join: round;
background/line-width: @footway-width-z15 + 2 * @paths-background-width;
background/line-opacity: 0.4;
[zoom >= 16] {
background/line-width: @footway-width-z16 + 2 * @paths-background-width;
}
[zoom >= 18] {
background/line-width: @footway-width-z18 + 2 * @paths-background-width;
}
[zoom >= 19] {
background/line-width: @footway-width-z19 + 2 * @paths-background-width;
}
}
line/line-color: @footway-fill;
line/line-dasharray: 1,3;
line/line-join: round;
line/line-cap: round;
line/line-width: @footway-width-z13;
[zoom >= 15][int_surface = 'paved'] {
line/line-dasharray: 2,3.5;
line/line-width: @footway-width-z15;
[zoom >= 16] {
line/line-dasharray: 3,3.5;
line/line-width: @footway-width-z16;
}
[zoom >= 17] {
line/line-dasharray: 3,3;
}
[zoom >= 18] {
line/line-width: @footway-width-z18;
}
[zoom >= 19] {
line/line-width: @footway-width-z19;
}
}
[zoom >= 15][int_surface = null] {
line/line-color: @footway-fill;
line/line-dasharray: 1,3,2,4;
line/line-join: round;
line/line-cap: round;
line/line-width: @footway-width-z15;
[zoom >= 16] {
line/line-dasharray: 1,4,2,3;
line/line-width: @footway-width-z16;
}
[zoom >= 18] {
line/line-width: @footway-width-z18;
}
[zoom >= 19] {
line/line-width: @footway-width-z19;
}
}
[zoom >= 15][int_surface = 'unpaved'] {
line/line-color: @footway-fill;
line/line-dasharray: 1,4;
line/line-join: round;
line/line-cap: round;
line/line-width: @footway-width-z15;
[zoom >= 16] {
line/line-width: @footway-width-z16;
}
[zoom >= 18] {
line/line-width: @footway-width-z18;
}
[zoom >= 19] {
line/line-width: @footway-width-z19;
}
}
}
}
[feature = 'highway_cycleway'],
[feature = 'highway_path'][bicycle = 'designated'] {
[zoom >= 13][access != 'no'],
[zoom >= 15] {
.roads-fill[zoom >= 15] {
background/line-color: @cycleway-casing;
background/line-cap: round;
background/line-join: round;
background/line-width: @cycleway-width-z15 + 2 * @paths-background-width;
background/line-opacity: 0.4;
[zoom >= 16] {
background/line-width: @cycleway-width-z16 + 2 * @paths-background-width;
}
[zoom >= 18] {
background/line-width: @cycleway-width-z18 + 2 * @paths-background-width;
}
[zoom >= 19] {
background/line-width: @cycleway-width-z19 + 2 * @paths-background-width;
}
}
line/line-color: @cycleway-fill;
line/line-dasharray: 1,3;
line/line-join: round;
line/line-cap: round;
line/line-width: @cycleway-width-z13;
[zoom >= 15][int_surface = 'paved'] {
line/line-dasharray: 2,3.5;
line/line-width: @cycleway-width-z15;
[zoom >= 16] {
line/line-dasharray: 3,3.5;
line/line-width: @cycleway-width-z16;
}
[zoom >= 17] {
line/line-dasharray: 3,3;
}
[zoom >= 18] {
line/line-width: @cycleway-width-z18;
}
[zoom >= 19] {
line/line-width: @cycleway-width-z19;
}
}
[zoom >= 15][int_surface = null] {
line/line-color: @cycleway-fill;
line/line-dasharray: 1,3,2,4;
line/line-join: round;
line/line-cap: round;
line/line-width: @cycleway-width-z15;
[zoom >= 16] {
line/line-dasharray: 1,4,2,3;
line/line-width: @cycleway-width-z16;
}
[zoom >= 18] {
line/line-width: @cycleway-width-z18;
}
[zoom >= 19] {
line/line-width: @cycleway-width-z19;
}
}
[zoom >= 15][int_surface = 'unpaved'] {
line/line-color: @cycleway-fill;
line/line-dasharray: 1,4;
line/line-join: round;
line/line-cap: round;
line/line-width: @cycleway-width-z15;
[zoom >= 16] {
line/line-width: @cycleway-width-z16;
}
[zoom >= 18] {
line/line-width: @cycleway-width-z18;
}
[zoom >= 19] {
line/line-width: @cycleway-width-z19;
}
}
}
}
[feature = 'highway_track'] {
[zoom >= 13][access != 'no'],
[zoom >= 15] {
/* The white casing that you mainly see against forests and other dark features */
.roads-fill[zoom >= 15] {
background/line-opacity: 0.4;
background/line-color: @track-casing;
background/line-join: round;
background/line-cap: round;
background/line-width: @track-width-z15 + 2 * @paths-background-width;
/* With the heavier dasharrays on grade1 and grade2 it helps to make the casing a bit larger */
[tracktype = 'grade1'] {
background/line-width: @track-grade1-width-z15 + 2 * @paths-background-width;
}
[tracktype = 'grade2'] {
background/line-width: @track-grade2-width-z15 + 2 * @paths-background-width;
}
}
/* Set the properties of the brown inside */
line/line-color: @track-fill;
line/line-dasharray: 5,4,2,4;
line/line-cap: round;
line/line-join: round;
line/line-opacity: 0.8;
line/line-clip:false;
line/line-width: @track-width-z13;
[tracktype = 'grade1'] {
line/line-dasharray: 100,0;
}
[tracktype = 'grade2'] {
line/line-dasharray: 8.8,3.2;
}
[tracktype = 'grade3'] {
line/line-dasharray: 5.6,4.0;
}
[tracktype = 'grade4'] {
line/line-dasharray: 3.2,4.8;
}
[tracktype = 'grade5'] {
line/line-dasharray: 1.6,6.4;
}
[zoom >= 15] {
line/line-width: @track-width-z15;
[tracktype = 'grade1'] {
line/line-dasharray: 100,0;
}
[tracktype = 'grade2'] {
line/line-dasharray: 11,4;
}
[tracktype = 'grade3'] {
line/line-dasharray: 7,5;
}
[tracktype = 'grade4'] {
line/line-dasharray: 4,6;
}
[tracktype = 'grade5'] {
line/line-dasharray: 2,8;
}
}
}
}
[feature = 'railway_rail'][zoom >= 7],
[feature = 'railway_INT-spur-siding-yard'][zoom >= 13] {
[zoom < 13] {
line-color: #787878;
line-width: 0.5;
[zoom >= 8] { line-width: 0.8; }
[zoom >= 12] { line-width: 0.9; }
line-join: round;
.roads_low_zoom[int_tunnel = 'yes'], .tunnels-fill {
line-dasharray: 5,2;
}
}
[zoom >= 13] {
.roads-fill, .bridges-fill {
dark/line-join: round;
light/line-color: white;
light/line-join: round;
[feature = 'railway_rail'] {
dark/line-color: #787878;
dark/line-width: 3;
light/line-width: 1;
light/line-dasharray: 8,8;
[zoom >= 15] {
light/line-dasharray: 0,8,8,1;
}
[zoom >= 19] {
dark/line-width: 4;
light/line-width: 2;
}
}
[feature = 'railway_INT-spur-siding-yard'] {
dark/line-width: 2;
dark/line-color: #aaa;
light/line-width: 0.8;
light/line-dasharray: 0,8,8,1;
}
}
.tunnels-fill {
line-color: #787878;
line-width: 2.8;
line-dasharray: 6,4;
line-clip: false;
[feature = 'railway_INT-spur-siding-yard'] {
line-color: #aaa;
line-width: 1.9;
line-dasharray: 3,3;
}
[feature = 'railway_rail'][zoom >= 19] {
line-dasharray: 8,6;
line-width: 3.8;
}
}
}
}
[feature = 'railway_light_rail'],
[feature = 'railway_funicular'],
[feature = 'railway_narrow_gauge'] {
[zoom >= 8] {
line-color: #ccc;
[zoom >= 10] { line-color: #aaa; }
[zoom >= 13] { line-color: #666; }
line-width: 1;
[zoom >= 13] { line-width: 2; }
.tunnels-fill {
line-dasharray: 5,3;
}
}
}
[feature = 'railway_miniature'] {
[zoom >= 15] {
line/line-width: 1.2;
line/line-color: #999;
dashes/line-width: 3;
dashes/line-color: #999;
dashes/line-dasharray: 1,10;
}
}
[feature = 'railway_tram'],
[feature = 'railway_tram-service'][zoom >= 15] {
[zoom >= 12] {
line-color: #6E6E6E;
line-width: 0.75;
[zoom >= 13] {
line-color: #444;
}
[zoom >= 14] {
line-width: 1;
}
[zoom >= 15] {
line-width: 1.5;
[feature = 'railway_tram-service'] {
line-width: 0.5;
}
}
[zoom >= 17] {
line-width: 2;
[feature = 'railway_tram-service'] {
line-width: 1;
}
}
[zoom >= 18] {
[feature = 'railway_tram-service'] {
line-width: 1.5;
}
}
[zoom >= 19] {
[feature = 'railway_tram-service'] {
line-width: 2;
}
}
.tunnels-fill {
line-dasharray: 5,3;
}
}
}
[feature = 'railway_subway'] {
[zoom >= 12] {
line-width: 2;
line-color: #999;
.tunnels-fill {
line-dasharray: 5,3;
}
}
.bridges-fill {
[zoom >= 14] {
line-width: 2;
line-color: #999;
}
}
}
[feature = 'railway_preserved'] {
[zoom >= 12] {
dark/line-width: 1.5;
dark/line-color: #aaa;
dark/line-join: round;
[zoom >= 13] {
dark/line-width: 3;
dark/line-color: #999999;
light/line-width: 1;
light/line-color: white;
light/line-dasharray: 0,1,8,1;
light/line-join: round;
}
}
}
[feature = 'railway_INT-preserved-ssy'] {
[zoom >= 12] {
dark/line-width: 1;
dark/line-color: #aaa;
dark/line-join: round;
[zoom >= 13] {
dark/line-width: 2;
dark/line-color: #999999;
light/line-width: 0.8;
light/line-color: white;
light/line-dasharray: 0,1,8,1;
light/line-join: round;
}
}
}
[feature = 'railway_monorail'] {
[zoom >= 14] {
background/line-width: 4;
background/line-color: #fff;
background/line-opacity: 0.4;
background/line-cap: round;
background/line-join: round;
line/line-width: 3;
line/line-color: #777;
line/line-dasharray: 2,3;
line/line-cap: round;
line/line-join: round;
}
}
[feature = 'railway_construction'] {
[zoom >= 13] {
line-color: grey;
line-width: 2;
line-dasharray: 2,4;
line-join: round;
[zoom >= 14] {
line-dasharray: 2,3;
}
[zoom >= 15] {
line-width: 3;
line-dasharray: 3,3;
}
}
}
[feature = 'railway_disused'] {
[zoom >= 15] {
line-color: #aaa;
line-width: 2;
line-dasharray: 2,4;
line-join: round;
}
}
[feature = 'railway_platform'] {
[zoom >= 16] {
line-join: round;
line-width: 6;
line-color: grey;
line-cap: round;
b/line-width: 4;
b/line-color: #bbbbbb;
b/line-cap: round;
b/line-join: round;
}
}
[feature = 'railway_turntable'] {
[zoom >= 16] {
line-width: 1.5;
line-color: #999;
}
}
[feature = 'aeroway_runway'] {
[zoom >= 11] {
line-color: @runway-fill;
line-width: 2;
[zoom >= 12] { line-width: 4; }
[zoom >= 13] { line-width: 6; }
[zoom >= 14] { line-width: 12; }
[zoom >= 15] { line-width: 18; }
[zoom >= 16] { line-width: 24; }
}
}
[feature = 'aeroway_taxiway'] {
[zoom >= 11] {
line-color: @taxiway-fill;
line-width: 1;
[zoom >= 13] { line-width: 2; }
[zoom >= 14] { line-width: 4; }
[zoom >= 15] { line-width: 6; }
[zoom >= 16] { line-width: 8; }
}
}
}
}
#turning-circle-casing {
[int_tc_type = 'tertiary'][zoom >= 15] {
marker-fill: @tertiary-casing;
marker-width: (@tertiary-width-z15 - 2 * @casing-width-z15) * 1.8 + 2 * @casing-width-z15;
marker-height: (@tertiary-width-z15 - 2 * @casing-width-z15) * 1.8 + 2 * @casing-width-z15;
[zoom >= 16] {
marker-width: (@tertiary-width-z16 - 2 * @casing-width-z16) * 1.8 + 2 * @casing-width-z16;
marker-height: (@tertiary-width-z16 - 2 * @casing-width-z16) * 1.8 + 2 * @casing-width-z16;
}
[zoom >= 17] {
marker-width: (@tertiary-width-z17 - 2 * @casing-width-z17) * 1.8 + 2 * @casing-width-z17;
marker-height: (@tertiary-width-z17 - 2 * @casing-width-z17) * 1.8 + 2 * @casing-width-z17;
}
[zoom >= 18] {
marker-width: (@tertiary-width-z18 - 2 * @casing-width-z18) * 1.8 + 2 * @casing-width-z18;
marker-height: (@tertiary-width-z18 - 2 * @casing-width-z18) * 1.8 + 2 * @casing-width-z18;
}
[zoom >= 19] {
marker-width: (@tertiary-width-z19 - 2 * @casing-width-z19) * 1.8 + 2 * @casing-width-z19;
marker-height: (@tertiary-width-z19 - 2 * @casing-width-z19) * 1.8 + 2 * @casing-width-z19;
}
marker-allow-overlap: true;
marker-ignore-placement: true;
marker-line-width: 0;
}
[int_tc_type = 'residential'],
[int_tc_type = 'unclassified'] {
[zoom >= 15] {
marker-fill: @residential-casing;
marker-width: (@residential-width-z15 - 2 * @casing-width-z15) * 1.8 + 2 * @casing-width-z15;
marker-height: (@residential-width-z15 - 2 * @casing-width-z15) * 1.8 + 2 * @casing-width-z15;
[zoom >= 16] {
marker-width: (@residential-width-z16 - 2 * @casing-width-z16) * 1.8 + 2 * @casing-width-z16;
marker-height: (@residential-width-z16 - 2 * @casing-width-z16) * 1.8 + 2 * @casing-width-z16;
}
[zoom >= 17] {
marker-width: (@residential-width-z17 - 2 * @casing-width-z17) * 1.8 + 2 * @casing-width-z17;
marker-height: (@residential-width-z17 - 2 * @casing-width-z17) * 1.8 + 2 * @casing-width-z17;
}
[zoom >= 18] {
marker-width: (@residential-width-z18 - 2 * @casing-width-z18) * 1.8 + 2 * @casing-width-z18;
marker-height: (@residential-width-z18 - 2 * @casing-width-z18) * 1.8 + 2 * @casing-width-z18;
}
[zoom >= 19] {
marker-width: (@residential-width-z19 - 2 * @casing-width-z19) * 1.8 + 2 * @casing-width-z19;
marker-height: (@residential-width-z19 - 2 * @casing-width-z19) * 1.8 + 2 * @casing-width-z19;
}
marker-allow-overlap: true;
marker-ignore-placement: true;
marker-line-width: 0;
}
}
[int_tc_type = 'living_street'][zoom >= 15] {
marker-fill: @living-street-casing;
marker-width: 14;
marker-height: 14;
[zoom >= 16] {
marker-width: 18;
marker-height: 18;
}
[zoom >= 17] {
marker-width: 24;
marker-height: 24;
}
[zoom >= 18] {
marker-width: 27;
marker-height: 27;
}
[zoom >= 19] {
marker-width: 38;
marker-height: 38;
}
marker-allow-overlap: true;
marker-ignore-placement: true;
marker-line-width: 0;
}
[int_tc_type = 'service'][zoom >= 16] {
marker-fill: @service-casing;
[int_tc_service = 'INT-normal'] {
marker-width: 14;
marker-height: 14;
[zoom >= 17] {
marker-width: 16;
marker-height: 16;
}
[zoom >= 18] {
marker-width: 20;
marker-height: 20;
}
[zoom >= 19] {
marker-width: 30;
marker-height: 30;
}
}
[int_tc_service = 'INT-minor'] {
marker-width: 12;
marker-height: 12;
[zoom >= 19] {
marker-width: 16;
marker-height: 16;
}
}
marker-allow-overlap: true;
marker-ignore-placement: true;
marker-line-width: 0;
}
}
#turning-circle-fill {
[int_tc_type = 'tertiary'][zoom >= 15] {
marker-fill: @tertiary-fill;
marker-width: (@tertiary-width-z15 - 2 * @casing-width-z15) * 1.8;
marker-height: (@tertiary-width-z15 - 2 * @casing-width-z15) * 1.8;
[zoom >= 17] {
marker-width: (@tertiary-width-z17 - 2 * @casing-width-z17) * 1.8;
marker-height: (@tertiary-width-z17 - 2 * @casing-width-z17) * 1.8;
}
[zoom >= 18] {
marker-width: (@tertiary-width-z18 - 2 * @casing-width-z18) * 1.8;
marker-height: (@tertiary-width-z18 - 2 * @casing-width-z18) * 1.8;
}
[zoom >= 19] {
marker-width: (@tertiary-width-z19 - 2 * @casing-width-z19) * 1.8;
marker-height: (@tertiary-width-z19 - 2 * @casing-width-z19) * 1.8;
}
marker-allow-overlap: true;
marker-ignore-placement: true;
marker-line-width: 0;
}
[int_tc_type = 'residential'],
[int_tc_type = 'unclassified'] {
[zoom >= 15] {
marker-fill: @residential-fill;
marker-width: (@residential-width-z15 - 2 * @casing-width-z15) * 1.8;
marker-height: (@residential-width-z15 - 2 * @casing-width-z15) * 1.8;
[zoom >= 16] {
marker-width: (@residential-width-z16 - 2 * @casing-width-z16) * 1.8;
marker-height: (@residential-width-z16 - 2 * @casing-width-z16) * 1.8;
}
[zoom >= 17] {
marker-width: (@residential-width-z17 - 2 * @casing-width-z17) * 1.8;
marker-height: (@residential-width-z17 - 2 * @casing-width-z17) * 1.8;
}
[zoom >= 18] {
marker-width: (@residential-width-z18 - 2 * @casing-width-z18) * 1.8;
marker-height: (@residential-width-z18 - 2 * @casing-width-z18) * 1.8;
}
[zoom >= 19] {
marker-width: (@residential-width-z19 - 2 * @casing-width-z19) * 1.8;
marker-height: (@residential-width-z19 - 2 * @casing-width-z19) * 1.8;
}
marker-allow-overlap: true;
marker-ignore-placement: true;
marker-line-width: 0;
}
}
[int_tc_type = 'living_street'][zoom >= 15] {
marker-fill: @living-street-fill;
marker-width: 12;
marker-height: 12;
[zoom >= 16] {
marker-width: 16;
marker-height: 16;
}
[zoom >= 17] {
marker-width: 22;
marker-height: 22;
}
[zoom >= 18] {
marker-width: 25;
marker-height: 25;
}
[zoom >= 19] {
marker-width: 36;
marker-height: 36;
}
marker-allow-overlap: true;
marker-ignore-placement: true;
marker-line-width: 0;
}
[int_tc_type = 'service'][zoom >= 16] {
marker-fill: @service-fill;
[int_tc_service = 'INT-normal'] {
marker-width: 12;
marker-height: 12;
[zoom >= 17] {
marker-width: 14;
marker-height: 14;
}
[zoom >= 18] {
marker-width: 18;
marker-height: 18;
}
[zoom >= 19] {
marker-width: 28;
marker-height: 28;
}
}
[int_tc_service = 'INT-minor'] {
marker-width: 10;
marker-height: 10;
[zoom >= 19] {
marker-width: 14;
marker-height: 14;
}
}
marker-allow-overlap: true;
marker-ignore-placement: true;
marker-line-width: 0;
}
[int_tc_type = 'track'][zoom >= 15] {
marker-fill: @track-fill;
marker-width: 6;
marker-height: 6;
[zoom >= 17] {
marker-width: 10;
marker-height: 10;
}
marker-allow-overlap: true;
marker-ignore-placement: true;
marker-line-width: 0;
}
}
#highway-area-casing {
[feature = 'highway_residential'],
[feature = 'highway_unclassified'] {
[zoom >= 14] {
line-color: #999;
line-width: 1;
}
}
[feature = 'highway_pedestrian'],
[feature = 'highway_service'],
[feature = 'highway_footway'],
[feature = 'highway_cycleway'],
[feature = 'highway_path'] {
[zoom >= 14] {
line-color: grey;
line-width: 1;
}
}
[feature = 'highway_track'][zoom >= 14] {
line-color: @track-fill;
line-width: 1;
line-dasharray: 5,4,2,4;
line-cap: round;
line-join: round;
}
[feature = 'highway_platform'],
[feature = 'railway_platform'] {
[zoom >= 16] {
line-color: grey;
line-width: 2;
line-cap: round;
line-join: round;
}
}
}
#highway-area-fill {
[feature = 'highway_living_street'][zoom >= 14] {
polygon-fill: @living-street-fill;
}
[feature = 'highway_residential'],
[feature = 'highway_unclassified'],
[feature = 'highway_service'] {
[zoom >= 14] {
polygon-fill: #fff;
}
}
[feature = 'highway_pedestrian'],
[feature = 'highway_footway'],
[feature = 'highway_cycleway'],
[feature = 'highway_path'] {
[zoom >= 14] {
polygon-fill: @pedestrian-fill;
}
}
[feature = 'highway_track'][zoom >= 14] {
polygon-fill: #cdbea0;
}
[feature = 'highway_platform'],
[feature = 'railway_platform'] {
[zoom >= 16] {
polygon-fill: #bbbbbb;
polygon-gamma: 0.65;
}
}
[feature = 'aeroway_runway'][zoom >= 11] {
polygon-fill: @runway-fill;
}
[feature = 'aeroway_taxiway'][zoom >= 13] {
polygon-fill: @taxiway-fill;
}
[feature = 'aeroway_helipad'][zoom >= 16] {
polygon-fill: @helipad-fill;
}
}
#junctions {
[highway = 'motorway_junction'] {
[zoom >= 11] {
ref/text-name: "[ref]";
ref/text-size: 10;
ref/text-fill: @junction-text-color;
ref/text-min-distance: 2;
ref/text-face-name: @oblique-fonts;
ref/text-halo-radius: 1.5;
[zoom >= 12] {
name/text-name: "[name]";
name/text-size: 9;
name/text-fill: @junction-text-color;
name/text-dy: -9;
name/text-face-name: @oblique-fonts;
name/text-halo-radius: 1;
name/text-wrap-character: ";";
name/text-wrap-width: 2;
name/text-min-distance: 2;
}
[zoom >= 15] {
ref/text-size: 12;
name/text-size: 11;
name/text-dy: -10;
}
}
}
[junction = 'yes'],
[highway = 'traffic_signals'] {
[zoom >= 14] {
text-name: "[name]";
text-size: 8;
text-fill: black;
text-face-name: @book-fonts;
text-halo-radius: 1;
text-halo-fill: rgba(255,255,255,0.6);
text-wrap-width: 30;
text-min-distance: 2;
[zoom >= 14] {
text-size: 9;
}
[zoom >= 15] {
text-size: 10;
}
[zoom >= 17] {
text-size: 11;
/* Offset name on traffic_signals on zoomlevels where they are displayed
in order not to hide the text */
[highway = 'traffic_signals'] {
text-dy: 14;
}
}
}
}
}
#bridge-text {
[man_made = 'bridge'] {
[zoom >= 12][way_pixels > 62.5] {
text-name: "[name]";
text-size: 8;
text-fill: black;
text-face-name: @book-fonts;
text-halo-radius: 1;
text-halo-fill: rgba(255,255,255,0.6);
text-min-distance: 2;
text-wrap-width: 30;
[way_pixels > 250] {
text-size: 9;
}
[way_pixels > 1000] {
text-size: 11;
text-halo-radius: 1.5;
}
[way_pixels > 4000] {
text-size: 12;
}
[way_pixels > 16000] {
text-size: 13;
text-halo-radius: 2;
}
}
}
}
.access::fill {
[access = 'destination'] {
[feature = 'highway_secondary'],
[feature = 'highway_tertiary'],
[feature = 'highway_unclassified'],
[feature = 'highway_residential'],
[feature = 'highway_living_street'] {
[zoom >= 15] {
access/line-width: 6;
access/line-color: @destination-marking;
access/line-dasharray: 6,8;
access/line-opacity: 0.5;
access/line-join: round;
access/line-cap: round;
}
}
[feature = 'highway_road'],
[feature = 'highway_service'][service = 'INT-normal'] {
[zoom >= 15] {
access/line-width: 3;
access/line-color: @destination-marking;
access/line-dasharray: 6,8;
access/line-opacity: 0.5;
access/line-join: round;
access/line-cap: round;
[zoom >= 16] { access/line-width: 6; }
}
}
[feature = 'highway_service'][service = 'INT-minor'] {
[zoom >= 16] {
access/line-width: 2.5;
access/line-color: @destination-marking;
access/line-dasharray: 6,8;
access/line-opacity: 0.5;
access/line-join: round;
access/line-cap: round;
}
}
}
[access = 'no'] {
[feature = 'highway_motorway'],
[feature = 'highway_trunk'],
[feature = 'highway_primary'],
[feature = 'highway_secondary'],
[feature = 'highway_tertiary'],
[feature = 'highway_unclassified'],
[feature = 'highway_residential'],
[feature = 'highway_living_street'] {
[zoom >= 15] {
access/line-width: 6;
access/line-color: @private-marking;
access/line-dasharray: 6,8;
access/line-opacity: 0.5;
access/line-join: round;
access/line-cap: round;
[feature = 'highway_motorway'],
[feature = 'highway_trunk'],
[feature = 'highway_primary'] {
access/line-color: @private-marking-for-red;
}
}
}
[feature = 'highway_road'],
[feature = 'highway_track'],
[feature = 'highway_service'][service = 'INT-normal'] {
[zoom >= 15] {
access/line-width: 3;
access/line-color: @private-marking;
access/line-dasharray: 6,8;
access/line-opacity: 0.5;
access/line-join: round;
access/line-cap: round;
[zoom >= 16] { access/line-width: 6; }
}
}
[feature = 'highway_footway'],
[feature = 'highway_path'],
[feature = 'highway_cycleway'],
[feature = 'highway_bridleway'],
[feature = 'highway_steps'] {
[zoom >= 15] {
access/line-width: 5;
access/line-color: @private-marking;
access/line-dasharray: 6,8;
access/line-opacity: 0.5;
access/line-join: round;
access/line-cap: round;
}
}
[feature = 'highway_service'][service = 'INT-minor'][zoom >= 16] {
[zoom >= 15] {
access/line-width: 2.5;
access/line-color: @private-marking;
access/line-dasharray: 6,8;
access/line-opacity: 0.5;
access/line-join: round;
access/line-cap: round;
}
}
}
}
#guideways {
[zoom >= 13] {
line-width: 3;
line-color: #6666ff;
line-join: round;
b/line-width: 1;
b/line-color: white;
b/line-dasharray: 8,12;
b/line-join: round;
}
[zoom >= 14] {
b/line-dasharray: 0,11,8,1;
}
}
#roads-text-ref-low-zoom[zoom < 13] {
[highway = 'motorway'][zoom >= 10],
[highway = 'trunk'][zoom >= 11],
[highway = 'primary'][zoom >= 11],
[highway = 'secondary'][zoom >= 12] {
shield-name: "[refs]";
shield-size: @shield-size;
shield-placement: line;
shield-spacing: @shield-spacing;
shield-min-distance: @shield-min-distance;
shield-face-name: @shield-font;
shield-clip: @shield-clip;
[highway = 'motorway'] {
shield-fill: @shield-motorway-fill;
shield-file: url("symbols/shields/motorway_[width]x[height].svg");
}
[highway = 'trunk'] {
shield-fill: @shield-trunk-fill;
shield-file: url("symbols/shields/trunk_[width]x[height].svg");
}
[highway = 'primary'] {
shield-fill: @shield-primary-fill;
shield-file: url("symbols/shields/primary_[width]x[height].svg");
}
[highway = 'secondary'] {
shield-fill: @shield-secondary-fill;
shield-file: url("symbols/shields/secondary_[width]x[height].svg");
}
}
}
#roads-text-ref {
[highway = 'motorway'],
[highway = 'trunk'],
[highway = 'primary'],
[highway = 'secondary'],
[highway = 'tertiary'] {
[zoom >= 13] {
shield-name: "[refs]";
shield-size: @shield-size;
[zoom >= 16] {
shield-size: @shield-size-z16;
}
[zoom >= 18] {
shield-size: @shield-size-z18;
}
shield-placement: line;
shield-spacing: @shield-spacing;
shield-min-distance: @shield-min-distance;
shield-face-name: @shield-font;
shield-clip: @shield-clip;
[highway = 'motorway'] {
shield-fill: @shield-motorway-fill;
shield-file: url("symbols/shields/motorway_[width]x[height].svg");
[zoom >= 16] {
shield-file: url("symbols/shields/motorway_[width]x[height]_z16.svg");
}
[zoom >= 18] {
shield-file: url("symbols/shields/motorway_[width]x[height]_z18.svg");
}
}
[highway = 'trunk'] {
shield-fill: @shield-trunk-fill;
shield-file: url("symbols/shields/trunk_[width]x[height].svg");
[zoom >= 16] {
shield-file: url("symbols/shields/trunk_[width]x[height]_z16.svg");
}
[zoom >= 18] {
shield-file: url("symbols/shields/trunk_[width]x[height]_z18.svg");
}
}
[highway = 'primary'] {
shield-fill: @shield-primary-fill;
shield-file: url("symbols/shields/primary_[width]x[height].svg");
[zoom >= 16] {
shield-file: url("symbols/shields/primary_[width]x[height]_z16.svg");
}
[zoom >= 18] {
shield-file: url("symbols/shields/primary_[width]x[height]_z18.svg");
}
}
[highway = 'secondary'] {
shield-fill: @shield-secondary-fill;
shield-file: url("symbols/shields/secondary_[width]x[height].svg");
[zoom >= 16] {
shield-file: url("symbols/shields/secondary_[width]x[height]_z16.svg");
}
[zoom >= 18] {
shield-file: url("symbols/shields/secondary_[width]x[height]_z18.svg");
}
}
[highway = 'tertiary'] {
shield-fill: @shield-tertiary-fill;
shield-file: url("symbols/shields/tertiary_[width]x[height].svg");
[zoom >= 16] {
shield-file: url("symbols/shields/tertiary_[width]x[height]_z16.svg");
}
[zoom >= 18] {
shield-file: url("symbols/shields/tertiary_[width]x[height]_z18.svg");
}
}
}
}
[highway = 'unclassified'],
[highway = 'residential'] {
[zoom >= 15] {
text-name: "[refs]";
text-size: 8;
[zoom >= 16] {
text-size: 9;
}
[zoom >= 18] {
text-size: 10;
}
text-fill: #000;
text-face-name: @book-fonts;
text-min-distance: 40;
text-halo-radius: 2;
text-halo-fill: rgba(255,255,255,0.6);
text-spacing: 760;
text-clip: false;
}
}
[highway = 'runway'],
[highway = 'taxiway'] {
[zoom >= 15] {
text-name: "[refs]";
text-size: 10;
text-fill: #333;
text-spacing: 750;
text-clip: false;
text-placement: line;
text-min-distance: 18;
text-face-name: @book-fonts;
text-halo-radius: 1;
text-halo-fill: rgba(255,255,255,0.6);
}
}
}
#roads-text-name {
[highway = 'motorway'],
[highway = 'trunk'],
[highway = 'primary'] {
[zoom >= 13] {
text-name: "[name]";
text-size: 8;
text-fill: black;
text-spacing: 300;
text-clip: false;
text-placement: line;
text-face-name: @book-fonts;
[tunnel = 'no'] {
text-halo-radius: 1;
[highway = 'motorway'] { text-halo-fill: @motorway-fill; }
[highway = 'trunk'] { text-halo-fill: @trunk-fill; }
[highway = 'primary'] { text-halo-fill: @primary-fill; }
}
}
[zoom >= 14] {
text-size: 9;
}
[zoom >= 15] {
text-size: 10;
}
[zoom >= 17] {
text-size: 11;
}
[zoom >= 19] {
text-size: 12;
}
}
[highway = 'secondary'] {
[zoom >= 13] {
text-name: "[name]";
text-size: 8;
text-fill: black;
text-spacing: 300;
text-clip: false;
text-placement: line;
text-face-name: @book-fonts;
text-halo-radius: 1;
text-halo-fill: @secondary-fill;
}
[zoom >= 14] {
text-size: 9;
}
[zoom >= 15] {
text-size: 10;
}
[zoom >= 17] {
text-size: 11;
}
[zoom >= 19] {
text-size: 12;
}
}
[highway = 'tertiary'],
[highway = 'tertiary_link'] {
[zoom >= 14] {
text-name: "[name]";
text-size: 9;
text-fill: black;
text-spacing: 300;
text-clip: false;
text-placement: line;
text-face-name: @book-fonts;
text-halo-radius: 1;
text-halo-fill: @tertiary-fill;
}
[zoom >= 17] {
text-size: 11;
}
[zoom >= 19] {
text-size: 12;
}
}
[highway = 'construction'] {
[int_construction_minor = 'no'][zoom >= 13],
[int_construction_minor = 'yes'][zoom >= 14] {
text-name: "[name]";
text-size: 9;
text-fill: black;
text-spacing: 300;
text-clip: false;
text-placement: line;
text-halo-radius: 1;
text-halo-fill: rgba(255,255,255,0.6);
text-face-name: @book-fonts;
[zoom >= 17] {
text-size: 11;
}
[zoom >= 19] {
text-size: 12;
}
}
}
[highway = 'residential'],
[highway = 'unclassified'],
[highway = 'road'] {
[zoom >= 15] {
text-name: "[name]";
text-size: 8;
text-fill: black;
text-spacing: 300;
text-clip: false;
text-placement: line;
text-halo-radius: 1;
text-halo-fill: @residential-fill;
text-face-name: @book-fonts;
}
[zoom >= 16] {
text-size: 9;
}
[zoom >= 17] {
text-size: 11;
text-spacing: 400;
}
[zoom >= 19] {
text-size: 12;
text-spacing: 400;
}
}
[highway = 'raceway'],
[highway = 'service'] {
[zoom >= 16] {
text-name: "[name]";
text-size: 9;
text-fill: black;
text-spacing: 300;
text-clip: false;
text-placement: line;
text-halo-radius: 1;
[highway = 'raceway'] { text-halo-fill: @raceway-fill; }
[highway = 'service'] { text-halo-fill: @service-fill; }
text-face-name: @book-fonts;
}
[zoom >= 17] {
text-size: 11;
}
}
[highway = 'living_street'],
[highway = 'pedestrian'] {
[zoom >= 15] {
text-name: "[name]";
text-size: 8;
text-fill: black;
text-spacing: 300;
text-clip: false;
text-placement: line;
text-halo-radius: 1;
[highway = 'living_street'] { text-halo-fill: @living-street-fill; }
[highway = 'pedestrian'] { text-halo-fill: @pedestrian-fill; }
text-face-name: @book-fonts;
}
[zoom >= 16] {
text-size: 9;
}
[zoom >= 17] {
text-size: 11;
}
[zoom >= 19] {
text-size: 12;
}
}
}
#roads-area-text-name {
[way_pixels > 3000],
[zoom >= 17] {
[zoom >= 15] {
text-name: "[name]";
text-size: 8;
text-face-name: @book-fonts;
text-placement: interior;
text-wrap-width: 30;
}
[zoom >= 16] {
text-size: 9;
}
[zoom >= 17] {
text-size: 11;
}
}
}
#paths-text-name {
[highway = 'track'] {
[zoom >= 15] {
text-name: "[name]";
text-fill: #222;
text-size: 8;
text-halo-radius: 1;
text-halo-fill: rgba(255,255,255,0.6);
text-spacing: 300;
text-clip: false;
text-placement: line;
text-face-name: @book-fonts;
text-vertical-alignment: middle;
text-dy: 5;
}
[zoom >= 16] {
text-size: 9;
text-dy: 7;
}
[zoom >= 17] {
text-size: 11;
text-dy: 9;
}
}
[highway = 'bridleway'],
[highway = 'footway'],
[highway = 'cycleway'],
[highway = 'path'],
[highway = 'steps'] {
[zoom >= 16] {
text-name: "[name]";
text-fill: #222;
text-size: 9;
text-halo-radius: 1;
text-halo-fill: rgba(255,255,255,0.6);
text-spacing: 300;
text-clip: false;
text-placement: line;
text-face-name: @book-fonts;
text-vertical-alignment: middle;
text-dy: 7;
}
[zoom >= 17] {
text-size: 11;
text-dy: 9;
}
}
}
.directions::directions {
[zoom >= 16] {
// intentionally omitting highway_platform, highway_construction
[feature = 'highway_motorway'],
[feature = 'highway_motorway_link'],
[feature = 'highway_trunk'],
[feature = 'highway_trunk_link'],
[feature = 'highway_primary'],
[feature = 'highway_primary_link'],
[feature = 'highway_secondary'],
[feature = 'highway_secondary_link'],
[feature = 'highway_tertiary'],
[feature = 'highway_tertiary_link'],
[feature = 'highway_residential'],
[feature = 'highway_unclassified'],
[feature = 'highway_living_street'],
[feature = 'highway_road'],
[feature = 'highway_service'],
[feature = 'highway_pedestrian'],
[feature = 'highway_raceway'],
[feature = 'highway_cycleway'],
[feature = 'highway_footway'],
[feature = 'highway_path'],
[feature = 'highway_steps'],
[feature = 'highway_track'],
[feature = 'highway_bridleway'] {
[oneway = 'yes'],
[oneway = '-1'] {
marker-placement: line;
marker-spacing: 180;
marker-max-error: 0.5;
marker-file: url('symbols/oneway.svg');
[oneway = '-1'] {
marker-file: url('symbols/oneway-reverse.svg');
}
[feature = 'highway_motorway'],
[feature = 'highway_motorway_link'] {
marker-fill: @motorway-oneway-arrow-color;
}
[feature = 'highway_trunk'],
[feature = 'highway_trunk_link'] {
marker-fill: @trunk-oneway-arrow-color;
}
[feature = 'highway_primary'],
[feature = 'highway_primary_link'] {
marker-fill: @primary-oneway-arrow-color;
}
[feature = 'highway_secondary'],
[feature = 'highway_secondary_link'] {
marker-fill: @secondary-oneway-arrow-color;
}
[feature = 'highway_tertiary'],
[feature = 'highway_tertiary_link'] {
marker-fill: @tertiary-oneway-arrow-color;
}
[feature = 'highway_residential'],
[feature = 'highway_unclassified'],
[feature = 'highway_road'],
[feature = 'highway_service'] {
marker-fill: @residential-oneway-arrow-color;
}
[feature = 'highway_living_street'] {
marker-fill: @living-street-oneway-arrow-color;
}
[feature = 'highway_pedestrian'] {
marker-fill: @pedestrian-oneway-arrow-color;
}
[feature = 'highway_raceway'] {
marker-fill: @raceway-oneway-arrow-color;
}
[feature = 'highway_footway'],
[feature = 'highway_path'] {
marker-fill: @footway-oneway-arrow-color;
}
[feature = 'highway_steps'] {
marker-fill: @steps-oneway-arrow-color;
}
[feature = 'highway_cycleway'] {
marker-fill: @cycleway-oneway-arrow-color;
}
[feature = 'highway_track'] {
marker-fill: @track-oneway-arrow-color;
}
[feature = 'highway_bridleway'] {
marker-fill: @bridleway-oneway-arrow-color;
}
}
}
}
}