add Map buffer-size

add Map buffer-size

/*
==Database level==
* join adjacent way segments with same classification and name
  for labels layer and increase text-spacing so labels aren't
  repeated right next to each other

* optimise queries as to select just what is required for rendering

* select way area so can style bay names larger for larger bays

==Style level==
* ShieldSymbolizers for POIs with names at high zooms (eg police station
  icon with name)
*/

Map {
  /* Due to the use of extra large text for high zooms for suburb and
     place names, this style requires a fair bit of padding. */
  buffer-size: 256;
}

/*
  Large labeled areas such as park, golf courses and schools.

  These labels are shown at z15-17, before we see POI features.

  We use the way_area to show labels for larger areas from lower zooms.

  By placing a point-file below all the text-* attributes mapnik will
  render a marker icon if it decides it can't fit the text due to other labels
  in the way.
*/

@school_label_halo_colour: #241600;
@park_label_halo_colour: #0e300e;
@industrial_label_halo_colour: #380032;

@area_label_opacity: 1.0;
@area_label_halo_radius: 2.0;

/**  Parks  **/

/* only show from z15+ where area > 30,000 */
#park-labels[zoom > 14][way_area > 30000] {
  text-name: "[name]";
  text-face-name: "Liberation Sans Regular";
  text-fill: white;
  text-placement: interior;
  text-halo-fill: @park_label_halo_colour;
  text-halo-radius: @area_label_halo_radius;
  text-wrap-width: 20;
  text-opacity: @area_label_opacity;

  [zoom > 21] { text-size: 30; }
  [zoom = 21] { text-size: 25; }
  [zoom = 20] { text-size: 20; }
  [zoom = 19] { text-size: 15; }
  [zoom = 18] { text-size: 13; }
  [zoom = 17] { text-size: 12; }
  [zoom = 16] { text-size: 11; }
  [zoom = 15] { text-size: 11; }
}

/* start showing on z16+ on area > 10,000 */
#park-labels[zoom > 15][way_area >= 10000][way_area < 30000] {
  text-name: "[name]";
  text-face-name: "Liberation Sans Regular";
  text-fill: white;
  text-placement: interior;
  text-halo-fill: @park_label_halo_colour;
  text-halo-radius: @area_label_halo_radius;
  text-wrap-width: 20;
  text-opacity: @area_label_opacity;

  [zoom > 21] { text-size: 30; }
  [zoom = 21] { text-size: 25; }
  [zoom = 20] { text-size: 20; }
  [zoom = 19] { text-size: 15; }
  [zoom = 18] { text-size: 13; }
  [zoom = 17] { text-size: 12; }
  [zoom = 16] { text-size: 11; }
  [zoom = 15] { text-size: 11; }
}

/* show the rest from z17+ */
#park-labels[zoom > 16][way_area < 10000] {
  text-name: "[name]";
  text-face-name: "Liberation Sans Regular";
  text-fill: white;
  text-placement: interior;
  text-halo-fill: @park_label_halo_colour;
  text-halo-radius: @area_label_halo_radius;
  text-wrap-width: 20;
  text-opacity: @area_label_opacity;

  [zoom > 21] { text-size: 30; }
  [zoom = 21] { text-size: 25; }
  [zoom = 20] { text-size: 20; }
  [zoom = 19] { text-size: 15; }
  [zoom = 18] { text-size: 13; }
  [zoom = 17] { text-size: 12; }
  [zoom = 16] { text-size: 11; }
  [zoom = 15] { text-size: 11; }
}

/**  Golf Courses  **/

/* since most are large, just render all labels from zoom 15+ */
#leisure[leisure='golf_course'][zoom > 14] {
  text-name: "[name]";
  text-face-name: "Liberation Sans Regular";
  text-fill: white;
  text-placement: interior;
  text-halo-fill: #021402;
  text-halo-radius: @area_label_halo_radius;
  text-wrap-width: 50;
  text-opacity: @area_label_opacity;

  [zoom > 21] { text-size: 30; }
  [zoom = 21] { text-size: 25; }
  [zoom = 20] { text-size: 20; }
  [zoom = 19] { text-size: 15; }
  [zoom = 18] { text-size: 13; }
  [zoom = 17] { text-size: 12; }
  [zoom = 16] { text-size: 11; }
  [zoom = 15] { text-size: 11; }

  /* if mapnik can't place a label, try an icon instead */
  point-file: url('/usr/share/icons/sjjb/png/sport/golf.glow.000000.12.png');
}

