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; @r13_noauto: 0;
63 @r14_motorway: 5; @r14_main: 4.5; @r14_inter: 3.5; @r14_minor: 2; @r14_narrow: 1; @r14_noauto: 1;
64 @r15_motorway: 6; @r15_main: 5; @r15_inter: 4; @r15_minor: 3; @r15_narrow: 1; @r15_noauto: 1;
65 @r16_motorway: 8; @r16_main: 8; @r16_inter: 6; @r16_minor: 4; @r16_narrow: 1.2; @r16_noauto: 1.2;
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;
97 [structure='bridge'] { line-color: darken(@pedestrian_case, 10%); }
103 [style='motorway'] { line-width: @r11_motorway; }
104 [style='primary'], [style='secondary'] { line-width: @r11_main; }
108 [style='motorway'] { line-width: @r12_motorway; }
109 [style='primary'], [style='secondary'] { line-width: @r12_main; }
110 [style='tertiary'] { line-width: @r12_inter; }
114 [style='motorway'] { line-width: @r13_motorway; }
115 [style='primary'], [style='secondary'] { line-width: @r13_main; }
116 [style='tertiary'] { line-width: @r13_inter; }
117 [style='standard'] { line-width: @r13_minor; }
118 [style='track']{ line-width: @r13_narrow; }
121 [style='motorway'] { line-width: @r14_motorway; }
122 [style='primary'], [style='secondary'] { line-width: @r14_main; }
123 [style='tertiary'] { line-width: @r14_inter; }
124 [style='standard'], [style='urban'][surface='paved'] { line-width: @r14_minor; }
125 [style='track']{ line-width: @r14_narrow; }
126 [style='noauto'] { line-width: @r14_noauto; }
129 [style='motorway'] { line-width: @r15_motorway; }
130 [style='primary'], [style='secondary'] { line-width: @r15_main; }
131 [style='tertiary'] { line-width: @r15_inter; }
132 [style='standard'], [style='urban'] { line-width: @r15_minor; }
133 [style='track'] { line-width: @r15_narrow; }
134 [style='noauto'] { line-width: @r15_noauto; }
137 [style='motorway'] { line-width: @r16_motorway; }
138 [style='primary'], [style='secondary'] { line-width: @r16_main; }
139 [style='tertiary'] { line-width: @r16_inter; }
140 [style='standard'] { line-width: @r16_minor; }
141 [style='urban'] { line-width: @r16_minor; }
142 [style='track']{ line-width: @r16_narrow; }
143 [style='noauto'] { line-width: @r16_noauto; }
146 [style='standard'] { line-width: @r17_minor; }
147 [style='motorway'] { line-width: @r17_motorway; }
148 [style='primary'], [style='secondary'] { line-width: @r17_main; }
149 [style='tertiary'] { line-width: @r17_inter; }
150 [style='urban']{ line-width: @r17_minor; }
151 [style='track']{ line-width: @r17_narrow; }
152 [style='noauto'] { line-width: @r17_noauto; }
155 [style='motorway'] { line-width: @r18_motorway; }
156 [style='primary'], [style='secondary'] { line-width: @r18_main; }
157 [style='tertiary'] { line-width: @r18_inter; }
158 [style='standard']{ line-width: @r18_minor; }
159 [style='urban']{ line-width: @r18_minor; }
160 [style='track']{ line-width: @r18_narrow; }
161 [style='noauto'] { line-width: @r18_noauto; }
166 #roads_high[zoom>=11][zoom<=20] {
167 /* -- colors & styles -- */
168 [zoom>=15][structure='bridge'] {
169 bridge/line-cap: butt;
174 line-color: @paved; // Default.
177 [zoom>=15][structure='bridge'] { bridge/line-color: darken(@motorway_case, 10%); }
179 line-color: @motorway_fill;
180 [structure='tunnel'] { line-color: lighten(@motorway_fill, 10%); }
184 [zoom>=15][structure='bridge'] { bridge/line-color: darken(@primary_case, 10%); }
186 line-color: @primary_fill;
187 [structure='tunnel'] { line-color: lighten(@primary_fill, 10%); }
190 [style='secondary'] {
191 [zoom>=15][structure='bridge'] { bridge/line-color: darken(@secondary_case, 10%); }
193 line-color: @secondary_fill;
194 [structure='tunnel'] { line-color: lighten(@secondary_fill, 10%); }
198 [zoom>=15][structure='bridge'] { bridge/line-color: darken(@tertiary_case, 10%); }
200 line-color: @tertiary_fill;
201 [structure='tunnel'] { line-color: lighten(@secondary_fill, 10%); }
206 [zoom>=15][structure='bridge'] { bridge/line-color: darken(@standard_case, 15%); }
208 line-color: lighten(@standard_fill, 50%);
211 line-color: @standard_fill;
214 [zoom>=11][surface='unpaved'] {
215 line-color: lighten(@unpaved, 50%);
217 line-color: @unpaved;
221 [zoom>=15][structure='bridge'] { bridge/line-color: darken(@track_case, 10%); }
223 line-color: lighten(@standard_fill, 50%);
229 line-color: @standard_fill;
231 [zoom>=18] {line-dasharray: 10,2;}
236 line-color: darken(@water, 10%);
239 [zoom>=15][structure='bridge'] { bridge/line-color: darken(@pedestrian_case, 15%); }
241 line-color: lighten(@standard_fill, 50%);
246 line-color: @standard_fill;
249 [zoom>=11][condition='bad'][style!='noauto'] {
250 line-dasharray: 5,0.5;
253 [zoom>=11][construction!=null] {
254 line-dasharray: 10,10;
260 [style='urban'], [style='standard'] { line-width: @r11_minor; }
262 line-width: @r11_motorway;
263 [surface='unpaved'] {line-width: @r11_motorway - @c11_motorway;}
265 [style='primary'], [style='secondary'] {
266 line-width: @r11_main;
267 [surface='unpaved'] {line-width: @r11_main - @c11_main;}
269 [style='tertiary'] { line-width: @r11_inter; }
270 [style='urban']{ line-width: @r11_minor; }
271 [style='track']{ line-width: @r11_narrow; }
272 [style='noauto'] { line-width: 0; }
273 [construction!=null] { line-width: 0; }
276 [style='urban'], [style='standard'] { line-width: @r12_minor; }
278 line-width: @r12_motorway;
279 [surface='unpaved'] {line-width: @r12_motorway - @c12_motorway;}
282 [style='secondary'] {
283 line-width: @r12_main;
284 [surface='unpaved'] {line-width: @r12_main - @c12_main;}
286 [style='tertiary'] { line-width: @r12_inter;}
287 [style='urban']{ line-width: @r12_minor; }
288 [style='track']{ line-width: @r12_narrow; }
289 [style='noauto'] { line-width: @r12_noauto; }
290 [construction!=null] { line-width: 0; }
293 [style='standard'] { line-width: @r13_minor - @c13_minor; }
295 line-width: @r13_minor - @c13_minor;
296 [surface='unpaved'] {line-width: 0.5;}
299 line-width: @r13_motorway;
300 [surface='unpaved'] {line-width: @r13_motorway - @c13_motorway;}
302 [style='primary'], [style='secondary'] {
303 line-width: @r13_main;
304 [surface='unpaved'] {line-width: @r13_main - @c13_main;}
307 line-width: @r13_inter;
308 [surface='unpaved'] {line-width: @r13_inter - @c13_inter;}
310 [style='track']{line-width: @r13_narrow; }
311 [style='noauto'] { line-width: @r13_noauto; }
312 [construction!=null] { line-width: 0; }
315 [style='standard'] { line-width: @r14_minor - @c14_minor; }
317 line-width: @r14_minor - @c14_minor;
318 [surface='unpaved'] {line-width: 0.8;}
321 line-width: @r14_motorway;
322 [surface='unpaved'] {line-width: @r14_motorway - @c14_motorway;}
324 [style='primary'], [style='secondary'] {
325 line-width: @r14_main;
326 [surface='unpaved'] {line-width: @r14_main - @c14_main;}
329 line-width: @r14_inter;
330 [surface='unpaved'] {line-width: @r14_inter - @c14_inter;}
332 [style='track']{ line-width: @r14_narrow; }
333 [style='noauto'] { line-width: @r14_noauto; line-dasharray: 0.1,4; }
334 [construction!=null] { line-width: 0; }
337 [style='standard'], [style='urban'] {
338 [structure='bridge'] {bridge/line-width: @r15_minor;}
339 line-width: @r15_minor - @c15_minor;
342 [structure='bridge'] {bridge/line-width: @r15_motorway + @c15_motorway;}
343 line-width: @r15_motorway;
344 [surface='unpaved'] {line-width: @r15_motorway - @c15_motorway;}
346 [style='primary'], [style='secondary'] {
347 [structure='bridge'] {bridge/line-width: @r15_main + @c15_main;}
348 line-width: @r15_main;
349 [surface='unpaved'] {line-width: @r15_main - @c15_main;}
352 [structure='bridge'] {bridge/line-width: @r15_inter + 1;}
353 line-width: @r15_inter;
354 [surface='unpaved'] {line-width: @r15_inter - @c15_inter;}
356 [style='track']{ line-width: @r15_narrow; }
358 [structure='bridge'] {bridge/line-width: @r15_noauto + 1;}
359 line-width: @r15_noauto; line-dasharray: 0.1,4;
361 [construction!=null] { line-dasharray: 10,10; }
366 [structure='bridge'] {bridge/line-width: @r16_minor;}
367 line-width: @r16_minor - @c16_minor;
370 [structure='bridge'] {bridge/line-width: @r16_motorway + @c16_motorway;}
371 line-width: @r16_motorway;
372 [surface='unpaved'] {line-width: @r16_motorway - @c16_motorway;}
374 [style='primary'], [style='secondary'] {
375 [structure='bridge'] {bridge/line-width: @r16_main + 2;}
376 line-width: @r16_main;
377 [surface='unpaved'] {line-width: @r16_main - @c16_main;}
380 [structure='bridge'] {bridge/line-width: @r16_inter + 1;}
381 line-width: @r16_inter;
382 [surface='unpaved'] {line-width: @r16_inter - @c16_inter;}
384 [style='track']{ line-width: @r16_narrow - @c16_narrow; }
386 [structure='bridge'] {bridge/line-width: @r16_noauto + 1;}
387 line-width: @r16_noauto;
389 [construction!=null] { line-dasharray: 10,10; }
394 [structure='bridge'] {bridge/line-width: @r17_minor + @c17_minor;}
395 line-width: @r17_minor - @c17_minor;
398 [structure='bridge'] {bridge/line-width: @r17_motorway + @c17_motorway;}
399 line-width: @r17_motorway;
400 [surface='unpaved'] {line-width: @r17_motorway - @c17_motorway;}
402 [style='primary'], [style='secondary'] {
403 [structure='bridge'] {bridge/line-width: @r17_main + @c17_main;}
404 line-width: @r17_main;
405 [surface='unpaved'] {line-width: @r17_main - @c17_main;}
408 [structure='bridge'] {bridge/line-width: @r17_inter + @c17_inter;}
409 line-width: @r17_inter;
410 [surface='unpaved'] {line-width: @r17_inter - @c17_inter;}
413 [structure='bridge'] {bridge/line-width: @r17_narrow + @c17_narrow;}
414 line-width: @r17_narrow - @c17_narrow;
417 [structure='bridge'] {bridge/line-width: @r17_noauto + @c17_noauto;}
418 line-width: @r17_noauto;
421 line-width: @r17_noauto + @c17_noauto;
422 line-dasharray: 2, 2;
425 [construction!=null] { line-dasharray: 15,10; }
430 [structure='bridge'] {bridge/line-width: @r18_minor + @c18_minor;}
431 line-width: @r18_minor - @c18_minor;
434 [structure='bridge'] {bridge/line-width: @r18_motorway + @c18_motorway;}
435 line-width: @r18_motorway;
436 [surface='unpaved'] {line-width: @r18_motorway - @c18_motorway;}
438 [style='primary'], [style='secondary'] {
439 [structure='bridge'] {bridge/line-width: @r18_main + @c18_main;}
440 line-width: @r18_main;
441 [surface='unpaved'] {line-width: @r18_main - @c18_main;}
444 [structure='bridge'] {bridge/line-width: @r18_inter + @c18_inter;}
445 line-width: @r18_inter;
446 [surface='unpaved'] {line-width: @r18_inter - @c18_inter;}
449 [structure='bridge'] {bridge/line-width: @r18_narrow + @c18_narrow;}
450 line-width: @r18_narrow - @c18_narrow;
453 [structure='bridge'] {bridge/line-width: @r18_noauto + @c18_noauto;}
454 line-width: @r18_noauto;
457 line-width: @r18_noauto + @c18_noauto;
461 [construction!=null] { line-dasharray: 15,15; }
465 /* ---- Turning Circles --------------------------------------------- */
466 #turning_circle_case[zoom>=14] {
467 marker-fill: lighten(@standard_fill, 50%);
468 marker-line-color: lighten(@standard_case, 50%);
470 marker-fill: @standard_fill;
471 marker-line-color: @standard_case;
474 marker-allow-overlap: true;
476 #turning_circle_fill[zoom>=14] {
477 marker-fill: lighten(@standard_fill, 50%);
479 marker-fill: @standard_fill;
481 marker-line-width: 0;
482 marker-line-opacity: 0;
483 marker-allow-overlap: true;
485 #turning_circle_case,
486 #turning_circle_fill {
487 [zoom=14] { marker-width: @r14_minor * 1.1; }
488 [zoom=15] { marker-width: @r15_minor * 1.1; }
489 [zoom=16] { marker-width: @r16_minor * 1.1; }
490 [zoom=17] { marker-width: @r17_minor * 1.1; }
491 [zoom>=18] { marker-width: @r18_minor * 1.1; }
494 /* ================================================================== */
496 /* ================================================================== */
501 line-dasharray: 4, 4;
504 line-dasharray: 6, 6;
508 /* ================================================================== */
510 /* ================================================================== */
517 [zoom=14]{ line-width:7; }
518 [zoom=15]{ line-width:11; }
519 [zoom=16]{ line-width:15; }
520 [zoom=17]{ line-width:19; }
521 [zoom>17]{ line-width:23; }
524 [zoom=14]{ line-width:1.5; }
525 [zoom=15]{ line-width:2; }
526 [zoom=16]{ line-width:3; }
527 [zoom=17]{ line-width:4; }
528 [zoom>17]{ line-width:5; }
530 [tunnel='yes'][zoom>=14][zoom<=20] {
534 [zoom=14] { line-width: 1 + 1; }
535 [zoom=15] { line-width: 1.5 + 1; }
536 [zoom=16] { line-width: 2 + 1; }
537 [zoom=17] { line-width: 3 + 2; }
538 [zoom>=18] { line-width: 4 + 3; }
541 #aeroway-poly[zoom>=14] {
542 polygon-fill: @aeroway;
544 /******************************************************************* */
547 /* ================================================================== */
549 /* ================================================================== */
551 #railway[type='disused'][zoom>=14][zoom<=20] {
553 line-color: darken(@rail_line,20%);
554 [zoom>=14] { line-width: 0.35; line-dasharray: 4,2;}
555 [zoom>=15] { line-width: 0.55; line-dasharray: 4,2;}
556 [zoom>=16] { line-width: 1; line-dasharray: 7,4; }
557 [zoom>=18] { line-width: 1.75; line-dasharray: 10,6;}
560 #railway[type='yard'][zoom>=15][zoom<=20] {
562 line-color: @rail_line;
563 [zoom>=15] { line-width: 0.35; }
564 [zoom>=16] { line-width: 1.5; }
565 [zoom>=18] { line-width: 2.25; }
568 #railway[type='main'][zoom>=12][zoom<=20] {
570 line-color: @rail_line;
571 [zoom>=11] { line-width: 1; }
572 [zoom>=14] { line-width: 1.25; }
573 [zoom>=16] { line-width: 1.75; }
574 [zoom>=18] { line-width: 2; }
575 [zoom>=20] { line-width: 2.25; }
578 #railway[type='other'][zoom>=14][zoom<=20] {
580 line-color: @rail_line;
581 [zoom>=14] { line-width: 1; }
582 [zoom>=16] { line-width: 1.5; }
583 [zoom>=18] { line-width: 1.75; }
584 [zoom>=20] { line-width: 2; }