diff --git a/assets/themes/dog/dog-food.svg b/assets/themes/dog/dog-food.svg
new file mode 100644
index 0000000000..348f3cbafc
--- /dev/null
+++ b/assets/themes/dog/dog-food.svg
@@ -0,0 +1,66 @@
+
+
diff --git a/assets/themes/dog/dog-park.svg b/assets/themes/dog/dog-park.svg
new file mode 100644
index 0000000000..4af873c799
--- /dev/null
+++ b/assets/themes/dog/dog-park.svg
@@ -0,0 +1,60 @@
+
+
diff --git a/assets/themes/dog/dog.json b/assets/themes/dog/dog.json
new file mode 100644
index 0000000000..c29b167fdb
--- /dev/null
+++ b/assets/themes/dog/dog.json
@@ -0,0 +1,412 @@
+{
+ "id": "dog",
+ "maintainer": "Niels Elgaard Larsen",
+ "version": "1",
+ "title": {
+ "en": "dog POIs",
+ "da": "hundesteder"
+ },
+ "description": {
+ "en": "Hundsteder",
+ "da": "Hundsteder"
+ },
+ "icon": "./assets/themes/dog/dog-park.svg",
+ "startZoom": 10,
+ "startLat": 55,
+ "startLon": 12,
+ "layers": [
+ {
+ "id": "dogpark",
+ "source": {
+ "osmTags": {
+ "#": "For a description on which tags are possible, see https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md",
+ "or": [
+ "leisure=dog_park",
+ {
+ "and": [
+ "leisure=park",
+ "dog=unleashed"
+ ]
+ }
+ ]
+ }
+ },
+ "minzoom": 10,
+ "presets": [
+ {
+ "title": {
+ "en": "a dog park",
+ "da": "en hundeskov"
+ },
+ "tags": [
+ "leisure=dog_park"
+ ],
+ "description": {
+ "en": "A place for dogs, where they can run unleashed",
+ "da": "En hundeskov eller hundegård beregnet til hunde, hvor de kan løbe uden snor"
+ }
+ }
+ ],
+ "name": {
+ "en": "dog parks",
+ "da": "hundeskove"
+ },
+ "title": {
+ "render": {
+ "en": "dog park",
+ "da": "hundeskov"
+ },
+ "mappings": [
+ {
+ "if": "name~*",
+ "then": {
+ "*": "{name}"
+ }
+ }
+ ]
+ },
+ "mapRendering": [
+ {
+ "location": [
+ "point",
+ "centroid"
+ ],
+ "icon": "./assets/themes/dog/dog-park.svg",
+ "iconSize": "40,40,center",
+ "label": {
+ "mappings": [
+ {
+ "if": "name~*",
+ "then": "
{name}
"
+ }
+ ]
+ }
+ },
+ {
+ "#": "Rendering of a line",
+ "color": "#ff0",
+ "width": 5
+ }
+ ],
+ "tagRenderings": [
+ {
+ "id": "dogpark-fenced",
+ "mappings": [
+ {
+ "if": "barrier=fence",
+ "then": {
+ "en": "This dogpark is fenced all around",
+ "da": "Denne hundskov er indhegnet"
+ }
+ },
+ {
+ "if": "barrier=no",
+ "then": {
+ "en": "This dogpark is not fenced all around",
+ "da": "Denne hundskov er ikke indhegnet"
+ }
+ }
+ ],
+ "question": {
+ "en": "It this dog park fenced in?",
+ "da": "Er denne hundeskov indhegnet?"
+ }
+ },
+ {
+ "id": "smalldogs",
+ "mappings": [
+ {
+ "if": "small_dog=separate",
+ "then": {
+ "en": "Have separate area for puppies and small dogs",
+ "da": "Har en indhegning til hvalpe og små hunde"
+ }
+ },
+ {
+ "if": "small_dog=shared",
+ "then": {
+ "en": "Does not have a separate area for puppies and small dogs",
+ "da": "Har ikke en indhegning til hvalpe og små hunde"
+ }
+ }
+ ],
+ "question": {
+ "en": "Does this dog park have a separate fenced in area for small dogs and puppies?",
+ "da": "Har denne hundeskov et separat indhegnet område for små hunde og hvalpe (hvalpegård)?"
+ }
+ },
+ {
+ "question": {
+ "en": "What is the name of this dog park?",
+ "da": "Hvad hedder denne hundeskov?"
+ },
+ "render": {
+ "en": "The name of this dog park is {name}",
+ "de": "Denne hundeskov hedder {name}"
+ },
+ "freeform": {
+ "key": "name"
+ },
+ "id": "Name"
+ },
+ {
+ "id": "dogarea",
+ "render": {
+ "en": "This dogpark is {_surface:ha} ha big",
+ "da": "Denne hundeskov er på {_surface:ha} hektar"
+ },
+ "condition": "_surface:ha!=0"
+ },
+ "reviews",
+ "images"
+ ]
+ },
+ {
+ "builtin": "food",
+ "override": {
+ "id": "dogfoodb",
+ "name": {
+ "en": "Dog friendly eateries",
+ "da": "Hundevenlige madsteder"
+ },
+ "mapRendering": [
+ {
+ "location": [
+ "point",
+ "centroid"
+ ],
+ "icon": "./assets/themes/dog/dog-food.svg",
+ "iconSize": "30,30,center"
+ }
+ ],
+ "=presets": [],
+ "source": {
+ "=osmTags": {
+ "and": [
+ {
+ "or": [
+ "amenity=restaurant",
+ "amenity=cafe"
+ ]
+ },
+ {
+ "or": [
+ "dog=unleashed",
+ "dog=leashed",
+ "dog=yes"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "builtin": "shops",
+ "id": "dogshop",
+ "override": {
+ "id": "dogshop",
+ "name": {
+ "en": "dog-friendly shop",
+ "da": "hundevenlig butik"
+ },
+ "title": {
+ "render": {
+ "en": "dog-friendly shop",
+ "da": "hundevenlig butik"
+ },
+ "mappings": [
+ {
+ "if": "name~*",
+ "then": {
+ "*": "{name}"
+ }
+ }
+ ]
+ },
+ "mapRendering": [
+ {
+ "location": [
+ "point",
+ "centroid"
+ ],
+ "icon": {
+ "render": "./assets/themes/dog/dogshop.svg",
+ "mappings": [
+ {
+ "if": {
+ "and": [
+ "shop=pet"
+ ]
+ },
+ "then": "./assets/themes/dog/petshop.svg"
+ }
+ ]
+ },
+ "iconSize": "30,30,center"
+ },
+ {
+ "#": "Rendering of a line",
+ "color": "#ff0",
+ "width": 5
+ }
+ ],
+ "presets": [
+ {
+ "tags": [
+ "shop=yes",
+ "dog=yes"
+ ]
+ }
+ ],
+ "source": {
+ "=osmTags": {
+ "and": [
+ "shop~*",
+ {
+ "or": [
+ "dog=leashed",
+ "dog=yes",
+ "shop=pet"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "id": "veterinary",
+ "source": {
+ "osmTags": {
+ "or": [
+ "amenity=veterinary"
+ ]
+ }
+ },
+ "minzoom": 10,
+ "presets": [
+ {
+ "title": {
+ "en": "a veterianarian",
+ "da": "en dyrlæge"
+ },
+ "tags": [
+ "amenity=veterinary",
+ "pet=dog"
+ ],
+ "description": {
+ "en": "a veterianarian, that treats dogs",
+ "da": "En dyrlæge, der behandler hunde"
+ }
+ }
+ ],
+ "name": {
+ "en": "veterinary",
+ "da": "dyrlæge"
+ },
+ "title": {
+ "render": {
+ "en": "Veterinary",
+ "da": "dyrlæge"
+ },
+ "mappings": [
+ {
+ "if": "name~*",
+ "then": {
+ "*": "{name}"
+ }
+ }
+ ]
+ },
+ "mapRendering": [
+ {
+ "location": [
+ "point",
+ "centroid"
+ ],
+ "icon": "./assets/themes/dog/vet.svg",
+ "iconSize": "30,40,center",
+ "label": {
+ "mappings": [
+ {
+ "if": "name~*",
+ "then": "{name}
"
+ }
+ ]
+ },
+ "iconBadges": [
+ {
+ "if": "opening_hours~*",
+ "then": "isOpen"
+ }
+ ]
+ },
+ {
+ "color": "#ff0",
+ "width": 5
+ }
+ ],
+ "tagRenderings": [
+ "website",
+ "reviews",
+ "phone",
+ "opening_hours",
+ {
+ "question": {
+ "en": "What is the name of this veterinarian?",
+ "da": "Hvad hedder denne dyrlæ?"
+ },
+ "render": {
+ "en": "The name of this veterinarian is {name}",
+ "de": "Denne dyrlæ hedder {name}"
+ },
+ "freeform": {
+ "key": "name"
+ },
+ "id": "vetName"
+ }
+ ]
+ },
+ {
+ "builtin": "food",
+ "override": {
+ "minzoom": 19,
+ "filter": null,
+ "name": null
+ }
+ },
+ {
+ "builtin": "waste_basket",
+ "override": {
+ "minzoom": 16,
+ "filter": null,
+ "name": null
+ }
+ },
+ {
+ "builtin": "shops",
+ "override": {
+ "minzoom": 19,
+ "filter": null,
+ "presets": [
+ {
+ "title": {
+ "en": "dog-friendly shop",
+ "da": "EN hundevenlig butik"
+ },
+ "tags": [
+ "dog=yes",
+ "shop=yes"
+ ],
+ "description": {
+ "en": "A shop whery you can bring a dog almost everywhere",
+ "da": "En butik hvor man kan tage en hund med næsten overalt"
+ }
+ }
+ ],
+ "name": null
+ }
+ }
+ ]
+}
diff --git a/assets/themes/dog/dogshop.svg b/assets/themes/dog/dogshop.svg
new file mode 100644
index 0000000000..2383aeb5bd
--- /dev/null
+++ b/assets/themes/dog/dogshop.svg
@@ -0,0 +1,68 @@
+
+
diff --git a/assets/themes/dog/license_info.json b/assets/themes/dog/license_info.json
new file mode 100644
index 0000000000..36b08f8809
--- /dev/null
+++ b/assets/themes/dog/license_info.json
@@ -0,0 +1,59 @@
+[
+ {
+ "path": "vet.svg",
+ "license": "PD",
+ "authors": [
+ "Niels Elgaard Larsen",
+ "Tim Hitchins"
+ ],
+ "sources": [
+ "https://openclipart.org/detail/216869/snake-pole-logo-for-healthse-no-background-white-snake"
+ ]
+ },
+ {
+ "path": "dog-food.svg",
+ "license": "PD",
+ "authors": [
+ "Public Domain Symbols",
+ "Jean Victor Balin ",
+ "Niels Elgaard Larsen"
+ ],
+ "sources": [
+ "https://openclipart.org/detail/260714/dogpark15",
+ "https://openclipart.org/detail/25719/aiga-restaurant"
+ ]
+ },
+ {
+ "path": "dog-park.svg",
+ "license": "CC0 1.0",
+ "authors": [
+ "Public Domain Symbols",
+ "Niels Elgaard Larsen"
+ ],
+ "sources": [
+ "https://openclipart.org/detail/260714/dogpark15"
+ ]
+ },
+ {
+ "path": "dogshop.svg",
+ "license": "CC0 1.0",
+ "authors": [
+ "Public Domain Symbols",
+ "Niels Elgaard Larsen"
+ ],
+ "sources": [
+ "https://openclipart.org/detail/260714/dogpark15"
+ ]
+ },
+ {
+ "path": "petshop.svg",
+ "license": "CC0 1.0",
+ "authors": [
+ "Niels Elgaard Larsen",
+ "Public Domain Symbols"
+ ],
+ "sources": [
+ "https://openclipart.org/detail/260857/veterinary15"
+ ]
+ }
+]
diff --git a/assets/themes/dog/petshop.svg b/assets/themes/dog/petshop.svg
new file mode 100644
index 0000000000..22d104fd6f
--- /dev/null
+++ b/assets/themes/dog/petshop.svg
@@ -0,0 +1,93 @@
+
+
diff --git a/assets/themes/dog/vet.svg b/assets/themes/dog/vet.svg
new file mode 100644
index 0000000000..e430de13c3
--- /dev/null
+++ b/assets/themes/dog/vet.svg
@@ -0,0 +1,98 @@
+
+