/**  Schools  **/

/* only show from z15+ where area > 30,000 */
#school-labels[zoom > 14][way_area > 30000] {
  text-name: "[name]";
  text-face-name: "Liberation Sans Regular";
  text-fill: white;
  text-placement: interior;
  text-halo-fill: @school_label_halo_colour;
  text-halo-radius: @area_label_halo_radius;
  text-wrap-width: 30;
  text-opacity: @area_label_opacity;

  [zoom > 21] { text-size: 30; }
  [zoom = 21] { text-size: 25; }
  [zoom = 20] { text-size: 20; }
  [zoom = 19] { text-size: 15; }
  [zoom = 18] { text-size: 13; }
  [zoom = 17] { text-size: 12; }
  [zoom = 16] { text-size: 11; }
  [zoom = 15] { text-size: 11; }

  /* if mapnik can't place a label, try an icon instead */
  point-file: url('/usr/share/icons/sjjb/png/education/school.glow.734A08.12.png');
}

/* start showing on z16+ on area > 10,000 */
#school-labels[zoom > 15][way_area >= 10000][way_area < 30000] {
  text-name: "[name]";
  text-face-name: "Liberation Sans Regular";
  text-fill: white;
  text-placement: interior;
  text-halo-fill: @school_label_halo_colour;
  text-halo-radius: @area_label_halo_radius;
  text-wrap-width: 20;
  text-opacity: @area_label_opacity;

  [zoom > 21] { text-size: 30; }
  [zoom = 21] { text-size: 25; }
  [zoom = 20] { text-size: 20; }
  [zoom = 19] { text-size: 15; }
  [zoom = 18] { text-size: 13; }
  [zoom = 17] { text-size: 12; }
  [zoom = 16] { text-size: 11; }
  [zoom = 15] { text-size: 11; }

  point-file: url('/usr/share/icons/sjjb/png/education/school.glow.734A08.16.png');
}

/* show the rest from z17+ */
#school-labels[zoom > 16][way_area < 10000] {
  text-name: "[name]";
  text-face-name: "Liberation Sans Regular";
  text-fill: white;
  text-placement: interior;
  text-halo-fill: @school_label_halo_colour;
  text-halo-radius: @area_label_halo_radius;
  text-wrap-width: 20;
  text-opacity: @area_label_opacity;

  [zoom > 21] { text-size: 30; }
  [zoom = 21] { text-size: 25; }
  [zoom = 20] { text-size: 20; }
  [zoom = 19] { text-size: 15; }
  [zoom = 18] { text-size: 13; }
  [zoom = 17] { text-size: 12; }
  [zoom = 16] { text-size: 11; }
  [zoom = 15] { text-size: 11; }

  point-file: url('/usr/share/icons/sjjb/png/education/school.glow.734A08.20.png');
}

/* building names */
#building-label[zoom > 16] {
  text-name: "[name]";
  text-face-name: "Liberation Sans Regular";
  text-fill: white;
  text-placement: interior;
  text-halo-fill: black;
  text-halo-radius: 2.0;
  text-wrap-width: 20;

  [zoom > 21] { text-size: 17; }
  [zoom = 21] { text-size: 16; }
  [zoom = 20] { text-size: 15; }
  [zoom = 19] { text-size: 14; }
  [zoom = 18] { text-size: 12; }
  [zoom = 17] { text-size: 10; }
}

/**  Industrial Areas  **/

