Warning, /libraries/kosmindoormap/src/map/assets/css/breeze-common.mapcss is written in an unsupported language. File is not indexed.
0001 /*
0002 SPDX-FileCopyrightText: 2020 Volker Krause <vkrause@kde.org>
0003
0004 SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006
0007 /* common definitions between light and dark style */
0008
0009 /** Various outdoor stuff. */
0010 area[water],
0011 area[waterway],
0012 area[natural=water],
0013 area[amenity=fountain],
0014 area[landuse=basin],
0015 area[place=sea]
0016 {
0017 fill-color: #103daee9;
0018 z-index: -1000;
0019 }
0020 way[waterway]
0021 {
0022 color: #103daee9;
0023 z-index: -1000;
0024 width: 1m;
0025 }
0026 way[waterway][width] { width: width; }
0027
0028 area[natural=water][intermittent=yes]
0029 {
0030 fill-opacity: 0.5;
0031 fill-image: url("intermittent_water.svg");
0032 }
0033
0034 *|z18- [amenity=fountain] {
0035 icon-image: amenity;
0036 icon-color: #2980b9;
0037 }
0038 *|z18- [waterway=waterfall] {
0039 icon-image: waterway;
0040 icon-color: #2980b9;
0041 }
0042
0043 area[leisure=miniature_golf],
0044 area[leisure=park],
0045 area[leisure=pitch],
0046 area[leisure=playground],
0047 area[landuse=farmland],
0048 area[landuse=grass],
0049 area[landuse=recreation_ground],
0050 area[landuse=village_green],
0051 area[landuse=meadow],
0052 area[natural=grassland],
0053 area[natural=heath],
0054 area[surface=grass]
0055 {
0056 fill-color: #1027ae60;
0057 z-index: -999;
0058 }
0059 area[landuse=cemetery]
0060 {
0061 fill-color: #1027ae60;
0062 fill-opacity: 0.4;
0063 fill-image: url("grave_yard_generic.svg");
0064 z-index: -999;
0065 }
0066 area[leisure=garden]
0067 {
0068 fill-color: #1027ae60;
0069 fill-opacity: 0.6;
0070 fill-image: url("plant_nursery.svg");
0071 z-index: -999;
0072 }
0073 area[landuse=plant_nursery]
0074 {
0075 fill-color: #1027ae60;
0076 z-index: -999;
0077 fill-opacity: 0.5;
0078 fill-image: url("plant_nursery.svg");
0079 }
0080
0081 line[natural=tree_row]
0082 {
0083 color: #1027ae60;
0084 width: 2m;
0085 linecap: round;
0086 }
0087
0088 area[landuse=forest],
0089 area[natural=wood]
0090 {
0091 fill-color: #1027ae60;
0092 z-index: -999;
0093 fill-opacity: 0.5;
0094 fill-image: url("leaftype_unknown.svg");
0095 }
0096 area[landuse=forest][leaf_type=broadleaved],
0097 area[natural=wood][leaf_type=broadleaved]
0098 {
0099 fill-image: url("leaftype_broadleaved.svg");
0100 }
0101 area[landuse=forest][leaf_type=leafless],
0102 area[natural=wood][leaf_type=leafless]
0103 {
0104 fill-image: url("leaftype_leafless.svg");
0105 }
0106 area[landuse=forest][leaf_type=needleleaved],
0107 area[natural=wood][leaf_type=needleleaved]
0108 {
0109 fill-image: url("leaftype_needleleaved.svg");
0110 }
0111 area[landuse=forest][leaf_type=mixed],
0112 area[natural=wood][leaf_type=mixed]
0113 {
0114 fill-image: url("leaftype_mixed.svg");
0115 }
0116
0117 area[landuse=orchard]
0118 {
0119 fill-color: #1027ae60;
0120 z-index: -999;
0121 fill-opacity: 0.5;
0122 fill-image: url("orchard.svg");
0123 }
0124 area[landuse=vineyard]
0125 {
0126 fill-color: #1027ae60;
0127 z-index: -999;
0128 fill-opacity: 0.5;
0129 fill-image: url("vineyard.svg");
0130 }
0131
0132 area[natural=scrub]
0133 {
0134 fill-color: #1027ae60;
0135 z-index: -999;
0136 fill-opacity: 0.5;
0137 fill-image: url("scrub.png");
0138 }
0139
0140 area[landuse=allotments]
0141 {
0142 fill-color: #1027ae60;
0143 z-index: -999;
0144 fill-opacity: 0.5;
0145 fill-image: url("allotments.svg");
0146 }
0147
0148 area[natural=beach],
0149 area[natural=sand]
0150 {
0151 fill-color: #20fdbc4b;
0152 z-index: -999;
0153 }
0154 area[natural=beach][surface=sand] { fill-image: url("beach.png"); }
0155
0156 area[natural=rock]
0157 {
0158 fill-color: #20bdc3c7;
0159 z-index: -999;
0160 }
0161 area[natural=bare_rock]
0162 {
0163 fill-color: #20bdc3c7;
0164 fill-image: url("rock_overlay.png");
0165 z-index: -999;
0166 }
0167 area[landuse=quarry]
0168 {
0169 fill-color: #20bdc3c7;
0170 fill-image: url("quarry.svg");
0171 z-index: -999;
0172 }
0173
0174 area[natural=wetland],
0175 area[natural=mud]
0176 {
0177 fill-color: #1027ae60;
0178 fill-opacity: 0.5;
0179 fill-image: url("wetland.png");
0180 z-index: -999;
0181 }
0182 area[natural=wetland][wetland=bog],
0183 area[natural=wetland][wetland=fen],
0184 area[natural=wetland][wetland=string_bog]
0185 {
0186 fill-image: url("wetland_bog.png");
0187 }
0188 area[natural=wetland][wetland=marsh],
0189 area[natural=wetland][wetland=saltmarsh],
0190 area[natural=wetland][wetland=wet_meadow]
0191 {
0192 fill-image: url("wetland_marsh.png");
0193 }
0194 area[natural=wetland][wetland=mangrove] { fill-image: url("wetland_mangrove.png"); }
0195 area[natural=wetland][wetland=reedbed] { fill-image: url("wetland_reed.png"); }
0196 area[natural=wetland][wetland=swamp] { fill-image: url("wetland_swamp.png"); }
0197
0198 node|z19-[natural=tree]
0199 {
0200 icon-image: "tree";
0201 icon-height: 2m;
0202 icon-width: 2m;
0203 icon-color: #27ae60;
0204 icon-opacity: 0.4;
0205 icon-allow-icon-overlap: true;
0206 icon-allow-text-overlap: true;
0207 }
0208 node|z19-[natural=tree][diameter_crown]
0209 {
0210 icon-height: diameter_crown;
0211 icon-width: diameter_crown;
0212 }
0213
0214 node|z21-[natural=shrub]
0215 {
0216 icon-image: "circle";
0217 icon-height: 0.4m;
0218 icon-width: 0.4m;
0219 icon-color: #27ae60;
0220 icon-opacity: 0.4;
0221 icon-allow-icon-overlap: true;
0222 icon-allow-text-overlap: true;
0223 }
0224 node|z21-[natural=shrub][width]
0225 {
0226 icon-height: width;
0227 icon-width: width;
0228 }
0229
0230 /** Generic labeling */
0231 area|z21- [indoor=room],
0232 area|z21- [allotments=plot]
0233 {
0234 text: ref;
0235 max-width: 100;
0236 text-halo-radius: 2.0;
0237 text-position: center;
0238 }
0239
0240 *|z21- [building],
0241 *|z20- [shop],
0242 *|z19- [shop=ticket],
0243 *|z21- [amenity][name],
0244 *|z20- [amenity=cafe],
0245 *|z20- [amenity=car_rental],
0246 *|z20- [amenity=fast_food],
0247 *|z20- [amenity=restaurant],
0248 *|z21- [indoor=room][name],
0249 *|z21- [leisure],
0250 *|z19- [tourism=information],
0251 *|z18- [tourism=zoo],
0252 *|z18- [tourism=theme_park],
0253 *|z20- [tourism=attraction],
0254 *|z20- [attraction],
0255 *|z21- [tourism],
0256 *|z19- [shop=mall],
0257 *|z21- [historic],
0258 *|z21- [diplomatic],
0259 *|z21- [office=coworking]
0260 {
0261 text: name;
0262 max-width: 100;
0263 text-halo-radius: 2.0;
0264 }
0265
0266
0267 /** Ferries */
0268 *|z17- [amenity=ferry_terminal]
0269 {
0270 icon-image: amenity;
0271 icon-color: #3daee9;
0272 }
0273 line[route=ferry]
0274 {
0275 color: #803daee9;
0276 dashes: 2,2;
0277 width: 3px;
0278 }
0279
0280 /** Roads */
0281 line[highway=motorway],
0282 line[highway=motorway_link],
0283 line[highway=trunk],
0284 line[highway=trunk_link],
0285 line[highway=primary],
0286 line[highway=primary_link],
0287 line[highway=secondary],
0288 line[highway=secondary_link],
0289 line[highway=tertiary],
0290 line[highway=tertiary_link],
0291 line[highway=unclassified],
0292 line[highway=residential],
0293 line[highway=service]::road,
0294 line[highway=living_street],
0295 line[highway=pedestrian],
0296 line[highway=road],
0297 line[highway=track]
0298 {
0299 casing-width: 1;
0300 z-index: -30;
0301 linecap: round;
0302 casing-linecap: round;
0303 }
0304
0305 line[highway=motorway] { width: 9; }
0306 line[highway=trunk] { width: 7; }
0307 line[highway=primary] { width: 6.5; }
0308 line[highway=secondary] { width: 6; }
0309
0310 line[highway=motorway_link],
0311 line[highway=tertiary]
0312 {
0313 width: 5;
0314 }
0315
0316 line[highway=trunk_link],
0317 line[highway=primary_link],
0318 line[highway=secondary_link],
0319 line[highway=tertiary_link],
0320 line[highway=unclassified],
0321 line[highway=living_street],
0322 line[highway=pedestrian]
0323 {
0324 width: 4;
0325 }
0326
0327 line[highway=residential],
0328 line[highway=road]
0329 {
0330 width: 3;
0331 }
0332
0333 line[highway=service]::road { width: 2; }
0334
0335 line[highway=track],
0336 line[highway=path]
0337 {
0338 width: 1;
0339 }
0340
0341 line[highway][layer<0],
0342 line[highway][tunnel] {
0343 casing-dashes: 0.25,0.25;
0344 casing-linecap: none;
0345 }
0346 line [highway=steps] { width: 1; }
0347 line [highway=steps][width] { width: width; }
0348 line[highway=steps][layer<0] {
0349 casing-dashes: none;
0350 }
0351
0352 line|z18-[highway=motorway],
0353 line|z20-[highway=motorway_link]
0354 {
0355 text-position: line;
0356 text-opacity: 0.75;
0357 text: ref;
0358 }
0359 line|z19-[highway=trunk],
0360 line|z20-[highway=trunk_link],
0361 line|z19-[highway=primary],
0362 line|z20-[highway=primary_link],
0363 line|z19-[highway=secondary],
0364 line|z20-[highway=secondary_link],
0365 line|z20-[highway=tertiary],
0366 line|z20-[highway=tertiary_link],
0367 line|z20-[highway=unclassified],
0368 line|z20-[highway=residential],
0369 line|z21-[highway=service],
0370 line|z20-[highway=living_street],
0371 line|z20-[highway=pedestrian],
0372 line|z20-[highway=road]
0373 {
0374 text-position: line;
0375 text-opacity: 0.75;
0376 text: name;
0377 }
0378
0379 /** Railway tracks */
0380 way[railway=rail],
0381 way[railway=light_rail],
0382 way[railway=subway],
0383 way[railway=tram]::tram,
0384 way[railway=monorail]
0385 {
0386 color: #eff0f1;
0387 dashes: 2,2;
0388 width: 1.5m;
0389 casing-width: 3;
0390 casing-color: #31363b;
0391 linecap: none;
0392 linejoin: miter;
0393 }
0394 way[railway=narrow_gauge]
0395 {
0396 color: #eff0f1;
0397 dashes: 2,2;
0398 width: 1m;
0399 casing-width: 3;
0400 casing-color: #31363b;
0401 linecap: none;
0402 }
0403 way[railway][gauge] {
0404 width: gauge;
0405 }
0406
0407 way[railway:traffic_mode=freight],
0408 way[railway=rail][service=yard]
0409 {
0410 casing-color: #7f8c8d;
0411 }
0412
0413 /** Buildings */
0414 area[building],
0415 area[building:part=yes],
0416 area[building:part=floor],
0417 area[indoor=area],
0418 area[indoor=corridor],
0419 area[indoor=level],
0420 area[stairwell],
0421 area[tunnel]
0422 {
0423 z-index: -1;
0424 }
0425 /** Cap building layers, this is much more often a data issue than actually intended and
0426 * causes misrenderings as building content then gets covered.
0427 */
0428 area[building][layer>0],
0429 area[building:part=yes][layer>0]
0430 {
0431 set layer=0;
0432 }
0433
0434 node|z21-[door][door!=no][!entrance]
0435 {
0436 icon-image: "square";
0437 icon-height: 4px;
0438 icon-width: 4px;
0439 icon-color: #31363b;
0440 icon-allow-icon-overlap: true;
0441 icon-allow-text-overlap: true;
0442 }
0443
0444 node|z21-[entrance=yes][railway!=subway_entrance],
0445 node|z21-[entrance=main]
0446 {
0447 icon-image: "entrance";
0448 icon-allow-icon-overlap: true;
0449 icon-allow-text-overlap: true;
0450 }
0451
0452 /** Airports */
0453 line|z14-[aeroway=runway]
0454 {
0455 color: #eff0f1;
0456 width: 2px;
0457 dashes: 4, 4;
0458 casing-width: 20m;
0459 casing-color: #95a5a6;
0460 text: ref;
0461 text-color: #232629;
0462 shield-color: #fdbc4b;
0463 z-index: -10;
0464 }
0465 line|z14-[aeroway=runway][width]
0466 {
0467 casing-width: width;
0468 }
0469 area|z14-[aeroway=runway]
0470 {
0471 fill-color: #95a5a6;
0472 text: ref;
0473 text-color: #232629;
0474 shield-color: #fdbc4b;
0475 z-index: -10;
0476 }
0477 area|z15-[aeroway=helipad]
0478 {
0479 text: "H";
0480 fill-color: #95a5a6;
0481 }
0482 way|z14-[aeroway=taxiway],
0483 way|z14-[aeroway=taxilane]
0484 {
0485 color: #fdbc4b;
0486 width: 1px;
0487 casing-width: 10m;
0488 casing-color: #95a5a6;
0489 z-index: -20;
0490 }
0491 way|z14-[aeroway=taxiway][width]
0492 {
0493 casing-width: width;
0494 }
0495 way|z19-[aeroway=taxiway]
0496 {
0497 text-color: #fdbc4b;
0498 text-position: line;
0499 font-size: 8;
0500 text: ref;
0501 text-offset: 12;
0502 }
0503 way|z19-[aeroway=parking_position]
0504 {
0505 color: #fdbc4b;
0506 width: 1px;
0507 dashes: 8,8;
0508 text-color: #fdbc4b;
0509 text-position: line;
0510 font-size: 8;
0511 text: ref;
0512 text-offset: 12;
0513 }
0514 node|z20-[aeroway=parking_position]
0515 {
0516 text-color: #fdbc4b;
0517 font-size: 8;
0518 text: ref;
0519 }
0520
0521 area|z16-[aeroway=terminal]
0522 {
0523 text: name;
0524 }
0525 node|z18-[aeroway=gate]
0526 {
0527 text: ref;
0528 text-color: #232629;
0529 shield-color: #fdbc4b;
0530 }
0531 node|z17-[aeroway=gate][mx:arrival=1]
0532 {
0533 text: ref;
0534 text-color: #eff0f1;
0535 shield-color: #16a085;
0536 }
0537 node|z17-[aeroway=gate][mx:departure=1]
0538 {
0539 text: ref;
0540 text-color: #eff0f1;
0541 shield-color: #da4453;
0542 }
0543
0544 *|z19-[amenity=baggage_claim]
0545 {
0546 text: ref;
0547 icon-image: amenity;
0548 set .static;
0549 }
0550 way|z19-[amenity=baggage_claim]
0551 {
0552 width: 1m;
0553 color: #bdc3c7;
0554 }
0555
0556 /** Platforms */
0557 node[highway=bus_stop]
0558 {
0559 icon-image: "bus_stop";
0560 icon-color: #1d99f3;
0561 max-width: 150;
0562 }
0563 node|z20-[highway=bus_stop]
0564 {
0565 text: name;
0566 }
0567
0568 area[railway=platform],
0569 area[public_transport=platform],
0570 way[public_transport=platform]
0571 {
0572 z-index: 0; // in case this is also marked as a building part...
0573 opacity: 1;
0574 }
0575
0576 @import url("platform-overlay.mapcss");
0577
0578 /** static elements
0579 * keep before amenities/shops, as those can occur on the same element and should override the static element styles
0580 */
0581 line[barrier],
0582 line[indoor=wall],
0583 line[man_made=embankment]
0584 {
0585 width: 0.25m;
0586 }
0587
0588 line[barrier=fence],
0589 area[barrier=fence] {
0590 width: 1px;
0591 }
0592 line[barrier=hedge] {
0593 width: 0.4m;
0594 }
0595 line[barrier=bollard] {
0596 dashes: 0.2,1.2;
0597 }
0598 line[barrier=kerb] {
0599 width: 1px;
0600 opacity: 0.5;
0601 }
0602
0603 node|z21- [barrier=block]
0604 {
0605 set .static;
0606 icon-image: "circle";
0607 icon-width: 0.5m;
0608 icon-height: 0.5m;
0609 icon-allow-icon-overlap: true;
0610 icon-allow-text-overlap: true;
0611 }
0612
0613 node|z20- [amenity=bench],
0614 node|z20- [amenity=recycling],
0615 *|z20- [amenity=shelter],
0616 node|z20- [amenity=waste_basket],
0617 *|z20- [amenity=waste_disposal]
0618 {
0619 icon-image: amenity;
0620 set .static;
0621 }
0622
0623 node|z19- [barrier=lift_gate]
0624 {
0625 icon-image: barrier;
0626 set .static;
0627 }
0628
0629 node|z20- [information=board],
0630 node|z20- [information=guidepost],
0631 node|z20- [information=map],
0632 node|z20- [information=terminal]
0633 {
0634 icon-image: information;
0635 set .static;
0636 }
0637 // hide information boards as their names clutter the vie
0638 // showing an icon instead would be better, but we don't have one yet
0639 node[information] { text: ""; }
0640
0641 *|z20- [historic=archaeological_site],
0642 *|z19- [historic=castle],
0643 *|z19- [historic=city_gate],
0644 *|z20- [historic=memorial],
0645 *|z19- [historic=monument]
0646 {
0647 icon-image: historic;
0648 set .static;
0649 }
0650 *|z20- [memorial=statue]
0651 {
0652 icon-image: memorial;
0653 set .static;
0654 }
0655
0656 *|z20- [tourism=artwork]
0657 {
0658 icon-image: tourism;
0659 set .static;
0660 }
0661 *|z20- [tourism=artwork][artwork_type=statue]
0662 {
0663 icon-image: artwork_type;
0664 set .static;
0665 }
0666
0667 *|z20- [man_made] { set .static; }
0668 *|z20- [man_made=lighthouse],
0669 *|z20- [man_made=storage_tank],
0670 *|z20- [man_made=water_tower],
0671 *|z20- [man_made=windmill]
0672 {
0673 icon-image: man_made;
0674 }
0675 *|z20- [man_made=silo] { icon-image: "storage_tank"; }
0676 *|z20- [man_made=tower][tower:type=defensive] { icon-image: "tower_defensive"; }
0677
0678 *|z21- [advertising=column ]
0679 {
0680 icon-image: "advertising_column";
0681 set .static;
0682 }
0683
0684 /** Specific amenities/shops/etc */
0685
0686 // ticket machines
0687 node|z20-[vending=public_transport_tickets] {
0688 icon-image: vending;
0689 icon-color: #fcfcfc;
0690 shield-color: #1d99f3;
0691 shield-casing-color: #fcfcfc;
0692 shield-casing-width: 1;
0693 text: "";
0694 }
0695
0696 // parking
0697 *|z17-[amenity=parking],
0698 *|z18-[amenity=bicycle_parking],
0699 *|z19-[amenity=fuel],
0700 *|z18-[amenity=motorcycle_parking]
0701 {
0702 icon-image: amenity;
0703 set .parking;
0704 }
0705 *|z-20[amenity=parking][access=private]
0706 {
0707 icon-opacity: 0.0;
0708 }
0709
0710 // vehicle rental stations
0711 *|z18-[amenity=bicycle_rental] {
0712 icon-color: #3daee9;
0713 icon-image: amenity;
0714 text: ""; // suppress generic names messing up the layouting when we have realtime data (see below)
0715 }
0716 *|z18-[amenity=bicycle_rental][mx:realtime_available=0] {
0717 icon-color: #da4453;
0718 text: mx:realtime_available;
0719 text-color: #da4453;
0720 }
0721 *|z18-[amenity=bicycle_rental][mx:realtime_available>0] {
0722 icon-color: #27ae60;
0723 text: mx:realtime_available;
0724 text-color: #27ae60;
0725 }
0726
0727 // free floating rental vehicles
0728 *|z18-[mx:vehicle=bicycle_rental],
0729 *|z18-[mx:vehicle=car_rental],
0730 *|z18-[mx:vehicle=motorcycle_rental],
0731 *|z18-[mx:vehicle=scooter_rental]
0732 {
0733 icon-image: mx:vehicle;
0734 icon-color: #27ae60;
0735 text: "";
0736 }
0737 *|z18-[mx:vehicle=bicycle_rental][mx:remaining_range<5000],
0738 *|z18-[mx:vehicle=car_rental][mx:remaining_range<30000],
0739 *|z18-[mx:vehicle=motorcycle_rental][mx:remaining_range<5000],
0740 *|z18-[mx:vehicle=scooter_rental][mx:remaining_range<5000]
0741 {
0742 icon-color: #fdbc4b;
0743 }
0744
0745 // charging stations
0746 node|z19-[amenity=charging_station] {
0747 set .parking;
0748 icon-image: "charging_station";
0749 }
0750 node|z19-[amenity=charging_station][access=private] { icon-color: #7f8c8d; }
0751
0752 // other transportation-related elements
0753 *|z19-[amenity=boat_rental],
0754 *|z19-[amenity=bicycle_repair_station],
0755 *|z19-[amenity=car_rental],
0756 *|z19-[amenity=car_sharing],
0757 *|z18-[amenity=taxi]
0758 {
0759 set .parking;
0760 icon-image: amenity;
0761 }
0762 *|z21-[amenity=taxi] { text: ""; }
0763 *|z19-[amenity=car_sharing] { icon-image: "car_rental"; } // TODO needs a better icon
0764 node|z19-[barrier=toll_booth]
0765 {
0766 set .parking;
0767 icon-image: barrier;
0768 }
0769
0770 // restrooms
0771 area|z20-[amenity=shower] { icon-image: "shower"; }
0772 node|z20-[amenity=shower]
0773 {
0774 icon-color: #3daee9;
0775 icon-image: "shower";
0776 }
0777 area|z18-[amenity=toilets],
0778 area|z18-[room=toilets]
0779 {
0780 icon-image: "toilets";
0781 }
0782 node|z18-[amenity=toilets] { // only for stand-alone nodes, otherwise we have the same color as the room already
0783 icon-color: #3daee9;
0784 icon-image: "toilets";
0785 }
0786 *[amenity=toilets][access=private],
0787 *[room=toilets][access=private]
0788 {
0789 icon-color: #7f8c8d;
0790 }
0791 *|z-21[amenity=toilets][access=private],
0792 *|z-21[room=toilets][access=private]
0793 {
0794 icon-opacity: 0.0;
0795 }
0796
0797 // accommodation
0798 *|z19- [tourism=apartment],
0799 *|z18- [tourism=caravan_site],
0800 *|z19- [tourism=chalet],
0801 *|z18- [tourism=hotel],
0802 *|z19- [tourism=guest_house],
0803 *|z18- [tourism=hostel]
0804 {
0805 icon-color: #3daee9;
0806 icon-image: tourism;
0807 }
0808 *|z20- [tourism=hotel],
0809 *|z20- [tourism=hostel]
0810 {
0811 text: name;
0812 max-width: 150;
0813 text-halo-radius: 2.0;
0814 }
0815
0816 // food
0817 *|z19- [amenity=bar],
0818 *|z19- [amenity=biergarten],
0819 *|z19- [amenity=cafe],
0820 *|z19- [amenity=fast_food],
0821 *|z18- [amenity=food_court],
0822 *|z19- [amenity=ice_cream],
0823 *|z19- [amenity=pub],
0824 *|z19- [amenity=restaurant]
0825 {
0826 icon-image: amenity;
0827 set .food;
0828 }
0829 *|z18-[amenity=food_court] { icon-image: "restaurant"; }
0830
0831 // shops
0832 * [shop] { set .shop; }
0833
0834 *|z19- [shop=alcohol],
0835 *|z20- [shop=art],
0836 *|z19- [shop=bag],
0837 *|z19- [shop=bakery],
0838 *|z19- [shop=beauty],
0839 *|z19- [shop=bed],
0840 *|z19- [shop=beverages],
0841 *|z19- [shop=bicycle],
0842 *|z20- [shop=bookmaker],
0843 *|z19- [shop=butcher],
0844 *|z19- [shop=car],
0845 *|z20- [shop=car_parts],
0846 *|z20- [shop=car_repair],
0847 *|z20- [shop=carpet],
0848 *|z19- [shop=charity],
0849 *|z19- [shop=chemist],
0850 *|z19- [shop=clothes],
0851 *|z19- [shop=coffee],
0852 *|z19- [shop=computer],
0853 *|z19- [shop=confectionery],
0854 *|z19- [shop=convenience],
0855 *|z19- [shop=copyshop],
0856 *|z19- [shop=dairy],
0857 *|z19- [shop=deli],
0858 *|z18- [shop=department_store],
0859 *|z19- [shop=doityourself],
0860 *|z19- [shop=electronics],
0861 *|z20- [shop=fabric],
0862 *|z19- [shop=florist],
0863 *|z19- [shop=furniture],
0864 *|z19- [shop=garden_centre],
0865 *|z19- [shop=gift],
0866 *|z19- [shop=greengrocer],
0867 *|z19- [shop=hairdresser],
0868 *|z19- [shop=hifi],
0869 *|z19- [shop=houseware],
0870 *|z19- [shop=interior_decoration],
0871 *|z19- [shop=jewelry],
0872 *|z19- [shop=laundry],
0873 *|z19- [shop=medical_supply],
0874 *|z19- [shop=mobile_phone],
0875 *|z20- [shop=motorcycle],
0876 *|z19- [shop=music],
0877 *|z19- [shop=musical_instrument],
0878 *|z19- [shop=newsagent],
0879 *|z19- [shop=optician],
0880 *|z19- [shop=outdoor],
0881 *|z19- [shop=paint],
0882 *|z19- [shop=perfumery],
0883 *|z19- [shop=pet],
0884 *|z19- [shop=photo],
0885 *|z19- [shop=seafood],
0886 *|z19- [shop=second_hand],
0887 *|z19- [shop=shoes],
0888 *|z19- [shop=sports],
0889 *|z19- [shop=stationery],
0890 *|z18- [shop=supermarket],
0891 *|z19- [shop=tea],
0892 *|z18- [shop=ticket],
0893 *|z19- [shop=tobacco],
0894 *|z19- [shop=toys],
0895 *|z19- [shop=trade],
0896 *|z19- [shop=travel_agency],
0897 *|z20- [shop=tyres],
0898 *|z20- [shop=video],
0899 *|z19- [shop=video_games],
0900 *|z19- [shop=variety_store]
0901 {
0902 icon-image: shop;
0903 }
0904 *|z19- [shop=books] { icon-image: "library"; }
0905 *|z19- [shop=boutique] { icon-image: "clothes"; }
0906 *|z19- [shop=chocolate] { icon-image: "confectionery"; }
0907 *|z19- [shop=cosmetics] { icon-image: "perfumery"; }
0908 *|z19- [shop=dry_cleaning] { icon-image: "laundry"; }
0909 *|z19- [shop=hardware] { icon-image: "doityourself"; }
0910 *|z19- [shop=farm] { icon-image: "greengrocer"; }
0911 *|z19- [shop=fashion] { icon-image: "clothes"; }
0912 *|z19- [shop=kiosk] { icon-image: "newsagent"; }
0913 *|z19- [shop=pastry] { icon-image: "confectionery"; }
0914 *|z19- [shop=wine] { icon-image: "alcohol"; }
0915 *|z19- [shop=wholesale] { icon-image: "trade"; }
0916 *|z19- [office=travel_agent]
0917 {
0918 icon-image: "travel_agency";
0919 set .shop;
0920 }
0921
0922 *|z18- [amenity=marketplace]
0923 {
0924 icon-image: amenity;
0925 set .shop;
0926 }
0927
0928 // health
0929 *|z19- [amenity=dentist],
0930 *|z19- [amenity=doctors],
0931 *|z17- [amenity=hospital],
0932 *|z18- [amenity=pharmacy],
0933 *|z20- [amenity=veterinary]
0934 {
0935 icon-image: amenity;
0936 set .health;
0937 }
0938 *|z19- [amenity=clinic]
0939 {
0940 icon-image: "doctors";
0941 set .health;
0942 }
0943
0944 // leisure elements
0945 *|z18- [leisure] { set .leisure; }
0946 *|z19- [leisure=bowling_alley],
0947 *|z19- [leisure=fitness_centre],
0948 *|z18- [leisure=golf_course],
0949 *|z19- [leisure=miniature_golf],
0950 *|z20- [leisure=outdoor_seating],
0951 *|z18- [leisure=playground],
0952 *|z20- [leisure=sauna],
0953 *|z18- [leisure=water_park]
0954 {
0955 icon-image: leisure;
0956 }
0957 *|z18- [leisure=sports_centre][sport=swimming] { icon-image: "water_park"; }
0958 *|z19- [leisure=fitness_station] { icon-image: "fitness_centre"; }
0959 *|z20- [shop=massage]
0960 {
0961 icon-image: shop;
0962 set .leisure;
0963 }
0964 *|z20- [tourism=picnic_site]
0965 {
0966 icon-image: tourism;
0967 set .leisure;
0968 }
0969
0970 // other amenities
0971 *|z19- [amenity=arts_centre],
0972 node|z19- [amenity=atm],
0973 *|z19- [amenity=bank],
0974 *|z19- [amenity=bbq],
0975 *|z19- [amenity=bureau_de_change],
0976 *|z20- [amenity=car_wash],
0977 *|z20- [amenity=casino],
0978 *|z19- [amenity=cinema],
0979 *|z20- [amenity=community_centre],
0980 *|z20- [amenity=courthouse],
0981 node|z19- [amenity=drinking_water],
0982 *|z19- [amenity=embassy],
0983 *|z19- [amenity=fire_station],
0984 *|z19- [amenity=internet_cafe],
0985 *|z19- [amenity=library],
0986 *|z20- [amenity=lost_property_office],
0987 *|z19- [amenity=luggage_locker],
0988 *|z20- [amenity=nightclub],
0989 *|z19- [amenity=place_of_worship],
0990 *|z19- [amenity=police],
0991 node|z20- [amenity=post_box],
0992 *|z19- [amenity=post_office],
0993 *|z19- [amenity=prison],
0994 *|z19- [amenity=public_bath],
0995 *|z21- [amenity=public_bookcase],
0996 *|z20- [amenity=recycling],
0997 *|z19- [amenity=social_facility],
0998 node|z20- [amenity=telephone],
0999 *|z19- [amenity=theatre],
1000 *|z20- [amenity=townhall],
1001 *|z19- [amenity=vehicle_inspection]
1002 {
1003 icon-image: amenity;
1004 set .amenity;
1005 }
1006 *|z19- [shop=bank]
1007 {
1008 icon-image: shop;
1009 set .amenity;
1010 }
1011 node|z19- [vending=parking_tickets]
1012 {
1013 icon-image: vending;
1014 set .amenity;
1015 }
1016 *|z18- [tourism=information][!information],
1017 *|z19- [tourism=museum],
1018 *|z20- [tourism=viewpoint]
1019 {
1020 icon-image: tourism;
1021 set .amenity;
1022 }
1023 *|z19- [tourism=gallery]
1024 {
1025 icon-image: "art";
1026 set .amenity;
1027 }
1028
1029 node|z20- [emergency=phone]
1030 {
1031 icon-image: "emergency_phone";
1032 set .amenity;
1033 }
1034 node|z20- [leisure=firepit]
1035 {
1036 icon-image: leisure;
1037 set .amenity;
1038 }
1039 *|z19- [diplomatic=consulate],
1040 *|z19- [diplomatic=embassy]
1041 {
1042 icon-image: diplomatic;
1043 set .amenity;
1044 }
1045 *|z18- [information=office]
1046 {
1047 icon-image: information;
1048 set .amenity;
1049 }
1050
1051 node|z19- [amenity=atm],
1052 node|z19- [amenity=drinking_water]
1053 {
1054 text: "";
1055 }
1056
1057 *|z19- [amenity=left_luggage],
1058 *|z19- [amenity=locker],
1059 *|z19- [amenity=lockers]
1060 {
1061 icon-image: "luggage_locker";
1062 set .amenity;
1063 }
1064 *|z20- [amenity=lost_and_found],
1065 *|z20- [amenity=lost_found],
1066 *|z20- [amenity=lost_property],
1067 *|z20- [office=lost_property],
1068 *|z20- [office=lost_and_found]
1069 {
1070 icon-image: "lost_property_office";
1071 set .amenity;
1072 }
1073
1074 /** Stairwells */
1075 area|z20-[indoor=area][stairs=yes],
1076 area|z20-[indoor=room][stairs=yes]
1077 {
1078 icon-image: "stairs";
1079 }
1080
1081 /** Elevators/escalators. */
1082 area[building=elevator],
1083 area[building:part=elevator],
1084 area[building=yes][elevator=yes][!tourism][!shop][!amenity],
1085 area[building:part=yes][elevator=yes],
1086 area[highway=elevator],
1087 area[room=elevator],
1088 area[stairwell=elevator],
1089 area[indoor=room][elevator=yes]
1090 {
1091 set .elevator;
1092 width: 1px;
1093 z-index: 1;
1094 }
1095
1096 area.elevator|z20- {
1097 icon-image: "elevator";
1098 icon-color: #eff0f1;
1099 }
1100
1101 node[highway=elevator][access!=no][access!=private]
1102 {
1103 set .elevator;
1104 icon-image: "elevator";
1105 }
1106
1107 line[highway=footway][conveying=yes],
1108 line[highway=footway][conveying=forward],
1109 line[highway=footway][conveying=backward],
1110 line[highway=footway][conveying=reversible],
1111 line[highway=steps][conveying=yes],
1112 line[highway=steps][conveying=forward],
1113 line[highway=steps][conveying=backward],
1114 line[highway=steps][conveying=reversible]
1115 {
1116 set .escalator;
1117 casing-linecap: none;
1118 }