[openstreetmap-carto] 01/05: Imported Upstream version 2.36.0

Sebastiaan Couwenberg sebastic at moszumanska.debian.org
Sun Nov 1 13:53:07 UTC 2015


This is an automated email from the git hooks/post-receive script.

sebastic pushed a commit to branch master
in repository openstreetmap-carto.

commit ad5e8a940b081b394212707864f9f509795e25d6
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date:   Sun Nov 1 14:37:57 2015 +0100

    Imported Upstream version 2.36.0
---
 CONTRIBUTING.md                        |   72 +-
 INSTALL.md                             |   30 +-
 README.md                              |   35 +-
 amenity-points.mss                     | 1041 +++++++++-------------
 get-shapefiles.sh                      |   27 +-
 landcover.mss                          |    2 +-
 placenames.mss                         |   66 +-
 preview.png                            |  Bin 79418 -> 83754 bytes
 project.mml                            |  116 +--
 project.yaml                           |  450 +++++++---
 roads.mss                              | 1266 +++++++++++++++++---------
 scripts/create_shield                  |   34 -
 scripts/create_standard_shields        |   49 -
 scripts/generate_road_colours.py       |  122 +++
 scripts/generate_shields.py            |  132 +++
 scripts/shop_values.rb                 |    8 +
 scripts/travis_check_project_files     |    2 +-
 scripts/yaml2mml.py                    |   31 +-
 shapefiles.mss                         |   27 +-
 stations.mss                           |   67 +-
 symbols/bag-14.svg                     |   40 +
 symbols/car_share.p.16.png             |  Bin 489 -> 0 bytes
 symbols/car_wash-14.svg                |   31 +
 symbols/christian.9.svg                |   13 +
 symbols/fountain-14.svg                |   38 +
 symbols/generating_patterns/quarry.md  |   19 +
 symbols/generating_patterns/quarry.svg | 1523 ++++++++++++++++++++++++++++++++
 symbols/glacier.png                    |  Bin 179 -> 0 bytes
 symbols/oneway-reverse.svg             |   32 +
 symbols/oneway.svg                     |   32 +
 symbols/outdoor-14.svg                 |   38 +
 symbols/shields/motorway_10x1.svg      |    7 +-
 symbols/shields/motorway_10x1_z16.svg  |    4 +
 symbols/shields/motorway_10x1_z18.svg  |    4 +
 symbols/shields/motorway_10x2.svg      |    7 +-
 symbols/shields/motorway_10x2_z16.svg  |    4 +
 symbols/shields/motorway_10x2_z18.svg  |    4 +
 symbols/shields/motorway_10x3.svg      |    7 +-
 symbols/shields/motorway_10x3_z16.svg  |    4 +
 symbols/shields/motorway_10x3_z18.svg  |    4 +
 symbols/shields/motorway_10x4.svg      |    7 +-
 symbols/shields/motorway_10x4_z16.svg  |    4 +
 symbols/shields/motorway_10x4_z18.svg  |    4 +
 symbols/shields/motorway_11x1.svg      |    7 +-
 symbols/shields/motorway_11x1_z16.svg  |    4 +
 symbols/shields/motorway_11x1_z18.svg  |    4 +
 symbols/shields/motorway_11x2.svg      |    7 +-
 symbols/shields/motorway_11x2_z16.svg  |    4 +
 symbols/shields/motorway_11x2_z18.svg  |    4 +
 symbols/shields/motorway_11x3.svg      |    7 +-
 symbols/shields/motorway_11x3_z16.svg  |    4 +
 symbols/shields/motorway_11x3_z18.svg  |    4 +
 symbols/shields/motorway_11x4.svg      |    7 +-
 symbols/shields/motorway_11x4_z16.svg  |    4 +
 symbols/shields/motorway_11x4_z18.svg  |    4 +
 symbols/shields/motorway_1x1.svg       |    7 +-
 symbols/shields/motorway_1x1_z16.svg   |    4 +
 symbols/shields/motorway_1x1_z18.svg   |    4 +
 symbols/shields/motorway_1x2.svg       |    7 +-
 symbols/shields/motorway_1x2_z16.svg   |    4 +
 symbols/shields/motorway_1x2_z18.svg   |    4 +
 symbols/shields/motorway_1x3.svg       |    7 +-
 symbols/shields/motorway_1x3_z16.svg   |    4 +
 symbols/shields/motorway_1x3_z18.svg   |    4 +
 symbols/shields/motorway_1x4.svg       |    7 +-
 symbols/shields/motorway_1x4_z16.svg   |    4 +
 symbols/shields/motorway_1x4_z18.svg   |    4 +
 symbols/shields/motorway_2x1.svg       |    7 +-
 symbols/shields/motorway_2x1_z16.svg   |    4 +
 symbols/shields/motorway_2x1_z18.svg   |    4 +
 symbols/shields/motorway_2x2.svg       |    7 +-
 symbols/shields/motorway_2x2_z16.svg   |    4 +
 symbols/shields/motorway_2x2_z18.svg   |    4 +
 symbols/shields/motorway_2x3.svg       |    7 +-
 symbols/shields/motorway_2x3_z16.svg   |    4 +
 symbols/shields/motorway_2x3_z18.svg   |    4 +
 symbols/shields/motorway_2x4.svg       |    7 +-
 symbols/shields/motorway_2x4_z16.svg   |    4 +
 symbols/shields/motorway_2x4_z18.svg   |    4 +
 symbols/shields/motorway_3x1.svg       |    7 +-
 symbols/shields/motorway_3x1_z16.svg   |    4 +
 symbols/shields/motorway_3x1_z18.svg   |    4 +
 symbols/shields/motorway_3x2.svg       |    7 +-
 symbols/shields/motorway_3x2_z16.svg   |    4 +
 symbols/shields/motorway_3x2_z18.svg   |    4 +
 symbols/shields/motorway_3x3.svg       |    7 +-
 symbols/shields/motorway_3x3_z16.svg   |    4 +
 symbols/shields/motorway_3x3_z18.svg   |    4 +
 symbols/shields/motorway_3x4.svg       |    7 +-
 symbols/shields/motorway_3x4_z16.svg   |    4 +
 symbols/shields/motorway_3x4_z18.svg   |    4 +
 symbols/shields/motorway_4x1.svg       |    7 +-
 symbols/shields/motorway_4x1_z16.svg   |    4 +
 symbols/shields/motorway_4x1_z18.svg   |    4 +
 symbols/shields/motorway_4x2.svg       |    7 +-
 symbols/shields/motorway_4x2_z16.svg   |    4 +
 symbols/shields/motorway_4x2_z18.svg   |    4 +
 symbols/shields/motorway_4x3.svg       |    7 +-
 symbols/shields/motorway_4x3_z16.svg   |    4 +
 symbols/shields/motorway_4x3_z18.svg   |    4 +
 symbols/shields/motorway_4x4.svg       |    7 +-
 symbols/shields/motorway_4x4_z16.svg   |    4 +
 symbols/shields/motorway_4x4_z18.svg   |    4 +
 symbols/shields/motorway_5x1.svg       |    7 +-
 symbols/shields/motorway_5x1_z16.svg   |    4 +
 symbols/shields/motorway_5x1_z18.svg   |    4 +
 symbols/shields/motorway_5x2.svg       |    7 +-
 symbols/shields/motorway_5x2_z16.svg   |    4 +
 symbols/shields/motorway_5x2_z18.svg   |    4 +
 symbols/shields/motorway_5x3.svg       |    7 +-
 symbols/shields/motorway_5x3_z16.svg   |    4 +
 symbols/shields/motorway_5x3_z18.svg   |    4 +
 symbols/shields/motorway_5x4.svg       |    7 +-
 symbols/shields/motorway_5x4_z16.svg   |    4 +
 symbols/shields/motorway_5x4_z18.svg   |    4 +
 symbols/shields/motorway_6x1.svg       |    7 +-
 symbols/shields/motorway_6x1_z16.svg   |    4 +
 symbols/shields/motorway_6x1_z18.svg   |    4 +
 symbols/shields/motorway_6x2.svg       |    7 +-
 symbols/shields/motorway_6x2_z16.svg   |    4 +
 symbols/shields/motorway_6x2_z18.svg   |    4 +
 symbols/shields/motorway_6x3.svg       |    7 +-
 symbols/shields/motorway_6x3_z16.svg   |    4 +
 symbols/shields/motorway_6x3_z18.svg   |    4 +
 symbols/shields/motorway_6x4.svg       |    7 +-
 symbols/shields/motorway_6x4_z16.svg   |    4 +
 symbols/shields/motorway_6x4_z18.svg   |    4 +
 symbols/shields/motorway_7x1.svg       |    7 +-
 symbols/shields/motorway_7x1_z16.svg   |    4 +
 symbols/shields/motorway_7x1_z18.svg   |    4 +
 symbols/shields/motorway_7x2.svg       |    7 +-
 symbols/shields/motorway_7x2_z16.svg   |    4 +
 symbols/shields/motorway_7x2_z18.svg   |    4 +
 symbols/shields/motorway_7x3.svg       |    7 +-
 symbols/shields/motorway_7x3_z16.svg   |    4 +
 symbols/shields/motorway_7x3_z18.svg   |    4 +
 symbols/shields/motorway_7x4.svg       |    7 +-
 symbols/shields/motorway_7x4_z16.svg   |    4 +
 symbols/shields/motorway_7x4_z18.svg   |    4 +
 symbols/shields/motorway_8x1.svg       |    7 +-
 symbols/shields/motorway_8x1_z16.svg   |    4 +
 symbols/shields/motorway_8x1_z18.svg   |    4 +
 symbols/shields/motorway_8x2.svg       |    7 +-
 symbols/shields/motorway_8x2_z16.svg   |    4 +
 symbols/shields/motorway_8x2_z18.svg   |    4 +
 symbols/shields/motorway_8x3.svg       |    7 +-
 symbols/shields/motorway_8x3_z16.svg   |    4 +
 symbols/shields/motorway_8x3_z18.svg   |    4 +
 symbols/shields/motorway_8x4.svg       |    7 +-
 symbols/shields/motorway_8x4_z16.svg   |    4 +
 symbols/shields/motorway_8x4_z18.svg   |    4 +
 symbols/shields/motorway_9x1.svg       |    7 +-
 symbols/shields/motorway_9x1_z16.svg   |    4 +
 symbols/shields/motorway_9x1_z18.svg   |    4 +
 symbols/shields/motorway_9x2.svg       |    7 +-
 symbols/shields/motorway_9x2_z16.svg   |    4 +
 symbols/shields/motorway_9x2_z18.svg   |    4 +
 symbols/shields/motorway_9x3.svg       |    7 +-
 symbols/shields/motorway_9x3_z16.svg   |    4 +
 symbols/shields/motorway_9x3_z18.svg   |    4 +
 symbols/shields/motorway_9x4.svg       |    7 +-
 symbols/shields/motorway_9x4_z16.svg   |    4 +
 symbols/shields/motorway_9x4_z18.svg   |    4 +
 symbols/shields/primary_10x1.svg       |    7 +-
 symbols/shields/primary_10x1_z16.svg   |    4 +
 symbols/shields/primary_10x1_z18.svg   |    4 +
 symbols/shields/primary_10x2.svg       |    7 +-
 symbols/shields/primary_10x2_z16.svg   |    4 +
 symbols/shields/primary_10x2_z18.svg   |    4 +
 symbols/shields/primary_10x3.svg       |    7 +-
 symbols/shields/primary_10x3_z16.svg   |    4 +
 symbols/shields/primary_10x3_z18.svg   |    4 +
 symbols/shields/primary_10x4.svg       |    7 +-
 symbols/shields/primary_10x4_z16.svg   |    4 +
 symbols/shields/primary_10x4_z18.svg   |    4 +
 symbols/shields/primary_11x1.svg       |    7 +-
 symbols/shields/primary_11x1_z16.svg   |    4 +
 symbols/shields/primary_11x1_z18.svg   |    4 +
 symbols/shields/primary_11x2.svg       |    7 +-
 symbols/shields/primary_11x2_z16.svg   |    4 +
 symbols/shields/primary_11x2_z18.svg   |    4 +
 symbols/shields/primary_11x3.svg       |    7 +-
 symbols/shields/primary_11x3_z16.svg   |    4 +
 symbols/shields/primary_11x3_z18.svg   |    4 +
 symbols/shields/primary_11x4.svg       |    7 +-
 symbols/shields/primary_11x4_z16.svg   |    4 +
 symbols/shields/primary_11x4_z18.svg   |    4 +
 symbols/shields/primary_1x1.svg        |    7 +-
 symbols/shields/primary_1x1_z16.svg    |    4 +
 symbols/shields/primary_1x1_z18.svg    |    4 +
 symbols/shields/primary_1x2.svg        |    7 +-
 symbols/shields/primary_1x2_z16.svg    |    4 +
 symbols/shields/primary_1x2_z18.svg    |    4 +
 symbols/shields/primary_1x3.svg        |    7 +-
 symbols/shields/primary_1x3_z16.svg    |    4 +
 symbols/shields/primary_1x3_z18.svg    |    4 +
 symbols/shields/primary_1x4.svg        |    7 +-
 symbols/shields/primary_1x4_z16.svg    |    4 +
 symbols/shields/primary_1x4_z18.svg    |    4 +
 symbols/shields/primary_2x1.svg        |    7 +-
 symbols/shields/primary_2x1_z16.svg    |    4 +
 symbols/shields/primary_2x1_z18.svg    |    4 +
 symbols/shields/primary_2x2.svg        |    7 +-
 symbols/shields/primary_2x2_z16.svg    |    4 +
 symbols/shields/primary_2x2_z18.svg    |    4 +
 symbols/shields/primary_2x3.svg        |    7 +-
 symbols/shields/primary_2x3_z16.svg    |    4 +
 symbols/shields/primary_2x3_z18.svg    |    4 +
 symbols/shields/primary_2x4.svg        |    7 +-
 symbols/shields/primary_2x4_z16.svg    |    4 +
 symbols/shields/primary_2x4_z18.svg    |    4 +
 symbols/shields/primary_3x1.svg        |    7 +-
 symbols/shields/primary_3x1_z16.svg    |    4 +
 symbols/shields/primary_3x1_z18.svg    |    4 +
 symbols/shields/primary_3x2.svg        |    7 +-
 symbols/shields/primary_3x2_z16.svg    |    4 +
 symbols/shields/primary_3x2_z18.svg    |    4 +
 symbols/shields/primary_3x3.svg        |    7 +-
 symbols/shields/primary_3x3_z16.svg    |    4 +
 symbols/shields/primary_3x3_z18.svg    |    4 +
 symbols/shields/primary_3x4.svg        |    7 +-
 symbols/shields/primary_3x4_z16.svg    |    4 +
 symbols/shields/primary_3x4_z18.svg    |    4 +
 symbols/shields/primary_4x1.svg        |    7 +-
 symbols/shields/primary_4x1_z16.svg    |    4 +
 symbols/shields/primary_4x1_z18.svg    |    4 +
 symbols/shields/primary_4x2.svg        |    7 +-
 symbols/shields/primary_4x2_z16.svg    |    4 +
 symbols/shields/primary_4x2_z18.svg    |    4 +
 symbols/shields/primary_4x3.svg        |    7 +-
 symbols/shields/primary_4x3_z16.svg    |    4 +
 symbols/shields/primary_4x3_z18.svg    |    4 +
 symbols/shields/primary_4x4.svg        |    7 +-
 symbols/shields/primary_4x4_z16.svg    |    4 +
 symbols/shields/primary_4x4_z18.svg    |    4 +
 symbols/shields/primary_5x1.svg        |    7 +-
 symbols/shields/primary_5x1_z16.svg    |    4 +
 symbols/shields/primary_5x1_z18.svg    |    4 +
 symbols/shields/primary_5x2.svg        |    7 +-
 symbols/shields/primary_5x2_z16.svg    |    4 +
 symbols/shields/primary_5x2_z18.svg    |    4 +
 symbols/shields/primary_5x3.svg        |    7 +-
 symbols/shields/primary_5x3_z16.svg    |    4 +
 symbols/shields/primary_5x3_z18.svg    |    4 +
 symbols/shields/primary_5x4.svg        |    7 +-
 symbols/shields/primary_5x4_z16.svg    |    4 +
 symbols/shields/primary_5x4_z18.svg    |    4 +
 symbols/shields/primary_6x1.svg        |    7 +-
 symbols/shields/primary_6x1_z16.svg    |    4 +
 symbols/shields/primary_6x1_z18.svg    |    4 +
 symbols/shields/primary_6x2.svg        |    7 +-
 symbols/shields/primary_6x2_z16.svg    |    4 +
 symbols/shields/primary_6x2_z18.svg    |    4 +
 symbols/shields/primary_6x3.svg        |    7 +-
 symbols/shields/primary_6x3_z16.svg    |    4 +
 symbols/shields/primary_6x3_z18.svg    |    4 +
 symbols/shields/primary_6x4.svg        |    7 +-
 symbols/shields/primary_6x4_z16.svg    |    4 +
 symbols/shields/primary_6x4_z18.svg    |    4 +
 symbols/shields/primary_7x1.svg        |    7 +-
 symbols/shields/primary_7x1_z16.svg    |    4 +
 symbols/shields/primary_7x1_z18.svg    |    4 +
 symbols/shields/primary_7x2.svg        |    7 +-
 symbols/shields/primary_7x2_z16.svg    |    4 +
 symbols/shields/primary_7x2_z18.svg    |    4 +
 symbols/shields/primary_7x3.svg        |    7 +-
 symbols/shields/primary_7x3_z16.svg    |    4 +
 symbols/shields/primary_7x3_z18.svg    |    4 +
 symbols/shields/primary_7x4.svg        |    7 +-
 symbols/shields/primary_7x4_z16.svg    |    4 +
 symbols/shields/primary_7x4_z18.svg    |    4 +
 symbols/shields/primary_8x1.svg        |    7 +-
 symbols/shields/primary_8x1_z16.svg    |    4 +
 symbols/shields/primary_8x1_z18.svg    |    4 +
 symbols/shields/primary_8x2.svg        |    7 +-
 symbols/shields/primary_8x2_z16.svg    |    4 +
 symbols/shields/primary_8x2_z18.svg    |    4 +
 symbols/shields/primary_8x3.svg        |    7 +-
 symbols/shields/primary_8x3_z16.svg    |    4 +
 symbols/shields/primary_8x3_z18.svg    |    4 +
 symbols/shields/primary_8x4.svg        |    7 +-
 symbols/shields/primary_8x4_z16.svg    |    4 +
 symbols/shields/primary_8x4_z18.svg    |    4 +
 symbols/shields/primary_9x1.svg        |    7 +-
 symbols/shields/primary_9x1_z16.svg    |    4 +
 symbols/shields/primary_9x1_z18.svg    |    4 +
 symbols/shields/primary_9x2.svg        |    7 +-
 symbols/shields/primary_9x2_z16.svg    |    4 +
 symbols/shields/primary_9x2_z18.svg    |    4 +
 symbols/shields/primary_9x3.svg        |    7 +-
 symbols/shields/primary_9x3_z16.svg    |    4 +
 symbols/shields/primary_9x3_z18.svg    |    4 +
 symbols/shields/primary_9x4.svg        |    7 +-
 symbols/shields/primary_9x4_z16.svg    |    4 +
 symbols/shields/primary_9x4_z18.svg    |    4 +
 symbols/shields/secondary_10x1.svg     |    7 +-
 symbols/shields/secondary_10x1_z16.svg |    4 +
 symbols/shields/secondary_10x1_z18.svg |    4 +
 symbols/shields/secondary_10x2.svg     |    7 +-
 symbols/shields/secondary_10x2_z16.svg |    4 +
 symbols/shields/secondary_10x2_z18.svg |    4 +
 symbols/shields/secondary_10x3.svg     |    7 +-
 symbols/shields/secondary_10x3_z16.svg |    4 +
 symbols/shields/secondary_10x3_z18.svg |    4 +
 symbols/shields/secondary_10x4.svg     |    7 +-
 symbols/shields/secondary_10x4_z16.svg |    4 +
 symbols/shields/secondary_10x4_z18.svg |    4 +
 symbols/shields/secondary_11x1.svg     |    7 +-
 symbols/shields/secondary_11x1_z16.svg |    4 +
 symbols/shields/secondary_11x1_z18.svg |    4 +
 symbols/shields/secondary_11x2.svg     |    7 +-
 symbols/shields/secondary_11x2_z16.svg |    4 +
 symbols/shields/secondary_11x2_z18.svg |    4 +
 symbols/shields/secondary_11x3.svg     |    7 +-
 symbols/shields/secondary_11x3_z16.svg |    4 +
 symbols/shields/secondary_11x3_z18.svg |    4 +
 symbols/shields/secondary_11x4.svg     |    7 +-
 symbols/shields/secondary_11x4_z16.svg |    4 +
 symbols/shields/secondary_11x4_z18.svg |    4 +
 symbols/shields/secondary_1x1.svg      |    7 +-
 symbols/shields/secondary_1x1_z16.svg  |    4 +
 symbols/shields/secondary_1x1_z18.svg  |    4 +
 symbols/shields/secondary_1x2.svg      |    7 +-
 symbols/shields/secondary_1x2_z16.svg  |    4 +
 symbols/shields/secondary_1x2_z18.svg  |    4 +
 symbols/shields/secondary_1x3.svg      |    7 +-
 symbols/shields/secondary_1x3_z16.svg  |    4 +
 symbols/shields/secondary_1x3_z18.svg  |    4 +
 symbols/shields/secondary_1x4.svg      |    7 +-
 symbols/shields/secondary_1x4_z16.svg  |    4 +
 symbols/shields/secondary_1x4_z18.svg  |    4 +
 symbols/shields/secondary_2x1.svg      |    7 +-
 symbols/shields/secondary_2x1_z16.svg  |    4 +
 symbols/shields/secondary_2x1_z18.svg  |    4 +
 symbols/shields/secondary_2x2.svg      |    7 +-
 symbols/shields/secondary_2x2_z16.svg  |    4 +
 symbols/shields/secondary_2x2_z18.svg  |    4 +
 symbols/shields/secondary_2x3.svg      |    7 +-
 symbols/shields/secondary_2x3_z16.svg  |    4 +
 symbols/shields/secondary_2x3_z18.svg  |    4 +
 symbols/shields/secondary_2x4.svg      |    7 +-
 symbols/shields/secondary_2x4_z16.svg  |    4 +
 symbols/shields/secondary_2x4_z18.svg  |    4 +
 symbols/shields/secondary_3x1.svg      |    7 +-
 symbols/shields/secondary_3x1_z16.svg  |    4 +
 symbols/shields/secondary_3x1_z18.svg  |    4 +
 symbols/shields/secondary_3x2.svg      |    7 +-
 symbols/shields/secondary_3x2_z16.svg  |    4 +
 symbols/shields/secondary_3x2_z18.svg  |    4 +
 symbols/shields/secondary_3x3.svg      |    7 +-
 symbols/shields/secondary_3x3_z16.svg  |    4 +
 symbols/shields/secondary_3x3_z18.svg  |    4 +
 symbols/shields/secondary_3x4.svg      |    7 +-
 symbols/shields/secondary_3x4_z16.svg  |    4 +
 symbols/shields/secondary_3x4_z18.svg  |    4 +
 symbols/shields/secondary_4x1.svg      |    7 +-
 symbols/shields/secondary_4x1_z16.svg  |    4 +
 symbols/shields/secondary_4x1_z18.svg  |    4 +
 symbols/shields/secondary_4x2.svg      |    7 +-
 symbols/shields/secondary_4x2_z16.svg  |    4 +
 symbols/shields/secondary_4x2_z18.svg  |    4 +
 symbols/shields/secondary_4x3.svg      |    7 +-
 symbols/shields/secondary_4x3_z16.svg  |    4 +
 symbols/shields/secondary_4x3_z18.svg  |    4 +
 symbols/shields/secondary_4x4.svg      |    7 +-
 symbols/shields/secondary_4x4_z16.svg  |    4 +
 symbols/shields/secondary_4x4_z18.svg  |    4 +
 symbols/shields/secondary_5x1.svg      |    7 +-
 symbols/shields/secondary_5x1_z16.svg  |    4 +
 symbols/shields/secondary_5x1_z18.svg  |    4 +
 symbols/shields/secondary_5x2.svg      |    7 +-
 symbols/shields/secondary_5x2_z16.svg  |    4 +
 symbols/shields/secondary_5x2_z18.svg  |    4 +
 symbols/shields/secondary_5x3.svg      |    7 +-
 symbols/shields/secondary_5x3_z16.svg  |    4 +
 symbols/shields/secondary_5x3_z18.svg  |    4 +
 symbols/shields/secondary_5x4.svg      |    7 +-
 symbols/shields/secondary_5x4_z16.svg  |    4 +
 symbols/shields/secondary_5x4_z18.svg  |    4 +
 symbols/shields/secondary_6x1.svg      |    7 +-
 symbols/shields/secondary_6x1_z16.svg  |    4 +
 symbols/shields/secondary_6x1_z18.svg  |    4 +
 symbols/shields/secondary_6x2.svg      |    7 +-
 symbols/shields/secondary_6x2_z16.svg  |    4 +
 symbols/shields/secondary_6x2_z18.svg  |    4 +
 symbols/shields/secondary_6x3.svg      |    7 +-
 symbols/shields/secondary_6x3_z16.svg  |    4 +
 symbols/shields/secondary_6x3_z18.svg  |    4 +
 symbols/shields/secondary_6x4.svg      |    7 +-
 symbols/shields/secondary_6x4_z16.svg  |    4 +
 symbols/shields/secondary_6x4_z18.svg  |    4 +
 symbols/shields/secondary_7x1.svg      |    7 +-
 symbols/shields/secondary_7x1_z16.svg  |    4 +
 symbols/shields/secondary_7x1_z18.svg  |    4 +
 symbols/shields/secondary_7x2.svg      |    7 +-
 symbols/shields/secondary_7x2_z16.svg  |    4 +
 symbols/shields/secondary_7x2_z18.svg  |    4 +
 symbols/shields/secondary_7x3.svg      |    7 +-
 symbols/shields/secondary_7x3_z16.svg  |    4 +
 symbols/shields/secondary_7x3_z18.svg  |    4 +
 symbols/shields/secondary_7x4.svg      |    7 +-
 symbols/shields/secondary_7x4_z16.svg  |    4 +
 symbols/shields/secondary_7x4_z18.svg  |    4 +
 symbols/shields/secondary_8x1.svg      |    7 +-
 symbols/shields/secondary_8x1_z16.svg  |    4 +
 symbols/shields/secondary_8x1_z18.svg  |    4 +
 symbols/shields/secondary_8x2.svg      |    7 +-
 symbols/shields/secondary_8x2_z16.svg  |    4 +
 symbols/shields/secondary_8x2_z18.svg  |    4 +
 symbols/shields/secondary_8x3.svg      |    7 +-
 symbols/shields/secondary_8x3_z16.svg  |    4 +
 symbols/shields/secondary_8x3_z18.svg  |    4 +
 symbols/shields/secondary_8x4.svg      |    7 +-
 symbols/shields/secondary_8x4_z16.svg  |    4 +
 symbols/shields/secondary_8x4_z18.svg  |    4 +
 symbols/shields/secondary_9x1.svg      |    7 +-
 symbols/shields/secondary_9x1_z16.svg  |    4 +
 symbols/shields/secondary_9x1_z18.svg  |    4 +
 symbols/shields/secondary_9x2.svg      |    7 +-
 symbols/shields/secondary_9x2_z16.svg  |    4 +
 symbols/shields/secondary_9x2_z18.svg  |    4 +
 symbols/shields/secondary_9x3.svg      |    7 +-
 symbols/shields/secondary_9x3_z16.svg  |    4 +
 symbols/shields/secondary_9x3_z18.svg  |    4 +
 symbols/shields/secondary_9x4.svg      |    7 +-
 symbols/shields/secondary_9x4_z16.svg  |    4 +
 symbols/shields/secondary_9x4_z18.svg  |    4 +
 symbols/shields/tertiary_10x1.svg      |    7 +-
 symbols/shields/tertiary_10x1_z16.svg  |    4 +
 symbols/shields/tertiary_10x1_z18.svg  |    4 +
 symbols/shields/tertiary_10x2.svg      |    7 +-
 symbols/shields/tertiary_10x2_z16.svg  |    4 +
 symbols/shields/tertiary_10x2_z18.svg  |    4 +
 symbols/shields/tertiary_10x3.svg      |    7 +-
 symbols/shields/tertiary_10x3_z16.svg  |    4 +
 symbols/shields/tertiary_10x3_z18.svg  |    4 +
 symbols/shields/tertiary_10x4.svg      |    7 +-
 symbols/shields/tertiary_10x4_z16.svg  |    4 +
 symbols/shields/tertiary_10x4_z18.svg  |    4 +
 symbols/shields/tertiary_11x1.svg      |    7 +-
 symbols/shields/tertiary_11x1_z16.svg  |    4 +
 symbols/shields/tertiary_11x1_z18.svg  |    4 +
 symbols/shields/tertiary_11x2.svg      |    7 +-
 symbols/shields/tertiary_11x2_z16.svg  |    4 +
 symbols/shields/tertiary_11x2_z18.svg  |    4 +
 symbols/shields/tertiary_11x3.svg      |    7 +-
 symbols/shields/tertiary_11x3_z16.svg  |    4 +
 symbols/shields/tertiary_11x3_z18.svg  |    4 +
 symbols/shields/tertiary_11x4.svg      |    7 +-
 symbols/shields/tertiary_11x4_z16.svg  |    4 +
 symbols/shields/tertiary_11x4_z18.svg  |    4 +
 symbols/shields/tertiary_1x1.svg       |    7 +-
 symbols/shields/tertiary_1x1_z16.svg   |    4 +
 symbols/shields/tertiary_1x1_z18.svg   |    4 +
 symbols/shields/tertiary_1x2.svg       |    7 +-
 symbols/shields/tertiary_1x2_z16.svg   |    4 +
 symbols/shields/tertiary_1x2_z18.svg   |    4 +
 symbols/shields/tertiary_1x3.svg       |    7 +-
 symbols/shields/tertiary_1x3_z16.svg   |    4 +
 symbols/shields/tertiary_1x3_z18.svg   |    4 +
 symbols/shields/tertiary_1x4.svg       |    7 +-
 symbols/shields/tertiary_1x4_z16.svg   |    4 +
 symbols/shields/tertiary_1x4_z18.svg   |    4 +
 symbols/shields/tertiary_2x1.svg       |    7 +-
 symbols/shields/tertiary_2x1_z16.svg   |    4 +
 symbols/shields/tertiary_2x1_z18.svg   |    4 +
 symbols/shields/tertiary_2x2.svg       |    7 +-
 symbols/shields/tertiary_2x2_z16.svg   |    4 +
 symbols/shields/tertiary_2x2_z18.svg   |    4 +
 symbols/shields/tertiary_2x3.svg       |    7 +-
 symbols/shields/tertiary_2x3_z16.svg   |    4 +
 symbols/shields/tertiary_2x3_z18.svg   |    4 +
 symbols/shields/tertiary_2x4.svg       |    7 +-
 symbols/shields/tertiary_2x4_z16.svg   |    4 +
 symbols/shields/tertiary_2x4_z18.svg   |    4 +
 symbols/shields/tertiary_3x1.svg       |    7 +-
 symbols/shields/tertiary_3x1_z16.svg   |    4 +
 symbols/shields/tertiary_3x1_z18.svg   |    4 +
 symbols/shields/tertiary_3x2.svg       |    7 +-
 symbols/shields/tertiary_3x2_z16.svg   |    4 +
 symbols/shields/tertiary_3x2_z18.svg   |    4 +
 symbols/shields/tertiary_3x3.svg       |    7 +-
 symbols/shields/tertiary_3x3_z16.svg   |    4 +
 symbols/shields/tertiary_3x3_z18.svg   |    4 +
 symbols/shields/tertiary_3x4.svg       |    7 +-
 symbols/shields/tertiary_3x4_z16.svg   |    4 +
 symbols/shields/tertiary_3x4_z18.svg   |    4 +
 symbols/shields/tertiary_4x1.svg       |    7 +-
 symbols/shields/tertiary_4x1_z16.svg   |    4 +
 symbols/shields/tertiary_4x1_z18.svg   |    4 +
 symbols/shields/tertiary_4x2.svg       |    7 +-
 symbols/shields/tertiary_4x2_z16.svg   |    4 +
 symbols/shields/tertiary_4x2_z18.svg   |    4 +
 symbols/shields/tertiary_4x3.svg       |    7 +-
 symbols/shields/tertiary_4x3_z16.svg   |    4 +
 symbols/shields/tertiary_4x3_z18.svg   |    4 +
 symbols/shields/tertiary_4x4.svg       |    7 +-
 symbols/shields/tertiary_4x4_z16.svg   |    4 +
 symbols/shields/tertiary_4x4_z18.svg   |    4 +
 symbols/shields/tertiary_5x1.svg       |    7 +-
 symbols/shields/tertiary_5x1_z16.svg   |    4 +
 symbols/shields/tertiary_5x1_z18.svg   |    4 +
 symbols/shields/tertiary_5x2.svg       |    7 +-
 symbols/shields/tertiary_5x2_z16.svg   |    4 +
 symbols/shields/tertiary_5x2_z18.svg   |    4 +
 symbols/shields/tertiary_5x3.svg       |    7 +-
 symbols/shields/tertiary_5x3_z16.svg   |    4 +
 symbols/shields/tertiary_5x3_z18.svg   |    4 +
 symbols/shields/tertiary_5x4.svg       |    7 +-
 symbols/shields/tertiary_5x4_z16.svg   |    4 +
 symbols/shields/tertiary_5x4_z18.svg   |    4 +
 symbols/shields/tertiary_6x1.svg       |    7 +-
 symbols/shields/tertiary_6x1_z16.svg   |    4 +
 symbols/shields/tertiary_6x1_z18.svg   |    4 +
 symbols/shields/tertiary_6x2.svg       |    7 +-
 symbols/shields/tertiary_6x2_z16.svg   |    4 +
 symbols/shields/tertiary_6x2_z18.svg   |    4 +
 symbols/shields/tertiary_6x3.svg       |    7 +-
 symbols/shields/tertiary_6x3_z16.svg   |    4 +
 symbols/shields/tertiary_6x3_z18.svg   |    4 +
 symbols/shields/tertiary_6x4.svg       |    7 +-
 symbols/shields/tertiary_6x4_z16.svg   |    4 +
 symbols/shields/tertiary_6x4_z18.svg   |    4 +
 symbols/shields/tertiary_7x1.svg       |    7 +-
 symbols/shields/tertiary_7x1_z16.svg   |    4 +
 symbols/shields/tertiary_7x1_z18.svg   |    4 +
 symbols/shields/tertiary_7x2.svg       |    7 +-
 symbols/shields/tertiary_7x2_z16.svg   |    4 +
 symbols/shields/tertiary_7x2_z18.svg   |    4 +
 symbols/shields/tertiary_7x3.svg       |    7 +-
 symbols/shields/tertiary_7x3_z16.svg   |    4 +
 symbols/shields/tertiary_7x3_z18.svg   |    4 +
 symbols/shields/tertiary_7x4.svg       |    7 +-
 symbols/shields/tertiary_7x4_z16.svg   |    4 +
 symbols/shields/tertiary_7x4_z18.svg   |    4 +
 symbols/shields/tertiary_8x1.svg       |    7 +-
 symbols/shields/tertiary_8x1_z16.svg   |    4 +
 symbols/shields/tertiary_8x1_z18.svg   |    4 +
 symbols/shields/tertiary_8x2.svg       |    7 +-
 symbols/shields/tertiary_8x2_z16.svg   |    4 +
 symbols/shields/tertiary_8x2_z18.svg   |    4 +
 symbols/shields/tertiary_8x3.svg       |    7 +-
 symbols/shields/tertiary_8x3_z16.svg   |    4 +
 symbols/shields/tertiary_8x3_z18.svg   |    4 +
 symbols/shields/tertiary_8x4.svg       |    7 +-
 symbols/shields/tertiary_8x4_z16.svg   |    4 +
 symbols/shields/tertiary_8x4_z18.svg   |    4 +
 symbols/shields/tertiary_9x1.svg       |    7 +-
 symbols/shields/tertiary_9x1_z16.svg   |    4 +
 symbols/shields/tertiary_9x1_z18.svg   |    4 +
 symbols/shields/tertiary_9x2.svg       |    7 +-
 symbols/shields/tertiary_9x2_z16.svg   |    4 +
 symbols/shields/tertiary_9x2_z18.svg   |    4 +
 symbols/shields/tertiary_9x3.svg       |    7 +-
 symbols/shields/tertiary_9x3_z16.svg   |    4 +
 symbols/shields/tertiary_9x3_z18.svg   |    4 +
 symbols/shields/tertiary_9x4.svg       |    7 +-
 symbols/shields/tertiary_9x4_z16.svg   |    4 +
 symbols/shields/tertiary_9x4_z18.svg   |    4 +
 symbols/shields/trunk_10x1.svg         |    7 +-
 symbols/shields/trunk_10x1_z16.svg     |    4 +
 symbols/shields/trunk_10x1_z18.svg     |    4 +
 symbols/shields/trunk_10x2.svg         |    7 +-
 symbols/shields/trunk_10x2_z16.svg     |    4 +
 symbols/shields/trunk_10x2_z18.svg     |    4 +
 symbols/shields/trunk_10x3.svg         |    7 +-
 symbols/shields/trunk_10x3_z16.svg     |    4 +
 symbols/shields/trunk_10x3_z18.svg     |    4 +
 symbols/shields/trunk_10x4.svg         |    7 +-
 symbols/shields/trunk_10x4_z16.svg     |    4 +
 symbols/shields/trunk_10x4_z18.svg     |    4 +
 symbols/shields/trunk_11x1.svg         |    7 +-
 symbols/shields/trunk_11x1_z16.svg     |    4 +
 symbols/shields/trunk_11x1_z18.svg     |    4 +
 symbols/shields/trunk_11x2.svg         |    7 +-
 symbols/shields/trunk_11x2_z16.svg     |    4 +
 symbols/shields/trunk_11x2_z18.svg     |    4 +
 symbols/shields/trunk_11x3.svg         |    7 +-
 symbols/shields/trunk_11x3_z16.svg     |    4 +
 symbols/shields/trunk_11x3_z18.svg     |    4 +
 symbols/shields/trunk_11x4.svg         |    7 +-
 symbols/shields/trunk_11x4_z16.svg     |    4 +
 symbols/shields/trunk_11x4_z18.svg     |    4 +
 symbols/shields/trunk_1x1.svg          |    7 +-
 symbols/shields/trunk_1x1_z16.svg      |    4 +
 symbols/shields/trunk_1x1_z18.svg      |    4 +
 symbols/shields/trunk_1x2.svg          |    7 +-
 symbols/shields/trunk_1x2_z16.svg      |    4 +
 symbols/shields/trunk_1x2_z18.svg      |    4 +
 symbols/shields/trunk_1x3.svg          |    7 +-
 symbols/shields/trunk_1x3_z16.svg      |    4 +
 symbols/shields/trunk_1x3_z18.svg      |    4 +
 symbols/shields/trunk_1x4.svg          |    7 +-
 symbols/shields/trunk_1x4_z16.svg      |    4 +
 symbols/shields/trunk_1x4_z18.svg      |    4 +
 symbols/shields/trunk_2x1.svg          |    7 +-
 symbols/shields/trunk_2x1_z16.svg      |    4 +
 symbols/shields/trunk_2x1_z18.svg      |    4 +
 symbols/shields/trunk_2x2.svg          |    7 +-
 symbols/shields/trunk_2x2_z16.svg      |    4 +
 symbols/shields/trunk_2x2_z18.svg      |    4 +
 symbols/shields/trunk_2x3.svg          |    7 +-
 symbols/shields/trunk_2x3_z16.svg      |    4 +
 symbols/shields/trunk_2x3_z18.svg      |    4 +
 symbols/shields/trunk_2x4.svg          |    7 +-
 symbols/shields/trunk_2x4_z16.svg      |    4 +
 symbols/shields/trunk_2x4_z18.svg      |    4 +
 symbols/shields/trunk_3x1.svg          |    7 +-
 symbols/shields/trunk_3x1_z16.svg      |    4 +
 symbols/shields/trunk_3x1_z18.svg      |    4 +
 symbols/shields/trunk_3x2.svg          |    7 +-
 symbols/shields/trunk_3x2_z16.svg      |    4 +
 symbols/shields/trunk_3x2_z18.svg      |    4 +
 symbols/shields/trunk_3x3.svg          |    7 +-
 symbols/shields/trunk_3x3_z16.svg      |    4 +
 symbols/shields/trunk_3x3_z18.svg      |    4 +
 symbols/shields/trunk_3x4.svg          |    7 +-
 symbols/shields/trunk_3x4_z16.svg      |    4 +
 symbols/shields/trunk_3x4_z18.svg      |    4 +
 symbols/shields/trunk_4x1.svg          |    7 +-
 symbols/shields/trunk_4x1_z16.svg      |    4 +
 symbols/shields/trunk_4x1_z18.svg      |    4 +
 symbols/shields/trunk_4x2.svg          |    7 +-
 symbols/shields/trunk_4x2_z16.svg      |    4 +
 symbols/shields/trunk_4x2_z18.svg      |    4 +
 symbols/shields/trunk_4x3.svg          |    7 +-
 symbols/shields/trunk_4x3_z16.svg      |    4 +
 symbols/shields/trunk_4x3_z18.svg      |    4 +
 symbols/shields/trunk_4x4.svg          |    7 +-
 symbols/shields/trunk_4x4_z16.svg      |    4 +
 symbols/shields/trunk_4x4_z18.svg      |    4 +
 symbols/shields/trunk_5x1.svg          |    7 +-
 symbols/shields/trunk_5x1_z16.svg      |    4 +
 symbols/shields/trunk_5x1_z18.svg      |    4 +
 symbols/shields/trunk_5x2.svg          |    7 +-
 symbols/shields/trunk_5x2_z16.svg      |    4 +
 symbols/shields/trunk_5x2_z18.svg      |    4 +
 symbols/shields/trunk_5x3.svg          |    7 +-
 symbols/shields/trunk_5x3_z16.svg      |    4 +
 symbols/shields/trunk_5x3_z18.svg      |    4 +
 symbols/shields/trunk_5x4.svg          |    7 +-
 symbols/shields/trunk_5x4_z16.svg      |    4 +
 symbols/shields/trunk_5x4_z18.svg      |    4 +
 symbols/shields/trunk_6x1.svg          |    7 +-
 symbols/shields/trunk_6x1_z16.svg      |    4 +
 symbols/shields/trunk_6x1_z18.svg      |    4 +
 symbols/shields/trunk_6x2.svg          |    7 +-
 symbols/shields/trunk_6x2_z16.svg      |    4 +
 symbols/shields/trunk_6x2_z18.svg      |    4 +
 symbols/shields/trunk_6x3.svg          |    7 +-
 symbols/shields/trunk_6x3_z16.svg      |    4 +
 symbols/shields/trunk_6x3_z18.svg      |    4 +
 symbols/shields/trunk_6x4.svg          |    7 +-
 symbols/shields/trunk_6x4_z16.svg      |    4 +
 symbols/shields/trunk_6x4_z18.svg      |    4 +
 symbols/shields/trunk_7x1.svg          |    7 +-
 symbols/shields/trunk_7x1_z16.svg      |    4 +
 symbols/shields/trunk_7x1_z18.svg      |    4 +
 symbols/shields/trunk_7x2.svg          |    7 +-
 symbols/shields/trunk_7x2_z16.svg      |    4 +
 symbols/shields/trunk_7x2_z18.svg      |    4 +
 symbols/shields/trunk_7x3.svg          |    7 +-
 symbols/shields/trunk_7x3_z16.svg      |    4 +
 symbols/shields/trunk_7x3_z18.svg      |    4 +
 symbols/shields/trunk_7x4.svg          |    7 +-
 symbols/shields/trunk_7x4_z16.svg      |    4 +
 symbols/shields/trunk_7x4_z18.svg      |    4 +
 symbols/shields/trunk_8x1.svg          |    7 +-
 symbols/shields/trunk_8x1_z16.svg      |    4 +
 symbols/shields/trunk_8x1_z18.svg      |    4 +
 symbols/shields/trunk_8x2.svg          |    7 +-
 symbols/shields/trunk_8x2_z16.svg      |    4 +
 symbols/shields/trunk_8x2_z18.svg      |    4 +
 symbols/shields/trunk_8x3.svg          |    7 +-
 symbols/shields/trunk_8x3_z16.svg      |    4 +
 symbols/shields/trunk_8x3_z18.svg      |    4 +
 symbols/shields/trunk_8x4.svg          |    7 +-
 symbols/shields/trunk_8x4_z16.svg      |    4 +
 symbols/shields/trunk_8x4_z18.svg      |    4 +
 symbols/shields/trunk_9x1.svg          |    7 +-
 symbols/shields/trunk_9x1_z16.svg      |    4 +
 symbols/shields/trunk_9x1_z18.svg      |    4 +
 symbols/shields/trunk_9x2.svg          |    7 +-
 symbols/shields/trunk_9x2_z16.svg      |    4 +
 symbols/shields/trunk_9x2_z18.svg      |    4 +
 symbols/shields/trunk_9x3.svg          |    7 +-
 symbols/shields/trunk_9x3_z16.svg      |    4 +
 symbols/shields/trunk_9x3_z18.svg      |    4 +
 symbols/shields/trunk_9x4.svg          |    7 +-
 symbols/shields/trunk_9x4_z16.svg      |    4 +
 symbols/shields/trunk_9x4_z18.svg      |    4 +
 water.mss                              |    9 +-
 692 files changed, 6277 insertions(+), 2375 deletions(-)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 544cc43..83d4efc 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -10,15 +10,45 @@ You should fork the project into your own repo, create a topic branch
 there and then make one or more pull requests back to the gravitystorm repository.
 Your pull requests will then be reviewed and discussed.
 
-## Editing Layers
-
-OpenStreetMap Carto uses a YAML file for defining layers. Some of the rationale is outlined in [a GitHub issue](https://github.com/gravitystorm/openstreetmap-carto/issues/711). Editing multi-line SQL statements in a YAML file is much friendlier than editing escaped SQL in a JSON file.
+## Reporting issues
 
-This requires a preprocessing step to convert the YAML to JSON. A script is provided at `scripts/yaml2mml.py`, which depends on PyYAML, available through `pip install pyyaml` or packaged on Ubuntu as `python-yaml`.
+As OpenStreetMap data is always changing, rendering bug reports should **always**
+contain a cropped screenshot of the problem, and a link to the area. Don't assume
+that we will see exactly what you see. If a particular OSM object is an issue,
+the issue should contain the tagging of the object.
 
-After editing the YAML file, run `./scripts/yaml2mml.py < project.yaml > project.mml && touch project.mml` to update the file and force TileMill to reload it.
+## Editing Layers
 
-When committing changes, add both the `project.yaml` and `project.mml` files to the commit. One of the big advantages of this system is that to resolve any layer merge conflicts, they only need to be resolved in the YAML file where they are easier to handle, then the JSON file can be regenerated, while at the same time the styles work with Tilemill out-of-the-box without needing to run the `yaml2mml` script.
+OpenStreetMap Carto uses a YAML file for defining layers. Some of the rationale
+is outlined in [a GitHub issue](https://github.com/gravitystorm/openstreetmap-carto/issues/711).
+Editing multi-line SQL statements in a YAML file is much friendlier than editing
+escaped SQL in a JSON file.
+
+The `./scripts/yaml2mml.py` script is provided to convert YAML to JSON, and
+depends on PyYAML, available through `pip install pyyaml` or packaged on Ubuntu
+as `python-yaml`.
+
+[Kosmtik](https://github.com/kosmtik/kosmtik) can directly load the project from
+the YAML file with `node index.js serve path/to/openstreetmap-carto/project.yaml`,
+and the JSON file just needs updating before committing.
+
+[TileMill](https://github.com/mapbox/tilemill) and Mapbox `carto` [do not directly support YAML](https://github.com/mapbox/carto/issues/401),
+so make edits to the YAML file then run the preprocessing step of
+`./scripts/yaml2mml.py && touch project.mml` to
+update the file and force TileMill to reload it. You shouldn't use the text editor
+built-in to TileMill, it doesn't work with the number of .mss files in the style.
+Instead, hide the right pane and use an external text editor.
+
+Before committing changes, run `./scripts/yaml2mml.py`
+to update the JSON MML file and `git add project.mml`
+
+When committing changes, add both the `project.yaml` and `project.mml` files to
+the commit with `./scripts/yaml2mml.py && git add project.mml`.
+One of the big advantages of this system is that to resolve any layer merge
+conflicts, they only need to be resolved in the YAML file where they are easier
+to handle, then the JSON file can be regenerated, while at the same time the
+styles work with TileMill and carto out-of-the-box without needing to run the
+`yaml2mml` script.
 
 ## CartoCSS Style Guidelines
 
@@ -28,10 +58,11 @@ When committing changes, add both the `project.yaml` and `project.mml` files to
 * Two space indents. No tabs.
 * space after : but not before
 * Dashes, not underscores, in layer names
-* Avoid restating defaults, e.g. don't add `point-allow-overlap = false`
-* Avoid repeating the layer name for layers with mutiple attachments, i.e., prefer
+* Avoid restating defaults, e.g. don't add `point-allow-overlap = false`. Where
+  Mapnik 2.x and 3.0 have different defaults, they should be stated
+* Avoid repeating the layer name for layers with multiple attachments, i.e., prefer
 
-```css
+```mss
 #layer {
   ::outline {
     line-width: 6;
@@ -45,7 +76,7 @@ When committing changes, add both the `project.yaml` and `project.mml` files to
 ```
 instead of
 
-```css
+```mss
 #layer::outline {
     line-width: 6;
     line-color: black;
@@ -55,7 +86,9 @@ instead of
     line-color: white;
 }
 ```
-* Order the selectors in a style-sheet in rough order of importance (i.e., highway=primary, then highway=secondary) and beyond that, add layers that are rendered later (i.e., higher) lower in the file.
+* Order the selectors in a style-sheet in rough order of importance (i.e.,
+  `highway=primary`, then `highway=secondary`) and beyond that, add layers that
+  are rendered later (i.e., higher) lower in the file.
 
 ## SQL Style Guidelines
 Because SQL within JSON or YAML will not generally be syntax highlighted, indentation and caps are particularly important.
@@ -71,8 +104,19 @@ Because SQL within JSON or YAML will not generally be syntax highlighted, indent
 * One space before and after = etc
 * Name SQL subqueries after the layer name (but use underscores)
 
-## Previews
+## Pull requests
+
+Pull requests that change the cartography should contain a few images selected
+to show the changes. The easiest way to make these is by taking screenshots and
+cropping them, then pasting them into the issue. Avoid adding an overwhelming
+number of screenshots.
+
+The images are not intended to replace reviewing changes in Kosmtik or TileMill,
+but to provide an overview.
 
-Some changes benefit from a review from a wider audience. In most cases some static images are sufficient, but sometimes a demo layer is necessary. pnorman has a private server which can host layers and has some data from parts of the world loaded. Before requesting this in a pull request, make sure that you don't anticipate any more changes to it.
+### Previews
 
-This does not replace reviewing your changes in Tilemill
+Some changes benefit from a review over a wider area and many zooms, where static
+images might not be sufficient and a demo layer is necessary. pnorman has a server
+ which can host layers and has some data from parts of the world loaded. Before
+ requesting this in a pull request, make sure that it is in a stable condition.
diff --git a/INSTALL.md b/INSTALL.md
index 5a65290..2930a54 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -28,24 +28,11 @@ You can also download them manually at the following paths:
 * [`land-polygon.shp`](http://data.openstreetmapdata.com/land-polygons-split-3857.zip) (updated daily)
 * [`builtup_area.shp`](http://planet.openstreetmap.org/historical-shapefiles/world_boundaries-spherical.tgz)
 * [`ne_110m_admin_0_boundary_lines_land.shp`](http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/cultural/ne_110m_admin_0_boundary_lines_land.zip)
-* [`ne_10m_populated_places_fixed.shp`](http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/cultural/ne_10m_populated_places.zip) (and see [below](#populated-places-shapefile))
 
 The repeated www.naturalearthdata.com in the Natural Earth shapefiles is correct.
 
 Put these shapefiles at `path/to/openstreetmap-carto/data`.
 
-### Populated places shapefile
-
-The Natural Earth 2.0 populated places shapefile contains data that triggers a bug in mapnik. As
-a workaround we run the shapefile through ogr2ogr to clean up the data. This is not required for
-Mapnik 2.2 or later, where the shapefile can just be renamed.
-
-```
-ogr2ogr ne_10m_populated_places_fixed.shp ne_10m_populated_places.shp
-```
-
-See https://github.com/mapnik/mapnik/issues/1605 for more details.
-
 ## Fonts
 The stylesheet depends on a number of openly licensed fonts for support of all the languages found on the map. The package which supplies these fonts on Ubuntu is indicated.
 
@@ -78,20 +65,29 @@ In Ubuntu 13.10 (Saucy) and lower, replace fonts-taml-tscu with ttf-tamil-fonts.
 
 ## Dependencies
 
+For development, a style design studio is needed.
+* [Kosmtik](https://github.com/kosmtik/kosmtik) - Kosmtik can be launched with `node index.js serve path/to/openstreetmap-carto/project.yaml`
 * [TileMill](http://mapbox.com/tilemill) - This is a TileMill project you can copy (or symlink) directly into your Mapbox/project directory
 
-If you aren't using TileMill, you can compile the CartoCSS stylesheets into Mapnik XML using the command-line `carto` command.
+For deployment, `carto` and Mapnik are required.
 
 * [carto](https://github.com/mapbox/carto) >= 0.9.5 (we're using instances with cascading rules and min/max zoom properties)
 * [mapnik](https://github.com/mapnik/mapnik/wiki/Mapnik-Installation) >= 2.1.0. Mapnik 3.0 is supported, but not required.
 
 ---
 
-* [osm2pgsql](http://wiki.openstreetmap.org/wiki/Osm2pgsql) to import your data into a PostGIS database
+For both development and deployment, a database and some utilities are required
+
+* [osm2pgsql](http://wiki.openstreetmap.org/wiki/Osm2pgsql) to [import your data](https://switch2osm.org/loading-osm-data/) into a PostGIS database
 * [PostgreSQL](http://www.postgresql.org/)
 * [PostGIS](http://postgis.org/)
-* [ogr2ogr](http://www.gdal.org/) command line GDAL utility for processing vector data. here we use it to work around a encoding bug in the Nautral Earth data.
-* curl, unzip for downloading and decompressing files
+* `curl` and `unzip` for downloading and decompressing files
 * shapeindex (a companion utility to Mapnik found in the mapnik-utils package) for indexing downloaded shapefiles
 
+### Development dependencies
+
+Some colours, SVGs and other files are generated with helper scripts. Not all users will need these dependencies
+
+* Python and Ruby to run helper scripts
 * [PyYAML](http://pyyaml.org/wiki/PyYAML) if editing the MML (layer definition) file (packaged as `python-yaml` on Ubuntu, or installed with `pip install pyyaml`)
+* [Color Math](https://github.com/gtaylor/python-colormath) and [numpy](http://www.numpy.org/) if running generate_road_colors.py helper script (may be obtained with `pip install colormath numpy`)
diff --git a/README.md b/README.md
index 67c2bd8..6c9fda0 100644
--- a/README.md
+++ b/README.md
@@ -4,11 +4,13 @@
 
 These are the CartoCSS map stylesheets for the Standard map layer on [OpenStreetMap.org](http://www.openstreetmap.org).
 
-These stylesheets can be used in your own cartography projects, and are designed to be easily
-customised. They work with [TileMill](http://www.mapbox.com/tilemill/) and also with the command-line [CartoCSS](https://github.com/mapbox/carto) processor.
+These stylesheets can be used in your own cartography projects, and are designed
+to be easily customised. They work with [Kosmtik](https://github.com/kosmtik/kosmtik),
+[TileMill](http://www.mapbox.com/tilemill/) and also with the command-line
+[CartoCSS](https://github.com/mapbox/carto) processor.
 
 Since August 2013 these stylesheets have been used on the OSMF tileservers (tile.openstreetmap.org), and
-are updated from each point release. They supersede the previous [XML-based stylesheets](https://trac.openstreetmap.org/browser/subversion/applications/rendering/mapnik).
+are updated from each point release. They supersede the previous [XML-based stylesheets](https://github.com/openstreetmap/mapnik-stylesheets).
 
 # Installation
 
@@ -28,7 +30,7 @@ cartographic project you can expect the following:
 * PATCH: When a patch version is released, there would be no reason not to
   upgrade. PATCH versions contain only bugfixes e.g. stylesheets won't compile,
   features are missing by mistake, etc.
-* MINOR: These are routine releases and happen every 1-3 weeks. They will
+* MINOR: These are routine releases and happen every 2-5 weeks. They will
   contain changes to what's shown on the map, how they appear, new features
   added and old features removed. They may rarely contain changes to assets i.e.
   shapefiles and fonts but will not contain changes that require software or
@@ -45,23 +47,18 @@ no interest in creating further point releases in the v1.x series.
 
 ## Current work (v2.x)
 
-The v2.x series focuses on refactoring the style, both to to fix glitches and to
-leverage new features in CartoCSS / mapnik to simplify the stylesheets with only
-small changes to the output. It's also appropriate to pull out the 'old-skool'
+The v2.x series initially focused on refactoring the style, both to to fix
+glitches and to leverage new features in CartoCSS / Mapnik to simplify the
+stylesheets with only small changes to the output, as well as removing 'old-skool'
 tagging methods that are now rarely used.
 
-Care is being taken to not get too clever with variables and expressions. While these often make
-it easier to customise, experience has shown that over-cleverness (e.g. [interpolated entities][cleverness])
-can discourage contributions.
+Care is being taken to not get too clever with variables and expressions. While
+these often make it easier to customise, experience has shown that over-cleverness
+(e.g. [interpolated entities][cleverness]) can discourage contributions.
 
-The end goal will be a style that remains familiar but is much more suitable for
-further development, and/or forking for third-parties to customise.
-
-## Future (v3.x)
-
-There are over [300 open requests][issues], some that have been open for years. These need
-reviewing and dividing into obvious fixes, or additional new features that need some cartographic
-judgement. The work done already in v1.0 and v2.0 will make it much easier to process these.
+There are over [300 open requests][issues], some that have been open for years.
+These need reviewing and dividing into obvious fixes, or additional new features
+that need some cartographic judgement.
 
 [issues]: https://github.com/gravitystorm/openstreetmap-carto/issues
 [cleverness]: https://github.com/openstreetmap/mapnik-stylesheets/blob/master/inc/settings.xml.inc.template#L16
@@ -69,7 +66,7 @@ judgement. The work done already in v1.0 and v2.0 will make it much easier to pr
 # Alternatives
 
 There are many open-source stylesheets written for creating OpenStreetMap-based
-maps using mapnik, many based on this project. Some alternatives are:
+maps using Mapnik, many based on this project. Some alternatives are:
 
 * [OSM-Bright](https://github.com/mapbox/osm-bright)
 * [XML-based stylesheets](https://trac.openstreetmap.org/browser/subversion/applications/rendering/mapnik)
diff --git a/amenity-points.mss b/amenity-points.mss
index 8fa0a4d..84f8ee3 100644
--- a/amenity-points.mss
+++ b/amenity-points.mss
@@ -8,6 +8,7 @@
 @health-color: #da0092;
 @amenity-brown: #734a08;
 @man-made-icon: #555;
+ at landform-color: #d08f55;
 
 @landcover-font-size: 10;
 @landcover-font-size-big: 12;
@@ -87,7 +88,7 @@
     point-placement: interior;
   }
 
-  [feature = 'amenity_taxi'][zoom >= 16] {
+  [feature = 'amenity_taxi'][zoom >= 17] {
     marker-file: url('symbols/taxi.16.svg');
     marker-fill: @transportation-icon;
     marker-placement: interior;
@@ -129,11 +130,6 @@
     marker-fill: @transportation-icon;
   }
 
-  [feature = 'amenity_car_sharing'][zoom >= 18] {
-    point-file: url('symbols/car_share.p.16.png');
-    point-placement: interior;
-  }
-
   [feature = 'amenity_car_rental'][zoom >= 17] {
     marker-file: url('symbols/rental_car.16.svg');
     marker-fill: @transportation-icon;
@@ -141,6 +137,13 @@
     marker-clip: false;
   }
 
+  [feature = 'amenity_car_wash'][zoom >= 17] {
+    marker-file: url('symbols/car_wash-14.svg');
+    marker-fill: @amenity-brown;
+    marker-placement: interior;
+    marker-clip: false;
+  }
+
   [feature = 'tourism_chalet'][zoom >= 17] {
     point-file: url('symbols/chalet.p.16.png');
     point-placement: interior;
@@ -167,6 +170,33 @@
     marker-clip: false;
   }
 
+  [feature = 'amenity_fountain'] {
+    ::basin {
+      [zoom = 17] {
+        marker-fill: @water-color;
+        marker-allow-overlap: true;
+        marker-line-width: 0;
+        marker-width: 10;
+        marker-height: 10;
+        marker-ignore-placement: true;
+      }
+    }
+    ::nozzle {
+      [zoom = 17] {
+        nozzle/marker-fill: @marina-text;
+        nozzle/marker-line-width: 0;
+        nozzle/marker-width: 3;
+        nozzle/marker-height: 3;
+      }
+      [zoom >= 18] {
+        nozzle/marker-file: url('symbols/fountain-14.svg');
+        nozzle/marker-fill: @marina-text;
+        nozzle/marker-placement: interior;
+        nozzle/marker-clip: false;
+      }
+    }
+  }
+
   [feature = 'amenity_fuel'][zoom >= 17] {
     marker-file: url('symbols/fuel.16.svg');
     marker-fill: @transportation-icon;
@@ -349,6 +379,14 @@
     }
   }
 
+  [feature = 'man_made_cross'][zoom >= 17],
+  [feature = 'historic_wayside_cross'][zoom >= 17] {
+    marker-file: url('symbols/christian.9.svg');
+    marker-fill: #000000;
+    marker-placement: interior;
+    marker-clip: false;
+  }
+
   [feature = 'amenity_police'][zoom >= 16] {
     marker-file: url('symbols/police.16.svg');
     marker-fill: @amenity-brown;
@@ -501,6 +539,13 @@
     marker-fill: @shop-icon;
   }
 
+  [feature = 'shop_bag'][zoom >= 17] {
+    marker-file: url('symbols/bag-14.svg');
+    marker-fill: @shop-icon;
+    marker-placement: interior;
+    marker-clip: false;
+  }
+
   [feature = 'shop_bakery'][zoom >= 17] {
     marker-file: url('symbols/shop_bakery.16.svg');
     marker-fill: @shop-icon;
@@ -681,7 +726,7 @@
     marker-file: url('symbols/shopping_car_repair.16.svg');
     marker-placement: interior;
     marker-clip: false;
-    marker-fill: @shop-icon;
+    marker-fill: @amenity-brown;
   }
 
   [feature = 'shop_bicycle'][zoom >= 17] {
@@ -747,6 +792,13 @@
     marker-fill: @shop-icon;
   }
   
+  [feature = 'shop_outdoor'][zoom >= 17] {
+    marker-file: url('symbols/outdoor-14.svg');
+    marker-placement: interior;
+    marker-clip: false;
+    marker-fill: @shop-icon;
+  }
+  
   [feature = 'shop_furniture'][zoom >= 17] {
     marker-file: url('symbols/shop_furniture.16.svg');
     marker-placement: interior;
@@ -892,7 +944,7 @@
 
   [feature = 'natural_peak'][zoom >= 11] {
     marker-file: url('symbols/peak.svg');
-    marker-fill: #d08f55;
+    marker-fill: @landform-color;
     marker-placement: interior;
     marker-clip: false;
   }
@@ -906,7 +958,7 @@
 
   [feature = 'natural_saddle'][zoom >= 15] {
     marker-file: url('symbols/saddle.svg');
-    marker-fill: #d08f55;
+    marker-fill: @landform-color;
     marker-placement: interior;
     marker-clip: false;
   }
@@ -948,6 +1000,14 @@
 }
 
 .amenity-low-priority {
+  [man_made = 'cross'][zoom >= 16],
+  [historic = 'wayside_cross'][zoom >= 16] {
+    marker-file: url('symbols/christian.9.svg');
+    marker-fill: #000000;
+    marker-placement: interior;
+    marker-clip: false;
+  }
+
   [amenity = 'parking'][zoom >= 17],
   [amenity = 'bicycle_parking'][zoom >= 17],
   [amenity = 'motorcycle_parking'][zoom >= 17] {
@@ -1097,17 +1157,12 @@
   }
 
   [feature = 'amenity_car_rental'][zoom >= 17],
-  [feature = 'amenity_car_sharing'][zoom >= 18],
   [feature = 'amenity_bicycle_rental'][zoom >= 17],
   [feature = 'leisure_slipway'][zoom >= 17] {
     text-name: "[name]";
-    [feature = 'amenity_car_sharing'] {
-      text-name: "[operator]";
-    }
     text-size: 9;
     text-fill: @transportation-text;
     [feature = 'amenity_car_rental']     { text-dy: 10; }
-    [feature = 'amenity_car_sharing']    { text-dy: 11; }
     [feature = 'amenity_bicycle_rental'] { text-dy: 10; }
     [feature = 'leisure_slipway']        { text-dy: 13; }
     text-face-name: @book-fonts;
@@ -1140,6 +1195,7 @@
 
 
   [feature = 'amenity_police'][zoom >= 17],
+  [feature = 'amenity_car_wash'][zoom >= 17],
   [feature = 'amenity_community_centre'][zoom >= 17],
   [feature = 'amenity_fire_station'][zoom >= 17],
   [feature = 'amenity_drinking_water'][zoom >= 17],
@@ -1178,7 +1234,7 @@
   [feature = 'tourism_viewpoint'][zoom >= 16] {
     text-name: "[name]";
     text-size: 10;
-    text-fill: darken(#d08f55, 30%);
+    text-fill: darken(@landform-color, 30%);
     [feature = 'natural_volcano'] { text-fill: #d40000; }
     text-dy: 7;
     [feature = 'tourism_viewpoint'] { text-dy: 11; }
@@ -1189,6 +1245,8 @@
     text-placement: interior;
   }
 
+  [feature = 'man_made_cross'][zoom >= 17],
+  [feature = 'historic_wayside_cross'][zoom >= 17],
   [feature = 'natural_cave_entrance'][zoom >= 15],
   [feature = 'man_made_mast'][zoom >= 17],
   [feature = 'man_made_water_tower'][zoom >= 17] {
@@ -1199,6 +1257,10 @@
     [feature = 'man_made_water_tower'] {
       text-dy: 11;
     }
+    [feature = 'man_made_cross'],
+    [feature = 'historic_wayside_cross'] {
+      text-dy: 6;
+    }
     [feature = 'man_made_mast']         { text-dy: 10; }
     text-face-name: @book-fonts;
     text-halo-radius: 1;
@@ -1221,22 +1283,32 @@
     text-placement: interior;
   }
 
-  [feature = 'natural_wetland'][is_building = 'no'],
-  [feature = 'natural_marsh'][is_building = 'no'],
-  [feature = 'natural_mud'][is_building = 'no'] {
-    [zoom >= 10][way_pixels > 3000],
+  [feature = 'leisure_miniature_golf'][zoom >= 17],
+  [feature = 'leisure_golf_course'][zoom >= 15] {
+    text-name: "[name]";
+    text-size: 11;
+    text-fill: darken(@park, 60%);
+    text-face-name: @book-fonts;
+    text-halo-radius: 1;
+    text-halo-fill: rgba(255,255,255,0.6);
+    text-placement: interior;
+    text-dy: 13;
+    text-wrap-width: 40;
+  }
+
+  [feature = 'leisure_water_park'] {
+    [way_area >= 150000][zoom >= 14],
+    [way_area >= 80000][zoom >= 15],
+    [way_area >= 20000][zoom >= 16],
     [zoom >= 17] {
       text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: @wetland-text;
-      text-face-name: @landcover-face-name;
+      text-size: 11;
+      text-fill: darken(@park, 60%);
+      text-dy: 11;
+      text-face-name: @book-fonts;
       text-halo-radius: 1;
       text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
+      text-wrap-width: @standard-wrap-width;
       text-placement: interior;
     }
   }
@@ -1259,46 +1331,37 @@
     }
   }
 
-  [feature = 'leisure_water_park'] {
+  [feature = 'leisure_playground'] {
     [way_area >= 150000][zoom >= 14],
     [way_area >= 80000][zoom >= 15],
     [way_area >= 20000][zoom >= 16],
     [zoom >= 17] {
       text-name: "[name]";
       text-size: 11;
+      text-dy: 13;
       text-fill: darken(@park, 60%);
-      text-dy: 11;
       text-face-name: @book-fonts;
       text-halo-radius: 1;
       text-halo-fill: rgba(255,255,255,0.6);
       text-wrap-width: @standard-wrap-width;
       text-placement: interior;
+      [access != ''][access != 'yes'] {
+        text-fill: darken(@park, 50%);
+      }
     }
   }
 
-
-  [feature = 'leisure_miniature_golf'][zoom >= 17],
-  [feature = 'leisure_golf_course'][zoom >= 15] {
-    text-name: "[name]";
-    text-size: 11;
-    text-fill: darken(@park, 60%);
-    text-face-name: @book-fonts;
-    text-halo-radius: 1;
-    text-halo-fill: rgba(255,255,255,0.6);
-    text-placement: interior;
-    text-dy: 13;
-    text-wrap-width: 40;
-  }
-
-  [feature = 'leisure_sports_centre'][is_building = 'no'],
-  [feature = 'leisure_stadium'][is_building = 'no'] {
-    [zoom >= 10][way_pixels > 3000],
-    [zoom >= 17] {
+  [feature = 'landuse_military'],
+  [feature = 'natural_wood'],
+  [feature = 'landuse_forest'],
+  [feature = 'boundary_national_park'],
+  [feature = 'leisure_nature_reserve'] {
+    [zoom >= 8][way_pixels > 3000][is_building = 'no'],
+    [zoom >= 17] {  
       text-name: "[name]";
       text-size: @landcover-font-size;
       [way_pixels > 12000] { text-size: @landcover-font-size-big; }
       [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@stadium, 30%);
       text-face-name: @landcover-face-name;
       text-halo-radius: 1;
       text-halo-fill: rgba(255,255,255,0.6);
@@ -1306,18 +1369,29 @@
       [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
       [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
       text-placement: interior;
+      [feature = 'landuse_military'] {
+        text-fill: darken(@military, 40%);
+      }
+      [feature = 'natural_wood'],
+      [feature = 'landuse_forest'] {
+        text-fill: @forest-text;
+      }
+      [feature = 'boundary_national_park'],
+      [feature = 'leisure_nature_reserve'] {
+        text-fill: darken(@park, 70%);
+      }
     }
   }
 
-  [feature = 'leisure_track'][is_building = 'no'] {
-    [zoom >= 10][way_pixels > 3000],
+  [feature = 'military_danger_area'][is_building = 'no'] {
+    [zoom >= 9][way_pixels > 3000],
     [zoom >= 17] {
       text-name: "[name]";
       text-size: @landcover-font-size;
       [way_pixels > 12000] { text-size: @landcover-font-size-big; }
       [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@track, 40%);
-      text-face-name: @landcover-face-name;
+      text-fill: darken(@danger_area, 40%);
+      text-face-name: @bold-fonts;
       text-halo-radius: 1;
       text-halo-fill: rgba(255,255,255,0.6);
       text-wrap-width: @landcover-wrap-width-size;
@@ -1327,14 +1401,14 @@
     }
   }
 
-  [feature = 'leisure_pitch'][is_building = 'no'] {
-    [zoom >= 10][way_pixels > 3000],
+  [feature = 'landuse_garages'][is_building = 'no'] {
+    [zoom >= 13][way_pixels > 3000],
     [zoom >= 17] {
       text-name: "[name]";
       text-size: @landcover-font-size;
       [way_pixels > 12000] { text-size: @landcover-font-size-big; }
       [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@pitch, 40%);
+      text-fill: darken(@garages, 50%);
       text-face-name: @landcover-face-name;
       text-halo-radius: 1;
       text-halo-fill: rgba(255,255,255,0.6);
@@ -1345,39 +1419,60 @@
     }
   }
 
-  [feature = 'leisure_playground'] {
-    [way_area >= 150000][zoom >= 14],
-    [way_area >= 80000][zoom >= 15],
-    [way_area >= 20000][zoom >= 16],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: 11;
-      text-dy: 13;
-      text-fill: darken(@park, 60%);
-      text-face-name: @book-fonts;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @standard-wrap-width;
-      text-placement: interior;
-      [access != ''][access != 'yes'] {
-        text-fill: darken(@park, 50%);
-      }
-    }
-  }
-
-  [feature = 'leisure_park'][is_building = 'no'],
-  [feature = 'leisure_recreation_ground'][is_building = 'no'],
-  [feature = 'landuse_recreation_ground'][is_building = 'no'],
-  [feature = 'landuse_village_green'][is_building = 'no'],
-  [feature = 'leisure_common'][is_building = 'no'],
-  [feature = 'leisure_garden'][is_building = 'no'] {
-    [zoom >= 10][way_pixels > 3000],
-    [zoom >= 17] {
+  [feature = 'natural_wetland'],
+  [feature = 'natural_marsh'],
+  [feature = 'natural_mud'],
+  [feature = 'leisure_park'],
+  [feature = 'leisure_recreation_ground'],
+  [feature = 'landuse_recreation_ground'],
+  [feature = 'landuse_village_green'],
+  [feature = 'leisure_common'],
+  [feature = 'leisure_garden'],
+  [feature = 'landuse_quarry'],
+  [feature = 'landuse_vineyard'],
+  [feature = 'landuse_orchard'],
+  [feature = 'landuse_cemetery'],
+  [feature = 'amenity_grave_yard'],
+  [feature = 'landuse_residential'],
+  [feature = 'landuse_meadow'],
+  [feature = 'natural_grassland'],
+  [feature = 'landuse_grass'],
+  [feature = 'landuse_allotments'],
+  [feature = 'landuse_farmyard'],
+  [feature = 'landuse_farm'],
+  [feature = 'landuse_farmland'],
+  [feature = 'landuse_greenhouse_horticulture'],
+  [feature = 'shop_mall'],
+  [feature = 'landuse_retail'],
+  [feature = 'landuse_industrial'],
+  [feature = 'landuse_railway'],
+  [feature = 'landuse_commercial'],
+  [feature = 'landuse_brownfield'],
+  [feature = 'landuse_landfill'],
+  [feature = 'landuse_construction'],
+  [feature = 'tourism_caravan_site'],
+  [feature = 'tourism_theme_park'],
+  [feature = 'tourism_zoo'],
+  [feature = 'tourism_attraction'],
+  [feature = 'amenity_kindergarten'],
+  [feature = 'amenity_school'],
+  [feature = 'amenity_college'],
+  [feature = 'amenity_university'],
+  [feature = 'natural_heath'],
+  [feature = 'natural_scrub'],
+  [feature = 'natural_beach'],
+  [feature = 'leisure_sports_centre'],
+  [feature = 'leisure_stadium'],
+  [feature = 'leisure_track'],
+  [feature = 'leisure_pitch'] {
+    [zoom >= 10][way_pixels > 3000][is_building = 'no'],
+    [zoom >= 17][is_building = 'no'],
+    [zoom >= 10][way_pixels > 3000][feature = 'shop_mall'],
+    [zoom >= 17][feature = 'shop_mall'] {
       text-name: "[name]";
       text-size: @landcover-font-size;
       [way_pixels > 12000] { text-size: @landcover-font-size-big; }
       [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@park, 60%);
       text-face-name: @landcover-face-name;
       text-halo-radius: 1;
       text-halo-fill: rgba(255,255,255,0.6);
@@ -1385,36 +1480,215 @@
       [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
       [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
       text-placement: interior;
+      [feature = 'natural_wetland'],
+      [feature = 'natural_marsh'],
+      [feature = 'natural_mud'] {
+        text-fill: @wetland-text;
+      }
+      [feature = 'leisure_park'],
+      [feature = 'leisure_recreation_ground'],
+      [feature = 'landuse_recreation_ground'],
+      [feature = 'landuse_village_green'],
+      [feature = 'leisure_common'],
+      [feature = 'leisure_garden'] {
+        text-fill: darken(@park, 60%);
+      }
+      [feature = 'landuse_quarry'] {
+        text-fill: darken(@quarry, 60%);
+      }
+      [feature = 'landuse_vineyard'],
+      [feature = 'landuse_orchard'] {
+        text-fill: darken(@orchard, 50%);
+      }
+      [feature = 'landuse_cemetery'],
+      [feature = 'amenity_grave_yard'] {
+        text-fill: darken(@cemetery, 50%);
+        text-halo-radius: 1.5; /* extra halo needed to overpower the cemetery polygon pattern */
+      }
+      [feature = 'landuse_residential'] {
+        text-fill: darken(@residential, 50%);
+      }
+      [feature = 'landuse_meadow'],
+      [feature = 'natural_grassland'],
+      [feature = 'landuse_grass'] {
+        text-fill: darken(@grass, 50%);
+      }
+      [feature = 'landuse_allotments'] {
+        text-fill: darken(@allotments, 50%);
+      }
+      [feature = 'landuse_farmyard'] {
+        text-fill: darken(@farmyard, 50%);
+      }
+      [feature = 'landuse_farm'],
+      [feature = 'landuse_farmland'],
+      [feature = 'landuse_greenhouse_horticulture'] {
+        text-fill: darken(@farmland, 50%);
+      }
+      [feature = 'shop_mall'],
+      [feature = 'landuse_retail'] {
+        text-fill: darken(@retail, 50%);
+      }
+      [feature = 'landuse_industrial'],
+      [feature = 'landuse_railway'] {
+        text-fill: darken(@industrial, 60%);
+      }
+      [feature = 'landuse_commercial'] {
+        text-fill: darken(@commercial, 60%);
+      }
+      [feature = 'landuse_brownfield'],
+      [feature = 'landuse_landfill'],
+      [feature = 'landuse_construction'] {
+        text-fill: darken(@construction, 50%);
+      }
+      [feature = 'tourism_caravan_site'] {
+        text-fill: darken(@campsite, 50%);
+        text-dy: 15;
+      }
+      [feature = 'tourism_theme_park'],
+      [feature = 'tourism_zoo'] {
+        text-fill: @tourism;
+        text-face-name: @bold-fonts; /*rendered bold to improve visibility since theme parks tend to have crowded backgrounds*/
+      }
+      [feature = 'tourism_attraction'] {
+        text-fill: #660033;
+        text-face-name: @book-fonts;
+      }
+      [feature = 'amenity_kindergarten'],
+      [feature = 'amenity_school'],
+      [feature = 'amenity_college'],
+      [feature = 'amenity_university'] {
+        text-fill: darken(@educational_areas_and_hospital, 70%);
+      }
+      [feature = 'natural_heath'] {
+        text-fill: darken(@heath, 40%);
+      }
+      [feature = 'natural_scrub'] {
+        text-fill: darken(@scrub, 60%);
+      }
+      [feature = 'natural_beach'] {
+        text-fill: darken(@beach, 60%);
+      }
+      [feature = 'leisure_sports_centre'],
+      [feature = 'leisure_stadium'] {
+        text-fill: darken(@stadium, 30%);
+      }
+      [feature = 'leisure_track'] {
+        text-fill: darken(@track, 40%);
+      }
+      [feature = 'leisure_pitch'] {
+        text-fill: darken(@pitch, 40%);
+      }
+    }
+  }
+
+  [feature = 'natural_bay'][zoom >= 14],
+  [feature = 'natural_spring'][zoom >= 16] {
+    text-name: "[name]";
+    text-size: 10;
+    text-fill: @water-text;
+    text-face-name: @book-fonts;
+    text-halo-radius: 1;
+    text-halo-fill: rgba(255,255,255,0.6);
+    text-wrap-width: @standard-wrap-width;
+    text-placement: interior;
+    [feature = 'natural_spring'] {
+      text-dy: 6;
+    }
+  }
+
+  [feature = 'amenity_bank'][zoom >= 17],
+  [feature = 'amenity_atm'][zoom >= 17] {
+    text-name: "[name]";
+    [feature = 'amenity_atm'] {
+      text-name: "[operator]";
+    }
+    text-size: 10;
+    [feature = 'amenity_bank'] { text-dy: 9; }
+    [feature = 'amenity_atm']  { text-dy: 10; }
+    text-fill: @amenity-brown;
+    text-halo-radius: 1;
+    text-halo-fill: rgba(255,255,255,0.6);
+    text-wrap-width: @standard-wrap-width;
+    text-placement: interior;
+    text-face-name: @book-fonts;
+  }
+
+  [feature = 'tourism_alpine_hut'][zoom >= 15],
+  [feature = 'amenity_shelter'][zoom >= 17],
+  [feature = 'tourism_hotel'][zoom >= 17],
+  [feature = 'tourism_motel'][zoom >= 17],
+  [feature = 'tourism_hostel'][zoom >= 17],
+  [feature = 'tourism_chalet'][zoom >= 17],
+  [feature = 'tourism_guest_house'][zoom >= 17],
+  [feature = 'tourism_camp_site'][zoom >= 17] {
+    text-name: "[name]";
+    text-size: 10;
+    text-fill: #0066ff;
+    text-dy: 11;
+    text-face-name: @book-fonts;
+    text-halo-radius: 1;
+    text-halo-fill: rgba(255,255,255,0.6);
+    text-wrap-width: @standard-wrap-width;
+    text-placement: interior;
+    [feature = 'tourism_motel'] {
+      text-dy: 13;
+    }
+    [feature = 'tourism_camp_site'] {
+      text-dy: 15;
     }
   }
 
-  [feature = 'boundary_national_park'][is_building = 'no'],
-  [feature = 'leisure_nature_reserve'][is_building = 'no'] {
-    [zoom >= 8][way_pixels > 3000],
+  [feature = 'amenity_embassy'][zoom >= 17] {
+    text-name: "[name]";
+    text-size: 9;
+    text-fill: #0066ff;
+    text-dy: 10;
+    text-face-name: @book-fonts;
+    text-halo-radius: 1;
+    text-halo-fill: rgba(255,255,255,0.6);
+    text-wrap-width: @standard-wrap-width;
+    text-placement: interior;
+  }
+
+  [feature = 'amenity_taxi'][zoom >= 17] {
+    text-name: "[name]";
+    text-size: 9;
+    text-fill: #0066ff;
+    text-dy: 11;
+    text-face-name: @book-fonts;
+    text-halo-radius: 1;
+    text-halo-fill: rgba(255,255,255,0.6);
+    text-wrap-width: @standard-wrap-width;
+    text-placement: interior;
+  }
+
+  [feature = 'highway_bus_stop'],
+  [feature = 'amenity_fuel'],
+  [feature = 'amenity_bus_station'] {
     [zoom >= 17] {
       text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@park, 70%);
-      text-face-name: @landcover-face-name;
+      text-size: 9;
+      text-fill: @transportation-text;
+      text-dy: 11;
+      text-face-name: @book-fonts;
       text-halo-radius: 1;
       text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
+      text-wrap-width: @standard-wrap-width;
       text-placement: interior;
+      [feature = 'highway_bus_stop'] {
+        text-dy: 9;
+      }
     }
   }
 
-  [feature = 'landuse_quarry'][is_building = 'no'] {
+  [feature = 'leisure_marina'][zoom >= 15] {
     [zoom >= 10][way_pixels > 3000],
     [zoom >= 17] {
       text-name: "[name]";
       text-size: @landcover-font-size;
       [way_pixels > 12000] { text-size: @landcover-font-size-big; }
       [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@quarry, 60%);
+      text-fill: @marina-text;
       text-face-name: @landcover-face-name;
       text-halo-radius: 1;
       text-halo-fill: rgba(255,255,255,0.6);
@@ -1425,409 +1699,21 @@
     }
   }
 
-  [feature = 'landuse_vineyard'][is_building = 'no'],
-  [feature = 'landuse_orchard'][is_building = 'no'] {
-    [zoom >= 10][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@orchard, 50%);
-      text-face-name: @landcover-face-name;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
-
-  [feature = 'landuse_cemetery'][is_building = 'no'],
-  [feature = 'amenity_grave_yard'][is_building = 'no'] {
-    [zoom >= 10][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@cemetery, 50%);
-      text-face-name: @landcover-face-name;
-      text-halo-radius: 1.5; /* extra halo needed to overpower the cemetery polygon pattern */
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
-
-  [feature = 'landuse_residential'][is_building = 'no'] {
-    [zoom >= 10][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@residential, 50%);
-      text-face-name: @landcover-face-name;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
-
-  [feature = 'landuse_garages'][is_building = 'no'] {
-    [zoom >= 13][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@garages, 50%);
-      text-face-name: @landcover-face-name;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
-
-  [feature = 'landuse_meadow'][is_building = 'no'],
-  [feature = 'natural_grassland'][is_building = 'no'],
-  [feature = 'landuse_grass'][is_building = 'no'] {
-    [zoom >= 10][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@grass, 50%);
-      text-face-name: @landcover-face-name;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
-
-  [feature = 'landuse_allotments'][is_building = 'no'] {
-    [zoom >= 10][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@allotments, 50%);
-      text-face-name: @landcover-face-name;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
-
-  [feature = 'natural_wood'][is_building = 'no'],
-  [feature = 'landuse_forest'][is_building = 'no'] {
-    [zoom >= 8][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: @forest-text;
-      text-face-name: @landcover-face-name;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
-
-  [feature = 'landuse_farmyard'][is_building = 'no'] {
-    [zoom >= 10][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@farmyard, 50%);
-      text-face-name: @landcover-face-name;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
-  [feature = 'landuse_farm'][is_building = 'no'],
-  [feature = 'landuse_farmland'][is_building = 'no'],
-  [feature = 'landuse_greenhouse_horticulture'][is_building = 'no'] {
-    [zoom >= 10][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@farmland, 50%);
-      text-face-name: @landcover-face-name;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
-
-  [feature = 'shop_mall'],
-  [feature = 'landuse_retail'][is_building = 'no'] {
-    [zoom >= 10][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@retail, 50%);
-      text-face-name: @landcover-face-name;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
-
-  [feature = 'landuse_industrial'][is_building = 'no'],
-  [feature = 'landuse_railway'][is_building = 'no'] {
-    [zoom >= 10][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@industrial, 60%);
-      text-face-name: @landcover-face-name;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
-
-  [feature = 'landuse_commercial'][is_building = 'no'] {
-    [zoom >= 10][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@commercial, 60%);
-      text-face-name: @landcover-face-name;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
-
-  [feature = 'landuse_brownfield'][is_building = 'no'],
-  [feature = 'landuse_landfill'][is_building = 'no'],
-  [feature = 'landuse_construction'][is_building = 'no'] {
-    [zoom >= 10][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@construction, 50%);
-      text-face-name: @landcover-face-name;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
-
-  [feature = 'natural_bay'][zoom >= 14] {
-    text-name: "[name]";
-    text-size: 10;
-    text-fill: #6699cc;
-    text-face-name: @book-fonts;
-    text-halo-radius: 1;
-    text-halo-fill: rgba(255,255,255,0.6);
-    text-wrap-width: @standard-wrap-width;
-    text-placement: interior;
-  }
-
-  [feature = 'natural_spring'][zoom >= 16] {
-    text-name: "[name]";
-    text-size: 10;
-    text-fill: #6699cc;
-    text-face-name: @book-fonts;
-    text-halo-radius: 1;
-    text-halo-fill: rgba(255,255,255,0.6);
-    text-wrap-width: @standard-wrap-width;
-    text-placement: interior;
-    text-dy: 6;
-  }
-
-  [feature = 'amenity_bank'][zoom >= 17],
-  [feature = 'amenity_atm'][zoom >= 17] {
-    text-name: "[name]";
-    [feature = 'amenity_atm'] {
-      text-name: "[operator]";
-    }
-    text-size: 10;
-    [feature = 'amenity_bank'] { text-dy: 9; }
-    [feature = 'amenity_atm']  { text-dy: 10; }
-    text-fill: @amenity-brown;
-    text-halo-radius: 1;
-    text-halo-fill: rgba(255,255,255,0.6);
-    text-wrap-width: @standard-wrap-width;
-    text-placement: interior;
-    text-face-name: @book-fonts;
-  }
-
-  [feature = 'tourism_alpine_hut'][zoom >= 15],
-  [feature = 'amenity_shelter'][zoom >= 17],
-  [feature = 'tourism_hotel'][zoom >= 17],
-  [feature = 'tourism_motel'][zoom >= 17],
-  [feature = 'tourism_hostel'][zoom >= 17],
-  [feature = 'tourism_chalet'][zoom >= 17],
-  [feature = 'tourism_guest_house'][zoom >= 17],
-  [feature = 'tourism_camp_site'][zoom >= 17] {
-    text-name: "[name]";
-    text-size: 10;
-    text-fill: #0066ff;
-    text-dy: 11;
-    text-face-name: @book-fonts;
-    text-halo-radius: 1;
-    text-halo-fill: rgba(255,255,255,0.6);
-    text-wrap-width: @standard-wrap-width;
-    text-placement: interior;
-    [feature = 'tourism_motel'] {
-      text-dy: 13;
-    }
-    [feature = 'tourism_camp_site'] {
-      text-dy: 15;
-    }
-  }
-
-  [feature = 'amenity_embassy'][zoom >= 17] {
-    text-name: "[name]";
-    text-size: 9;
-    text-fill: #0066ff;
-    text-dy: 10;
-    text-face-name: @book-fonts;
-    text-halo-radius: 1;
-    text-halo-fill: rgba(255,255,255,0.6);
-    text-wrap-width: @standard-wrap-width;
-    text-placement: interior;
-  }
-
-  [feature = 'amenity_taxi'][zoom >= 16] {
+  [feature = 'amenity_fountain'][zoom >= 17] {
     text-name: "[name]";
     text-size: 9;
-    text-fill: #0066ff;
-    text-dy: 11;
-    text-face-name: @book-fonts;
-    text-halo-radius: 1;
-    text-halo-fill: rgba(255,255,255,0.6);
-    text-wrap-width: @standard-wrap-width;
-    text-placement: interior;
-  }
-
-  [feature = 'highway_bus_stop'],
-  [feature = 'amenity_fuel'],
-  [feature = 'amenity_bus_station'] {
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: 9;
-      text-fill: @transportation-text;
-      text-dy: 11;
-      text-face-name: @book-fonts;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @standard-wrap-width;
-      text-placement: interior;
-      [feature = 'highway_bus_stop'] {
-        text-dy: 9;
-      }
-    }
-  }
-
-  [feature = 'tourism_caravan_site'][is_building = 'no'] {
-    [zoom >= 10][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@campsite, 50%);
-      text-dy: 15;
-      text-face-name: @landcover-face-name;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
-
-  [feature = 'leisure_marina'][zoom >= 15] {
-    text-name: "[name]";
-    text-size: 8;
     text-fill: @marina-text;
+    text-dy: 4;
     text-face-name: @book-fonts;
     text-halo-radius: 1;
     text-halo-fill: rgba(255,255,255,0.6);
     text-wrap-width: @standard-wrap-width;
     text-placement: interior;
-    [zoom >= 17] {
-      text-size: 10;
+    [zoom >= 18] {
+      text-dy: 10;
     }
   }
 
-  [feature = 'tourism_theme_park'][is_building = 'no'],
-  [feature = 'tourism_zoo'][is_building = 'no'] {
-    [zoom >= 13][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: @tourism;
-      text-face-name: @bold-fonts; /*rendered bold to improve visibility since theme parks tend to have crowded backgrounds*/
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
 
   [feature = 'amenity_prison'][zoom >= 17] {
     text-name: "[name]";
@@ -1841,44 +1727,6 @@
     text-placement: interior;
   }
 
-  [feature = 'tourism_attraction'][is_building = 'no'] {
-    [zoom >= 10][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: #660033;
-      text-face-name: @book-fonts;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
-
-  [feature = 'amenity_kindergarten'][is_building = 'no'],
-  [feature = 'amenity_school'][is_building = 'no'],
-  [feature = 'amenity_college'][is_building = 'no'],
-  [feature = 'amenity_university'][is_building = 'no'] {
-    [zoom >= 10][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@educational_areas_and_hospital, 70%);
-      text-face-name: @landcover-face-name;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
 
   [feature = 'man_made_lighthouse'][zoom >= 15] {
     text-name: "[name]";
@@ -1937,6 +1785,7 @@
     }
   }
 
+  [feature = 'shop_bag'],
   [feature = 'shop_bakery'],
   [feature = 'shop_beauty'],
   [feature = 'shop_beverages'],
@@ -1972,6 +1821,7 @@
   [feature = 'shop_electronics'],
   [feature = 'shop_alcohol'],
   [feature = 'shop_optician'],
+  [feature = 'shop_outdoor'],
   [feature = 'shop_perfumery'],
   [feature = 'shop_furniture'],
   [feature = 'shop_kiosk'],
@@ -1996,10 +1846,13 @@
       text-dy: 12;
       text-fill: @shop-text;
       text-face-name: @book-fonts;
-      text-halo-radius: 1.5;
+      text-halo-radius: 1;
       text-halo-fill: rgba(255, 255, 255, 0.6);
       text-wrap-width: @standard-wrap-width;
       text-placement: interior;
+      [feature = 'shop_car_repair'] {
+        text-fill: @amenity-brown;
+      }
     }
   }
 
@@ -2011,49 +1864,13 @@
       text-dy: 12;
       text-fill: @shop-text;
       text-face-name: @book-fonts;
-      text-halo-radius: 1.5;
+      text-halo-radius: 1;
       text-halo-fill: rgba(255, 255, 255, 0.6);
       text-wrap-width: @standard-wrap-width;
       text-placement: interior;
     }
   }
 
-  [feature = 'military_danger_area'][is_building = 'no'] {
-    [zoom >= 9][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@danger_area, 40%);
-      text-face-name: @bold-fonts;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
-
-  [feature = 'landuse_military'][is_building = 'no'] {
-    [zoom >= 8][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@military, 40%);
-      text-face-name: @landcover-face-name;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
-
   [feature = 'aeroway_gate'][zoom >= 17] {
     text-name: "[ref]";
     text-size: 10;
@@ -2065,6 +1882,7 @@
     text-placement: interior;
   }
 
+  [feature = 'power_plant'][is_building = 'no'][zoom >= 10],
   [feature = 'power_station'][is_building = 'no'][zoom >= 10],
   [feature = 'power_generator'][is_building = 'no'][zoom >= 10],
   [feature = 'power_sub_station'][is_building = 'no'][zoom >= 13],
@@ -2086,70 +1904,16 @@
     }
   }
 
-  [feature = 'natural_scree'][is_building = 'no'],
-  [feature = 'natural_shingle'][is_building = 'no'],
-  [feature = 'natural_bare_rock'][is_building = 'no'] {
-    [zoom >= 9][way_pixels > 3000],
-    [zoom >= 17] {
+  [feature = 'natural_scree'],
+  [feature = 'natural_shingle'],
+  [feature = 'natural_bare_rock'],
+  [feature = 'natural_sand'] {
+    [zoom >= 9][way_pixels > 3000][is_building = 'no'],
+    [zoom >= 17][is_building = 'no'] {
       text-name: "[name]";
       text-size: @landcover-font-size;
       [way_pixels > 12000] { text-size: @landcover-font-size-big; }
       [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@bare_ground, 50%);
-      text-face-name: @landcover-face-name;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
-
-  [feature = 'natural_sand'][is_building = 'no'] {
-    [zoom >= 9][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@sand, 50%);
-      text-face-name: @landcover-face-name;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
-
-  [feature = 'natural_heath'][is_building = 'no'] {
-    [zoom >= 10][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@heath, 40%);
-      text-face-name: @landcover-face-name;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
-
-  [feature = 'natural_scrub'][is_building = 'no'] {
-    [zoom >= 10][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@scrub, 60%);
       text-face-name: @landcover-face-name;
       text-halo-radius: 1;
       text-halo-fill: rgba(255,255,255,0.6);
@@ -2157,6 +1921,14 @@
       [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
       [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
       text-placement: interior;
+      [feature = 'natural_scree'],
+      [feature = 'natural_shingle'],
+      [feature = 'natural_bare_rock'] {
+        text-fill: darken(@bare_ground, 50%);
+      }
+      [feature = 'natural_sand'] {
+        text-fill: darken(@sand, 50%);
+      }
     }
   }
 
@@ -2178,24 +1950,6 @@
     }
   }
 
-  [feature = 'natural_beach'][is_building = 'no'] {
-    [zoom >= 10][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@beach, 60%);
-      text-face-name: @landcover-face-name;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
-
   [feature = 'highway_services'][is_building = 'no'],
   [feature = 'highway_rest_area'][is_building = 'no'] {
     [zoom >= 10][way_pixels > 3000],
@@ -2350,3 +2104,4 @@
     }
   }
 }
+
diff --git a/get-shapefiles.sh b/get-shapefiles.sh
index 152eea5..da232de 100755
--- a/get-shapefiles.sh
+++ b/get-shapefiles.sh
@@ -4,12 +4,10 @@ set -e -u
 UNZIP_OPTS=-qqun
 
 # create and populate data dir
-
 mkdir -p data/
 mkdir -p data/world_boundaries
 mkdir -p data/simplified-land-polygons-complete-3857
 mkdir -p data/ne_110m_admin_0_boundary_lines_land
-mkdir -p data/ne_10m_populated_places
 mkdir -p data/land-polygons-split-3857
 
 # world_boundaries
@@ -41,18 +39,6 @@ unzip $UNZIP_OPTS data/ne_110m_admin_0_boundary_lines_land.zip \
   ne_110m_admin_0_boundary_lines_land.dbf \
   -d data/ne_110m_admin_0_boundary_lines_land/
 
-# ne_10m_populated_places
-echo "downloading ne_10m_populated_places..."
-curl -z data/ne_10m_populated_places.zip -L -o data/ne_10m_populated_places.zip http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/cultural/ne_10m_populated_places.zip
-echo "expanding ne_10m_populated_places..."
-unzip $UNZIP_OPTS data/ne_10m_populated_places.zip \
-  ne_10m_populated_places.shp \
-  ne_10m_populated_places.shx \
-  ne_10m_populated_places.prj \
-  ne_10m_populated_places.dbf \
-  ne_10m_populated_places.cpg \
-  -d data/ne_10m_populated_places/
-
 # land-polygons-split-3857
 echo "downloading land-polygons-split-3857..."
 curl -z "data/land-polygons-split-3857.zip" -L -o "data/land-polygons-split-3857.zip" "http://data.openstreetmapdata.com/land-polygons-split-3857.zip"
@@ -87,25 +73,14 @@ unzip $UNZIP_OPTS data/antarctica-icesheet-outlines-3857.zip \
   antarctica-icesheet-outlines-3857/icesheet_outlines.dbf \
   -d data/
 
-#process populated places
-echo "processing ne_10m_populated_places..."
-rm -f data/ne_10m_populated_places/ne_10m_populated_places_fixed.*
-ogr2ogr --config SHAPE_ENCODING UTF8 data/ne_10m_populated_places/ne_10m_populated_places_fixed.shp data/ne_10m_populated_places/ne_10m_populated_places.shp
-
 #index
 echo "indexing shapefiles"
-
 shapeindex --shape_files \
 data/simplified-land-polygons-complete-3857/simplified_land_polygons.shp \
 data/land-polygons-split-3857/land_polygons.shp \
 data/antarctica-icesheet-polygons-3857/icesheet_polygons.shp \
 data/antarctica-icesheet-outlines-3857/icesheet_outlines.shp \
-data/ne_10m_populated_places/ne_10m_populated_places_fixed.shp \
 data/ne_110m_admin_0_boundary_lines_land/ne_110m_admin_0_boundary_lines_land.shp
 
-
-#clean up
-echo "cleaning up..."
-rm data/ne_10m_populated_places/ne_10m_populated_places.*
-
+#finish
 echo "...done!"
diff --git a/landcover.mss b/landcover.mss
index 326af67..69ea47b 100644
--- a/landcover.mss
+++ b/landcover.mss
@@ -84,7 +84,7 @@
 
   [feature = 'leisure_playground'][zoom >= 13] {
     polygon-fill: @playground;
-    line-color: saturate(darken(@playground, 60%), 30%);
+    line-color: darken(@playground, 60%);
     line-width: 0.3;
     [way_pixels >= 4]  { polygon-gamma: 0.75; }
     [way_pixels >= 64] { polygon-gamma: 0.3;  }
diff --git a/placenames.mss b/placenames.mss
index f366187..6137660 100644
--- a/placenames.mss
+++ b/placenames.mss
@@ -1,5 +1,6 @@
 @placenames: #222;
 @placenames-light: #777777;
+
 .country {
   [admin_level = '2'][zoom >= 2][way_pixels > 3000][way_pixels < 196000] {
     text-name: "[name]";
@@ -17,7 +18,7 @@
 
 .state {
   [admin_level = '4'] {
-    [zoom >= 4][zoom < 5][way_pixels > 750][way_pixels < 196000],
+    [zoom >= 4][zoom < 5][way_pixels > 750],
     [zoom >= 5][way_pixels > 3000][way_pixels < 196000] {
       text-name: "[ref]";
       text-size: 9;
@@ -38,43 +39,56 @@
   }
 }
 
-#placenames-capital {
-  [zoom >= 5][zoom < 15] {
-    text-name: "[name]";
-    text-size: 10;
-    text-fill: @placenames;
-    text-face-name: @book-fonts;
-    text-halo-radius: 1.5;
-    text-halo-fill: rgba(255,255,255,0.6);
-    text-wrap-width: 45;
-    text-min-distance: 10;
-    [zoom >= 6] {
-      text-size: 12;
-      text-wrap-width: 60;
-    }
-    [zoom >= 11] {
-      text-size: 15;
-      text-wrap-width: 75;
+#placenames-medium::high-importance {
+  [category = 1][zoom < 14] {
+    [zoom >= 3][score >= 5000000],
+    [zoom >= 4][score >= 3000000],
+    [zoom >= 5][score >= 400000] {
+      text-name: "[name]";
+      text-size: 8;
+      text-fill: @placenames;
+      text-face-name: @book-fonts;
+      text-halo-radius: 1.5;
+      text-halo-fill: rgba(255,255,255,0.6);
+      text-wrap-width: 30;
+      text-min-distance: 10;
+      [zoom >= 5] {
+        text-size: 10;
+        text-wrap-width: 45;
+      }
+      [zoom >= 6] {
+        text-size: 12;
+        text-wrap-width: 60;
+      }
+      [zoom >= 11] {
+        text-size: 15;
+        text-wrap-width: 75;
+      }
     }
   }
 }
 
-#placenames-medium::city {
-  [place = 'city'] {
-    [zoom >= 6][zoom < 15] {
+#placenames-medium::medium-importance {
+  [category = 1][score < 400000][zoom < 15] {
+    [zoom >= 6][score >= 70000],
+    [zoom >= 7] {
       text-name: "[name]";
       text-size: 9;
       text-fill: @placenames;
       text-face-name: @book-fonts;
       text-halo-radius: 1.5;
       text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: 45;
+      text-wrap-width: 30;
       text-min-distance: 10;
       [zoom >= 9] {
-        text-size: 12;
+        text-size: 11;
         text-wrap-width: 60;
       }
       [zoom >= 11] {
+        text-size: 14;
+        text-wrap-width: 70;
+      }
+      [zoom >= 14] {
         text-size: 15;
         text-wrap-width: 75;
       }
@@ -82,8 +96,8 @@
   }
 }
 
-#placenames-medium::town {
-  [place = 'town'] {
+#placenames-medium::low-importance {
+  [category = 2] {
     [zoom >= 9][zoom < 16] {
       text-name: "[name]";
       text-size: 9;
@@ -103,7 +117,7 @@
       }
       [zoom >= 14] {
         text-size: 15;
-        text-wrap-width: 75;
+        text-wrap-width: 70;
       }
     }
   }
diff --git a/preview.png b/preview.png
index fb53b01..1a46e1c 100644
Binary files a/preview.png and b/preview.png differ
diff --git a/project.mml b/project.mml
index 38f069f..730c302 100644
--- a/project.mml
+++ b/project.mml
@@ -126,7 +126,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way, name, religion, way_pixels,\n    COALESCE(aeroway, amenity, wetland, landuse, leisure, military, \"natural\", power, tourism, highway, railway) AS feature\n  FROM (SELECT\n      way, COALESCE(name, '') AS name,\n      ('aeroway_' || (CASE WHEN aeroway IN ('apron', 'aerodrome') THEN aeroway ELSE NULL END)) AS aeroway,\n      ('amenity_' || (CASE WHEN amenity IN ('parking', 'bicycle_parking', 'motorcycle_parking', 'university', 'college', 'school', 'hosp [...]
+        "table": "(SELECT\n    way, name, religion, way_pixels,\n    COALESCE(aeroway, amenity, wetland, power, landuse, leisure, military, \"natural\", tourism, highway, railway) AS feature\n  FROM (SELECT\n      way, COALESCE(name, '') AS name,\n      ('aeroway_' || (CASE WHEN aeroway IN ('apron', 'aerodrome') THEN aeroway ELSE NULL END)) AS aeroway,\n      ('amenity_' || (CASE WHEN amenity IN ('parking', 'bicycle_parking', 'motorcycle_parking', 'university', 'college', 'school', \n    [...]
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -587,7 +587,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT way, (CASE WHEN substr(feature, length(feature)-3, 4) = 'link' THEN substr(feature, 0, length(feature)-4) ELSE feature END) AS feature,\n        horse, foot, bicycle, tracktype, int_surface, access, construction,\n        service, oneway, link, layernotnull\n  FROM ( -- subselect that contains both roads and rail/aero\n    SELECT\n        way,\n        ('highway_' || highway) AS feature, --only motorway to tertiary links are accepted later on\n        horse,\n   [...]
+        "table": "(SELECT way, (CASE WHEN substr(feature, length(feature)-3, 4) = 'link' THEN substr(feature, 0, length(feature)-4) ELSE feature END) AS feature,\n        horse, foot, bicycle, tracktype, int_surface, access, construction,\n        service, oneway, link, layernotnull\n  FROM ( -- subselect that contains both roads and rail/aero\n    SELECT\n        way,\n        ('highway_' || highway) AS feature, --only motorway to tertiary links are accepted later on\n        horse,\n   [...]
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -601,7 +601,7 @@
       ],
       "properties": {
         "group-by": "layernotnull",
-        "minzoom": 10
+        "minzoom": 9
       },
       "advanced": {}
     },
@@ -821,7 +821,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT way, (CASE WHEN substr(feature, length(feature)-3, 4) = 'link' THEN substr(feature, 0, length(feature)-4) ELSE feature END) AS feature,\n        horse, foot, bicycle, tracktype, int_surface, access, construction,\n        service, oneway, link, layernotnull\n  FROM ( -- subselect that contains both roads and rail/aero\n    SELECT\n        way,\n        ('highway_' || highway) AS feature, --only motorway to tertiary links are accepted later on\n        horse,\n   [...]
+        "table": "(SELECT way, (CASE WHEN substr(feature, length(feature)-3, 4) = 'link' THEN substr(feature, 0, length(feature)-4) ELSE feature END) AS feature,\n        horse, foot, bicycle, tracktype, int_surface, access, construction,\n        service, oneway, link, layernotnull\n  FROM ( -- subselect that contains both roads and rail/aero\n    SELECT\n        way,\n        ('highway_' || highway) AS feature, --only motorway to tertiary links are accepted later on\n        horse,\n   [...]
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -835,7 +835,7 @@
       ],
       "id": "roads-casing",
       "properties": {
-        "minzoom": 10
+        "minzoom": 9
       },
       "advanced": {}
     },
@@ -847,7 +847,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    COALESCE(\n      ('highway_' || (CASE WHEN highway IN ('residential', 'unclassified', 'pedestrian', 'service', 'footway', 'cycleway', 'living_street', 'track', 'path', 'platform', 'services') THEN highway ELSE NULL END)),\n      ('railway_' || (CASE WHEN railway IN ('platform') THEN railway ELSE NULL END)),\n      (('aeroway_' || CASE WHEN aeroway IN ('runway', 'taxiway', 'helipad') THEN aeroway ELSE NULL END))\n    ) AS feature\n  FROM planet_osm [...]
+        "table": "(SELECT\n    way,\n    COALESCE(\n      ('highway_' || (CASE WHEN highway IN ('residential', 'unclassified', 'pedestrian', 'service', 'footway', 'cycleway', 'living_street', \n                                            'track', 'path', 'platform', 'services') THEN highway ELSE NULL END)),\n      ('railway_' || (CASE WHEN railway IN ('platform') THEN railway ELSE NULL END)),\n      (('aeroway_' || CASE WHEN aeroway IN ('runway', 'taxiway', 'helipad') THEN aeroway ELSE N [...]
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -873,7 +873,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT way, (CASE WHEN substr(feature, length(feature)-3, 4) = 'link' THEN substr(feature, 0, length(feature)-4) ELSE feature END) AS feature,\n        horse, foot, bicycle, tracktype, int_surface, access, construction,\n        service, oneway, link, layernotnull\n  FROM ( -- subselect that contains both roads and rail/aero\n    SELECT\n        way,\n        ('highway_' || highway) AS feature, --only motorway to tertiary links are accepted later on\n        horse,\n   [...]
+        "table": "(SELECT way, (CASE WHEN substr(feature, length(feature)-3, 4) = 'link' THEN substr(feature, 0, length(feature)-4) ELSE feature END) AS feature,\n        horse, foot, bicycle, tracktype, int_surface, access, construction,\n        service, oneway, link, layernotnull\n  FROM ( -- subselect that contains both roads and rail/aero\n    SELECT\n        way,\n        ('highway_' || highway) AS feature, --only motorway to tertiary links are accepted later on\n        horse,\n   [...]
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -951,7 +951,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    COALESCE(\n      ('highway_' || (CASE WHEN substr(highway, length(highway)-3, 4) = 'link' THEN substr(highway, 0, length(highway)-4) ELSE highway end)),\n      ('railway_' || (CASE WHEN (railway = 'rail' AND service IN ('spur', 'siding', 'yard')) THEN 'INT-spur-siding-yard' WHEN railway IN ('rail', 'tram', 'light_rail', 'funicular', 'narrow_gauge') THEN railway ELSE NULL END))\n    ) AS feature,\n    CASE WHEN tunnel = 'yes' OR tunnel = 'building_ [...]
+        "table": "(SELECT\n    way,\n    COALESCE(\n      ('highway_' || (CASE WHEN substr(highway, length(highway)-3, 4) = 'link' THEN substr(highway, 0, length(highway)-4) ELSE highway end)),\n      ('railway_' || (CASE WHEN (railway = 'rail' AND service IN ('spur', 'siding', 'yard')) THEN 'INT-spur-siding-yard' \n                           WHEN railway IN ('rail', 'tram', 'light_rail', 'funicular', 'narrow_gauge') THEN railway ELSE NULL END))\n    ) AS feature,\n    CASE WHEN tunnel = [...]
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1004,7 +1004,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT way, (CASE WHEN substr(feature, length(feature)-3, 4) = 'link' THEN substr(feature, 0, length(feature)-4) ELSE feature END) AS feature,\n        horse, foot, bicycle, tracktype, int_surface, access, construction,\n        service, oneway, link, layernotnull\n  FROM ( -- subselect that contains both roads and rail/aero\n    SELECT\n        way,\n        ('highway_' || highway) AS feature, --only motorway to tertiary links are accepted later on\n        horse,\n   [...]
+        "table": "(SELECT way, (CASE WHEN substr(feature, length(feature)-3, 4) = 'link' THEN substr(feature, 0, length(feature)-4) ELSE feature END) AS feature,\n        horse, foot, bicycle, tracktype, int_surface, access, construction,\n        service, oneway, link, layernotnull\n  FROM ( -- subselect that contains both roads and rail/aero\n    SELECT\n        way,\n        ('highway_' || highway) AS feature, --only motorway to tertiary links are accepted later on\n        horse,\n   [...]
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1018,7 +1018,7 @@
       ],
       "properties": {
         "group-by": "layernotnull",
-        "minzoom": 10
+        "minzoom": 9
       },
       "advanced": {}
     },
@@ -1232,15 +1232,15 @@
       "advanced": {}
     },
     {
-      "name": "placenames-large",
+      "name": "trees",
       "srs-name": "900913",
-      "geometry": "point",
-      "class": "country state",
-      "id": "placenames-large",
+      "geometry": "polygon",
+      "class": "",
+      "id": "trees",
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels,\n    name,\n    ref,\n    admin_level\n  FROM planet_osm_polygon\n  WHERE boundary = 'administrative'\n    AND admin_level IN ('2', '4')\n    AND name IS NOT NULL\n  ORDER BY admin_level ASC, way_area DESC\n) AS placenames_large",
+        "table": "(SELECT\n    way, \"natural\"\n  FROM planet_osm_point\n  WHERE \"natural\" = 'tree'\nUNION ALL\nSELECT\n    way, \"natural\"\n  FROM planet_osm_line\n  WHERE \"natural\" = 'tree_row'\n) AS trees",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1253,46 +1253,20 @@
         85.05112877980659
       ],
       "properties": {
-        "minzoom": 2
+        "minzoom": 16
       },
       "advanced": {}
     },
     {
-      "name": "nepopulated",
-      "srs-name": "WGS84",
-      "geometry": "point",
-      "class": "",
-      "id": "nepopulated",
-      "srs": "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs",
-      "Datasource": {
-        "type": "shape",
-        "file": "data/ne_10m_populated_places/ne_10m_populated_places_fixed.shp",
-        "encoding": "windows-1252"
-      },
-      "extent": [
-        -180,
-        -85.05112877980659,
-        180,
-        85.05112877980659
-      ],
-      "properties": {
-        "maxzoom": 4,
-        "minzoom": 3
-      },
-      "advanced": {
-        "encoding": "windows-1252"
-      }
-    },
-    {
-      "name": "placenames-capital",
+      "name": "placenames-large",
       "srs-name": "900913",
       "geometry": "point",
-      "class": "",
-      "id": "placenames-capital",
+      "class": "country state",
+      "id": "placenames-large",
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    place,\n    name,\n    ref\n  FROM planet_osm_point\n  WHERE place IN ('city', 'town')\n    AND capital IN ('yes', '4')\n    AND name IS NOT NULL\n  ORDER BY CASE\n      WHEN place = 'city' THEN 1\n      WHEN place = 'town' THEN 2\n    END ASC\n) AS placenames_capital",
+        "table": "(SELECT\n    way,\n    way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels,\n    name,\n    ref,\n    admin_level\n  FROM planet_osm_polygon\n  WHERE boundary = 'administrative'\n    AND admin_level IN ('2', '4')\n    AND name IS NOT NULL\n  ORDER BY admin_level ASC, way_area DESC\n) AS placenames_large",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1305,8 +1279,7 @@
         85.05112877980659
       ],
       "properties": {
-        "maxzoom": 14,
-        "minzoom": 5
+        "minzoom": 2
       },
       "advanced": {}
     },
@@ -1319,7 +1292,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    place,\n    name\n  FROM planet_osm_point\n  WHERE place IN ('city', 'town')\n    AND (capital IS NULL OR capital NOT IN ('yes', '4'))\n    AND name IS NOT NULL\n  ORDER BY CASE\n      WHEN place = 'city' THEN 1\n      WHEN place = 'town' THEN 2\n    END ASC\n) AS placenames_medium",
+        "table": "(SELECT\n    way,\n    name,\n    score,\n    CASE\n      WHEN (place = 'city' OR (capital = 'yes' AND score >= 100000)) THEN 1\n      ELSE 2\n    END as category\n  FROM \n    (SELECT\n        way,\n        place,\n        name,\n        capital,\n        (\n          (CASE\n            WHEN (population ~ '^[0-9]{1,8}$') THEN population::INTEGER\n            WHEN (place = 'city') THEN 100000\n            WHEN (place = 'town') THEN 1000\n            ELSE 1\n          EN [...]
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1332,7 +1305,8 @@
         85.05112877980659
       ],
       "properties": {
-        "minzoom": 6
+        "maxzoom": 15,
+        "minzoom": 3
       },
       "advanced": {}
     },
@@ -1371,7 +1345,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    name,\n    railway,\n    aerialway,\n    disused\n  FROM planet_osm_point\n  WHERE railway IN ('station', 'halt', 'tram_stop', 'subway_entrance')\n    OR aerialway = 'station'\n) AS stations",
+        "table": "(SELECT\n    way,\n    name,\n    railway,\n    aerialway,\n    disused,\n    CASE railway \n      WHEN 'station' THEN 1 \n      WHEN 'subway_entrance' THEN 3\n      ELSE 2\n    END\n      AS prio\n  FROM planet_osm_point\n  WHERE railway IN ('station', 'halt', 'tram_stop', 'subway_entrance')\n    OR aerialway = 'station'\n  ORDER BY prio\n) AS stations",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1415,32 +1389,6 @@
       "advanced": {}
     },
     {
-      "name": "trees",
-      "srs-name": "900913",
-      "geometry": "polygon",
-      "class": "",
-      "id": "trees",
-      "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
-      "Datasource": {
-        "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way, \"natural\"\n  FROM planet_osm_point\n  WHERE \"natural\" = 'tree'\nUNION ALL\nSELECT\n    way, \"natural\"\n  FROM planet_osm_line\n  WHERE \"natural\" = 'tree_row'\n) AS trees",
-        "geometry_field": "way",
-        "type": "postgis",
-        "key_field": "",
-        "dbname": "gis"
-      },
-      "extent": [
-        -180,
-        -85.05112877980659,
-        180,
-        85.05112877980659
-      ],
-      "properties": {
-        "minzoom": 16
-      },
-      "advanced": {}
-    },
-    {
       "name": "amenity-points-poly",
       "srs-name": "900913",
       "geometry": "polygon",
@@ -1449,7 +1397,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    COALESCE(\n      'aeroway_' || CASE WHEN aeroway IN ('helipad', 'aerodrome') THEN aeroway ELSE NULL END,\n      'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'camp_site', 'caravan_site', 'chalet', 'guest_house', 'hostel', 'hotel', 'motel', 'information', 'museum', 'picnic_site') THEN tourism ELSE NULL END,\n      'amenity_' || CASE WHEN amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', 'bus_station', 'cafe', 'car_rental', 'car_sha [...]
+        "table": "(SELECT\n    way,\n    COALESCE(\n      'aeroway_' || CASE WHEN aeroway IN ('helipad', 'aerodrome') THEN aeroway ELSE NULL END,\n      'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'camp_site', 'caravan_site', 'chalet', 'guest_house', \n                                          'hostel', 'hotel', 'motel', 'information', 'museum', 'picnic_site') THEN tourism ELSE NULL END,\n      'amenity_' || CASE WHEN amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', ' [...]
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1475,7 +1423,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    COALESCE(\n      'aeroway_' || CASE WHEN aeroway IN ('helipad', 'aerodrome') THEN aeroway ELSE NULL END,\n      'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'camp_site', 'caravan_site', 'chalet', 'guest_house', 'hostel', 'hotel', 'motel', 'information', 'museum', 'picnic_site') THEN tourism ELSE NULL END,\n      'amenity_' || CASE WHEN amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', 'bus_station', 'cafe', 'car_rental', 'car_sha [...]
+        "table": "(SELECT\n    way,\n    COALESCE(\n      'aeroway_' || CASE WHEN aeroway IN ('helipad', 'aerodrome') THEN aeroway ELSE NULL END,\n      'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'camp_site', 'caravan_site', 'chalet', 'guest_house', 'hostel', \n                                          'hotel', 'motel', 'information', 'museum', 'picnic_site') THEN tourism ELSE NULL END,\n      'amenity_' || CASE WHEN amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', ' [...]
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1684,7 +1632,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT way,\n    CASE WHEN substr(highway, length(highway)-3, 4) = 'link' THEN substr(highway, 0, length(highway)-4) ELSE highway END,\n    CASE WHEN (tunnel = 'yes' OR tunnel = 'building_passage' OR covered = 'yes') THEN 'yes' ELSE 'no' END AS tunnel,\n    CASE WHEN construction IN ('service', 'footway', 'cycleway', 'bridleway', 'path', 'track') THEN 'yes' ELSE 'no' END AS int_construction_minor,\n    name\n  FROM planet_osm_line\n  WHERE highway IN ('motorway', 'moto [...]
+        "table": "(SELECT way,\n    CASE WHEN substr(highway, length(highway)-3, 4) = 'link' THEN substr(highway, 0, length(highway)-4) ELSE highway END,\n    CASE WHEN (tunnel = 'yes' OR tunnel = 'building_passage' OR covered = 'yes') THEN 'yes' ELSE 'no' END AS tunnel,\n    CASE WHEN construction IN ('service', 'footway', 'cycleway', 'bridleway', 'path', 'track') THEN 'yes' ELSE 'no' END AS int_construction_minor,\n    name\n  FROM planet_osm_line\n  WHERE highway IN ('motorway', 'moto [...]
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1763,7 +1711,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels,\n    COALESCE(\n      'aeroway_' || CASE WHEN aeroway IN ('gate', 'apron', 'helipad', 'aerodrome') THEN aeroway ELSE NULL END,\n      'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'hotel', 'motel', 'hostel', 'chalet', 'guest_house', 'camp_site', 'caravan_site', 'theme_park', 'museum', 'zoo', 'information', 'picnic_site') THEN tourism ELSE NULL END,\n      'amenity_' ||  [...]
+        "table": "(SELECT\n    way,\n    way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels,\n    COALESCE(\n      'aeroway_' || CASE WHEN aeroway IN ('gate', 'apron', 'helipad', 'aerodrome') THEN aeroway ELSE NULL END,\n      'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'hotel', 'motel', 'hostel', 'chalet', 'guest_house', 'camp_site', 'caravan_site', \n                                          'theme_park', 'museum', 'zoo', 'information', 'picnic_site') THEN  [...]
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1815,7 +1763,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    way_pixels,\n    feature,\n    access,\n    CONCAT(\n        name,\n        CASE WHEN name IS NOT NULL AND elevation IS NOT NULL THEN E'\\n' ELSE NULL END,\n        CASE WHEN elevation IS NOT NULL THEN CONCAT(REPLACE(ROUND(elevation)::TEXT, '-', U&'\\2212'), U&'\\00A0', 'm') ELSE NULL END\n    ) AS name,\n    CASE\n      WHEN \"natural\" IN ('peak', 'volcano', 'saddle') THEN elevation\n      ELSE NULL\n    END AS score,\n    operator,\n    ref,\n  [...]
+        "table": "(SELECT\n    way,\n    way_pixels,\n    feature,\n    access,\n    CONCAT(\n        name,\n        CASE WHEN name IS NOT NULL AND elevation IS NOT NULL THEN E'\\n' ELSE NULL END,\n        CASE WHEN elevation IS NOT NULL THEN CONCAT(REPLACE(ROUND(elevation)::TEXT, '-', U&'\\2212'), U&'\\00A0', 'm') ELSE NULL END\n    ) AS name,\n    CASE\n      WHEN \"natural\" IN ('peak', 'volcano', 'saddle') THEN elevation\n      ELSE NULL\n    END AS score,\n    operator,\n    ref,\n  [...]
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -2049,7 +1997,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    amenity,\n    railway,\n    highway,\n    barrier,\n    access,\n    CASE WHEN amenity='waste_basket' THEN 2 ELSE 1 END AS prio\n  FROM planet_osm_point p\n  WHERE barrier IN ('bollard', 'gate', 'lift_gate', 'block')\n     OR highway IN ('mini_roundabout')\n     OR railway = 'level_crossing'\n     OR amenity IN ('parking', 'bicycle_parking', 'motorcycle_parking', 'bench', 'waste_basket')\n  ORDER BY prio\n  ) AS amenity_low_priority",
+        "table": "(SELECT\n    way,\n    amenity,\n    railway,\n    highway,\n    barrier,\n    man_made,\n    historic,\n    access,\n    name,\n    CASE WHEN amenity='waste_basket' THEN 2 ELSE 1 END AS prio\n  FROM planet_osm_point p\n  WHERE barrier IN ('bollard', 'gate', 'lift_gate', 'block')\n     OR highway IN ('mini_roundabout')\n     OR railway = 'level_crossing'\n     OR amenity IN ('parking', 'bicycle_parking', 'motorcycle_parking', 'bench', 'waste_basket')\n     OR historic = [...]
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -2075,7 +2023,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    amenity,\n    railway,\n    highway,\n    barrier,\n    access\n  FROM planet_osm_polygon\n  WHERE barrier IN ('bollard', 'gate', 'lift_gate', 'block')\n     OR highway IN ('mini_roundabout')\n     OR railway = 'level_crossing'\n         OR amenity IN ('parking', 'bicycle_parking', 'motorcycle_parking')\n  ) AS amenity_low_priority_poly",
+        "table": "(SELECT\n    way,\n    amenity,\n    railway,\n    highway,\n    barrier,\n    man_made,\n    historic,\n    access,\n    name\n  FROM planet_osm_polygon\n  WHERE barrier IN ('bollard', 'gate', 'lift_gate', 'block')\n     OR highway IN ('mini_roundabout')\n     OR railway = 'level_crossing'\n         OR amenity IN ('parking', 'bicycle_parking', 'motorcycle_parking')\n  ) AS amenity_low_priority_poly",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
diff --git a/project.yaml b/project.yaml
index 5c0cd30..cf78cec 100644
--- a/project.yaml
+++ b/project.yaml
@@ -139,13 +139,20 @@ Layer:
       table: |-
         (SELECT
             way, name, religion, way_pixels,
-            COALESCE(aeroway, amenity, wetland, landuse, leisure, military, "natural", power, tourism, highway, railway) AS feature
+            COALESCE(aeroway, amenity, wetland, power, landuse, leisure, military, "natural", tourism, highway, railway) AS feature
           FROM (SELECT
               way, COALESCE(name, '') AS name,
               ('aeroway_' || (CASE WHEN aeroway IN ('apron', 'aerodrome') THEN aeroway ELSE NULL END)) AS aeroway,
-              ('amenity_' || (CASE WHEN amenity IN ('parking', 'bicycle_parking', 'motorcycle_parking', 'university', 'college', 'school', 'hospital', 'kindergarten', 'grave_yard', 'prison', 'place_of_worship', 'clinic') THEN amenity ELSE NULL END)) AS amenity,
-              ('landuse_' || (CASE WHEN landuse IN ('quarry', 'vineyard', 'orchard', 'cemetery', 'residential', 'garages', 'meadow', 'grass', 'allotments', 'forest', 'farmyard', 'farm', 'farmland', 'greenhouse_horticulture', 'recreation_ground', 'village_green', 'retail', 'industrial', 'railway', 'commercial', 'brownfield', 'landfill', 'construction') THEN landuse ELSE NULL END)) AS landuse,
-              ('leisure_' || (CASE WHEN leisure IN ('swimming_pool', 'playground', 'park', 'recreation_ground', 'common', 'garden', 'golf_course', 'miniature_golf', 'picnic_table', 'sports_centre', 'stadium', 'pitch', 'track') THEN leisure ELSE NULL END)) AS leisure,
+              ('amenity_' || (CASE WHEN amenity IN ('parking', 'bicycle_parking', 'motorcycle_parking', 'university', 'college', 'school', 
+                                                    'hospital', 'kindergarten', 'grave_yard', 'prison', 'place_of_worship', 'clinic') 
+                                                    THEN amenity ELSE NULL END)) AS amenity,
+              ('landuse_' || (CASE WHEN landuse IN ('quarry', 'vineyard', 'orchard', 'cemetery', 'residential', 'garages', 'meadow', 'grass', 
+                                                    'allotments', 'forest', 'farmyard', 'farm', 'farmland', 'greenhouse_horticulture', 
+                                                    'recreation_ground', 'village_green', 'retail', 'industrial', 'railway', 'commercial', 
+                                                    'brownfield', 'landfill', 'construction') THEN landuse ELSE NULL END)) AS landuse,
+              ('leisure_' || (CASE WHEN leisure IN ('swimming_pool', 'playground', 'park', 'recreation_ground', 'common', 'garden', 
+                                                    'golf_course', 'miniature_golf', 'picnic_table', 'sports_centre', 'stadium', 'pitch', 
+                                                    'track') THEN leisure ELSE NULL END)) AS leisure,
               ('military_' || (CASE WHEN military IN ('danger_area') THEN military ELSE NULL END)) AS military,
               ('natural_' || (CASE WHEN "natural" IN ('beach', 'heath', 'grassland', 'wood', 'sand', 'scree', 'shingle', 'bare_rock', 'scrub') THEN "natural" ELSE NULL END)) AS "natural",
               ('wetland_' || (CASE WHEN "natural" IN ('wetland', 'marsh', 'mud') THEN (CASE WHEN "natural" IN ('marsh', 'mud') THEN "natural" ELSE wetland END) ELSE NULL END)) AS wetland,
@@ -159,7 +166,8 @@ Layer:
             WHERE (landuse IS NOT NULL
               OR leisure IS NOT NULL
               OR aeroway IN ('apron', 'aerodrome')
-              OR amenity IN ('parking', 'bicycle_parking', 'motorcycle_parking', 'university', 'college', 'school', 'hospital', 'kindergarten', 'grave_yard', 'place_of_worship', 'prison', 'clinic')
+              OR amenity IN ('parking', 'bicycle_parking', 'motorcycle_parking', 'university', 'college', 'school', 'hospital', 'kindergarten', 
+                             'grave_yard', 'place_of_worship', 'prison', 'clinic')
               OR military IN ('danger_area')
               OR "natural" IN ('beach', 'heath', 'mud', 'marsh', 'wetland', 'grassland', 'wood', 'sand', 'scree', 'shingle', 'bare_rock', 'scrub')
               OR power IN ('station', 'sub_station', 'substation', 'generator')
@@ -501,9 +509,9 @@ Layer:
                 bicycle,
                 tracktype,
                 CASE WHEN surface IN ('unpaved', 'compacted', 'dirt', 'earth', 'fine_gravel', 'grass', 
-                  'grass_paver', 'gravel', 'ground', 'mud', 'pebblestone', 'salt', 'sand', 'woodchips', 'clay') THEN 'unpaved' ELSE 
+                                      'grass_paver', 'gravel', 'ground', 'mud', 'pebblestone', 'salt', 'sand', 'woodchips', 'clay') THEN 'unpaved' ELSE 
                   CASE WHEN surface IN ('paved', 'asphalt', 'cobblestone', 'cobblestone:flattened', 'sett', 'concrete', 'concrete:lanes', 
-                  'concrete:plates', 'paving_stones', 'metal', 'wood') THEN 'paved' 
+                                        'concrete:plates', 'paving_stones', 'metal', 'wood') THEN 'paved' 
                   ELSE null END END AS int_surface,
                 CASE WHEN access IN ('destination') THEN 'destination'::text
                   WHEN access IN ('no', 'private') THEN 'no'::text
@@ -531,7 +539,9 @@ Layer:
             SELECT
                 way,
                 COALESCE(
-                  ('railway_' || (CASE WHEN railway = 'preserved' AND service IN ('spur', 'siding', 'yard') THEN 'INT-preserved-ssy'::text WHEN (railway = 'rail' AND service IN ('spur', 'siding', 'yard')) THEN 'INT-spur-siding-yard'  WHEN (railway = 'tram' AND service IN ('spur', 'siding', 'yard')) THEN 'tram-service' ELSE railway END)),
+                  ('railway_' || (CASE WHEN railway = 'preserved' AND service IN ('spur', 'siding', 'yard') THEN 'INT-preserved-ssy'::text 
+                                       WHEN (railway = 'rail' AND service IN ('spur', 'siding', 'yard')) THEN 'INT-spur-siding-yard'  
+                                       WHEN (railway = 'tram' AND service IN ('spur', 'siding', 'yard')) THEN 'tram-service' ELSE railway END)),
                   ('aeroway_' || aeroway)
                 ) AS feature,
                 horse,
@@ -607,7 +617,7 @@ Layer:
         ) AS tunnels
     properties:
       group-by: "layernotnull"
-      minzoom: 10
+      minzoom: 9
     advanced: {}
   - id: "citywalls"
     name: "citywalls"
@@ -781,9 +791,9 @@ Layer:
                 bicycle,
                 tracktype,
                 CASE WHEN surface IN ('unpaved', 'compacted', 'dirt', 'earth', 'fine_gravel', 'grass', 
-                  'grass_paver', 'gravel', 'ground', 'mud', 'pebblestone', 'salt', 'sand', 'woodchips', 'clay') THEN 'unpaved' ELSE 
+                                      'grass_paver', 'gravel', 'ground', 'mud', 'pebblestone', 'salt', 'sand', 'woodchips', 'clay') THEN 'unpaved' ELSE 
                   CASE WHEN surface IN ('paved', 'asphalt', 'cobblestone', 'cobblestone:flattened', 'sett', 'concrete', 'concrete:lanes', 
-                  'concrete:plates', 'paving_stones', 'metal', 'wood') THEN 'paved' 
+                                        'concrete:plates', 'paving_stones', 'metal', 'wood') THEN 'paved' 
                   ELSE null END END AS int_surface,
                 CASE WHEN access IN ('destination') THEN 'destination'::text
                   WHEN access IN ('no', 'private') THEN 'no'::text
@@ -813,7 +823,9 @@ Layer:
             SELECT
                 way,
                 COALESCE(
-                  ('railway_' || (CASE WHEN railway = 'preserved' AND service IN ('spur', 'siding', 'yard') THEN 'INT-preserved-ssy'::text WHEN (railway = 'rail' AND service IN ('spur', 'siding', 'yard')) THEN 'INT-spur-siding-yard'  WHEN (railway = 'tram' AND service IN ('spur', 'siding', 'yard')) THEN 'tram-service' ELSE railway END)),
+                  ('railway_' || (CASE WHEN railway = 'preserved' AND service IN ('spur', 'siding', 'yard') THEN 'INT-preserved-ssy'::text 
+                                       WHEN (railway = 'rail' AND service IN ('spur', 'siding', 'yard')) THEN 'INT-spur-siding-yard'  
+                                       WHEN (railway = 'tram' AND service IN ('spur', 'siding', 'yard')) THEN 'tram-service' ELSE railway END)),
                   ('aeroway_' || aeroway)
                 ) AS feature,
                 horse,
@@ -890,7 +902,7 @@ Layer:
             CASE WHEN int_surface IN ('unpaved') THEN 0 ELSE 2 END
         ) AS roads_casing
     properties:
-      minzoom: 10
+      minzoom: 9
     advanced: {}
   - id: "highway-area-fill"
     name: "highway-area-fill"
@@ -903,7 +915,8 @@ Layer:
         (SELECT
             way,
             COALESCE(
-              ('highway_' || (CASE WHEN highway IN ('residential', 'unclassified', 'pedestrian', 'service', 'footway', 'cycleway', 'living_street', 'track', 'path', 'platform', 'services') THEN highway ELSE NULL END)),
+              ('highway_' || (CASE WHEN highway IN ('residential', 'unclassified', 'pedestrian', 'service', 'footway', 'cycleway', 'living_street', 
+                                                    'track', 'path', 'platform', 'services') THEN highway ELSE NULL END)),
               ('railway_' || (CASE WHEN railway IN ('platform') THEN railway ELSE NULL END)),
               (('aeroway_' || CASE WHEN aeroway IN ('runway', 'taxiway', 'helipad') THEN aeroway ELSE NULL END))
             ) AS feature
@@ -935,10 +948,10 @@ Layer:
                 foot,
                 bicycle,
                 tracktype,
-                CASE WHEN surface IN ('unpaved', 'compacted', 'dirt', 'earth', 'fine_gravel', 'grass', 
-                  'grass_paver', 'gravel', 'ground', 'mud', 'pebblestone', 'salt', 'sand', 'woodchips', 'clay') THEN 'unpaved' ELSE 
+                CASE WHEN surface IN ('unpaved', 'compacted', 'dirt', 'earth', 'fine_gravel', 'grass', 'grass_paver', 'gravel', 'ground', 
+                                      'mud', 'pebblestone', 'salt', 'sand', 'woodchips', 'clay') THEN 'unpaved' ELSE 
                   CASE WHEN surface IN ('paved', 'asphalt', 'cobblestone', 'cobblestone:flattened', 'sett', 'concrete', 'concrete:lanes', 
-                  'concrete:plates', 'paving_stones', 'metal', 'wood') THEN 'paved' 
+                                        'concrete:plates', 'paving_stones', 'metal', 'wood') THEN 'paved' 
                   ELSE null END END AS int_surface,
                 CASE WHEN access IN ('destination') THEN 'destination'::text
                   WHEN access IN ('no', 'private') THEN 'no'::text
@@ -968,7 +981,9 @@ Layer:
             SELECT
                 way,
                 COALESCE(
-                  ('railway_' || (CASE WHEN railway = 'preserved' AND service IN ('spur', 'siding', 'yard') THEN 'INT-preserved-ssy'::text WHEN (railway = 'rail' AND service IN ('spur', 'siding', 'yard')) THEN 'INT-spur-siding-yard'  WHEN (railway = 'tram' AND service IN ('spur', 'siding', 'yard')) THEN 'tram-service' ELSE railway END)),
+                  ('railway_' || (CASE WHEN railway = 'preserved' AND service IN ('spur', 'siding', 'yard') THEN 'INT-preserved-ssy'::text 
+                                       WHEN (railway = 'rail' AND service IN ('spur', 'siding', 'yard')) THEN 'INT-spur-siding-yard'  
+                                       WHEN (railway = 'tram' AND service IN ('spur', 'siding', 'yard')) THEN 'tram-service' ELSE railway END)),
                   ('aeroway_' || aeroway)
                 ) AS feature,
                 horse,
@@ -1107,14 +1122,15 @@ Layer:
             way,
             COALESCE(
               ('highway_' || (CASE WHEN substr(highway, length(highway)-3, 4) = 'link' THEN substr(highway, 0, length(highway)-4) ELSE highway end)),
-              ('railway_' || (CASE WHEN (railway = 'rail' AND service IN ('spur', 'siding', 'yard')) THEN 'INT-spur-siding-yard' WHEN railway IN ('rail', 'tram', 'light_rail', 'funicular', 'narrow_gauge') THEN railway ELSE NULL END))
+              ('railway_' || (CASE WHEN (railway = 'rail' AND service IN ('spur', 'siding', 'yard')) THEN 'INT-spur-siding-yard' 
+                                   WHEN railway IN ('rail', 'tram', 'light_rail', 'funicular', 'narrow_gauge') THEN railway ELSE NULL END))
             ) AS feature,
             CASE WHEN tunnel = 'yes' OR tunnel = 'building_passage' OR covered = 'yes' THEN 'yes' ELSE 'no' END AS int_tunnel,
             CASE WHEN substr(highway, length(highway)-3, 4) = 'link' THEN 'yes' ELSE 'no' END AS link,
-                CASE WHEN surface IN ('unpaved', 'compacted', 'dirt', 'earth', 'fine_gravel', 'grass', 
-                  'grass_paver', 'gravel', 'ground', 'mud', 'pebblestone', 'salt', 'sand', 'woodchips', 'clay') THEN 'unpaved' ELSE 
+                CASE WHEN surface IN ('unpaved', 'compacted', 'dirt', 'earth', 'fine_gravel', 'grass', 'grass_paver', 'gravel', 'ground', 
+                                      'mud', 'pebblestone', 'salt', 'sand', 'woodchips', 'clay') THEN 'unpaved' ELSE 
                   CASE WHEN surface IN ('paved', 'asphalt', 'cobblestone', 'cobblestone:flattened', 'sett', 'concrete', 'concrete:lanes', 
-                  'concrete:plates', 'paving_stones', 'metal', 'wood') THEN 'paved' 
+                                        'concrete:plates', 'paving_stones', 'metal', 'wood') THEN 'paved' 
                   ELSE null END END AS int_surface
           FROM planet_osm_roads
           WHERE highway IS NOT NULL
@@ -1168,10 +1184,10 @@ Layer:
                 foot,
                 bicycle,
                 tracktype,
-                CASE WHEN surface IN ('unpaved', 'compacted', 'dirt', 'earth', 'fine_gravel', 'grass', 
-                  'grass_paver', 'gravel', 'ground', 'mud', 'pebblestone', 'salt', 'sand', 'woodchips', 'clay') THEN 'unpaved' ELSE 
-                  CASE WHEN surface IN ('paved', 'asphalt', 'cobblestone', 'cobblestone:flattened', 'sett', 'concrete', 'concrete:lanes', 
-                  'concrete:plates', 'paving_stones', 'metal', 'wood') THEN 'paved' 
+                CASE WHEN surface IN ('unpaved', 'compacted', 'dirt', 'earth', 'fine_gravel', 'grass', 'grass_paver', 'gravel', 
+                                      'ground', 'mud', 'pebblestone', 'salt', 'sand', 'woodchips', 'clay') THEN 'unpaved' ELSE 
+                  CASE WHEN surface IN ('paved', 'asphalt', 'cobblestone', 'cobblestone:flattened', 'sett', 'concrete', 
+                                        'concrete:lanes', 'concrete:plates', 'paving_stones', 'metal', 'wood') THEN 'paved' 
                   ELSE null END END AS int_surface,
                 CASE WHEN access IN ('destination') THEN 'destination'::text
                   WHEN access IN ('no', 'private') THEN 'no'::text
@@ -1199,7 +1215,9 @@ Layer:
             SELECT
                 way,
                 COALESCE(
-                  ('railway_' || (CASE WHEN railway = 'preserved' AND service IN ('spur', 'siding', 'yard') THEN 'INT-preserved-ssy'::text WHEN (railway = 'rail' AND service IN ('spur', 'siding', 'yard')) THEN 'INT-spur-siding-yard' WHEN (railway = 'tram' AND service IN ('spur', 'siding', 'yard')) THEN 'tram-service' ELSE railway END)),
+                  ('railway_' || (CASE WHEN railway = 'preserved' AND service IN ('spur', 'siding', 'yard') THEN 'INT-preserved-ssy'::text 
+                                       WHEN (railway = 'rail' AND service IN ('spur', 'siding', 'yard')) THEN 'INT-spur-siding-yard' 
+                                       WHEN (railway = 'tram' AND service IN ('spur', 'siding', 'yard')) THEN 'tram-service' ELSE railway END)),
                   ('aeroway_' || aeroway)
                 ) AS feature,
                 horse,
@@ -1275,7 +1293,7 @@ Layer:
         ) AS bridges
     properties:
       group-by: "layernotnull"
-      minzoom: 10
+      minzoom: 9
     advanced: {}
   - id: "guideways"
     name: "guideways"
@@ -1424,6 +1442,27 @@ Layer:
     properties:
       minzoom: 10
     advanced: {}
+  - id: "trees"
+    name: "trees"
+    class: ""
+    geometry: "polygon"
+    <<: *extents
+    Datasource:
+      <<: *osm2pgsql
+      table: |-
+        (SELECT
+            way, "natural"
+          FROM planet_osm_point
+          WHERE "natural" = 'tree'
+        UNION ALL
+        SELECT
+            way, "natural"
+          FROM planet_osm_line
+          WHERE "natural" = 'tree_row'
+        ) AS trees
+    properties:
+      minzoom: 16
+    advanced: {}
   - id: "placenames-large"
     name: "placenames-large"
     class: "country state"
@@ -1447,46 +1486,6 @@ Layer:
     properties:
       minzoom: 2
     advanced: {}
-  - id: "nepopulated"
-    name: "nepopulated"
-    class: ""
-    geometry: "point"
-    <<: *extents84
-    Datasource:
-      file: "data/ne_10m_populated_places/ne_10m_populated_places_fixed.shp"
-      type: "shape"
-      encoding: "windows-1252"
-    properties:
-      minzoom: 3
-      maxzoom: 4
-    advanced:
-      encoding: "windows-1252"
-  - id: "placenames-capital"
-    name: "placenames-capital"
-    class: ""
-    geometry: "point"
-    <<: *extents
-    Datasource:
-      <<: *osm2pgsql
-      table: |-
-        (SELECT
-            way,
-            place,
-            name,
-            ref
-          FROM planet_osm_point
-          WHERE place IN ('city', 'town')
-            AND capital IN ('yes', '4')
-            AND name IS NOT NULL
-          ORDER BY CASE
-              WHEN place = 'city' THEN 1
-              WHEN place = 'town' THEN 2
-            END ASC
-        ) AS placenames_capital
-    properties:
-      minzoom: 5
-      maxzoom: 14
-    advanced: {}
   - id: "placenames-medium"
     name: "placenames-medium"
     class: ""
@@ -1497,19 +1496,40 @@ Layer:
       table: |-
         (SELECT
             way,
-            place,
-            name
-          FROM planet_osm_point
-          WHERE place IN ('city', 'town')
-            AND (capital IS NULL OR capital NOT IN ('yes', '4'))
-            AND name IS NOT NULL
-          ORDER BY CASE
-              WHEN place = 'city' THEN 1
-              WHEN place = 'town' THEN 2
-            END ASC
+            name,
+            score,
+            CASE
+              WHEN (place = 'city' OR (capital = 'yes' AND score >= 100000)) THEN 1
+              ELSE 2
+            END as category
+          FROM 
+            (SELECT
+                way,
+                place,
+                name,
+                capital,
+                (
+                  (CASE
+                    WHEN (population ~ '^[0-9]{1,8}$') THEN population::INTEGER
+                    WHEN (place = 'city') THEN 100000
+                    WHEN (place = 'town') THEN 1000
+                    ELSE 1
+                  END)
+                  *
+                  (CASE
+                    WHEN (capital = 'yes') THEN 3
+                    WHEN (capital = '4') THEN 2
+                    ELSE 1
+                  END)
+                ) AS score
+              FROM planet_osm_point
+              WHERE place IN ('city', 'town')
+            ) as p
+          ORDER BY score DESC
         ) AS placenames_medium
     properties:
-      minzoom: 6
+      minzoom: 3
+      maxzoom: 15
     advanced: {}
   - id: "placenames-small"
     name: "placenames-small"
@@ -1552,10 +1572,17 @@ Layer:
             name,
             railway,
             aerialway,
-            disused
+            disused,
+            CASE railway 
+              WHEN 'station' THEN 1 
+              WHEN 'subway_entrance' THEN 3
+              ELSE 2
+            END
+              AS prio
           FROM planet_osm_point
           WHERE railway IN ('station', 'halt', 'tram_stop', 'subway_entrance')
             OR aerialway = 'station'
+          ORDER BY prio
         ) AS stations
     properties:
       minzoom: 12
@@ -1581,27 +1608,6 @@ Layer:
     properties:
       minzoom: 12
     advanced: {}
-  - id: "trees"
-    name: "trees"
-    class: ""
-    geometry: "polygon"
-    <<: *extents
-    Datasource:
-      <<: *osm2pgsql
-      table: |-
-        (SELECT
-            way, "natural"
-          FROM planet_osm_point
-          WHERE "natural" = 'tree'
-        UNION ALL
-        SELECT
-            way, "natural"
-          FROM planet_osm_line
-          WHERE "natural" = 'tree_row'
-        ) AS trees
-    properties:
-      minzoom: 16
-    advanced: {}
   - id: "amenity-points-poly"
     name: "amenity-points-poly"
     class: "points"
@@ -1614,9 +1620,35 @@ Layer:
             way,
             COALESCE(
               'aeroway_' || CASE WHEN aeroway IN ('helipad', 'aerodrome') THEN aeroway ELSE NULL END,
-              'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'camp_site', 'caravan_site', 'chalet', 'guest_house', 'hostel', 'hotel', 'motel', 'information', 'museum', 'picnic_site') THEN tourism ELSE NULL END,
-              'amenity_' || CASE WHEN amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', 'bus_station', 'cafe', 'car_rental', 'car_sharing', 'cinema', 'clinic', 'community_centre', 'fire_station', 'fuel', 'hospital', 'ice_cream', 'embassy', 'library', 'courthouse', 'townhall', 'parking', 'bicycle_parking', 'motorcycle_parking', 'pharmacy', 'doctors', 'dentist', 'place_of_worship', 'police', 'post_box', 'post_office', 'pub', 'biergarten', 'recycling', 'restaurant', 'food_court [...]
-              'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'beauty', 'books', 'butcher', 'clothes', 'computer', 'confectionery', 'fashion', 'convenience', 'department_store', 'doityourself', 'hardware', 'florist', 'garden_centre', 'hairdresser', 'hifi', 'ice_cream', 'car', 'car_repair', 'bicycle', 'mall', 'pet', 'photo', 'photo_studio', 'photography', 'seafood', 'shoes', 'alcohol', 'gift', 'furniture', 'kiosk', 'mobile_phone', 'motorcycle', 'musical_instrument', 'newsagent', 'o [...]
+              'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'camp_site', 'caravan_site', 'chalet', 'guest_house', 
+                                                  'hostel', 'hotel', 'motel', 'information', 'museum', 'picnic_site') THEN tourism ELSE NULL END,
+              'amenity_' || CASE WHEN amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', 'bus_station', 'cafe', 
+                                                  'car_rental', 'car_wash', 'cinema', 'clinic', 'community_centre', 'fire_station', 'fountain',
+                                                  'fuel', 'hospital', 'ice_cream', 'embassy', 'library', 'courthouse', 'townhall', 'parking', 
+                                                  'bicycle_parking', 'motorcycle_parking', 'pharmacy', 'doctors', 'dentist', 'place_of_worship', 
+                                                  'police', 'post_box', 'post_office', 'pub', 'biergarten', 'recycling', 'restaurant', 'food_court', 
+                                                  'fast_food', 'telephone', 'emergency_phone', 'taxi', 'theatre', 'toilets', 'drinking_water', 
+                                                  'prison', 'hunting_stand', 'nightclub', 'veterinary') THEN amenity ELSE NULL END, 
+              'shop_' || CASE WHEN shop IN ('supermarket', 'bag', 'bakery', 'beauty', 'books', 'butcher', 'clothes', 'computer', 
+                                            'confectionery', 'fashion', 'convenience', 'department_store', 'doityourself', 'hardware', 'florist', 
+                                            'garden_centre', 'hairdresser', 'hifi', 'ice_cream', 'car', 'car_repair', 'bicycle', 'mall', 'pet', 
+                                            'photo', 'photo_studio', 'photography', 'seafood', 'shoes', 'alcohol', 'gift', 'furniture', 'kiosk', 
+                                            'mobile_phone', 'motorcycle', 'musical_instrument', 'newsagent', 'optician', 'jewelry', 'jewellery', 
+                                            'electronics', 'chemist', 'toys', 'travel_agency', 'car_parts', 'greengrocer', 'farm', 'stationery', 
+                                            'laundry', 'dry_cleaning', 'beverages', 'perfumery', 'cosmetics', 'variety_store', 'wine', 'outdoor') THEN shop 
+                              WHEN shop IN ('accessories', 'antiques', 'appliance', 'art', 'baby_goods', 'bathroom_furnishing', 
+                                            'bed', 'boat', 'bookmaker', 'boutique', 'builder', 'building_materials', 'camera', 'car_service', 
+                                            'carpet', 'charity', 'cheese', 'chocolate', 'coffee', 'communication', 'copyshop', 'craft', 'curtain', 'dairy', 
+                                            'deli', 'discount', 'e-cigarette', 'electrical', 'energy', 'erotic', 'estate_agent', 
+                                            'fabric', 'fishing', 'flooring', 'food', 'frame', 'frozen_food', 'funeral_directors', 'furnace', 
+                                            'gallery', 'games', 'gas', 'general', 'glaziery', 'grocery', 'health', 'health_food', 'hearing_aids', 
+                                            'herbalist', 'hobby', 'household', 'houseware', 'hunting', 'interior_decoration', 'kitchen', 
+                                            'leather', 'lighting', 'locksmith', 'lottery', 'market', 'massage', 'medical', 'medical_supply', 'money_lender', 
+                                            'motorcycle_repair', 'music', 'office_supplies', 'organic', 'paint', 'pastry', 'pawnbroker', 
+                                            'phone', 'pottery', 'printing', 'radiotechnics', 'real_estate', 'religion', 'rental', 'salon', 
+                                            'scuba_diving', 'second_hand', 'sewing', 'shoe_repair', 'shopping_centre', 'solarium', 'souvenir', 'sports', 
+                                            'tailor', 'tanning', 'tattoo', 'tea', 'ticket', 'tiles', 'tobacco', 'trade', 'tyres', 'vacuum_cleaner', 'video', 
+                                            'video_games', 'watches', 'wholesale', 'yes') THEN 'other' ELSE NULL END,
               'leisure_' || CASE WHEN leisure IN ('water_park', 'playground', 'miniature_golf', 'golf_course', 'picnic_table') THEN leisure ELSE NULL END,
               'man_made_' || CASE WHEN man_made IN ('mast', 'water_tower', 'lighthouse', 'windmill') THEN man_made ELSE NULL END,
               'natural_' || CASE WHEN "natural" IN ('spring') THEN "natural" ELSE NULL END,
@@ -1634,8 +1666,15 @@ Layer:
           FROM planet_osm_polygon
           -- The upcoming where clause is needed for performance only, as the CASE statements would end up doing the equivalent filtering
           WHERE aeroway IN ('helipad', 'aerodrome')
-            OR tourism IN ('alpine_hut', 'camp_site', 'caravan_site', 'chalet', 'guest_house', 'hostel', 'hotel', 'motel', 'information', 'museum', 'viewpoint', 'picnic_site')
-            OR amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', 'bus_station', 'cafe', 'car_rental', 'car_sharing', 'cinema', 'clinic', 'community_centre', 'fire_station', 'fuel', 'hospital', 'ice_cream', 'embassy', 'library', 'courthouse', 'townhall', 'parking', 'bicycle_parking', 'motorcycle_parking', 'pharmacy', 'doctors', 'dentist', 'place_of_worship', 'police', 'post_box', 'post_office', 'pub', 'biergarten', 'recycling', 'restaurant', 'food_court', 'fast_food', 'teleph [...]
+            OR tourism IN ('alpine_hut', 'camp_site', 'caravan_site', 'chalet', 'guest_house', 'hostel', 
+                           'hotel', 'motel', 'information', 'museum', 'viewpoint', 'picnic_site')
+            OR amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', 'bus_station', 'cafe', 
+                           'car_rental', 'car_wash', 'cinema', 'clinic', 'community_centre',
+                           'fire_station', 'fountain', 'fuel', 'hospital', 'ice_cream', 'embassy', 'library', 'courthouse', 
+                           'townhall', 'parking', 'bicycle_parking', 'motorcycle_parking', 'pharmacy', 'doctors', 
+                           'dentist', 'place_of_worship', 'police', 'post_box', 'post_office', 'pub', 'biergarten', 
+                           'recycling', 'restaurant', 'food_court', 'fast_food', 'telephone', 'emergency_phone', 'taxi', 
+                           'theatre', 'toilets', 'drinking_water', 'prison', 'hunting_stand', 'nightclub', 'veterinary')
             OR shop IS NOT NULL -- skip checking a huge list and use a null check
             OR leisure IN ('water_park', 'playground', 'miniature_golf', 'golf_course', 'picnic_table')
             OR man_made IN ('mast', 'water_tower', 'lighthouse', 'windmill')
@@ -1660,16 +1699,43 @@ Layer:
             way,
             COALESCE(
               'aeroway_' || CASE WHEN aeroway IN ('helipad', 'aerodrome') THEN aeroway ELSE NULL END,
-              'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'camp_site', 'caravan_site', 'chalet', 'guest_house', 'hostel', 'hotel', 'motel', 'information', 'museum', 'picnic_site') THEN tourism ELSE NULL END,
-              'amenity_' || CASE WHEN amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', 'bus_station', 'cafe', 'car_rental', 'car_sharing', 'cinema', 'clinic', 'community_centre', 'fire_station', 'fuel', 'hospital', 'ice_cream', 'embassy', 'library', 'courthouse', 'townhall', 'parking', 'bicycle_parking', 'motorcycle_parking', 'pharmacy', 'doctors', 'dentist', 'place_of_worship', 'police', 'post_box', 'post_office', 'pub', 'biergarten', 'recycling', 'restaurant', 'food_court [...]
-              'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'beauty', 'books', 'butcher', 'clothes', 'computer', 'confectionery', 'fashion', 'convenience', 'department_store', 'doityourself', 'hardware', 'florist', 'garden_centre', 'hairdresser', 'hifi', 'ice_cream', 'car', 'car_repair', 'bicycle', 'mall', 'pet', 'photo', 'photo_studio', 'photography', 'seafood', 'shoes', 'alcohol', 'gift', 'furniture', 'kiosk', 'mobile_phone', 'motorcycle', 'musical_instrument', 'newsagent', 'o [...]
+              'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'camp_site', 'caravan_site', 'chalet', 'guest_house', 'hostel', 
+                                                  'hotel', 'motel', 'information', 'museum', 'picnic_site') THEN tourism ELSE NULL END,
+              'amenity_' || CASE WHEN amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', 'bus_station', 'cafe', 
+                                                  'car_rental', 'car_wash', 'cinema', 'clinic', 'community_centre', 'fire_station', 'fountain',
+                                                  'fuel', 'hospital', 'ice_cream', 'embassy', 'library', 'courthouse', 'townhall', 'parking', 
+                                                  'bicycle_parking', 'motorcycle_parking', 'pharmacy', 'doctors', 'dentist', 'place_of_worship', 
+                                                  'police', 'post_box', 'post_office', 'pub', 'biergarten', 'recycling', 'restaurant', 'food_court', 
+                                                  'fast_food', 'telephone', 'emergency_phone', 'taxi', 'theatre', 'toilets', 'drinking_water', 
+                                                  'prison', 'hunting_stand', 'nightclub', 'veterinary') THEN amenity ELSE NULL END,
+              'shop_' || CASE WHEN shop IN ('supermarket', 'bag', 'bakery', 'beauty', 'books', 'butcher', 'clothes', 'computer', 'confectionery', 
+                                            'fashion', 'convenience', 'department_store', 'doityourself', 'hardware', 'florist', 'garden_centre', 
+                                            'hairdresser', 'hifi', 'ice_cream', 'car', 'car_repair', 'bicycle', 'mall', 'pet', 'photo', 'photo_studio', 
+                                            'photography', 'seafood', 'shoes', 'alcohol', 'gift', 'furniture', 'kiosk', 'mobile_phone', 'motorcycle', 
+                                            'musical_instrument', 'newsagent', 'optician', 'jewelry', 'jewellery', 'electronics', 'chemist', 'toys', 
+                                            'travel_agency', 'car_parts', 'greengrocer', 'farm', 'stationery', 'laundry', 'dry_cleaning', 'beverages', 
+                                            'perfumery', 'cosmetics', 'variety_store', 'wine', 'outdoor') THEN shop 
+                              WHEN shop IN ('accessories', 'antiques', 'appliance', 'art', 'baby_goods', 'bathroom_furnishing', 'bed',  
+                                            'boat', 'bookmaker', 'boutique', 'builder', 'building_materials', 'camera', 'car_service', 'carpet', 'charity', 
+                                            'cheese', 'chocolate', 'coffee', 'communication', 'copyshop', 'craft', 'curtain', 'dairy', 'deli',   
+                                            'discount', 'e-cigarette', 'electrical', 'energy', 'erotic', 'estate_agent', 'fabric', 'fishing', 
+                                            'flooring', 'food', 'frame', 'frozen_food', 'funeral_directors', 'furnace', 'gallery', 'games', 'gas',  
+                                            'general', 'glaziery', 'grocery', 'health', 'health_food', 'hearing_aids', 'herbalist', 'hobby', 'household',  
+                                            'houseware', 'hunting', 'interior_decoration', 'kitchen', 'leather', 'lighting', 'locksmith', 'lottery',  
+                                            'market', 'massage', 'medical', 'medical_supply', 'money_lender', 'motorcycle_repair', 'music', 'office_supplies',  
+                                            'organic', 'paint', 'pastry', 'pawnbroker', 'phone', 'pottery', 'printing', 'radiotechnics', 
+                                            'real_estate', 'religion', 'rental', 'salon', 'scuba_diving', 'second_hand', 'sewing', 'shoe_repair', 'shopping_centre', 
+                                            'solarium', 'souvenir', 'sports', 'tailor', 'tanning', 'tattoo', 'tea', 'ticket', 'tiles', 'tobacco', 'trade', 'tyres', 
+                                            'vacuum_cleaner', 'video', 'video_games', 'watches', 'wholesale', 'yes') THEN 'other' ELSE NULL END,
               'leisure_' || CASE WHEN leisure IN ('water_park', 'playground', 'miniature_golf', 'golf_course', 'picnic_table', 'slipway') THEN leisure ELSE NULL END,
               'man_made_' || CASE WHEN man_made IN ('mast', 'water_tower', 'lighthouse', 'windmill') THEN man_made ELSE NULL END,
               'natural_' || CASE WHEN "natural" IN ('peak', 'volcano', 'saddle', 'spring', 'cave_entrance') THEN "natural" ELSE NULL END,
               'historic_' || CASE WHEN historic IN ('memorial', 'monument', 'archaeological_site') THEN historic ELSE NULL END,
               'highway_'|| CASE WHEN highway IN ('bus_stop', 'elevator', 'traffic_signals', 'ford') THEN highway ELSE NULL END,
               'power_' || CASE WHEN power IN ('generator') THEN power ELSE NULL END,
-              'tourism_' || CASE WHEN tourism IN ('viewpoint') THEN tourism ELSE NULL END
+              'tourism_' || CASE WHEN tourism IN ('viewpoint') THEN tourism ELSE NULL END,
+              'man_made_' || CASE WHEN man_made IN ('cross') THEN man_made ELSE NULL END,
+              'historic_' || CASE WHEN historic IN ('wayside_cross') THEN historic ELSE NULL END
             ) AS feature,
             access,
             CASE
@@ -1688,13 +1754,21 @@ Layer:
           FROM planet_osm_point
           -- The upcoming where clause is needed for performance only, as the CASE statements would end up doing the equivalent filtering
           WHERE aeroway IN ('helipad', 'aerodrome')
-            OR tourism IN ('alpine_hut', 'camp_site', 'caravan_site', 'chalet', 'guest_house', 'hostel', 'hotel', 'motel', 'information', 'museum', 'viewpoint', 'picnic_site')
-            OR amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', 'bus_station', 'cafe', 'car_rental', 'car_sharing', 'cinema', 'clinic', 'community_centre', 'fire_station', 'fuel', 'hospital', 'ice_cream', 'embassy', 'library', 'courthouse', 'townhall', 'parking', 'bicycle_parking', 'motorcycle_parking', 'pharmacy', 'doctors', 'dentist', 'place_of_worship', 'police', 'post_box', 'post_office', 'pub', 'biergarten', 'recycling', 'restaurant', 'food_court', 'fast_food', 'teleph [...]
+            OR tourism IN ('alpine_hut', 'camp_site', 'caravan_site', 'chalet', 'guest_house', 'hostel', 
+                           'hotel', 'motel', 'information', 'museum', 'viewpoint', 'picnic_site')
+            OR amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', 'bus_station', 'cafe', 
+                           'car_rental',  'car_wash', 'cinema', 'clinic', 'community_centre',
+                           'fire_station', 'fountain', 'fuel', 'hospital', 'ice_cream', 'embassy', 'library', 'courthouse', 
+                           'townhall', 'parking', 'bicycle_parking', 'motorcycle_parking', 'pharmacy', 'doctors', 
+                           'dentist', 'place_of_worship', 'police', 'post_box', 'post_office', 'pub', 'biergarten', 
+                           'recycling', 'restaurant', 'food_court', 'fast_food', 'telephone', 'emergency_phone', 
+                           'taxi', 'theatre', 'toilets', 'drinking_water', 'prison', 'hunting_stand', 'nightclub', 
+                           'veterinary')
             OR shop IS NOT NULL -- skip checking a huge list and use a null check
             OR leisure IN ('water_park', 'playground', 'miniature_golf', 'golf_course', 'picnic_table', 'slipway')
-            OR man_made IN ('mast', 'water_tower', 'lighthouse', 'windmill')
+            OR man_made IN ('mast', 'water_tower', 'lighthouse', 'windmill', 'cross')
             OR "natural" IN ('peak', 'volcano', 'saddle', 'spring', 'cave_entrance')
-            OR historic IN ('memorial', 'monument', 'archaeological_site')
+            OR historic IN ('memorial', 'monument', 'archaeological_site', 'wayside_cross')
             OR highway IN ('bus_stop', 'elevator', 'traffic_signals', 'ford')
             OR (power = 'generator' AND ("generator:source" = 'wind' OR power_source = 'wind'))
           ORDER BY score DESC NULLS LAST
@@ -1866,7 +1940,8 @@ Layer:
             CASE WHEN construction IN ('service', 'footway', 'cycleway', 'bridleway', 'path', 'track') THEN 'yes' ELSE 'no' END AS int_construction_minor,
             name
           FROM planet_osm_line
-          WHERE highway IN ('motorway', 'motorway_link', 'trunk', 'trunk_link', 'primary', 'primary_link', 'secondary', 'secondary_link', 'tertiary', 'tertiary_link', 'residential', 'unclassified', 'road', 'service', 'pedestrian', 'raceway', 'living_street', 'construction')
+          WHERE highway IN ('motorway', 'motorway_link', 'trunk', 'trunk_link', 'primary', 'primary_link', 'secondary', 'secondary_link', 'tertiary', 
+                            'tertiary_link', 'residential', 'unclassified', 'road', 'service', 'pedestrian', 'raceway', 'living_street', 'construction')
             AND name IS NOT NULL
         ) AS roads_text_name
     properties:
@@ -1940,18 +2015,51 @@ Layer:
             way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels,
             COALESCE(
               'aeroway_' || CASE WHEN aeroway IN ('gate', 'apron', 'helipad', 'aerodrome') THEN aeroway ELSE NULL END,
-              'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'hotel', 'motel', 'hostel', 'chalet', 'guest_house', 'camp_site', 'caravan_site', 'theme_park', 'museum', 'zoo', 'information', 'picnic_site') THEN tourism ELSE NULL END,
-              'amenity_' || CASE WHEN amenity IN ('pub', 'restaurant', 'food_court', 'cafe', 'fast_food', 'biergarten', 'bar', 'library', 'theatre', 'courthouse', 'townhall', 'cinema', 'clinic', 'community_centre', 'parking', 'bicycle_parking', 'motorcycle_parking', 'police', 'fire_station', 'place_of_worship', 'grave_yard', 'shelter', 'bank', 'embassy', 'fuel', 'bus_station', 'prison', 'university', 'school', 'college', 'kindergarten', 'hospital', 'ice_cream', 'pharmacy', 'doctors', 'de [...]
-              'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'beauty', 'books', 'butcher', 'clothes', 'computer', 'confectionery', 'fashion', 'convenience', 'department_store', 'doityourself', 'hardware', 'florist', 'garden_centre', 'hairdresser', 'hifi', 'ice_cream', 'car', 'car_repair', 'bicycle', 'mall', 'pet', 'photo', 'photo_studio', 'photography', 'seafood', 'shoes', 'alcohol', 'gift', 'furniture', 'kiosk', 'mobile_phone', 'motorcycle', 'musical_instrument', 'newsagent', 'o [...]
-              'leisure_' || CASE WHEN leisure IN ('swimming_pool', 'water_park', 'miniature_golf', 'golf_course', 'sports_centre', 'stadium', 'track', 'pitch', 'playground', 'park', 'recreation_ground', 'common', 'garden', 'nature_reserve', 'marina', 'picnic_table') THEN leisure ELSE NULL END,
-              'landuse_' || CASE WHEN landuse IN ('reservoir', 'basin', 'recreation_ground', 'village_green', 'quarry', 'vineyard', 'orchard', 'cemetery', 'residential', 'garages', 'meadow', 'grass', 'allotments', 'forest', 'farmyard', 'farm', 'farmland', 'greenhouse_horticulture', 'retail', 'industrial', 'railway', 'commercial', 'brownfield', 'landfill', 'construction', 'military') THEN landuse ELSE NULL END,
+              'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'hotel', 'motel', 'hostel', 'chalet', 'guest_house', 'camp_site', 'caravan_site', 
+                                                  'theme_park', 'museum', 'zoo', 'information', 'picnic_site') THEN tourism ELSE NULL END,
+              'amenity_' || CASE WHEN amenity IN ('pub', 'restaurant', 'food_court', 'cafe', 'fast_food', 'biergarten', 'bar', 'library', 
+                                                  'theatre', 'courthouse', 'townhall', 'cinema', 'clinic', 'community_centre', 'parking', 
+                                                  'bicycle_parking', 'motorcycle_parking', 'police', 'fire_station', 'fountain', 'place_of_worship', 
+                                                  'grave_yard', 'shelter', 'bank', 'embassy', 'fuel', 'bus_station', 'prison', 'university', 
+                                                  'school', 'college', 'kindergarten', 'hospital', 'ice_cream', 'pharmacy', 'doctors', 'dentist', 
+                                                  'atm', 'bicycle_rental', 'car_rental', 'car_wash', 'post_box', 'post_office',
+                                                  'recycling', 'telephone', 'emergency_phone', 'toilets', 'taxi', 'drinking_water', 'hunting_stand', 
+                                                  'nightclub', 'veterinary') THEN amenity ELSE NULL END,
+              'shop_' || CASE WHEN shop IN ('supermarket', 'bag', 'bakery', 'beauty', 'books', 'butcher', 'clothes', 'computer', 'confectionery', 
+                                            'fashion', 'convenience', 'department_store', 'doityourself', 'hardware', 'florist', 'garden_centre', 
+                                            'hairdresser', 'hifi', 'ice_cream', 'car', 'car_repair', 'bicycle', 'mall', 'pet', 'photo', 'photo_studio', 
+                                            'photography', 'seafood', 'shoes', 'alcohol', 'gift', 'furniture', 'kiosk', 'mobile_phone', 'motorcycle', 
+                                            'musical_instrument', 'newsagent', 'optician', 'jewelry', 'jewellery', 'electronics', 'chemist', 'toys', 
+                                            'travel_agency', 'car_parts', 'greengrocer', 'farm', 'stationery', 'laundry', 'dry_cleaning', 'beverages', 
+                                            'perfumery', 'cosmetics', 'variety_store', 'wine', 'outdoor') THEN shop 
+                              WHEN shop IN ('accessories', 'antiques', 'appliance', 'art', 'baby_goods', 'bathroom_furnishing', 'bed', 
+                                            'boat', 'bookmaker', 'boutique', 'builder', 'building_materials', 'camera', 'car_service', 'carpet', 'charity', 
+                                            'cheese', 'chocolate', 'coffee', 'communication', 'copyshop', 'craft', 'curtain', 'dairy', 'deli', 
+                                            'discount', 'e-cigarette', 'electrical', 'energy', 'erotic', 'estate_agent', 'fabric', 'fishing', 
+                                            'flooring', 'food', 'frame', 'frozen_food', 'funeral_directors', 'furnace', 'gallery', 'games', 'gas', 
+                                            'general', 'glaziery', 'grocery', 'health', 'health_food', 'hearing_aids', 'herbalist', 'hobby', 'household', 
+                                            'houseware', 'hunting', 'interior_decoration', 'kitchen', 'leather', 'lighting', 'locksmith', 
+                                            'lottery', 'market', 'massage', 'medical', 'medical_supply', 'money_lender', 'motorcycle_repair', 'music', 
+                                            'office_supplies', 'organic', 'paint', 'pastry', 'pawnbroker', 'phone', 'pottery', 
+                                            'printing', 'radiotechnics', 'real_estate', 'religion', 'rental', 'salon', 'scuba_diving', 'second_hand', 
+                                            'sewing', 'shoe_repair', 'shopping_centre', 'solarium', 'souvenir', 'sports', 'tailor', 'tanning', 'tattoo', 'tea', 
+                                            'ticket', 'tiles', 'tobacco', 'trade', 'tyres', 'vacuum_cleaner', 'video', 'video_games', 'watches', 'wholesale', 
+                                            'yes') THEN 'other' ELSE NULL END,
+              'leisure_' || CASE WHEN leisure IN ('swimming_pool', 'water_park', 'miniature_golf', 'golf_course', 'sports_centre', 'stadium', 'track', 
+                                                  'pitch', 'playground', 'park', 'recreation_ground', 'common', 'garden', 'nature_reserve', 'marina', 
+                                                  'picnic_table') THEN leisure ELSE NULL END,
+              'power_' || CASE WHEN power IN ('plant', 'station', 'generator', 'sub_station', 'substation') THEN power ELSE NULL END,
+              'landuse_' || CASE WHEN landuse IN ('reservoir', 'basin', 'recreation_ground', 'village_green', 'quarry', 'vineyard', 'orchard', 'cemetery', 
+                                                  'residential', 'garages', 'meadow', 'grass', 'allotments', 'forest', 'farmyard', 'farm', 'farmland', 
+                                                  'greenhouse_horticulture', 'retail', 'industrial', 'railway', 'commercial', 'brownfield', 'landfill', 
+                                                  'construction', 'military') THEN landuse ELSE NULL END,
               'man_made_' || CASE WHEN man_made IN ('lighthouse', 'windmill', 'mast', 'water_tower', 'pier', 'breakwater', 'groyne') THEN man_made ELSE NULL END,
-              'natural_' || CASE WHEN "natural" IN ('wood', 'water', 'mud', 'wetland', 'marsh', 'bay', 'spring', 'scree', 'shingle', 'bare_rock', 'sand', 'heath', 'grassland', 'scrub', 'beach', 'glacier') THEN "natural" ELSE NULL END,
+              'natural_' || CASE WHEN "natural" IN ('wood', 'water', 'mud', 'wetland', 'marsh', 'bay', 'spring', 'scree', 'shingle', 'bare_rock', 'sand', 'heath', 
+                                                    'grassland', 'scrub', 'beach', 'glacier') THEN "natural" ELSE NULL END,
               'place_' || CASE WHEN place IN ('island', 'islet') THEN place ELSE NULL END,
               'military_' || CASE WHEN military IN ('danger_area') THEN military ELSE NULL END,
               'historic_' || CASE WHEN historic IN ('memorial', 'monument', 'archaeological_site') THEN historic ELSE NULL END,
               'highway_' || CASE WHEN highway IN ('services', 'rest_area', 'bus_stop', 'elevator', 'ford') THEN highway ELSE NULL END,
-              'power_' || CASE WHEN power IN ('station', 'generator', 'sub_station', 'substation') THEN power ELSE NULL END,
               'boundary_' || CASE WHEN boundary IN ('national_park') THEN boundary ELSE NULL END,
               'waterway_' || CASE WHEN waterway IN ('dam') THEN waterway ELSE NULL END,
               'tourism_' || CASE WHEN tourism IN ('attraction') THEN tourism ELSE NULL END
@@ -1965,18 +2073,19 @@ Layer:
           FROM planet_osm_polygon
           -- The upcoming where clause is needed for performance only, as the CASE statements would end up doing the equivalent filtering
           WHERE (aeroway IN ('gate', 'apron', 'helipad', 'aerodrome')
-              OR tourism IN ('alpine_hut', 'hotel', 'motel', 'hostel', 'chalet', 'guest_house', 'camp_site', 'caravan_site', 'theme_park', 'museum', 'attraction', 'zoo', 'information', 'picnic_site')
-              OR amenity IN ('pub', 'restaurant', 'food_court', 'cafe', 'fast_food', 'biergarten', 'bar', 'library', 'theatre', 'courthouse', 'townhall', 'cinema', 'clinic', 'community_centre', 'parking', 'bicycle_parking', 'motorcycle_parking', 'police', 'fire_station', 'place_of_worship', 'grave_yard', 'shelter', 'bank', 'embassy', 'fuel', 'bus_station', 'prison', 'university', 'school', 'college', 'kindergarten', 'hospital', 'ice_cream', 'pharmacy', 'doctors', 'dentist', 'atm', 'bicyc [...]
-              OR shop IS NOT NULL -- skip checking a huge list and use a null check
-              OR leisure IN ('swimming_pool', 'water_park', 'miniature_golf', 'golf_course', 'sports_centre', 'stadium', 'track', 'pitch', 'playground', 'park', 'recreation_ground', 'common', 'garden', 'nature_reserve', 'marina', 'picnic_table')
-              OR landuse IN ('reservoir', 'basin', 'recreation_ground', 'village_green', 'quarry', 'vineyard', 'orchard', 'cemetery', 'residential', 'garages', 'meadow', 'grass', 'allotments', 'forest', 'farmyard', 'farm', 'farmland', 'greenhouse_horticulture', 'retail', 'industrial', 'railway', 'commercial', 'brownfield', 'landfill', 'construction', 'military')
+              OR tourism IN ('alpine_hut', 'hotel', 'motel', 'hostel', 'chalet', 'guest_house', 'camp_site', 'caravan_site', 'theme_park', 
+                             'museum', 'attraction', 'zoo', 'information', 'picnic_site')
+              OR amenity IS NOT NULL -- skip checking a huge list and use a null check
+              OR shop IS NOT NULL
+              OR leisure IS NOT NULL
+              OR landuse IS NOT NULL
               OR man_made IN ('lighthouse', 'windmill', 'mast', 'water_tower', 'pier', 'breakwater', 'groyne')
-              OR "natural" IN ('wood', 'water', 'mud', 'wetland', 'marsh', 'bay', 'spring', 'scree', 'shingle', 'bare_rock', 'sand', 'heath', 'grassland', 'scrub', 'beach', 'glacier')
+              OR "natural" IS NOT NULL
               OR place IN ('island', 'islet')
               OR military IN ('danger_area')
               OR historic IN ('memorial', 'monument', 'archaeological_site')
               OR highway IN ('services', 'rest_area', 'bus_stop', 'elevator', 'ford')
-              OR power IN ('station', 'generator', 'sub_station', 'substation')
+              OR power IN ('plant', 'station', 'generator', 'sub_station', 'substation')
               OR boundary IN ('national_park')
               OR waterway = 'dam')
             AND name IS NOT NULL
@@ -2046,21 +2155,57 @@ Layer:
                 NULL AS way_pixels,
                 COALESCE(
                   'aeroway_' || CASE WHEN aeroway IN ('gate', 'apron', 'helipad', 'aerodrome') THEN aeroway ELSE NULL END,
-                  'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'hotel', 'motel', 'hostel', 'chalet', 'guest_house', 'camp_site', 'caravan_site', 'theme_park', 'museum', 'zoo', 'information', 'picnic_site') THEN tourism ELSE NULL END,
-                  'amenity_' || CASE WHEN amenity IN ('pub', 'restaurant', 'food_court', 'cafe', 'fast_food', 'biergarten', 'bar', 'library', 'theatre', 'courthouse', 'townhall', 'cinema', 'clinic', 'community_centre', 'parking', 'bicycle_parking', 'motorcycle_parking', 'police', 'fire_station', 'place_of_worship', 'grave_yard', 'shelter', 'bank', 'embassy', 'fuel', 'bus_station', 'prison', 'university', 'school', 'college', 'kindergarten', 'hospital', 'ice_cream', 'pharmacy', 'doctors', [...]
-                  'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'beauty', 'books', 'butcher', 'clothes', 'computer', 'confectionery', 'fashion', 'convenience', 'department_store', 'doityourself', 'hardware', 'florist', 'garden_centre', 'hairdresser', 'hifi', 'ice_cream', 'car', 'car_repair', 'bicycle', 'mall', 'pet', 'photo', 'photo_studio', 'photography', 'seafood', 'shoes', 'alcohol', 'gift', 'furniture', 'kiosk', 'mobile_phone', 'motorcycle', 'musical_instrument', 'newsagent' [...]
-                  'leisure_' || CASE WHEN leisure IN ('swimming_pool', 'water_park', 'miniature_golf', 'golf_course', 'sports_centre', 'stadium', 'track', 'pitch', 'playground', 'park', 'recreation_ground', 'common', 'garden', 'nature_reserve', 'marina', 'slipway', 'picnic_table') THEN leisure ELSE NULL END,
-                  'landuse_' || CASE WHEN landuse IN ('reservoir', 'basin', 'recreation_ground', 'village_green', 'quarry', 'vineyard', 'orchard', 'cemetery', 'residential', 'garages', 'meadow', 'grass', 'allotments', 'forest', 'farmyard', 'farm', 'farmland', 'greenhouse_horticulture', 'retail', 'industrial', 'railway', 'commercial', 'brownfield', 'landfill', 'construction', 'military') THEN landuse ELSE NULL END,
+                  'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'hotel', 'motel', 'hostel', 'chalet', 'guest_house', 'camp_site', 'caravan_site', 
+                                                      'theme_park', 'museum', 'zoo', 'information', 'picnic_site') THEN tourism ELSE NULL END,
+                  'amenity_' || CASE WHEN amenity IN ('pub', 'restaurant', 'food_court', 'cafe', 'fast_food', 'biergarten', 'bar', 'library', 'theatre', 
+                                                      'courthouse', 'townhall', 'cinema', 'clinic', 'community_centre', 'parking', 'bicycle_parking', 
+                                                      'motorcycle_parking', 'police', 'fire_station', 'fountain', 'place_of_worship', 'grave_yard', 'shelter', 'bank', 
+                                                      'embassy', 'fuel', 'bus_station', 'prison', 'university', 'school', 'college', 'kindergarten', 'hospital', 
+                                                      'ice_cream', 'pharmacy', 'doctors', 'dentist', 'atm', 'bicycle_rental', 'car_rental',
+                                                      'car_wash', 'post_box', 'post_office', 'recycling', 'telephone', 'emergency_phone', 'toilets', 'taxi', 
+                                                      'drinking_water', 'hunting_stand', 'nightclub', 'veterinary') THEN amenity ELSE NULL END,
+                  'shop_' || CASE WHEN shop IN ('supermarket', 'bag','bakery', 'beauty', 'books', 'butcher', 'clothes', 'computer', 'confectionery', 'fashion', 
+                                                'convenience', 'department_store', 'doityourself', 'hardware', 'florist', 'garden_centre', 'hairdresser', 
+                                                'hifi', 'ice_cream', 'car', 'car_repair', 'bicycle', 'mall', 'pet', 'photo', 'photo_studio', 'photography', 
+                                                'seafood', 'shoes', 'alcohol', 'gift', 'furniture', 'kiosk', 'mobile_phone', 'motorcycle', 'musical_instrument', 
+                                                'newsagent', 'optician', 'jewelry', 'jewellery', 'electronics', 'chemist', 'toys', 'travel_agency', 'car_parts', 
+                                                'greengrocer', 'farm', 'stationery', 'laundry', 'dry_cleaning', 'beverages', 'perfumery', 'cosmetics', 
+                                                'variety_store', 'wine', 'outdoor') THEN shop 
+                                  WHEN shop IN ('accessories', 'antiques', 'appliance', 'art', 
+                                                'baby_goods', 'bathroom_furnishing', 'bed', 'boat', 'bookmaker', 'boutique', 'builder', 
+                                                'building_materials', 'camera', 'car_service', 'carpet', 'charity', 'cheese', 'chocolate', 'coffee', 
+                                                'communication', 'copyshop', 'craft', 'curtain', 'dairy', 'deli', 'discount',  
+                                                'e-cigarette', 'electrical', 'energy', 'erotic', 'estate_agent', 'fabric', 'fishing', 'flooring', 
+                                                'food', 'frame', 'frozen_food', 'funeral_directors', 'furnace', 'gallery', 'games', 'gas', 
+                                                'general', 'glaziery', 'grocery', 'health', 'health_food', 'hearing_aids', 'herbalist', 'hobby', 'household', 
+                                                'houseware', 'hunting', 'interior_decoration', 'kitchen', 'leather', 'lighting', 'locksmith', 
+                                                'lottery', 'market', 'massage', 'medical', 'medical_supply', 'money_lender', 'motorcycle_repair', 'music', 
+                                                'office_supplies', 'organic', 'paint', 'pastry', 'pawnbroker', 'phone', 'pottery', 
+                                                'printing', 'radiotechnics', 'real_estate', 'religion', 'rental', 'salon', 'scuba_diving', 'second_hand', 
+                                                'sewing', 'shoe_repair', 'shopping_centre', 'solarium', 'souvenir', 'sports', 'tailor', 'tanning', 'tattoo', 
+                                                'tea', 'ticket', 'tiles', 'tobacco', 'trade', 'tyres', 'vacuum_cleaner', 'video', 'video_games', 'watches', 
+                                                'wholesale', 'yes') THEN 'other' ELSE NULL END,
+                  'leisure_' || CASE WHEN leisure IN ('swimming_pool', 'water_park', 'miniature_golf', 'golf_course', 'sports_centre', 'stadium', 'track',  
+                                                      'pitch','playground', 'park', 'recreation_ground', 'common', 'garden', 'nature_reserve', 'marina',  
+                                                      'slipway', 'picnic_table') THEN leisure ELSE NULL END,
+                  'power_' || CASE WHEN power IN ('plant', 'station', 'generator', 'sub_station', 'substation') THEN power ELSE NULL END,
+                  'landuse_' || CASE WHEN landuse IN ('reservoir', 'basin', 'recreation_ground', 'village_green', 'quarry', 'vineyard', 'orchard', 'cemetery', 
+                                                      'residential', 'garages', 'meadow', 'grass', 'allotments', 'forest', 'farmyard', 'farm', 'farmland', 
+                                                      'greenhouse_horticulture', 'retail', 'industrial', 'railway', 'commercial', 'brownfield', 'landfill', 
+                                                      'construction', 'military') THEN landuse ELSE NULL END,
                   'man_made_' || CASE WHEN man_made IN ('lighthouse', 'windmill', 'mast', 'water_tower') THEN man_made ELSE NULL END,
-                  'natural_' || CASE WHEN "natural" IN ('wood', 'peak', 'volcano', 'saddle', 'cave_entrance', 'water', 'mud', 'wetland', 'marsh', 'bay', 'spring', 'scree', 'shingle', 'bare_rock', 'sand', 'heath', 'grassland', 'scrub', 'beach', 'glacier', 'tree') THEN "natural" ELSE NULL END,
+                  'natural_' || CASE WHEN "natural" IN ('wood', 'peak', 'volcano', 'saddle', 'cave_entrance', 'water', 'mud', 'wetland', 'marsh', 'bay', 'spring', 
+                                                        'scree', 'shingle', 'bare_rock', 'sand', 'heath', 'grassland', 'scrub', 'beach', 'glacier', 'tree') 
+                                                        THEN "natural" ELSE NULL END,
                   'place_' || CASE WHEN place IN ('island', 'islet') THEN place ELSE NULL END,
                   'military_' || CASE WHEN military IN ('danger_area') THEN military ELSE NULL END,
                   'historic_' || CASE WHEN historic IN ('memorial', 'monument', 'archaeological_site') THEN historic ELSE NULL END,
                   'highway_' || CASE WHEN highway IN ('services', 'rest_area', 'bus_stop', 'elevator', 'ford') THEN highway ELSE NULL END,
-                  'power_' || CASE WHEN power IN ('station', 'generator', 'sub_station', 'substation') THEN power ELSE NULL END,
                   'boundary_' || CASE WHEN boundary IN ('national_park') THEN boundary ELSE NULL END,
                   'waterway_' || CASE WHEN waterway IN ('dam', 'weir') THEN waterway ELSE NULL END,
-                  'tourism_' || CASE WHEN tourism IN ('attraction', 'viewpoint') THEN tourism ELSE NULL END
+                  'tourism_' || CASE WHEN tourism IN ('attraction', 'viewpoint') THEN tourism ELSE NULL END,
+                  'man_made_' || CASE WHEN man_made IN ('cross') THEN man_made ELSE NULL END,
+                  'historic_' || CASE WHEN historic IN ('wayside_cross') THEN historic ELSE NULL END
                 ) AS feature,
                 access,
                 name,
@@ -2080,18 +2225,21 @@ Layer:
               FROM planet_osm_point
               -- The upcoming where clause is needed for performance only, as the CASE statements would end up doing the equivalent filtering
               WHERE (aeroway IN ('gate', 'apron', 'helipad', 'aerodrome')
-                  OR tourism IN ('alpine_hut', 'hotel', 'motel', 'hostel', 'chalet', 'guest_house', 'camp_site', 'caravan_site', 'theme_park', 'museum', 'attraction', 'zoo', 'information', 'viewpoint', 'picnic_site')
-                  OR amenity IN ('pub', 'restaurant', 'food_court', 'cafe', 'fast_food', 'biergarten', 'bar', 'library', 'theatre', 'courthouse', 'townhall', 'cinema', 'clinic', 'community_centre', 'parking', 'bicycle_parking', 'motorcycle_parking', 'police', 'fire_station', 'place_of_worship', 'grave_yard', 'shelter', 'bank', 'embassy', 'fuel', 'bus_station', 'prison', 'university', 'school', 'college', 'kindergarten', 'hospital', 'ice_cream', 'pharmacy', 'doctors', 'dentist', 'atm', 'b [...]
-                  OR shop IS NOT NULL -- skip checking a huge list and use a null check
-                  OR leisure IN ('swimming_pool', 'water_park', 'miniature_golf', 'golf_course', 'sports_centre', 'stadium', 'track', 'pitch', 'playground', 'park', 'recreation_ground', 'common', 'garden', 'nature_reserve', 'marina', 'slipway', 'picnic_table')
-                  OR landuse IN ('reservoir', 'basin', 'recreation_ground', 'village_green', 'quarry', 'vineyard', 'orchard', 'cemetery', 'residential', 'garages', 'meadow', 'grass', 'allotments', 'forest', 'farmyard', 'farm', 'farmland', 'greenhouse_horticulture', 'retail', 'industrial', 'railway', 'commercial', 'brownfield', 'landfill', 'construction', 'military')
-                  OR man_made IN ('lighthouse', 'windmill', 'mast', 'water_tower')
-                  OR "natural" IN ('wood', 'peak', 'volcano', 'saddle', 'cave_entrance', 'water', 'mud', 'wetland', 'marsh', 'bay', 'spring', 'scree', 'shingle', 'bare_rock', 'sand', 'heath', 'grassland', 'scrub', 'beach', 'glacier', 'tree')
+                  OR tourism IN ('alpine_hut', 'hotel', 'motel', 'hostel', 'chalet', 'guest_house', 'camp_site', 'caravan_site', 'theme_park', 
+                                 'museum', 'attraction', 'zoo', 'information', 'viewpoint', 'picnic_site')
+                  OR amenity IS NOT NULL -- skip checking a huge list and use a null check
+                  OR shop IS NOT NULL
+                  OR leisure IS NOT NULL
+                  OR landuse IN ('reservoir', 'basin', 'recreation_ground', 'village_green', 'quarry', 'vineyard', 'orchard', 'cemetery', 'residential', 
+                                 'garages', 'meadow', 'grass', 'allotments', 'forest', 'farmyard', 'farm', 'farmland', 'greenhouse_horticulture', 
+                                 'retail', 'industrial', 'railway', 'commercial', 'brownfield', 'landfill', 'construction', 'military')
+                  OR man_made IN ('lighthouse', 'windmill', 'mast', 'water_tower', 'cross')
+                  OR "natural" IS NOT NULL
                   OR place IN ('island', 'islet')
                   OR military IN ('danger_area')
-                  OR historic IN ('memorial', 'monument', 'archaeological_site')
+                  OR historic IN ('memorial', 'monument', 'archaeological_site', 'wayside_cross')
                   OR highway IN ('bus_stop', 'services', 'rest_area', 'elevator', 'ford')
-                  OR power IN ('station', 'generator', 'sub_station', 'substation')
+                  OR power IN ('plant', 'station', 'generator', 'sub_station', 'substation')
                   OR boundary IN ('national_park')
                   OR waterway IN ('dam', 'weir'))
                 AND name IS NOT NULL
@@ -2287,13 +2435,18 @@ Layer:
             railway,
             highway,
             barrier,
+            man_made,
+            historic,
             access,
+            name,
             CASE WHEN amenity='waste_basket' THEN 2 ELSE 1 END AS prio
           FROM planet_osm_point p
           WHERE barrier IN ('bollard', 'gate', 'lift_gate', 'block')
              OR highway IN ('mini_roundabout')
              OR railway = 'level_crossing'
              OR amenity IN ('parking', 'bicycle_parking', 'motorcycle_parking', 'bench', 'waste_basket')
+             OR historic = 'wayside_cross'
+             OR man_made = 'cross'
           ORDER BY prio
           ) AS amenity_low_priority
     properties:
@@ -2313,7 +2466,10 @@ Layer:
             railway,
             highway,
             barrier,
-            access
+            man_made,
+            historic,
+            access,
+            name
           FROM planet_osm_polygon
           WHERE barrier IN ('bollard', 'gate', 'lift_gate', 'block')
              OR highway IN ('mini_roundabout')
diff --git a/roads.mss b/roads.mss
index 98c2851..fc1d134 100644
--- a/roads.mss
+++ b/roads.mss
@@ -1,18 +1,17 @@
 /* For the main linear features, such as roads and railways. */
 
- at motorway-fill: #89a4cb;
- at trunk-fill: #94d494;
- at trunk-fill-alternative: #97d397;
- at primary-fill: #dd9f9f;
- at secondary-fill: #f9d6aa;
- at tertiary-fill: #f8f8ba;
+//road colors for major roads were generated with scripts/generate_road_colors.py
+ at motorway-fill: #e892a2; // Lch(70,35,10), error 0.5
+ at trunk-fill: #f9b29c; // Lch(79,33,42), error 0.7
+ at primary-fill: #fcd6a4; // Lch(88,31,74), error 1.7
+ at secondary-fill: #f7fabf; // Lch(97,29,106), error 1.7
+ at tertiary-fill: #ffffff;
 @residential-fill: #ffffff;
 @service-fill: @residential-fill;
- at living-street-fill: #ccc;
- at pedestrian-fill: #ededed;
+ at living-street-fill: #ededed;
+ at pedestrian-fill: #dddde8;
 @raceway-fill: pink;
 @road-fill: #ddd;
- at path-fill: black;
 @footway-fill: salmon;
 @steps-fill: @footway-fill;
 @cycleway-fill: blue;
@@ -23,16 +22,22 @@
 @taxiway-fill: @aeroway-fill;
 @helipad-fill: @aeroway-fill;
 
+ at motorway-low-zoom: #e66e89; // Lch(62,50,10), error 0.7
+ at trunk-low-zoom: #fa9476; // Lch(72,50,42), error 0.8
+ at primary-low-zoom: #f8c171; // Lch(82,50,74), error 2.1
+ at secondary-low-zoom: #e6ef89; // Lch(92,50,106), error 2.2
+
 @default-casing: white;
- at motorway-casing: #7788a1;
- at trunk-casing: #7eae7e;
- at primary-casing: #c57b7e;
- at secondary-casing: #cca16a;
- at tertiary-casing: #c6c68a;
+ at motorway-casing: #dc2a67; // Lch(50,70,10), error 1.1
+ at trunk-casing: #c84e2f; // Lch(50,65,42), error 0.7
+ at primary-casing: #a06b00; // Lch(50,60,74), error 1.6
+ at secondary-casing: #707d05; // Lch(50,55,106), error 1.9
+ at tertiary-casing: #8f8f8f;
 @residential-casing: #bbb;
+ at road-casing: @residential-casing;
 @service-casing: @residential-casing;
- at living-street-casing: #999;
- at pedestrian-casing: @residential-casing;
+ at living-street-casing: @residential-casing;
+ at pedestrian-casing: #999;
 @path-casing: @default-casing;
 @footway-casing: @default-casing;
 @steps-casing: @default-casing;
@@ -40,16 +45,24 @@
 @bridleway-casing: @default-casing;
 @track-casing: @default-casing;
 
+ at motorway-low-zoom-casing: #c24e6b; // Lch(50,50,10), error 0.8
+ at trunk-low-zoom-casing: #cf6649; // Lch(56,55,42), error 0.9
+ at primary-low-zoom-casing: #c38a27; // Lch(62,60,74), error 2.1
+ at secondary-low-zoom-casing: #9eae23; // Lch(68,65,106), error 2.3
+
+ at unimportant-road: @residential-casing;
+
 @residential-construction: #aaa;
 @service-construction: #aaa;
 
 @destination-marking: #c2e0ff;
 @private-marking: #efa9a9;
+ at private-marking-for-red: #C26363;
 
 @tunnel-casing: grey;
 @bridge-casing: black;
 
- at motorway-tunnel-fill: lighten(@motorway-fill, 25%);
+ at 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%);
@@ -57,18 +70,43 @@
 @residential-tunnel-fill: darken(@residential-fill, 5%);
 @living-street-tunnel-fill: lighten(@living-street-fill, 10%);
 
+ at motorway-width-z5:               0.5;
+ at trunk-width-z5:                  0.4;
+
+ at motorway-width-z7:               0.8;
+ at trunk-width-z7:                  0.6;
+
+ at motorway-width-z8:               1;
+ at trunk-width-z8:                  1;
+ at primary-width-z8:                1;
+
+ at motorway-width-z9:               1.4;
+ at trunk-width-z9:                  1.4;
+ at primary-width-z9:                1.4;
+ at secondary-width-z9:              1;
+
+ at motorway-width-z10:              1.9;
+ at trunk-width-z10:                 1.9;
+ at primary-width-z10:               1.8;
+ at secondary-width-z10:             1;
+
+ at motorway-width-z11:              2.0;
+ at trunk-width-z11:                 1.9;
+ at primary-width-z11:               1.8;
+ at 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;
- at secondary-width-z12:             3;
- at tertiary-width-z12:              3;
-
- at motorway-width-z13:              7;
- at motorway-link-width-z13:         4.5;
- at trunk-width-z13:                 7;
- at primary-width-z13:               7;
- at secondary-width-z13:             7;
+ at secondary-width-z12:             3.5;
+ at tertiary-width-z12:              2.5;
+
+ at motorway-width-z13:              6;
+ at motorway-link-width-z13:         4;
+ at trunk-width-z13:                 6;
+ at primary-width-z13:               5;
+ at secondary-width-z13:             5;
 @tertiary-width-z13:              5;
 @residential-width-z13:           3;
 @living-street-width-z13:         2;
@@ -82,21 +120,23 @@
 @track-grade2-width-z13:          0.5;
 @steps-width-z13:                 0.7;
 
- at tertiary-width-z14:              7.5;
- at residential-width-z14:           4.5;
- at living-street-width-z14:         4;
- at pedestrian-width-z14:            4;
- at service-width-z14:               2.5;
+ at secondary-width-z14:             5;
+ at tertiary-width-z14:              5;
+ at residential-width-z14:           3;
+ at living-street-width-z14:         3;
+ at pedestrian-width-z14:            3;
+ at road-width-z14:                  2;
+ at service-width-z14:               2;
 
- at motorway-width-z15:             12.8;
+ at motorway-width-z15:             10;
 @motorway-link-width-z15:         7.8;
- at trunk-width-z15:                12.8;
- at primary-width-z15:              12.8;
- at secondary-width-z15:            12.8;
- at tertiary-width-z15:             11.2;
- at residential-width-z15:           8.3;
- at living-street-width-z15:         6;
- at pedestrian-width-z15:            6;
+ at trunk-width-z15:                10;
+ at primary-width-z15:              10;
+ at secondary-width-z15:             9;
+ at tertiary-width-z15:              9;
+ at residential-width-z15:           5;
+ at living-street-width-z15:         5;
+ at pedestrian-width-z15:            5;
 @bridleway-width-z15:             1.2;
 @footway-width-z15:               1;
 @cycleway-width-z15:              0.9;
@@ -106,24 +146,55 @@
 @track-grade2-width-z15:          0.75;
 @steps-width-z15:                 3;
 
- at residential-width-z16:          11.2;
- at living-street-width-z16:         9;
- at pedestrian-width-z16:            9;
- at service-width-z16:               6;
- at minor-service-width-z16:         4;
+ at secondary-width-z16:            10;
+ at tertiary-width-z16:             10;
+ at residential-width-z16:           6;
+ at living-street-width-z16:         6;
+ at pedestrian-width-z16:            6;
+ at road-width-z16:                  3.5;
+ at service-width-z16:               3.5;
+ at minor-service-width-z16:         2;
 @footway-width-z16:               1.3;
 @cycleway-width-z16:              0.9;
 
 @motorway-width-z17:             18;
- at motorway-link-width-z17:        11.5;
+ at motorway-link-width-z17:        12;
 @trunk-width-z17:                18;
 @primary-width-z17:              18;
 @secondary-width-z17:            18;
- at tertiary-width-z17:             15.5;
- at residential-width-z17:          15.5;
- at living-street-width-z17:        14;
- at pedestrian-width-z17:           14;
+ at tertiary-width-z17:             18;
+ at residential-width-z17:          12;
+ at living-street-width-z17:        12;
+ at pedestrian-width-z17:           12;
+ at road-width-z17:                  7;
 @service-width-z17:               7;
+ at minor-service-width-z17:         3.5;
+
+ at motorway-width-z18:             23;
+ at motorway-link-width-z18:        14;
+ at trunk-width-z18:                23;
+ at primary-width-z18:              23;
+ at secondary-width-z18:            23;
+ at tertiary-width-z18:             23;
+ at residential-width-z18:          14;
+ at living-street-width-z18:        14;
+ at pedestrian-width-z18:           14;
+ at road-width-z18:                  9;
+ at service-width-z18:               9;
+ at minor-service-width-z18:         5;
+
+ at motorway-width-z19:             33;
+ at motorway-link-width-z19:        20;
+ at trunk-width-z19:                33;
+ at primary-width-z19:              32;
+ at secondary-width-z19:            32;
+ at tertiary-width-z19:             32;
+ at residential-width-z19:          21;
+ at living-street-width-z19:        21;
+ at pedestrian-width-z19:           21;
+ at road-width-z19:                 13;
+ at service-width-z19:              13;
+ at minor-service-width-z19:         7;
 
 @footway-width-z18:               1.3;
 @cycleway-width-z18:              1;
@@ -131,43 +202,145 @@
 @footway-width-z19:               1.6;
 @cycleway-width-z19:              1.3;
 
- at casing-width-z12:                0.5;
+
+ at major-casing-width-z11:          0.3;
+
+ at casing-width-z12:                0.1;
+ at secondary-casing-width-z12:      0.3;
+ at major-casing-width-z12:          0.5;
+
 @casing-width-z13:                0.5;
 @residential-casing-width-z13:    0.5;
- at casing-width-z14:                0.5;
- at casing-width-z15:                0.7;
- at casing-width-z16:                0.7;
- at casing-width-z17:                1;
+ at secondary-casing-width-z13:      0.35;
+ at major-casing-width-z13:          0.5;
+
+ at casing-width-z14:                0.55;
+ at secondary-casing-width-z14:      0.35;
+ at major-casing-width-z14:          0.6;
+
+ at casing-width-z15:                0.6;
+ at secondary-casing-width-z15:      0.7;
+ at major-casing-width-z15:          0.7;
+
+ at casing-width-z16:                0.6;
+ at secondary-casing-width-z16:      0.7;
+ at major-casing-width-z16:          0.7;
+
+ at casing-width-z17:                0.8;
+ at secondary-casing-width-z17:      1;
+ at major-casing-width-z17:          1;
+
+ at casing-width-z18:                0.8;
+ at secondary-casing-width-z18:      1;
+ at major-casing-width-z18:          1;
 
- at bridge-casing-width-z12:         0.5;
+ at casing-width-z19:                0.8;
+ at secondary-casing-width-z19:      1;
+ at major-casing-width-z19:          1;
+
+ at bridge-casing-width-z12:         0.1;
+ at major-bridge-casing-width-z12:   0.5;
 @bridge-casing-width-z13:         0.5;
+ at major-bridge-casing-width-z13:   0.5;
 @bridge-casing-width-z14:         0.5;
+ at major-bridge-casing-width-z14:   0.6;
 @bridge-casing-width-z15:         0.75;
+ at major-bridge-casing-width-z15:   0.75;
 @bridge-casing-width-z16:         0.75;
- at bridge-casing-width-z17:         0.75;
+ at major-bridge-casing-width-z16:   0.75;
+ at bridge-casing-width-z17:         0.8;
+ at major-bridge-casing-width-z17:   1;
+ at bridge-casing-width-z18:         0.8;
+ at major-bridge-casing-width-z18:   1;
+ at bridge-casing-width-z19:         0.8;
+ at major-bridge-casing-width-z19:   1;
 
 @paths-background-width:          1;
 @paths-bridge-casing-width:       0.5;
 @paths-tunnel-casing-width:       1;
 
- at oneway-arrow-color:              #6c70d5;
- at junction-text-color:             #6666ff;
+ at junction-text-color:             #960000;
+ at halo-color-for-minor-road: white;
+
+ at motorway-oneway-arrow-color:     darken(@motorway-casing, 25%);
+ at trunk-oneway-arrow-color:        darken(@trunk-casing, 25%);
+ at primary-oneway-arrow-color:      darken(@primary-casing, 15%);
+ at secondary-oneway-arrow-color:    darken(@secondary-casing, 10%);
+ at tertiary-oneway-arrow-color:     darken(@tertiary-casing, 30%);
+ at residential-oneway-arrow-color:  darken(@residential-casing, 40%);
+ at living-street-oneway-arrow-color: darken(@residential-casing, 30%);
+ at pedestrian-oneway-arrow-color:   darken(@pedestrian-casing, 25%);
+ at raceway-oneway-arrow-color:      darken(@raceway-fill, 50%);
+ at footway-oneway-arrow-color:      darken(@footway-fill, 35%);
+ at steps-oneway-arrow-color:        darken(@steps-fill, 35%);
+ at cycleway-oneway-arrow-color:     darken(@cycleway-fill, 25%);
+ at track-oneway-arrow-color:        darken(@track-fill, 15%);
+ at bridleway-oneway-arrow-color:    darken(@track-fill, 10%);
+
+ at shield-size: 9;
+ at shield-size-z16: 10;
+ at shield-size-z18: 11;
+ at shield-spacing: 760;
+ at shield-min-distance: 40;
+ at shield-font: @book-fonts;
+ at shield-clip: false;
+
+ at shield-motorway-fill: #620728; // Lch(20,40,10), error 0.5
+ at shield-trunk-fill: #5d1b0b; // Lch(21,40,42), error 0.5
+ at shield-primary-fill: #4c2e00; // Lch(22,40,74), error 2.9
+ at shield-secondary-fill: #323b00; // Lch(23,40,106), error 3.4
+ at 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;
         }
-        line-color: @motorway-casing;
         .roads-casing {
           line-join: round;
           line-cap: round;
@@ -184,11 +357,16 @@
 
     [feature = 'highway_trunk'] {
       [zoom >= 12] {
-        line-color: @trunk-casing;
+        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;
@@ -205,11 +383,16 @@
 
     [feature = 'highway_primary'] {
       [zoom >= 12] {
-        line-color: @primary-casing;
+        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;
@@ -226,11 +409,18 @@
 
     [feature = 'highway_secondary'] {
       [zoom >= 12] {
-        line-color: @secondary-casing;
+        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;
@@ -254,7 +444,10 @@
         [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;
@@ -272,8 +465,7 @@
     }
 
     [feature = 'highway_residential'],
-    [feature = 'highway_unclassified'],
-    [feature = 'highway_road'] {
+    [feature = 'highway_unclassified'] {
       [zoom >= 13] {
         line-color: @residential-casing;
         line-width: @residential-width-z13;
@@ -281,6 +473,8 @@
         [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;
@@ -297,6 +491,28 @@
       }
     }
 
+    [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'] {
@@ -305,15 +521,22 @@
           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; }
+        .tunnels-casing {
+          line-dasharray: 4,2;
+        }
         .bridges-casing {
           line-color: @bridge-casing;
           line-join: round;
@@ -329,6 +552,8 @@
         [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;
@@ -353,6 +578,8 @@
         [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;
@@ -575,7 +802,7 @@
       }
     }
 
-    [feature = 'railway_disused'],
+    [feature = 'railway_disused'][zoom >= 15],
     [feature = 'railway_construction'],
     [feature = 'railway_miniature'][zoom >= 15],
     [feature = 'railway_INT-preserved-ssy'][zoom >= 14] {
@@ -788,7 +1015,7 @@
       }
     }
 
-    [feature = 'railway_disused'],
+    [feature = 'railway_disused'][zoom >= 15],
     [feature = 'railway_construction'],
     [feature = 'railway_miniature'][zoom >= 15],
     [feature = 'railway_INT-preserved-ssy'][zoom >= 14] {
@@ -881,9 +1108,7 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
           line-color: @secondary-fill;
         }
         [construction = 'tertiary'],
-        [construction = 'tertiary_link'] {
-          line-color: @tertiary-fill;
-        }
+        [construction = 'tertiary_link'],
         [construction = 'residential'],
         [construction = 'unclassified'],
         [construction = 'living_street'] {
@@ -939,37 +1164,47 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
 
     [feature = 'highway_motorway'] {
       [zoom >= 5] {
-        line-color: @motorway-fill;
-        line-width: 0.5;
-      }
-      [zoom >= 7] { line-width: 1; }
-      [zoom >= 9] { line-width: 1.4; }
-      [zoom >= 10] { line-width: 2; }
-      [zoom >= 11] { line-width: 2.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-width: @motorway-width-z12 - 2 * @casing-width-z12;
-        [zoom >= 13] { line-width: @motorway-width-z13 - 2 * @casing-width-z13; }
-        [zoom >= 15] { line-width: @motorway-width-z15 - 2 * @casing-width-z15; }
-        [zoom >= 17] { line-width: @motorway-width-z17 - 2 * @casing-width-z17; }
+        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 * @bridge-casing-width-z12;
-          [zoom >= 13] { line-width: @motorway-width-z13 - 2 * @bridge-casing-width-z13; }
-          [zoom >= 15] { line-width: @motorway-width-z15 - 2 * @bridge-casing-width-z15; }
-          [zoom >= 17] { line-width: @motorway-width-z17 - 2 * @bridge-casing-width-z17; }
+          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;
@@ -979,29 +1214,32 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
 
     [feature = 'highway_trunk'] {
       [zoom >= 5] {
-        line-width: 0.4;
-        line-color: @trunk-fill;
-      }
-      [zoom >= 7] {
-        line-width: 1;
-        line-color: @trunk-fill-alternative;
-      }
-      [zoom >= 9] { line-width: 2; }
-      [zoom >= 11] { line-width: 2.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 * @casing-width-z12;
-        [zoom >= 13] { line-width: @trunk-width-z13 - 2 * @casing-width-z13; }
-        [zoom >= 15] { line-width: @trunk-width-z15 - 2 * @casing-width-z15; }
-        [zoom >= 17] { line-width: @trunk-width-z17 - 2 * @casing-width-z17; }
+        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 * @bridge-casing-width-z12;
-          [zoom >= 13] { line-width: @trunk-width-z13 - 2 * @bridge-casing-width-z13; }
-          [zoom >= 15] { line-width: @trunk-width-z15 - 2 * @bridge-casing-width-z15; }
-          [zoom >= 17] { line-width: @trunk-width-z17 - 2 * @bridge-casing-width-z17; }
+          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;
@@ -1009,26 +1247,31 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
     }
 
     [feature = 'highway_primary'] {
-      [zoom >= 7] {
-        line-width: 0.5;
-        line-color: @primary-fill;
+      [zoom >= 8] {
+        line-width: @primary-width-z8;
+        line-color: @primary-low-zoom;
       }
-      [zoom >= 9] { line-width: 1.2; }
-      [zoom >= 10] { line-width: 2; }
-      [zoom >= 11] { line-width: 2.5; }
+      [zoom >= 9] { line-width: @primary-width-z9; }
+      [zoom >= 10] { line-width: @primary-width-z10; }
+      [zoom >= 11] { line-width: @primary-width-z11; }
       [zoom >= 12] {
-        line-width: @primary-width-z12 - 2 * @casing-width-z12;
-        [zoom >= 13] { line-width: @primary-width-z13 - 2 * @casing-width-z13; }
-        [zoom >= 15] { line-width: @primary-width-z15 - 2 * @casing-width-z15; }
-        [zoom >= 17] { line-width: @primary-width-z17 - 2 * @casing-width-z17; }
+        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 * @bridge-casing-width-z12;
-          [zoom >= 13] { line-width: @primary-width-z13 - 2 * @bridge-casing-width-z13; }
-          [zoom >= 15] { line-width: @primary-width-z15 - 2 * @bridge-casing-width-z15; }
-          [zoom >= 17] { line-width: @primary-width-z17 - 2 * @bridge-casing-width-z17; }
+          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;
@@ -1037,33 +1280,48 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
 
     [feature = 'highway_secondary'] {
       [zoom >= 9] {
-        line-width: 1;
-        line-color: @secondary-fill;
+        line-color: @unimportant-road;
+        line-width: @secondary-width-z9;
       }
-      [zoom >= 11] { line-width: 2; }
-      [zoom >= 12] {
-        line-width: @secondary-width-z12 - 2 * @casing-width-z12;
-        [zoom >= 13] { line-width: @secondary-width-z13 - 2 * @casing-width-z13; }
-        [zoom >= 15] { line-width: @secondary-width-z15 - 2 * @casing-width-z15; }
-        [zoom >= 17] { line-width: @secondary-width-z17 - 2 * @casing-width-z17; }
-        .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 * @bridge-casing-width-z13; }
-          [zoom >= 15] { line-width: @secondary-width-z15 - 2 * @bridge-casing-width-z15; }
-          [zoom >= 17] { line-width: @secondary-width-z17 - 2 * @bridge-casing-width-z17; }
-        }
+      [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: @residential-casing;
-        line-width: 1;
+        line-color: @unimportant-road;
+        line-width: 0.55;
       }
       [zoom >= 12] {
         line-color: @tertiary-fill;
@@ -1071,7 +1329,10 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
         [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;
         }
@@ -1080,7 +1341,10 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
           [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;
@@ -1090,11 +1354,11 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
     [feature = 'highway_residential'],
     [feature = 'highway_unclassified'] {
       [zoom = 12][feature = 'highway_residential'] {
-        line-color: @residential-casing;
+        line-color: @unimportant-road;
         line-width: 0.4;
       }
       [zoom = 12][feature = 'highway_unclassified'] {
-        line-color: @residential-casing;
+        line-color: @unimportant-road;
         line-width: 1;
       }
       [zoom >= 13] {
@@ -1103,6 +1367,8 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
         [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;
         }
@@ -1115,42 +1381,8 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
           [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; }
-        }
-        line-cap: round;
-        line-join: round;
-      }
-    }
-
-    [feature = 'highway_road'] {
-      [zoom >= 10] {
-        line-color: @residential-casing;
-        line-width: 1;
-      }
-      [zoom >= 13] {
-        .roads-fill, .bridges-fill {
-          line-color: @road-fill;
-        }
-        .tunnels-fill {
-          line-color: @residential-tunnel-fill;
-        }
-        .roads-fill {
-          line-width: 2;
-          [zoom >= 14] { line-width: 3; }
-          [zoom >= 15] { line-width: 6.5; }
-          [zoom >= 16] { line-width: 9.4; }
-          [zoom >= 17] { line-width: 13; }
-        }
-        .bridges-fill {
-          line-width: 3.5;
-          [zoom >= 14] { line-width: 7.5; }
-          [zoom >= 15] { line-width: 9.5; }
-          [zoom >= 17] { line-width: 14; }
-        }
-        .tunnels-fill {
-          line-width: 2;
-          [zoom >= 14] { line-width: 3.5; }
-          [zoom >= 15] { line-width: 9.5; }
-          [zoom >= 17] { line-width: 14; }
+          [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;
@@ -1164,6 +1396,8 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
         [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;
         }
@@ -1176,16 +1410,48 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
           [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: @residential-casing;
+        line-color: @unimportant-road;
       }
       [zoom >= 14][service = 'INT-normal'],
       [zoom >= 16][service = 'INT-minor'] {
@@ -1194,9 +1460,14 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
           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;
@@ -1208,9 +1479,14 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
             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; }
           }
         }
       }
@@ -1223,6 +1499,8 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
         [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;
@@ -1230,6 +1508,8 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
           [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;
@@ -1528,15 +1808,10 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
     [feature = 'railway_rail'][zoom >= 7],
     [feature = 'railway_INT-spur-siding-yard'][zoom >= 13] {
       [zoom < 13] {
-        line-color: #aaa;
-        [feature = 'railway_rail'] {
-          line-width: 0.6;
-          [zoom >= 9] { line-width: 1; }
-          [zoom >= 10] { line-width: 2; }
-        }
-        [feature = 'railway_INT-spur-siding-yard'] {
-          line-width: 1;
-        }
+        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;
@@ -1544,56 +1819,42 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
       }
       [zoom >= 13] {
         .roads-fill, .bridges-fill {
-          dark/line-color: #999999;
-          [feature = 'railway_rail']                               { dark/line-width: 3; }
-          [feature = 'railway_INT-spur-siding-yard']               { dark/line-width: 2; }
-          [feature = 'railway_rail']                               { dark/line-join: round; }
-          [feature = 'railway_INT-spur-siding-yard'] .bridges-fill { dark/line-join: round; }
+          dark/line-join: round;
           light/line-color: white;
-          [feature = 'railway_rail']                               { light/line-width: 1; }
-          [feature = 'railway_INT-spur-siding-yard']               { light/line-width: 0.8; }
-          [feature = 'railway_rail']                               { light/line-dasharray: 8,12; }
-          [feature = 'railway_INT-spur-siding-yard']               { light/line-dasharray: 0,8,11,1; }
           light/line-join: round;
-          [feature = 'railway_rail'][zoom >= 14]                   { light/line-dasharray: 0,11,8,1; }
+          [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 {
-          a/line-width: 3;
-          b/line-width: 3;
-          c/line-width: 3;
-          d/line-width: 3;
-          e/line-width: 3;
-          f/line-width: 3;
-          g/line-width: 3;
-          a/line-color: #ffffff;
-          b/line-color: #fdfdfd;
-          c/line-color: #ececec;
-          d/line-color: #cacaca;
-          e/line-color: #afafaf;
-          f/line-color: #a1a1a1;
-          g/line-color: #9b9b9b;
-          a/line-dasharray: 1,9;
-          b/line-dasharray: 0,1,1,8;
-          c/line-dasharray: 0,2,1,7;
-          d/line-dasharray: 0,3,1,6;
-          e/line-dasharray: 0,4,1,5;
-          f/line-dasharray: 0,5,1,4;
-          g/line-dasharray: 0,6,1,3;
-          a/line-join: round;
-          b/line-join: round;
-          c/line-join: round;
-          d/line-join: round;
-          e/line-join: round;
-          f/line-join: round;
-          g/line-join: round;
+          line-color: #787878;
+          line-width: 2.8;
+          line-dasharray: 6,4;
+          line-clip: false;
           [feature = 'railway_INT-spur-siding-yard'] {
-            a/line-width: 2;
-            b/line-width: 2;
-            c/line-width: 2;
-            d/line-width: 2;
-            e/line-width: 2;
-            f/line-width: 2;
-            g/line-width: 2;
+            line-color: #aaa;
+            line-width: 1.9;
+            line-dasharray: 3,3;
+          }
+          [feature = 'railway_rail'][zoom >= 19] {
+            line-dasharray: 8,6;
+            line-width: 3.8;
           }
         }
       }
@@ -1726,13 +1987,28 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
       }
     }
 
-    [feature = 'railway_disused'],
     [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;
       }
     }
 
@@ -1786,10 +2062,22 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
     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;
@@ -1809,6 +2097,14 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
         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;
@@ -1827,6 +2123,14 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
       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;
@@ -1841,10 +2145,22 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
         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;
@@ -1861,6 +2177,14 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
       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;
@@ -1880,6 +2204,14 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
         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;
@@ -1898,6 +2230,14 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
       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;
@@ -1912,10 +2252,22 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
         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;
@@ -2081,7 +2433,7 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
 
 #bridge-text  {
   [man_made = 'bridge'] {
-    [zoom >= 12][way_pixels > 4] {
+    [zoom >= 12][way_pixels > 62.5] {
       text-name: "[name]";
       text-size: 8;
       text-fill: black;
@@ -2090,7 +2442,7 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
       text-halo-fill: rgba(255,255,255,0.6);
       text-min-distance: 2;
       text-wrap-width: 30;
-      [way_pixels > 100] {
+      [way_pixels > 250] {
         text-size: 9;
       }
       [way_pixels > 1000] {
@@ -2100,7 +2452,7 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
       [way_pixels > 4000] {
         text-size: 12;
       }
-      [way_pixels > 10000] {
+      [way_pixels > 16000] {
         text-size: 13;
         text-halo-radius: 2;
       }
@@ -2114,26 +2466,37 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
     [feature = 'highway_tertiary'],
     [feature = 'highway_unclassified'],
     [feature = 'highway_residential'],
-    [feature = 'highway_road'],
     [feature = 'highway_living_street'] {
       [zoom >= 15] {
         access/line-width: 6;
         access/line-color: @destination-marking;
         access/line-dasharray: 6,8;
-        access/line-cap: round;
+        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-normal'][zoom >= 15],
-    [feature = 'highway_service'][zoom >= 16] {
-      access/line-width: 3;
-      access/line-color: @destination-marking;
-      access/line-dasharray: 6,8;
-      access/line-cap: round;
-      access/line-join: round;
-      access/line-opacity: 0.5;
-      [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'] {
@@ -2144,31 +2507,58 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
     [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_living_street'],
     [feature = 'highway_track'],
-    [feature = 'highway_path'],
+    [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_bridleway'],
+    [feature = 'highway_steps'] {
       [zoom >= 15] {
-        access/line-width: 6;
+        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-normal'][zoom >= 15],
-    [feature = 'highway_service'][zoom >= 16] {
-      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_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;
+      }
     }
   }
 }
@@ -2188,128 +2578,141 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
   }
 }
 
-#roads-text-ref-low-zoom {
-  [highway = 'motorway'][zoom >= 10][zoom < 13] {
+#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: 10;
-    shield-fill: #fff;
+    shield-size: @shield-size;
     shield-placement: line;
-    shield-file: url("symbols/shields/motorway_[width]x[height].svg");
-    shield-spacing: 750;
-    shield-min-distance: 30;
-    shield-face-name: @bold-fonts;
-    shield-clip: false;
-  }
+    shield-spacing: @shield-spacing;
+    shield-min-distance: @shield-min-distance;
+    shield-face-name: @shield-font;
+    shield-clip: @shield-clip;
 
-  [highway = 'trunk'][zoom >= 11][zoom < 13] {
-    shield-name: "[refs]";
-    shield-size: 10;
-    shield-fill: #fff;
-    shield-placement: line;
-    shield-file: url("symbols/shields/trunk_[width]x[height].svg");
-    shield-spacing: 750;
-    shield-min-distance: 30;
-    shield-face-name: @bold-fonts;
-    shield-clip: false;
-  }
+    [highway = 'motorway'] {
+      shield-fill: @shield-motorway-fill;
+      shield-file: url("symbols/shields/motorway_[width]x[height].svg");
+    }
 
-  [highway = 'primary'][zoom >= 11][zoom < 13] {
-    shield-name: "[refs]";
-    shield-size: 10;
-    shield-fill: #fff;
-    shield-placement: line;
-    shield-file: url("symbols/shields/primary_[width]x[height].svg");
-    shield-spacing: 750;
-    shield-min-distance: 30;
-    shield-face-name: @bold-fonts;
-    shield-clip: false;
-  }
+    [highway = 'trunk'] {
+      shield-fill: @shield-trunk-fill;
+      shield-file: url("symbols/shields/trunk_[width]x[height].svg");
+    }
 
-  [highway = 'secondary'][zoom >= 12][zoom < 13] {
-    shield-name: "[refs]";
-    shield-size: 10;
-    shield-fill: #fff;
-    shield-placement: line;
-    shield-file: url("symbols/shields/secondary_[width]x[height].svg");
-    shield-spacing: 750;
-    shield-min-distance: 30;
-    shield-face-name: @bold-fonts;
-    shield-clip: false;
+    [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'][zoom >= 13] {
-    shield-name: "[refs]";
-    shield-size: 10;
-    shield-fill: #fff;
-    shield-placement: line;
-    shield-file: url("symbols/shields/motorway_[width]x[height].svg");
-    shield-spacing: 750;
-    shield-min-distance: 30;
-    shield-face-name: @bold-fonts;
-    shield-clip: false;
-  }
+  [highway = 'motorway'],
+  [highway = 'trunk'],
+  [highway = 'primary'],
+  [highway = 'secondary'],
+  [highway = 'tertiary'] {
+    [zoom >= 13] {
+      shield-name: "[refs]";
+      shield-size: @shield-size;
 
-  [highway = 'trunk'][zoom >= 13] {
-    shield-name: "[refs]";
-    shield-size: 10;
-    shield-fill: #fff;
-    shield-placement: line;
-    shield-file: url("symbols/shields/trunk_[width]x[height].svg");
-    shield-spacing: 750;
-    shield-min-distance: 30;
-    shield-face-name: @bold-fonts;
-    shield-clip: false;
-  }
+      [zoom >= 16] {
+        shield-size: @shield-size-z16;
+      }
+      [zoom >= 18] {
+        shield-size: @shield-size-z18;
+      }
 
-  [highway = 'primary'][zoom >= 13] {
-    shield-name: "[refs]";
-    shield-size: 10;
-    shield-fill: #fff;
-    shield-placement: line;
-    shield-file: url("symbols/shields/primary_[width]x[height].svg");
-    shield-spacing: 750;
-    shield-min-distance: 30;
-    shield-face-name: @bold-fonts;
-    shield-clip: false;
-  }
+      shield-placement: line;
+      shield-spacing: @shield-spacing;
+      shield-min-distance: @shield-min-distance;
+      shield-face-name: @shield-font;
+      shield-clip: @shield-clip;
 
-  [highway = 'secondary'][zoom >= 13] {
-    shield-name: "[refs]";
-    shield-size: 10;
-    shield-fill: #fff;
-    shield-placement: line;
-    shield-file: url("symbols/shields/secondary_[width]x[height].svg");
-    shield-spacing: 750;
-    shield-min-distance: 30;
-    shield-face-name: @bold-fonts;
-    shield-clip: false;
-  }
+      [highway = 'motorway'] {
+        shield-fill: @shield-motorway-fill;
+        shield-file: url("symbols/shields/motorway_[width]x[height].svg");
 
-  [highway = 'tertiary'][zoom >= 13] {
-    shield-name: "[refs]";
-    shield-size: 10;
-    shield-fill: #fff;
-    shield-placement: line;
-    shield-file: url("symbols/shields/tertiary_[width]x[height].svg");
-    shield-spacing: 750;
-    shield-min-distance: 30;
-    shield-face-name: @bold-fonts;
-    shield-clip: false;
+        [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: 10;
+      text-size: 8;
+
+      [zoom >= 16] {
+        text-size: 9;
+      }
+      [zoom >= 18] {
+        text-size: 10;
+      }
+
       text-fill: #000;
-      text-face-name: @bold-fonts;
-      text-min-distance: 18;
-      text-halo-radius: 1;
+      text-face-name: @book-fonts;
+      text-min-distance: 40;
+      text-halo-radius: 2;
       text-halo-fill: rgba(255,255,255,0.6);
-      text-spacing: 750;
+      text-spacing: 760;
       text-clip: false;
     }
   }
@@ -2359,6 +2762,9 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
     [zoom >= 17] {
       text-size: 11;
     }
+    [zoom >= 19] {
+      text-size: 12;
+    }
   }
   [highway = 'secondary'] {
     [zoom >= 13] {
@@ -2381,6 +2787,9 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
     [zoom >= 17] {
       text-size: 11;
     }
+    [zoom >= 19] {
+      text-size: 12;
+    }
   }
   [highway = 'tertiary'],
   [highway = 'tertiary_link'] {
@@ -2398,6 +2807,9 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
     [zoom >= 17] {
       text-size: 11;
     }
+    [zoom >= 19] {
+      text-size: 12;
+    }
   }
   [highway = 'construction'] {
     [int_construction_minor = 'no'][zoom >= 13],
@@ -2414,6 +2826,9 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
       [zoom >= 17] {
         text-size: 11;
       }
+      [zoom >= 19] {
+        text-size: 12;
+      }
     }
   }
   [highway = 'residential'],
@@ -2437,6 +2852,10 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
       text-size: 11;
       text-spacing: 400;
     }
+    [zoom >= 19] {
+      text-size: 12;
+      text-spacing: 400;
+    }
   }
 
   [highway = 'raceway'],
@@ -2478,6 +2897,9 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
     [zoom >= 17] {
       text-size: 11;
     }
+    [zoom >= 19] {
+      text-size: 12;
+    }
   }
 }
 
@@ -2552,49 +2974,93 @@ tertiary is rendered from z10 and is not included in osm_planet_roads. */
 
 .directions::directions {
   [zoom >= 16] {
-    [oneway = 'yes'] {
-      dira/line-width: 1;
-      dira/line-dasharray: 0,12,10,152;
-      dira/line-color: @oneway-arrow-color;
-      dira/line-join: bevel;
-      dira/line-clip: false;
-      dirb/line-width: 2;
-      dirb/line-dasharray: 0,12,9,153;
-      dirb/line-color: @oneway-arrow-color;
-      dirb/line-join: bevel;
-      dirb/line-clip: false;
-      dirc/line-width: 3;
-      dirc/line-dasharray: 0,18,2,154;
-      dirc/line-color: @oneway-arrow-color;
-      dirc/line-join: bevel;
-      dirc/line-clip: false;
-      dird/line-width: 4;
-      dird/line-dasharray: 0,18,1,155;
-      dird/line-color: @oneway-arrow-color;
-      dird/line-join: bevel;
-      dird/line-clip: false;
-    }
-    [oneway = '-1'] {
-      dira/line-width: 1;
-      dira/line-dasharray: 0,12,10,152;
-      dira/line-color: @oneway-arrow-color;
-      dira/line-join: bevel;
-      dira/line-clip: false;
-      dirb/line-width: 2;
-      dirb/line-dasharray: 0,13,9,152;
-      dirb/line-color: @oneway-arrow-color;
-      dirb/line-join: bevel;
-      dirb/line-clip: false;
-      dirc/line-width: 3;
-      dirc/line-dasharray: 0,14,2,158;
-      dirc/line-color: @oneway-arrow-color;
-      dirc/line-join: bevel;
-      dirc/line-clip: false;
-      dird/line-width: 4;
-      dird/line-dasharray: 0,15,1,158;
-      dird/line-color: @oneway-arrow-color;
-      dird/line-join: bevel;
-      dird/line-clip: false;
+    // 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;
+        }
+      }
     }
   }
 }
diff --git a/scripts/create_shield b/scripts/create_shield
deleted file mode 100755
index 7fc91ad..0000000
--- a/scripts/create_shield
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/bash -e
-
-# A simple script to generate a SVG road shield.
-# Copyright 2014 Paul Norman
-# Released under the Creative Commons CC0 license
-
-# Syntax
-# ./create_shield colour width height xoffset yoffset
-
-# Fixed values
-RADIUS=9
-OUTERLINE=1.5
-WHITELINE=1.5
-
-COLOUR=$1
-WIDTH=$2
-HEIGHT=$3
-XOFFSET=$4
-YOFFSET=$5
-
-
-echo "<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' "\
-"viewBox='0 0 $(bc -q <<< "$WIDTH + $XOFFSET") $(bc -q <<< "$HEIGHT + $YOFFSET")'>"
-
-echo "<rect x='$XOFFSET' y='$YOFFSET' height='$HEIGHT' width='$WIDTH' rx='$RADIUS' fill='$COLOUR'/>"
-
-echo "<rect x='$(bc -q <<< "$XOFFSET + $OUTERLINE")' y='$(bc -q <<< "$YOFFSET + $OUTERLINE")' "\
-"height='$(bc -q <<< "$HEIGHT - 2*$OUTERLINE")' width='$(bc -q <<< "$WIDTH - 2*$OUTERLINE")' "\
-"rx='$(bc -q <<< "$RADIUS - $OUTERLINE")' fill='white'/>"
-
-echo "<rect x='$(bc -q <<< "$XOFFSET + $OUTERLINE + $WHITELINE")' y='$(bc -q <<< "$YOFFSET + $OUTERLINE + $WHITELINE")' "\
-"height='$(bc -q <<< "$HEIGHT - 2*$OUTERLINE - 2*$WHITELINE")' width='$(bc -q <<< "$WIDTH - 2*$OUTERLINE - 2*$WHITELINE")' "\
-"rx='$(bc -q <<< "$RADIUS - $OUTERLINE - $WHITELINE")' fill='$COLOUR'/>"
-echo "</svg>"
diff --git a/scripts/create_standard_shields b/scripts/create_standard_shields
deleted file mode 100755
index be84c50..0000000
--- a/scripts/create_standard_shields
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/bash -e
-
-# A simple script that generates the standard road shields.
-# Run from the same directory as create_shield
-# Copyright 2014 Paul Norman
-# Released under the Creative Commons CC0 license
-
-widths='
-1:18
-2:25.25
-3:32.5
-4:39
-5:46
-6:52.5
-7:59.25
-8:66
-9:70.5
-10:75.75
-11:80.75'
-
-colours='motorway:#7788a1
-trunk:#87ab87
-primary:#bb7b7f
-secondary:#c6ad84
-tertiary:#c4c68f'
-
-
-xoffset=1.25
-yoffset=1.75
-
-heights='
-1:18
-2:30
-3:44
-4:54'
-
-for h in $heights; do
-  for w in $widths; do
-    xchars=$(echo $w | awk -F ":" '{print $1}')
-    xpixels=$(echo $w | awk -F ":" '{print $2}')
-    ychars=$(echo $h | awk -F ":" '{print $1}')
-    ypixels=$(echo $h | awk -F ":" '{print $2}')
-    for shield in $colours; do
-      class=$(echo $shield | awk -F ":" '{print $1}')
-      colour=$(echo $shield | awk -F ":" '{print $2}')
-      ./create_shield $colour $xpixels $ypixels $xoffset $yoffset > "${class}_${xchars}x${ychars}.svg"
-    done;
-  done;
-done;
diff --git a/scripts/generate_road_colours.py b/scripts/generate_road_colours.py
new file mode 100755
index 0000000..3976463
--- /dev/null
+++ b/scripts/generate_road_colours.py
@@ -0,0 +1,122 @@
+#!/usr/bin/env python2
+
+from colormath.color_conversions import convert_color
+from colormath.color_objects import LabColor, LCHabColor, sRGBColor
+from colormath.color_diff import delta_e_cie2000
+import numpy
+
+from collections import OrderedDict, namedtuple
+
+class Color:
+  def __init__(self, lch_tuple):
+    self.m_lch = LCHabColor(*lch_tuple)
+
+  def lch(self):
+    return "Lch({:.0f},{:.0f},{:.0f})".format(*(self.m_lch.get_value_tuple()))
+
+  def rgb(self):
+    rgb = convert_color(self.m_lch, sRGBColor)
+    if (rgb.rgb_r != rgb.clamped_rgb_r or rgb.rgb_g != rgb.clamped_rgb_g or rgb.rgb_b != rgb.clamped_rgb_b):
+      raise Exception("Colour {} is outside sRGB".format(self.lch()))
+    return rgb.get_rgb_hex()
+
+  def rgb_error(self):
+    return delta_e_cie2000(convert_color(self.m_lch, LabColor),
+                           convert_color(sRGBColor.new_from_rgb_hex(self.rgb()), LabColor))
+
+road_classes = ["motorway", "trunk", "primary", "secondary"]
+colour_divisions = len(road_classes) - 1
+hues = OrderedDict()
+
+# The minimum and maximum hue for the road colours
+# Because hue is a circle, it may be needed to add/subtract 360 to the min or
+# max when changing them
+
+min_h = 10
+max_h = 106
+delta_h = (max_h - min_h) / colour_divisions
+
+h = min_h
+for name in road_classes:
+  hues[name] = h
+  h = (h + delta_h) % 360
+
+print hues
+# A class to hold information for each line
+ColourInfo = namedtuple("ColourInfo", ["start_l", "end_l", "start_c", "end_c"])
+
+line_colour_infos = OrderedDict()
+
+# The saturation and lightness for each type of line
+line_colour_infos["fill"] = ColourInfo(start_l = 70, end_l = 97, start_c = 35, end_c = 29)
+line_colour_infos["low-zoom"] = ColourInfo(start_l = 62, end_l = 92, start_c = 50, end_c = 50)
+
+line_colour_infos["casing"] = ColourInfo(start_l = 50, end_l = 50, start_c = 70, end_c = 55)
+line_colour_infos["low-zoom-casing"] = ColourInfo(start_l = 50, end_l = 70, start_c = 50, end_c = 65)
+
+# Colours for the MSS
+colours = OrderedDict()
+
+for line_name, line_colour_info in line_colour_infos.iteritems():
+  c = line_colour_info.start_c
+  delta_c = (line_colour_info.end_c - line_colour_info.start_c) / colour_divisions
+  l = line_colour_info.start_l
+  delta_l = (line_colour_info.end_l - line_colour_info.start_l) / colour_divisions
+
+  for name in road_classes:
+    colours[name + "-" + line_name] = Color((l, c, hues[name]))
+    c += delta_c
+    l += delta_l
+
+for name, colour in colours.iteritems():
+  print "@{name}: {rgb}; // {lch}, error {delta:.1f}".format(name = name, rgb = colour.rgb(), lch = colour.lch(), delta = colour.rgb_error())
+
+# Generate colours for the shields
+shield_colour_info = {}
+shield_colour_info["fill"] = ColourInfo(start_l = 85, end_l = 95, start_c = 12, end_c = 14)
+shield_colour_info["stroke_fill"] = ColourInfo(start_l = 70, end_l = 80, start_c = 22, end_c = 24)
+shield_colour_info["text"] = ColourInfo(start_l = 20, end_l = 25, start_c = 40, end_c = 42)
+shield_colours = OrderedDict()
+
+
+c1 = shield_colour_info["fill"].start_c
+delta_c1 = (shield_colour_info["fill"].end_c - shield_colour_info["fill"].start_c) / colour_divisions
+l1 = shield_colour_info["fill"].start_l
+delta_l1 = (shield_colour_info["fill"].end_l - shield_colour_info["fill"].start_l) / colour_divisions
+
+c2 = shield_colour_info["stroke_fill"].start_c
+delta_c2 = (shield_colour_info["stroke_fill"].end_c - shield_colour_info["stroke_fill"].start_c) / colour_divisions
+l2 = shield_colour_info["stroke_fill"].start_l
+delta_l2 = (shield_colour_info["stroke_fill"].end_l - shield_colour_info["stroke_fill"].start_l) / colour_divisions
+
+c3 = shield_colour_info["text"].start_c
+delta_c3 = (shield_colour_info["text"].end_c - shield_colour_info["text"].start_c) / colour_divisions
+l3 = shield_colour_info["text"].start_l
+delta_l3 = (shield_colour_info["text"].end_l - shield_colour_info["text"].start_l) / colour_divisions
+
+for name in road_classes:
+  shield_colours[name] = {}
+  shield_colours[name]["fill"] = Color((l1, c1, hues[name]))
+  shield_colours[name]["stroke_fill"] = Color((l2, c2, hues[name]))
+  shield_colours[name]["text"] = Color((l3, c3, hues[name]))
+  c1 += delta_c1
+  l1 += delta_l1
+  c2 += delta_c2
+  l2 += delta_l2
+  c3 += delta_c3
+  l3 += delta_l3
+
+shield_colours["tertiary"] = {}
+shield_colours["tertiary"]["fill"] = Color((shield_colour_info["fill"].end_l, 0, 0))
+shield_colours["tertiary"]["stroke_fill"] = Color((shield_colour_info["stroke_fill"].end_l, 0, 0))
+shield_colours["tertiary"]["text"] = Color((shield_colour_info["text"].end_l, 0, 0))
+
+print "\n\nRoad shield information\n\n"
+for name, colour in shield_colours.iteritems():
+  print "@shield-{name}-fill: {rgb}; // {lch}, error {delta:.1f}".format(name = name, rgb = colour["text"].rgb(), lch = colour["text"].lch(), delta = colour["text"].rgb_error())
+
+print "\n"
+for name, colour in shield_colours.iteritems():
+  # note that the two additional blanks at the beginning are intentional
+  print "  config['{name}']['fill'] = '{rgb}' # {lch}, error {delta:.1f}".format(name = name, rgb = colour["fill"].rgb(), lch = colour["fill"].lch(), delta = colour["fill"].rgb_error())
+  print "  config['{name}']['stroke_fill'] = '{rgb}' # {lch}, error {delta:.1f}".format(name = name, rgb = colour["stroke_fill"].rgb(), lch = colour["stroke_fill"].lch(), delta = colour["stroke_fill"].rgb_error())
diff --git a/scripts/generate_shields.py b/scripts/generate_shields.py
new file mode 100755
index 0000000..32c780c
--- /dev/null
+++ b/scripts/generate_shields.py
@@ -0,0 +1,132 @@
+#!/usr/bin/env python
+
+# generate highway shields
+
+from __future__ import print_function
+import copy, lxml.etree, math, os
+
+def main():
+
+  namespace = 'http://www.w3.org/2000/svg'
+  svgns = '{' + namespace + '}'
+  svgnsmap = {None: namespace}
+
+  config = {}
+  config['base'] = {}
+
+  config['base']['rounded_corners'] = 2
+  config['base']['font_height'] = 9.1
+  config['base']['font_width'] = 5.9
+  config['base']['padding_x'] = 4
+  config['base']['padding_y'] = 2
+  config['base']['fill'] = '#ddd'
+  config['base']['stroke_width'] = 1
+  config['base']['stroke_fill'] = '#000'
+
+  config['global'] = {}
+
+  config['global']['types'] = ['motorway', 'trunk', 'primary', 'secondary', 'tertiary']
+  config['global']['max_width'] = 11
+  config['global']['max_height'] = 4
+  config['global']['output_dir'] = '../symbols/shields/' # specified relative to the script location
+
+  config['global']['additional_sizes'] = ['base', 'z16', 'z18']
+
+  # specific values overwrite config['base'] ones
+  config['motorway'] = {}
+  config['trunk'] = {}
+  config['primary'] = {}
+  config['secondary'] = {}
+  config['tertiary'] = {}
+
+  # colour values are generated by generate_road_colours.py
+
+  config['motorway']['fill'] = '#eccdd1' # Lch(85,12,10), error 0.3
+  config['motorway']['stroke_fill'] = '#d39da5' # Lch(70,22,10), error 0.2
+  config['trunk']['fill'] = '#f2d7ce' # Lch(88,12,42), error 1.0
+  config['trunk']['stroke_fill'] = '#d7a899' # Lch(73,22,42), error 0.9
+  config['primary']['fill'] = '#f3e3cf' # Lch(91,12,74), error 1.4
+  config['primary']['stroke_fill'] = '#d1b795' # Lch(76,22,74), error 1.8
+  config['secondary']['fill'] = '#eeefd7' # Lch(94,12,106), error 1.3
+  config['secondary']['stroke_fill'] = '#c4c69c' # Lch(79,22,106), error 1.5
+  config['tertiary']['fill'] = '#f1f1f1' # Lch(95,0,0), error 0.1
+  config['tertiary']['stroke_fill'] = '#c6c6c6' # Lch(80,0,0), error 0.1
+
+  # changes for different size versions
+  config['z16'] = {}
+  config['z18'] = {}
+
+  config['z16']['font_width'] = 6.5
+  config['z16']['font_height'] = 10.1
+  config['z18']['font_width'] = 7.2
+  config['z18']['font_height'] = 11.1
+
+  if not os.path.exists(os.path.dirname(config['global']['output_dir'])):
+    os.makedirs(os.path.dirname(config['global']['output_dir']))
+
+  for height in range(1, config['global']['max_height'] + 1):
+    for width in range(1, config['global']['max_width'] + 1):
+      for shield_type in config['global']['types']:
+
+        # merge base config and specific styles
+        vars = copy.deepcopy(config['base'])
+        if shield_type in config:
+          for option in config[shield_type]:
+            vars[option] = config[shield_type][option]
+
+        for shield_size in config['global']['additional_sizes']:
+
+          if shield_size != 'base':
+            if shield_size in config:
+              for option in config[shield_size]:
+                vars[option] = config[shield_size][option]
+
+          shield_width = 2 * vars['padding_x'] + math.ceil(vars['font_width'] * width)
+          shield_height = 2 * vars['padding_y'] + math.ceil(vars['font_height'] * height)
+
+          svg = lxml.etree.Element('svg', nsmap=svgnsmap)
+          svg.set('width', '100%')
+          svg.set('height', '100%')
+          svg.set('viewBox', '0 0 ' + str(shield_width  + vars['stroke_width']) + ' ' + str(shield_height + vars['stroke_width']))
+
+          if vars['stroke_width'] > 0:
+            offset_x = vars['stroke_width'] / 2.0
+            offset_y = vars['stroke_width'] / 2.0
+          else:
+            offset_x = 0
+            offset_y = 0
+
+          shield = lxml.etree.Element(svgns + 'rect')
+          shield.set('x', str(offset_x))
+          shield.set('y', str(offset_y))
+          shield.set('width', str(shield_width))
+          shield.set('height', str(shield_height))
+          if vars['rounded_corners'] > 0:
+            shield.set('rx', str(vars['rounded_corners']))
+            shield.set('ry', str(vars['rounded_corners']))
+          shield.set('id', 'shield')
+
+          stroke = ''
+          if vars['stroke_width'] > 0:
+            stroke = 'stroke:' + vars['stroke_fill'] + ';stroke-width:' + str(vars['stroke_width']) + ';'
+
+          shield.set('style', 'fill:' + vars['fill'] + ';' + stroke)
+
+          svg.append(shield)
+
+          filename = shield_type + '_' + str(width) + 'x' + str(height)
+          if shield_size != 'base':
+            filename = filename + '_' + shield_size
+
+          filename = filename + '.svg'
+
+          # save file
+          try:
+            shieldfile = open(os.path.join(os.path.dirname(__file__), config['global']['output_dir'] + filename), 'w')
+            shieldfile.write(lxml.etree.tostring(svg, encoding='utf-8', xml_declaration=True, pretty_print=True))
+            shieldfile.close()
+          except IOError:
+            print('Could not save file ' + filename + '.')
+            continue
+
+if __name__ == "__main__": main()
diff --git a/scripts/shop_values.rb b/scripts/shop_values.rb
index 596b76b..46f6c54 100755
--- a/scripts/shop_values.rb
+++ b/scripts/shop_values.rb
@@ -17,6 +17,14 @@ EXCEPTIONS = [
    "other",
    "*",
    "winery", #see discussion in https://github.com/gravitystorm/openstreetmap-carto/pull/1632
+   "antique", #see https://github.com/gravitystorm/openstreetmap-carto/pull/1900
+   "betting", #see https://github.com/gravitystorm/openstreetmap-carto/pull/1900
+   "delicatessen", #see https://github.com/gravitystorm/openstreetmap-carto/pull/1900
+   "dive", #see https://github.com/gravitystorm/openstreetmap-carto/pull/1900
+   "fish", #see https://github.com/gravitystorm/openstreetmap-carto/pull/1900
+   "gambling", #see https://github.com/gravitystorm/openstreetmap-carto/pull/1900
+   "insurance", #see https://github.com/gravitystorm/openstreetmap-carto/pull/1900
+   "pharmacy", #see https://github.com/gravitystorm/openstreetmap-carto/pull/1900
 ]
 
 
diff --git a/scripts/travis_check_project_files b/scripts/travis_check_project_files
index 02e8240..ea451dd 100755
--- a/scripts/travis_check_project_files
+++ b/scripts/travis_check_project_files
@@ -1,5 +1,5 @@
 #/bin/sh
-if json=$(scripts/yaml2mml.py < project.yaml); then
+if json=$(scripts/yaml2mml.py --check); then
   echo -n "${json}" | diff -q project.mml -
   ret=$?
   if [ $ret -ne 0 ]; then
diff --git a/scripts/yaml2mml.py b/scripts/yaml2mml.py
index 8eb3e49..f73c24e 100755
--- a/scripts/yaml2mml.py
+++ b/scripts/yaml2mml.py
@@ -1,3 +1,30 @@
 #!/usr/bin/env python
-import sys, yaml, json
-json.dump(yaml.safe_load(sys.stdin), sys.stdout, indent=2, separators=(',', ': '))
+
+from __future__ import print_function
+import argparse, json, os, sys, yaml
+
+parser = argparse.ArgumentParser(description='Keeps project files in sync by converting project.yaml to project.mml.')
+parser.add_argument('--check', dest='check', help='write generated JSON to stdout instead to project.mml', required=False, action='store_true', default=False)
+args = parser.parse_args()
+
+yaml_path = os.path.join(os.path.dirname(__file__), '../project.yaml')
+mml_path = os.path.join(os.path.dirname(__file__), '../project.mml')
+
+try:
+  yaml_file = open(yaml_path)
+  yaml = yaml.safe_load(yaml_file)
+  yaml_file.close()
+
+  try:
+    if (args.check == False):
+      mml_file = open(mml_path, 'w')
+      json.dump(yaml, mml_file, indent=2, separators=(',', ': '))
+      mml_file.close()
+    else:
+      json.dump(yaml, sys.stdout, indent=2, separators=(',', ': '))
+  except IOError:
+    print('Could not save MML file. Aborting.')
+    sys.exit(1)
+except IOError:
+  print('Could not read YAML file. Aborting.')
+  sys.exit(1)
diff --git a/shapefiles.mss b/shapefiles.mss
index 4edbb72..5b3d1c0 100644
--- a/shapefiles.mss
+++ b/shapefiles.mss
@@ -5,20 +5,6 @@
   }
 }
 
-#nepopulated {
-  [zoom >= 3][zoom < 5] {
-    [SCALERANK = 0],
-    [SCALERANK = 1] {
-      text-name: "[NAME]";
-      text-size: 8;
-      text-fill: grey;
-      text-face-name: @book-fonts;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-    }
-  }
-}
-
 #world {
   [zoom >= 0][zoom < 10] {
     polygon-fill: @land-color;
@@ -34,9 +20,6 @@
 #icesheet-poly {
   [zoom >= 6] {
     polygon-fill: @glacier;
-    [zoom >= 8] {
-      polygon-pattern-file: url('symbols/glacier.png');
-    }
   }
 }
 
@@ -44,9 +27,15 @@
   [zoom >= 6] {
     [ice_edge = 'ice_ocean'],
     [ice_edge = 'ice_land'] {
-      line-dasharray: 4,2;
-      line-width: 0.75;
+      line-width: 0.375;
       line-color: @glacier-line;
+      [zoom >= 8] {
+        line-width: 0.5;
+      }
+      [zoom >= 10] {
+        line-dasharray: 4,2;
+        line-width: 0.75;
+      }
     }
   }
 }
diff --git a/stations.mss b/stations.mss
index 72a263e..f0d2c68 100644
--- a/stations.mss
+++ b/stations.mss
@@ -1,4 +1,5 @@
 @station-color: #7981b0;
+ at station-text: darken(saturate(@station-color, 15%), 10%);
 
 .stations {
   [railway = 'subway_entrance'][zoom >= 18] {
@@ -21,9 +22,9 @@
       text-name: "[name]";
       text-face-name: @bold-fonts;
       text-size: 9;
-      text-fill: #66f;
-      text-dy: -8;
-      text-halo-radius: 1;
+      text-fill: @station-text;
+      text-dy: 8;
+      text-halo-radius: 1.5;
       text-halo-fill: rgba(255,255,255,0.6);
       text-wrap-width: 0;
       text-placement: interior;
@@ -31,12 +32,34 @@
     [zoom >= 15] {
       marker-width: 9;
       text-size: 11;
-      text-dy: -10;
+      text-dy: 10;
+    }
+  }
+
+  [railway = 'halt'] {
+    [zoom >= 13] {
+      marker-file: url('symbols/square.svg');
+      marker-placement: interior;
+      marker-fill: @station-color;
+      marker-width: 4;
+      marker-clip: false;
+      [zoom >= 15] {
+        marker-width: 6;
+      }
+    }
+    [zoom >= 15] {
+      text-name: "[name]";
+      text-face-name: @bold-fonts;
+      text-size: 9;
+      text-fill: @station-text;
+      text-dy: 9;
+      text-halo-radius: 1.5;
+      text-halo-fill: rgba(255,255,255,0.6);
+      text-wrap-width: 0;
+      text-placement: interior;
     }
   }
 
-  [railway = 'halt'],
-  [railway = 'tram_stop'],
   [aerialway = 'station']::aerialway {
     [zoom >= 13] {
       marker-file: url('symbols/square.svg');
@@ -52,16 +75,40 @@
       text-name: "[name]";
       text-face-name: @book-fonts;
       text-size: 8;
-      text-fill: #66f;
-      text-dy: -8;
-      text-halo-radius: 1;
+      text-fill: @station-text;
+      text-dy: 8;
+      text-halo-radius: 1.5;
       text-halo-fill: rgba(255,255,255,0.6);
       text-wrap-width: 0;
       text-placement: interior;
       [zoom >= 15] {
         text-size: 10;
-        text-dy: -10;
+        text-dy: 10;
+      }
+    }
+  }
+
+  [railway = 'tram_stop'] {
+    [zoom >= 13] {
+      marker-file: url('symbols/square.svg');
+      marker-placement: interior;
+      marker-fill: @station-color;
+      marker-width: 4;
+      marker-clip: false;
+      [zoom >= 15] {
+        marker-width: 6;
       }
     }
+    [zoom >= 16] {
+      text-name: "[name]";
+      text-face-name: @book-fonts;
+      text-size: 10;
+      text-fill: @station-text;
+      text-dy: 10;
+      text-halo-radius: 1.5;
+      text-halo-fill: rgba(255,255,255,0.6);
+      text-wrap-width: 0;
+      text-placement: interior;
+    }
   }
 }
diff --git a/symbols/bag-14.svg b/symbols/bag-14.svg
new file mode 100644
index 0000000..9b05c7d
--- /dev/null
+++ b/symbols/bag-14.svg
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="100%"
+   height="100%"
+   viewBox="0 0 14 14"
+   id="svg2">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <rect
+     width="14"
+     height="14"
+     x="0"
+     y="0"
+     id="canvas"
+     style="fill:none;stroke:none;visibility:hidden" />
+  <path
+     d="M 6,1 C 5,1 4,2.0209735 4,3 l 0,1 -0.75,0 0,9 7.5,0 0,-9 L 10,4 10,3 C 10,2 8.9895132,1 8,1 z m 0.5,1.25 1,0 c 0.8599138,0 1.25,0.5994182 1.25,1.25 l 0,0.5 -3.5,0 0,-0.5 C 5.25,2.8707948 5.5557891,2.25 6.5,2.25 z M 2,4 C 0.64345039,4 0,4.6434504 0,6 l 0,5 c 0,1.35655 0.74831793,2 2,2 z m 10,0 0,9 c 1.251682,0 2,-0.748318 2,-2 L 14,6 C 14,4.6853974 13.377523,4 12,4 z"
+     id="luggage"
+     style="fill:#000000;fill-opacity:1;stroke:none" />
+</svg>
diff --git a/symbols/car_share.p.16.png b/symbols/car_share.p.16.png
deleted file mode 100644
index 1dcc537..0000000
Binary files a/symbols/car_share.p.16.png and /dev/null differ
diff --git a/symbols/car_wash-14.svg b/symbols/car_wash-14.svg
new file mode 100644
index 0000000..6703e46
--- /dev/null
+++ b/symbols/car_wash-14.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg2"
+   viewBox="-240 0 0 16"
+   height="14"
+   width="14"
+   version="1.1">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <path
+     d="M 5,2 3,5 2,5 4,2 Z m 4,0 2,3 1,0 -2,-3 z m -2.5,0 1,0 0,3 -1,0 z M 6,0 4,1 10,1 8,0 Z M 4,6 3,9 C 2.527334,9 2,9.3842954 2,10 l 0,3 1,0 c 0,0 0,1 1,1 1,0 1,-1 1,-1 l 4,0 c 0,0 0,1 1,1 1,0 1,-1 1,-1 l 1,0 0,-3 C 12,9.4793944 11.544575,9 11,9 L 10,6 4,6 Z M 5,7 9,7 9.625,9 4.375,9 5,7 Z m -1,3.25 c 0.414214,0 0.75,0.335786 0.75,0.75 0,0.414214 -0.335786,0.75 -0.75,0.75 -0.414214,0 -0.75,-0.335786 -0.75,-0.75 0,-0.414214 0.335786,-0.75 0.75,-0.75 z m 6,0 c 0.414214,0 0.75,0.335786  [...]
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1"
+     id="path4290-2" />
+</svg>
diff --git a/symbols/christian.9.svg b/symbols/christian.9.svg
new file mode 100644
index 0000000..ca1a84f
--- /dev/null
+++ b/symbols/christian.9.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="100%"
+   height="100%"
+   viewBox="0 0 9 9">
+  <path
+     d="M 4.5,1 C 3.9882,1 4,1.5 4,1.5 L 4,3 2,3 2,4 4,4 4,8 5,8 5,4 7,4 7,3 5,3 5,1.5 C 5,1.5 5.0119,1 4.5,1 z"
+     id="path3038" />
+</svg>
diff --git a/symbols/fountain-14.svg b/symbols/fountain-14.svg
new file mode 100644
index 0000000..3bded4f
--- /dev/null
+++ b/symbols/fountain-14.svg
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg2"
+   viewBox="0 0 14 14"
+   height="100%"
+   width="100%"
+   version="1.1">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <rect
+     style="fill:none;stroke:none;visibility:hidden"
+     id="canvas"
+     y="0"
+     x="0"
+     height="14"
+     width="14" />
+  <path
+     d="m 0,11 14,0 C 13,13 9,14 7,14 5,14 1.3014827,13 0,11 Z M 9,0.06093585 c -1,0 -1.6751539,1.03509635 -2.0117188,1.81368585 C 6.6507147,1.058013 6,0.015234 5,0.015234 c -1.500366,0 -2,1.9238302 -2,2.9238302 0,1 1,0.6746464 1,0.030468 1,-2 2,-1.6140036 2.2421875,1.5476678 l 0,0.3496094 C 5.8591901,4.6775997 5.4301952,4.5582155 5,4.5582155 c -1.467057,0 -2.75,1.0324775 -2.75,3 l 0,1 c 0,1 1.5,1 1.5,0 l 0,-1 c 0,-0.9659595 0.683016,-1.5 1.25,-1.5 0.5494724,0 1.2020386,0.5361786 1.24218 [...]
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     id="path4182" />
+</svg>
diff --git a/symbols/generating_patterns/quarry.md b/symbols/generating_patterns/quarry.md
new file mode 100644
index 0000000..cbef9ff
--- /dev/null
+++ b/symbols/generating_patterns/quarry.md
@@ -0,0 +1,19 @@
+Pattern file for quarry is generated in two steps.
+
+SVG file is generated using JSDotPattern generator (http://www.imagico.de/map/jsdotpattern.php) using these options:
+
+- symbol definition: quarry1
+- symbol pattern (foreground color): #E6E6E6
+- point generation
+  - distance: 45
+  - regular triangular dot pattern
+- rendering: render (px aligned)
+- patten size: 512
+
+and then converted to PNG file:
+
+```
+convert quarry.svg quarry.png
+```
+
+Original SVG pattern file (included in this folder) was however made also with scale 0.12 using https://commons.wikimedia.org/wiki/File:Schlaegel_und_Eisen_nach_DIN_21800.svg and then manually converted to PNG.
diff --git a/symbols/generating_patterns/quarry.svg b/symbols/generating_patterns/quarry.svg
new file mode 100644
index 0000000..516a7b5
--- /dev/null
+++ b/symbols/generating_patterns/quarry.svg
@@ -0,0 +1,1523 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   version="1.1"
+   height="512"
+   width="512"
+   id="Svg">
+  <metadata
+     id="metadata602">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs3">
+    <clipPath
+       id="clipPath">
+      <rect
+         id="rect6"
+         height="512"
+         width="512"
+         y="0"
+         x="0" />
+    </clipPath>
+    <g
+       id="gSicowag5yfd"
+       transform="matrix(0.12,0,0,0.12,-6.24,-5.88)">
+      <g
+         style="display:inline"
+         id="layer1">
+        <g
+           transform="translate(2.118644,-1.2711864)"
+           id="Ebene_x0020_1"
+           style="fill:#e6e6e6;fill-opacity:1">
+          <metadata
+             id="CorelCorpID_0Corel-Layer" />
+          <path
+             d="m 83.526,24.3292 5.0006,5.0005 9.8445,19.7439 -19.7439,-9.8445 -4.825,-4.8248 -19.3012,19.9984 31.5273,30.4582 c 0.7699,0.7437 0.818,1.9607 0.1092,2.7628 -1.3648,1.5446 -2.826,3.0058 -4.3705,4.3705 -0.8021,0.7088 -2.0191,0.6608 -2.7628,-0.1091 L 48.6498,60.4652 18.3252,91.8838 c -0.7436,0.7704 -1.961,0.8188 -2.7634,0.1098 -1.5441,-1.3645 -3.005,-2.8251 -4.3693,-4.3692 -0.709,-0.8023 -0.6607,-2.0199 0.1098,-2.7635 L 42.8251,54.4359 21.9463,32.8233 c -3.7644,4.233 -6.9481,8 [...]
+             id="path6"
+             style="fill:#e6e6e6;fill-opacity:1" />
+        </g>
+      </g>
+    </g>
+  </defs>
+  <g
+     clip-path="url(#clipPath)"
+     id="Pattern"
+     style="clip-path: url(#clipPath);">
+    <use
+       id="use14"
+       y="11"
+       x="16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use16"
+       y="11"
+       x="528"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use18"
+       y="523"
+       x="528"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use20"
+       y="523"
+       x="16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use22"
+       y="523"
+       x="528"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use24"
+       y="34"
+       x="48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use26"
+       y="34"
+       x="560"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use28"
+       y="546"
+       x="560"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use30"
+       y="546"
+       x="48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use32"
+       y="546"
+       x="560"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use34"
+       y="11"
+       x="80"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use36"
+       y="523"
+       x="80"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use38"
+       y="34"
+       x="112"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use40"
+       y="546"
+       x="112"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use42"
+       y="11"
+       x="144"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use44"
+       y="523"
+       x="144"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use46"
+       y="34"
+       x="176"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use48"
+       y="546"
+       x="176"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use50"
+       y="11"
+       x="208"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use52"
+       y="523"
+       x="208"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use54"
+       y="34"
+       x="240"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use56"
+       y="546"
+       x="240"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use58"
+       y="11"
+       x="272"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use60"
+       y="523"
+       x="272"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use62"
+       y="34"
+       x="304"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use64"
+       y="546"
+       x="304"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use66"
+       y="11"
+       x="336"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use68"
+       y="523"
+       x="336"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use70"
+       y="34"
+       x="368"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use72"
+       y="546"
+       x="368"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use74"
+       y="11"
+       x="400"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use76"
+       y="523"
+       x="400"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use78"
+       y="34"
+       x="432"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use80"
+       y="546"
+       x="432"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use82"
+       y="11"
+       x="464"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use84"
+       y="11"
+       x="-48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use86"
+       y="523"
+       x="-48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use88"
+       y="523"
+       x="464"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use90"
+       y="523"
+       x="-48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use92"
+       y="34"
+       x="496"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use94"
+       y="34"
+       x="-16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use96"
+       y="546"
+       x="-16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use98"
+       y="546"
+       x="496"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use100"
+       y="546"
+       x="-16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use102"
+       y="58"
+       x="16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use104"
+       y="58"
+       x="528"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use106"
+       y="570"
+       x="528"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use108"
+       y="570"
+       x="16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use110"
+       y="570"
+       x="528"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use112"
+       y="81"
+       x="48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use114"
+       y="81"
+       x="560"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use116"
+       y="58"
+       x="80"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use118"
+       y="570"
+       x="80"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use120"
+       y="81"
+       x="112"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use122"
+       y="58"
+       x="144"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use124"
+       y="570"
+       x="144"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use126"
+       y="81"
+       x="176"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use128"
+       y="58"
+       x="208"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use130"
+       y="570"
+       x="208"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use132"
+       y="81"
+       x="240"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use134"
+       y="58"
+       x="272"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use136"
+       y="570"
+       x="272"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use138"
+       y="81"
+       x="304"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use140"
+       y="58"
+       x="336"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use142"
+       y="570"
+       x="336"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use144"
+       y="81"
+       x="368"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use146"
+       y="58"
+       x="400"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use148"
+       y="570"
+       x="400"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use150"
+       y="81"
+       x="432"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use152"
+       y="58"
+       x="464"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use154"
+       y="58"
+       x="-48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use156"
+       y="570"
+       x="-48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use158"
+       y="570"
+       x="464"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use160"
+       y="570"
+       x="-48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use162"
+       y="81"
+       x="496"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use164"
+       y="81"
+       x="-16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use166"
+       y="104"
+       x="16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use168"
+       y="104"
+       x="528"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use170"
+       y="128"
+       x="48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use172"
+       y="128"
+       x="560"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use174"
+       y="104"
+       x="80"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use176"
+       y="128"
+       x="112"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use178"
+       y="104"
+       x="144"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use180"
+       y="128"
+       x="176"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use182"
+       y="104"
+       x="208"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use184"
+       y="128"
+       x="240"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use186"
+       y="104"
+       x="272"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use188"
+       y="128"
+       x="304"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use190"
+       y="104"
+       x="336"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use192"
+       y="128"
+       x="368"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use194"
+       y="104"
+       x="400"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use196"
+       y="128"
+       x="432"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use198"
+       y="104"
+       x="464"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use200"
+       y="104"
+       x="-48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use202"
+       y="128"
+       x="496"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use204"
+       y="128"
+       x="-16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use206"
+       y="151"
+       x="16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use208"
+       y="151"
+       x="528"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use210"
+       y="174"
+       x="48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use212"
+       y="174"
+       x="560"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use214"
+       y="151"
+       x="80"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use216"
+       y="174"
+       x="112"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use218"
+       y="151"
+       x="144"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use220"
+       y="174"
+       x="176"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use222"
+       y="151"
+       x="208"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use224"
+       y="174"
+       x="240"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use226"
+       y="151"
+       x="272"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use228"
+       y="174"
+       x="304"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use230"
+       y="151"
+       x="336"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use232"
+       y="174"
+       x="368"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use234"
+       y="151"
+       x="400"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use236"
+       y="174"
+       x="432"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use238"
+       y="151"
+       x="464"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use240"
+       y="151"
+       x="-48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use242"
+       y="174"
+       x="496"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use244"
+       y="174"
+       x="-16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use246"
+       y="197"
+       x="16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use248"
+       y="197"
+       x="528"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use250"
+       y="221"
+       x="48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use252"
+       y="221"
+       x="560"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use254"
+       y="197"
+       x="80"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use256"
+       y="221"
+       x="112"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use258"
+       y="197"
+       x="144"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use260"
+       y="221"
+       x="176"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use262"
+       y="197"
+       x="208"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use264"
+       y="221"
+       x="240"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use266"
+       y="197"
+       x="272"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use268"
+       y="221"
+       x="304"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use270"
+       y="197"
+       x="336"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use272"
+       y="221"
+       x="368"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use274"
+       y="197"
+       x="400"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use276"
+       y="221"
+       x="432"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use278"
+       y="197"
+       x="464"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use280"
+       y="197"
+       x="-48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use282"
+       y="221"
+       x="496"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use284"
+       y="221"
+       x="-16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use286"
+       y="244"
+       x="16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use288"
+       y="244"
+       x="528"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use290"
+       y="267"
+       x="48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use292"
+       y="267"
+       x="560"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use294"
+       y="244"
+       x="80"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use296"
+       y="267"
+       x="112"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use298"
+       y="244"
+       x="144"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use300"
+       y="267"
+       x="176"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use302"
+       y="244"
+       x="208"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use304"
+       y="267"
+       x="240"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use306"
+       y="244"
+       x="272"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use308"
+       y="267"
+       x="304"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use310"
+       y="244"
+       x="336"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use312"
+       y="267"
+       x="368"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use314"
+       y="244"
+       x="400"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use316"
+       y="267"
+       x="432"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use318"
+       y="244"
+       x="464"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use320"
+       y="244"
+       x="-48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use322"
+       y="267"
+       x="496"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use324"
+       y="267"
+       x="-16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use326"
+       y="290"
+       x="16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use328"
+       y="290"
+       x="528"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use330"
+       y="314"
+       x="48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use332"
+       y="314"
+       x="560"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use334"
+       y="290"
+       x="80"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use336"
+       y="314"
+       x="112"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use338"
+       y="290"
+       x="144"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use340"
+       y="314"
+       x="176"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use342"
+       y="290"
+       x="208"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use344"
+       y="314"
+       x="240"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use346"
+       y="290"
+       x="272"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use348"
+       y="314"
+       x="304"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use350"
+       y="290"
+       x="336"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use352"
+       y="314"
+       x="368"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use354"
+       y="290"
+       x="400"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use356"
+       y="314"
+       x="432"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use358"
+       y="290"
+       x="464"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use360"
+       y="290"
+       x="-48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use362"
+       y="314"
+       x="496"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use364"
+       y="314"
+       x="-16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use366"
+       y="337"
+       x="16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use368"
+       y="337"
+       x="528"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use370"
+       y="360"
+       x="48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use372"
+       y="360"
+       x="560"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use374"
+       y="337"
+       x="80"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use376"
+       y="360"
+       x="112"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use378"
+       y="337"
+       x="144"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use380"
+       y="360"
+       x="176"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use382"
+       y="337"
+       x="208"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use384"
+       y="360"
+       x="240"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use386"
+       y="337"
+       x="272"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use388"
+       y="360"
+       x="304"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use390"
+       y="337"
+       x="336"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use392"
+       y="360"
+       x="368"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use394"
+       y="337"
+       x="400"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use396"
+       y="360"
+       x="432"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use398"
+       y="337"
+       x="464"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use400"
+       y="337"
+       x="-48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use402"
+       y="360"
+       x="496"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use404"
+       y="360"
+       x="-16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use406"
+       y="384"
+       x="16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use408"
+       y="384"
+       x="528"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use410"
+       y="407"
+       x="48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use412"
+       y="407"
+       x="560"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use414"
+       y="384"
+       x="80"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use416"
+       y="407"
+       x="112"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use418"
+       y="384"
+       x="144"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use420"
+       y="407"
+       x="176"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use422"
+       y="384"
+       x="208"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use424"
+       y="407"
+       x="240"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use426"
+       y="384"
+       x="272"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use428"
+       y="407"
+       x="304"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use430"
+       y="384"
+       x="336"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use432"
+       y="407"
+       x="368"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use434"
+       y="384"
+       x="400"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use436"
+       y="407"
+       x="432"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use438"
+       y="384"
+       x="464"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use440"
+       y="384"
+       x="-48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use442"
+       y="407"
+       x="496"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use444"
+       y="407"
+       x="-16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use446"
+       y="430"
+       x="16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use448"
+       y="430"
+       x="528"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use450"
+       y="453"
+       x="48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use452"
+       y="453"
+       x="560"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use454"
+       y="-59"
+       x="560"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use456"
+       y="-59"
+       x="48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use458"
+       y="-59"
+       x="560"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use460"
+       y="430"
+       x="80"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use462"
+       y="453"
+       x="112"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use464"
+       y="-59"
+       x="112"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use466"
+       y="430"
+       x="144"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use468"
+       y="453"
+       x="176"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use470"
+       y="-59"
+       x="176"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use472"
+       y="430"
+       x="208"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use474"
+       y="453"
+       x="240"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use476"
+       y="-59"
+       x="240"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use478"
+       y="430"
+       x="272"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use480"
+       y="453"
+       x="304"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use482"
+       y="-59"
+       x="304"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use484"
+       y="430"
+       x="336"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use486"
+       y="453"
+       x="368"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use488"
+       y="-59"
+       x="368"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use490"
+       y="430"
+       x="400"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use492"
+       y="453"
+       x="432"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use494"
+       y="-59"
+       x="432"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use496"
+       y="430"
+       x="464"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use498"
+       y="430"
+       x="-48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use500"
+       y="453"
+       x="496"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use502"
+       y="453"
+       x="-16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use504"
+       y="-59"
+       x="-16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use506"
+       y="-59"
+       x="496"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use508"
+       y="-59"
+       x="-16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use510"
+       y="477"
+       x="16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use512"
+       y="477"
+       x="528"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use514"
+       y="-35"
+       x="528"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use516"
+       y="-35"
+       x="16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use518"
+       y="-35"
+       x="528"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use520"
+       y="500"
+       x="48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use522"
+       y="500"
+       x="560"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use524"
+       y="-12"
+       x="560"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use526"
+       y="-12"
+       x="48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use528"
+       y="-12"
+       x="560"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use530"
+       y="477"
+       x="80"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use532"
+       y="-35"
+       x="80"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use534"
+       y="500"
+       x="112"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use536"
+       y="-12"
+       x="112"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use538"
+       y="477"
+       x="144"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use540"
+       y="-35"
+       x="144"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use542"
+       y="500"
+       x="176"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use544"
+       y="-12"
+       x="176"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use546"
+       y="477"
+       x="208"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use548"
+       y="-35"
+       x="208"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use550"
+       y="500"
+       x="240"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use552"
+       y="-12"
+       x="240"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use554"
+       y="477"
+       x="272"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use556"
+       y="-35"
+       x="272"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use558"
+       y="500"
+       x="304"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use560"
+       y="-12"
+       x="304"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use562"
+       y="477"
+       x="336"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use564"
+       y="-35"
+       x="336"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use566"
+       y="500"
+       x="368"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use568"
+       y="-12"
+       x="368"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use570"
+       y="477"
+       x="400"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use572"
+       y="-35"
+       x="400"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use574"
+       y="500"
+       x="432"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use576"
+       y="-12"
+       x="432"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use578"
+       y="477"
+       x="464"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use580"
+       y="477"
+       x="-48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use582"
+       y="-35"
+       x="-48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use584"
+       y="-35"
+       x="464"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use586"
+       y="-35"
+       x="-48"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use588"
+       y="500"
+       x="496"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use590"
+       y="500"
+       x="-16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use592"
+       y="-12"
+       x="-16"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use594"
+       y="-12"
+       x="496"
+       xlink:href="#gSicowag5yfd" />
+    <use
+       id="use596"
+       y="-12"
+       x="-16"
+       xlink:href="#gSicowag5yfd" />
+  </g>
+  <desc
+     id="desc598">Created with Snap</desc>
+</svg>
diff --git a/symbols/glacier.png b/symbols/glacier.png
deleted file mode 100644
index 121e891..0000000
Binary files a/symbols/glacier.png and /dev/null differ
diff --git a/symbols/oneway-reverse.svg b/symbols/oneway-reverse.svg
new file mode 100644
index 0000000..7838527
--- /dev/null
+++ b/symbols/oneway-reverse.svg
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="12"
+   height="5"
+   id="svg2">
+  <defs
+     id="defs4" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <path
+     d="M 12,3 5,3 5,5 0,2.5 5,0 5,2 12,2 z"
+     id="oneway"
+     style="fill:#000000;fill-opacity:1;stroke:none" />
+</svg>
diff --git a/symbols/oneway.svg b/symbols/oneway.svg
new file mode 100644
index 0000000..1a37cca
--- /dev/null
+++ b/symbols/oneway.svg
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="12"
+   height="5"
+   id="svg2">
+  <defs
+     id="defs4" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <path
+     d="M 0,2 7,2 7,0 12,2.5 7,5 7,3 0,3 z"
+     id="oneway"
+     style="fill:#000000;fill-opacity:1;stroke:none" />
+</svg>
diff --git a/symbols/outdoor-14.svg b/symbols/outdoor-14.svg
new file mode 100644
index 0000000..37af74a
--- /dev/null
+++ b/symbols/outdoor-14.svg
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg2"
+   viewBox="0 0 14 14"
+   height="100%"
+   width="100%"
+   version="1.1">
+  <defs
+     id="defs3053" />
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <rect
+     style="fill:none;stroke:none;visibility:hidden"
+     id="canvas"
+     y="0"
+     x="0"
+     height="14"
+     width="14" />
+  <path
+     id="path4166"
+     d="M 5.5 1.015625 A 1.5 1.5 0 0 0 4 2.515625 A 1.5 1.5 0 0 0 5.5 4.015625 A 1.5 1.5 0 0 0 7 2.515625 A 1.5 1.5 0 0 0 5.5 1.015625 z M 10 2 L 8 3 L 11 9 L 13 8 L 10 2 z M 8 4 L 6 5 L 6.2949219 6.4707031 L 4 8 L 1 7 L 1 8 L 4 10 L 6.6464844 8.234375 L 7 10 L 10 9 L 8 4 z M 1 9 L 1 14 L 2 14 L 2 9 L 1 9 z M 10 10 L 7 11 L 5 14 L 6.8339844 14 L 8.3652344 12 L 9 14 L 11 14 L 10 10 z "
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1" />
+</svg>
diff --git a/symbols/shields/motorway_10x1.svg b/symbols/shields/motorway_10x1.svg
index 7298065..b409587 100644
--- a/symbols/shields/motorway_10x1.svg
+++ b/symbols/shields/motorway_10x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 77.00 19.75'>
-<rect x='1.25' y='1.75' height='18' width='75.75' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='15.0' width='72.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='69.75' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 15.0">
+  <rect x="0.5" y="0.5" width="67.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_10x1_z16.svg b/symbols/shields/motorway_10x1_z16.svg
new file mode 100644
index 0000000..931fa57
--- /dev/null
+++ b/symbols/shields/motorway_10x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 16.0">
+  <rect x="0.5" y="0.5" width="73.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_10x1_z18.svg b/symbols/shields/motorway_10x1_z18.svg
new file mode 100644
index 0000000..c0f1d36
--- /dev/null
+++ b/symbols/shields/motorway_10x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 17.0">
+  <rect x="0.5" y="0.5" width="80.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_10x2.svg b/symbols/shields/motorway_10x2.svg
index 14861c4..ea4f621 100644
--- a/symbols/shields/motorway_10x2.svg
+++ b/symbols/shields/motorway_10x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 77.00 31.75'>
-<rect x='1.25' y='1.75' height='30' width='75.75' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='27.0' width='72.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='69.75' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 24.0">
+  <rect x="0.5" y="0.5" width="67.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_10x2_z16.svg b/symbols/shields/motorway_10x2_z16.svg
new file mode 100644
index 0000000..8334e04
--- /dev/null
+++ b/symbols/shields/motorway_10x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 26.0">
+  <rect x="0.5" y="0.5" width="73.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_10x2_z18.svg b/symbols/shields/motorway_10x2_z18.svg
new file mode 100644
index 0000000..dbef6a8
--- /dev/null
+++ b/symbols/shields/motorway_10x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 28.0">
+  <rect x="0.5" y="0.5" width="80.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_10x3.svg b/symbols/shields/motorway_10x3.svg
index 28fcf9e..27f9cea 100644
--- a/symbols/shields/motorway_10x3.svg
+++ b/symbols/shields/motorway_10x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 77.00 45.75'>
-<rect x='1.25' y='1.75' height='44' width='75.75' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='41.0' width='72.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='69.75' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 33.0">
+  <rect x="0.5" y="0.5" width="67.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_10x3_z16.svg b/symbols/shields/motorway_10x3_z16.svg
new file mode 100644
index 0000000..24a96a9
--- /dev/null
+++ b/symbols/shields/motorway_10x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 36.0">
+  <rect x="0.5" y="0.5" width="73.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_10x3_z18.svg b/symbols/shields/motorway_10x3_z18.svg
new file mode 100644
index 0000000..89bc211
--- /dev/null
+++ b/symbols/shields/motorway_10x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 39.0">
+  <rect x="0.5" y="0.5" width="80.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_10x4.svg b/symbols/shields/motorway_10x4.svg
index 8432563..e02ab5d 100644
--- a/symbols/shields/motorway_10x4.svg
+++ b/symbols/shields/motorway_10x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 77.00 55.75'>
-<rect x='1.25' y='1.75' height='54' width='75.75' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='51.0' width='72.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='69.75' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 42.0">
+  <rect x="0.5" y="0.5" width="67.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_10x4_z16.svg b/symbols/shields/motorway_10x4_z16.svg
new file mode 100644
index 0000000..529b29a
--- /dev/null
+++ b/symbols/shields/motorway_10x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 46.0">
+  <rect x="0.5" y="0.5" width="73.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_10x4_z18.svg b/symbols/shields/motorway_10x4_z18.svg
new file mode 100644
index 0000000..19f6a54
--- /dev/null
+++ b/symbols/shields/motorway_10x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 50.0">
+  <rect x="0.5" y="0.5" width="80.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_11x1.svg b/symbols/shields/motorway_11x1.svg
index 98115cf..dc1ea53 100644
--- a/symbols/shields/motorway_11x1.svg
+++ b/symbols/shields/motorway_11x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 82.00 19.75'>
-<rect x='1.25' y='1.75' height='18' width='80.75' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='15.0' width='77.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='74.75' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 15.0">
+  <rect x="0.5" y="0.5" width="73.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_11x1_z16.svg b/symbols/shields/motorway_11x1_z16.svg
new file mode 100644
index 0000000..6ff4a9e
--- /dev/null
+++ b/symbols/shields/motorway_11x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 16.0">
+  <rect x="0.5" y="0.5" width="80.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_11x1_z18.svg b/symbols/shields/motorway_11x1_z18.svg
new file mode 100644
index 0000000..2476b09
--- /dev/null
+++ b/symbols/shields/motorway_11x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 89.0 17.0">
+  <rect x="0.5" y="0.5" width="88.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_11x2.svg b/symbols/shields/motorway_11x2.svg
index d144522..fe0b236 100644
--- a/symbols/shields/motorway_11x2.svg
+++ b/symbols/shields/motorway_11x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 82.00 31.75'>
-<rect x='1.25' y='1.75' height='30' width='80.75' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='27.0' width='77.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='74.75' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 24.0">
+  <rect x="0.5" y="0.5" width="73.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_11x2_z16.svg b/symbols/shields/motorway_11x2_z16.svg
new file mode 100644
index 0000000..2e6b5ed
--- /dev/null
+++ b/symbols/shields/motorway_11x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 26.0">
+  <rect x="0.5" y="0.5" width="80.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_11x2_z18.svg b/symbols/shields/motorway_11x2_z18.svg
new file mode 100644
index 0000000..7a14467
--- /dev/null
+++ b/symbols/shields/motorway_11x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 89.0 28.0">
+  <rect x="0.5" y="0.5" width="88.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_11x3.svg b/symbols/shields/motorway_11x3.svg
index 0ce904a..c7ce5c5 100644
--- a/symbols/shields/motorway_11x3.svg
+++ b/symbols/shields/motorway_11x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 82.00 45.75'>
-<rect x='1.25' y='1.75' height='44' width='80.75' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='41.0' width='77.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='74.75' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 33.0">
+  <rect x="0.5" y="0.5" width="73.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_11x3_z16.svg b/symbols/shields/motorway_11x3_z16.svg
new file mode 100644
index 0000000..ec1f5b8
--- /dev/null
+++ b/symbols/shields/motorway_11x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 36.0">
+  <rect x="0.5" y="0.5" width="80.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_11x3_z18.svg b/symbols/shields/motorway_11x3_z18.svg
new file mode 100644
index 0000000..aedcd2e
--- /dev/null
+++ b/symbols/shields/motorway_11x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 89.0 39.0">
+  <rect x="0.5" y="0.5" width="88.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_11x4.svg b/symbols/shields/motorway_11x4.svg
index 89e1849..3dc3139 100644
--- a/symbols/shields/motorway_11x4.svg
+++ b/symbols/shields/motorway_11x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 82.00 55.75'>
-<rect x='1.25' y='1.75' height='54' width='80.75' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='51.0' width='77.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='74.75' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 42.0">
+  <rect x="0.5" y="0.5" width="73.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_11x4_z16.svg b/symbols/shields/motorway_11x4_z16.svg
new file mode 100644
index 0000000..3a5f56e
--- /dev/null
+++ b/symbols/shields/motorway_11x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 46.0">
+  <rect x="0.5" y="0.5" width="80.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_11x4_z18.svg b/symbols/shields/motorway_11x4_z18.svg
new file mode 100644
index 0000000..4869ebe
--- /dev/null
+++ b/symbols/shields/motorway_11x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 89.0 50.0">
+  <rect x="0.5" y="0.5" width="88.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_1x1.svg b/symbols/shields/motorway_1x1.svg
index 52b0f77..d353b58 100644
--- a/symbols/shields/motorway_1x1.svg
+++ b/symbols/shields/motorway_1x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 19.25 19.75'>
-<rect x='1.25' y='1.75' height='18' width='18' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='15.0' width='15.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='12.0' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 15.0 15.0">
+  <rect x="0.5" y="0.5" width="14.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_1x1_z16.svg b/symbols/shields/motorway_1x1_z16.svg
new file mode 100644
index 0000000..367bd81
--- /dev/null
+++ b/symbols/shields/motorway_1x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16.0 16.0">
+  <rect x="0.5" y="0.5" width="15.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_1x1_z18.svg b/symbols/shields/motorway_1x1_z18.svg
new file mode 100644
index 0000000..69ae6fa
--- /dev/null
+++ b/symbols/shields/motorway_1x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 17.0 17.0">
+  <rect x="0.5" y="0.5" width="16.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_1x2.svg b/symbols/shields/motorway_1x2.svg
index c5a54e4..0aeb147 100644
--- a/symbols/shields/motorway_1x2.svg
+++ b/symbols/shields/motorway_1x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 19.25 31.75'>
-<rect x='1.25' y='1.75' height='30' width='18' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='27.0' width='15.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='12.0' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 15.0 24.0">
+  <rect x="0.5" y="0.5" width="14.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_1x2_z16.svg b/symbols/shields/motorway_1x2_z16.svg
new file mode 100644
index 0000000..fd7ac73
--- /dev/null
+++ b/symbols/shields/motorway_1x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16.0 26.0">
+  <rect x="0.5" y="0.5" width="15.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_1x2_z18.svg b/symbols/shields/motorway_1x2_z18.svg
new file mode 100644
index 0000000..58b4096
--- /dev/null
+++ b/symbols/shields/motorway_1x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 17.0 28.0">
+  <rect x="0.5" y="0.5" width="16.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_1x3.svg b/symbols/shields/motorway_1x3.svg
index 1f27cdd..8809675 100644
--- a/symbols/shields/motorway_1x3.svg
+++ b/symbols/shields/motorway_1x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 19.25 45.75'>
-<rect x='1.25' y='1.75' height='44' width='18' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='41.0' width='15.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='12.0' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 15.0 33.0">
+  <rect x="0.5" y="0.5" width="14.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_1x3_z16.svg b/symbols/shields/motorway_1x3_z16.svg
new file mode 100644
index 0000000..0b0e150
--- /dev/null
+++ b/symbols/shields/motorway_1x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16.0 36.0">
+  <rect x="0.5" y="0.5" width="15.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_1x3_z18.svg b/symbols/shields/motorway_1x3_z18.svg
new file mode 100644
index 0000000..c3f231c
--- /dev/null
+++ b/symbols/shields/motorway_1x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 17.0 39.0">
+  <rect x="0.5" y="0.5" width="16.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_1x4.svg b/symbols/shields/motorway_1x4.svg
index b25e005..0547a32 100644
--- a/symbols/shields/motorway_1x4.svg
+++ b/symbols/shields/motorway_1x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 19.25 55.75'>
-<rect x='1.25' y='1.75' height='54' width='18' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='51.0' width='15.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='12.0' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 15.0 42.0">
+  <rect x="0.5" y="0.5" width="14.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_1x4_z16.svg b/symbols/shields/motorway_1x4_z16.svg
new file mode 100644
index 0000000..4389d7a
--- /dev/null
+++ b/symbols/shields/motorway_1x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16.0 46.0">
+  <rect x="0.5" y="0.5" width="15.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_1x4_z18.svg b/symbols/shields/motorway_1x4_z18.svg
new file mode 100644
index 0000000..1fd2618
--- /dev/null
+++ b/symbols/shields/motorway_1x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 17.0 50.0">
+  <rect x="0.5" y="0.5" width="16.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_2x1.svg b/symbols/shields/motorway_2x1.svg
index 4377bf0..39dc3b3 100644
--- a/symbols/shields/motorway_2x1.svg
+++ b/symbols/shields/motorway_2x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 26.50 19.75'>
-<rect x='1.25' y='1.75' height='18' width='25.25' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='15.0' width='22.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='19.25' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 21.0 15.0">
+  <rect x="0.5" y="0.5" width="20.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_2x1_z16.svg b/symbols/shields/motorway_2x1_z16.svg
new file mode 100644
index 0000000..cdc70d4
--- /dev/null
+++ b/symbols/shields/motorway_2x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22.0 16.0">
+  <rect x="0.5" y="0.5" width="21.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_2x1_z18.svg b/symbols/shields/motorway_2x1_z18.svg
new file mode 100644
index 0000000..3fc1360
--- /dev/null
+++ b/symbols/shields/motorway_2x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24.0 17.0">
+  <rect x="0.5" y="0.5" width="23.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_2x2.svg b/symbols/shields/motorway_2x2.svg
index bc932a6..27237f5 100644
--- a/symbols/shields/motorway_2x2.svg
+++ b/symbols/shields/motorway_2x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 26.50 31.75'>
-<rect x='1.25' y='1.75' height='30' width='25.25' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='27.0' width='22.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='19.25' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 21.0 24.0">
+  <rect x="0.5" y="0.5" width="20.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_2x2_z16.svg b/symbols/shields/motorway_2x2_z16.svg
new file mode 100644
index 0000000..1ad7977
--- /dev/null
+++ b/symbols/shields/motorway_2x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22.0 26.0">
+  <rect x="0.5" y="0.5" width="21.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_2x2_z18.svg b/symbols/shields/motorway_2x2_z18.svg
new file mode 100644
index 0000000..6b57791
--- /dev/null
+++ b/symbols/shields/motorway_2x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24.0 28.0">
+  <rect x="0.5" y="0.5" width="23.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_2x3.svg b/symbols/shields/motorway_2x3.svg
index 259359c..8217fc6 100644
--- a/symbols/shields/motorway_2x3.svg
+++ b/symbols/shields/motorway_2x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 26.50 45.75'>
-<rect x='1.25' y='1.75' height='44' width='25.25' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='41.0' width='22.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='19.25' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 21.0 33.0">
+  <rect x="0.5" y="0.5" width="20.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_2x3_z16.svg b/symbols/shields/motorway_2x3_z16.svg
new file mode 100644
index 0000000..7d4af4a
--- /dev/null
+++ b/symbols/shields/motorway_2x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22.0 36.0">
+  <rect x="0.5" y="0.5" width="21.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_2x3_z18.svg b/symbols/shields/motorway_2x3_z18.svg
new file mode 100644
index 0000000..c79560e
--- /dev/null
+++ b/symbols/shields/motorway_2x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24.0 39.0">
+  <rect x="0.5" y="0.5" width="23.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_2x4.svg b/symbols/shields/motorway_2x4.svg
index 13aa6c3..26cbe7c 100644
--- a/symbols/shields/motorway_2x4.svg
+++ b/symbols/shields/motorway_2x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 26.50 55.75'>
-<rect x='1.25' y='1.75' height='54' width='25.25' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='51.0' width='22.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='19.25' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 21.0 42.0">
+  <rect x="0.5" y="0.5" width="20.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_2x4_z16.svg b/symbols/shields/motorway_2x4_z16.svg
new file mode 100644
index 0000000..497387c
--- /dev/null
+++ b/symbols/shields/motorway_2x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22.0 46.0">
+  <rect x="0.5" y="0.5" width="21.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_2x4_z18.svg b/symbols/shields/motorway_2x4_z18.svg
new file mode 100644
index 0000000..49fee9a
--- /dev/null
+++ b/symbols/shields/motorway_2x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24.0 50.0">
+  <rect x="0.5" y="0.5" width="23.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_3x1.svg b/symbols/shields/motorway_3x1.svg
index f005d07..71bc898 100644
--- a/symbols/shields/motorway_3x1.svg
+++ b/symbols/shields/motorway_3x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 33.75 19.75'>
-<rect x='1.25' y='1.75' height='18' width='32.5' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='15.0' width='29.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='26.5' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 27.0 15.0">
+  <rect x="0.5" y="0.5" width="26.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_3x1_z16.svg b/symbols/shields/motorway_3x1_z16.svg
new file mode 100644
index 0000000..22de057
--- /dev/null
+++ b/symbols/shields/motorway_3x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 29.0 16.0">
+  <rect x="0.5" y="0.5" width="28.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_3x1_z18.svg b/symbols/shields/motorway_3x1_z18.svg
new file mode 100644
index 0000000..283a931
--- /dev/null
+++ b/symbols/shields/motorway_3x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 31.0 17.0">
+  <rect x="0.5" y="0.5" width="30.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_3x2.svg b/symbols/shields/motorway_3x2.svg
index 35e7fc6..6647171 100644
--- a/symbols/shields/motorway_3x2.svg
+++ b/symbols/shields/motorway_3x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 33.75 31.75'>
-<rect x='1.25' y='1.75' height='30' width='32.5' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='27.0' width='29.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='26.5' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 27.0 24.0">
+  <rect x="0.5" y="0.5" width="26.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_3x2_z16.svg b/symbols/shields/motorway_3x2_z16.svg
new file mode 100644
index 0000000..09feec4
--- /dev/null
+++ b/symbols/shields/motorway_3x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 29.0 26.0">
+  <rect x="0.5" y="0.5" width="28.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_3x2_z18.svg b/symbols/shields/motorway_3x2_z18.svg
new file mode 100644
index 0000000..4e24f6e
--- /dev/null
+++ b/symbols/shields/motorway_3x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 31.0 28.0">
+  <rect x="0.5" y="0.5" width="30.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_3x3.svg b/symbols/shields/motorway_3x3.svg
index e3e706d..6654f24 100644
--- a/symbols/shields/motorway_3x3.svg
+++ b/symbols/shields/motorway_3x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 33.75 45.75'>
-<rect x='1.25' y='1.75' height='44' width='32.5' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='41.0' width='29.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='26.5' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 27.0 33.0">
+  <rect x="0.5" y="0.5" width="26.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_3x3_z16.svg b/symbols/shields/motorway_3x3_z16.svg
new file mode 100644
index 0000000..279f1f8
--- /dev/null
+++ b/symbols/shields/motorway_3x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 29.0 36.0">
+  <rect x="0.5" y="0.5" width="28.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_3x3_z18.svg b/symbols/shields/motorway_3x3_z18.svg
new file mode 100644
index 0000000..90db21d
--- /dev/null
+++ b/symbols/shields/motorway_3x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 31.0 39.0">
+  <rect x="0.5" y="0.5" width="30.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_3x4.svg b/symbols/shields/motorway_3x4.svg
index cbe8e31..4b638fa 100644
--- a/symbols/shields/motorway_3x4.svg
+++ b/symbols/shields/motorway_3x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 33.75 55.75'>
-<rect x='1.25' y='1.75' height='54' width='32.5' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='51.0' width='29.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='26.5' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 27.0 42.0">
+  <rect x="0.5" y="0.5" width="26.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_3x4_z16.svg b/symbols/shields/motorway_3x4_z16.svg
new file mode 100644
index 0000000..b629084
--- /dev/null
+++ b/symbols/shields/motorway_3x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 29.0 46.0">
+  <rect x="0.5" y="0.5" width="28.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_3x4_z18.svg b/symbols/shields/motorway_3x4_z18.svg
new file mode 100644
index 0000000..26aeecd
--- /dev/null
+++ b/symbols/shields/motorway_3x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 31.0 50.0">
+  <rect x="0.5" y="0.5" width="30.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_4x1.svg b/symbols/shields/motorway_4x1.svg
index 0ca29fe..e38dcb9 100644
--- a/symbols/shields/motorway_4x1.svg
+++ b/symbols/shields/motorway_4x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 40.25 19.75'>
-<rect x='1.25' y='1.75' height='18' width='39' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='15.0' width='36.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='33.0' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 33.0 15.0">
+  <rect x="0.5" y="0.5" width="32.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_4x1_z16.svg b/symbols/shields/motorway_4x1_z16.svg
new file mode 100644
index 0000000..b6b0cec
--- /dev/null
+++ b/symbols/shields/motorway_4x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 35.0 16.0">
+  <rect x="0.5" y="0.5" width="34.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_4x1_z18.svg b/symbols/shields/motorway_4x1_z18.svg
new file mode 100644
index 0000000..312bf9d
--- /dev/null
+++ b/symbols/shields/motorway_4x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 38.0 17.0">
+  <rect x="0.5" y="0.5" width="37.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_4x2.svg b/symbols/shields/motorway_4x2.svg
index 637acf8..e449e34 100644
--- a/symbols/shields/motorway_4x2.svg
+++ b/symbols/shields/motorway_4x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 40.25 31.75'>
-<rect x='1.25' y='1.75' height='30' width='39' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='27.0' width='36.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='33.0' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 33.0 24.0">
+  <rect x="0.5" y="0.5" width="32.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_4x2_z16.svg b/symbols/shields/motorway_4x2_z16.svg
new file mode 100644
index 0000000..fe9c619
--- /dev/null
+++ b/symbols/shields/motorway_4x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 35.0 26.0">
+  <rect x="0.5" y="0.5" width="34.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_4x2_z18.svg b/symbols/shields/motorway_4x2_z18.svg
new file mode 100644
index 0000000..a01d0f1
--- /dev/null
+++ b/symbols/shields/motorway_4x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 38.0 28.0">
+  <rect x="0.5" y="0.5" width="37.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_4x3.svg b/symbols/shields/motorway_4x3.svg
index 78abfc3..90fa761 100644
--- a/symbols/shields/motorway_4x3.svg
+++ b/symbols/shields/motorway_4x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 40.25 45.75'>
-<rect x='1.25' y='1.75' height='44' width='39' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='41.0' width='36.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='33.0' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 33.0 33.0">
+  <rect x="0.5" y="0.5" width="32.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_4x3_z16.svg b/symbols/shields/motorway_4x3_z16.svg
new file mode 100644
index 0000000..08ffcc7
--- /dev/null
+++ b/symbols/shields/motorway_4x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 35.0 36.0">
+  <rect x="0.5" y="0.5" width="34.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_4x3_z18.svg b/symbols/shields/motorway_4x3_z18.svg
new file mode 100644
index 0000000..1543d78
--- /dev/null
+++ b/symbols/shields/motorway_4x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 38.0 39.0">
+  <rect x="0.5" y="0.5" width="37.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_4x4.svg b/symbols/shields/motorway_4x4.svg
index fdce2eb..55de374 100644
--- a/symbols/shields/motorway_4x4.svg
+++ b/symbols/shields/motorway_4x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 40.25 55.75'>
-<rect x='1.25' y='1.75' height='54' width='39' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='51.0' width='36.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='33.0' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 33.0 42.0">
+  <rect x="0.5" y="0.5" width="32.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_4x4_z16.svg b/symbols/shields/motorway_4x4_z16.svg
new file mode 100644
index 0000000..70b6b76
--- /dev/null
+++ b/symbols/shields/motorway_4x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 35.0 46.0">
+  <rect x="0.5" y="0.5" width="34.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_4x4_z18.svg b/symbols/shields/motorway_4x4_z18.svg
new file mode 100644
index 0000000..9efb114
--- /dev/null
+++ b/symbols/shields/motorway_4x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 38.0 50.0">
+  <rect x="0.5" y="0.5" width="37.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_5x1.svg b/symbols/shields/motorway_5x1.svg
index f5bbf52..65e30e6 100644
--- a/symbols/shields/motorway_5x1.svg
+++ b/symbols/shields/motorway_5x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 47.25 19.75'>
-<rect x='1.25' y='1.75' height='18' width='46' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='15.0' width='43.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='40.0' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 39.0 15.0">
+  <rect x="0.5" y="0.5" width="38.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_5x1_z16.svg b/symbols/shields/motorway_5x1_z16.svg
new file mode 100644
index 0000000..3ef9e60
--- /dev/null
+++ b/symbols/shields/motorway_5x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 42.0 16.0">
+  <rect x="0.5" y="0.5" width="41.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_5x1_z18.svg b/symbols/shields/motorway_5x1_z18.svg
new file mode 100644
index 0000000..32d4919
--- /dev/null
+++ b/symbols/shields/motorway_5x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 17.0">
+  <rect x="0.5" y="0.5" width="44.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_5x2.svg b/symbols/shields/motorway_5x2.svg
index ca963cb..3839999 100644
--- a/symbols/shields/motorway_5x2.svg
+++ b/symbols/shields/motorway_5x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 47.25 31.75'>
-<rect x='1.25' y='1.75' height='30' width='46' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='27.0' width='43.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='40.0' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 39.0 24.0">
+  <rect x="0.5" y="0.5" width="38.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_5x2_z16.svg b/symbols/shields/motorway_5x2_z16.svg
new file mode 100644
index 0000000..5db23b0
--- /dev/null
+++ b/symbols/shields/motorway_5x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 42.0 26.0">
+  <rect x="0.5" y="0.5" width="41.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_5x2_z18.svg b/symbols/shields/motorway_5x2_z18.svg
new file mode 100644
index 0000000..c979258
--- /dev/null
+++ b/symbols/shields/motorway_5x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 28.0">
+  <rect x="0.5" y="0.5" width="44.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_5x3.svg b/symbols/shields/motorway_5x3.svg
index fcba797..904fcc4 100644
--- a/symbols/shields/motorway_5x3.svg
+++ b/symbols/shields/motorway_5x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 47.25 45.75'>
-<rect x='1.25' y='1.75' height='44' width='46' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='41.0' width='43.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='40.0' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 39.0 33.0">
+  <rect x="0.5" y="0.5" width="38.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_5x3_z16.svg b/symbols/shields/motorway_5x3_z16.svg
new file mode 100644
index 0000000..2c5cd94
--- /dev/null
+++ b/symbols/shields/motorway_5x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 42.0 36.0">
+  <rect x="0.5" y="0.5" width="41.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_5x3_z18.svg b/symbols/shields/motorway_5x3_z18.svg
new file mode 100644
index 0000000..05f0bf9
--- /dev/null
+++ b/symbols/shields/motorway_5x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 39.0">
+  <rect x="0.5" y="0.5" width="44.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_5x4.svg b/symbols/shields/motorway_5x4.svg
index 7a8c773..e5e10f7 100644
--- a/symbols/shields/motorway_5x4.svg
+++ b/symbols/shields/motorway_5x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 47.25 55.75'>
-<rect x='1.25' y='1.75' height='54' width='46' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='51.0' width='43.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='40.0' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 39.0 42.0">
+  <rect x="0.5" y="0.5" width="38.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_5x4_z16.svg b/symbols/shields/motorway_5x4_z16.svg
new file mode 100644
index 0000000..a35dce9
--- /dev/null
+++ b/symbols/shields/motorway_5x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 42.0 46.0">
+  <rect x="0.5" y="0.5" width="41.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_5x4_z18.svg b/symbols/shields/motorway_5x4_z18.svg
new file mode 100644
index 0000000..c45a1d7
--- /dev/null
+++ b/symbols/shields/motorway_5x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 50.0">
+  <rect x="0.5" y="0.5" width="44.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_6x1.svg b/symbols/shields/motorway_6x1.svg
index b777c68..1cb9303 100644
--- a/symbols/shields/motorway_6x1.svg
+++ b/symbols/shields/motorway_6x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 53.75 19.75'>
-<rect x='1.25' y='1.75' height='18' width='52.5' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='15.0' width='49.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='46.5' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 15.0">
+  <rect x="0.5" y="0.5" width="44.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_6x1_z16.svg b/symbols/shields/motorway_6x1_z16.svg
new file mode 100644
index 0000000..9b6cbaf
--- /dev/null
+++ b/symbols/shields/motorway_6x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 48.0 16.0">
+  <rect x="0.5" y="0.5" width="47.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_6x1_z18.svg b/symbols/shields/motorway_6x1_z18.svg
new file mode 100644
index 0000000..35be0df
--- /dev/null
+++ b/symbols/shields/motorway_6x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 53.0 17.0">
+  <rect x="0.5" y="0.5" width="52.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_6x2.svg b/symbols/shields/motorway_6x2.svg
index 950ba9b..24af88f 100644
--- a/symbols/shields/motorway_6x2.svg
+++ b/symbols/shields/motorway_6x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 53.75 31.75'>
-<rect x='1.25' y='1.75' height='30' width='52.5' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='27.0' width='49.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='46.5' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 24.0">
+  <rect x="0.5" y="0.5" width="44.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_6x2_z16.svg b/symbols/shields/motorway_6x2_z16.svg
new file mode 100644
index 0000000..5a885b1
--- /dev/null
+++ b/symbols/shields/motorway_6x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 48.0 26.0">
+  <rect x="0.5" y="0.5" width="47.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_6x2_z18.svg b/symbols/shields/motorway_6x2_z18.svg
new file mode 100644
index 0000000..cdce6f4
--- /dev/null
+++ b/symbols/shields/motorway_6x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 53.0 28.0">
+  <rect x="0.5" y="0.5" width="52.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_6x3.svg b/symbols/shields/motorway_6x3.svg
index 1501526..23a4ff3 100644
--- a/symbols/shields/motorway_6x3.svg
+++ b/symbols/shields/motorway_6x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 53.75 45.75'>
-<rect x='1.25' y='1.75' height='44' width='52.5' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='41.0' width='49.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='46.5' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 33.0">
+  <rect x="0.5" y="0.5" width="44.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_6x3_z16.svg b/symbols/shields/motorway_6x3_z16.svg
new file mode 100644
index 0000000..bc435b0
--- /dev/null
+++ b/symbols/shields/motorway_6x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 48.0 36.0">
+  <rect x="0.5" y="0.5" width="47.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_6x3_z18.svg b/symbols/shields/motorway_6x3_z18.svg
new file mode 100644
index 0000000..58824f6
--- /dev/null
+++ b/symbols/shields/motorway_6x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 53.0 39.0">
+  <rect x="0.5" y="0.5" width="52.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_6x4.svg b/symbols/shields/motorway_6x4.svg
index 55397cb..66f972b 100644
--- a/symbols/shields/motorway_6x4.svg
+++ b/symbols/shields/motorway_6x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 53.75 55.75'>
-<rect x='1.25' y='1.75' height='54' width='52.5' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='51.0' width='49.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='46.5' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 42.0">
+  <rect x="0.5" y="0.5" width="44.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_6x4_z16.svg b/symbols/shields/motorway_6x4_z16.svg
new file mode 100644
index 0000000..5743a6c
--- /dev/null
+++ b/symbols/shields/motorway_6x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 48.0 46.0">
+  <rect x="0.5" y="0.5" width="47.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_6x4_z18.svg b/symbols/shields/motorway_6x4_z18.svg
new file mode 100644
index 0000000..769fa4c
--- /dev/null
+++ b/symbols/shields/motorway_6x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 53.0 50.0">
+  <rect x="0.5" y="0.5" width="52.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_7x1.svg b/symbols/shields/motorway_7x1.svg
index 358e590..57e2940 100644
--- a/symbols/shields/motorway_7x1.svg
+++ b/symbols/shields/motorway_7x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 60.50 19.75'>
-<rect x='1.25' y='1.75' height='18' width='59.25' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='15.0' width='56.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='53.25' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 51.0 15.0">
+  <rect x="0.5" y="0.5" width="50.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_7x1_z16.svg b/symbols/shields/motorway_7x1_z16.svg
new file mode 100644
index 0000000..e0e5bbb
--- /dev/null
+++ b/symbols/shields/motorway_7x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 55.0 16.0">
+  <rect x="0.5" y="0.5" width="54.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_7x1_z18.svg b/symbols/shields/motorway_7x1_z18.svg
new file mode 100644
index 0000000..c334b4f
--- /dev/null
+++ b/symbols/shields/motorway_7x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 60.0 17.0">
+  <rect x="0.5" y="0.5" width="59.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_7x2.svg b/symbols/shields/motorway_7x2.svg
index b93b4fc..322bb8d 100644
--- a/symbols/shields/motorway_7x2.svg
+++ b/symbols/shields/motorway_7x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 60.50 31.75'>
-<rect x='1.25' y='1.75' height='30' width='59.25' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='27.0' width='56.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='53.25' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 51.0 24.0">
+  <rect x="0.5" y="0.5" width="50.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_7x2_z16.svg b/symbols/shields/motorway_7x2_z16.svg
new file mode 100644
index 0000000..7fb466d
--- /dev/null
+++ b/symbols/shields/motorway_7x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 55.0 26.0">
+  <rect x="0.5" y="0.5" width="54.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_7x2_z18.svg b/symbols/shields/motorway_7x2_z18.svg
new file mode 100644
index 0000000..18933e9
--- /dev/null
+++ b/symbols/shields/motorway_7x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 60.0 28.0">
+  <rect x="0.5" y="0.5" width="59.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_7x3.svg b/symbols/shields/motorway_7x3.svg
index 219e8e5..58d153e 100644
--- a/symbols/shields/motorway_7x3.svg
+++ b/symbols/shields/motorway_7x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 60.50 45.75'>
-<rect x='1.25' y='1.75' height='44' width='59.25' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='41.0' width='56.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='53.25' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 51.0 33.0">
+  <rect x="0.5" y="0.5" width="50.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_7x3_z16.svg b/symbols/shields/motorway_7x3_z16.svg
new file mode 100644
index 0000000..284a6c5
--- /dev/null
+++ b/symbols/shields/motorway_7x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 55.0 36.0">
+  <rect x="0.5" y="0.5" width="54.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_7x3_z18.svg b/symbols/shields/motorway_7x3_z18.svg
new file mode 100644
index 0000000..b0f4325
--- /dev/null
+++ b/symbols/shields/motorway_7x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 60.0 39.0">
+  <rect x="0.5" y="0.5" width="59.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_7x4.svg b/symbols/shields/motorway_7x4.svg
index 0c74453..888f2c2 100644
--- a/symbols/shields/motorway_7x4.svg
+++ b/symbols/shields/motorway_7x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 60.50 55.75'>
-<rect x='1.25' y='1.75' height='54' width='59.25' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='51.0' width='56.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='53.25' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 51.0 42.0">
+  <rect x="0.5" y="0.5" width="50.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_7x4_z16.svg b/symbols/shields/motorway_7x4_z16.svg
new file mode 100644
index 0000000..39c9314
--- /dev/null
+++ b/symbols/shields/motorway_7x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 55.0 46.0">
+  <rect x="0.5" y="0.5" width="54.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_7x4_z18.svg b/symbols/shields/motorway_7x4_z18.svg
new file mode 100644
index 0000000..8cacb0a
--- /dev/null
+++ b/symbols/shields/motorway_7x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 60.0 50.0">
+  <rect x="0.5" y="0.5" width="59.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_8x1.svg b/symbols/shields/motorway_8x1.svg
index dc507ad..d157d0d 100644
--- a/symbols/shields/motorway_8x1.svg
+++ b/symbols/shields/motorway_8x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 67.25 19.75'>
-<rect x='1.25' y='1.75' height='18' width='66' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='15.0' width='63.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='60.0' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 57.0 15.0">
+  <rect x="0.5" y="0.5" width="56.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_8x1_z16.svg b/symbols/shields/motorway_8x1_z16.svg
new file mode 100644
index 0000000..bbebef9
--- /dev/null
+++ b/symbols/shields/motorway_8x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 61.0 16.0">
+  <rect x="0.5" y="0.5" width="60.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_8x1_z18.svg b/symbols/shields/motorway_8x1_z18.svg
new file mode 100644
index 0000000..a14c89a
--- /dev/null
+++ b/symbols/shields/motorway_8x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 67.0 17.0">
+  <rect x="0.5" y="0.5" width="66.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_8x2.svg b/symbols/shields/motorway_8x2.svg
index 14cdafe..310c0b4 100644
--- a/symbols/shields/motorway_8x2.svg
+++ b/symbols/shields/motorway_8x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 67.25 31.75'>
-<rect x='1.25' y='1.75' height='30' width='66' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='27.0' width='63.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='60.0' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 57.0 24.0">
+  <rect x="0.5" y="0.5" width="56.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_8x2_z16.svg b/symbols/shields/motorway_8x2_z16.svg
new file mode 100644
index 0000000..496ef2c
--- /dev/null
+++ b/symbols/shields/motorway_8x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 61.0 26.0">
+  <rect x="0.5" y="0.5" width="60.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_8x2_z18.svg b/symbols/shields/motorway_8x2_z18.svg
new file mode 100644
index 0000000..21921b3
--- /dev/null
+++ b/symbols/shields/motorway_8x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 67.0 28.0">
+  <rect x="0.5" y="0.5" width="66.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_8x3.svg b/symbols/shields/motorway_8x3.svg
index 9e68314..85f3c86 100644
--- a/symbols/shields/motorway_8x3.svg
+++ b/symbols/shields/motorway_8x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 67.25 45.75'>
-<rect x='1.25' y='1.75' height='44' width='66' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='41.0' width='63.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='60.0' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 57.0 33.0">
+  <rect x="0.5" y="0.5" width="56.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_8x3_z16.svg b/symbols/shields/motorway_8x3_z16.svg
new file mode 100644
index 0000000..35c5caa
--- /dev/null
+++ b/symbols/shields/motorway_8x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 61.0 36.0">
+  <rect x="0.5" y="0.5" width="60.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_8x3_z18.svg b/symbols/shields/motorway_8x3_z18.svg
new file mode 100644
index 0000000..6043906
--- /dev/null
+++ b/symbols/shields/motorway_8x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 67.0 39.0">
+  <rect x="0.5" y="0.5" width="66.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_8x4.svg b/symbols/shields/motorway_8x4.svg
index 869fbe9..cbc8189 100644
--- a/symbols/shields/motorway_8x4.svg
+++ b/symbols/shields/motorway_8x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 67.25 55.75'>
-<rect x='1.25' y='1.75' height='54' width='66' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='51.0' width='63.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='60.0' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 57.0 42.0">
+  <rect x="0.5" y="0.5" width="56.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_8x4_z16.svg b/symbols/shields/motorway_8x4_z16.svg
new file mode 100644
index 0000000..10fe9af
--- /dev/null
+++ b/symbols/shields/motorway_8x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 61.0 46.0">
+  <rect x="0.5" y="0.5" width="60.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_8x4_z18.svg b/symbols/shields/motorway_8x4_z18.svg
new file mode 100644
index 0000000..a8e930e
--- /dev/null
+++ b/symbols/shields/motorway_8x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 67.0 50.0">
+  <rect x="0.5" y="0.5" width="66.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_9x1.svg b/symbols/shields/motorway_9x1.svg
index 46f21a8..40d60b2 100644
--- a/symbols/shields/motorway_9x1.svg
+++ b/symbols/shields/motorway_9x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 71.75 19.75'>
-<rect x='1.25' y='1.75' height='18' width='70.5' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='15.0' width='67.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='64.5' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 63.0 15.0">
+  <rect x="0.5" y="0.5" width="62.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_9x1_z16.svg b/symbols/shields/motorway_9x1_z16.svg
new file mode 100644
index 0000000..b985c5b
--- /dev/null
+++ b/symbols/shields/motorway_9x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 16.0">
+  <rect x="0.5" y="0.5" width="67.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_9x1_z18.svg b/symbols/shields/motorway_9x1_z18.svg
new file mode 100644
index 0000000..5a1ff7a
--- /dev/null
+++ b/symbols/shields/motorway_9x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 17.0">
+  <rect x="0.5" y="0.5" width="73.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_9x2.svg b/symbols/shields/motorway_9x2.svg
index d03181a..f95eeaa 100644
--- a/symbols/shields/motorway_9x2.svg
+++ b/symbols/shields/motorway_9x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 71.75 31.75'>
-<rect x='1.25' y='1.75' height='30' width='70.5' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='27.0' width='67.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='64.5' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 63.0 24.0">
+  <rect x="0.5" y="0.5" width="62.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_9x2_z16.svg b/symbols/shields/motorway_9x2_z16.svg
new file mode 100644
index 0000000..eca7a2e
--- /dev/null
+++ b/symbols/shields/motorway_9x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 26.0">
+  <rect x="0.5" y="0.5" width="67.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_9x2_z18.svg b/symbols/shields/motorway_9x2_z18.svg
new file mode 100644
index 0000000..5eda1ee
--- /dev/null
+++ b/symbols/shields/motorway_9x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 28.0">
+  <rect x="0.5" y="0.5" width="73.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_9x3.svg b/symbols/shields/motorway_9x3.svg
index b338ec9..05f19ca 100644
--- a/symbols/shields/motorway_9x3.svg
+++ b/symbols/shields/motorway_9x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 71.75 45.75'>
-<rect x='1.25' y='1.75' height='44' width='70.5' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='41.0' width='67.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='64.5' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 63.0 33.0">
+  <rect x="0.5" y="0.5" width="62.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_9x3_z16.svg b/symbols/shields/motorway_9x3_z16.svg
new file mode 100644
index 0000000..e7d3046
--- /dev/null
+++ b/symbols/shields/motorway_9x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 36.0">
+  <rect x="0.5" y="0.5" width="67.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_9x3_z18.svg b/symbols/shields/motorway_9x3_z18.svg
new file mode 100644
index 0000000..df78c11
--- /dev/null
+++ b/symbols/shields/motorway_9x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 39.0">
+  <rect x="0.5" y="0.5" width="73.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_9x4.svg b/symbols/shields/motorway_9x4.svg
index 26e2b19..174ef22 100644
--- a/symbols/shields/motorway_9x4.svg
+++ b/symbols/shields/motorway_9x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 71.75 55.75'>
-<rect x='1.25' y='1.75' height='54' width='70.5' rx='9' fill='#7788a1'/>
-<rect x='2.75' y='3.25' height='51.0' width='67.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='64.5' rx='6.0' fill='#7788a1'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 63.0 42.0">
+  <rect x="0.5" y="0.5" width="62.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/motorway_9x4_z16.svg b/symbols/shields/motorway_9x4_z16.svg
new file mode 100644
index 0000000..6a9ebe1
--- /dev/null
+++ b/symbols/shields/motorway_9x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 46.0">
+  <rect x="0.5" y="0.5" width="67.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/motorway_9x4_z18.svg b/symbols/shields/motorway_9x4_z18.svg
new file mode 100644
index 0000000..b568c6d
--- /dev/null
+++ b/symbols/shields/motorway_9x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 50.0">
+  <rect x="0.5" y="0.5" width="73.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#eccdd1;stroke:#d39da5;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_10x1.svg b/symbols/shields/primary_10x1.svg
index 9203a6d..9675d9f 100644
--- a/symbols/shields/primary_10x1.svg
+++ b/symbols/shields/primary_10x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 77.00 19.75'>
-<rect x='1.25' y='1.75' height='18' width='75.75' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='15.0' width='72.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='69.75' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 15.0">
+  <rect x="0.5" y="0.5" width="67.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_10x1_z16.svg b/symbols/shields/primary_10x1_z16.svg
new file mode 100644
index 0000000..47dceb5
--- /dev/null
+++ b/symbols/shields/primary_10x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 16.0">
+  <rect x="0.5" y="0.5" width="73.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_10x1_z18.svg b/symbols/shields/primary_10x1_z18.svg
new file mode 100644
index 0000000..b6bf76c
--- /dev/null
+++ b/symbols/shields/primary_10x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 17.0">
+  <rect x="0.5" y="0.5" width="80.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_10x2.svg b/symbols/shields/primary_10x2.svg
index 31e7faf..0419d8e 100644
--- a/symbols/shields/primary_10x2.svg
+++ b/symbols/shields/primary_10x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 77.00 31.75'>
-<rect x='1.25' y='1.75' height='30' width='75.75' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='27.0' width='72.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='69.75' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 24.0">
+  <rect x="0.5" y="0.5" width="67.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_10x2_z16.svg b/symbols/shields/primary_10x2_z16.svg
new file mode 100644
index 0000000..dd360ee
--- /dev/null
+++ b/symbols/shields/primary_10x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 26.0">
+  <rect x="0.5" y="0.5" width="73.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_10x2_z18.svg b/symbols/shields/primary_10x2_z18.svg
new file mode 100644
index 0000000..debc130
--- /dev/null
+++ b/symbols/shields/primary_10x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 28.0">
+  <rect x="0.5" y="0.5" width="80.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_10x3.svg b/symbols/shields/primary_10x3.svg
index 5300559..8d6be36 100644
--- a/symbols/shields/primary_10x3.svg
+++ b/symbols/shields/primary_10x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 77.00 45.75'>
-<rect x='1.25' y='1.75' height='44' width='75.75' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='41.0' width='72.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='69.75' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 33.0">
+  <rect x="0.5" y="0.5" width="67.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_10x3_z16.svg b/symbols/shields/primary_10x3_z16.svg
new file mode 100644
index 0000000..e059e2e
--- /dev/null
+++ b/symbols/shields/primary_10x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 36.0">
+  <rect x="0.5" y="0.5" width="73.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_10x3_z18.svg b/symbols/shields/primary_10x3_z18.svg
new file mode 100644
index 0000000..d95f379
--- /dev/null
+++ b/symbols/shields/primary_10x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 39.0">
+  <rect x="0.5" y="0.5" width="80.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_10x4.svg b/symbols/shields/primary_10x4.svg
index 8f5cdb7..2c8fdb0 100644
--- a/symbols/shields/primary_10x4.svg
+++ b/symbols/shields/primary_10x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 77.00 55.75'>
-<rect x='1.25' y='1.75' height='54' width='75.75' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='51.0' width='72.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='69.75' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 42.0">
+  <rect x="0.5" y="0.5" width="67.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_10x4_z16.svg b/symbols/shields/primary_10x4_z16.svg
new file mode 100644
index 0000000..9c792fa
--- /dev/null
+++ b/symbols/shields/primary_10x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 46.0">
+  <rect x="0.5" y="0.5" width="73.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_10x4_z18.svg b/symbols/shields/primary_10x4_z18.svg
new file mode 100644
index 0000000..2ecb32d
--- /dev/null
+++ b/symbols/shields/primary_10x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 50.0">
+  <rect x="0.5" y="0.5" width="80.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_11x1.svg b/symbols/shields/primary_11x1.svg
index 44d4587..ef7380f 100644
--- a/symbols/shields/primary_11x1.svg
+++ b/symbols/shields/primary_11x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 82.00 19.75'>
-<rect x='1.25' y='1.75' height='18' width='80.75' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='15.0' width='77.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='74.75' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 15.0">
+  <rect x="0.5" y="0.5" width="73.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_11x1_z16.svg b/symbols/shields/primary_11x1_z16.svg
new file mode 100644
index 0000000..d545256
--- /dev/null
+++ b/symbols/shields/primary_11x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 16.0">
+  <rect x="0.5" y="0.5" width="80.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_11x1_z18.svg b/symbols/shields/primary_11x1_z18.svg
new file mode 100644
index 0000000..4647f17
--- /dev/null
+++ b/symbols/shields/primary_11x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 89.0 17.0">
+  <rect x="0.5" y="0.5" width="88.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_11x2.svg b/symbols/shields/primary_11x2.svg
index 4cee0e8..4ae792c 100644
--- a/symbols/shields/primary_11x2.svg
+++ b/symbols/shields/primary_11x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 82.00 31.75'>
-<rect x='1.25' y='1.75' height='30' width='80.75' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='27.0' width='77.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='74.75' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 24.0">
+  <rect x="0.5" y="0.5" width="73.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_11x2_z16.svg b/symbols/shields/primary_11x2_z16.svg
new file mode 100644
index 0000000..6de6f7f
--- /dev/null
+++ b/symbols/shields/primary_11x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 26.0">
+  <rect x="0.5" y="0.5" width="80.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_11x2_z18.svg b/symbols/shields/primary_11x2_z18.svg
new file mode 100644
index 0000000..c93ddb4
--- /dev/null
+++ b/symbols/shields/primary_11x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 89.0 28.0">
+  <rect x="0.5" y="0.5" width="88.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_11x3.svg b/symbols/shields/primary_11x3.svg
index 06a1708..38a52b5 100644
--- a/symbols/shields/primary_11x3.svg
+++ b/symbols/shields/primary_11x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 82.00 45.75'>
-<rect x='1.25' y='1.75' height='44' width='80.75' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='41.0' width='77.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='74.75' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 33.0">
+  <rect x="0.5" y="0.5" width="73.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_11x3_z16.svg b/symbols/shields/primary_11x3_z16.svg
new file mode 100644
index 0000000..5a7dbbb
--- /dev/null
+++ b/symbols/shields/primary_11x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 36.0">
+  <rect x="0.5" y="0.5" width="80.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_11x3_z18.svg b/symbols/shields/primary_11x3_z18.svg
new file mode 100644
index 0000000..bcea4ae
--- /dev/null
+++ b/symbols/shields/primary_11x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 89.0 39.0">
+  <rect x="0.5" y="0.5" width="88.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_11x4.svg b/symbols/shields/primary_11x4.svg
index 6922ac3..e3bf5f3 100644
--- a/symbols/shields/primary_11x4.svg
+++ b/symbols/shields/primary_11x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 82.00 55.75'>
-<rect x='1.25' y='1.75' height='54' width='80.75' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='51.0' width='77.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='74.75' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 42.0">
+  <rect x="0.5" y="0.5" width="73.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_11x4_z16.svg b/symbols/shields/primary_11x4_z16.svg
new file mode 100644
index 0000000..720cc31
--- /dev/null
+++ b/symbols/shields/primary_11x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 46.0">
+  <rect x="0.5" y="0.5" width="80.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_11x4_z18.svg b/symbols/shields/primary_11x4_z18.svg
new file mode 100644
index 0000000..b0a7104
--- /dev/null
+++ b/symbols/shields/primary_11x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 89.0 50.0">
+  <rect x="0.5" y="0.5" width="88.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_1x1.svg b/symbols/shields/primary_1x1.svg
index aeed308..ad125b6 100644
--- a/symbols/shields/primary_1x1.svg
+++ b/symbols/shields/primary_1x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 19.25 19.75'>
-<rect x='1.25' y='1.75' height='18' width='18' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='15.0' width='15.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='12.0' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 15.0 15.0">
+  <rect x="0.5" y="0.5" width="14.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_1x1_z16.svg b/symbols/shields/primary_1x1_z16.svg
new file mode 100644
index 0000000..876eb43
--- /dev/null
+++ b/symbols/shields/primary_1x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16.0 16.0">
+  <rect x="0.5" y="0.5" width="15.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_1x1_z18.svg b/symbols/shields/primary_1x1_z18.svg
new file mode 100644
index 0000000..f51cc8b
--- /dev/null
+++ b/symbols/shields/primary_1x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 17.0 17.0">
+  <rect x="0.5" y="0.5" width="16.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_1x2.svg b/symbols/shields/primary_1x2.svg
index 430b01c..7392c75 100644
--- a/symbols/shields/primary_1x2.svg
+++ b/symbols/shields/primary_1x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 19.25 31.75'>
-<rect x='1.25' y='1.75' height='30' width='18' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='27.0' width='15.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='12.0' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 15.0 24.0">
+  <rect x="0.5" y="0.5" width="14.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_1x2_z16.svg b/symbols/shields/primary_1x2_z16.svg
new file mode 100644
index 0000000..6325d8b
--- /dev/null
+++ b/symbols/shields/primary_1x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16.0 26.0">
+  <rect x="0.5" y="0.5" width="15.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_1x2_z18.svg b/symbols/shields/primary_1x2_z18.svg
new file mode 100644
index 0000000..97eb3dc
--- /dev/null
+++ b/symbols/shields/primary_1x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 17.0 28.0">
+  <rect x="0.5" y="0.5" width="16.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_1x3.svg b/symbols/shields/primary_1x3.svg
index bb986a0..6475806 100644
--- a/symbols/shields/primary_1x3.svg
+++ b/symbols/shields/primary_1x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 19.25 45.75'>
-<rect x='1.25' y='1.75' height='44' width='18' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='41.0' width='15.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='12.0' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 15.0 33.0">
+  <rect x="0.5" y="0.5" width="14.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_1x3_z16.svg b/symbols/shields/primary_1x3_z16.svg
new file mode 100644
index 0000000..18e4dcc
--- /dev/null
+++ b/symbols/shields/primary_1x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16.0 36.0">
+  <rect x="0.5" y="0.5" width="15.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_1x3_z18.svg b/symbols/shields/primary_1x3_z18.svg
new file mode 100644
index 0000000..a3e5a65
--- /dev/null
+++ b/symbols/shields/primary_1x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 17.0 39.0">
+  <rect x="0.5" y="0.5" width="16.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_1x4.svg b/symbols/shields/primary_1x4.svg
index ffb1da0..5cc73a6 100644
--- a/symbols/shields/primary_1x4.svg
+++ b/symbols/shields/primary_1x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 19.25 55.75'>
-<rect x='1.25' y='1.75' height='54' width='18' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='51.0' width='15.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='12.0' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 15.0 42.0">
+  <rect x="0.5" y="0.5" width="14.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_1x4_z16.svg b/symbols/shields/primary_1x4_z16.svg
new file mode 100644
index 0000000..500ff62
--- /dev/null
+++ b/symbols/shields/primary_1x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16.0 46.0">
+  <rect x="0.5" y="0.5" width="15.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_1x4_z18.svg b/symbols/shields/primary_1x4_z18.svg
new file mode 100644
index 0000000..c2a0d2b
--- /dev/null
+++ b/symbols/shields/primary_1x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 17.0 50.0">
+  <rect x="0.5" y="0.5" width="16.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_2x1.svg b/symbols/shields/primary_2x1.svg
index 1b127d4..c61f078 100644
--- a/symbols/shields/primary_2x1.svg
+++ b/symbols/shields/primary_2x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 26.50 19.75'>
-<rect x='1.25' y='1.75' height='18' width='25.25' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='15.0' width='22.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='19.25' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 21.0 15.0">
+  <rect x="0.5" y="0.5" width="20.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_2x1_z16.svg b/symbols/shields/primary_2x1_z16.svg
new file mode 100644
index 0000000..859671b
--- /dev/null
+++ b/symbols/shields/primary_2x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22.0 16.0">
+  <rect x="0.5" y="0.5" width="21.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_2x1_z18.svg b/symbols/shields/primary_2x1_z18.svg
new file mode 100644
index 0000000..41f487f
--- /dev/null
+++ b/symbols/shields/primary_2x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24.0 17.0">
+  <rect x="0.5" y="0.5" width="23.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_2x2.svg b/symbols/shields/primary_2x2.svg
index 781e422..5ae799a 100644
--- a/symbols/shields/primary_2x2.svg
+++ b/symbols/shields/primary_2x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 26.50 31.75'>
-<rect x='1.25' y='1.75' height='30' width='25.25' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='27.0' width='22.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='19.25' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 21.0 24.0">
+  <rect x="0.5" y="0.5" width="20.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_2x2_z16.svg b/symbols/shields/primary_2x2_z16.svg
new file mode 100644
index 0000000..5355d1c
--- /dev/null
+++ b/symbols/shields/primary_2x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22.0 26.0">
+  <rect x="0.5" y="0.5" width="21.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_2x2_z18.svg b/symbols/shields/primary_2x2_z18.svg
new file mode 100644
index 0000000..a95f840
--- /dev/null
+++ b/symbols/shields/primary_2x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24.0 28.0">
+  <rect x="0.5" y="0.5" width="23.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_2x3.svg b/symbols/shields/primary_2x3.svg
index e94cfb3..e6305da 100644
--- a/symbols/shields/primary_2x3.svg
+++ b/symbols/shields/primary_2x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 26.50 45.75'>
-<rect x='1.25' y='1.75' height='44' width='25.25' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='41.0' width='22.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='19.25' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 21.0 33.0">
+  <rect x="0.5" y="0.5" width="20.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_2x3_z16.svg b/symbols/shields/primary_2x3_z16.svg
new file mode 100644
index 0000000..36dec2d
--- /dev/null
+++ b/symbols/shields/primary_2x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22.0 36.0">
+  <rect x="0.5" y="0.5" width="21.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_2x3_z18.svg b/symbols/shields/primary_2x3_z18.svg
new file mode 100644
index 0000000..d239a78
--- /dev/null
+++ b/symbols/shields/primary_2x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24.0 39.0">
+  <rect x="0.5" y="0.5" width="23.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_2x4.svg b/symbols/shields/primary_2x4.svg
index 3920749..b4959d5 100644
--- a/symbols/shields/primary_2x4.svg
+++ b/symbols/shields/primary_2x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 26.50 55.75'>
-<rect x='1.25' y='1.75' height='54' width='25.25' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='51.0' width='22.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='19.25' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 21.0 42.0">
+  <rect x="0.5" y="0.5" width="20.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_2x4_z16.svg b/symbols/shields/primary_2x4_z16.svg
new file mode 100644
index 0000000..6a517db
--- /dev/null
+++ b/symbols/shields/primary_2x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22.0 46.0">
+  <rect x="0.5" y="0.5" width="21.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_2x4_z18.svg b/symbols/shields/primary_2x4_z18.svg
new file mode 100644
index 0000000..293a73b
--- /dev/null
+++ b/symbols/shields/primary_2x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24.0 50.0">
+  <rect x="0.5" y="0.5" width="23.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_3x1.svg b/symbols/shields/primary_3x1.svg
index 3d92a4a..ee55795 100644
--- a/symbols/shields/primary_3x1.svg
+++ b/symbols/shields/primary_3x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 33.75 19.75'>
-<rect x='1.25' y='1.75' height='18' width='32.5' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='15.0' width='29.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='26.5' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 27.0 15.0">
+  <rect x="0.5" y="0.5" width="26.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_3x1_z16.svg b/symbols/shields/primary_3x1_z16.svg
new file mode 100644
index 0000000..e3306b6
--- /dev/null
+++ b/symbols/shields/primary_3x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 29.0 16.0">
+  <rect x="0.5" y="0.5" width="28.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_3x1_z18.svg b/symbols/shields/primary_3x1_z18.svg
new file mode 100644
index 0000000..9fb809b
--- /dev/null
+++ b/symbols/shields/primary_3x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 31.0 17.0">
+  <rect x="0.5" y="0.5" width="30.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_3x2.svg b/symbols/shields/primary_3x2.svg
index 6174498..32b148c 100644
--- a/symbols/shields/primary_3x2.svg
+++ b/symbols/shields/primary_3x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 33.75 31.75'>
-<rect x='1.25' y='1.75' height='30' width='32.5' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='27.0' width='29.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='26.5' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 27.0 24.0">
+  <rect x="0.5" y="0.5" width="26.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_3x2_z16.svg b/symbols/shields/primary_3x2_z16.svg
new file mode 100644
index 0000000..76d2707
--- /dev/null
+++ b/symbols/shields/primary_3x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 29.0 26.0">
+  <rect x="0.5" y="0.5" width="28.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_3x2_z18.svg b/symbols/shields/primary_3x2_z18.svg
new file mode 100644
index 0000000..546ab70
--- /dev/null
+++ b/symbols/shields/primary_3x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 31.0 28.0">
+  <rect x="0.5" y="0.5" width="30.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_3x3.svg b/symbols/shields/primary_3x3.svg
index 081902d..cf4ec25 100644
--- a/symbols/shields/primary_3x3.svg
+++ b/symbols/shields/primary_3x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 33.75 45.75'>
-<rect x='1.25' y='1.75' height='44' width='32.5' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='41.0' width='29.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='26.5' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 27.0 33.0">
+  <rect x="0.5" y="0.5" width="26.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_3x3_z16.svg b/symbols/shields/primary_3x3_z16.svg
new file mode 100644
index 0000000..12ea52b
--- /dev/null
+++ b/symbols/shields/primary_3x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 29.0 36.0">
+  <rect x="0.5" y="0.5" width="28.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_3x3_z18.svg b/symbols/shields/primary_3x3_z18.svg
new file mode 100644
index 0000000..26b7c29
--- /dev/null
+++ b/symbols/shields/primary_3x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 31.0 39.0">
+  <rect x="0.5" y="0.5" width="30.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_3x4.svg b/symbols/shields/primary_3x4.svg
index 58f9cfd..d257f51 100644
--- a/symbols/shields/primary_3x4.svg
+++ b/symbols/shields/primary_3x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 33.75 55.75'>
-<rect x='1.25' y='1.75' height='54' width='32.5' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='51.0' width='29.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='26.5' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 27.0 42.0">
+  <rect x="0.5" y="0.5" width="26.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_3x4_z16.svg b/symbols/shields/primary_3x4_z16.svg
new file mode 100644
index 0000000..d9ec29e
--- /dev/null
+++ b/symbols/shields/primary_3x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 29.0 46.0">
+  <rect x="0.5" y="0.5" width="28.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_3x4_z18.svg b/symbols/shields/primary_3x4_z18.svg
new file mode 100644
index 0000000..3a623d1
--- /dev/null
+++ b/symbols/shields/primary_3x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 31.0 50.0">
+  <rect x="0.5" y="0.5" width="30.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_4x1.svg b/symbols/shields/primary_4x1.svg
index b32c626..14307fd 100644
--- a/symbols/shields/primary_4x1.svg
+++ b/symbols/shields/primary_4x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 40.25 19.75'>
-<rect x='1.25' y='1.75' height='18' width='39' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='15.0' width='36.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='33.0' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 33.0 15.0">
+  <rect x="0.5" y="0.5" width="32.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_4x1_z16.svg b/symbols/shields/primary_4x1_z16.svg
new file mode 100644
index 0000000..7d3333a
--- /dev/null
+++ b/symbols/shields/primary_4x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 35.0 16.0">
+  <rect x="0.5" y="0.5" width="34.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_4x1_z18.svg b/symbols/shields/primary_4x1_z18.svg
new file mode 100644
index 0000000..4fd0f49
--- /dev/null
+++ b/symbols/shields/primary_4x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 38.0 17.0">
+  <rect x="0.5" y="0.5" width="37.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_4x2.svg b/symbols/shields/primary_4x2.svg
index 4faf424..00701ef 100644
--- a/symbols/shields/primary_4x2.svg
+++ b/symbols/shields/primary_4x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 40.25 31.75'>
-<rect x='1.25' y='1.75' height='30' width='39' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='27.0' width='36.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='33.0' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 33.0 24.0">
+  <rect x="0.5" y="0.5" width="32.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_4x2_z16.svg b/symbols/shields/primary_4x2_z16.svg
new file mode 100644
index 0000000..9be10b4
--- /dev/null
+++ b/symbols/shields/primary_4x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 35.0 26.0">
+  <rect x="0.5" y="0.5" width="34.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_4x2_z18.svg b/symbols/shields/primary_4x2_z18.svg
new file mode 100644
index 0000000..c2684c3
--- /dev/null
+++ b/symbols/shields/primary_4x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 38.0 28.0">
+  <rect x="0.5" y="0.5" width="37.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_4x3.svg b/symbols/shields/primary_4x3.svg
index ecc09fa..e9b023f 100644
--- a/symbols/shields/primary_4x3.svg
+++ b/symbols/shields/primary_4x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 40.25 45.75'>
-<rect x='1.25' y='1.75' height='44' width='39' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='41.0' width='36.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='33.0' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 33.0 33.0">
+  <rect x="0.5" y="0.5" width="32.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_4x3_z16.svg b/symbols/shields/primary_4x3_z16.svg
new file mode 100644
index 0000000..b42f57c
--- /dev/null
+++ b/symbols/shields/primary_4x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 35.0 36.0">
+  <rect x="0.5" y="0.5" width="34.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_4x3_z18.svg b/symbols/shields/primary_4x3_z18.svg
new file mode 100644
index 0000000..6904c2a
--- /dev/null
+++ b/symbols/shields/primary_4x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 38.0 39.0">
+  <rect x="0.5" y="0.5" width="37.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_4x4.svg b/symbols/shields/primary_4x4.svg
index c5a12a5..a66da4c 100644
--- a/symbols/shields/primary_4x4.svg
+++ b/symbols/shields/primary_4x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 40.25 55.75'>
-<rect x='1.25' y='1.75' height='54' width='39' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='51.0' width='36.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='33.0' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 33.0 42.0">
+  <rect x="0.5" y="0.5" width="32.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_4x4_z16.svg b/symbols/shields/primary_4x4_z16.svg
new file mode 100644
index 0000000..8983129
--- /dev/null
+++ b/symbols/shields/primary_4x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 35.0 46.0">
+  <rect x="0.5" y="0.5" width="34.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_4x4_z18.svg b/symbols/shields/primary_4x4_z18.svg
new file mode 100644
index 0000000..a8031fe
--- /dev/null
+++ b/symbols/shields/primary_4x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 38.0 50.0">
+  <rect x="0.5" y="0.5" width="37.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_5x1.svg b/symbols/shields/primary_5x1.svg
index af059ca..310276b 100644
--- a/symbols/shields/primary_5x1.svg
+++ b/symbols/shields/primary_5x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 47.25 19.75'>
-<rect x='1.25' y='1.75' height='18' width='46' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='15.0' width='43.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='40.0' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 39.0 15.0">
+  <rect x="0.5" y="0.5" width="38.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_5x1_z16.svg b/symbols/shields/primary_5x1_z16.svg
new file mode 100644
index 0000000..41507b5
--- /dev/null
+++ b/symbols/shields/primary_5x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 42.0 16.0">
+  <rect x="0.5" y="0.5" width="41.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_5x1_z18.svg b/symbols/shields/primary_5x1_z18.svg
new file mode 100644
index 0000000..75df44d
--- /dev/null
+++ b/symbols/shields/primary_5x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 17.0">
+  <rect x="0.5" y="0.5" width="44.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_5x2.svg b/symbols/shields/primary_5x2.svg
index a59bc0d..4c00a50 100644
--- a/symbols/shields/primary_5x2.svg
+++ b/symbols/shields/primary_5x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 47.25 31.75'>
-<rect x='1.25' y='1.75' height='30' width='46' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='27.0' width='43.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='40.0' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 39.0 24.0">
+  <rect x="0.5" y="0.5" width="38.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_5x2_z16.svg b/symbols/shields/primary_5x2_z16.svg
new file mode 100644
index 0000000..194f746
--- /dev/null
+++ b/symbols/shields/primary_5x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 42.0 26.0">
+  <rect x="0.5" y="0.5" width="41.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_5x2_z18.svg b/symbols/shields/primary_5x2_z18.svg
new file mode 100644
index 0000000..a55aa3d
--- /dev/null
+++ b/symbols/shields/primary_5x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 28.0">
+  <rect x="0.5" y="0.5" width="44.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_5x3.svg b/symbols/shields/primary_5x3.svg
index 0a2d4b6..89e7e3c 100644
--- a/symbols/shields/primary_5x3.svg
+++ b/symbols/shields/primary_5x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 47.25 45.75'>
-<rect x='1.25' y='1.75' height='44' width='46' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='41.0' width='43.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='40.0' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 39.0 33.0">
+  <rect x="0.5" y="0.5" width="38.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_5x3_z16.svg b/symbols/shields/primary_5x3_z16.svg
new file mode 100644
index 0000000..dd71f8c
--- /dev/null
+++ b/symbols/shields/primary_5x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 42.0 36.0">
+  <rect x="0.5" y="0.5" width="41.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_5x3_z18.svg b/symbols/shields/primary_5x3_z18.svg
new file mode 100644
index 0000000..d80ad49
--- /dev/null
+++ b/symbols/shields/primary_5x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 39.0">
+  <rect x="0.5" y="0.5" width="44.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_5x4.svg b/symbols/shields/primary_5x4.svg
index 34aaabf..86b2744 100644
--- a/symbols/shields/primary_5x4.svg
+++ b/symbols/shields/primary_5x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 47.25 55.75'>
-<rect x='1.25' y='1.75' height='54' width='46' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='51.0' width='43.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='40.0' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 39.0 42.0">
+  <rect x="0.5" y="0.5" width="38.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_5x4_z16.svg b/symbols/shields/primary_5x4_z16.svg
new file mode 100644
index 0000000..7442798
--- /dev/null
+++ b/symbols/shields/primary_5x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 42.0 46.0">
+  <rect x="0.5" y="0.5" width="41.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_5x4_z18.svg b/symbols/shields/primary_5x4_z18.svg
new file mode 100644
index 0000000..8847e8f
--- /dev/null
+++ b/symbols/shields/primary_5x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 50.0">
+  <rect x="0.5" y="0.5" width="44.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_6x1.svg b/symbols/shields/primary_6x1.svg
index aa972b7..e9b619d 100644
--- a/symbols/shields/primary_6x1.svg
+++ b/symbols/shields/primary_6x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 53.75 19.75'>
-<rect x='1.25' y='1.75' height='18' width='52.5' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='15.0' width='49.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='46.5' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 15.0">
+  <rect x="0.5" y="0.5" width="44.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_6x1_z16.svg b/symbols/shields/primary_6x1_z16.svg
new file mode 100644
index 0000000..fbf288a
--- /dev/null
+++ b/symbols/shields/primary_6x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 48.0 16.0">
+  <rect x="0.5" y="0.5" width="47.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_6x1_z18.svg b/symbols/shields/primary_6x1_z18.svg
new file mode 100644
index 0000000..9a87d2c
--- /dev/null
+++ b/symbols/shields/primary_6x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 53.0 17.0">
+  <rect x="0.5" y="0.5" width="52.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_6x2.svg b/symbols/shields/primary_6x2.svg
index c464735..5d77480 100644
--- a/symbols/shields/primary_6x2.svg
+++ b/symbols/shields/primary_6x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 53.75 31.75'>
-<rect x='1.25' y='1.75' height='30' width='52.5' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='27.0' width='49.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='46.5' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 24.0">
+  <rect x="0.5" y="0.5" width="44.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_6x2_z16.svg b/symbols/shields/primary_6x2_z16.svg
new file mode 100644
index 0000000..ebed884
--- /dev/null
+++ b/symbols/shields/primary_6x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 48.0 26.0">
+  <rect x="0.5" y="0.5" width="47.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_6x2_z18.svg b/symbols/shields/primary_6x2_z18.svg
new file mode 100644
index 0000000..73e3a17
--- /dev/null
+++ b/symbols/shields/primary_6x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 53.0 28.0">
+  <rect x="0.5" y="0.5" width="52.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_6x3.svg b/symbols/shields/primary_6x3.svg
index 96aebab..205a90b 100644
--- a/symbols/shields/primary_6x3.svg
+++ b/symbols/shields/primary_6x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 53.75 45.75'>
-<rect x='1.25' y='1.75' height='44' width='52.5' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='41.0' width='49.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='46.5' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 33.0">
+  <rect x="0.5" y="0.5" width="44.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_6x3_z16.svg b/symbols/shields/primary_6x3_z16.svg
new file mode 100644
index 0000000..b9460e7
--- /dev/null
+++ b/symbols/shields/primary_6x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 48.0 36.0">
+  <rect x="0.5" y="0.5" width="47.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_6x3_z18.svg b/symbols/shields/primary_6x3_z18.svg
new file mode 100644
index 0000000..f1f8b94
--- /dev/null
+++ b/symbols/shields/primary_6x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 53.0 39.0">
+  <rect x="0.5" y="0.5" width="52.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_6x4.svg b/symbols/shields/primary_6x4.svg
index e1360fd..43c1af2 100644
--- a/symbols/shields/primary_6x4.svg
+++ b/symbols/shields/primary_6x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 53.75 55.75'>
-<rect x='1.25' y='1.75' height='54' width='52.5' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='51.0' width='49.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='46.5' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 42.0">
+  <rect x="0.5" y="0.5" width="44.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_6x4_z16.svg b/symbols/shields/primary_6x4_z16.svg
new file mode 100644
index 0000000..7f632d4
--- /dev/null
+++ b/symbols/shields/primary_6x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 48.0 46.0">
+  <rect x="0.5" y="0.5" width="47.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_6x4_z18.svg b/symbols/shields/primary_6x4_z18.svg
new file mode 100644
index 0000000..e8a8c28
--- /dev/null
+++ b/symbols/shields/primary_6x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 53.0 50.0">
+  <rect x="0.5" y="0.5" width="52.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_7x1.svg b/symbols/shields/primary_7x1.svg
index c521b7c..cb5811b 100644
--- a/symbols/shields/primary_7x1.svg
+++ b/symbols/shields/primary_7x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 60.50 19.75'>
-<rect x='1.25' y='1.75' height='18' width='59.25' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='15.0' width='56.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='53.25' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 51.0 15.0">
+  <rect x="0.5" y="0.5" width="50.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_7x1_z16.svg b/symbols/shields/primary_7x1_z16.svg
new file mode 100644
index 0000000..a6efad3
--- /dev/null
+++ b/symbols/shields/primary_7x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 55.0 16.0">
+  <rect x="0.5" y="0.5" width="54.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_7x1_z18.svg b/symbols/shields/primary_7x1_z18.svg
new file mode 100644
index 0000000..a30187e
--- /dev/null
+++ b/symbols/shields/primary_7x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 60.0 17.0">
+  <rect x="0.5" y="0.5" width="59.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_7x2.svg b/symbols/shields/primary_7x2.svg
index 84ce609..3fdbaf3 100644
--- a/symbols/shields/primary_7x2.svg
+++ b/symbols/shields/primary_7x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 60.50 31.75'>
-<rect x='1.25' y='1.75' height='30' width='59.25' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='27.0' width='56.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='53.25' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 51.0 24.0">
+  <rect x="0.5" y="0.5" width="50.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_7x2_z16.svg b/symbols/shields/primary_7x2_z16.svg
new file mode 100644
index 0000000..6a56c09
--- /dev/null
+++ b/symbols/shields/primary_7x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 55.0 26.0">
+  <rect x="0.5" y="0.5" width="54.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_7x2_z18.svg b/symbols/shields/primary_7x2_z18.svg
new file mode 100644
index 0000000..a8bbcf9
--- /dev/null
+++ b/symbols/shields/primary_7x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 60.0 28.0">
+  <rect x="0.5" y="0.5" width="59.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_7x3.svg b/symbols/shields/primary_7x3.svg
index 08a9a48..304ce42 100644
--- a/symbols/shields/primary_7x3.svg
+++ b/symbols/shields/primary_7x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 60.50 45.75'>
-<rect x='1.25' y='1.75' height='44' width='59.25' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='41.0' width='56.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='53.25' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 51.0 33.0">
+  <rect x="0.5" y="0.5" width="50.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_7x3_z16.svg b/symbols/shields/primary_7x3_z16.svg
new file mode 100644
index 0000000..39c50be
--- /dev/null
+++ b/symbols/shields/primary_7x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 55.0 36.0">
+  <rect x="0.5" y="0.5" width="54.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_7x3_z18.svg b/symbols/shields/primary_7x3_z18.svg
new file mode 100644
index 0000000..ecefdf3
--- /dev/null
+++ b/symbols/shields/primary_7x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 60.0 39.0">
+  <rect x="0.5" y="0.5" width="59.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_7x4.svg b/symbols/shields/primary_7x4.svg
index cf56cc6..680b9b9 100644
--- a/symbols/shields/primary_7x4.svg
+++ b/symbols/shields/primary_7x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 60.50 55.75'>
-<rect x='1.25' y='1.75' height='54' width='59.25' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='51.0' width='56.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='53.25' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 51.0 42.0">
+  <rect x="0.5" y="0.5" width="50.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_7x4_z16.svg b/symbols/shields/primary_7x4_z16.svg
new file mode 100644
index 0000000..477c313
--- /dev/null
+++ b/symbols/shields/primary_7x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 55.0 46.0">
+  <rect x="0.5" y="0.5" width="54.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_7x4_z18.svg b/symbols/shields/primary_7x4_z18.svg
new file mode 100644
index 0000000..334149b
--- /dev/null
+++ b/symbols/shields/primary_7x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 60.0 50.0">
+  <rect x="0.5" y="0.5" width="59.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_8x1.svg b/symbols/shields/primary_8x1.svg
index 513e298..650d959 100644
--- a/symbols/shields/primary_8x1.svg
+++ b/symbols/shields/primary_8x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 67.25 19.75'>
-<rect x='1.25' y='1.75' height='18' width='66' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='15.0' width='63.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='60.0' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 57.0 15.0">
+  <rect x="0.5" y="0.5" width="56.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_8x1_z16.svg b/symbols/shields/primary_8x1_z16.svg
new file mode 100644
index 0000000..98076d4
--- /dev/null
+++ b/symbols/shields/primary_8x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 61.0 16.0">
+  <rect x="0.5" y="0.5" width="60.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_8x1_z18.svg b/symbols/shields/primary_8x1_z18.svg
new file mode 100644
index 0000000..6039b0a
--- /dev/null
+++ b/symbols/shields/primary_8x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 67.0 17.0">
+  <rect x="0.5" y="0.5" width="66.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_8x2.svg b/symbols/shields/primary_8x2.svg
index c12b3f5..1cb546c 100644
--- a/symbols/shields/primary_8x2.svg
+++ b/symbols/shields/primary_8x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 67.25 31.75'>
-<rect x='1.25' y='1.75' height='30' width='66' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='27.0' width='63.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='60.0' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 57.0 24.0">
+  <rect x="0.5" y="0.5" width="56.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_8x2_z16.svg b/symbols/shields/primary_8x2_z16.svg
new file mode 100644
index 0000000..264468f
--- /dev/null
+++ b/symbols/shields/primary_8x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 61.0 26.0">
+  <rect x="0.5" y="0.5" width="60.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_8x2_z18.svg b/symbols/shields/primary_8x2_z18.svg
new file mode 100644
index 0000000..f38bf9e
--- /dev/null
+++ b/symbols/shields/primary_8x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 67.0 28.0">
+  <rect x="0.5" y="0.5" width="66.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_8x3.svg b/symbols/shields/primary_8x3.svg
index f0fba8a..7bd91fe 100644
--- a/symbols/shields/primary_8x3.svg
+++ b/symbols/shields/primary_8x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 67.25 45.75'>
-<rect x='1.25' y='1.75' height='44' width='66' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='41.0' width='63.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='60.0' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 57.0 33.0">
+  <rect x="0.5" y="0.5" width="56.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_8x3_z16.svg b/symbols/shields/primary_8x3_z16.svg
new file mode 100644
index 0000000..9f8416d
--- /dev/null
+++ b/symbols/shields/primary_8x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 61.0 36.0">
+  <rect x="0.5" y="0.5" width="60.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_8x3_z18.svg b/symbols/shields/primary_8x3_z18.svg
new file mode 100644
index 0000000..61b16fb
--- /dev/null
+++ b/symbols/shields/primary_8x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 67.0 39.0">
+  <rect x="0.5" y="0.5" width="66.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_8x4.svg b/symbols/shields/primary_8x4.svg
index 06c8705..9d8aab5 100644
--- a/symbols/shields/primary_8x4.svg
+++ b/symbols/shields/primary_8x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 67.25 55.75'>
-<rect x='1.25' y='1.75' height='54' width='66' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='51.0' width='63.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='60.0' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 57.0 42.0">
+  <rect x="0.5" y="0.5" width="56.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_8x4_z16.svg b/symbols/shields/primary_8x4_z16.svg
new file mode 100644
index 0000000..3e5f79f
--- /dev/null
+++ b/symbols/shields/primary_8x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 61.0 46.0">
+  <rect x="0.5" y="0.5" width="60.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_8x4_z18.svg b/symbols/shields/primary_8x4_z18.svg
new file mode 100644
index 0000000..4286df3
--- /dev/null
+++ b/symbols/shields/primary_8x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 67.0 50.0">
+  <rect x="0.5" y="0.5" width="66.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_9x1.svg b/symbols/shields/primary_9x1.svg
index 6cdc553..53575fb 100644
--- a/symbols/shields/primary_9x1.svg
+++ b/symbols/shields/primary_9x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 71.75 19.75'>
-<rect x='1.25' y='1.75' height='18' width='70.5' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='15.0' width='67.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='64.5' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 63.0 15.0">
+  <rect x="0.5" y="0.5" width="62.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_9x1_z16.svg b/symbols/shields/primary_9x1_z16.svg
new file mode 100644
index 0000000..aa67cd6
--- /dev/null
+++ b/symbols/shields/primary_9x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 16.0">
+  <rect x="0.5" y="0.5" width="67.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_9x1_z18.svg b/symbols/shields/primary_9x1_z18.svg
new file mode 100644
index 0000000..b657ce4
--- /dev/null
+++ b/symbols/shields/primary_9x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 17.0">
+  <rect x="0.5" y="0.5" width="73.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_9x2.svg b/symbols/shields/primary_9x2.svg
index 1a89a3c..8354b57 100644
--- a/symbols/shields/primary_9x2.svg
+++ b/symbols/shields/primary_9x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 71.75 31.75'>
-<rect x='1.25' y='1.75' height='30' width='70.5' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='27.0' width='67.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='64.5' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 63.0 24.0">
+  <rect x="0.5" y="0.5" width="62.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_9x2_z16.svg b/symbols/shields/primary_9x2_z16.svg
new file mode 100644
index 0000000..01e8882
--- /dev/null
+++ b/symbols/shields/primary_9x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 26.0">
+  <rect x="0.5" y="0.5" width="67.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_9x2_z18.svg b/symbols/shields/primary_9x2_z18.svg
new file mode 100644
index 0000000..c35ed36
--- /dev/null
+++ b/symbols/shields/primary_9x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 28.0">
+  <rect x="0.5" y="0.5" width="73.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_9x3.svg b/symbols/shields/primary_9x3.svg
index 57c57e5..0f802ef 100644
--- a/symbols/shields/primary_9x3.svg
+++ b/symbols/shields/primary_9x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 71.75 45.75'>
-<rect x='1.25' y='1.75' height='44' width='70.5' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='41.0' width='67.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='64.5' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 63.0 33.0">
+  <rect x="0.5" y="0.5" width="62.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_9x3_z16.svg b/symbols/shields/primary_9x3_z16.svg
new file mode 100644
index 0000000..5d45a7d
--- /dev/null
+++ b/symbols/shields/primary_9x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 36.0">
+  <rect x="0.5" y="0.5" width="67.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_9x3_z18.svg b/symbols/shields/primary_9x3_z18.svg
new file mode 100644
index 0000000..f51579c
--- /dev/null
+++ b/symbols/shields/primary_9x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 39.0">
+  <rect x="0.5" y="0.5" width="73.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_9x4.svg b/symbols/shields/primary_9x4.svg
index 5f7c586..cece204 100644
--- a/symbols/shields/primary_9x4.svg
+++ b/symbols/shields/primary_9x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 71.75 55.75'>
-<rect x='1.25' y='1.75' height='54' width='70.5' rx='9' fill='#bb7b7f'/>
-<rect x='2.75' y='3.25' height='51.0' width='67.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='64.5' rx='6.0' fill='#bb7b7f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 63.0 42.0">
+  <rect x="0.5" y="0.5" width="62.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/primary_9x4_z16.svg b/symbols/shields/primary_9x4_z16.svg
new file mode 100644
index 0000000..a0f6e05
--- /dev/null
+++ b/symbols/shields/primary_9x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 46.0">
+  <rect x="0.5" y="0.5" width="67.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/primary_9x4_z18.svg b/symbols/shields/primary_9x4_z18.svg
new file mode 100644
index 0000000..6494042
--- /dev/null
+++ b/symbols/shields/primary_9x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 50.0">
+  <rect x="0.5" y="0.5" width="73.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f3e3cf;stroke:#d1b795;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_10x1.svg b/symbols/shields/secondary_10x1.svg
index 1e90714..7578db6 100644
--- a/symbols/shields/secondary_10x1.svg
+++ b/symbols/shields/secondary_10x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 77.00 19.75'>
-<rect x='1.25' y='1.75' height='18' width='75.75' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='15.0' width='72.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='69.75' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 15.0">
+  <rect x="0.5" y="0.5" width="67.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_10x1_z16.svg b/symbols/shields/secondary_10x1_z16.svg
new file mode 100644
index 0000000..28c68e7
--- /dev/null
+++ b/symbols/shields/secondary_10x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 16.0">
+  <rect x="0.5" y="0.5" width="73.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_10x1_z18.svg b/symbols/shields/secondary_10x1_z18.svg
new file mode 100644
index 0000000..1143bfe
--- /dev/null
+++ b/symbols/shields/secondary_10x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 17.0">
+  <rect x="0.5" y="0.5" width="80.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_10x2.svg b/symbols/shields/secondary_10x2.svg
index be0935a..52f68f1 100644
--- a/symbols/shields/secondary_10x2.svg
+++ b/symbols/shields/secondary_10x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 77.00 31.75'>
-<rect x='1.25' y='1.75' height='30' width='75.75' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='27.0' width='72.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='69.75' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 24.0">
+  <rect x="0.5" y="0.5" width="67.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_10x2_z16.svg b/symbols/shields/secondary_10x2_z16.svg
new file mode 100644
index 0000000..7718f80
--- /dev/null
+++ b/symbols/shields/secondary_10x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 26.0">
+  <rect x="0.5" y="0.5" width="73.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_10x2_z18.svg b/symbols/shields/secondary_10x2_z18.svg
new file mode 100644
index 0000000..bc891a9
--- /dev/null
+++ b/symbols/shields/secondary_10x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 28.0">
+  <rect x="0.5" y="0.5" width="80.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_10x3.svg b/symbols/shields/secondary_10x3.svg
index ac58ec9..297011b 100644
--- a/symbols/shields/secondary_10x3.svg
+++ b/symbols/shields/secondary_10x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 77.00 45.75'>
-<rect x='1.25' y='1.75' height='44' width='75.75' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='41.0' width='72.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='69.75' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 33.0">
+  <rect x="0.5" y="0.5" width="67.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_10x3_z16.svg b/symbols/shields/secondary_10x3_z16.svg
new file mode 100644
index 0000000..29ed97d
--- /dev/null
+++ b/symbols/shields/secondary_10x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 36.0">
+  <rect x="0.5" y="0.5" width="73.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_10x3_z18.svg b/symbols/shields/secondary_10x3_z18.svg
new file mode 100644
index 0000000..5646038
--- /dev/null
+++ b/symbols/shields/secondary_10x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 39.0">
+  <rect x="0.5" y="0.5" width="80.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_10x4.svg b/symbols/shields/secondary_10x4.svg
index b9afbee..9ae62ee 100644
--- a/symbols/shields/secondary_10x4.svg
+++ b/symbols/shields/secondary_10x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 77.00 55.75'>
-<rect x='1.25' y='1.75' height='54' width='75.75' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='51.0' width='72.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='69.75' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 42.0">
+  <rect x="0.5" y="0.5" width="67.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_10x4_z16.svg b/symbols/shields/secondary_10x4_z16.svg
new file mode 100644
index 0000000..3bb5fd1
--- /dev/null
+++ b/symbols/shields/secondary_10x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 46.0">
+  <rect x="0.5" y="0.5" width="73.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_10x4_z18.svg b/symbols/shields/secondary_10x4_z18.svg
new file mode 100644
index 0000000..4ab633b
--- /dev/null
+++ b/symbols/shields/secondary_10x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 50.0">
+  <rect x="0.5" y="0.5" width="80.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_11x1.svg b/symbols/shields/secondary_11x1.svg
index c7f25ec..c777f73 100644
--- a/symbols/shields/secondary_11x1.svg
+++ b/symbols/shields/secondary_11x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 82.00 19.75'>
-<rect x='1.25' y='1.75' height='18' width='80.75' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='15.0' width='77.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='74.75' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 15.0">
+  <rect x="0.5" y="0.5" width="73.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_11x1_z16.svg b/symbols/shields/secondary_11x1_z16.svg
new file mode 100644
index 0000000..373008d
--- /dev/null
+++ b/symbols/shields/secondary_11x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 16.0">
+  <rect x="0.5" y="0.5" width="80.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_11x1_z18.svg b/symbols/shields/secondary_11x1_z18.svg
new file mode 100644
index 0000000..e3a824a
--- /dev/null
+++ b/symbols/shields/secondary_11x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 89.0 17.0">
+  <rect x="0.5" y="0.5" width="88.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_11x2.svg b/symbols/shields/secondary_11x2.svg
index e79d006..73d77aa 100644
--- a/symbols/shields/secondary_11x2.svg
+++ b/symbols/shields/secondary_11x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 82.00 31.75'>
-<rect x='1.25' y='1.75' height='30' width='80.75' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='27.0' width='77.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='74.75' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 24.0">
+  <rect x="0.5" y="0.5" width="73.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_11x2_z16.svg b/symbols/shields/secondary_11x2_z16.svg
new file mode 100644
index 0000000..4a290ce
--- /dev/null
+++ b/symbols/shields/secondary_11x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 26.0">
+  <rect x="0.5" y="0.5" width="80.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_11x2_z18.svg b/symbols/shields/secondary_11x2_z18.svg
new file mode 100644
index 0000000..79f41b9
--- /dev/null
+++ b/symbols/shields/secondary_11x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 89.0 28.0">
+  <rect x="0.5" y="0.5" width="88.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_11x3.svg b/symbols/shields/secondary_11x3.svg
index 16f52e2..b98c7bb 100644
--- a/symbols/shields/secondary_11x3.svg
+++ b/symbols/shields/secondary_11x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 82.00 45.75'>
-<rect x='1.25' y='1.75' height='44' width='80.75' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='41.0' width='77.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='74.75' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 33.0">
+  <rect x="0.5" y="0.5" width="73.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_11x3_z16.svg b/symbols/shields/secondary_11x3_z16.svg
new file mode 100644
index 0000000..10d67f5
--- /dev/null
+++ b/symbols/shields/secondary_11x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 36.0">
+  <rect x="0.5" y="0.5" width="80.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_11x3_z18.svg b/symbols/shields/secondary_11x3_z18.svg
new file mode 100644
index 0000000..0b573ed
--- /dev/null
+++ b/symbols/shields/secondary_11x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 89.0 39.0">
+  <rect x="0.5" y="0.5" width="88.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_11x4.svg b/symbols/shields/secondary_11x4.svg
index 620e924..a67dec2 100644
--- a/symbols/shields/secondary_11x4.svg
+++ b/symbols/shields/secondary_11x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 82.00 55.75'>
-<rect x='1.25' y='1.75' height='54' width='80.75' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='51.0' width='77.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='74.75' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 42.0">
+  <rect x="0.5" y="0.5" width="73.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_11x4_z16.svg b/symbols/shields/secondary_11x4_z16.svg
new file mode 100644
index 0000000..9bc83bb
--- /dev/null
+++ b/symbols/shields/secondary_11x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 46.0">
+  <rect x="0.5" y="0.5" width="80.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_11x4_z18.svg b/symbols/shields/secondary_11x4_z18.svg
new file mode 100644
index 0000000..0960fda
--- /dev/null
+++ b/symbols/shields/secondary_11x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 89.0 50.0">
+  <rect x="0.5" y="0.5" width="88.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_1x1.svg b/symbols/shields/secondary_1x1.svg
index 8cfc21e..4ca39e4 100644
--- a/symbols/shields/secondary_1x1.svg
+++ b/symbols/shields/secondary_1x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 19.25 19.75'>
-<rect x='1.25' y='1.75' height='18' width='18' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='15.0' width='15.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='12.0' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 15.0 15.0">
+  <rect x="0.5" y="0.5" width="14.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_1x1_z16.svg b/symbols/shields/secondary_1x1_z16.svg
new file mode 100644
index 0000000..25b20cd
--- /dev/null
+++ b/symbols/shields/secondary_1x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16.0 16.0">
+  <rect x="0.5" y="0.5" width="15.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_1x1_z18.svg b/symbols/shields/secondary_1x1_z18.svg
new file mode 100644
index 0000000..47fa846
--- /dev/null
+++ b/symbols/shields/secondary_1x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 17.0 17.0">
+  <rect x="0.5" y="0.5" width="16.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_1x2.svg b/symbols/shields/secondary_1x2.svg
index 92e6014..354de04 100644
--- a/symbols/shields/secondary_1x2.svg
+++ b/symbols/shields/secondary_1x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 19.25 31.75'>
-<rect x='1.25' y='1.75' height='30' width='18' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='27.0' width='15.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='12.0' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 15.0 24.0">
+  <rect x="0.5" y="0.5" width="14.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_1x2_z16.svg b/symbols/shields/secondary_1x2_z16.svg
new file mode 100644
index 0000000..cb3cec6
--- /dev/null
+++ b/symbols/shields/secondary_1x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16.0 26.0">
+  <rect x="0.5" y="0.5" width="15.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_1x2_z18.svg b/symbols/shields/secondary_1x2_z18.svg
new file mode 100644
index 0000000..3676a0f
--- /dev/null
+++ b/symbols/shields/secondary_1x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 17.0 28.0">
+  <rect x="0.5" y="0.5" width="16.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_1x3.svg b/symbols/shields/secondary_1x3.svg
index d12fdb6..a538615 100644
--- a/symbols/shields/secondary_1x3.svg
+++ b/symbols/shields/secondary_1x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 19.25 45.75'>
-<rect x='1.25' y='1.75' height='44' width='18' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='41.0' width='15.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='12.0' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 15.0 33.0">
+  <rect x="0.5" y="0.5" width="14.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_1x3_z16.svg b/symbols/shields/secondary_1x3_z16.svg
new file mode 100644
index 0000000..b637f50
--- /dev/null
+++ b/symbols/shields/secondary_1x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16.0 36.0">
+  <rect x="0.5" y="0.5" width="15.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_1x3_z18.svg b/symbols/shields/secondary_1x3_z18.svg
new file mode 100644
index 0000000..28de77f
--- /dev/null
+++ b/symbols/shields/secondary_1x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 17.0 39.0">
+  <rect x="0.5" y="0.5" width="16.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_1x4.svg b/symbols/shields/secondary_1x4.svg
index d46d7a0..0bab86f 100644
--- a/symbols/shields/secondary_1x4.svg
+++ b/symbols/shields/secondary_1x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 19.25 55.75'>
-<rect x='1.25' y='1.75' height='54' width='18' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='51.0' width='15.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='12.0' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 15.0 42.0">
+  <rect x="0.5" y="0.5" width="14.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_1x4_z16.svg b/symbols/shields/secondary_1x4_z16.svg
new file mode 100644
index 0000000..b615068
--- /dev/null
+++ b/symbols/shields/secondary_1x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16.0 46.0">
+  <rect x="0.5" y="0.5" width="15.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_1x4_z18.svg b/symbols/shields/secondary_1x4_z18.svg
new file mode 100644
index 0000000..a3b5876
--- /dev/null
+++ b/symbols/shields/secondary_1x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 17.0 50.0">
+  <rect x="0.5" y="0.5" width="16.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_2x1.svg b/symbols/shields/secondary_2x1.svg
index 5c3bacf..2735f50 100644
--- a/symbols/shields/secondary_2x1.svg
+++ b/symbols/shields/secondary_2x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 26.50 19.75'>
-<rect x='1.25' y='1.75' height='18' width='25.25' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='15.0' width='22.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='19.25' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 21.0 15.0">
+  <rect x="0.5" y="0.5" width="20.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_2x1_z16.svg b/symbols/shields/secondary_2x1_z16.svg
new file mode 100644
index 0000000..02762af
--- /dev/null
+++ b/symbols/shields/secondary_2x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22.0 16.0">
+  <rect x="0.5" y="0.5" width="21.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_2x1_z18.svg b/symbols/shields/secondary_2x1_z18.svg
new file mode 100644
index 0000000..bde5c03
--- /dev/null
+++ b/symbols/shields/secondary_2x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24.0 17.0">
+  <rect x="0.5" y="0.5" width="23.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_2x2.svg b/symbols/shields/secondary_2x2.svg
index 02a6797..34c02e9 100644
--- a/symbols/shields/secondary_2x2.svg
+++ b/symbols/shields/secondary_2x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 26.50 31.75'>
-<rect x='1.25' y='1.75' height='30' width='25.25' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='27.0' width='22.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='19.25' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 21.0 24.0">
+  <rect x="0.5" y="0.5" width="20.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_2x2_z16.svg b/symbols/shields/secondary_2x2_z16.svg
new file mode 100644
index 0000000..0599393
--- /dev/null
+++ b/symbols/shields/secondary_2x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22.0 26.0">
+  <rect x="0.5" y="0.5" width="21.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_2x2_z18.svg b/symbols/shields/secondary_2x2_z18.svg
new file mode 100644
index 0000000..50fc543
--- /dev/null
+++ b/symbols/shields/secondary_2x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24.0 28.0">
+  <rect x="0.5" y="0.5" width="23.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_2x3.svg b/symbols/shields/secondary_2x3.svg
index 997347a..808c4fb 100644
--- a/symbols/shields/secondary_2x3.svg
+++ b/symbols/shields/secondary_2x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 26.50 45.75'>
-<rect x='1.25' y='1.75' height='44' width='25.25' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='41.0' width='22.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='19.25' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 21.0 33.0">
+  <rect x="0.5" y="0.5" width="20.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_2x3_z16.svg b/symbols/shields/secondary_2x3_z16.svg
new file mode 100644
index 0000000..d52a2b9
--- /dev/null
+++ b/symbols/shields/secondary_2x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22.0 36.0">
+  <rect x="0.5" y="0.5" width="21.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_2x3_z18.svg b/symbols/shields/secondary_2x3_z18.svg
new file mode 100644
index 0000000..07b3f28
--- /dev/null
+++ b/symbols/shields/secondary_2x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24.0 39.0">
+  <rect x="0.5" y="0.5" width="23.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_2x4.svg b/symbols/shields/secondary_2x4.svg
index 5070a31..81c4a0a 100644
--- a/symbols/shields/secondary_2x4.svg
+++ b/symbols/shields/secondary_2x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 26.50 55.75'>
-<rect x='1.25' y='1.75' height='54' width='25.25' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='51.0' width='22.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='19.25' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 21.0 42.0">
+  <rect x="0.5" y="0.5" width="20.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_2x4_z16.svg b/symbols/shields/secondary_2x4_z16.svg
new file mode 100644
index 0000000..cfb3892
--- /dev/null
+++ b/symbols/shields/secondary_2x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22.0 46.0">
+  <rect x="0.5" y="0.5" width="21.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_2x4_z18.svg b/symbols/shields/secondary_2x4_z18.svg
new file mode 100644
index 0000000..33f73bb
--- /dev/null
+++ b/symbols/shields/secondary_2x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24.0 50.0">
+  <rect x="0.5" y="0.5" width="23.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_3x1.svg b/symbols/shields/secondary_3x1.svg
index 62614bb..5be3e4c 100644
--- a/symbols/shields/secondary_3x1.svg
+++ b/symbols/shields/secondary_3x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 33.75 19.75'>
-<rect x='1.25' y='1.75' height='18' width='32.5' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='15.0' width='29.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='26.5' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 27.0 15.0">
+  <rect x="0.5" y="0.5" width="26.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_3x1_z16.svg b/symbols/shields/secondary_3x1_z16.svg
new file mode 100644
index 0000000..39bbbdc
--- /dev/null
+++ b/symbols/shields/secondary_3x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 29.0 16.0">
+  <rect x="0.5" y="0.5" width="28.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_3x1_z18.svg b/symbols/shields/secondary_3x1_z18.svg
new file mode 100644
index 0000000..8538abe
--- /dev/null
+++ b/symbols/shields/secondary_3x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 31.0 17.0">
+  <rect x="0.5" y="0.5" width="30.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_3x2.svg b/symbols/shields/secondary_3x2.svg
index 0d67319..6ff7107 100644
--- a/symbols/shields/secondary_3x2.svg
+++ b/symbols/shields/secondary_3x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 33.75 31.75'>
-<rect x='1.25' y='1.75' height='30' width='32.5' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='27.0' width='29.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='26.5' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 27.0 24.0">
+  <rect x="0.5" y="0.5" width="26.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_3x2_z16.svg b/symbols/shields/secondary_3x2_z16.svg
new file mode 100644
index 0000000..e5a745c
--- /dev/null
+++ b/symbols/shields/secondary_3x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 29.0 26.0">
+  <rect x="0.5" y="0.5" width="28.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_3x2_z18.svg b/symbols/shields/secondary_3x2_z18.svg
new file mode 100644
index 0000000..8dbee48
--- /dev/null
+++ b/symbols/shields/secondary_3x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 31.0 28.0">
+  <rect x="0.5" y="0.5" width="30.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_3x3.svg b/symbols/shields/secondary_3x3.svg
index 60c3739..d16ecb3 100644
--- a/symbols/shields/secondary_3x3.svg
+++ b/symbols/shields/secondary_3x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 33.75 45.75'>
-<rect x='1.25' y='1.75' height='44' width='32.5' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='41.0' width='29.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='26.5' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 27.0 33.0">
+  <rect x="0.5" y="0.5" width="26.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_3x3_z16.svg b/symbols/shields/secondary_3x3_z16.svg
new file mode 100644
index 0000000..8eb1031
--- /dev/null
+++ b/symbols/shields/secondary_3x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 29.0 36.0">
+  <rect x="0.5" y="0.5" width="28.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_3x3_z18.svg b/symbols/shields/secondary_3x3_z18.svg
new file mode 100644
index 0000000..072b861
--- /dev/null
+++ b/symbols/shields/secondary_3x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 31.0 39.0">
+  <rect x="0.5" y="0.5" width="30.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_3x4.svg b/symbols/shields/secondary_3x4.svg
index 1be64ee..241aafb 100644
--- a/symbols/shields/secondary_3x4.svg
+++ b/symbols/shields/secondary_3x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 33.75 55.75'>
-<rect x='1.25' y='1.75' height='54' width='32.5' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='51.0' width='29.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='26.5' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 27.0 42.0">
+  <rect x="0.5" y="0.5" width="26.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_3x4_z16.svg b/symbols/shields/secondary_3x4_z16.svg
new file mode 100644
index 0000000..2934d35
--- /dev/null
+++ b/symbols/shields/secondary_3x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 29.0 46.0">
+  <rect x="0.5" y="0.5" width="28.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_3x4_z18.svg b/symbols/shields/secondary_3x4_z18.svg
new file mode 100644
index 0000000..7c4a3de
--- /dev/null
+++ b/symbols/shields/secondary_3x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 31.0 50.0">
+  <rect x="0.5" y="0.5" width="30.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_4x1.svg b/symbols/shields/secondary_4x1.svg
index 1c4b499..37cc6f0 100644
--- a/symbols/shields/secondary_4x1.svg
+++ b/symbols/shields/secondary_4x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 40.25 19.75'>
-<rect x='1.25' y='1.75' height='18' width='39' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='15.0' width='36.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='33.0' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 33.0 15.0">
+  <rect x="0.5" y="0.5" width="32.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_4x1_z16.svg b/symbols/shields/secondary_4x1_z16.svg
new file mode 100644
index 0000000..1acf8ee
--- /dev/null
+++ b/symbols/shields/secondary_4x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 35.0 16.0">
+  <rect x="0.5" y="0.5" width="34.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_4x1_z18.svg b/symbols/shields/secondary_4x1_z18.svg
new file mode 100644
index 0000000..f3abd2b
--- /dev/null
+++ b/symbols/shields/secondary_4x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 38.0 17.0">
+  <rect x="0.5" y="0.5" width="37.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_4x2.svg b/symbols/shields/secondary_4x2.svg
index aaa8245..4ec48bd 100644
--- a/symbols/shields/secondary_4x2.svg
+++ b/symbols/shields/secondary_4x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 40.25 31.75'>
-<rect x='1.25' y='1.75' height='30' width='39' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='27.0' width='36.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='33.0' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 33.0 24.0">
+  <rect x="0.5" y="0.5" width="32.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_4x2_z16.svg b/symbols/shields/secondary_4x2_z16.svg
new file mode 100644
index 0000000..3c78924
--- /dev/null
+++ b/symbols/shields/secondary_4x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 35.0 26.0">
+  <rect x="0.5" y="0.5" width="34.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_4x2_z18.svg b/symbols/shields/secondary_4x2_z18.svg
new file mode 100644
index 0000000..49ef862
--- /dev/null
+++ b/symbols/shields/secondary_4x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 38.0 28.0">
+  <rect x="0.5" y="0.5" width="37.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_4x3.svg b/symbols/shields/secondary_4x3.svg
index 1ce851d..07dcbe9 100644
--- a/symbols/shields/secondary_4x3.svg
+++ b/symbols/shields/secondary_4x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 40.25 45.75'>
-<rect x='1.25' y='1.75' height='44' width='39' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='41.0' width='36.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='33.0' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 33.0 33.0">
+  <rect x="0.5" y="0.5" width="32.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_4x3_z16.svg b/symbols/shields/secondary_4x3_z16.svg
new file mode 100644
index 0000000..0476975
--- /dev/null
+++ b/symbols/shields/secondary_4x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 35.0 36.0">
+  <rect x="0.5" y="0.5" width="34.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_4x3_z18.svg b/symbols/shields/secondary_4x3_z18.svg
new file mode 100644
index 0000000..d7e3428
--- /dev/null
+++ b/symbols/shields/secondary_4x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 38.0 39.0">
+  <rect x="0.5" y="0.5" width="37.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_4x4.svg b/symbols/shields/secondary_4x4.svg
index 3b0d65a..5b3ca94 100644
--- a/symbols/shields/secondary_4x4.svg
+++ b/symbols/shields/secondary_4x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 40.25 55.75'>
-<rect x='1.25' y='1.75' height='54' width='39' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='51.0' width='36.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='33.0' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 33.0 42.0">
+  <rect x="0.5" y="0.5" width="32.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_4x4_z16.svg b/symbols/shields/secondary_4x4_z16.svg
new file mode 100644
index 0000000..d98bca0
--- /dev/null
+++ b/symbols/shields/secondary_4x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 35.0 46.0">
+  <rect x="0.5" y="0.5" width="34.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_4x4_z18.svg b/symbols/shields/secondary_4x4_z18.svg
new file mode 100644
index 0000000..e0a27d3
--- /dev/null
+++ b/symbols/shields/secondary_4x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 38.0 50.0">
+  <rect x="0.5" y="0.5" width="37.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_5x1.svg b/symbols/shields/secondary_5x1.svg
index b24dded..a8f9155 100644
--- a/symbols/shields/secondary_5x1.svg
+++ b/symbols/shields/secondary_5x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 47.25 19.75'>
-<rect x='1.25' y='1.75' height='18' width='46' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='15.0' width='43.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='40.0' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 39.0 15.0">
+  <rect x="0.5" y="0.5" width="38.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_5x1_z16.svg b/symbols/shields/secondary_5x1_z16.svg
new file mode 100644
index 0000000..1a78b38
--- /dev/null
+++ b/symbols/shields/secondary_5x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 42.0 16.0">
+  <rect x="0.5" y="0.5" width="41.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_5x1_z18.svg b/symbols/shields/secondary_5x1_z18.svg
new file mode 100644
index 0000000..d166702
--- /dev/null
+++ b/symbols/shields/secondary_5x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 17.0">
+  <rect x="0.5" y="0.5" width="44.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_5x2.svg b/symbols/shields/secondary_5x2.svg
index 2c1a6ea..a45399c 100644
--- a/symbols/shields/secondary_5x2.svg
+++ b/symbols/shields/secondary_5x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 47.25 31.75'>
-<rect x='1.25' y='1.75' height='30' width='46' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='27.0' width='43.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='40.0' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 39.0 24.0">
+  <rect x="0.5" y="0.5" width="38.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_5x2_z16.svg b/symbols/shields/secondary_5x2_z16.svg
new file mode 100644
index 0000000..8a25b39
--- /dev/null
+++ b/symbols/shields/secondary_5x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 42.0 26.0">
+  <rect x="0.5" y="0.5" width="41.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_5x2_z18.svg b/symbols/shields/secondary_5x2_z18.svg
new file mode 100644
index 0000000..62d6600
--- /dev/null
+++ b/symbols/shields/secondary_5x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 28.0">
+  <rect x="0.5" y="0.5" width="44.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_5x3.svg b/symbols/shields/secondary_5x3.svg
index 354d394..00ff7e7 100644
--- a/symbols/shields/secondary_5x3.svg
+++ b/symbols/shields/secondary_5x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 47.25 45.75'>
-<rect x='1.25' y='1.75' height='44' width='46' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='41.0' width='43.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='40.0' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 39.0 33.0">
+  <rect x="0.5" y="0.5" width="38.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_5x3_z16.svg b/symbols/shields/secondary_5x3_z16.svg
new file mode 100644
index 0000000..2d90b9f
--- /dev/null
+++ b/symbols/shields/secondary_5x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 42.0 36.0">
+  <rect x="0.5" y="0.5" width="41.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_5x3_z18.svg b/symbols/shields/secondary_5x3_z18.svg
new file mode 100644
index 0000000..c268d49
--- /dev/null
+++ b/symbols/shields/secondary_5x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 39.0">
+  <rect x="0.5" y="0.5" width="44.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_5x4.svg b/symbols/shields/secondary_5x4.svg
index 42e86fa..1a2bbb7 100644
--- a/symbols/shields/secondary_5x4.svg
+++ b/symbols/shields/secondary_5x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 47.25 55.75'>
-<rect x='1.25' y='1.75' height='54' width='46' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='51.0' width='43.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='40.0' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 39.0 42.0">
+  <rect x="0.5" y="0.5" width="38.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_5x4_z16.svg b/symbols/shields/secondary_5x4_z16.svg
new file mode 100644
index 0000000..66c8888
--- /dev/null
+++ b/symbols/shields/secondary_5x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 42.0 46.0">
+  <rect x="0.5" y="0.5" width="41.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_5x4_z18.svg b/symbols/shields/secondary_5x4_z18.svg
new file mode 100644
index 0000000..690ab04
--- /dev/null
+++ b/symbols/shields/secondary_5x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 50.0">
+  <rect x="0.5" y="0.5" width="44.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_6x1.svg b/symbols/shields/secondary_6x1.svg
index 16182c5..b7a2852 100644
--- a/symbols/shields/secondary_6x1.svg
+++ b/symbols/shields/secondary_6x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 53.75 19.75'>
-<rect x='1.25' y='1.75' height='18' width='52.5' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='15.0' width='49.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='46.5' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 15.0">
+  <rect x="0.5" y="0.5" width="44.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_6x1_z16.svg b/symbols/shields/secondary_6x1_z16.svg
new file mode 100644
index 0000000..06836d9
--- /dev/null
+++ b/symbols/shields/secondary_6x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 48.0 16.0">
+  <rect x="0.5" y="0.5" width="47.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_6x1_z18.svg b/symbols/shields/secondary_6x1_z18.svg
new file mode 100644
index 0000000..edfa125
--- /dev/null
+++ b/symbols/shields/secondary_6x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 53.0 17.0">
+  <rect x="0.5" y="0.5" width="52.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_6x2.svg b/symbols/shields/secondary_6x2.svg
index 4408687..b83066b 100644
--- a/symbols/shields/secondary_6x2.svg
+++ b/symbols/shields/secondary_6x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 53.75 31.75'>
-<rect x='1.25' y='1.75' height='30' width='52.5' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='27.0' width='49.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='46.5' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 24.0">
+  <rect x="0.5" y="0.5" width="44.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_6x2_z16.svg b/symbols/shields/secondary_6x2_z16.svg
new file mode 100644
index 0000000..c549ff1
--- /dev/null
+++ b/symbols/shields/secondary_6x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 48.0 26.0">
+  <rect x="0.5" y="0.5" width="47.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_6x2_z18.svg b/symbols/shields/secondary_6x2_z18.svg
new file mode 100644
index 0000000..b8396da
--- /dev/null
+++ b/symbols/shields/secondary_6x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 53.0 28.0">
+  <rect x="0.5" y="0.5" width="52.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_6x3.svg b/symbols/shields/secondary_6x3.svg
index d6afdf1..ed85863 100644
--- a/symbols/shields/secondary_6x3.svg
+++ b/symbols/shields/secondary_6x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 53.75 45.75'>
-<rect x='1.25' y='1.75' height='44' width='52.5' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='41.0' width='49.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='46.5' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 33.0">
+  <rect x="0.5" y="0.5" width="44.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_6x3_z16.svg b/symbols/shields/secondary_6x3_z16.svg
new file mode 100644
index 0000000..1da86b5
--- /dev/null
+++ b/symbols/shields/secondary_6x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 48.0 36.0">
+  <rect x="0.5" y="0.5" width="47.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_6x3_z18.svg b/symbols/shields/secondary_6x3_z18.svg
new file mode 100644
index 0000000..04f68d7
--- /dev/null
+++ b/symbols/shields/secondary_6x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 53.0 39.0">
+  <rect x="0.5" y="0.5" width="52.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_6x4.svg b/symbols/shields/secondary_6x4.svg
index b0ed252..98b7f14 100644
--- a/symbols/shields/secondary_6x4.svg
+++ b/symbols/shields/secondary_6x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 53.75 55.75'>
-<rect x='1.25' y='1.75' height='54' width='52.5' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='51.0' width='49.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='46.5' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 42.0">
+  <rect x="0.5" y="0.5" width="44.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_6x4_z16.svg b/symbols/shields/secondary_6x4_z16.svg
new file mode 100644
index 0000000..8db9050
--- /dev/null
+++ b/symbols/shields/secondary_6x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 48.0 46.0">
+  <rect x="0.5" y="0.5" width="47.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_6x4_z18.svg b/symbols/shields/secondary_6x4_z18.svg
new file mode 100644
index 0000000..94d82cf
--- /dev/null
+++ b/symbols/shields/secondary_6x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 53.0 50.0">
+  <rect x="0.5" y="0.5" width="52.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_7x1.svg b/symbols/shields/secondary_7x1.svg
index 42c4605..7292e3d 100644
--- a/symbols/shields/secondary_7x1.svg
+++ b/symbols/shields/secondary_7x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 60.50 19.75'>
-<rect x='1.25' y='1.75' height='18' width='59.25' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='15.0' width='56.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='53.25' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 51.0 15.0">
+  <rect x="0.5" y="0.5" width="50.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_7x1_z16.svg b/symbols/shields/secondary_7x1_z16.svg
new file mode 100644
index 0000000..0bebf49
--- /dev/null
+++ b/symbols/shields/secondary_7x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 55.0 16.0">
+  <rect x="0.5" y="0.5" width="54.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_7x1_z18.svg b/symbols/shields/secondary_7x1_z18.svg
new file mode 100644
index 0000000..890d21d
--- /dev/null
+++ b/symbols/shields/secondary_7x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 60.0 17.0">
+  <rect x="0.5" y="0.5" width="59.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_7x2.svg b/symbols/shields/secondary_7x2.svg
index 3e3e037..3f9be0c 100644
--- a/symbols/shields/secondary_7x2.svg
+++ b/symbols/shields/secondary_7x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 60.50 31.75'>
-<rect x='1.25' y='1.75' height='30' width='59.25' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='27.0' width='56.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='53.25' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 51.0 24.0">
+  <rect x="0.5" y="0.5" width="50.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_7x2_z16.svg b/symbols/shields/secondary_7x2_z16.svg
new file mode 100644
index 0000000..70adeff
--- /dev/null
+++ b/symbols/shields/secondary_7x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 55.0 26.0">
+  <rect x="0.5" y="0.5" width="54.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_7x2_z18.svg b/symbols/shields/secondary_7x2_z18.svg
new file mode 100644
index 0000000..fee9108
--- /dev/null
+++ b/symbols/shields/secondary_7x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 60.0 28.0">
+  <rect x="0.5" y="0.5" width="59.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_7x3.svg b/symbols/shields/secondary_7x3.svg
index 6b1eba9..5f1a785 100644
--- a/symbols/shields/secondary_7x3.svg
+++ b/symbols/shields/secondary_7x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 60.50 45.75'>
-<rect x='1.25' y='1.75' height='44' width='59.25' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='41.0' width='56.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='53.25' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 51.0 33.0">
+  <rect x="0.5" y="0.5" width="50.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_7x3_z16.svg b/symbols/shields/secondary_7x3_z16.svg
new file mode 100644
index 0000000..fadfd1c
--- /dev/null
+++ b/symbols/shields/secondary_7x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 55.0 36.0">
+  <rect x="0.5" y="0.5" width="54.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_7x3_z18.svg b/symbols/shields/secondary_7x3_z18.svg
new file mode 100644
index 0000000..5583879
--- /dev/null
+++ b/symbols/shields/secondary_7x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 60.0 39.0">
+  <rect x="0.5" y="0.5" width="59.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_7x4.svg b/symbols/shields/secondary_7x4.svg
index 876cd78..1d6965a 100644
--- a/symbols/shields/secondary_7x4.svg
+++ b/symbols/shields/secondary_7x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 60.50 55.75'>
-<rect x='1.25' y='1.75' height='54' width='59.25' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='51.0' width='56.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='53.25' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 51.0 42.0">
+  <rect x="0.5" y="0.5" width="50.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_7x4_z16.svg b/symbols/shields/secondary_7x4_z16.svg
new file mode 100644
index 0000000..b29dae4
--- /dev/null
+++ b/symbols/shields/secondary_7x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 55.0 46.0">
+  <rect x="0.5" y="0.5" width="54.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_7x4_z18.svg b/symbols/shields/secondary_7x4_z18.svg
new file mode 100644
index 0000000..8312713
--- /dev/null
+++ b/symbols/shields/secondary_7x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 60.0 50.0">
+  <rect x="0.5" y="0.5" width="59.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_8x1.svg b/symbols/shields/secondary_8x1.svg
index 4c0ed5f..2ce0625 100644
--- a/symbols/shields/secondary_8x1.svg
+++ b/symbols/shields/secondary_8x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 67.25 19.75'>
-<rect x='1.25' y='1.75' height='18' width='66' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='15.0' width='63.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='60.0' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 57.0 15.0">
+  <rect x="0.5" y="0.5" width="56.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_8x1_z16.svg b/symbols/shields/secondary_8x1_z16.svg
new file mode 100644
index 0000000..ad8b0ab
--- /dev/null
+++ b/symbols/shields/secondary_8x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 61.0 16.0">
+  <rect x="0.5" y="0.5" width="60.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_8x1_z18.svg b/symbols/shields/secondary_8x1_z18.svg
new file mode 100644
index 0000000..fe81800
--- /dev/null
+++ b/symbols/shields/secondary_8x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 67.0 17.0">
+  <rect x="0.5" y="0.5" width="66.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_8x2.svg b/symbols/shields/secondary_8x2.svg
index 8362516..819b337 100644
--- a/symbols/shields/secondary_8x2.svg
+++ b/symbols/shields/secondary_8x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 67.25 31.75'>
-<rect x='1.25' y='1.75' height='30' width='66' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='27.0' width='63.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='60.0' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 57.0 24.0">
+  <rect x="0.5" y="0.5" width="56.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_8x2_z16.svg b/symbols/shields/secondary_8x2_z16.svg
new file mode 100644
index 0000000..8b0c8c3
--- /dev/null
+++ b/symbols/shields/secondary_8x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 61.0 26.0">
+  <rect x="0.5" y="0.5" width="60.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_8x2_z18.svg b/symbols/shields/secondary_8x2_z18.svg
new file mode 100644
index 0000000..23942d5
--- /dev/null
+++ b/symbols/shields/secondary_8x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 67.0 28.0">
+  <rect x="0.5" y="0.5" width="66.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_8x3.svg b/symbols/shields/secondary_8x3.svg
index 2922686..00a48ff 100644
--- a/symbols/shields/secondary_8x3.svg
+++ b/symbols/shields/secondary_8x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 67.25 45.75'>
-<rect x='1.25' y='1.75' height='44' width='66' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='41.0' width='63.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='60.0' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 57.0 33.0">
+  <rect x="0.5" y="0.5" width="56.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_8x3_z16.svg b/symbols/shields/secondary_8x3_z16.svg
new file mode 100644
index 0000000..0594232
--- /dev/null
+++ b/symbols/shields/secondary_8x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 61.0 36.0">
+  <rect x="0.5" y="0.5" width="60.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_8x3_z18.svg b/symbols/shields/secondary_8x3_z18.svg
new file mode 100644
index 0000000..e306492
--- /dev/null
+++ b/symbols/shields/secondary_8x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 67.0 39.0">
+  <rect x="0.5" y="0.5" width="66.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_8x4.svg b/symbols/shields/secondary_8x4.svg
index 237ae3d..b92dede 100644
--- a/symbols/shields/secondary_8x4.svg
+++ b/symbols/shields/secondary_8x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 67.25 55.75'>
-<rect x='1.25' y='1.75' height='54' width='66' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='51.0' width='63.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='60.0' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 57.0 42.0">
+  <rect x="0.5" y="0.5" width="56.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_8x4_z16.svg b/symbols/shields/secondary_8x4_z16.svg
new file mode 100644
index 0000000..f64e47c
--- /dev/null
+++ b/symbols/shields/secondary_8x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 61.0 46.0">
+  <rect x="0.5" y="0.5" width="60.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_8x4_z18.svg b/symbols/shields/secondary_8x4_z18.svg
new file mode 100644
index 0000000..8a87d91
--- /dev/null
+++ b/symbols/shields/secondary_8x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 67.0 50.0">
+  <rect x="0.5" y="0.5" width="66.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_9x1.svg b/symbols/shields/secondary_9x1.svg
index 9664a1b..7169d76 100644
--- a/symbols/shields/secondary_9x1.svg
+++ b/symbols/shields/secondary_9x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 71.75 19.75'>
-<rect x='1.25' y='1.75' height='18' width='70.5' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='15.0' width='67.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='64.5' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 63.0 15.0">
+  <rect x="0.5" y="0.5" width="62.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_9x1_z16.svg b/symbols/shields/secondary_9x1_z16.svg
new file mode 100644
index 0000000..cc65e80
--- /dev/null
+++ b/symbols/shields/secondary_9x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 16.0">
+  <rect x="0.5" y="0.5" width="67.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_9x1_z18.svg b/symbols/shields/secondary_9x1_z18.svg
new file mode 100644
index 0000000..fba3629
--- /dev/null
+++ b/symbols/shields/secondary_9x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 17.0">
+  <rect x="0.5" y="0.5" width="73.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_9x2.svg b/symbols/shields/secondary_9x2.svg
index 64ae0bb..6b1c383 100644
--- a/symbols/shields/secondary_9x2.svg
+++ b/symbols/shields/secondary_9x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 71.75 31.75'>
-<rect x='1.25' y='1.75' height='30' width='70.5' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='27.0' width='67.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='64.5' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 63.0 24.0">
+  <rect x="0.5" y="0.5" width="62.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_9x2_z16.svg b/symbols/shields/secondary_9x2_z16.svg
new file mode 100644
index 0000000..08384d9
--- /dev/null
+++ b/symbols/shields/secondary_9x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 26.0">
+  <rect x="0.5" y="0.5" width="67.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_9x2_z18.svg b/symbols/shields/secondary_9x2_z18.svg
new file mode 100644
index 0000000..37c9ea2
--- /dev/null
+++ b/symbols/shields/secondary_9x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 28.0">
+  <rect x="0.5" y="0.5" width="73.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_9x3.svg b/symbols/shields/secondary_9x3.svg
index 3bc7c80..3826531 100644
--- a/symbols/shields/secondary_9x3.svg
+++ b/symbols/shields/secondary_9x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 71.75 45.75'>
-<rect x='1.25' y='1.75' height='44' width='70.5' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='41.0' width='67.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='64.5' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 63.0 33.0">
+  <rect x="0.5" y="0.5" width="62.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_9x3_z16.svg b/symbols/shields/secondary_9x3_z16.svg
new file mode 100644
index 0000000..e84d6a3
--- /dev/null
+++ b/symbols/shields/secondary_9x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 36.0">
+  <rect x="0.5" y="0.5" width="67.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_9x3_z18.svg b/symbols/shields/secondary_9x3_z18.svg
new file mode 100644
index 0000000..159631e
--- /dev/null
+++ b/symbols/shields/secondary_9x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 39.0">
+  <rect x="0.5" y="0.5" width="73.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_9x4.svg b/symbols/shields/secondary_9x4.svg
index 8713f8d..e12754d 100644
--- a/symbols/shields/secondary_9x4.svg
+++ b/symbols/shields/secondary_9x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 71.75 55.75'>
-<rect x='1.25' y='1.75' height='54' width='70.5' rx='9' fill='#c6ad84'/>
-<rect x='2.75' y='3.25' height='51.0' width='67.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='64.5' rx='6.0' fill='#c6ad84'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 63.0 42.0">
+  <rect x="0.5" y="0.5" width="62.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/secondary_9x4_z16.svg b/symbols/shields/secondary_9x4_z16.svg
new file mode 100644
index 0000000..7e6e9a7
--- /dev/null
+++ b/symbols/shields/secondary_9x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 46.0">
+  <rect x="0.5" y="0.5" width="67.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/secondary_9x4_z18.svg b/symbols/shields/secondary_9x4_z18.svg
new file mode 100644
index 0000000..58cd31e
--- /dev/null
+++ b/symbols/shields/secondary_9x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 50.0">
+  <rect x="0.5" y="0.5" width="73.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#eeefd7;stroke:#c4c69c;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_10x1.svg b/symbols/shields/tertiary_10x1.svg
index 76ed878..14f5b6d 100644
--- a/symbols/shields/tertiary_10x1.svg
+++ b/symbols/shields/tertiary_10x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 77.00 19.75'>
-<rect x='1.25' y='1.75' height='18' width='75.75' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='15.0' width='72.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='69.75' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 15.0">
+  <rect x="0.5" y="0.5" width="67.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_10x1_z16.svg b/symbols/shields/tertiary_10x1_z16.svg
new file mode 100644
index 0000000..060fdfd
--- /dev/null
+++ b/symbols/shields/tertiary_10x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 16.0">
+  <rect x="0.5" y="0.5" width="73.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_10x1_z18.svg b/symbols/shields/tertiary_10x1_z18.svg
new file mode 100644
index 0000000..4840181
--- /dev/null
+++ b/symbols/shields/tertiary_10x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 17.0">
+  <rect x="0.5" y="0.5" width="80.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_10x2.svg b/symbols/shields/tertiary_10x2.svg
index aff10b5..06fdb09 100644
--- a/symbols/shields/tertiary_10x2.svg
+++ b/symbols/shields/tertiary_10x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 77.00 31.75'>
-<rect x='1.25' y='1.75' height='30' width='75.75' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='27.0' width='72.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='69.75' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 24.0">
+  <rect x="0.5" y="0.5" width="67.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_10x2_z16.svg b/symbols/shields/tertiary_10x2_z16.svg
new file mode 100644
index 0000000..8a65c4e
--- /dev/null
+++ b/symbols/shields/tertiary_10x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 26.0">
+  <rect x="0.5" y="0.5" width="73.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_10x2_z18.svg b/symbols/shields/tertiary_10x2_z18.svg
new file mode 100644
index 0000000..8999c31
--- /dev/null
+++ b/symbols/shields/tertiary_10x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 28.0">
+  <rect x="0.5" y="0.5" width="80.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_10x3.svg b/symbols/shields/tertiary_10x3.svg
index c5fc4a8..0fb6b64 100644
--- a/symbols/shields/tertiary_10x3.svg
+++ b/symbols/shields/tertiary_10x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 77.00 45.75'>
-<rect x='1.25' y='1.75' height='44' width='75.75' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='41.0' width='72.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='69.75' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 33.0">
+  <rect x="0.5" y="0.5" width="67.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_10x3_z16.svg b/symbols/shields/tertiary_10x3_z16.svg
new file mode 100644
index 0000000..99a13bf
--- /dev/null
+++ b/symbols/shields/tertiary_10x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 36.0">
+  <rect x="0.5" y="0.5" width="73.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_10x3_z18.svg b/symbols/shields/tertiary_10x3_z18.svg
new file mode 100644
index 0000000..35deb7e
--- /dev/null
+++ b/symbols/shields/tertiary_10x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 39.0">
+  <rect x="0.5" y="0.5" width="80.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_10x4.svg b/symbols/shields/tertiary_10x4.svg
index c8eddf7..def502c 100644
--- a/symbols/shields/tertiary_10x4.svg
+++ b/symbols/shields/tertiary_10x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 77.00 55.75'>
-<rect x='1.25' y='1.75' height='54' width='75.75' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='51.0' width='72.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='69.75' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 42.0">
+  <rect x="0.5" y="0.5" width="67.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_10x4_z16.svg b/symbols/shields/tertiary_10x4_z16.svg
new file mode 100644
index 0000000..abd5a34
--- /dev/null
+++ b/symbols/shields/tertiary_10x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 46.0">
+  <rect x="0.5" y="0.5" width="73.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_10x4_z18.svg b/symbols/shields/tertiary_10x4_z18.svg
new file mode 100644
index 0000000..b246fa3
--- /dev/null
+++ b/symbols/shields/tertiary_10x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 50.0">
+  <rect x="0.5" y="0.5" width="80.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_11x1.svg b/symbols/shields/tertiary_11x1.svg
index 9cc4f46..8ed1802 100644
--- a/symbols/shields/tertiary_11x1.svg
+++ b/symbols/shields/tertiary_11x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 82.00 19.75'>
-<rect x='1.25' y='1.75' height='18' width='80.75' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='15.0' width='77.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='74.75' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 15.0">
+  <rect x="0.5" y="0.5" width="73.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_11x1_z16.svg b/symbols/shields/tertiary_11x1_z16.svg
new file mode 100644
index 0000000..a29470a
--- /dev/null
+++ b/symbols/shields/tertiary_11x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 16.0">
+  <rect x="0.5" y="0.5" width="80.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_11x1_z18.svg b/symbols/shields/tertiary_11x1_z18.svg
new file mode 100644
index 0000000..52712f8
--- /dev/null
+++ b/symbols/shields/tertiary_11x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 89.0 17.0">
+  <rect x="0.5" y="0.5" width="88.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_11x2.svg b/symbols/shields/tertiary_11x2.svg
index 81c1c22..6664788 100644
--- a/symbols/shields/tertiary_11x2.svg
+++ b/symbols/shields/tertiary_11x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 82.00 31.75'>
-<rect x='1.25' y='1.75' height='30' width='80.75' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='27.0' width='77.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='74.75' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 24.0">
+  <rect x="0.5" y="0.5" width="73.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_11x2_z16.svg b/symbols/shields/tertiary_11x2_z16.svg
new file mode 100644
index 0000000..4a0c1f0
--- /dev/null
+++ b/symbols/shields/tertiary_11x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 26.0">
+  <rect x="0.5" y="0.5" width="80.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_11x2_z18.svg b/symbols/shields/tertiary_11x2_z18.svg
new file mode 100644
index 0000000..7dbd36f
--- /dev/null
+++ b/symbols/shields/tertiary_11x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 89.0 28.0">
+  <rect x="0.5" y="0.5" width="88.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_11x3.svg b/symbols/shields/tertiary_11x3.svg
index 5b18b85..cf58fbb 100644
--- a/symbols/shields/tertiary_11x3.svg
+++ b/symbols/shields/tertiary_11x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 82.00 45.75'>
-<rect x='1.25' y='1.75' height='44' width='80.75' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='41.0' width='77.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='74.75' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 33.0">
+  <rect x="0.5" y="0.5" width="73.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_11x3_z16.svg b/symbols/shields/tertiary_11x3_z16.svg
new file mode 100644
index 0000000..e5eaabc
--- /dev/null
+++ b/symbols/shields/tertiary_11x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 36.0">
+  <rect x="0.5" y="0.5" width="80.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_11x3_z18.svg b/symbols/shields/tertiary_11x3_z18.svg
new file mode 100644
index 0000000..4ac877e
--- /dev/null
+++ b/symbols/shields/tertiary_11x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 89.0 39.0">
+  <rect x="0.5" y="0.5" width="88.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_11x4.svg b/symbols/shields/tertiary_11x4.svg
index ac1fec9..3d008d4 100644
--- a/symbols/shields/tertiary_11x4.svg
+++ b/symbols/shields/tertiary_11x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 82.00 55.75'>
-<rect x='1.25' y='1.75' height='54' width='80.75' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='51.0' width='77.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='74.75' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 42.0">
+  <rect x="0.5" y="0.5" width="73.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_11x4_z16.svg b/symbols/shields/tertiary_11x4_z16.svg
new file mode 100644
index 0000000..ad6f2df
--- /dev/null
+++ b/symbols/shields/tertiary_11x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 46.0">
+  <rect x="0.5" y="0.5" width="80.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_11x4_z18.svg b/symbols/shields/tertiary_11x4_z18.svg
new file mode 100644
index 0000000..50ce611
--- /dev/null
+++ b/symbols/shields/tertiary_11x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 89.0 50.0">
+  <rect x="0.5" y="0.5" width="88.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_1x1.svg b/symbols/shields/tertiary_1x1.svg
index ca221bc..8a96ef2 100644
--- a/symbols/shields/tertiary_1x1.svg
+++ b/symbols/shields/tertiary_1x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 19.25 19.75'>
-<rect x='1.25' y='1.75' height='18' width='18' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='15.0' width='15.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='12.0' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 15.0 15.0">
+  <rect x="0.5" y="0.5" width="14.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_1x1_z16.svg b/symbols/shields/tertiary_1x1_z16.svg
new file mode 100644
index 0000000..ba40c8b
--- /dev/null
+++ b/symbols/shields/tertiary_1x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16.0 16.0">
+  <rect x="0.5" y="0.5" width="15.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_1x1_z18.svg b/symbols/shields/tertiary_1x1_z18.svg
new file mode 100644
index 0000000..f9bdde8
--- /dev/null
+++ b/symbols/shields/tertiary_1x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 17.0 17.0">
+  <rect x="0.5" y="0.5" width="16.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_1x2.svg b/symbols/shields/tertiary_1x2.svg
index 49e201c..d20df5e 100644
--- a/symbols/shields/tertiary_1x2.svg
+++ b/symbols/shields/tertiary_1x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 19.25 31.75'>
-<rect x='1.25' y='1.75' height='30' width='18' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='27.0' width='15.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='12.0' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 15.0 24.0">
+  <rect x="0.5" y="0.5" width="14.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_1x2_z16.svg b/symbols/shields/tertiary_1x2_z16.svg
new file mode 100644
index 0000000..ea4f211
--- /dev/null
+++ b/symbols/shields/tertiary_1x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16.0 26.0">
+  <rect x="0.5" y="0.5" width="15.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_1x2_z18.svg b/symbols/shields/tertiary_1x2_z18.svg
new file mode 100644
index 0000000..84f90f9
--- /dev/null
+++ b/symbols/shields/tertiary_1x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 17.0 28.0">
+  <rect x="0.5" y="0.5" width="16.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_1x3.svg b/symbols/shields/tertiary_1x3.svg
index 8f2b51e..577346d 100644
--- a/symbols/shields/tertiary_1x3.svg
+++ b/symbols/shields/tertiary_1x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 19.25 45.75'>
-<rect x='1.25' y='1.75' height='44' width='18' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='41.0' width='15.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='12.0' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 15.0 33.0">
+  <rect x="0.5" y="0.5" width="14.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_1x3_z16.svg b/symbols/shields/tertiary_1x3_z16.svg
new file mode 100644
index 0000000..5dc6f1e
--- /dev/null
+++ b/symbols/shields/tertiary_1x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16.0 36.0">
+  <rect x="0.5" y="0.5" width="15.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_1x3_z18.svg b/symbols/shields/tertiary_1x3_z18.svg
new file mode 100644
index 0000000..506dbc2
--- /dev/null
+++ b/symbols/shields/tertiary_1x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 17.0 39.0">
+  <rect x="0.5" y="0.5" width="16.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_1x4.svg b/symbols/shields/tertiary_1x4.svg
index f5bffed..3473fd5 100644
--- a/symbols/shields/tertiary_1x4.svg
+++ b/symbols/shields/tertiary_1x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 19.25 55.75'>
-<rect x='1.25' y='1.75' height='54' width='18' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='51.0' width='15.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='12.0' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 15.0 42.0">
+  <rect x="0.5" y="0.5" width="14.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_1x4_z16.svg b/symbols/shields/tertiary_1x4_z16.svg
new file mode 100644
index 0000000..3a1a109
--- /dev/null
+++ b/symbols/shields/tertiary_1x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16.0 46.0">
+  <rect x="0.5" y="0.5" width="15.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_1x4_z18.svg b/symbols/shields/tertiary_1x4_z18.svg
new file mode 100644
index 0000000..2a8a2bb
--- /dev/null
+++ b/symbols/shields/tertiary_1x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 17.0 50.0">
+  <rect x="0.5" y="0.5" width="16.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_2x1.svg b/symbols/shields/tertiary_2x1.svg
index 9c0c7a5..c8959ca 100644
--- a/symbols/shields/tertiary_2x1.svg
+++ b/symbols/shields/tertiary_2x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 26.50 19.75'>
-<rect x='1.25' y='1.75' height='18' width='25.25' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='15.0' width='22.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='19.25' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 21.0 15.0">
+  <rect x="0.5" y="0.5" width="20.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_2x1_z16.svg b/symbols/shields/tertiary_2x1_z16.svg
new file mode 100644
index 0000000..e28b685
--- /dev/null
+++ b/symbols/shields/tertiary_2x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22.0 16.0">
+  <rect x="0.5" y="0.5" width="21.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_2x1_z18.svg b/symbols/shields/tertiary_2x1_z18.svg
new file mode 100644
index 0000000..aae9495
--- /dev/null
+++ b/symbols/shields/tertiary_2x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24.0 17.0">
+  <rect x="0.5" y="0.5" width="23.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_2x2.svg b/symbols/shields/tertiary_2x2.svg
index 141d769..49c5438 100644
--- a/symbols/shields/tertiary_2x2.svg
+++ b/symbols/shields/tertiary_2x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 26.50 31.75'>
-<rect x='1.25' y='1.75' height='30' width='25.25' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='27.0' width='22.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='19.25' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 21.0 24.0">
+  <rect x="0.5" y="0.5" width="20.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_2x2_z16.svg b/symbols/shields/tertiary_2x2_z16.svg
new file mode 100644
index 0000000..658593e
--- /dev/null
+++ b/symbols/shields/tertiary_2x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22.0 26.0">
+  <rect x="0.5" y="0.5" width="21.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_2x2_z18.svg b/symbols/shields/tertiary_2x2_z18.svg
new file mode 100644
index 0000000..6c4d3a1
--- /dev/null
+++ b/symbols/shields/tertiary_2x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24.0 28.0">
+  <rect x="0.5" y="0.5" width="23.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_2x3.svg b/symbols/shields/tertiary_2x3.svg
index f82418a..f63dcdc 100644
--- a/symbols/shields/tertiary_2x3.svg
+++ b/symbols/shields/tertiary_2x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 26.50 45.75'>
-<rect x='1.25' y='1.75' height='44' width='25.25' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='41.0' width='22.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='19.25' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 21.0 33.0">
+  <rect x="0.5" y="0.5" width="20.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_2x3_z16.svg b/symbols/shields/tertiary_2x3_z16.svg
new file mode 100644
index 0000000..d3cceef
--- /dev/null
+++ b/symbols/shields/tertiary_2x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22.0 36.0">
+  <rect x="0.5" y="0.5" width="21.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_2x3_z18.svg b/symbols/shields/tertiary_2x3_z18.svg
new file mode 100644
index 0000000..3073649
--- /dev/null
+++ b/symbols/shields/tertiary_2x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24.0 39.0">
+  <rect x="0.5" y="0.5" width="23.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_2x4.svg b/symbols/shields/tertiary_2x4.svg
index 5d7eb09..fcc2d2a 100644
--- a/symbols/shields/tertiary_2x4.svg
+++ b/symbols/shields/tertiary_2x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 26.50 55.75'>
-<rect x='1.25' y='1.75' height='54' width='25.25' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='51.0' width='22.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='19.25' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 21.0 42.0">
+  <rect x="0.5" y="0.5" width="20.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_2x4_z16.svg b/symbols/shields/tertiary_2x4_z16.svg
new file mode 100644
index 0000000..41f432d
--- /dev/null
+++ b/symbols/shields/tertiary_2x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22.0 46.0">
+  <rect x="0.5" y="0.5" width="21.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_2x4_z18.svg b/symbols/shields/tertiary_2x4_z18.svg
new file mode 100644
index 0000000..378b557
--- /dev/null
+++ b/symbols/shields/tertiary_2x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24.0 50.0">
+  <rect x="0.5" y="0.5" width="23.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_3x1.svg b/symbols/shields/tertiary_3x1.svg
index 09d4ca6..ccb7b4e 100644
--- a/symbols/shields/tertiary_3x1.svg
+++ b/symbols/shields/tertiary_3x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 33.75 19.75'>
-<rect x='1.25' y='1.75' height='18' width='32.5' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='15.0' width='29.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='26.5' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 27.0 15.0">
+  <rect x="0.5" y="0.5" width="26.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_3x1_z16.svg b/symbols/shields/tertiary_3x1_z16.svg
new file mode 100644
index 0000000..678450d
--- /dev/null
+++ b/symbols/shields/tertiary_3x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 29.0 16.0">
+  <rect x="0.5" y="0.5" width="28.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_3x1_z18.svg b/symbols/shields/tertiary_3x1_z18.svg
new file mode 100644
index 0000000..1508677
--- /dev/null
+++ b/symbols/shields/tertiary_3x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 31.0 17.0">
+  <rect x="0.5" y="0.5" width="30.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_3x2.svg b/symbols/shields/tertiary_3x2.svg
index 44a3df3..9b42efe 100644
--- a/symbols/shields/tertiary_3x2.svg
+++ b/symbols/shields/tertiary_3x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 33.75 31.75'>
-<rect x='1.25' y='1.75' height='30' width='32.5' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='27.0' width='29.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='26.5' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 27.0 24.0">
+  <rect x="0.5" y="0.5" width="26.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_3x2_z16.svg b/symbols/shields/tertiary_3x2_z16.svg
new file mode 100644
index 0000000..dd851d9
--- /dev/null
+++ b/symbols/shields/tertiary_3x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 29.0 26.0">
+  <rect x="0.5" y="0.5" width="28.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_3x2_z18.svg b/symbols/shields/tertiary_3x2_z18.svg
new file mode 100644
index 0000000..5f41be3
--- /dev/null
+++ b/symbols/shields/tertiary_3x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 31.0 28.0">
+  <rect x="0.5" y="0.5" width="30.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_3x3.svg b/symbols/shields/tertiary_3x3.svg
index 57c476f..bad8e66 100644
--- a/symbols/shields/tertiary_3x3.svg
+++ b/symbols/shields/tertiary_3x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 33.75 45.75'>
-<rect x='1.25' y='1.75' height='44' width='32.5' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='41.0' width='29.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='26.5' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 27.0 33.0">
+  <rect x="0.5" y="0.5" width="26.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_3x3_z16.svg b/symbols/shields/tertiary_3x3_z16.svg
new file mode 100644
index 0000000..77098ba
--- /dev/null
+++ b/symbols/shields/tertiary_3x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 29.0 36.0">
+  <rect x="0.5" y="0.5" width="28.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_3x3_z18.svg b/symbols/shields/tertiary_3x3_z18.svg
new file mode 100644
index 0000000..9bb32fe
--- /dev/null
+++ b/symbols/shields/tertiary_3x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 31.0 39.0">
+  <rect x="0.5" y="0.5" width="30.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_3x4.svg b/symbols/shields/tertiary_3x4.svg
index 607d0c4..d3dc923 100644
--- a/symbols/shields/tertiary_3x4.svg
+++ b/symbols/shields/tertiary_3x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 33.75 55.75'>
-<rect x='1.25' y='1.75' height='54' width='32.5' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='51.0' width='29.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='26.5' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 27.0 42.0">
+  <rect x="0.5" y="0.5" width="26.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_3x4_z16.svg b/symbols/shields/tertiary_3x4_z16.svg
new file mode 100644
index 0000000..1d94c13
--- /dev/null
+++ b/symbols/shields/tertiary_3x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 29.0 46.0">
+  <rect x="0.5" y="0.5" width="28.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_3x4_z18.svg b/symbols/shields/tertiary_3x4_z18.svg
new file mode 100644
index 0000000..ff51439
--- /dev/null
+++ b/symbols/shields/tertiary_3x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 31.0 50.0">
+  <rect x="0.5" y="0.5" width="30.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_4x1.svg b/symbols/shields/tertiary_4x1.svg
index e24d04a..d59813f 100644
--- a/symbols/shields/tertiary_4x1.svg
+++ b/symbols/shields/tertiary_4x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 40.25 19.75'>
-<rect x='1.25' y='1.75' height='18' width='39' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='15.0' width='36.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='33.0' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 33.0 15.0">
+  <rect x="0.5" y="0.5" width="32.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_4x1_z16.svg b/symbols/shields/tertiary_4x1_z16.svg
new file mode 100644
index 0000000..52634b1
--- /dev/null
+++ b/symbols/shields/tertiary_4x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 35.0 16.0">
+  <rect x="0.5" y="0.5" width="34.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_4x1_z18.svg b/symbols/shields/tertiary_4x1_z18.svg
new file mode 100644
index 0000000..f6ec547
--- /dev/null
+++ b/symbols/shields/tertiary_4x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 38.0 17.0">
+  <rect x="0.5" y="0.5" width="37.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_4x2.svg b/symbols/shields/tertiary_4x2.svg
index 7f6907d..dab5990 100644
--- a/symbols/shields/tertiary_4x2.svg
+++ b/symbols/shields/tertiary_4x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 40.25 31.75'>
-<rect x='1.25' y='1.75' height='30' width='39' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='27.0' width='36.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='33.0' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 33.0 24.0">
+  <rect x="0.5" y="0.5" width="32.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_4x2_z16.svg b/symbols/shields/tertiary_4x2_z16.svg
new file mode 100644
index 0000000..99c6ee0
--- /dev/null
+++ b/symbols/shields/tertiary_4x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 35.0 26.0">
+  <rect x="0.5" y="0.5" width="34.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_4x2_z18.svg b/symbols/shields/tertiary_4x2_z18.svg
new file mode 100644
index 0000000..e31d33f
--- /dev/null
+++ b/symbols/shields/tertiary_4x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 38.0 28.0">
+  <rect x="0.5" y="0.5" width="37.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_4x3.svg b/symbols/shields/tertiary_4x3.svg
index a5e7f88..107a98d 100644
--- a/symbols/shields/tertiary_4x3.svg
+++ b/symbols/shields/tertiary_4x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 40.25 45.75'>
-<rect x='1.25' y='1.75' height='44' width='39' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='41.0' width='36.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='33.0' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 33.0 33.0">
+  <rect x="0.5" y="0.5" width="32.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_4x3_z16.svg b/symbols/shields/tertiary_4x3_z16.svg
new file mode 100644
index 0000000..339167e
--- /dev/null
+++ b/symbols/shields/tertiary_4x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 35.0 36.0">
+  <rect x="0.5" y="0.5" width="34.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_4x3_z18.svg b/symbols/shields/tertiary_4x3_z18.svg
new file mode 100644
index 0000000..168431b
--- /dev/null
+++ b/symbols/shields/tertiary_4x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 38.0 39.0">
+  <rect x="0.5" y="0.5" width="37.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_4x4.svg b/symbols/shields/tertiary_4x4.svg
index 23892d8..379129f 100644
--- a/symbols/shields/tertiary_4x4.svg
+++ b/symbols/shields/tertiary_4x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 40.25 55.75'>
-<rect x='1.25' y='1.75' height='54' width='39' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='51.0' width='36.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='33.0' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 33.0 42.0">
+  <rect x="0.5" y="0.5" width="32.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_4x4_z16.svg b/symbols/shields/tertiary_4x4_z16.svg
new file mode 100644
index 0000000..ae0da51
--- /dev/null
+++ b/symbols/shields/tertiary_4x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 35.0 46.0">
+  <rect x="0.5" y="0.5" width="34.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_4x4_z18.svg b/symbols/shields/tertiary_4x4_z18.svg
new file mode 100644
index 0000000..62ba2b7
--- /dev/null
+++ b/symbols/shields/tertiary_4x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 38.0 50.0">
+  <rect x="0.5" y="0.5" width="37.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_5x1.svg b/symbols/shields/tertiary_5x1.svg
index e92206b..b07a178 100644
--- a/symbols/shields/tertiary_5x1.svg
+++ b/symbols/shields/tertiary_5x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 47.25 19.75'>
-<rect x='1.25' y='1.75' height='18' width='46' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='15.0' width='43.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='40.0' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 39.0 15.0">
+  <rect x="0.5" y="0.5" width="38.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_5x1_z16.svg b/symbols/shields/tertiary_5x1_z16.svg
new file mode 100644
index 0000000..e6379ba
--- /dev/null
+++ b/symbols/shields/tertiary_5x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 42.0 16.0">
+  <rect x="0.5" y="0.5" width="41.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_5x1_z18.svg b/symbols/shields/tertiary_5x1_z18.svg
new file mode 100644
index 0000000..2060b31
--- /dev/null
+++ b/symbols/shields/tertiary_5x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 17.0">
+  <rect x="0.5" y="0.5" width="44.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_5x2.svg b/symbols/shields/tertiary_5x2.svg
index 7cd283d..0198a09 100644
--- a/symbols/shields/tertiary_5x2.svg
+++ b/symbols/shields/tertiary_5x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 47.25 31.75'>
-<rect x='1.25' y='1.75' height='30' width='46' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='27.0' width='43.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='40.0' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 39.0 24.0">
+  <rect x="0.5" y="0.5" width="38.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_5x2_z16.svg b/symbols/shields/tertiary_5x2_z16.svg
new file mode 100644
index 0000000..5f040b6
--- /dev/null
+++ b/symbols/shields/tertiary_5x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 42.0 26.0">
+  <rect x="0.5" y="0.5" width="41.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_5x2_z18.svg b/symbols/shields/tertiary_5x2_z18.svg
new file mode 100644
index 0000000..dc5bd0f
--- /dev/null
+++ b/symbols/shields/tertiary_5x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 28.0">
+  <rect x="0.5" y="0.5" width="44.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_5x3.svg b/symbols/shields/tertiary_5x3.svg
index cf2718a..7e43dbd 100644
--- a/symbols/shields/tertiary_5x3.svg
+++ b/symbols/shields/tertiary_5x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 47.25 45.75'>
-<rect x='1.25' y='1.75' height='44' width='46' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='41.0' width='43.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='40.0' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 39.0 33.0">
+  <rect x="0.5" y="0.5" width="38.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_5x3_z16.svg b/symbols/shields/tertiary_5x3_z16.svg
new file mode 100644
index 0000000..c12efa4
--- /dev/null
+++ b/symbols/shields/tertiary_5x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 42.0 36.0">
+  <rect x="0.5" y="0.5" width="41.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_5x3_z18.svg b/symbols/shields/tertiary_5x3_z18.svg
new file mode 100644
index 0000000..1910280
--- /dev/null
+++ b/symbols/shields/tertiary_5x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 39.0">
+  <rect x="0.5" y="0.5" width="44.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_5x4.svg b/symbols/shields/tertiary_5x4.svg
index 0d69012..632d2ab 100644
--- a/symbols/shields/tertiary_5x4.svg
+++ b/symbols/shields/tertiary_5x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 47.25 55.75'>
-<rect x='1.25' y='1.75' height='54' width='46' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='51.0' width='43.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='40.0' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 39.0 42.0">
+  <rect x="0.5" y="0.5" width="38.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_5x4_z16.svg b/symbols/shields/tertiary_5x4_z16.svg
new file mode 100644
index 0000000..93b4a72
--- /dev/null
+++ b/symbols/shields/tertiary_5x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 42.0 46.0">
+  <rect x="0.5" y="0.5" width="41.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_5x4_z18.svg b/symbols/shields/tertiary_5x4_z18.svg
new file mode 100644
index 0000000..bf146c4
--- /dev/null
+++ b/symbols/shields/tertiary_5x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 50.0">
+  <rect x="0.5" y="0.5" width="44.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_6x1.svg b/symbols/shields/tertiary_6x1.svg
index 1769926..e4a9472 100644
--- a/symbols/shields/tertiary_6x1.svg
+++ b/symbols/shields/tertiary_6x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 53.75 19.75'>
-<rect x='1.25' y='1.75' height='18' width='52.5' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='15.0' width='49.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='46.5' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 15.0">
+  <rect x="0.5" y="0.5" width="44.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_6x1_z16.svg b/symbols/shields/tertiary_6x1_z16.svg
new file mode 100644
index 0000000..55b4469
--- /dev/null
+++ b/symbols/shields/tertiary_6x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 48.0 16.0">
+  <rect x="0.5" y="0.5" width="47.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_6x1_z18.svg b/symbols/shields/tertiary_6x1_z18.svg
new file mode 100644
index 0000000..38681f3
--- /dev/null
+++ b/symbols/shields/tertiary_6x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 53.0 17.0">
+  <rect x="0.5" y="0.5" width="52.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_6x2.svg b/symbols/shields/tertiary_6x2.svg
index 1d4f5ac..f484aa3 100644
--- a/symbols/shields/tertiary_6x2.svg
+++ b/symbols/shields/tertiary_6x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 53.75 31.75'>
-<rect x='1.25' y='1.75' height='30' width='52.5' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='27.0' width='49.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='46.5' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 24.0">
+  <rect x="0.5" y="0.5" width="44.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_6x2_z16.svg b/symbols/shields/tertiary_6x2_z16.svg
new file mode 100644
index 0000000..7b382df
--- /dev/null
+++ b/symbols/shields/tertiary_6x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 48.0 26.0">
+  <rect x="0.5" y="0.5" width="47.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_6x2_z18.svg b/symbols/shields/tertiary_6x2_z18.svg
new file mode 100644
index 0000000..7c79bc6
--- /dev/null
+++ b/symbols/shields/tertiary_6x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 53.0 28.0">
+  <rect x="0.5" y="0.5" width="52.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_6x3.svg b/symbols/shields/tertiary_6x3.svg
index a207a3c..d703c21 100644
--- a/symbols/shields/tertiary_6x3.svg
+++ b/symbols/shields/tertiary_6x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 53.75 45.75'>
-<rect x='1.25' y='1.75' height='44' width='52.5' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='41.0' width='49.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='46.5' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 33.0">
+  <rect x="0.5" y="0.5" width="44.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_6x3_z16.svg b/symbols/shields/tertiary_6x3_z16.svg
new file mode 100644
index 0000000..b7d03f1
--- /dev/null
+++ b/symbols/shields/tertiary_6x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 48.0 36.0">
+  <rect x="0.5" y="0.5" width="47.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_6x3_z18.svg b/symbols/shields/tertiary_6x3_z18.svg
new file mode 100644
index 0000000..e96eff6
--- /dev/null
+++ b/symbols/shields/tertiary_6x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 53.0 39.0">
+  <rect x="0.5" y="0.5" width="52.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_6x4.svg b/symbols/shields/tertiary_6x4.svg
index 0248947..d6acb7d 100644
--- a/symbols/shields/tertiary_6x4.svg
+++ b/symbols/shields/tertiary_6x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 53.75 55.75'>
-<rect x='1.25' y='1.75' height='54' width='52.5' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='51.0' width='49.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='46.5' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 42.0">
+  <rect x="0.5" y="0.5" width="44.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_6x4_z16.svg b/symbols/shields/tertiary_6x4_z16.svg
new file mode 100644
index 0000000..464116f
--- /dev/null
+++ b/symbols/shields/tertiary_6x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 48.0 46.0">
+  <rect x="0.5" y="0.5" width="47.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_6x4_z18.svg b/symbols/shields/tertiary_6x4_z18.svg
new file mode 100644
index 0000000..48316ed
--- /dev/null
+++ b/symbols/shields/tertiary_6x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 53.0 50.0">
+  <rect x="0.5" y="0.5" width="52.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_7x1.svg b/symbols/shields/tertiary_7x1.svg
index 3f47242..e21edba 100644
--- a/symbols/shields/tertiary_7x1.svg
+++ b/symbols/shields/tertiary_7x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 60.50 19.75'>
-<rect x='1.25' y='1.75' height='18' width='59.25' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='15.0' width='56.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='53.25' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 51.0 15.0">
+  <rect x="0.5" y="0.5" width="50.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_7x1_z16.svg b/symbols/shields/tertiary_7x1_z16.svg
new file mode 100644
index 0000000..cdf05f9
--- /dev/null
+++ b/symbols/shields/tertiary_7x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 55.0 16.0">
+  <rect x="0.5" y="0.5" width="54.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_7x1_z18.svg b/symbols/shields/tertiary_7x1_z18.svg
new file mode 100644
index 0000000..ac38aa9
--- /dev/null
+++ b/symbols/shields/tertiary_7x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 60.0 17.0">
+  <rect x="0.5" y="0.5" width="59.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_7x2.svg b/symbols/shields/tertiary_7x2.svg
index d6baacc..6eba0ee 100644
--- a/symbols/shields/tertiary_7x2.svg
+++ b/symbols/shields/tertiary_7x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 60.50 31.75'>
-<rect x='1.25' y='1.75' height='30' width='59.25' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='27.0' width='56.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='53.25' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 51.0 24.0">
+  <rect x="0.5" y="0.5" width="50.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_7x2_z16.svg b/symbols/shields/tertiary_7x2_z16.svg
new file mode 100644
index 0000000..fba86e6
--- /dev/null
+++ b/symbols/shields/tertiary_7x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 55.0 26.0">
+  <rect x="0.5" y="0.5" width="54.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_7x2_z18.svg b/symbols/shields/tertiary_7x2_z18.svg
new file mode 100644
index 0000000..e024c23
--- /dev/null
+++ b/symbols/shields/tertiary_7x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 60.0 28.0">
+  <rect x="0.5" y="0.5" width="59.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_7x3.svg b/symbols/shields/tertiary_7x3.svg
index aeb9b0a..43e62c6 100644
--- a/symbols/shields/tertiary_7x3.svg
+++ b/symbols/shields/tertiary_7x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 60.50 45.75'>
-<rect x='1.25' y='1.75' height='44' width='59.25' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='41.0' width='56.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='53.25' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 51.0 33.0">
+  <rect x="0.5" y="0.5" width="50.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_7x3_z16.svg b/symbols/shields/tertiary_7x3_z16.svg
new file mode 100644
index 0000000..f2eb53f
--- /dev/null
+++ b/symbols/shields/tertiary_7x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 55.0 36.0">
+  <rect x="0.5" y="0.5" width="54.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_7x3_z18.svg b/symbols/shields/tertiary_7x3_z18.svg
new file mode 100644
index 0000000..8e5f6d1
--- /dev/null
+++ b/symbols/shields/tertiary_7x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 60.0 39.0">
+  <rect x="0.5" y="0.5" width="59.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_7x4.svg b/symbols/shields/tertiary_7x4.svg
index 3dd39e3..32312f5 100644
--- a/symbols/shields/tertiary_7x4.svg
+++ b/symbols/shields/tertiary_7x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 60.50 55.75'>
-<rect x='1.25' y='1.75' height='54' width='59.25' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='51.0' width='56.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='53.25' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 51.0 42.0">
+  <rect x="0.5" y="0.5" width="50.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_7x4_z16.svg b/symbols/shields/tertiary_7x4_z16.svg
new file mode 100644
index 0000000..c97febf
--- /dev/null
+++ b/symbols/shields/tertiary_7x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 55.0 46.0">
+  <rect x="0.5" y="0.5" width="54.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_7x4_z18.svg b/symbols/shields/tertiary_7x4_z18.svg
new file mode 100644
index 0000000..bab1772
--- /dev/null
+++ b/symbols/shields/tertiary_7x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 60.0 50.0">
+  <rect x="0.5" y="0.5" width="59.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_8x1.svg b/symbols/shields/tertiary_8x1.svg
index e7877cb..96bc71a 100644
--- a/symbols/shields/tertiary_8x1.svg
+++ b/symbols/shields/tertiary_8x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 67.25 19.75'>
-<rect x='1.25' y='1.75' height='18' width='66' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='15.0' width='63.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='60.0' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 57.0 15.0">
+  <rect x="0.5" y="0.5" width="56.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_8x1_z16.svg b/symbols/shields/tertiary_8x1_z16.svg
new file mode 100644
index 0000000..c25ddad
--- /dev/null
+++ b/symbols/shields/tertiary_8x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 61.0 16.0">
+  <rect x="0.5" y="0.5" width="60.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_8x1_z18.svg b/symbols/shields/tertiary_8x1_z18.svg
new file mode 100644
index 0000000..9b416bf
--- /dev/null
+++ b/symbols/shields/tertiary_8x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 67.0 17.0">
+  <rect x="0.5" y="0.5" width="66.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_8x2.svg b/symbols/shields/tertiary_8x2.svg
index 9d4ea49..467586c 100644
--- a/symbols/shields/tertiary_8x2.svg
+++ b/symbols/shields/tertiary_8x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 67.25 31.75'>
-<rect x='1.25' y='1.75' height='30' width='66' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='27.0' width='63.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='60.0' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 57.0 24.0">
+  <rect x="0.5" y="0.5" width="56.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_8x2_z16.svg b/symbols/shields/tertiary_8x2_z16.svg
new file mode 100644
index 0000000..d8d4125
--- /dev/null
+++ b/symbols/shields/tertiary_8x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 61.0 26.0">
+  <rect x="0.5" y="0.5" width="60.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_8x2_z18.svg b/symbols/shields/tertiary_8x2_z18.svg
new file mode 100644
index 0000000..78bede5
--- /dev/null
+++ b/symbols/shields/tertiary_8x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 67.0 28.0">
+  <rect x="0.5" y="0.5" width="66.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_8x3.svg b/symbols/shields/tertiary_8x3.svg
index 3d2821f..9b96750 100644
--- a/symbols/shields/tertiary_8x3.svg
+++ b/symbols/shields/tertiary_8x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 67.25 45.75'>
-<rect x='1.25' y='1.75' height='44' width='66' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='41.0' width='63.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='60.0' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 57.0 33.0">
+  <rect x="0.5" y="0.5" width="56.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_8x3_z16.svg b/symbols/shields/tertiary_8x3_z16.svg
new file mode 100644
index 0000000..d577fec
--- /dev/null
+++ b/symbols/shields/tertiary_8x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 61.0 36.0">
+  <rect x="0.5" y="0.5" width="60.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_8x3_z18.svg b/symbols/shields/tertiary_8x3_z18.svg
new file mode 100644
index 0000000..12d0c35
--- /dev/null
+++ b/symbols/shields/tertiary_8x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 67.0 39.0">
+  <rect x="0.5" y="0.5" width="66.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_8x4.svg b/symbols/shields/tertiary_8x4.svg
index 111b9bc..9f6189f 100644
--- a/symbols/shields/tertiary_8x4.svg
+++ b/symbols/shields/tertiary_8x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 67.25 55.75'>
-<rect x='1.25' y='1.75' height='54' width='66' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='51.0' width='63.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='60.0' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 57.0 42.0">
+  <rect x="0.5" y="0.5" width="56.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_8x4_z16.svg b/symbols/shields/tertiary_8x4_z16.svg
new file mode 100644
index 0000000..99aed6b
--- /dev/null
+++ b/symbols/shields/tertiary_8x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 61.0 46.0">
+  <rect x="0.5" y="0.5" width="60.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_8x4_z18.svg b/symbols/shields/tertiary_8x4_z18.svg
new file mode 100644
index 0000000..f98208e
--- /dev/null
+++ b/symbols/shields/tertiary_8x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 67.0 50.0">
+  <rect x="0.5" y="0.5" width="66.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_9x1.svg b/symbols/shields/tertiary_9x1.svg
index e943c70..5c275b3 100644
--- a/symbols/shields/tertiary_9x1.svg
+++ b/symbols/shields/tertiary_9x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 71.75 19.75'>
-<rect x='1.25' y='1.75' height='18' width='70.5' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='15.0' width='67.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='64.5' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 63.0 15.0">
+  <rect x="0.5" y="0.5" width="62.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_9x1_z16.svg b/symbols/shields/tertiary_9x1_z16.svg
new file mode 100644
index 0000000..b1fba21
--- /dev/null
+++ b/symbols/shields/tertiary_9x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 16.0">
+  <rect x="0.5" y="0.5" width="67.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_9x1_z18.svg b/symbols/shields/tertiary_9x1_z18.svg
new file mode 100644
index 0000000..7eac6cb
--- /dev/null
+++ b/symbols/shields/tertiary_9x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 17.0">
+  <rect x="0.5" y="0.5" width="73.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_9x2.svg b/symbols/shields/tertiary_9x2.svg
index 1648907..93df955 100644
--- a/symbols/shields/tertiary_9x2.svg
+++ b/symbols/shields/tertiary_9x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 71.75 31.75'>
-<rect x='1.25' y='1.75' height='30' width='70.5' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='27.0' width='67.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='64.5' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 63.0 24.0">
+  <rect x="0.5" y="0.5" width="62.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_9x2_z16.svg b/symbols/shields/tertiary_9x2_z16.svg
new file mode 100644
index 0000000..bbdda89
--- /dev/null
+++ b/symbols/shields/tertiary_9x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 26.0">
+  <rect x="0.5" y="0.5" width="67.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_9x2_z18.svg b/symbols/shields/tertiary_9x2_z18.svg
new file mode 100644
index 0000000..c22afed
--- /dev/null
+++ b/symbols/shields/tertiary_9x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 28.0">
+  <rect x="0.5" y="0.5" width="73.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_9x3.svg b/symbols/shields/tertiary_9x3.svg
index ed1b4a1..82a0a4e 100644
--- a/symbols/shields/tertiary_9x3.svg
+++ b/symbols/shields/tertiary_9x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 71.75 45.75'>
-<rect x='1.25' y='1.75' height='44' width='70.5' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='41.0' width='67.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='64.5' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 63.0 33.0">
+  <rect x="0.5" y="0.5" width="62.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_9x3_z16.svg b/symbols/shields/tertiary_9x3_z16.svg
new file mode 100644
index 0000000..4f5c06c
--- /dev/null
+++ b/symbols/shields/tertiary_9x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 36.0">
+  <rect x="0.5" y="0.5" width="67.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_9x3_z18.svg b/symbols/shields/tertiary_9x3_z18.svg
new file mode 100644
index 0000000..6e2d753
--- /dev/null
+++ b/symbols/shields/tertiary_9x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 39.0">
+  <rect x="0.5" y="0.5" width="73.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_9x4.svg b/symbols/shields/tertiary_9x4.svg
index c506927..d522ff1 100644
--- a/symbols/shields/tertiary_9x4.svg
+++ b/symbols/shields/tertiary_9x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 71.75 55.75'>
-<rect x='1.25' y='1.75' height='54' width='70.5' rx='9' fill='#c4c68f'/>
-<rect x='2.75' y='3.25' height='51.0' width='67.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='64.5' rx='6.0' fill='#c4c68f'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 63.0 42.0">
+  <rect x="0.5" y="0.5" width="62.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/tertiary_9x4_z16.svg b/symbols/shields/tertiary_9x4_z16.svg
new file mode 100644
index 0000000..1401c16
--- /dev/null
+++ b/symbols/shields/tertiary_9x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 46.0">
+  <rect x="0.5" y="0.5" width="67.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/tertiary_9x4_z18.svg b/symbols/shields/tertiary_9x4_z18.svg
new file mode 100644
index 0000000..a0eb960
--- /dev/null
+++ b/symbols/shields/tertiary_9x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 50.0">
+  <rect x="0.5" y="0.5" width="73.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f1f1f1;stroke:#c6c6c6;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_10x1.svg b/symbols/shields/trunk_10x1.svg
index 09faf43..d62a87b 100644
--- a/symbols/shields/trunk_10x1.svg
+++ b/symbols/shields/trunk_10x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 77.00 19.75'>
-<rect x='1.25' y='1.75' height='18' width='75.75' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='15.0' width='72.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='69.75' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 15.0">
+  <rect x="0.5" y="0.5" width="67.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_10x1_z16.svg b/symbols/shields/trunk_10x1_z16.svg
new file mode 100644
index 0000000..c7c0805
--- /dev/null
+++ b/symbols/shields/trunk_10x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 16.0">
+  <rect x="0.5" y="0.5" width="73.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_10x1_z18.svg b/symbols/shields/trunk_10x1_z18.svg
new file mode 100644
index 0000000..8ecad29
--- /dev/null
+++ b/symbols/shields/trunk_10x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 17.0">
+  <rect x="0.5" y="0.5" width="80.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_10x2.svg b/symbols/shields/trunk_10x2.svg
index 912c42c..efe0289 100644
--- a/symbols/shields/trunk_10x2.svg
+++ b/symbols/shields/trunk_10x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 77.00 31.75'>
-<rect x='1.25' y='1.75' height='30' width='75.75' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='27.0' width='72.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='69.75' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 24.0">
+  <rect x="0.5" y="0.5" width="67.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_10x2_z16.svg b/symbols/shields/trunk_10x2_z16.svg
new file mode 100644
index 0000000..e27e149
--- /dev/null
+++ b/symbols/shields/trunk_10x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 26.0">
+  <rect x="0.5" y="0.5" width="73.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_10x2_z18.svg b/symbols/shields/trunk_10x2_z18.svg
new file mode 100644
index 0000000..49901b5
--- /dev/null
+++ b/symbols/shields/trunk_10x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 28.0">
+  <rect x="0.5" y="0.5" width="80.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_10x3.svg b/symbols/shields/trunk_10x3.svg
index 343834f..964c7c2 100644
--- a/symbols/shields/trunk_10x3.svg
+++ b/symbols/shields/trunk_10x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 77.00 45.75'>
-<rect x='1.25' y='1.75' height='44' width='75.75' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='41.0' width='72.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='69.75' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 33.0">
+  <rect x="0.5" y="0.5" width="67.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_10x3_z16.svg b/symbols/shields/trunk_10x3_z16.svg
new file mode 100644
index 0000000..ccb4a37
--- /dev/null
+++ b/symbols/shields/trunk_10x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 36.0">
+  <rect x="0.5" y="0.5" width="73.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_10x3_z18.svg b/symbols/shields/trunk_10x3_z18.svg
new file mode 100644
index 0000000..4f7750e
--- /dev/null
+++ b/symbols/shields/trunk_10x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 39.0">
+  <rect x="0.5" y="0.5" width="80.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_10x4.svg b/symbols/shields/trunk_10x4.svg
index e681955..ea47655 100644
--- a/symbols/shields/trunk_10x4.svg
+++ b/symbols/shields/trunk_10x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 77.00 55.75'>
-<rect x='1.25' y='1.75' height='54' width='75.75' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='51.0' width='72.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='69.75' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 42.0">
+  <rect x="0.5" y="0.5" width="67.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_10x4_z16.svg b/symbols/shields/trunk_10x4_z16.svg
new file mode 100644
index 0000000..1f17ffe
--- /dev/null
+++ b/symbols/shields/trunk_10x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 46.0">
+  <rect x="0.5" y="0.5" width="73.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_10x4_z18.svg b/symbols/shields/trunk_10x4_z18.svg
new file mode 100644
index 0000000..aaa39db
--- /dev/null
+++ b/symbols/shields/trunk_10x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 50.0">
+  <rect x="0.5" y="0.5" width="80.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_11x1.svg b/symbols/shields/trunk_11x1.svg
index f519e7c..d1c1f6a 100644
--- a/symbols/shields/trunk_11x1.svg
+++ b/symbols/shields/trunk_11x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 82.00 19.75'>
-<rect x='1.25' y='1.75' height='18' width='80.75' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='15.0' width='77.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='74.75' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 15.0">
+  <rect x="0.5" y="0.5" width="73.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_11x1_z16.svg b/symbols/shields/trunk_11x1_z16.svg
new file mode 100644
index 0000000..80fe054
--- /dev/null
+++ b/symbols/shields/trunk_11x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 16.0">
+  <rect x="0.5" y="0.5" width="80.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_11x1_z18.svg b/symbols/shields/trunk_11x1_z18.svg
new file mode 100644
index 0000000..3d06f45
--- /dev/null
+++ b/symbols/shields/trunk_11x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 89.0 17.0">
+  <rect x="0.5" y="0.5" width="88.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_11x2.svg b/symbols/shields/trunk_11x2.svg
index ea9b8af..a6c1e39 100644
--- a/symbols/shields/trunk_11x2.svg
+++ b/symbols/shields/trunk_11x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 82.00 31.75'>
-<rect x='1.25' y='1.75' height='30' width='80.75' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='27.0' width='77.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='74.75' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 24.0">
+  <rect x="0.5" y="0.5" width="73.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_11x2_z16.svg b/symbols/shields/trunk_11x2_z16.svg
new file mode 100644
index 0000000..eaf6477
--- /dev/null
+++ b/symbols/shields/trunk_11x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 26.0">
+  <rect x="0.5" y="0.5" width="80.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_11x2_z18.svg b/symbols/shields/trunk_11x2_z18.svg
new file mode 100644
index 0000000..e18b4fe
--- /dev/null
+++ b/symbols/shields/trunk_11x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 89.0 28.0">
+  <rect x="0.5" y="0.5" width="88.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_11x3.svg b/symbols/shields/trunk_11x3.svg
index 7a0bc05..4b3af5a 100644
--- a/symbols/shields/trunk_11x3.svg
+++ b/symbols/shields/trunk_11x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 82.00 45.75'>
-<rect x='1.25' y='1.75' height='44' width='80.75' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='41.0' width='77.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='74.75' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 33.0">
+  <rect x="0.5" y="0.5" width="73.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_11x3_z16.svg b/symbols/shields/trunk_11x3_z16.svg
new file mode 100644
index 0000000..bf4c2c6
--- /dev/null
+++ b/symbols/shields/trunk_11x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 36.0">
+  <rect x="0.5" y="0.5" width="80.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_11x3_z18.svg b/symbols/shields/trunk_11x3_z18.svg
new file mode 100644
index 0000000..123ba32
--- /dev/null
+++ b/symbols/shields/trunk_11x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 89.0 39.0">
+  <rect x="0.5" y="0.5" width="88.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_11x4.svg b/symbols/shields/trunk_11x4.svg
index 4d4cf4b..f413b78 100644
--- a/symbols/shields/trunk_11x4.svg
+++ b/symbols/shields/trunk_11x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 82.00 55.75'>
-<rect x='1.25' y='1.75' height='54' width='80.75' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='51.0' width='77.75' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='74.75' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 42.0">
+  <rect x="0.5" y="0.5" width="73.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_11x4_z16.svg b/symbols/shields/trunk_11x4_z16.svg
new file mode 100644
index 0000000..42ef2da
--- /dev/null
+++ b/symbols/shields/trunk_11x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 81.0 46.0">
+  <rect x="0.5" y="0.5" width="80.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_11x4_z18.svg b/symbols/shields/trunk_11x4_z18.svg
new file mode 100644
index 0000000..374a749
--- /dev/null
+++ b/symbols/shields/trunk_11x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 89.0 50.0">
+  <rect x="0.5" y="0.5" width="88.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_1x1.svg b/symbols/shields/trunk_1x1.svg
index 3f87f83..c61d47a 100644
--- a/symbols/shields/trunk_1x1.svg
+++ b/symbols/shields/trunk_1x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 19.25 19.75'>
-<rect x='1.25' y='1.75' height='18' width='18' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='15.0' width='15.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='12.0' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 15.0 15.0">
+  <rect x="0.5" y="0.5" width="14.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_1x1_z16.svg b/symbols/shields/trunk_1x1_z16.svg
new file mode 100644
index 0000000..ed66a64
--- /dev/null
+++ b/symbols/shields/trunk_1x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16.0 16.0">
+  <rect x="0.5" y="0.5" width="15.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_1x1_z18.svg b/symbols/shields/trunk_1x1_z18.svg
new file mode 100644
index 0000000..d139ce7
--- /dev/null
+++ b/symbols/shields/trunk_1x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 17.0 17.0">
+  <rect x="0.5" y="0.5" width="16.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_1x2.svg b/symbols/shields/trunk_1x2.svg
index 98c4486..734852c 100644
--- a/symbols/shields/trunk_1x2.svg
+++ b/symbols/shields/trunk_1x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 19.25 31.75'>
-<rect x='1.25' y='1.75' height='30' width='18' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='27.0' width='15.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='12.0' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 15.0 24.0">
+  <rect x="0.5" y="0.5" width="14.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_1x2_z16.svg b/symbols/shields/trunk_1x2_z16.svg
new file mode 100644
index 0000000..e44c0ea
--- /dev/null
+++ b/symbols/shields/trunk_1x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16.0 26.0">
+  <rect x="0.5" y="0.5" width="15.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_1x2_z18.svg b/symbols/shields/trunk_1x2_z18.svg
new file mode 100644
index 0000000..e07cc54
--- /dev/null
+++ b/symbols/shields/trunk_1x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 17.0 28.0">
+  <rect x="0.5" y="0.5" width="16.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_1x3.svg b/symbols/shields/trunk_1x3.svg
index 3c68953..14afc6e 100644
--- a/symbols/shields/trunk_1x3.svg
+++ b/symbols/shields/trunk_1x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 19.25 45.75'>
-<rect x='1.25' y='1.75' height='44' width='18' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='41.0' width='15.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='12.0' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 15.0 33.0">
+  <rect x="0.5" y="0.5" width="14.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_1x3_z16.svg b/symbols/shields/trunk_1x3_z16.svg
new file mode 100644
index 0000000..219e89e
--- /dev/null
+++ b/symbols/shields/trunk_1x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16.0 36.0">
+  <rect x="0.5" y="0.5" width="15.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_1x3_z18.svg b/symbols/shields/trunk_1x3_z18.svg
new file mode 100644
index 0000000..2ad666c
--- /dev/null
+++ b/symbols/shields/trunk_1x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 17.0 39.0">
+  <rect x="0.5" y="0.5" width="16.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_1x4.svg b/symbols/shields/trunk_1x4.svg
index e56905f..4c81714 100644
--- a/symbols/shields/trunk_1x4.svg
+++ b/symbols/shields/trunk_1x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 19.25 55.75'>
-<rect x='1.25' y='1.75' height='54' width='18' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='51.0' width='15.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='12.0' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 15.0 42.0">
+  <rect x="0.5" y="0.5" width="14.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_1x4_z16.svg b/symbols/shields/trunk_1x4_z16.svg
new file mode 100644
index 0000000..bf3d610
--- /dev/null
+++ b/symbols/shields/trunk_1x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16.0 46.0">
+  <rect x="0.5" y="0.5" width="15.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_1x4_z18.svg b/symbols/shields/trunk_1x4_z18.svg
new file mode 100644
index 0000000..053f907
--- /dev/null
+++ b/symbols/shields/trunk_1x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 17.0 50.0">
+  <rect x="0.5" y="0.5" width="16.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_2x1.svg b/symbols/shields/trunk_2x1.svg
index 0b66150..26adeb9 100644
--- a/symbols/shields/trunk_2x1.svg
+++ b/symbols/shields/trunk_2x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 26.50 19.75'>
-<rect x='1.25' y='1.75' height='18' width='25.25' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='15.0' width='22.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='19.25' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 21.0 15.0">
+  <rect x="0.5" y="0.5" width="20.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_2x1_z16.svg b/symbols/shields/trunk_2x1_z16.svg
new file mode 100644
index 0000000..10ed6df
--- /dev/null
+++ b/symbols/shields/trunk_2x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22.0 16.0">
+  <rect x="0.5" y="0.5" width="21.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_2x1_z18.svg b/symbols/shields/trunk_2x1_z18.svg
new file mode 100644
index 0000000..c736193
--- /dev/null
+++ b/symbols/shields/trunk_2x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24.0 17.0">
+  <rect x="0.5" y="0.5" width="23.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_2x2.svg b/symbols/shields/trunk_2x2.svg
index c2b60ae..26be901 100644
--- a/symbols/shields/trunk_2x2.svg
+++ b/symbols/shields/trunk_2x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 26.50 31.75'>
-<rect x='1.25' y='1.75' height='30' width='25.25' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='27.0' width='22.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='19.25' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 21.0 24.0">
+  <rect x="0.5" y="0.5" width="20.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_2x2_z16.svg b/symbols/shields/trunk_2x2_z16.svg
new file mode 100644
index 0000000..46b1ffa
--- /dev/null
+++ b/symbols/shields/trunk_2x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22.0 26.0">
+  <rect x="0.5" y="0.5" width="21.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_2x2_z18.svg b/symbols/shields/trunk_2x2_z18.svg
new file mode 100644
index 0000000..bdd57fe
--- /dev/null
+++ b/symbols/shields/trunk_2x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24.0 28.0">
+  <rect x="0.5" y="0.5" width="23.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_2x3.svg b/symbols/shields/trunk_2x3.svg
index d24f803..15bf28b 100644
--- a/symbols/shields/trunk_2x3.svg
+++ b/symbols/shields/trunk_2x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 26.50 45.75'>
-<rect x='1.25' y='1.75' height='44' width='25.25' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='41.0' width='22.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='19.25' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 21.0 33.0">
+  <rect x="0.5" y="0.5" width="20.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_2x3_z16.svg b/symbols/shields/trunk_2x3_z16.svg
new file mode 100644
index 0000000..0a50562
--- /dev/null
+++ b/symbols/shields/trunk_2x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22.0 36.0">
+  <rect x="0.5" y="0.5" width="21.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_2x3_z18.svg b/symbols/shields/trunk_2x3_z18.svg
new file mode 100644
index 0000000..bfc1935
--- /dev/null
+++ b/symbols/shields/trunk_2x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24.0 39.0">
+  <rect x="0.5" y="0.5" width="23.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_2x4.svg b/symbols/shields/trunk_2x4.svg
index 422f2dd..ccf361b 100644
--- a/symbols/shields/trunk_2x4.svg
+++ b/symbols/shields/trunk_2x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 26.50 55.75'>
-<rect x='1.25' y='1.75' height='54' width='25.25' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='51.0' width='22.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='19.25' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 21.0 42.0">
+  <rect x="0.5" y="0.5" width="20.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_2x4_z16.svg b/symbols/shields/trunk_2x4_z16.svg
new file mode 100644
index 0000000..4ce6002
--- /dev/null
+++ b/symbols/shields/trunk_2x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22.0 46.0">
+  <rect x="0.5" y="0.5" width="21.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_2x4_z18.svg b/symbols/shields/trunk_2x4_z18.svg
new file mode 100644
index 0000000..1fdf978
--- /dev/null
+++ b/symbols/shields/trunk_2x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24.0 50.0">
+  <rect x="0.5" y="0.5" width="23.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_3x1.svg b/symbols/shields/trunk_3x1.svg
index 801adcd..3165d86 100644
--- a/symbols/shields/trunk_3x1.svg
+++ b/symbols/shields/trunk_3x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 33.75 19.75'>
-<rect x='1.25' y='1.75' height='18' width='32.5' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='15.0' width='29.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='26.5' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 27.0 15.0">
+  <rect x="0.5" y="0.5" width="26.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_3x1_z16.svg b/symbols/shields/trunk_3x1_z16.svg
new file mode 100644
index 0000000..40ae330
--- /dev/null
+++ b/symbols/shields/trunk_3x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 29.0 16.0">
+  <rect x="0.5" y="0.5" width="28.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_3x1_z18.svg b/symbols/shields/trunk_3x1_z18.svg
new file mode 100644
index 0000000..9bb6159
--- /dev/null
+++ b/symbols/shields/trunk_3x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 31.0 17.0">
+  <rect x="0.5" y="0.5" width="30.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_3x2.svg b/symbols/shields/trunk_3x2.svg
index 8bd3a5b..5fa788b 100644
--- a/symbols/shields/trunk_3x2.svg
+++ b/symbols/shields/trunk_3x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 33.75 31.75'>
-<rect x='1.25' y='1.75' height='30' width='32.5' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='27.0' width='29.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='26.5' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 27.0 24.0">
+  <rect x="0.5" y="0.5" width="26.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_3x2_z16.svg b/symbols/shields/trunk_3x2_z16.svg
new file mode 100644
index 0000000..1741edc
--- /dev/null
+++ b/symbols/shields/trunk_3x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 29.0 26.0">
+  <rect x="0.5" y="0.5" width="28.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_3x2_z18.svg b/symbols/shields/trunk_3x2_z18.svg
new file mode 100644
index 0000000..78e1b3d
--- /dev/null
+++ b/symbols/shields/trunk_3x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 31.0 28.0">
+  <rect x="0.5" y="0.5" width="30.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_3x3.svg b/symbols/shields/trunk_3x3.svg
index 2ad03f3..f982509 100644
--- a/symbols/shields/trunk_3x3.svg
+++ b/symbols/shields/trunk_3x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 33.75 45.75'>
-<rect x='1.25' y='1.75' height='44' width='32.5' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='41.0' width='29.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='26.5' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 27.0 33.0">
+  <rect x="0.5" y="0.5" width="26.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_3x3_z16.svg b/symbols/shields/trunk_3x3_z16.svg
new file mode 100644
index 0000000..1b1bfa4
--- /dev/null
+++ b/symbols/shields/trunk_3x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 29.0 36.0">
+  <rect x="0.5" y="0.5" width="28.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_3x3_z18.svg b/symbols/shields/trunk_3x3_z18.svg
new file mode 100644
index 0000000..9640957
--- /dev/null
+++ b/symbols/shields/trunk_3x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 31.0 39.0">
+  <rect x="0.5" y="0.5" width="30.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_3x4.svg b/symbols/shields/trunk_3x4.svg
index ff6becb..d41a5a7 100644
--- a/symbols/shields/trunk_3x4.svg
+++ b/symbols/shields/trunk_3x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 33.75 55.75'>
-<rect x='1.25' y='1.75' height='54' width='32.5' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='51.0' width='29.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='26.5' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 27.0 42.0">
+  <rect x="0.5" y="0.5" width="26.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_3x4_z16.svg b/symbols/shields/trunk_3x4_z16.svg
new file mode 100644
index 0000000..cfd7ea7
--- /dev/null
+++ b/symbols/shields/trunk_3x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 29.0 46.0">
+  <rect x="0.5" y="0.5" width="28.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_3x4_z18.svg b/symbols/shields/trunk_3x4_z18.svg
new file mode 100644
index 0000000..9174bc8
--- /dev/null
+++ b/symbols/shields/trunk_3x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 31.0 50.0">
+  <rect x="0.5" y="0.5" width="30.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_4x1.svg b/symbols/shields/trunk_4x1.svg
index b56d54c..56d1004 100644
--- a/symbols/shields/trunk_4x1.svg
+++ b/symbols/shields/trunk_4x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 40.25 19.75'>
-<rect x='1.25' y='1.75' height='18' width='39' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='15.0' width='36.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='33.0' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 33.0 15.0">
+  <rect x="0.5" y="0.5" width="32.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_4x1_z16.svg b/symbols/shields/trunk_4x1_z16.svg
new file mode 100644
index 0000000..ec014fd
--- /dev/null
+++ b/symbols/shields/trunk_4x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 35.0 16.0">
+  <rect x="0.5" y="0.5" width="34.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_4x1_z18.svg b/symbols/shields/trunk_4x1_z18.svg
new file mode 100644
index 0000000..00fc6f8
--- /dev/null
+++ b/symbols/shields/trunk_4x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 38.0 17.0">
+  <rect x="0.5" y="0.5" width="37.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_4x2.svg b/symbols/shields/trunk_4x2.svg
index 68e4527..0b6f466 100644
--- a/symbols/shields/trunk_4x2.svg
+++ b/symbols/shields/trunk_4x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 40.25 31.75'>
-<rect x='1.25' y='1.75' height='30' width='39' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='27.0' width='36.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='33.0' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 33.0 24.0">
+  <rect x="0.5" y="0.5" width="32.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_4x2_z16.svg b/symbols/shields/trunk_4x2_z16.svg
new file mode 100644
index 0000000..4337f39
--- /dev/null
+++ b/symbols/shields/trunk_4x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 35.0 26.0">
+  <rect x="0.5" y="0.5" width="34.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_4x2_z18.svg b/symbols/shields/trunk_4x2_z18.svg
new file mode 100644
index 0000000..4d3f1d0
--- /dev/null
+++ b/symbols/shields/trunk_4x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 38.0 28.0">
+  <rect x="0.5" y="0.5" width="37.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_4x3.svg b/symbols/shields/trunk_4x3.svg
index b1e899e..ece5b87 100644
--- a/symbols/shields/trunk_4x3.svg
+++ b/symbols/shields/trunk_4x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 40.25 45.75'>
-<rect x='1.25' y='1.75' height='44' width='39' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='41.0' width='36.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='33.0' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 33.0 33.0">
+  <rect x="0.5" y="0.5" width="32.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_4x3_z16.svg b/symbols/shields/trunk_4x3_z16.svg
new file mode 100644
index 0000000..8f4133b
--- /dev/null
+++ b/symbols/shields/trunk_4x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 35.0 36.0">
+  <rect x="0.5" y="0.5" width="34.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_4x3_z18.svg b/symbols/shields/trunk_4x3_z18.svg
new file mode 100644
index 0000000..961579e
--- /dev/null
+++ b/symbols/shields/trunk_4x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 38.0 39.0">
+  <rect x="0.5" y="0.5" width="37.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_4x4.svg b/symbols/shields/trunk_4x4.svg
index f330d27..77f2cac 100644
--- a/symbols/shields/trunk_4x4.svg
+++ b/symbols/shields/trunk_4x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 40.25 55.75'>
-<rect x='1.25' y='1.75' height='54' width='39' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='51.0' width='36.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='33.0' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 33.0 42.0">
+  <rect x="0.5" y="0.5" width="32.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_4x4_z16.svg b/symbols/shields/trunk_4x4_z16.svg
new file mode 100644
index 0000000..be237ee
--- /dev/null
+++ b/symbols/shields/trunk_4x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 35.0 46.0">
+  <rect x="0.5" y="0.5" width="34.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_4x4_z18.svg b/symbols/shields/trunk_4x4_z18.svg
new file mode 100644
index 0000000..16be7ba
--- /dev/null
+++ b/symbols/shields/trunk_4x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 38.0 50.0">
+  <rect x="0.5" y="0.5" width="37.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_5x1.svg b/symbols/shields/trunk_5x1.svg
index 5765608..ba2af6e 100644
--- a/symbols/shields/trunk_5x1.svg
+++ b/symbols/shields/trunk_5x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 47.25 19.75'>
-<rect x='1.25' y='1.75' height='18' width='46' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='15.0' width='43.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='40.0' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 39.0 15.0">
+  <rect x="0.5" y="0.5" width="38.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_5x1_z16.svg b/symbols/shields/trunk_5x1_z16.svg
new file mode 100644
index 0000000..877c148
--- /dev/null
+++ b/symbols/shields/trunk_5x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 42.0 16.0">
+  <rect x="0.5" y="0.5" width="41.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_5x1_z18.svg b/symbols/shields/trunk_5x1_z18.svg
new file mode 100644
index 0000000..c86ce47
--- /dev/null
+++ b/symbols/shields/trunk_5x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 17.0">
+  <rect x="0.5" y="0.5" width="44.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_5x2.svg b/symbols/shields/trunk_5x2.svg
index 6ef419d..52bc731 100644
--- a/symbols/shields/trunk_5x2.svg
+++ b/symbols/shields/trunk_5x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 47.25 31.75'>
-<rect x='1.25' y='1.75' height='30' width='46' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='27.0' width='43.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='40.0' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 39.0 24.0">
+  <rect x="0.5" y="0.5" width="38.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_5x2_z16.svg b/symbols/shields/trunk_5x2_z16.svg
new file mode 100644
index 0000000..3b9cab5
--- /dev/null
+++ b/symbols/shields/trunk_5x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 42.0 26.0">
+  <rect x="0.5" y="0.5" width="41.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_5x2_z18.svg b/symbols/shields/trunk_5x2_z18.svg
new file mode 100644
index 0000000..1e7cdf7
--- /dev/null
+++ b/symbols/shields/trunk_5x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 28.0">
+  <rect x="0.5" y="0.5" width="44.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_5x3.svg b/symbols/shields/trunk_5x3.svg
index b41feab..9ddca5f 100644
--- a/symbols/shields/trunk_5x3.svg
+++ b/symbols/shields/trunk_5x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 47.25 45.75'>
-<rect x='1.25' y='1.75' height='44' width='46' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='41.0' width='43.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='40.0' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 39.0 33.0">
+  <rect x="0.5" y="0.5" width="38.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_5x3_z16.svg b/symbols/shields/trunk_5x3_z16.svg
new file mode 100644
index 0000000..acbacb7
--- /dev/null
+++ b/symbols/shields/trunk_5x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 42.0 36.0">
+  <rect x="0.5" y="0.5" width="41.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_5x3_z18.svg b/symbols/shields/trunk_5x3_z18.svg
new file mode 100644
index 0000000..fa1f647
--- /dev/null
+++ b/symbols/shields/trunk_5x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 39.0">
+  <rect x="0.5" y="0.5" width="44.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_5x4.svg b/symbols/shields/trunk_5x4.svg
index eb416b4..45416b1 100644
--- a/symbols/shields/trunk_5x4.svg
+++ b/symbols/shields/trunk_5x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 47.25 55.75'>
-<rect x='1.25' y='1.75' height='54' width='46' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='51.0' width='43.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='40.0' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 39.0 42.0">
+  <rect x="0.5" y="0.5" width="38.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_5x4_z16.svg b/symbols/shields/trunk_5x4_z16.svg
new file mode 100644
index 0000000..9e1013f
--- /dev/null
+++ b/symbols/shields/trunk_5x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 42.0 46.0">
+  <rect x="0.5" y="0.5" width="41.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_5x4_z18.svg b/symbols/shields/trunk_5x4_z18.svg
new file mode 100644
index 0000000..0febc19
--- /dev/null
+++ b/symbols/shields/trunk_5x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 50.0">
+  <rect x="0.5" y="0.5" width="44.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_6x1.svg b/symbols/shields/trunk_6x1.svg
index b65e29d..adcb5f8 100644
--- a/symbols/shields/trunk_6x1.svg
+++ b/symbols/shields/trunk_6x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 53.75 19.75'>
-<rect x='1.25' y='1.75' height='18' width='52.5' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='15.0' width='49.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='46.5' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 15.0">
+  <rect x="0.5" y="0.5" width="44.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_6x1_z16.svg b/symbols/shields/trunk_6x1_z16.svg
new file mode 100644
index 0000000..e77aeb7
--- /dev/null
+++ b/symbols/shields/trunk_6x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 48.0 16.0">
+  <rect x="0.5" y="0.5" width="47.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_6x1_z18.svg b/symbols/shields/trunk_6x1_z18.svg
new file mode 100644
index 0000000..82a239e
--- /dev/null
+++ b/symbols/shields/trunk_6x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 53.0 17.0">
+  <rect x="0.5" y="0.5" width="52.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_6x2.svg b/symbols/shields/trunk_6x2.svg
index 56a00cc..2d56305 100644
--- a/symbols/shields/trunk_6x2.svg
+++ b/symbols/shields/trunk_6x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 53.75 31.75'>
-<rect x='1.25' y='1.75' height='30' width='52.5' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='27.0' width='49.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='46.5' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 24.0">
+  <rect x="0.5" y="0.5" width="44.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_6x2_z16.svg b/symbols/shields/trunk_6x2_z16.svg
new file mode 100644
index 0000000..fdaa449
--- /dev/null
+++ b/symbols/shields/trunk_6x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 48.0 26.0">
+  <rect x="0.5" y="0.5" width="47.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_6x2_z18.svg b/symbols/shields/trunk_6x2_z18.svg
new file mode 100644
index 0000000..b18cfab
--- /dev/null
+++ b/symbols/shields/trunk_6x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 53.0 28.0">
+  <rect x="0.5" y="0.5" width="52.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_6x3.svg b/symbols/shields/trunk_6x3.svg
index b325319..318696c 100644
--- a/symbols/shields/trunk_6x3.svg
+++ b/symbols/shields/trunk_6x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 53.75 45.75'>
-<rect x='1.25' y='1.75' height='44' width='52.5' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='41.0' width='49.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='46.5' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 33.0">
+  <rect x="0.5" y="0.5" width="44.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_6x3_z16.svg b/symbols/shields/trunk_6x3_z16.svg
new file mode 100644
index 0000000..a73bb4a
--- /dev/null
+++ b/symbols/shields/trunk_6x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 48.0 36.0">
+  <rect x="0.5" y="0.5" width="47.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_6x3_z18.svg b/symbols/shields/trunk_6x3_z18.svg
new file mode 100644
index 0000000..387bea9
--- /dev/null
+++ b/symbols/shields/trunk_6x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 53.0 39.0">
+  <rect x="0.5" y="0.5" width="52.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_6x4.svg b/symbols/shields/trunk_6x4.svg
index 0b8e3f0..1af9f26 100644
--- a/symbols/shields/trunk_6x4.svg
+++ b/symbols/shields/trunk_6x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 53.75 55.75'>
-<rect x='1.25' y='1.75' height='54' width='52.5' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='51.0' width='49.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='46.5' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 45.0 42.0">
+  <rect x="0.5" y="0.5" width="44.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_6x4_z16.svg b/symbols/shields/trunk_6x4_z16.svg
new file mode 100644
index 0000000..e7a33ad
--- /dev/null
+++ b/symbols/shields/trunk_6x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 48.0 46.0">
+  <rect x="0.5" y="0.5" width="47.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_6x4_z18.svg b/symbols/shields/trunk_6x4_z18.svg
new file mode 100644
index 0000000..7e654e6
--- /dev/null
+++ b/symbols/shields/trunk_6x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 53.0 50.0">
+  <rect x="0.5" y="0.5" width="52.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_7x1.svg b/symbols/shields/trunk_7x1.svg
index fe0a215..3870fca 100644
--- a/symbols/shields/trunk_7x1.svg
+++ b/symbols/shields/trunk_7x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 60.50 19.75'>
-<rect x='1.25' y='1.75' height='18' width='59.25' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='15.0' width='56.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='53.25' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 51.0 15.0">
+  <rect x="0.5" y="0.5" width="50.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_7x1_z16.svg b/symbols/shields/trunk_7x1_z16.svg
new file mode 100644
index 0000000..afc2dfd
--- /dev/null
+++ b/symbols/shields/trunk_7x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 55.0 16.0">
+  <rect x="0.5" y="0.5" width="54.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_7x1_z18.svg b/symbols/shields/trunk_7x1_z18.svg
new file mode 100644
index 0000000..2bc1b60
--- /dev/null
+++ b/symbols/shields/trunk_7x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 60.0 17.0">
+  <rect x="0.5" y="0.5" width="59.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_7x2.svg b/symbols/shields/trunk_7x2.svg
index cae79f3..8ecbdcf 100644
--- a/symbols/shields/trunk_7x2.svg
+++ b/symbols/shields/trunk_7x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 60.50 31.75'>
-<rect x='1.25' y='1.75' height='30' width='59.25' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='27.0' width='56.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='53.25' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 51.0 24.0">
+  <rect x="0.5" y="0.5" width="50.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_7x2_z16.svg b/symbols/shields/trunk_7x2_z16.svg
new file mode 100644
index 0000000..b1ed4f8
--- /dev/null
+++ b/symbols/shields/trunk_7x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 55.0 26.0">
+  <rect x="0.5" y="0.5" width="54.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_7x2_z18.svg b/symbols/shields/trunk_7x2_z18.svg
new file mode 100644
index 0000000..2f67a61
--- /dev/null
+++ b/symbols/shields/trunk_7x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 60.0 28.0">
+  <rect x="0.5" y="0.5" width="59.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_7x3.svg b/symbols/shields/trunk_7x3.svg
index b68c257..e6ddb62 100644
--- a/symbols/shields/trunk_7x3.svg
+++ b/symbols/shields/trunk_7x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 60.50 45.75'>
-<rect x='1.25' y='1.75' height='44' width='59.25' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='41.0' width='56.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='53.25' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 51.0 33.0">
+  <rect x="0.5" y="0.5" width="50.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_7x3_z16.svg b/symbols/shields/trunk_7x3_z16.svg
new file mode 100644
index 0000000..c21a633
--- /dev/null
+++ b/symbols/shields/trunk_7x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 55.0 36.0">
+  <rect x="0.5" y="0.5" width="54.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_7x3_z18.svg b/symbols/shields/trunk_7x3_z18.svg
new file mode 100644
index 0000000..40734a3
--- /dev/null
+++ b/symbols/shields/trunk_7x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 60.0 39.0">
+  <rect x="0.5" y="0.5" width="59.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_7x4.svg b/symbols/shields/trunk_7x4.svg
index e98e374..679eef0 100644
--- a/symbols/shields/trunk_7x4.svg
+++ b/symbols/shields/trunk_7x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 60.50 55.75'>
-<rect x='1.25' y='1.75' height='54' width='59.25' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='51.0' width='56.25' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='53.25' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 51.0 42.0">
+  <rect x="0.5" y="0.5" width="50.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_7x4_z16.svg b/symbols/shields/trunk_7x4_z16.svg
new file mode 100644
index 0000000..25c7954
--- /dev/null
+++ b/symbols/shields/trunk_7x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 55.0 46.0">
+  <rect x="0.5" y="0.5" width="54.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_7x4_z18.svg b/symbols/shields/trunk_7x4_z18.svg
new file mode 100644
index 0000000..d27c17e
--- /dev/null
+++ b/symbols/shields/trunk_7x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 60.0 50.0">
+  <rect x="0.5" y="0.5" width="59.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_8x1.svg b/symbols/shields/trunk_8x1.svg
index fe6a8f0..3416efb 100644
--- a/symbols/shields/trunk_8x1.svg
+++ b/symbols/shields/trunk_8x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 67.25 19.75'>
-<rect x='1.25' y='1.75' height='18' width='66' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='15.0' width='63.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='60.0' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 57.0 15.0">
+  <rect x="0.5" y="0.5" width="56.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_8x1_z16.svg b/symbols/shields/trunk_8x1_z16.svg
new file mode 100644
index 0000000..59a2c3a
--- /dev/null
+++ b/symbols/shields/trunk_8x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 61.0 16.0">
+  <rect x="0.5" y="0.5" width="60.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_8x1_z18.svg b/symbols/shields/trunk_8x1_z18.svg
new file mode 100644
index 0000000..8d75513
--- /dev/null
+++ b/symbols/shields/trunk_8x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 67.0 17.0">
+  <rect x="0.5" y="0.5" width="66.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_8x2.svg b/symbols/shields/trunk_8x2.svg
index 225b563..f600a40 100644
--- a/symbols/shields/trunk_8x2.svg
+++ b/symbols/shields/trunk_8x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 67.25 31.75'>
-<rect x='1.25' y='1.75' height='30' width='66' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='27.0' width='63.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='60.0' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 57.0 24.0">
+  <rect x="0.5" y="0.5" width="56.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_8x2_z16.svg b/symbols/shields/trunk_8x2_z16.svg
new file mode 100644
index 0000000..5d4105c
--- /dev/null
+++ b/symbols/shields/trunk_8x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 61.0 26.0">
+  <rect x="0.5" y="0.5" width="60.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_8x2_z18.svg b/symbols/shields/trunk_8x2_z18.svg
new file mode 100644
index 0000000..a3abb3d
--- /dev/null
+++ b/symbols/shields/trunk_8x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 67.0 28.0">
+  <rect x="0.5" y="0.5" width="66.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_8x3.svg b/symbols/shields/trunk_8x3.svg
index 7ad16ac..f97b7e2 100644
--- a/symbols/shields/trunk_8x3.svg
+++ b/symbols/shields/trunk_8x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 67.25 45.75'>
-<rect x='1.25' y='1.75' height='44' width='66' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='41.0' width='63.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='60.0' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 57.0 33.0">
+  <rect x="0.5" y="0.5" width="56.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_8x3_z16.svg b/symbols/shields/trunk_8x3_z16.svg
new file mode 100644
index 0000000..0b0fba5
--- /dev/null
+++ b/symbols/shields/trunk_8x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 61.0 36.0">
+  <rect x="0.5" y="0.5" width="60.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_8x3_z18.svg b/symbols/shields/trunk_8x3_z18.svg
new file mode 100644
index 0000000..acd14ce
--- /dev/null
+++ b/symbols/shields/trunk_8x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 67.0 39.0">
+  <rect x="0.5" y="0.5" width="66.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_8x4.svg b/symbols/shields/trunk_8x4.svg
index d8e0137..3a578e5 100644
--- a/symbols/shields/trunk_8x4.svg
+++ b/symbols/shields/trunk_8x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 67.25 55.75'>
-<rect x='1.25' y='1.75' height='54' width='66' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='51.0' width='63.0' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='60.0' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 57.0 42.0">
+  <rect x="0.5" y="0.5" width="56.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_8x4_z16.svg b/symbols/shields/trunk_8x4_z16.svg
new file mode 100644
index 0000000..8b7b0ff
--- /dev/null
+++ b/symbols/shields/trunk_8x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 61.0 46.0">
+  <rect x="0.5" y="0.5" width="60.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_8x4_z18.svg b/symbols/shields/trunk_8x4_z18.svg
new file mode 100644
index 0000000..dc7dba9
--- /dev/null
+++ b/symbols/shields/trunk_8x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 67.0 50.0">
+  <rect x="0.5" y="0.5" width="66.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_9x1.svg b/symbols/shields/trunk_9x1.svg
index 80b5aba..4a1cf8e 100644
--- a/symbols/shields/trunk_9x1.svg
+++ b/symbols/shields/trunk_9x1.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 71.75 19.75'>
-<rect x='1.25' y='1.75' height='18' width='70.5' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='15.0' width='67.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='12.0' width='64.5' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 63.0 15.0">
+  <rect x="0.5" y="0.5" width="62.0" height="14.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_9x1_z16.svg b/symbols/shields/trunk_9x1_z16.svg
new file mode 100644
index 0000000..6b8babd
--- /dev/null
+++ b/symbols/shields/trunk_9x1_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 16.0">
+  <rect x="0.5" y="0.5" width="67.0" height="15.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_9x1_z18.svg b/symbols/shields/trunk_9x1_z18.svg
new file mode 100644
index 0000000..d04c9b1
--- /dev/null
+++ b/symbols/shields/trunk_9x1_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 17.0">
+  <rect x="0.5" y="0.5" width="73.0" height="16.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_9x2.svg b/symbols/shields/trunk_9x2.svg
index f37cd34..812a47c 100644
--- a/symbols/shields/trunk_9x2.svg
+++ b/symbols/shields/trunk_9x2.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 71.75 31.75'>
-<rect x='1.25' y='1.75' height='30' width='70.5' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='27.0' width='67.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='24.0' width='64.5' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 63.0 24.0">
+  <rect x="0.5" y="0.5" width="62.0" height="23.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_9x2_z16.svg b/symbols/shields/trunk_9x2_z16.svg
new file mode 100644
index 0000000..0ddd103
--- /dev/null
+++ b/symbols/shields/trunk_9x2_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 26.0">
+  <rect x="0.5" y="0.5" width="67.0" height="25.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_9x2_z18.svg b/symbols/shields/trunk_9x2_z18.svg
new file mode 100644
index 0000000..79de9b3
--- /dev/null
+++ b/symbols/shields/trunk_9x2_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 28.0">
+  <rect x="0.5" y="0.5" width="73.0" height="27.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_9x3.svg b/symbols/shields/trunk_9x3.svg
index c2202e4..fbf3826 100644
--- a/symbols/shields/trunk_9x3.svg
+++ b/symbols/shields/trunk_9x3.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 71.75 45.75'>
-<rect x='1.25' y='1.75' height='44' width='70.5' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='41.0' width='67.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='38.0' width='64.5' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 63.0 33.0">
+  <rect x="0.5" y="0.5" width="62.0" height="32.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_9x3_z16.svg b/symbols/shields/trunk_9x3_z16.svg
new file mode 100644
index 0000000..884a08e
--- /dev/null
+++ b/symbols/shields/trunk_9x3_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 36.0">
+  <rect x="0.5" y="0.5" width="67.0" height="35.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_9x3_z18.svg b/symbols/shields/trunk_9x3_z18.svg
new file mode 100644
index 0000000..f4d1888
--- /dev/null
+++ b/symbols/shields/trunk_9x3_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 39.0">
+  <rect x="0.5" y="0.5" width="73.0" height="38.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_9x4.svg b/symbols/shields/trunk_9x4.svg
index 648e6d5..0525517 100644
--- a/symbols/shields/trunk_9x4.svg
+++ b/symbols/shields/trunk_9x4.svg
@@ -1,5 +1,4 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 71.75 55.75'>
-<rect x='1.25' y='1.75' height='54' width='70.5' rx='9' fill='#87ab87'/>
-<rect x='2.75' y='3.25' height='51.0' width='67.5' rx='7.5' fill='white'/>
-<rect x='4.25' y='4.75' height='48.0' width='64.5' rx='6.0' fill='#87ab87'/>
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 63.0 42.0">
+  <rect x="0.5" y="0.5" width="62.0" height="41.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
 </svg>
diff --git a/symbols/shields/trunk_9x4_z16.svg b/symbols/shields/trunk_9x4_z16.svg
new file mode 100644
index 0000000..c162119
--- /dev/null
+++ b/symbols/shields/trunk_9x4_z16.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 68.0 46.0">
+  <rect x="0.5" y="0.5" width="67.0" height="45.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/symbols/shields/trunk_9x4_z18.svg b/symbols/shields/trunk_9x4_z18.svg
new file mode 100644
index 0000000..4736d1f
--- /dev/null
+++ b/symbols/shields/trunk_9x4_z18.svg
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 74.0 50.0">
+  <rect x="0.5" y="0.5" width="73.0" height="49.0" rx="2" ry="2" id="shield" style="fill:#f2d7ce;stroke:#d7a899;stroke-width:1;"/>
+</svg>
diff --git a/water.mss b/water.mss
index a6408c9..c37ed97 100644
--- a/water.mss
+++ b/water.mss
@@ -5,12 +5,15 @@
 #water-areas {
   [natural = 'glacier']::natural {
     [zoom >= 6] {
-      line-dasharray: 4,2;
-      line-width: 1.5;
+      line-width: 0.75;
       line-color: @glacier-line;
       polygon-fill: @glacier;
       [zoom >= 8] {
-        polygon-pattern-file: url('symbols/glacier.png');
+        line-width: 1.0;
+      }
+      [zoom >= 10] {
+        line-dasharray: 4,2;
+        line-width: 1.5;
       }
     }
   }

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/openstreetmap-carto.git



More information about the Pkg-grass-devel mailing list