/* only show from z14+ where area > 30,000 */
#industrial-labels[zoom > 13][way_area > 30000] {
  text-name: "[name]";
  text-face-name: "Liberation Sans Regular";
  text-fill: white;
  text-placement: interior;
  text-halo-fill: @industrial_label_halo_colour;
  text-halo-radius: @area_label_halo_radius;
  text-wrap-width: 20;
  text-opacity: @area_label_opacity;

  [zoom > 21] { text-size: 30; }
  [zoom = 21] { text-size: 25; }
  [zoom = 20] { text-size: 20; }
  [zoom = 19] { text-size: 15; }
  [zoom = 18] { text-size: 13; }
  [zoom = 17] { text-size: 12; }
  [zoom = 16] { text-size: 11; }
  [zoom < 16] { text-size: 11; }
}

/* start showing on z16+ on area > 10,000 */
#industrial-labels[zoom > 14][way_area >= 10000][way_area < 30000] {
  text-name: "[name]";
  text-face-name: "Liberation Sans Regular";
  text-fill: white;
  text-placement: interior;
  text-halo-fill: @industrial_label_halo_colour;
  text-halo-radius: @area_label_halo_radius;
  text-wrap-width: 20;
  text-opacity: @area_label_opacity;

  [zoom > 21] { text-size: 30; }
  [zoom = 21] { text-size: 25; }
  [zoom = 20] { text-size: 20; }
  [zoom = 19] { text-size: 15; }
  [zoom = 18] { text-size: 13; }
  [zoom = 17] { text-size: 12; }
  [zoom < 17] { text-size: 11; }
}

/* show the rest from z17+ */
#industrial-labels[zoom > 15][way_area < 10000] {
  text-name: "[name]";
  text-face-name: "Liberation Sans Regular";
  text-fill: white;
  text-placement: interior;
  text-halo-fill: @industrial_label_halo_colour;
  text-halo-radius: @area_label_halo_radius;
  text-wrap-width: 20;
  text-opacity: @area_label_opacity;

  [zoom > 21] { text-size: 30; }
  [zoom = 21] { text-size: 25; }
  [zoom = 20] { text-size: 20; }
  [zoom = 19] { text-size: 15; }
  [zoom = 18] { text-size: 13; }
  [zoom = 17] { text-size: 12; }
  [zoom < 17] { text-size: 11; }
}

/*
  Miscellaneous items
  */

/* ferry routes */
#ferry-route[zoom > 6][zoom < 12] {
  line-color: white;
  line-width: 0.7;
  line-opacity: 0.5;
}

#ferry-route[zoom > 11] {
  line-color: #00066f;
  line-dasharray: 6,6;

  [zoom = 12] { line-width: 0.8; }
  [zoom = 13] { line-width: 1.0; }
  [zoom = 14] { line-width: 1.3; }
  [zoom = 15] { line-width: 1.6; }
  [zoom > 15] { line-width: 2.0; }

  ::halo{
    line-color: white;
    line-width: 1.0;
    line-opacity: 0.5;

    [zoom = 13] { line-width: 1.2; }
    [zoom = 14] { line-width: 1.5; }
    [zoom = 15] { line-width: 1.8; }
    [zoom > 15] { line-width: 2.2; }
  }
}

#landuse[landuse='military'][zoom > 10] {
  ::outline {
    line-color: #f55000;
    line-width: 3;
    line-opacity: 0.329;
  }

  polygon-pattern-file: url('/usr/share/icons/osmt/military-pattern.png');
}

/*
==Database level==
* join adjacent way segments with same classification and name
  for labels layer and increase text-spacing so labels aren't
  repeated right next to each other

* optimise queries as to select just what is required for rendering

* select way area so can style bay names larger for larger bays

==Style level==
* ShieldSymbolizers for POIs with names at high zooms (eg police station
  icon with name)
*/

/*
  Large labeled areas such as park, golf courses and schools.

  These labels are shown at z15-17, before we see POI features.

  We use the way_area to show labels for larger areas from lower zooms.

  By placing a point-file below all the text-* attributes mapnik will
  render a marker icon if it decides it can't fit the text due to other labels
  in the way.
*/

