8 /* ==================================================================
10 /* ================================================================== */
12 /* At lower zoomlevels, just show major automobile routes: motorways
15 #roads_low[zoom>=5][zoom<=8] {
16 [type='motorway'] { line-color: @motorway_line; }
17 [type='trunk'] { line-color: @motorway_line; }
19 [type='motorway'] { line-width: 0.4; }
20 [type='trunk'] { line-width: 0.2; } }
22 [type='motorway'] { line-width: 0.5; }
23 [type='trunk'] { line-width: 0.25; } }
25 [type='motorway'] { line-width: 0.6; }
26 [type='trunk'] { line-width: 0.3; } }
28 [type='motorway'] { line-width: 1; }
29 [type='trunk'] { line-width: 0.5; } }
32 /* At mid-level scales start to show primary and secondary routes
35 #roads_med[zoom>=9][zoom<=10] {
37 [type='motorway_link'] {
38 line-color: @motorway_line;
42 line-color: @motorway_line;
44 [type='primary'] { line-color: @primary_line; }
45 [type='secondary'] { line-color: @secondary_line; }
46 [type='tertiary'] { line-color: @standard_line; }
48 [type='motorway'],[type='trunk'] { line-width: 1.4; }
49 [type='primary'],[type='secondary'],
50 [type='motorway_link'],[type='trunk_link'] { line-width: 0.6; }
53 [type='motorway'],[type='trunk'] { line-width: 1.8; }
54 [type='primary'],[type='secondary'],
55 [type='motorway_link'],[type='trunk_link'] { line-width: 0.8; }
59 /* Road width variables that are used in road & bridge styles */
60 @r11_motorway: 3; @r11_main: 3; @r11_inter: 1.5; @r11_minor: 0; @r11_narrow: 0; @r11_noauto: 0;
61 @r12_motorway: 4; @r12_main: 3.5; @r12_inter: 2; @r12_minor: 0; @r12_narrow: 0; @r12_noauto: 0;
62 @r13_motorway: 5; @r13_main: 4.5; @r13_inter: 3.5; @r13_minor: 2.5; @r13_narrow: 1.5; @r13_noauto: 0;
63 @r14_motorway: 5; @r14_main: 4.5; @r14_inter: 3.5; @r14_minor: 2; @r14_narrow: 2; @r14_noauto: 1.2;
64 @r15_motorway: 6; @r15_main: 5; @r15_inter: 4; @r15_minor: 3; @r15_narrow: 2.5; @r15_noauto: 1.5;
65 @r16_motorway: 8; @r16_main: 8; @r16_inter: 6; @r16_minor: 4; @r16_narrow: 1.7; @r16_noauto: 1.7;
66 @r17_motorway: 10; @r17_main: 10; @r17_inter: 8; @r17_minor: 6; @r17_narrow: 2; @r17_noauto: 2;
67 @r18_motorway: 16; @r18_main: 14; @r18_inter: 12; @r18_minor: 8; @r18_narrow: 3; @r18_noauto: 3;
69 @c11_motorway: 1; @c11_main: 1; @c11_inter: 0; @c11_minor: 0; @c11_narrow: 0; @c11_noauto: 0;
70 @c12_motorway: 1.5; @c12_main: 1.5; @c12_inter: 1; @c12_minor: 0; @c12_narrow: 0; @c12_noauto: 0;
71 @c13_motorway: 2; @c13_main: 2; @c13_inter: 1; @c13_minor: 1; @c13_narrow: 0.2; @c13_noauto: 0;
72 @c14_motorway: 2; @c14_main: 2; @c14_inter: 1; @c14_minor: 1; @c14_narrow: 0.2; @c14_noauto: 1;
73 @c15_motorway: 2.5; @c15_main: 2; @c15_inter: 2; @c15_minor: 1.5; @c15_narrow: 0.2; @c15_noauto: 2;
74 @c16_motorway: 2.5; @c16_main: 2; @c16_inter: 1.5; @c16_minor: 1.5; @c16_narrow: 1; @c16_noauto: 2;
75 @c17_motorway: 3; @c17_main: 2; @c17_inter: 2; @c17_minor: 2; @c17_narrow: 1; @c17_noauto: 3;
76 @c18_motorway: 4; @c18_main: 3; @c18_inter: 3; @c18_minor: 3; @c18_narrow: 2; @c18_noauto: 4;
79 /* ---- Casing ----------------------------------------------- */
81 #roads_high::minor[style='standard'][zoom>=13][zoom<=20],
82 #roads_high::minor[style='urban'][surface='paved'][zoom>=13][zoom<=20],
83 #roads_high::minor[style='urban'][surface='unpaved'][zoom>=15][zoom<=20],
84 #roads_high::minor[style='track'][zoom>=11][zoom<=20],
85 #roads_high::casing[surface='unpaved'][zoom>=11][zoom<=20] {
86 /* -- colors & styles -- */
89 line-color: @unpaved_case;
90 [structure='bridge'] { line-color: darken(@unpaved_case, 20%); }
92 line-color: @track_case;
93 [structure='bridge'] { line-color: darken(@track_case, 20%); }
96 line-color: @pedestrian_case;
98 [structure='bridge'] { line-color: darken(@pedestrian_case, 10%); }
104 [style='motorway'] { line-width: @r11_motorway; }
105 [style='primary'], [style='secondary'] { line-width: @r11_main; }
109 [style='motorway'] { line-width: @r12_motorway; }
110 [style='primary'], [style='secondary'] { line-width: @r12_main; }
111 [style='tertiary'] { line-width: @r12_inter; }
115 [style='motorway'] { line-width: @r13_motorway; }
116 [style='primary'], [style='secondary'] { line-width: @r13_main; }
117 [style='tertiary'] { line-width: @r13_inter; }
118 [style='standard'] { line-width: @r13_minor; }
119 [style='track']{ line-width: @r13_narrow; }
122 [style='motorway'] { line-width: @r14_motorway; }
123 [style='primary'], [style='secondary'] { line-width: @r14_main; }
124 [style='tertiary'] { line-width: @r14_inter; }
125 [style='standard'], [style='urban'][surface='paved'] { line-width: @r14_minor; }
126 [style='track']{ line-width: @r14_narrow; }
127 [style='noauto'] { line-width: @r14_noauto; }
130 [style='motorway'] { line-width: @r15_motorway; }
131 [style='primary'], [style='secondary'] { line-width: @r15_main; }
132 [style='tertiary'] { line-width: @r15_inter; }
133 [style='standard'], [style='urban'] { line-width: @r15_minor; }
134 [style='track'] { line-width: @r15_narrow; }
135 [style='noauto'] { line-width: @r15_noauto; }
138 [style='motorway'] { line-width: @r16_motorway; }
139 [style='primary'], [style='secondary'] { line-width: @r16_main; }
140 [style='tertiary'] { line-width: @r16_inter; }
141 [style='standard'] { line-width: @r16_minor; }
142 [style='urban'] { line-width: @r16_minor; }
143 [style='track']{ line-width: @r16_narrow; }
144 [style='noauto'] { line-width: @r16_noauto; }
147 [style='standard'] { line-width: @r17_minor; }
148 [style='motorway'] { line-width: @r17_motorway; }
149 [style='primary'], [style='secondary'] { line-width: @r17_main; }
150 [style='tertiary'] { line-width: @r17_inter; }
151 [style='urban']{ line-width: @r17_minor; }
152 [style='track']{ line-width: @r17_narrow; }
153 [style='noauto'] { line-width: @r17_noauto; }
156 [style='motorway'] { line-width: @r18_motorway; }
157 [style='primary'], [style='secondary'] { line-width: @r18_main; }
158 [style='tertiary'] { line-width: @r18_inter; }
159 [style='standard']{ line-width: @r18_minor; }
160 [style='urban']{ line-width: @r18_minor; }
161 [style='track']{ line-width: @r18_narrow; }
162 [style='noauto'] { line-width: @r18_noauto; }
167 #roads_high[zoom>=11][zoom<=20] {
168 /* -- colors & styles -- */
169 [zoom>=15][structure='bridge'] {
170 bridge/line-cap: butt;
175 line-color: @paved; // Default.
178 [zoom>=15][structure='bridge'] { bridge/line-color: darken(@motorway_case, 10%); }
180 line-color: @motorway_fill;
181 [structure='tunnel'] { line-color: lighten(@motorway_fill, 10%); }
185 [zoom>=15][structure='bridge'] { bridge/line-color: darken(@primary_case, 10%); }
187 line-color: @primary_fill;
188 [structure='tunnel'] { line-color: lighten(@primary_fill, 10%); }
191 [style='secondary'] {
192 [zoom>=15][structure='bridge'] { bridge/line-color: darken(@secondary_case, 10%); }
194 line-color: @secondary_fill;
195 [structure='tunnel'] { line-color: lighten(@secondary_fill, 10%); }
199 [zoom>=15][structure='bridge'] { bridge/line-color: darken(@tertiary_case, 10%); }
201 line-color: @tertiary_fill;
202 [structure='tunnel'] { line-color: lighten(@secondary_fill, 10%); }
206 [zoom>=15][structure='bridge'] { bridge/line-color: darken(@standard_case, 15%); }
208 line-color: @standard_fill;
212 [zoom>=15][structure='bridge'] { bridge/line-color: darken(@urban_case, 15%); }
213 [zoom>=11][surface='unpaved'] {
214 line-color: @unpaved_case;
216 [zoom>=11][surface='paved'],
217 [zoom>=15][surface='unpaved'] {
218 line-color: @urban_fill;
221 [zoom>=11][surface='unpaved'] {
222 line-color: @unpaved;
225 [zoom>=15][structure='bridge'] { bridge/line-color: darken(@track_case, 10%); }
227 line-color: @track_fill;
232 [zoom>=16] {line-dasharray: 8,2;}
233 [zoom>=18] {line-dasharray: 10,2;}
238 line-color: darken(@water, 10%);
241 [zoom>=15][structure='bridge'] { bridge/line-color: darken(@pedestrian_case, 15%); }
243 line-color: @pedestrian_fill;
248 [zoom>=11][condition='bad'][style!='noauto'] {
249 line-dasharray: 5,0.5;
252 [zoom>=11][construction!=null] {
253 line-dasharray: 10,10;
259 [style='urban'], [style='standard'] { line-width: @r11_minor; }
261 line-width: @r11_motorway;
262 [surface='unpaved'] {line-width: @r11_motorway - @c11_motorway;}
264 [style='primary'], [style='secondary'] {
265 line-width: @r11_main;
266 [surface='unpaved'] {line-width: @r11_main - @c11_main;}
268 [style='tertiary'] { line-width: @r11_inter; }
269 [style='urban']{ line-width: @r11_minor; }
270 [style='track']{ line-width: @r11_narrow; }
271 [style='noauto'] { line-width: 0; }
272 [construction!=null] { line-width: 0; }
275 [style='urban'], [style='standard'] { line-width: @r12_minor; }
277 line-width: @r12_motorway;
278 [surface='unpaved'] {line-width: @r12_motorway - @c12_motorway;}
281 [style='secondary'] {
282 line-width: @r12_main;
283 [surface='unpaved'] {line-width: @r12_main - @c12_main;}
285 [style='tertiary'] { line-width: @r12_inter;}
286 [style='urban']{ line-width: @r12_minor; }
287 [style='track']{ line-width: @r12_narrow; }
288 [style='noauto'] { line-width: @r12_noauto; }
289 [construction!=null] { line-width: 0; }
292 [style='standard'] { line-width: @r13_minor - @c13_minor; }
294 line-width: @r13_minor - @c13_minor;
295 [surface='unpaved'] {line-width: 0.5;}
298 line-width: @r13_motorway;
299 [surface='unpaved'] {line-width: @r13_motorway - @c13_motorway;}
301 [style='primary'], [style='secondary'] {
302 line-width: @r13_main;
303 [surface='unpaved'] {line-width: @r13_main - @c13_main;}
306 line-width: @r13_inter;
307 [surface='unpaved'] {line-width: @r13_inter - @c13_inter;}
309 [style='track']{line-width: @r13_narrow; }
310 [style='noauto'] { line-width: @r13_noauto; }
311 [construction!=null] { line-width: 0; }
314 [style='standard'] { line-width: @r14_minor - @c14_minor; }
316 line-width: @r14_minor - @c14_minor;
317 [surface='unpaved'] {line-width: 0.8;}
320 line-width: @r14_motorway;
321 [surface='unpaved'] {line-width: @r14_motorway - @c14_motorway;}
323 [style='primary'], [style='secondary'] {
324 line-width: @r14_main;
325 [surface='unpaved'] {line-width: @r14_main - @c14_main;}
328 line-width: @r14_inter;
329 [surface='unpaved'] {line-width: @r14_inter - @c14_inter;}
331 [style='track']{ line-width: @r14_narrow; }
332 [style='noauto'] { line-width: @r14_noauto; line-dasharray: 0.1,4; }
333 [construction!=null] { line-width: 0; }
336 [style='standard'], [style='urban'] {
337 [structure='bridge'] {bridge/line-width: @r15_minor;}
338 line-width: @r15_minor - @c15_minor;
341 [structure='bridge'] {bridge/line-width: @r15_motorway + @c15_motorway;}
342 line-width: @r15_motorway;
343 [surface='unpaved'] {line-width: @r15_motorway - @c15_motorway;}
345 [style='primary'], [style='secondary'] {
346 [structure='bridge'] {bridge/line-width: @r15_main + @c15_main;}
347 line-width: @r15_main;
348 [surface='unpaved'] {line-width: @r15_main - @c15_main;}
351 [structure='bridge'] {bridge/line-width: @r15_inter + 1;}
352 line-width: @r15_inter;
353 [surface='unpaved'] {line-width: @r15_inter - @c15_inter;}
355 [style='track']{ line-width: @r15_narrow; }
357 [structure='bridge'] {bridge/line-width: @r15_noauto + 1;}
358 line-width: @r15_noauto; line-dasharray: 0.1,4;
360 [construction!=null] { line-dasharray: 10,10; }
365 [structure='bridge'] {bridge/line-width: @r16_minor;}
366 line-width: @r16_minor - @c16_minor;
369 [structure='bridge'] {bridge/line-width: @r16_motorway + @c16_motorway;}
370 line-width: @r16_motorway;
371 [surface='unpaved'] {line-width: @r16_motorway - @c16_motorway;}
373 [style='primary'], [style='secondary'] {
374 [structure='bridge'] {bridge/line-width: @r16_main + 2;}
375 line-width: @r16_main;
376 [surface='unpaved'] {line-width: @r16_main - @c16_main;}
379 [structure='bridge'] {bridge/line-width: @r16_inter + 1;}
380 line-width: @r16_inter;
381 [surface='unpaved'] {line-width: @r16_inter - @c16_inter;}
383 [style='track']{ line-width: @r16_narrow - @c16_narrow; }
385 [structure='bridge'] {bridge/line-width: @r16_noauto + 1;}
386 line-width: @r16_noauto;
388 [construction!=null] { line-dasharray: 10,10; }
393 [structure='bridge'] {bridge/line-width: @r17_minor + @c17_minor;}
394 line-width: @r17_minor - @c17_minor;
397 [structure='bridge'] {bridge/line-width: @r17_motorway + @c17_motorway;}
398 line-width: @r17_motorway;
399 [surface='unpaved'] {line-width: @r17_motorway - @c17_motorway;}
401 [style='primary'], [style='secondary'] {
402 [structure='bridge'] {bridge/line-width: @r17_main + @c17_main;}
403 line-width: @r17_main;
404 [surface='unpaved'] {line-width: @r17_main - @c17_main;}
407 [structure='bridge'] {bridge/line-width: @r17_inter + @c17_inter;}
408 line-width: @r17_inter;
409 [surface='unpaved'] {line-width: @r17_inter - @c17_inter;}
412 [structure='bridge'] {bridge/line-width: @r17_narrow + @c17_narrow;}
413 line-width: @r17_narrow - @c17_narrow;
416 [structure='bridge'] {bridge/line-width: @r17_noauto + @c17_noauto;}
417 line-width: @r17_noauto;
420 line-width: @r17_noauto + @c17_noauto;
421 line-dasharray: 2, 2;
424 [construction!=null] { line-dasharray: 15,10; }
429 [structure='bridge'] {bridge/line-width: @r18_minor + @c18_minor;}
430 line-width: @r18_minor - @c18_minor;
433 [structure='bridge'] {bridge/line-width: @r18_motorway + @c18_motorway;}
434 line-width: @r18_motorway;
435 [surface='unpaved'] {line-width: @r18_motorway - @c18_motorway;}
437 [style='primary'], [style='secondary'] {
438 [structure='bridge'] {bridge/line-width: @r18_main + @c18_main;}
439 line-width: @r18_main;
440 [surface='unpaved'] {line-width: @r18_main - @c18_main;}
443 [structure='bridge'] {bridge/line-width: @r18_inter + @c18_inter;}
444 line-width: @r18_inter;
445 [surface='unpaved'] {line-width: @r18_inter - @c18_inter;}
448 [structure='bridge'] {bridge/line-width: @r18_narrow + @c18_narrow;}
449 line-width: @r18_narrow - @c18_narrow;
452 [structure='bridge'] {bridge/line-width: @r18_noauto + @c18_noauto;}
453 line-width: @r18_noauto;
456 line-width: @r18_noauto + @c18_noauto;
460 [construction!=null] { line-dasharray: 15,15; }
464 /* ---- Turning Circles --------------------------------------------- */
465 #turning_circle_case[zoom>=14] {
466 marker-fill:@standard_fill;
467 marker-line-color:@standard_case;
469 marker-allow-overlap: true;
471 #turning_circle_fill[zoom>=14] {
472 marker-fill: @standard_fill;
473 marker-line-width: 0;
474 marker-line-opacity: 0;
475 marker-allow-overlap: true;
477 #turning_circle_case,
478 #turning_circle_fill {
479 [zoom=14] { marker-width: @r14_minor * 1.1; }
480 [zoom=15] { marker-width: @r15_minor * 1.1; }
481 [zoom=16] { marker-width: @r16_minor * 1.1; }
482 [zoom=17] { marker-width: @r17_minor * 1.1; }
483 [zoom>=18] { marker-width: @r18_minor * 1.1; }
486 /* ================================================================== */
488 /* ================================================================== */
493 line-dasharray: 4, 4;
496 line-dasharray: 6, 6;
500 /* ================================================================== */
502 /* ================================================================== */
509 [zoom=14]{ line-width:7; }
510 [zoom=15]{ line-width:11; }
511 [zoom=16]{ line-width:15; }
512 [zoom=17]{ line-width:19; }
513 [zoom>17]{ line-width:23; }
516 [zoom=14]{ line-width:1.5; }
517 [zoom=15]{ line-width:2; }
518 [zoom=16]{ line-width:3; }
519 [zoom=17]{ line-width:4; }
520 [zoom>17]{ line-width:5; }
522 [tunnel='yes'][zoom>=14][zoom<=20] {
526 [zoom=14] { line-width: 1 + 1; }
527 [zoom=15] { line-width: 1.5 + 1; }
528 [zoom=16] { line-width: 2 + 1; }
529 [zoom=17] { line-width: 3 + 2; }
530 [zoom>=18] { line-width: 4 + 3; }
533 #aeroway-poly[zoom>=14] {
534 polygon-fill: @aeroway;
536 /******************************************************************* */
539 /* ================================================================== */
541 /* ================================================================== */
543 #railway[type='disused'][zoom>=14][zoom<=20] {
545 line-color: darken(@rail_line,20%);
546 [zoom>=14] { line-width: 0.35; line-dasharray: 4,2;}
547 [zoom>=15] { line-width: 0.55; line-dasharray: 4,2;}
548 [zoom>=16] { line-width: 1; line-dasharray: 7,4; }
549 [zoom>=18] { line-width: 1.75; line-dasharray: 10,6;}
552 #railway[type='yard'][zoom>=15][zoom<=20] {
554 line-color: @rail_line;
555 [zoom>=15] { line-width: 0.35; }
556 [zoom>=16] { line-width: 1.5; }
557 [zoom>=18] { line-width: 2.25; }
560 #railway[type='main'][zoom>=12][zoom<=20] {
562 line-color: @rail_line;
563 [zoom>=11] { line-width: 1; }
564 [zoom>=14] { line-width: 1.25; }
565 [zoom>=16] { line-width: 1.75; }
566 [zoom>=18] { line-width: 2; }
567 [zoom>=20] { line-width: 2.25; }
570 #railway[type='other'][zoom>=14][zoom<=20] {
572 line-color: @rail_line;
573 [zoom>=14] { line-width: 1; }
574 [zoom>=16] { line-width: 1.5; }
575 [zoom>=18] { line-width: 1.75; }
576 [zoom>=20] { line-width: 2; }