@school_label_halo_colour: #241600;
@park_label_halo_colour: #0e300e;
@industrial_label_halo_colour: #380032;

@area_label_opacity: 1.0;
@area_label_halo_radius: 2.0;

/**  Parks  **/

/* only show from z15+ where area > 30,000 */
#park-labels[zoom > 14][way_area > 30000] {
  text-name: "[name]";
  text-face-name: "Liberation Sans Regular";
  text-fill: white;
  text-placement: interior;
  text-halo-fill: @park_label_halo_colour;
  text-halo-radius: @area_label_halo_radius;
  text-wrap-width: 20;
  text-opacity: @area_label_opacity;

  [zoom > 21] { text-size: 30; }
  [zoom = 21] { text-size: 25; }
  [zoom = 20] { text-size: 20; }
  [zoom = 19] { text-size: 15; }
  [zoom = 18] { text-size: 13; }
  [zoom = 17] { text-size: 12; }
  [zoom = 16] { text-size: 11; }
  [zoom = 15] { text-size: 11; }
}

/* start showing on z16+ on area > 10,000 */
#park-labels[zoom > 15][way_area >= 10000][way_area < 30000] {
  text-name: "[name]";
  text-face-name: "Liberation Sans Regular";
  text-fill: white;
  text-placement: interior;
  text-halo-fill: @park_label_halo_colour;
  text-halo-radius: @area_label_halo_radius;
  text-wrap-width: 20;
  text-opacity: @area_label_opacity;

  [zoom > 21] { text-size: 30; }
  [zoom = 21] { text-size: 25; }
  [zoom = 20] { text-size: 20; }
  [zoom = 19] { text-size: 15; }
  [zoom = 18] { text-size: 13; }
  [zoom = 17] { text-size: 12; }
  [zoom = 16] { text-size: 11; }
  [zoom = 15] { text-size: 11; }
}

/* show the rest from z17+ */
#park-labels[zoom > 16][way_area < 10000] {
  text-name: "[name]";
  text-face-name: "Liberation Sans Regular";
  text-fill: white;
  text-placement: interior;
  text-halo-fill: @park_label_halo_colour;
  text-halo-radius: @area_label_halo_radius;
  text-wrap-width: 20;
  text-opacity: @area_label_opacity;

  [zoom > 21] { text-size: 30; }
  [zoom = 21] { text-size: 25; }
  [zoom = 20] { text-size: 20; }
  [zoom = 19] { text-size: 15; }
  [zoom = 18] { text-size: 13; }
  [zoom = 17] { text-size: 12; }
  [zoom = 16] { text-size: 11; }
  [zoom = 15] { text-size: 11; }
}

/**  Golf Courses  **/

/* since most are large, just render all labels from zoom 15+ */
#leisure[leisure='golf_course'][zoom > 14] {
  text-name: "[name]";
  text-face-name: "Liberation Sans Regular";
  text-fill: white;
  text-placement: interior;
  text-halo-fill: #021402;
  text-halo-radius: @area_label_halo_radius;
  text-wrap-width: 50;
  text-opacity: @area_label_opacity;

  [zoom > 21] { text-size: 30; }
  [zoom = 21] { text-size: 25; }
  [zoom = 20] { text-size: 20; }
  [zoom = 19] { text-size: 15; }
  [zoom = 18] { text-size: 13; }
  [zoom = 17] { text-size: 12; }
  [zoom = 16] { text-size: 11; }
  [zoom = 15] { text-size: 11; }

  /* if mapnik can't place a label, try an icon instead */
  point-file: url('/usr/share/icons/sjjb/png/sport/golf.glow.000000.12.png');
}

/**  Schools  **/

/* only show from z15+ where area > 30,000 */
#school-labels[zoom > 14][way_area > 30000] {
  text-name: "[name]";
  text-face-name: "Liberation Sans Regular";
  text-fill: white;
  text-placement: interior;
  text-halo-fill: @school_label_halo_colour;
  text-halo-radius: @area_label_halo_radius;
  text-wrap-width: 30;
  text-opacity: @area_label_opacity;

  [zoom > 21] { text-size: 30; }
  [zoom = 21] { text-size: 25; }
  [zoom = 20] { text-size: 20; }
  [zoom = 19] { text-size: 15; }
  [zoom = 18] { text-size: 13; }
  [zoom = 17] { text-size: 12; }
  [zoom = 16] { text-size: 11; }
  [zoom = 15] { text-size: 11; }

  /* if mapnik can't place a label, try an icon instead */
  point-file: url('/usr/share/icons/sjjb/png/education/school.glow.734A08.12.png');
}

/* start showing on z16+ on area > 10,000 */
#school-labels[zoom > 15][way_area >= 10000][way_area < 30000] {
  text-name: "[name]";
  text-face-name: "Liberation Sans Regular";
  text-fill: white;
  text-placement: interior;
  text-halo-fill: @school_label_halo_colour;
  text-halo-radius: @area_label_halo_radius;
  text-wrap-width: 20;
  text-opacity: @area_label_opacity;

  [zoom > 21] { text-size: 30; }
  [zoom = 21] { text-size: 25; }
  [zoom = 20] { text-size: 20; }
  [zoom = 19] { text-size: 15; }
  [zoom = 18] { text-size: 13; }
  [zoom = 17] { text-size: 12; }
  [zoom = 16] { text-size: 11; }
  [zoom = 15] { text-size: 11; }

  point-file: url('/usr/share/icons/sjjb/png/education/school.glow.734A08.16.png');
}

/* show the rest from z17+ */
#school-labels[zoom > 16][way_area < 10000] {
  text-name: "[name]";
  text-face-name: "Liberation Sans Regular";
  text-fill: white;
  text-placement: interior;
  text-halo-fill: @school_label_halo_colour;
  text-halo-radius: @area_label_halo_radius;
  text-wrap-width: 20;
  text-opacity: @area_label_opacity;

  [zoom > 21] { text-size: 30; }
  [zoom = 21] { text-size: 25; }
  [zoom = 20] { text-size: 20; }
  [zoom = 19] { text-size: 15; }
  [zoom = 18] { text-size: 13; }
  [zoom = 17] { text-size: 12; }
  [zoom = 16] { text-size: 11; }
  [zoom = 15] { text-size: 11; }

  point-file: url('/usr/share/icons/sjjb/png/education/school.glow.734A08.20.png');
}

/* building names */
#building-label[zoom > 16] {
  text-name: "[name]";
  text-face-name: "Liberation Sans Regular";
  text-fill: white;
  text-placement: interior;
  text-halo-fill: black;
  text-halo-radius: 2.0;
  text-wrap-width: 20;

  [zoom > 21] { text-size: 17; }
  [zoom = 21] { text-size: 16; }
  [zoom = 20] { text-size: 15; }
  [zoom = 19] { text-size: 14; }
  [zoom = 18] { text-size: 12; }
  [zoom = 17] { text-size: 10; }
}

/**  Industrial Areas  **/

/* only show from z14+ where area > 30,000 */
#industrial-labels[zoom > 13][way_area > 30000] {
  text-name: "[name]";
  text-face-name: "Liberation Sans Regular";
  text-fill: white;
  text-placement: interior;
  text-halo-fill: @industrial_label_halo_colour;
  text-halo-radius: @area_label_halo_radius;
  text-wrap-width: 20;
  text-opacity: @area_label_opacity;

  [zoom > 21] { text-size: 30; }
  [zoom = 21] { text-size: 25; }
  [zoom = 20] { text-size: 20; }
  [zoom = 19] { text-size: 15; }
  [zoom = 18] { text-size: 13; }
  [zoom = 17] { text-size: 12; }
  [zoom = 16] { text-size: 11; }
  [zoom < 16] { text-size: 11; }
}

/* start showing on z16+ on area > 10,000 */
#industrial-labels[zoom > 14][way_area >= 10000][way_area < 30000] {
  text-name: "[name]";
  text-face-name: "Liberation Sans Regular";
  text-fill: white;
  text-placement: interior;
  text-halo-fill: @industrial_label_halo_colour;
  text-halo-radius: @area_label_halo_radius;
  text-wrap-width: 20;
  text-opacity: @area_label_opacity;

  [zoom > 21] { text-size: 30; }
  [zoom = 21] { text-size: 25; }
  [zoom = 20] { text-size: 20; }
  [zoom = 19] { text-size: 15; }
  [zoom = 18] { text-size: 13; }
  [zoom = 17] { text-size: 12; }
  [zoom < 17] { text-size: 11; }
}

/* show the rest from z17+ */
#industrial-labels[zoom > 15][way_area < 10000] {
  text-name: "[name]";
  text-face-name: "Liberation Sans Regular";
  text-fill: white;
  text-placement: interior;
  text-halo-fill: @industrial_label_halo_colour;
  text-halo-radius: @area_label_halo_radius;
  text-wrap-width: 20;
  text-opacity: @area_label_opacity;

  [zoom > 21] { text-size: 30; }
  [zoom = 21] { text-size: 25; }
  [zoom = 20] { text-size: 20; }
  [zoom = 19] { text-size: 15; }
  [zoom = 18] { text-size: 13; }
  [zoom = 17] { text-size: 12; }
  [zoom < 17] { text-size: 11; }
}

/*
  Miscellaneous items
  */

/* ferry routes */
#ferry-route[zoom > 6][zoom < 12] {
  line-color: white;
  line-width: 0.7;
  line-opacity: 0.5;
}

#ferry-route[zoom > 11] {
  line-color: #00066f;
  line-dasharray: 6,6;

  [zoom = 12] { line-width: 0.8; }
  [zoom = 13] { line-width: 1.0; }
  [zoom = 14] { line-width: 1.3; }
  [zoom = 15] { line-width: 1.6; }
  [zoom > 15] { line-width: 2.0; }

  ::halo{
    line-color: white;
    line-width: 1.0;
    line-opacity: 0.5;

    [zoom = 13] { line-width: 1.2; }
    [zoom = 14] { line-width: 1.5; }
    [zoom = 15] { line-width: 1.8; }
    [zoom > 15] { line-width: 2.2; }
  }
}

#landuse[landuse='military'][zoom > 10] {
  ::outline {
    line-color: #f55000;
    line-width: 3;
    line-opacity: 0.329;
  }

  polygon-pattern-file: url('/usr/share/icons/osmt/military-pattern.png');
}


Twiddled park and water colors to be slightly more recessive

git-svn-id: 52b2958d923a603b3f48d22aabe6b5bf40478d2a@163 dbea3d40-3153-0410-b551-57805770c6e6

Map
{
    map-bgcolor: #8cb6d3;
}

.coast.edge.outer
{
    line-width: 13;
    line-color: #a1cbea;
    line-join: round;
}

.coast.edge.inner
{
    line-width: 5;
    line-color: #7eaac1;
    line-join: round;
}

.coast.edge.outer[zoom<=12] { line-width: 9; }
.coast.edge.inner[zoom<=12] { line-width: 3; }

.water.area
{
    line-width: 2;
    line-color: #7eaac1;
    polygon-fill: #8cb6d3;
    line-join: round;
}

.coast.fill
{
    polygon-fill: #dceee9;
    /*
    line-width: 1;
    line-color: #dceee9;
    */
}

.citylike.area,
.parking.area
{
    polygon-fill: #d0d0d0;
}

.parklike.area
{
    polygon-fill: #91b156;
}

.parklike.area[zoom>=16]
{
    polygon-pattern-file: url('img/trees-z.png');
}

.parklike.area[landuse=cemetery]
{
    polygon-fill: #94b580;
}

.parklike.area[landuse=cemetery][zoom>=16]
{
    polygon-pattern-file: url('img/graveyard-z.png');
}

.parklike.area[zoom>=11]
{
    line-width: 1;
    line-color: #6dbe3c;
}

.building.area[zoom>=13]
{
    polygon-fill: #aaaaaa;
}

.building.area[zoom>=15]
{
    line-width: 1;
    line-color: #808080;
}

.water.label name,
.parklike.label name,
.citylike.label name,
.building.label name
{
    text-face-name: "DejaVu Sans Book";
    text-fill: #000;
    text-placement: point;
    text-halo-radius: 2;
}

.water.label[zoom>=13][zoom<=15][size=large] name,
.parklike.label[zoom>=13][zoom<=15][size=large] name,
.citylike.label[zoom>=13][zoom<=15][size=large] name,
.building.label[zoom>=13][zoom<=15][size=large] name,
.water.label[zoom=15][size=medium] name,
.parklike.label[zoom=15][size=medium] name,
.citylike.label[zoom=15][size=medium] name,
.building.label[zoom=15][size=medium] name
{
    text-size: 9;
    text-wrap-width: 50;
}

.water.label[zoom>=16] name,
.parklike.label[zoom>=16] name,
.citylike.label[zoom>=16] name,
.building.label[zoom>=16] name
{
    text-wrap-width: 100;
    text-size: 12;
}

.water.label name
{
    text-halo-fill: #affcff;
}

.parklike.label name
{
    text-halo-fill: #d1ffb6;
}

.citylike.label name
{
    text-halo-fill: #eeeeee;
}

.building.label name
{
    text-halo-fill: #dddddd;
}

Map
{
    map-bgcolor: #81cee7;
}

.coast.edge.outer
{
    line-width: 13;
    line-color: #89dbf6;
    line-join: round;
}

.coast.edge.inner
{
    line-width: 5;
    line-color: #7eaac1;
    line-join: round;
}

.coast.edge.outer[zoom<=12] { line-width: 9; }
.coast.edge.inner[zoom<=12] { line-width: 3; }

.water.area
{
    line-width: 2;
    line-color: #7eaac1;
    polygon-fill: #81cee7;
    line-join: round;
}

.coast.fill
{
    polygon-fill: #dceee9;
    /*
    line-width: 1;
    line-color: #dceee9;
    */
}

.citylike.area,
.parking.area
{
    polygon-fill: #d0d0d0;
}

.parklike.area
{
    polygon-fill: #91da65;
}

.parklike.area[zoom>=16]
{
    polygon-pattern-file: url('img/trees-z.png');
}

.parklike.area[landuse=cemetery]
{
    polygon-fill: #94b580;
}

.parklike.area[landuse=cemetery][zoom>=16]
{
    polygon-pattern-file: url('img/graveyard-z.png');
}

.parklike.area[zoom>=11]
{
    line-width: 1;
    line-color: #6dbe3c;
}

.building.area[zoom>=13]
{
    polygon-fill: #aaaaaa;
}

.building.area[zoom>=15]
{
    line-width: 1;
    line-color: #808080;
}

.water.label name,
.parklike.label name,
.citylike.label name,
.building.label name
{
    text-face-name: "DejaVu Sans Book";
    text-fill: #000;
    text-placement: point;
    text-halo-radius: 2;
}

.water.label[zoom>=13][zoom<=15][size=large] name,
.parklike.label[zoom>=13][zoom<=15][size=large] name,
.citylike.label[zoom>=13][zoom<=15][size=large] name,
.building.label[zoom>=13][zoom<=15][size=large] name,
.water.label[zoom=15][size=medium] name,
.parklike.label[zoom=15][size=medium] name,
.citylike.label[zoom=15][size=medium] name,
.building.label[zoom=15][size=medium] name
{
    text-size: 9;
    text-wrap-width: 50;
}

.water.label[zoom>=16] name,
.parklike.label[zoom>=16] name,
.citylike.label[zoom>=16] name,
.building.label[zoom>=16] name
{
    text-wrap-width: 100;
    text-size: 12;
}

.water.label name
{
    text-halo-fill: #affcff;
}

.parklike.label name
{
    text-halo-fill: #d1ffb6;
}

.citylike.label name
{
    text-halo-fill: #eeeeee;
}

.building.label name
{
    text-halo-fill: #dddddd;
}