Compare commits

...
2 Commits
Author SHA1 Message Date
westfarn b46e192138 Ship College Craft public site and point CI deploys at college_craft.
Deploy Beta / unit-tests (push) Successful in 21s
Deploy Beta / docker (push) Successful in 26s
Deploy Beta / deploy-beta (push) Successful in 6m25s
Replaces template branding with College Craft pages, assets, and copy, and
matches Gitea deploy workflows to the server-infra catalog name and master
branch so beta deploys actually run.

Closes #1
2026-09-02 09:42:43 -05:00
westfarn b62357c8be Add campaign UTM links and piha.li shortener as a core helper.
Keep mint/UTM in always-on core so email_sms and directmail stay optional, and brand utm_source from SITE_NAME (or UTM_SOURCE) instead of a hardcoded client name.
Closes westfarn/web_django_template#3
2026-09-01 15:37:49 -05:00
211 changed files with 3745 additions and 2054 deletions
+16 -6
View File
@@ -13,13 +13,13 @@ DJANGO_ALLOWED_HOSTS=localhost,127.0.0.1,0.0.0.0
# DATABASE_URL=postgres://client_site:client_site@127.0.0.1:5432/client_site # DATABASE_URL=postgres://client_site:client_site@127.0.0.1:5432/client_site
SITE_UNDER_CONSTRUCTION=false SITE_UNDER_CONSTRUCTION=false
SITE_NAME=Your Company SITE_NAME=College Craft Painters
SITE_TAGLINE=A tagline for the public site SITE_TAGLINE=Outstanding interior & exterior painting in the Chicago area since 1960
PUBLIC_SITE_URL=http://127.0.0.1:8000 PUBLIC_SITE_URL=http://127.0.0.1:8000
CONTACT_PHONE= CONTACT_PHONE=(630) 665-8200
CONTACT_EMAIL=hello@example.com CONTACT_EMAIL=CollegeCraft@yahoo.com
CONTACT_ADDRESS= CONTACT_ADDRESS=211 East Illinois-Suite 1A, Wheaton, IL 60187
CONTACT_SERVICE_AREA= CONTACT_SERVICE_AREA=Chicagoland western suburbs — Wheaton, Glen Ellyn, Geneva, St. Charles, Batavia, Naperville, Downers Grove, Lisle, Elmhurst, Lombard, Bartlett, Hinsdale, Western Springs, Oak Brook, Clarendon Hills, Aurora, Elburn, and Elgin
CREDIT_NAME=AI ML Operations, LLC CREDIT_NAME=AI ML Operations, LLC
CREDIT_URL=https://aimloperations.com CREDIT_URL=https://aimloperations.com
@@ -85,6 +85,16 @@ SOCIAL_TOKEN_ENCRYPTION_KEY=
OLLAMA_BASE_URL=http://10.0.0.128:11434 OLLAMA_BASE_URL=http://10.0.0.128:11434
OLLAMA_MODEL=llama3.2 OLLAMA_MODEL=llama3.2
# URL shortener (piha.li). Empty locally = long UTM URLs in campaigns.
# Call the API host, never https://piha.li (that host only 302s).
# Required in beta/prod when FEATURE_EMAIL_SMS or FEATURE_DIRECT_MAIL is on.
SHORTENER_BASE_URL=
SHORTENER_API_TOKEN=
# UTM_SOURCE= # optional override; default is a slug of SITE_NAME
# Local shortener compose:
# SHORTENER_BASE_URL=http://127.0.0.1:8005
# SHORTENER_API_TOKEN=acme:dev-only-token
# Nominatim (LAN) — address autocomplete via Django /api/address-suggest/ # Nominatim (LAN) — address autocomplete via Django /api/address-suggest/
NOMINATIM_BASE_URL=http://10.0.0.128:8089 NOMINATIM_BASE_URL=http://10.0.0.128:8089
NOMINATIM_TIMEOUT_SECONDS=8 NOMINATIM_TIMEOUT_SECONDS=8
+32 -18
View File
@@ -1,7 +1,7 @@
# Secret env files for server-infra deploy. Never commit. # Secret env files for server-infra deploy. Never commit.
# Copy on the control node: # Copy on the control node:
# ~/Documents/secrets/<slug>_site/<slug>_site_prod.env # ~/Documents/secrets/college_craft/college_craft_prod.env
# ~/Documents/secrets/<slug>_site/<slug>_site_beta.env # ~/Documents/secrets/college_craft/college_craft_beta.env
# #
# Docker Compose: if a secret contains $ (e.g. DATABASE_URL password), escape # Docker Compose: if a secret contains $ (e.g. DATABASE_URL password), escape
# each $ as $$ or compose will treat $word as a variable. # each $ as $$ or compose will treat $word as a variable.
@@ -9,34 +9,36 @@
DJANGO_ENV=prod DJANGO_ENV=prod
DJANGO_DEBUG=false DJANGO_DEBUG=false
DJANGO_SECRET_KEY=replace-with-a-long-random-secret DJANGO_SECRET_KEY=replace-with-a-long-random-secret
DJANGO_ALLOWED_HOSTS=example.com,www.example.com DJANGO_ALLOWED_HOSTS=collegecraft.com,www.collegecraft.com
SITE_UNDER_CONSTRUCTION=true SITE_UNDER_CONSTRUCTION=true
SITE_NAME=Your Company SITE_NAME=College Craft Painters
SITE_TAGLINE=A tagline for the public site SITE_TAGLINE=Outstanding interior & exterior painting in the Chicago area since 1960
PUBLIC_SITE_URL=https://example.com PUBLIC_SITE_URL=https://www.collegecraft.com
DEFAULT_FROM_EMAIL=noreply@example.com DEFAULT_FROM_EMAIL=noreply@collegecraft.com
CONTACT_PHONE= CONTACT_PHONE=(630) 665-8200
CONTACT_EMAIL= CONTACT_EMAIL=CollegeCraft@yahoo.com
CONTACT_ADDRESS= CONTACT_ADDRESS=211 East Illinois-Suite 1A, Wheaton, IL 60187
CONTACT_SERVICE_AREA= CONTACT_SERVICE_AREA=Chicagoland western suburbs — Wheaton, Glen Ellyn, Geneva, St. Charles, Batavia, Naperville, Downers Grove, Lisle, Elmhurst, Lombard, Bartlett, Hinsdale, Western Springs, Oak Brook, Clarendon Hills, Aurora, Elburn, and Elgin
CREDIT_NAME=AI ML Operations, LLC CREDIT_NAME=AI ML Operations, LLC
CREDIT_URL=https://aimloperations.com CREDIT_URL=https://aimloperations.com
# Optional catalog features — false unless purchased. # Optional catalog features — false unless purchased.
# Blog is part of the public site we shipped. Flip others when purchased.
# Turning a flag on later: set true, redeploy, migrate. Do not auto-drop tables. # Turning a flag on later: set true, redeploy, migrate. Do not auto-drop tables.
FEATURE_EMAIL_SMS=false FEATURE_EMAIL_SMS=false
FEATURE_DIRECT_MAIL=false FEATURE_DIRECT_MAIL=false
FEATURE_BLOG=false FEATURE_BLOG=true
FEATURE_PAYMENTS=false FEATURE_PAYMENTS=false
FEATURE_SOCIAL=false FEATURE_SOCIAL=false
FEATURE_SOCIAL_AI=false FEATURE_SOCIAL_AI=false
# Shared external Postgres (10.0.0.230) # Shared external Postgres (10.0.0.230)
DATABASE_URL=postgres://westfarn:replace-db-password@10.0.0.230:5432/client_site DATABASE_URL=postgres://westfarn:replace-db-password@10.0.0.230:5432/college_craft
WEB_PORT=8004 # Next free Django ports after url_shortening_service (8005/8015)
WEB_PORT=8006
RECAPTCHA_PUBLIC_KEY=replace-me RECAPTCHA_PUBLIC_KEY=replace-me
RECAPTCHA_PRIVATE_KEY=replace-me RECAPTCHA_PRIVATE_KEY=replace-me
@@ -73,6 +75,14 @@ OLLAMA_BASE_URL=http://10.0.0.128:11434
OLLAMA_MODEL=llama3.2 OLLAMA_MODEL=llama3.2
OLLAMA_TIMEOUT_SECONDS=120 OLLAMA_TIMEOUT_SECONDS=120
# Required in beta/prod when FEATURE_EMAIL_SMS or FEATURE_DIRECT_MAIL is on.
# POST /api/links/ on the API host. Recipients hit https://piha.li/<code>.
# Token must match SHORTENER_API_TOKENS on url_shortening_service (name:secret).
# Generate: python -c "import secrets; print(secrets.token_urlsafe(32))"
SHORTENER_BASE_URL=https://shortener.aimloperations.com
SHORTENER_API_TOKEN=college_craft:replace-me
# UTM_SOURCE=college-craft # optional; default is a slug of SITE_NAME
NOMINATIM_BASE_URL=http://10.0.0.128:8089 NOMINATIM_BASE_URL=http://10.0.0.128:8089
NOMINATIM_TIMEOUT_SECONDS=8 NOMINATIM_TIMEOUT_SECONDS=8
NOMINATIM_COUNTRY_CODES=us NOMINATIM_COUNTRY_CODES=us
@@ -84,9 +94,13 @@ TIANJI_WEBSITE_ID=
GUNICORN_WORKERS=2 GUNICORN_WORKERS=2
GUNICORN_BIND=0.0.0.0:8000 GUNICORN_BIND=0.0.0.0:8000
# BETA overrides — <slug>-preview.aimloperations.com # BETA overrides — college-craft-preview.aimloperations.com
# DJANGO_ENV=beta # DJANGO_ENV=beta
# SITE_UNDER_CONSTRUCTION=false # SITE_UNDER_CONSTRUCTION=false
# PUBLIC_SITE_URL=https://example-preview.aimloperations.com # DJANGO_ALLOWED_HOSTS=college-craft-preview.aimloperations.com
# DATABASE_URL=postgres://westfarn:replace-db-password@10.0.0.230:5432/client_site_beta # PUBLIC_SITE_URL=https://college-craft-preview.aimloperations.com
# WEB_PORT=8014 # DEFAULT_FROM_EMAIL=noreply@college-craft-preview.aimloperations.com
# DATABASE_URL=postgres://westfarn:replace-db-password@10.0.0.230:5432/college_craft_beta
# WEB_PORT=8016
# SHORTENER_BASE_URL=https://shortener-beta.aimloperations.com
# SHORTENER_API_TOKEN=college_craft:replace-with-a-different-token
+1 -1
View File
@@ -2,7 +2,7 @@ name: CI
on: on:
pull_request: pull_request:
branches: [main] branches: [master]
jobs: jobs:
test: test:
+4 -4
View File
@@ -3,7 +3,7 @@ name: Deploy Beta
on: on:
push: push:
branches: branches:
- main - master
jobs: jobs:
unit-tests: unit-tests:
@@ -45,7 +45,7 @@ jobs:
COMPOSE_DATABASE_URL DJANGO_ENV DJANGO_SECRET_KEY DJANGO_DEBUG \ COMPOSE_DATABASE_URL DJANGO_ENV DJANGO_SECRET_KEY DJANGO_DEBUG \
DJANGO_ALLOWED_HOSTS || true DJANGO_ALLOWED_HOSTS || true
PROJECT="client-ci-${{ gitea.sha }}" PROJECT="college-craft-ci-${{ gitea.sha }}"
cleanup() { docker compose -p "$PROJECT" down -v --remove-orphans || true; } cleanup() { docker compose -p "$PROJECT" down -v --remove-orphans || true; }
trap cleanup EXIT trap cleanup EXIT
@@ -66,9 +66,9 @@ jobs:
SERVER_INFRA_ROOT: /home/westfarn/Documents/repos/server-infra SERVER_INFRA_ROOT: /home/westfarn/Documents/repos/server-infra
ANSIBLE_PRIVATE_KEY_FILE: /home/westfarn/.ssh/ansible_deploy ANSIBLE_PRIVATE_KEY_FILE: /home/westfarn/.ssh/ansible_deploy
steps: steps:
- name: Deploy client_site beta to all webservers - name: Deploy college_craft beta to all webservers
run: | run: |
"$SERVER_INFRA_ROOT/scripts/deploy.sh" \ "$SERVER_INFRA_ROOT/scripts/deploy.sh" \
--app client_site \ --app college_craft \
--env beta \ --env beta \
--ref "${{ gitea.sha }}" --ref "${{ gitea.sha }}"
+3 -3
View File
@@ -43,7 +43,7 @@ jobs:
COMPOSE_DATABASE_URL DJANGO_ENV DJANGO_SECRET_KEY DJANGO_DEBUG \ COMPOSE_DATABASE_URL DJANGO_ENV DJANGO_SECRET_KEY DJANGO_DEBUG \
DJANGO_ALLOWED_HOSTS || true DJANGO_ALLOWED_HOSTS || true
PROJECT="client-ci-${{ gitea.sha }}" PROJECT="college-craft-ci-${{ gitea.sha }}"
cleanup() { docker compose -p "$PROJECT" down -v --remove-orphans || true; } cleanup() { docker compose -p "$PROJECT" down -v --remove-orphans || true; }
trap cleanup EXIT trap cleanup EXIT
@@ -64,9 +64,9 @@ jobs:
SERVER_INFRA_ROOT: /home/westfarn/Documents/repos/server-infra SERVER_INFRA_ROOT: /home/westfarn/Documents/repos/server-infra
ANSIBLE_PRIVATE_KEY_FILE: /home/westfarn/.ssh/ansible_deploy ANSIBLE_PRIVATE_KEY_FILE: /home/westfarn/.ssh/ansible_deploy
steps: steps:
- name: Deploy client_site prod to all webservers - name: Deploy college_craft prod to all webservers
run: | run: |
"$SERVER_INFRA_ROOT/scripts/deploy.sh" \ "$SERVER_INFRA_ROOT/scripts/deploy.sh" \
--app client_site \ --app college_craft \
--env prod \ --env prod \
--ref "${{ gitea.sha }}" --ref "${{ gitea.sha }}"
+3
View File
@@ -177,3 +177,6 @@ cython_debug/
# Django collectstatic output # Django collectstatic output
staticfiles/ staticfiles/
# Local scrape of the live client site (reference only)
archived_site/
+20
View File
@@ -61,3 +61,23 @@ server-infra Ansible deploy.
Ollama for social drafts lives on the LAN at `http://10.0.0.128:11434`. Ollama for social drafts lives on the LAN at `http://10.0.0.128:11434`.
Do not call a public Ollama host. Do not call a public Ollama host.
## Campaign tracked links (piha.li)
When `FEATURE_EMAIL_SMS` or `FEATURE_DIRECT_MAIL` is on, composers auto-insert a
homepage URL with `utm_source` (slug of `SITE_NAME`, or `UTM_SOURCE`),
`utm_medium` = channel, and `utm_campaign` = campaign name. Configured
`SHORTENER_BASE_URL` + `SHORTENER_API_TOKEN` mint that URL via
[url_shortening_service](https://git.aimloperations.com/ai_ml_operations/url_shortening_service)
and put `piha.li` / `beta.piha.li` short links in SMS, email hrefs, and postcard QR codes.
Caller secrets (this repo's env file):
```text
SHORTENER_BASE_URL=https://shortener.aimloperations.com
SHORTENER_API_TOKEN=<slug>:<secret>
```
Operator secrets (`url_shortening_service_*`): `SHORTENER_API_TOKENS=<slug>:<same-secret>`
and `SHORT_ALLOWED_HOSTS` must include the client domain. Mint against the **API host**,
never `piha.li`.
+5 -1
View File
@@ -17,7 +17,7 @@ services:
web: web:
build: . build: .
ports: ports:
- "8000:8000" - "8006:8000"
# Bind-mount source so edit → runserver auto-reload (no rebuild). # Bind-mount source so edit → runserver auto-reload (no rebuild).
volumes: volumes:
- ./site:/app/site - ./site:/app/site
@@ -67,6 +67,8 @@ services:
META_APP_ID: ${META_APP_ID:-} META_APP_ID: ${META_APP_ID:-}
META_APP_SECRET: ${META_APP_SECRET:-} META_APP_SECRET: ${META_APP_SECRET:-}
SOCIAL_TOKEN_ENCRYPTION_KEY: ${SOCIAL_TOKEN_ENCRYPTION_KEY:-} SOCIAL_TOKEN_ENCRYPTION_KEY: ${SOCIAL_TOKEN_ENCRYPTION_KEY:-}
SHORTENER_BASE_URL: ${SHORTENER_BASE_URL:-}
SHORTENER_API_TOKEN: ${SHORTENER_API_TOKEN:-}
depends_on: depends_on:
db: db:
condition: service_healthy condition: service_healthy
@@ -108,6 +110,8 @@ services:
META_APP_ID: ${META_APP_ID:-} META_APP_ID: ${META_APP_ID:-}
META_APP_SECRET: ${META_APP_SECRET:-} META_APP_SECRET: ${META_APP_SECRET:-}
SOCIAL_TOKEN_ENCRYPTION_KEY: ${SOCIAL_TOKEN_ENCRYPTION_KEY:-} SOCIAL_TOKEN_ENCRYPTION_KEY: ${SOCIAL_TOKEN_ENCRYPTION_KEY:-}
SHORTENER_BASE_URL: ${SHORTENER_BASE_URL:-}
SHORTENER_API_TOKEN: ${SHORTENER_API_TOKEN:-}
depends_on: depends_on:
db: db:
condition: service_healthy condition: service_healthy
+8
View File
@@ -53,6 +53,14 @@ if _true "${FEATURE_DIRECT_MAIL:-}"; then
PCM_RETURN_ADDRESS PCM_RETURN_ADDRESS
) )
fi fi
if _true "${FEATURE_EMAIL_SMS:-}" || _true "${FEATURE_DIRECT_MAIL:-}"; then
if [[ "$DJANGO_ENV" == "prod" || "$DJANGO_ENV" == "beta" ]]; then
required_vars+=(
SHORTENER_BASE_URL
SHORTENER_API_TOKEN
)
fi
fi
if _true "${FEATURE_PAYMENTS:-}"; then if _true "${FEATURE_PAYMENTS:-}"; then
required_vars+=( required_vars+=(
STRIPE_SECRET_KEY STRIPE_SECRET_KEY
+13 -4
View File
@@ -1,12 +1,21 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load static %}
{% block title %}{{ post.title }} · {{ SITE_NAME }}{% endblock %} {% block title %}{{ post.title }} · {{ SITE_NAME }}{% endblock %}
{% block og_title %}{{ post.title }} · {{ SITE_NAME }}{% endblock %}
{% block twitter_title %}{{ post.title }}{% endblock %}
{% block meta_description %}{{ post.excerpt|default:post.body|truncatewords:28 }}{% endblock %}
{% block content %} {% block content %}
<section class="section section-lg"> {% include "public/_breadcrumbs.html" with title=post.title subtitle="Blog" %}
<section class="section section-md bg-default">
<div class="container"> <div class="container">
<div class="row justify-content-center">
<div class="col-md-10 col-lg-8">
<p><a href="{% url 'blog:list' %}">← Blog</a></p> <p><a href="{% url 'blog:list' %}">← Blog</a></p>
<h1>{{ post.title }}</h1> <h2>{{ post.title }}</h2>
<p class="muted">{% if post.published_at %}{{ post.published_at|date:"F j, Y" }}{% endif %}</p> {% if post.published_at %}<p class="time">{{ post.published_at|date:"F j, Y" }}</p>{% endif %}
<div>{{ post.body|linebreaks }}</div> <div class="big">{{ post.body|linebreaks }}</div>
</div>
</div>
</div> </div>
</section> </section>
{% endblock %} {% endblock %}
+15 -7
View File
@@ -1,18 +1,26 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load static %}
{% block title %}Blog · {{ SITE_NAME }}{% endblock %} {% block title %}Blog · {{ SITE_NAME }}{% endblock %}
{% block og_title %}Blog · {{ SITE_NAME }}{% endblock %}
{% block twitter_title %}Blog · {{ SITE_NAME }}{% endblock %}
{% block meta_description %}News and painting tips from {{ SITE_NAME }}.{% endblock %}
{% block content %} {% block content %}
<section class="section section-lg"> {% include "public/_breadcrumbs.html" with title="Blog" subtitle="Our latest news and updates" %}
<section class="section section-md bg-default">
<div class="container"> <div class="container">
<h1 class="text-uppercase">Blog</h1> <div class="row row-50 justify-content-center">
<div class="col-md-10 col-lg-8 post-classic-wrap">
{% for post in posts %} {% for post in posts %}
<article style="margin:0 0 32px"> <article class="post-classic">
<h2><a href="{{ post.get_absolute_url }}">{{ post.title }}</a></h2> <h5 class="title"><a href="{{ post.get_absolute_url }}">{{ post.title }}</a></h5>
<p class="muted">{% if post.published_at %}{{ post.published_at|date:"F j, Y" }}{% endif %}</p> <p class="exeption">{{ post.excerpt|default:post.body|truncatewords:40 }}</p>
<p>{{ post.excerpt|default:post.body|truncatewords:40 }}</p> {% if post.published_at %}<div class="time">{{ post.published_at|date:"F j, Y" }}</div>{% endif %}
</article> </article>
{% empty %} {% empty %}
<p>No posts yet.</p> <p>No posts yet. Check back soon for painting tips and project news.</p>
{% endfor %} {% endfor %}
</div> </div>
</div>
</div>
</section> </section>
{% endblock %} {% endblock %}
+30 -6
View File
@@ -2,6 +2,7 @@
import json import json
import os import os
import sys
from pathlib import Path from pathlib import Path
from urllib.parse import urlparse from urllib.parse import urlparse
@@ -243,13 +244,22 @@ LOGOUT_REDIRECT_URL = "accounts:login"
SITE_UNDER_CONSTRUCTION = env_bool("SITE_UNDER_CONSTRUCTION", False) SITE_UNDER_CONSTRUCTION = env_bool("SITE_UNDER_CONSTRUCTION", False)
# --- Branding / public site --- # --- Branding / public site ---
SITE_NAME = env("SITE_NAME", "Your Company") SITE_NAME = env("SITE_NAME", "College Craft Painters")
SITE_TAGLINE = env("SITE_TAGLINE", "A tagline for the public site") SITE_TAGLINE = env(
"SITE_TAGLINE",
"Outstanding interior & exterior painting in the Chicago area since 1960",
)
PUBLIC_SITE_URL = env("PUBLIC_SITE_URL", "") PUBLIC_SITE_URL = env("PUBLIC_SITE_URL", "")
CONTACT_PHONE = env("CONTACT_PHONE", "") CONTACT_PHONE = env("CONTACT_PHONE", "(630) 665-8200")
CONTACT_EMAIL = env("CONTACT_EMAIL", "hello@example.com") CONTACT_EMAIL = env("CONTACT_EMAIL", "CollegeCraft@yahoo.com")
CONTACT_ADDRESS = env("CONTACT_ADDRESS", "") CONTACT_ADDRESS = env(
CONTACT_SERVICE_AREA = env("CONTACT_SERVICE_AREA", "") "CONTACT_ADDRESS",
"211 East Illinois-Suite 1A, Wheaton, IL 60187",
)
CONTACT_SERVICE_AREA = env(
"CONTACT_SERVICE_AREA",
"Chicagoland western suburbs — Wheaton, Glen Ellyn, Geneva, St. Charles, Batavia, Naperville, Downers Grove, Lisle, Elmhurst, Lombard, Bartlett, Hinsdale, Western Springs, Oak Brook, Clarendon Hills, Aurora, Elburn, and Elgin",
)
CREDIT_NAME = env("CREDIT_NAME", "AI ML Operations, LLC") CREDIT_NAME = env("CREDIT_NAME", "AI ML Operations, LLC")
CREDIT_URL = env("CREDIT_URL", "https://aimloperations.com") CREDIT_URL = env("CREDIT_URL", "https://aimloperations.com")
@@ -364,6 +374,20 @@ NOMINATIM_USER_AGENT = env(
) )
NOMINATIM_API_KEY = env("NOMINATIM_API_KEY", "") NOMINATIM_API_KEY = env("NOMINATIM_API_KEY", "")
# --- URL shortener (piha.li) ---
# Call the API host, never the public short domain. Empty = skip minting
# (composer falls back to the long UTM URL). Token format: name:secret.
# Required in beta/prod when FEATURE_EMAIL_SMS or FEATURE_DIRECT_MAIL is on.
SHORTENER_BASE_URL = env("SHORTENER_BASE_URL", "")
SHORTENER_API_TOKEN = env("SHORTENER_API_TOKEN", "")
SHORTENER_TIMEOUT_SECONDS = int(env("SHORTENER_TIMEOUT_SECONDS", "10") or "10")
# Optional override for utm_source. Empty → slug of SITE_NAME.
UTM_SOURCE = env("UTM_SOURCE", "")
# manage.py test must not mint against a live API (env often has prod tokens).
if "test" in sys.argv:
SHORTENER_BASE_URL = ""
SHORTENER_API_TOKEN = ""
# --- Tianji analytics (pageviews + events; notice banner, not opt-in) --- # --- Tianji analytics (pageviews + events; notice banner, not opt-in) ---
TIANJI_ENABLED = env_bool("TIANJI_ENABLED", not DEBUG) TIANJI_ENABLED = env_bool("TIANJI_ENABLED", not DEBUG)
TIANJI_TRACKER_URL = env( TIANJI_TRACKER_URL = env(
Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 74 KiB

File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+36
View File
@@ -690,3 +690,39 @@ body.portal {
padding: 8px 10px; border: 1px solid var(--monica-border); font: inherit; font-size: 13px; background: #fff; padding: 8px 10px; border: 1px solid var(--monica-border); font: inherit; font-size: 13px; background: #fff;
} }
.empty-state { padding: 24px; color: var(--monica-muted); font-size: 14px; } .empty-state { padding: 24px; color: var(--monica-muted); font-size: 14px; }
.utm-panel {
margin-top: 4px;
padding-top: 4px;
}
.utm-url {
display: block;
font-size: 12px;
line-height: 1.45;
word-break: break-all;
background: #f8fafc;
border: 1px solid var(--monica-border);
padding: 8px 10px;
color: #0f172a;
}
.utm-actions {
display: flex;
gap: 8px;
flex-wrap: wrap;
margin-top: 8px;
}
.utm-qr {
display: flex;
gap: 16px;
align-items: flex-start;
flex-wrap: wrap;
margin-top: 12px;
}
.utm-qr canvas {
display: block;
border: 1px solid var(--monica-border);
background: #fff;
}
.utm-qr-actions { min-width: 160px; }
.utm-qr-actions .btn { margin: 0 8px 8px 0; }
#preview-body a { color: var(--monica-primary); }
File diff suppressed because one or more lines are too long
+103 -175
View File
@@ -1,121 +1,80 @@
/* EXIT Realty / MKDRealtor public brand overrides on Real Estate theme */ /* College Craft public brand overrides on the Propaint theme */
:root { :root {
--monica-primary: #00626c; --cc-primary: #a92121;
--monica-primary-light: #008898; --cc-primary-dark: #8a1a1a;
--monica-ink: #212121; --cc-accent: #ffeb38;
--monica-muted: #6b7280; --cc-ink: #212121;
--monica-surface: #f4f7f7; --cc-muted: #6b7280;
--monica-border: #d9e3e4; --cc-surface: #f4f7f7;
--cc-border: #d9e3e4;
} }
.footer-brand-row { /* Theme CSS starts `.page` at opacity:0 until a `.preloader` runs pageTransition.
display: flex; This site has no preloader, so without this the homepage is a blank white screen. */
align-items: center; .page {
gap: 12px; opacity: 1;
margin-bottom: 8px;
} }
.footer-brand-row img {
height: 40px; .rd-navbar-brand .brand img,
.rd-navbar-brand .brand-logo-dark,
.rd-navbar-brand .brand-logo-light {
height: 52px;
width: auto; width: auto;
} max-width: 200px;
.about-subtitle {
font-size: 18px;
color: var(--monica-muted);
} }
.page .button-primary, .page .button-primary,
.page .button-primary:focus, .page .button-primary:focus,
.page .button-primary:active, .page .button-primary:active,
.page .button-default,
.page .button-default:focus,
.page .button-default:active,
.cookie-consent-banner .button-primary, .cookie-consent-banner .button-primary,
.cookie-consent-banner .button-primary:focus, .cookie-consent-banner .button-primary:focus,
.cookie-consent-banner .button-primary:active { .cookie-consent-banner .button-primary:active {
background-color: var(--monica-primary) !important; background-color: var(--cc-primary) !important;
border-color: var(--monica-primary) !important; border-color: var(--cc-primary) !important;
color: #fff !important; color: #fff !important;
} }
.page .button-primary:hover, .page .button-primary:hover,
.cookie-consent-banner .button-primary:hover {
background-color: var(--monica-primary-light) !important;
border-color: var(--monica-primary-light) !important;
color: #fff !important;
}
/* Theme default blue (#0045b6) → EXIT Realty teal on public chrome */
html .page .text-primary {
color: var(--monica-primary) !important;
}
.page .breadcrumbs-custom-path a,
.page a.link-default {
color: var(--monica-primary);
}
.page a.link-default:hover {
color: var(--monica-primary-light);
}
.page .button-gray-bordered:hover,
.page .button-gray-bordered:active,
.page .button-default:hover, .page .button-default:hover,
.page .button-default:active, .cookie-consent-banner .button-primary:hover {
.page .button-accent-outline:hover, background-color: var(--cc-primary-dark) !important;
.page .button-accent-outline:active, border-color: var(--cc-primary-dark) !important;
.page .button-primary-outline:hover,
.page .button-primary-outline:active,
.page .button-primary-white:hover,
.page .button-primary-white:active,
.page .button.button-primary-lighten,
.page .button.button-primary-lighten:focus {
background-color: var(--monica-primary) !important;
border-color: var(--monica-primary) !important;
color: #fff !important; color: #fff !important;
} }
.page .button.button-primary-lighten:hover,
.page .button.button-primary-lighten:active { html .page .text-primary {
background-color: var(--monica-ink) !important; color: var(--cc-primary) !important;
border-color: var(--monica-ink) !important;
} }
.page .button-accent-outline, .page a.link-default,
.page .button-accent-outline:focus { .page .contact-link,
border-color: var(--monica-primary) !important; .page .breadcrumbs-custom-path a {
color: var(--cc-primary);
} }
.page .button-video:hover { .page a.link-default:hover,
color: var(--monica-primary) !important; .page .contact-link:hover {
} color: var(--cc-primary-dark);
.page .btn-primary,
.page .btn-primary:active,
.page .btn-primary:focus {
background: var(--monica-primary) !important;
border-color: var(--monica-primary) !important;
}
.page .box-chloe__icon,
.page .box-light-icon,
.page .box-minimal-icon .box-chloe__icon {
color: var(--monica-primary);
} }
/* Mobile drawer active/hover — theme uses #0045b6 */
.rd-navbar-fixed .rd-nav-item:hover .rd-nav-link, .rd-navbar-fixed .rd-nav-item:hover .rd-nav-link,
.rd-navbar-fixed .rd-nav-item.focus .rd-nav-link, .rd-navbar-fixed .rd-nav-item.focus .rd-nav-link,
.rd-navbar-fixed .rd-nav-item.active .rd-nav-link, .rd-navbar-fixed .rd-nav-item.active .rd-nav-link,
.rd-navbar-fixed .rd-nav-item.opened .rd-nav-link { .rd-navbar-fixed .rd-nav-item.opened .rd-nav-link {
background: var(--monica-primary) !important; color: var(--cc-primary) !important;
color: #fff !important;
} }
/* Scroll-to-top (injected outside .page) */
.ui-to-top { .ui-to-top {
background: var(--monica-primary) !important; background: var(--cc-primary) !important;
color: #fff !important; color: #fff !important;
box-shadow: 0 6px 16px rgba(0, 98, 108, 0.35);
} }
.ui-to-top:hover, .ui-to-top:hover,
.ui-to-top:focus { .ui-to-top:focus {
background: var(--monica-primary-light) !important; background: var(--cc-primary-dark) !important;
color: #fff !important; color: #fff !important;
} }
/* Django flash messages */
.flash { .flash {
list-style: none; list-style: none;
margin: 0; margin: 0;
@@ -125,9 +84,9 @@ html .page .text-primary {
max-width: 1200px; max-width: 1200px;
margin: 0 auto 8px; margin: 0 auto 8px;
padding: 12px 16px; padding: 12px 16px;
background: #e8f4f5; background: #fde8e8;
border-left: 3px solid #00626c; border-left: 3px solid var(--cc-primary);
color: #0d4a52; color: #7f1d1d;
font-size: 14px; font-size: 14px;
} }
.flash li.error, .flash li.error,
@@ -137,8 +96,8 @@ html .page .text-primary {
color: #991b1b; color: #991b1b;
} }
/* Form field errors */ .form-wrap .errorlist,
.form-wrap .errorlist { .errorlist {
list-style: none; list-style: none;
margin: 6px 0 0; margin: 6px 0 0;
padding: 0; padding: 0;
@@ -146,7 +105,6 @@ html .page .text-primary {
font-size: 13px; font-size: 13px;
} }
/* Cookie consent — match public EXIT Realty teal brand */
.cookie-consent-banner { .cookie-consent-banner {
position: fixed; position: fixed;
bottom: 0; bottom: 0;
@@ -155,9 +113,8 @@ html .page .text-primary {
z-index: 11000; z-index: 11000;
padding: 1rem 1.25rem; padding: 1rem 1.25rem;
background: rgba(17, 24, 28, 0.96); background: rgba(17, 24, 28, 0.96);
border-top: 2px solid var(--monica-primary); border-top: 2px solid var(--cc-primary);
box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.28); box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.28);
font-family: "Work Sans", sans-serif;
} }
.cookie-consent-content { .cookie-consent-content {
max-width: 1200px; max-width: 1200px;
@@ -174,8 +131,6 @@ html .page .text-primary {
font-size: 0.9375rem; font-size: 0.9375rem;
line-height: 1.45; line-height: 1.45;
margin: 0; margin: 0;
font-family: "Work Sans", sans-serif;
font-weight: 400;
} }
.cookie-consent-text-short { .cookie-consent-text-short {
display: none; display: none;
@@ -185,15 +140,6 @@ html .page .text-primary {
gap: 0.75rem; gap: 0.75rem;
flex-shrink: 0; flex-shrink: 0;
} }
.cookie-consent-banner .button {
min-width: 10rem;
padding-left: 1.5rem;
padding-right: 1.5rem;
letter-spacing: 0.04em;
text-transform: uppercase;
font-family: "Work Sans", sans-serif;
font-weight: 500;
}
.visually-hidden { .visually-hidden {
position: absolute; position: absolute;
width: 1px; width: 1px;
@@ -209,7 +155,7 @@ html .page .text-primary {
background: none; background: none;
border: none; border: none;
padding: 0; padding: 0;
color: #7dd3da; color: var(--cc-primary);
font: inherit; font: inherit;
font-size: 13px; font-size: 13px;
cursor: pointer; cursor: pointer;
@@ -217,11 +163,10 @@ html .page .text-primary {
} }
.footer-link-btn:hover { .footer-link-btn:hover {
text-decoration: underline; text-decoration: underline;
color: #a8e8ed; color: var(--cc-primary-dark);
} }
.cookie-consent-link { .cookie-consent-link {
color: #7dd3da; color: var(--cc-accent);
text-decoration: underline; text-decoration: underline;
text-underline-offset: 2px; text-underline-offset: 2px;
} }
@@ -234,7 +179,7 @@ html .page .text-primary {
} }
.legal-prose .legal-lead { .legal-prose .legal-lead {
font-size: 1.05rem; font-size: 1.05rem;
color: var(--monica-ink); color: var(--cc-ink);
margin-bottom: 1.75rem; margin-bottom: 1.75rem;
} }
.legal-prose h2 { .legal-prose h2 {
@@ -252,64 +197,20 @@ html .page .text-primary {
.legal-prose .legal-updated { .legal-prose .legal-updated {
margin-top: 2.5rem; margin-top: 2.5rem;
font-size: 0.875rem; font-size: 0.875rem;
color: var(--monica-muted); color: var(--cc-muted);
} }
/* Contact form — breathe on narrow viewports */
@media (max-width: 767.98px) {
.contact-form-section > .container {
padding-left: 1.5rem;
padding-right: 1.5rem;
}
.contact-form-section .section-lg {
padding-top: 2.5rem;
padding-bottom: 2.5rem;
}
.contact-form-section h3 {
margin-bottom: 1.25rem;
padding-right: 0.25rem;
}
.contact-message-form .form-wrap {
margin-bottom: 0.35rem;
}
.contact-message-form .form-label-outside {
margin-bottom: 0.35rem;
}
.contact-message-form .row-10 {
margin-left: 0;
margin-right: 0;
}
.contact-message-form .row-10 > [class*="col-"] {
padding-left: 0;
padding-right: 0;
}
}
.footer-aside-copy {
text-align: right;
}
.footer-aside-copy .rights {
margin: 0;
}
.footer-made-by { .footer-made-by {
margin: 6px 0 0; margin: 10px 0 0;
font-size: 13px; font-size: 13px;
color: #9ca3af; color: #6b7280;
font-family: "Work Sans", sans-serif;
} }
.footer-made-by a { .footer-made-by a {
color: #d1d5db; color: var(--cc-primary);
text-decoration: underline; text-decoration: underline;
} }
.footer-made-by a:hover { .footer-made-by a:hover {
color: #fff; color: var(--cc-primary-dark);
}
.footer-minimal .footer-made-by {
margin-top: 8px;
}
.footer-minimal-inner {
flex-wrap: wrap;
gap: 12px;
} }
.pref-check { .pref-check {
@@ -317,7 +218,7 @@ html .page .text-primary {
align-items: center; align-items: center;
gap: 10px; gap: 10px;
font-size: 15px; font-size: 15px;
color: var(--monica-ink); color: var(--cc-ink);
cursor: pointer; cursor: pointer;
} }
.pref-check input { .pref-check input {
@@ -325,6 +226,54 @@ html .page .text-primary {
height: 16px; height: 16px;
} }
.testimonial-card {
height: 100%;
padding: 28px 24px;
background: #fff;
border: 1px solid #e5e5e5;
}
.testimonial-card blockquote {
margin: 0 0 16px;
font-size: 16px;
line-height: 1.6;
color: #333;
}
.testimonial-card cite {
display: block;
font-style: normal;
font-weight: 600;
color: var(--cc-primary);
font-size: 14px;
}
.choice-list {
list-style: none;
margin: 0;
padding: 0;
display: grid;
gap: 8px;
}
.choice-list label {
display: flex;
align-items: center;
gap: 10px;
font-weight: 500;
cursor: pointer;
}
.form-label-outside {
display: block;
margin-bottom: 6px;
font-weight: 500;
}
@media (max-width: 767.98px) {
.contact-form-section > .container {
padding-left: 1.5rem;
padding-right: 1.5rem;
}
}
@media (max-width: 640px) { @media (max-width: 640px) {
.cookie-consent-banner { .cookie-consent-banner {
padding: 0.625rem 0.75rem; padding: 0.625rem 0.75rem;
@@ -350,24 +299,3 @@ html .page .text-primary {
width: 100%; width: 100%;
} }
} }
/* Keep hero slide-2 heading visually aligned with slide-1 h1 (SEO: one h1). */
.swiper-slider-minimal .jumbotron-classic-content h1.font-weight-bold,
.swiper-slider-minimal .jumbotron-classic-content h2.font-weight-bold {
font-size: 2.5rem;
line-height: 1.15;
margin-bottom: 0.5rem;
}
@media (min-width: 768px) {
.swiper-slider-minimal .jumbotron-classic-content h1.font-weight-bold,
.swiper-slider-minimal .jumbotron-classic-content h2.font-weight-bold {
font-size: 3.5rem;
}
}
@media (min-width: 1200px) {
.swiper-slider-minimal .jumbotron-classic-content h1.font-weight-bold,
.swiper-slider-minimal .jumbotron-classic-content h2.font-weight-bold {
font-size: 4.5rem;
}
}
Binary file not shown.
+31
View File
@@ -0,0 +1,31 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>Copyright (C) 2015 by original authors @ fontello.com</metadata>
<defs>
<font id="construction" horiz-adv-x="1000" >
<font-face font-family="construction" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
<missing-glyph horiz-adv-x="1000" />
<glyph glyph-name="construction-01" unicode="&#xe800;" d="m163 574c-3 0-5 1-7 4-2 3-2 8 2 11l64 48c3 2 9 2 11-2 3-4 2-9-1-11l-64-48c-2-1-3-2-5-2z m49-299c-13 0-23 10-23 23 0 12 10 22 23 22 13 0 23-10 23-22 0-13-11-23-23-23z m0 29c-4 0-7-3-7-6 0-4 3-7 7-7 4 0 6 3 6 7 0 3-2 6-6 6z m49 46c-13 0-23 10-23 23 0 13 10 23 23 23 13 0 23-11 23-23 0-13-10-23-23-23z m0 30c-4 0-7-3-7-7 0-4 3-7 7-7 3 0 6 3 6 7 1 4-2 7-6 7z m-83-13c-13 0-23 10-23 23 0 13 10 23 23 23 13 0 23-11 23-23 0-13-10-23-23-23z m0 30c-4 0-7-3-7-7 0-4 3-6 7-6 3 0 6 2 6 6 1 4-3 7-6 7z m-66-305c-4 0-8 4-8 8l0 652c0 4 4 8 8 8 5 0 9-4 9-8l0-652c0-4-4-8-9-8z m610-95c-1 0-2 0-3 1-13 5-28 18-28 35 0 20 16 36 36 36 5 0 11-1 16-3 3-2 5-7 3-11-2-4-7-6-11-4-3 1-5 2-8 2-11 0-20-9-20-20 0-10 12-18 18-20 4-2 6-7 4-11-1-3-4-5-7-5z m-403 472l-207 0c-4 0-8 3-8 8 0 4 4 8 8 8l191 0 0 18-191 0c-4 0-8 3-8 8 0 5 4 8 8 8l207 0 0-50z m491-275c-14 0-24 11-24 24 0 13 10 24 24 24 13 0 23-11 23-24 0-14-10-24-23-24z m0 31c-5 0-8-3-8-7 0-5 3-8 8-8 4 0 7 3 7 8 0 4-3 7-7 7z m-331 145c-4 0-8 4-8 9l0 181c0 4 4 8 8 8 5 0 8-4 8-8l0-181c0-5-3-9-8-9z m248 27l-70 0c-4 0-8 3-8 8 0 4 4 8 8 8l70 0c5 0 8-4 8-8 0-5-3-8-8-8z m0 37l-70 0c-4 0-8 3-8 8 0 5 4 8 8 8l70 0c5 0 8-3 8-8 0-5-3-8-8-8z m0 37l-70 0c-4 0-8 3-8 8 0 5 4 8 8 8l70 0c5 0 8-3 8-8 0-5-3-8-8-8z m18 81c-5 0-9 3-9 8l0 45c0 4 4 8 9 8 4 0 8-4 8-8l0-45c0-5-4-8-8-8z m-44 0c-5 0-8 3-8 8l0 45c0 4 3 8 8 8 4 0 8-4 8-8l0-45c0-5-4-8-8-8z m-44 0c-4 0-8 3-8 8l0 45c0 4 4 8 8 8 5 0 8-4 8-8l0-45c0-5-3-8-8-8z m99-350l-27 0c-20 0-38 15-41 35l-12 74c-1 5 2 9 6 9 5 1 9-2 10-6l12-74c2-12 13-21 25-21l27 0c5 0 9-4 9-8 0-5-4-9-9-9z m77 262c-3 0-6 2-8 5-3 7-4 15-4 22 0 21 11 39 29 49 4 2 8 0 11-3 2-4 0-9-4-12-12-7-20-19-20-34 0-5 1-10 3-15 2-4 0-9-4-11-1 0-2-1-3-1z m21 60c-3 0-6 2-7 5l-40 72c-3 4-1 9 3 11 4 2 9 1 11-3l40-72c2-4 1-9-3-12-2 0-3-1-4-1z m-479-100l-28 0c-24 0-44 19-44 43l0 57c0 24 20 44 44 44l28 0 0-144z m-28 128c-16 0-28-12-28-28l0-57c0-15 12-27 28-27l11 0 0 112-11 0z m494-612c-1 0-2 0-4 1l-119 57c-4 2-6 7-4 11 2 4 7 5 11 4l119-57c4-2 6-7 4-11-1-3-4-5-7-5z m-102 110c-1 0-2 0-2 0-5 1-7 6-6 10 12 46 17 93 17 141 0 37-3 74-10 110-1 4 2 9 6 9 5 1 9-2 10-6 7-38 11-76 11-113 0-50-6-98-19-145-1-3-4-6-7-6z m102-110c-1 0-2 0-3 1-4 1-6 6-5 10 31 76 46 162 46 250 0 51-5 101-15 149-9 42-22 82-38 119-2 4 0 9 4 11 4 2 9 0 11-5 16-37 30-78 39-121 11-50 16-101 16-153 0-90-17-178-47-256-2-3-5-5-8-5z m-95 364l-273 0-104 83c-7 6-11 14-11 22l0 175c0 16 13 29 29 29l427 0c4 0 8-3 8-8 0-4-4-8-8-8l-427 0c-7 0-13-6-13-13l0-174c0-4 2-7 5-10l99-79 267 0c5 0 9-4 9-8 0-5-4-9-8-9z" horiz-adv-x="1000" />
<glyph glyph-name="construction-02" unicode="&#xe801;" d="m688 273c-2 0-4 0-6 2-3 3-3 8 0 11l90 90c3 3 8 3 11 0 3-4 3-9 0-12l-89-89c-2-2-4-2-6-2z m-152 0c-2 0-4 0-6 2-3 3-3 8 0 11l89 90c4 3 9 3 12 0 3-4 3-9 0-12l-90-89c-1-2-3-2-5-2z m-153 0c-2 0-4 0-6 2-3 3-3 8 0 11l90 90c3 3 8 3 11 0 3-4 3-9 0-12l-89-89c-2-2-4-2-6-2z m-153 0c-1 0-4 0-5 2-4 3-4 8 0 11l89 90c3 3 8 3 11 0 4-4 4-9 0-12l-89-89c-1-2-3-2-6-2z m623 0l-706 0 0 105 706 0 0-105z m-690 16l674 0 0 73-674 0 0-73z m368 156l-62 0c-5 0-8 3-8 8 0 4 3 8 8 8l62 0c5 0 8-4 8-8 0-5-3-8-8-8z m0 43l-62 0c-5 0-8 4-8 8 0 5 3 8 8 8l62 0c5 0 8-3 8-8 0-4-3-8-8-8z m0 44l-62 0c-5 0-8 3-8 8 0 4 3 8 8 8l62 0c5 0 8-4 8-8 0-5-3-8-8-8z m0 43l-62 0c-5 0-8 4-8 8 0 5 3 8 8 8l62 0c5 0 8-3 8-8 0-4-3-8-8-8z m72 71l-206 0 0 46 206 0 0-46z m-190 16l173 0 0 14-173 0 0-14z m118-269c-4 0-8 4-8 9l0 244-46 0 0-244c0-5-4-9-8-9-5 0-9 4-9 9l0 260 79 0 0-260c0-5-3-9-8-9z m-31-385l-40 94 0 147c0 5 4 8 9 8 4 0 8-3 8-8l0-144 23-55 23 55 0 144c0 5 4 8 8 8 5 0 8-3 8-8l0-147-39-94z" horiz-adv-x="1000" />
<glyph glyph-name="construction-03" unicode="&#xe802;" d="m262 282c-60 0-109 49-109 110 0 60 49 109 109 109 61 0 110-49 110-109 0-61-49-110-110-110z m0 203c-51 0-93-42-93-93 0-51 42-94 93-94 52 0 94 43 94 94 0 51-42 93-94 93z m43-124c-17 0-31 13-31 30 0 17 14 31 31 31 17 0 31-14 31-31 0-16-14-30-31-30z m0 45c-8 0-14-6-14-14 0-8 6-15 14-15 8 0 15 7 15 15 0 8-7 14-15 14z m-86-45c-17 0-31 13-31 30 0 17 14 31 31 31 17 0 31-14 31-31 0-16-14-30-31-30z m0 45c-8 0-14-6-14-14 0-8 6-15 14-15 8 0 14 7 14 15 1 8-6 14-14 14z m151-164l-216 0c-23 0-42 18-42 42l0 215c0 24 19 42 42 42l216 0c23 0 42-18 42-42l0-215c0-23-19-42-42-42z m-216 283c-14 0-25-11-25-26l0-215c0-14 11-26 25-26l216 0c14 0 26 12 26 26l0 215c0 15-12 26-26 26l-216 0z m370-169l-40 0c-5 0-8 4-8 8 0 5 3 8 8 8l40 0c5 0 9-3 9-8 0-4-4-8-9-8z m0 50l-40 0c-5 0-8 3-8 8 0 4 3 8 8 8l40 0c5 0 9-4 9-8 0-5-4-8-9-8z m-8-94l0 155 9-1c41-2 73-36 73-77 0-41-32-75-73-77l-9 0z m17 137l0-119c28 5 49 30 49 59 0 30-21 54-49 60z m347-370l-48 0c-13 0-26 5-35 14-10 10-15 22-15 35l0 454c0 13-10 23-23 23l-1 0c-6 0-12-2-16-7-5-4-7-10-7-16l0-454c0-27-23-50-50-50l-2 0c-28 0-50 23-50 50l0 219c0 18-15 34-33 34l-10 0c-4 0-8 3-8 8 0 4 4 8 8 8l10 0c27 0 49-22 49-50l0-219c0-18 16-33 34-33l2 0c18 0 33 15 33 33l0 455c0 10 4 20 12 27 7 8 17 12 28 12l1 0c21 0 39-18 39-39l0-454c0-9 4-18 10-24 6-6 15-10 24-10l48 0c4 0 8-3 8-8 0-5-4-8-8-8z" horiz-adv-x="1000" />
<glyph glyph-name="construction-04" unicode="&#xe803;" d="m517 500l-44 0c-4 0-8 3-8 8 0 4 4 8 8 8l44 0c4 0 8-4 8-8 0-5-4-8-8-8z m0 40l-44 0c-4 0-8 4-8 8 0 5 4 8 8 8l44 0c4 0 8-3 8-8 0-4-4-8-8-8z m0 40l-44 0c-4 0-8 4-8 9 0 4 4 8 8 8l44 0c4 0 8-4 8-8 0-5-4-9-8-9z m0 41l-44 0c-4 0-8 3-8 8 0 5 4 8 8 8l44 0c4 0 8-3 8-8 0-5-4-8-8-8z m52 49l-148 0 0 55 148 0 0-55z m-132 16l116 0 0 22-116 0 0-22z m58-711l-30 72 0 639 60 0 0-639-30-72z m-13 75l13-32 14 32 0 620-27 0 0-620z m-123 607l-175 0 0 68 80 0 0-27 15 0 0 27 80 0 0-68z m-158 16l141 0 0 35-47 0 0-26-47 0 0 26-47 0 0-35z m108-253c-2 0-4 1-6 2l-75 76c-4 4-4 9 0 12 3 3 8 3 11 0l76-76c3-3 3-9 0-12-1-1-4-2-6-2z m0 65c-2 0-4 0-6 2l-75 76c-4 3-4 9 0 11 3 4 8 4 11 0l76-75c3-4 3-9 0-12-1-1-4-2-6-2z m0 65c-2 0-4 1-6 2l-75 76c-4 3-4 9 0 11 3 4 8 4 11 0l76-75c3-4 3-9 0-12-1-1-4-2-6-2z m-37-244l-41 65 0 302 81 0 0-301-40-66z m-24 70l24-39 23 39 0 281-47 0 0-281z m503 105l-64 0c-5 0-8 3-8 8 0 4 3 8 8 8l64 0c4 0 8-4 8-8 0-5-4-8-8-8z m6-337c-2 0-4 0-6 2l-76 76c-3 3-3 8 0 11 4 4 9 4 12 0l75-76c4-3 4-8 0-11-1-2-3-2-5-2z m0 75c-2 0-4 1-6 3l-76 75c-3 4-3 9 0 12 4 3 9 3 12 0l75-76c4-3 4-9 0-11-1-2-3-3-5-3z m0 76c-2 0-4 0-6 2l-76 76c-3 3-3 8 0 11 4 4 9 4 12 0l75-75c4-4 4-9 0-12-1-1-3-2-5-2z m0 76c-2 0-4 0-6 2l-76 76c-3 3-3 8 0 11 4 3 9 3 12 0l75-76c4-3 4-8 0-11-1-2-3-2-5-2z m-38-291l-40 65 0 528 80 0 0-528-40-65z m-24 70l24-38 24 38 0 507-48 0 0-507z m59 507l-71 0-62 68 90 0 0-20 15 0 0 20 90 0-62-68z m-63 16l56 0 32 35-36 0 0-20-48 0 0 20-36 0 32-35z" horiz-adv-x="1000" />
<glyph glyph-name="construction-05" unicode="&#xe804;" d="m724 116l-145 0c-12 0-22 9-22 22l0 24c0 12 9 22 22 22l145 0c12 0 22-10 22-22l0-24c0-13-10-22-22-22z m-145 51c-4 0-6-2-6-6l0-23c0-4 2-6 6-6l145 0c3 0 6 2 6 6l0 23c0 4-3 6-6 6l-145 0z m245 125c-18 0-33 15-33 33 0 18 15 32 33 32 18 0 32-14 32-32 0-18-14-33-32-33z m0 49c-9 0-16-7-16-16 0-9 7-16 16-16 9 0 16 7 16 16 0 9-7 16-16 16z m4 169l-38 0c-4 0-8 4-8 8 0 5 4 8 8 8l38 0c5 0 9-3 9-8 0-4-4-8-9-8z m-252 0l-100 0c-5 0-8 4-8 8 0 5 3 8 8 8l100 0c5 0 8-3 8-8 0-4-3-8-8-8z m141-209c-17 0-32 15-32 33l0 133c0 4-3 8-8 8-3 0-6-3-6-6 0-13-10-23-22-23l-18 0c-13 0-24 11-24 25 0 2-2 4-4 4-2 0-4-2-4-4l0-43c0-18-15-32-32-32-18 0-32 14-32 32l0 44c0 2-2 3-4 3-1 0-3-1-3-3l0-90c0-18-14-33-32-33-18 0-32 15-32 33l0 77c0 9-8 16-16 16l-27 0c-5 0-9 3-9 8 0 5 4 8 9 8l27 0c17 0 32-14 32-32l0-77c0-9 7-16 16-16 8 0 16 7 16 16l0 90c0 10 8 19 19 19 11 0 20-9 20-19l0-44c0-8 7-16 16-16 8 0 15 8 15 16l0 43c0 11 10 20 21 20 11 0 20-9 20-20 0-5 4-8 8-8l18 0c3 0 6 2 6 6 0 12 10 22 22 22 14 0 25-11 25-24l0-133c0-9 7-16 15-16 9 0 16 7 16 16l0 125c0 18 15 32 33 32l5 0c18 0 32-14 32-32l0-31c0-8 8-16 16-16 9 0 16 8 16 16l0 31c0 18 14 32 32 32l15 0c5 0 8-3 8-8 0-5-3-8-8-8l-15 0c-8 0-16-7-16-16l0-31c0-18-14-32-32-32-18 0-32 14-32 32l0 31c0 9-7 16-16 16l-5 0c-9 0-16-7-16-16l0-125c0-18-15-33-33-33z m21-156c-4 0-7 2-8 5-1 5 1 9 5 11 56 15 105 49 140 95 33 45 51 99 51 155l0 35-45 0c-4 0-8 4-8 8 0 5 4 8 8 8l61 0 0-51c0-59-18-116-54-164-37-50-89-86-148-102-1 0-2 0-2 0z m-173 0c-1 0-2 0-3 0-58 17-111 53-148 102-35 48-54 105-54 164l0 51 61 0c5 0 8-3 8-8 0-4-3-8-8-8l-45 0 0-35c0-56 18-110 51-155 35-46 84-80 140-95 4-2 7-6 5-11 0-3-4-5-7-5z m359 301l-42 0c-5 0-9 4-9 8 0 5 4 8 9 8l42 0c4 0 8-3 8-8 0-4-4-8-8-8z m-503 0l-42 0c-4 0-8 4-8 8 0 5 4 8 8 8l42 0c5 0 8-3 8-8 0-4-3-8-8-8z m485 64l-25 0c-4 0-8 4-8 8 0 5 4 8 8 8l25 0c5 0 9 5 9 10l0 6c0 5-4 9-9 9l-510 0c-5 0-9-4-9-9l0-6c0-5 4-10 9-10l25 0c5 0 8-3 8-8 0-4-3-8-8-8l-25 0c-14 0-25 11-25 26l0 6c0 14 11 25 25 25l510 0c14 0 26-11 26-25l0-6c0-15-12-26-26-26z m-16-467l-477 0 0 475c0 5 4 8 8 8 5 0 8-3 8-8l0-458 444 0 0 458c0 5 4 8 9 8 4 0 8-3 8-8l0-475z m-688 436c-5 0-8 4-8 8l0 109c0 5 3 8 8 8 5 0 8-3 8-8l0-109c0-4-3-8-8-8z m-61 0c-5 0-8 4-8 8l0 49c0 5 3 8 8 8 4 0 8-3 8-8l0-49c0-4-4-8-8-8z m14 47l-6 0c-13 0-25 11-25 25l0 43c0 4-4 8-8 8l-4 0c-5 0-9-4-9-8l0-5c0-14-11-25-25-25l-12 0c-4 0-8 4-8 8 0 5 4 9 8 9l12 0c5 0 9 3 9 8l0 5c0 13 11 25 25 25l4 0c14 0 25-12 25-25l0-43c0-5 4-9 8-9l6 0c4 0 8 4 8 9l0 31c0 14 11 25 25 25l5 0c14 0 25-11 25-25l0-7c0-4 4-8 9-8l4 0c5 0 9 4 9 8l0 22c0 14 11 25 25 25l12 0c4 0 8-4 8-8 0-5-4-8-8-8l-12 0c-5 0-9-4-9-9l0-22c0-13-11-25-25-25l-4 0c-14 0-25 12-25 25l0 7c0 4-4 8-9 8l-5 0c-4 0-8-4-8-8l0-31c0-14-12-25-25-25z m-97-81l0 212 227 0 0-211-227-1z m17 195l0-179 194 0 0 179-194 0z m173-236l-153 0c-4 0-8 4-8 8 0 5 4 8 8 8l153 0c4 0 8-3 8-8 0-4-4-8-8-8z m37-68l-227 0 0 126 227 0 0-126z m-210 17l194 0 0 92-194 0 0-92z m96-310c0 0 0 0 0 0l0 0c-35 0-63 29-63 63 0 19 4 38 10 59 8 30 17 67 18 125-16 13-34 18-70 21l-8 0 0 41 227 0 0-41-8 0c-36-2-55-8-70-21 0-58 10-96 18-126 5-21 10-39 10-58 0-34-28-63-64-63z m-96 284c31-2 55-8 75-27l2-2 0-3c0-63-10-102-18-134-5-20-10-37-10-54 0-26 21-47 47-47l0 0c26 0 47 21 47 47 0 17-4 34-9 54-8 32-19 71-19 134l0 3 3 2c20 19 43 25 75 27l0 9-194 0 1-9z m96-251l0 0c-17 0-30 14-30 31 0 17 13 31 30 31 17 0 31-14 31-31 0-17-14-31-31-31z m0 45c-8 0-14-6-14-14 0-8 6-15 14-15 8 0 15 7 15 15 0 8-7 14-15 14z" horiz-adv-x="1000" />
<glyph glyph-name="construction-06" unicode="&#xe805;" d="m784 331c-4 0-8 3-8 8l0 28c0 5 4 8 8 8 5 0 8-3 8-8l0-28c0-5-3-8-8-8z m-54 0c-4 0-8 3-8 8l0 28c0 5 4 8 8 8 5 0 9-3 9-8l0-28c0-5-4-8-9-8z m-53 0c-5 0-9 3-9 8l0 28c0 5 4 8 9 8 4 0 8-3 8-8l0-28c0-5-4-8-8-8z m-54 0c-5 0-9 3-9 8l0 28c0 5 4 8 9 8 4 0 8-3 8-8l0-28c0-5-4-8-8-8z m188 225l-108 0c-4 0-8 4-8 9 0 4 4 8 8 8l108 0c4 0 8-4 8-8 0-5-4-9-8-9z m-108-126c-4 0-8 3-8 8l0 210c0 5 4 9 8 9 5 0 9-4 9-9l0-210c0-5-4-8-9-8z m116-5l-231 0 0 231 231 0 0-231z m-214 17l198 0 0 198-198 0 0-198z m252-55l-308 0 0 308 308 0 0-308z m-291 16l275 0 0 276-275 0 0-276z m332-72l-389 0 0 72 389 0 0-72z m-372 16l355 0 0 40-355 0 0-40z m-149 19l-180 0 0 141c0 49 40 88 89 88l3 0c49 0 88-39 88-88l0-141z m-163 17l147 0 0 124c0 40-33 72-72 72l-3 0c-40 0-72-32-72-72l0-124z m-6-123c-17 0-32 14-32 32 0 17 15 32 32 32 18 0 32-15 32-32 0-18-14-32-32-32z m0 47c-8 0-15-7-15-16 0-8 6-15 15-15 9 0 16 7 16 15 0 9-7 16-16 16z m226-302l-293 0 0 651 293 0 0-651z m-277 17l261 0 0 618-261 0 0-618z m316-17l-371 0 0 690 371 0 0-690z m-354 17l337 0 0 657-337 0 0-657z m116 448c-2 0-4 0-6 2-3 3-3 9 0 12l34 33c3 4 8 4 11 0 4-3 4-8 0-11l-34-34c-1-1-3-2-5-2z m71-40c-2 0-4 0-6 2-3 3-3 9 0 11l34 34c3 4 9 4 12 0 3-3 3-8 0-11l-34-34c-2-2-4-2-6-2z m-61-4c-2 0-4 1-5 2-4 4-4 9 0 12l77 77c3 4 9 4 11 0 4-3 4-8 0-11l-77-78c-1-1-3-2-6-2z" horiz-adv-x="1000" />
<glyph glyph-name="construction-07" unicode="&#xe806;" d="m469 7l-251 0 0 740 251 0 0-740z m-235 16l219 0 0 708-219 0 0-708z m131-86c-49 0-88 39-88 88 0 48 39 87 88 87 4 0 8-3 8-8 0-4-4-8-8-8-40 0-72-32-72-71 0-40 32-72 72-72 26 0 50 15 63 38 2 4 7 6 11 4 4-2 5-8 3-11-15-29-45-47-77-47z m-21 125c-23 0-42 19-42 42 0 23 19 41 42 41 23 0 41-18 41-41 0-23-18-42-41-42z m0 67c-15 0-26-11-26-25 0-14 12-25 26-25 14 0 25 11 25 25 0 14-12 25-25 25z m188-148l-40 14c-5 2-7 7-5 11 1 4 6 7 10 5l25-9 240 666-207 74-53-148c-1-4-6-6-10-5-5 2-7 7-5 11l59 163 237-85-251-697z m-4 203c-2 0-5 1-7 2l-30 10c-4 2-6 6-5 11 2 4 7 6 11 4l29-10c2 0 3 0 4 0 1 1 2 2 2 3l32 88c1 2 0 3 0 4 0 1-1 2-2 2l-70 25c-5 2-7 7-5 11 1 4 6 7 10 5l70-25c5-2 10-6 12-11 3-5 3-11 1-16l-32-88c-1-6-5-10-10-12-4-2-7-3-10-3z m60 166c-2 0-5 1-7 2l-88 31c-1 1-3 1-4 2-3 3-4 8-1 12 2 3 7 4 11 2l87-32c3-1 5 0 6 3l32 88c0 1 0 2-1 4 0 1-1 2-2 2l-88 32c-3 1-6 0-6-3l-25-70c-2-4-7-7-11-5-4 2-7 6-5 11l25 70c4 11 16 17 27 13l88-32c6-2 10-6 12-11 2-5 3-11 1-16l-32-88c-2-9-11-15-19-15z m60 167c-3 0-5 0-8 1l-88 31c-10 4-16 16-12 27l31 88c2 6 6 10 11 12 5 2 11 3 16 1l88-32c5-2 10-6 12-11 2-5 3-10 1-16l-32-88c-2-5-6-9-11-12-2-1-5-1-8-1z m-57 145c0 0-1 0-1-1-1 0-2-1-3-2l-31-88c-1-3 0-6 3-6l88-32c1 0 2 0 3 1 1 0 2 1 3 2l31 88c0 2 0 3 0 4-1 1-2 2-3 2l-88 32c-1 0-1 0-2 0z m-122-655l-251 0 0 740 251 0 0-740z m-235 16l219 0 0 708-219 0 0-708z m156 173l-93 0c-12 0-21 9-21 21l0 93c0 11 9 21 21 21l93 0c12 0 21-10 21-21l0-93c0-12-9-21-21-21z m-93 119c-3 0-5-2-5-5l0-93c0-3 2-5 5-5l93 0c3 0 4 2 4 5l0 93c0 3-1 5-4 5l-93 0z m93 57l-93 0c-12 0-21 10-21 21l0 94c0 11 9 21 21 21l93 0c12 0 21-10 21-21l0-94c0-11-9-21-21-21z m-93 120c-3 0-5-2-5-5l0-93c0-3 2-5 5-5l93 0c3 0 4 2 4 5l0 93c0 3-1 5-4 5l-93 0z m93 57l-93 0c-12 0-21 9-21 21l0 93c0 11 9 21 21 21l93 0c12 0 21-10 21-21l0-93c0-12-9-21-21-21z m-93 119c-3 0-5-2-5-5l0-93c0-3 2-5 5-5l93 0c3 0 4 2 4 5l0 93c0 3-1 5-4 5l-93 0z m24-418c-2 0-5 1-6 2-4 3-4 9 0 12l27 27c3 3 8 3 11 0 4-3 4-9 0-12l-27-27c-1-1-3-2-5-2z m31-20c-2 0-4 0-5 2-4 3-4 8 0 11l13 14c4 3 9 3 12 0 3-3 3-8 0-11l-14-14c-1-2-3-2-6-2z m-31 199c-2 0-5 0-6 2-4 3-4 8 0 11l27 28c3 3 8 3 11 0 4-4 4-9 0-12l-27-27c-1-2-3-2-5-2z m31-21c-2 0-4 1-5 2-4 4-4 9 0 12l13 14c4 3 9 3 12 0 3-4 3-9 0-12l-14-14c-1-1-3-2-6-2z m-27 200c-2 0-5 1-6 3-4 3-4 8 0 11l27 28c3 3 8 3 11 0 4-4 4-9 0-12l-27-27c-1-2-3-3-5-3z m31-20c-2 0-4 0-6 2-3 3-3 9 0 12l14 13c4 4 9 4 12 0 3-3 3-8 0-11l-14-14c-1-1-3-2-6-2z" horiz-adv-x="1000" />
<glyph glyph-name="construction-08" unicode="&#xe807;" d="m668-37c-3 0-7 3-8 7-5 36-33 64-69 70-4 1-7 5-6 10 0 4 5 7 9 6 43-7 76-41 83-84 0-5-3-9-7-9-1 0-1 0-2 0z m68 0c-4 0-8 3-8 7-6 73-63 131-136 138-5 1-8 5-7 9 0 5 4 8 9 7 80-8 143-72 150-152 1-5-3-9-7-9-1 0-1 0-1 0z m68 0c-4 0-8 3-8 8-7 109-94 197-204 205-4 0-8 4-7 9 0 4 4 8 9 7 117-8 211-102 218-220 0-5-3-9-8-9 0 0 0 0 0 0z m64 33c-4 0-8 3-8 7-19 117-109 211-225 235-5 1-8 5-7 9 1 5 5 7 10 7 122-25 218-125 238-249 0-4-3-8-7-9-1 0-1 0-1 0z m0 169c-3 0-5 1-7 3-20 27-43 51-70 71-4 3-5 8-2 12 3 3 8 4 11 1 28-21 53-46 74-74 3-4 2-9-1-12-2-1-4-1-5-1z m-15-202l-245 0c-13 0-23 10-23 23l0 245c0 13 10 23 23 23l245 0c13 0 23-10 23-23l0-245c0-13-10-23-23-23z m-245 275c-4 0-7-3-7-7l0-245c0-4 3-7 7-7l245 0c4 0 7 3 7 7l0 245c0 4-3 7-7 7l-245 0z m175 324c-2 0-4 1-6 3-3 3-3 8 0 11l49 49c4 4 9 4 12 0 3-3 3-8 0-11l-49-49c-2-2-4-3-6-3z m-21 21c-2 0-5 1-6 3-3 3-3 8 0 11l49 49c3 4 9 4 12 0 3-3 3-8 0-11l-50-49c-1-2-3-3-5-3z m-22 22c-2 0-4 0-6 2-3 3-3 9 0 11l50 50c3 3 8 3 11 0 4-4 4-9 0-12l-49-49c-1-2-3-2-6-2z m159-61c-2 0-4 1-6 3-3 3-3 8 0 11 4 4 6 8 6 13 0 5-2 10-6 13-7 8-19 8-27 0-3-3-8-3-11 0-3 4-3 9 0 12 14 14 36 14 50 0 6-7 10-16 10-25 0-10-4-19-10-25-2-1-4-2-6-2z m-131 131c-2 0-4 1-6 3-3 3-3 8 0 11 4 4 6 8 6 14 0 4-2 9-6 13-4 3-8 5-13 5l0 0c-5 0-10-2-13-5-3-4-9-4-12 0-3 3-3 8 0 11 7 7 16 10 25 10 0 0 0 0 0 0 10 0 19-3 25-10 7-6 10-15 10-25 0-9-3-18-10-25-2-1-4-2-6-2z m-56-196l-84 84 87 87 113-113-49-49-67-9z m-61 84l67-66 53 7 33 34-89 89-64-64z m25-147c-2 0-4 1-6 2l-128 128 182 181c3 4 9 4 11 0 4-3 4-8 0-11l-169-170 116-116c3-3 3-8 0-11-2-2-4-3-6-3z m115 20c-2 0-5 1-6 2-4 3-4 9 0 12l108 108c3 3 9 3 12 0 3-3 3-8 0-11l-109-109c-1-1-3-2-5-2z m70 146c-2 0-4 1-6 3l-93 93c-3 3-3 8 0 11 3 3 9 3 12 0l92-93c4-3 4-8 0-11-1-2-3-3-5-3z m-185-166c-4 0-7 3-8 7-1 4 2 9 6 9l115 20c5 1 9-2 10-6 0-5-3-9-7-10l-115-20c0 0 0 0-1 0z m-549-369l-42 42 469 469 174-174-134-21 38-54-133-22 37-53-132-22 37-53-133-22 38-53-219-37z m-18 42l24-24 185 30-38 54 133 21-38 54 133 21-38 54 133 22-37 53 128 21-139 139-446-445z m376 280c0 0 0 0 0 0-4 0-8 3-8 8l0 47c0 5 4 8 8 8 0 0 0 0 0 0 5 0 8-3 8-8l0-47c0-4-3-8-8-8z m79 22c-5 0-8 3-8 8l0 47c0 5 3 8 8 8l0 0c4 0 8-3 8-8l0-47c0-5-4-8-8-8l0 0z m-40-46c-5 0-9 4-9 8l0 110c0 4 4 8 9 8l0 0c4 0 8-4 8-8l0-110c0-4-4-8-8-8l0 0z" horiz-adv-x="1000" />
<glyph glyph-name="construction-09" unicode="&#xe808;" d="m804 127c-55 0-55 74-55 102 0 59-14 81-14 81l-8 13 15 0c3 0 64-1 98-52 22-34 26-85 10-116-10-18-26-28-46-28z m-49 179c5-14 10-38 10-76 0-77 22-86 39-86 14 0 25 7 32 19 13 26 9 71-10 100-20 30-53 39-71 43z m-406-277c-4 0-8 3-8 8l0 116c0 4 4 8 8 8 5 0 9-4 9-8l0-116c0-4-4-8-9-8z m53 0c-5 0-9 3-9 8l0 116c0 4 4 8 9 8 4 0 8-4 8-8l0-116c0-4-4-8-8-8z m-110 445l-116 0c-4 0-8 3-8 8 0 4 4 8 8 8l116 0c5 0 8-4 8-8 0-5-4-8-8-8z m0 52l-116 0c-4 0-8 4-8 8 0 5 4 9 8 9l116 0c5 0 8-4 8-9 0-4-4-8-8-8z m19 75l-19 0c-5 0-8 4-8 9 0 4 3 8 8 8l19 0 0 37-154 0 0-37 19 0c5 0 8-4 8-8 0-5-3-9-8-9l-19 0c-10 0-17 8-17 17l0 37c0 9 8 16 17 16l154 0c9 0 16-7 16-16l0-37c1-9-7-17-16-17z m362-380l-37 0c-9 0-16 8-16 17l0 19c0 5 3 8 8 8 4 0 8-3 8-8l0-19 37 0 0 154-37 0 0-19c0-5-4-8-8-8-5 0-8 3-8 8l0 19c0 9 7 17 16 17l37 0c9 0 16-8 16-17l0-154c0-9-7-17-16-17z m-198-192l-206 0c-56 0-101 45-101 101l0 488 132 0 0-437c0-11 10-20 21-20l103 0c11 0 20 9 20 20l0 99c0 56 46 101 101 101l91 0 0-132-39 0c-12 0-21-9-21-21l0-98c0-27-10-53-29-72-19-18-45-29-72-29z m-291 572l0-471c0-47 38-84 85-84l206 0c22 0 44 8 60 24 16 16 24 37 24 60l0 99c0 20 17 37 37 37l23 0 0 99-74 0c-47 0-84-38-84-84l0-99c0-21-17-37-37-37l-103 0c-21 0-37 16-37 37l0 419-100 0z" horiz-adv-x="1000" />
<glyph glyph-name="construction-10" unicode="&#xe809;" d="m329 29c-2 0-4 1-6 3-3 3-3 8 0 11l74 74c3 3 8 3 11 0 4-3 4-9 0-12l-73-73c-2-2-4-3-6-3z m2 92c-2 0-4 1-6 2-3 4-3 9 0 12l72 72c3 3 8 3 11 0 4-3 4-9 0-12l-71-72c-2-1-4-2-6-2z m-12 78c-2 0-4 1-6 2-3 4-3 9 0 12l84 84c3 3 8 3 11 0 4-4 4-9 0-12l-83-84c-2-1-4-2-6-2z m71 444c-4 0-8 4-8 8l0 37c0 5 4 8 8 8 5 0 9-3 9-8l0-37c0-4-4-8-9-8z m159-49l-22 0-2 5c-15 44-52 76-97 85l0-56c0-8-6-16-15-16l-88 0c-9 0-16 7-16 16l0 39c0 13-11 24-24 24l-39 0-8-13-49 0-17 17 0 52 17 17 49 0 9-13 58 0 37 31 2 0c5 1 10 1 14 1 101 0 185-79 191-180l0-9z m-223 35l86 0 0 74 10-1c44-6 84-32 106-71-18 78-88 135-170 135-3 0-7 0-10-1l-37-31-74 0-8 13-33 0-7-7 0-39 7-7 33 0 8 13 48 0c22 0 41-18 41-41l0-37z m58-699l-54 0c-9 0-16 4-21 11-5 7-7 15-5 23 10 33 25 96 20 153-2 19-5 37-8 55-9 53-18 107 8 209l2 6 85 0 0-430c0-15-12-27-27-27z m-45 440c-24-94-16-143-7-196 3-17 7-36 8-56 5-60-10-125-20-158-1-3-1-7 1-9 2-3 5-5 9-5l54 0c5 0 10 5 10 11l0 413-55 0z m72 0l-87 0 0 251c0 4 4 8 8 8 5 0 8-4 8-8l0-235 55 0 0 235c0 4 3 8 8 8 4 0 8-4 8-8l0-251z m273 88c-20 0-37 17-37 37 0 21 17 37 37 37 20 0 37-16 37-37 0-20-17-37-37-37z m0 57c-11 0-20-9-20-20 0-11 9-21 20-21 11 0 20 10 20 21 0 11-9 20-20 20z m-79-604c-4 0-8 4-8 8l0 384c0 21-17 39-39 39l-2 0c-5 0-9 4-9 8 0 5 4 9 9 9l2 0c31 0 56-25 56-56l0-384c0-4-4-8-9-8z m-29 78l-27 0c-5 0-8 4-8 8 0 5 3 9 8 9l27 0c5 0 8-4 8-9 0-4-3-8-8-8z m0 68l-27 0c-5 0-8 4-8 8 0 5 3 9 8 9l27 0c5 0 8-4 8-9 0-4-3-8-8-8z m0 68l-27 0c-5 0-8 4-8 8 0 5 3 9 8 9l27 0c5 0 8-4 8-9 0-4-3-8-8-8z m0 68l-27 0c-5 0-8 4-8 8 0 5 3 8 8 8l27 0c5 0 8-3 8-8 0-4-3-8-8-8z m0 68l-27 0c-5 0-8 4-8 8 0 5 3 8 8 8l27 0c5 0 8-3 8-8 0-4-3-8-8-8z m58-350l-85 0c-5 0-8 4-8 8 0 5 3 8 8 8l85 0c4 0 8-3 8-8 0-4-4-8-8-8z m0 0c-5 0-9 4-9 8l0 365c0 34 8 68 23 99l21 46c2 4 7 6 11 4 5-2 6-7 4-11l-21-46c-14-29-21-60-21-92l0-365c0-4-4-8-8-8z m-85 0c-5 0-8 4-8 8l0 378c0 44 12 87 36 125l-15 14c-14 14-12 33-3 44 9 12 26 19 44 9l1-1c9-7 18-15 26-23 3-3 3-9 0-12-4-3-9-3-12 1-7 7-15 15-24 21-9 5-17 1-22-4-4-6-6-15 2-23l24-23-6-10c-22-35-34-76-34-118l0-378c-1-4-4-8-9-8z m213 0c-4 0-8 4-8 8l0 384c0 31 25 56 56 56l2 0c5 0 9-4 9-9 0-4-4-8-9-8l-2 0c-22 0-39-18-39-39l0-384c0-4-4-8-9-8z m57 78l-27 0c-5 0-9 4-9 8 0 5 4 9 9 9l27 0c4 0 8-4 8-9 0-4-4-8-8-8z m0 68l-27 0c-5 0-9 4-9 8 0 5 4 9 9 9l27 0c4 0 8-4 8-9 0-4-4-8-8-8z m0 68l-27 0c-5 0-9 4-9 8 0 5 4 9 9 9l27 0c4 0 8-4 8-9 0-4-4-8-8-8z m0 68l-27 0c-5 0-9 4-9 8 0 5 4 8 9 8l27 0c4 0 8-3 8-8 0-4-4-8-8-8z m0 68l-27 0c-5 0-9 4-9 8 0 5 4 8 9 8l27 0c4 0 8-3 8-8 0-4-4-8-8-8z m0-350l-85 0c-4 0-8 4-8 8 0 5 4 8 8 8l85 0c4 0 8-3 8-8 0-4-4-8-8-8z m-85 0c-4 0-8 4-8 8l0 365c0 32-7 63-21 92l-21 46c-2 4 0 9 4 11 3 2 8 0 10-4l22-46c14-31 22-65 22-99l0-365c0-4-3-8-8-8z m85 0c-5 0-8 4-8 8l0 378c0 42-12 83-35 118l-6 10 24 23c8 8 6 17 2 23-4 5-13 9-22 4-9-6-17-14-24-21-3-4-8-4-11-1-4 4-4 9-1 12 8 8 17 16 27 23l0 1c18 10 35 3 44-9 9-11 12-30-3-44l-14-14c23-38 36-81 36-125l0-378c-1-4-5-8-9-8z m-135 646c-5 0-8 3-8 8l0 99 9 11-22 17 20 17-19 16 20 19-20 20 26 23c4 3 9 3 12-1 3-3 3-8-1-11l-13-12 20-18-19-19 20-16-20-17 19-14-16-19 0-94c0-6-3-9-8-9z m95-20l-46 0c-5 0-9 3-9 8 0 4 4 8 9 8l25 0-55 219-38 0-56-219 26 0c5 0 9-4 9-8 0-5-4-8-9-8l-47 0 64 251 63 0 64-251z m-155-86c-3 0-5 1-7 4-8 12-11 23-11 40 0 43 35 78 78 78 5 0 8-4 8-9 0-4-3-8-8-8-34 0-61-27-61-61 0-13 2-22 8-31 2-4 1-9-3-12-1 0-3-1-4-1z m60-34c-3 0-6 0-8 0-5 1-8 5-8 10 1 4 5 7 10 7 2-1 4-1 6-1 34 0 61 28 61 62 0 16-6 32-18 43-3 3-3 9 0 12 4 3 9 3 12 0 15-15 22-34 22-56 1-42-34-77-77-77z" horiz-adv-x="1000" />
<glyph glyph-name="construction-11" unicode="&#xe80a;" d="m645 25l-342 0c-19 0-35 16-35 35l0 13c0 20 16 36 35 36l82 0c10 0 18 8 18 18l0 21c0 10-8 18-18 18l-47 0c-19 0-35 16-35 35l0 17c0 19 16 35 35 35l35 0c10 0 18 8 18 18l0 3c0 20 16 35 36 35l340 0c19 0 35-15 35-35l0-14c0-20-16-36-35-36l-54 0c-7 0-12-5-12-11 0-7 5-12 12-12l160 0c20 0 36-16 36-35l0-3c0-20-16-35-36-35l-254 0c-10 0-18-9-18-19l0-1c0-10 8-18 18-18l26 0c17 0 32-15 32-33 0-9-3-17-9-23-7-6-15-9-23-9z m-342 67c-10 0-19-8-19-19l0-13c0-10 9-19 19-19l342 0c4 0 8 2 11 5 3 3 4 7 4 11 0 9-7 16-16 16l-25 0c-19 0-35 16-35 35l0 1c0 19 16 35 35 35l254 0c11 0 19 9 19 19l0 3c0 10-8 18-19 18l-160 0c-16 0-29 13-29 29 0 15 13 28 29 28l54 0c10 0 19 8 19 19l0 14c0 11-9 19-19 19l-340 0c-10 0-19-8-19-19l0-3c0-19-16-35-35-35l-34 0c-11 0-19-8-19-18l0-17c0-10 8-18 19-18l46 0c19 0 35-16 35-35l0-21c0-19-16-35-35-35l-82 0z m-62 346c-2 0-5 1-6 3l-128 128c-4 3-4 8 0 11 3 3 8 3 11 0l128-128c4-3 4-9 0-11-1-2-3-3-5-3z m0-99c-2 0-5 1-6 3l-141 141c-3 3-3 8 0 11 3 3 9 3 11 0l141-141c4-3 4-8 0-11-1-2-3-3-5-3z m0-98c-2 0-5 0-6 2l-141 141c-3 3-3 8 0 11 3 3 9 3 11 0l141-141c4-3 4-8 0-11-1-2-3-2-5-2z m-21-79c-2 0-4 1-6 2l-120 121c-3 3-3 8 0 11 3 3 9 3 11 0l121-120c3-3 3-9 0-12-2-1-4-2-6-2z m557 184c-5 0-9 4-9 8l0 60c0 5 4 8 9 8 4 0 8-3 8-8l0-60c0-4-4-8-8-8z m-55 0c-5 0-8 4-8 8l0 60c0 5 3 8 8 8 5 0 8-3 8-8l0-60c0-4-3-8-8-8z m-54 0c-5 0-8 4-8 8l0 60c0 5 3 8 8 8 5 0 8-3 8-8l0-60c0-4-3-8-8-8z m205 0l-271 0 0 104 271 0c14 0 24-11 24-24l0-56c0-13-10-24-24-24z m-255 17l255 0c4 0 8 3 8 8l0 55c0 4-4 8-8 8l-255 0 0-71z m-36 26c0 0 0 0 0 0l-92 0c-11 0-20 6-25 16-13 26-38 75-63 124-25 49-50 98-62 123-2 4-7 7-11 7l-139 0c-6 0-11-5-11-12l0-32c0-5-4-8-9-8-4 0-8 3-8 8l0 32c0 16 13 28 28 28l139 0c11 0 20-6 25-15 13-25 38-74 62-123 25-49 50-98 64-125 2-4 6-6 10-6l92 0c4 0 8-4 8-9 0-4-4-8-8-8z m10-31l0 0c-5 0-9 2-13 5-4 4-6 9-6 14l0 43c0 10 9 19 19 19l26 0 0-81-26 0z m10 64l-10 0c-1 0-2-1-2-3l0-43c0 0 0-1 0-1 1 0 1-1 2-1l9 0 0 48z m-391 156l-81 0 0 26c0 11 9 19 19 19l43 0c11 0 19-8 19-19l0-26z m-64 17l47 0 0 9c0 1-1 3-2 3l-43 0c-2 0-3-1-3-3l0-9z m52-439l-56 0c-28 0-51 23-51 51l0 338c0 28 23 50 51 50l56 0c28 0 50-22 50-50l0-338c0-28-23-51-50-51z m-57 422c-18 0-34-15-34-34l0-338c0-18 15-34 34-34l56 0c19 0 35 15 35 34l0 338c0 19-16 34-35 34l-56 0z" horiz-adv-x="1000" />
<glyph glyph-name="construction-12" unicode="&#xe80b;" d="m550-71l-340 0 0 735 340 0 0-735z m-324 16l307 0 0 702-307 0 0-702z m315 287c-2 0-4 1-6 4-28 35-59 63-89 90-49 45-96 87-110 153-15 69 5 127 60 183 4 3 9 3 12 0 3-3 3-9 0-12-52-52-70-103-56-167 13-61 55-100 105-144 30-28 62-56 90-93 3-4 2-9-1-12-1-1-3-2-5-2z m-143-303c-1 0-2 0-3 1-4 1-6 6-5 10 35 91 58 218-27 311-40 44-86 58-126 69-8 3-15 5-22 7-4 2-7 6-5 10 1 5 5 7 10 6 7-3 14-5 21-7 43-12 91-27 134-74 71-78 82-191 31-328-1-3-4-5-8-5z m-180 643c-2 0-4 1-6 2-3 3-3 8-1 12 20 22 40 46 61 75 3 3 8 4 12 1 3-2 4-7 1-11-21-29-42-53-61-76-2-2-4-3-6-3z m242-643c-1 0-2 0-3 0-4 2-6 6-5 11 42 119 33 227-25 312-30 44-58 69-82 91-36 32-64 58-78 124-16 79 14 134 53 193 2 4 7 5 11 2 4-2 5-7 2-11-44-68-64-114-50-181 13-60 38-83 73-115 25-22 53-48 85-94 60-89 70-202 27-327-1-3-5-5-8-5z m-142 99c-19 0-34 25-34 59 0 34 15 59 34 59 19 0 34-25 34-59 0-34-15-59-34-59z m0 102c-7 0-18-17-18-43 0-26 11-42 18-42 7 0 18 16 18 42 0 26-11 43-18 43z m5-159c-38 0-68 55-68 126 0 70 30 125 68 125 38 0 68-55 68-125-1-71-30-126-68-126z m0 234c-28 0-52-49-52-109 0-59 24-109 52-109 28 0 51 50 51 109 0 60-23 109-51 109z m128 270c-18 0-31 23-31 52 0 30 13 52 31 52 18 0 31-22 31-52 0-30-13-52-31-52z m0 87c-6 0-15-14-15-35 0-21 9-36 15-36 6 0 14 15 14 36 0 21-9 35-14 35z m0-134c-36 0-64 43-64 99 0 56 28 100 64 100 36 0 64-44 64-100 0-56-28-99-64-99z m0 182c-26 0-48-38-48-83 0-45 22-83 48-83 25 0 47 38 47 83 0 45-22 83-47 83z m99-681l-340 0 0 735 340 0 0-735z m-324 16l307 0 0 702-307 0 0-702z m497 53l-59 0c-5 0-9 4-9 8 0 5 4 9 9 9l59 0c5 0 8-4 8-9 0-4-4-8-8-8z m0 33l-59 0c-5 0-9 4-9 8 0 5 4 8 9 8l59 0c5 0 8-3 8-8 0-4-4-8-8-8z m0 33l-59 0c-4 0-8 4-8 8 0 5 4 8 8 8l59 0c5 0 8-3 8-8 0-4-4-8-8-8z m0 33l-57 0c-5 0-8 3-8 8 0 5 3 8 8 8l57 0c5 0 8-3 8-8 0-5-4-8-8-8z m41 301l-82 0c-5 0-8 4-8 9 0 4 3 8 8 8l82 0c5 0 8-4 8-8 0-5-4-9-8-9z m-6-127l-70 0 2 10c0 1 13 66 13 92 0 18-27 27-28 27l-5 2 0 369 11-4c16-7 28-10 40-10 14 0 28 4 44 10l11 3 0-368-5-2c-1 0-28-9-28-27 0-26 13-91 13-92l2-10z m-50 16l30 0c-3 20-11 64-11 86 0 23 22 36 33 41l0 334c-16-5-27-7-39-7-11 0-22 2-35 6l0-333c11-5 33-18 33-41 0-22-7-66-11-86z m33-358l-36 0c-27 0-49 21-49 48-3 89 0 161 19 265l1 7 94 0 1-7c19-104 21-175 19-265-1-26-23-48-49-48z m-51 303c-17-98-19-168-18-255 1-18 15-32 33-32l36 0c18 0 32 15 33 32 2 87-1 157-18 255l-66 0z m81 0l-96 0 0 33c0 13 10 23 23 23l50 0c13 0 23-10 23-23l0-33z m-79 17l63 0 0 16c0 3-3 6-7 6l-50 0c-4 0-6-3-6-6l0-16z m76 460l-90 0c-5 0-8 4-8 9 0 4 3 8 8 8l90 0c5 0 8-4 8-8 0-5-3-9-8-9z" horiz-adv-x="1000" />
<glyph glyph-name="construction-13" unicode="&#xe80c;" d="m831 497l-48 0c-4 0-8 4-8 8 0 5 4 9 8 9l48 0c5 0 8-4 8-9 0-4-3-8-8-8z m-61 67c-2 0-4 1-6 2-3 4-3 9 0 12l27 27c3 3 8 3 11 0 3-4 3-9 0-12l-26-27c-2-1-4-2-6-2z m27-160c-2 0-4 0-6 2l-27 26c-3 4-3 9 0 12 4 3 9 3 12 0l26-27c4-3 4-8 0-11-1-2-3-2-5-2z m-580 93l-48 0c-5 0-8 4-8 8 0 5 3 9 8 9l48 0c4 0 8-4 8-9 0-4-4-8-8-8z m-14-93c-2 0-4 0-6 2-3 3-3 8 0 11l27 27c3 3 8 3 11 0 4-3 4-9 0-12l-26-26c-2-2-3-2-6-2z m27 160c-2 0-4 1-6 2l-26 27c-4 3-4 9 0 12 3 3 8 3 11 0l27-27c3-3 3-9 0-12-2-1-4-2-6-2z m291-331c-1 0-1 0-2 0-4 1-7 6-6 10l68 267-162 0 68-267c1-4-2-9-6-10-4 0-9 2-10 6l-73 288 204 0-73-287c-1-4-4-7-8-7z m84-127l-210 0c-5 0-9 4-9 9 0 4 4 8 9 8l210 0c5 0 9-4 9-8 0-5-4-9-9-9z m0 57l-210 0c-5 0-9 4-9 8 0 5 4 8 9 8l210 0c5 0 9-3 9-8 0-4-4-8-9-8z m-91-175l-28 0c-29 0-53 24-53 53l0 25 133 0 0-25c0-29-23-53-52-53z m-64 62l0-10c0-20 17-36 37-36l27 0c20 0 36 16 36 36l0 10-100 0z m157 0l-214 0c-11 0-20 9-20 20l0 144c0 12 9 21 20 21l214 0c11 0 20-9 20-21l0-144c0-11-9-20-20-20z m-214 169c-2 0-4-2-4-4l0-145c0-2 2-4 4-4l214 0c2 0 4 2 4 4l0 145c0 2-2 4-4 4l-214 0z m221 0l-228 0 0 87c-65 40-105 111-105 187 0 121 98 219 219 219 121 0 219-98 219-219 0-76-40-147-105-187l0-87z m-211 16l194 0 0 80 4 3c63 36 102 103 102 175 0 112-91 202-203 202-112 0-203-90-203-202 0-72 39-139 102-175l4-3 0-80z" horiz-adv-x="1000" />
<glyph glyph-name="construction-14" unicode="&#xe80d;" d="m233 620c-3 0-5 2-7 4-3 4-2 9 2 12l126 82c3 3 8 2 11-2 3-4 1-9-2-11l-125-83c-2-1-3-2-5-2z m0-77c-3 0-5 1-7 3-3 4-2 9 2 12l4 2 122 80c3 3 8 2 11-2 3-4 1-9-2-11l-4-3-121-80c-2-1-3-1-5-1z m0-78c-3 0-5 1-7 4-3 4-1 9 2 11l4 3 122 80c3 3 8 1 11-2 3-4 1-9-2-12l-125-83c-2 0-3-1-5-1z m0-77c-3 0-5 1-7 3-3 4-1 9 2 12l126 82c3 3 8 2 11-2 3-4 1-9-2-11l-125-83c-2-1-3-1-5-1z m0-78c-3 0-5 1-7 4-3 4-1 9 2 11l125 83c4 3 9 2 12-2 2-4 1-9-3-12l-4-2-121-81c-1-1-2-1-4-1z m0-77c-3 0-5 1-7 3-3 4-1 9 2 12l126 83c3 2 8 1 11-3 3-4 2-9-2-11l-125-83c-2-1-3-1-5-1z m125 387c-2 0-3 1-4 2l-4 2-122 81c-4 2-5 7-2 11 3 4 8 5 12 2l125-82c3-3 5-8 2-12-2-2-4-4-7-4z m0-77c-2 0-3 0-4 1l-4 3-121 80c-4 2-5 7-3 11 3 4 8 5 12 2l4-2 121-80c4-3 5-8 2-12-2-2-4-3-7-3z m0-78c-2 0-3 0-4 1l-126 83c-4 3-5 8-2 12 3 4 8 5 12 2l4-3 121-80c4-2 5-7 2-11-2-3-4-4-7-4z m0-77c-2 0-3 0-4 1l-126 83c-4 2-5 7-2 11 3 4 8 5 12 2l4-2 121-80c4-3 5-8 2-12-2-2-4-3-7-3z m0-78c-2 0-3 0-4 1l-126 83c-3 3-5 8-2 12 3 3 8 5 12 2l4-3 121-80c4-2 5-7 2-11-2-3-4-4-7-4z m0-77c-2 0-3 0-4 1l-126 83c-4 2-5 7-2 11 3 4 8 5 12 3l125-83c4-3 5-8 2-12-2-2-4-3-7-3z m-57-291l-11 0c-7 0-13 4-14 11l0 0-8 167c0 11-16 20-35 20l-8 0 0 618 142 0 0-618-9 0c-18 0-34-9-35-20l-8-167c-1-6-6-11-14-11z m-9 16l7 0 7 163c1 18 20 32 44 35l0 586-109 0 0-586c24-3 43-18 43-36l8-162z m289 490c-1 0-3 1-4 2-4 2-5 7-3 11 23 36 51 63 74 67 4 1 9-2 10-6 1-5-2-9-7-10-14-3-40-23-62-60-2-2-5-4-8-4z m87-506c-1 0-3 0-4 0-4 2-5 7-3 11 2 7 6 15 10 23 1 4 6 6 11 4 4-2 6-7 4-11-4-8-7-16-10-23-2-2-5-4-8-4z m-65 0c-2 0-3 0-4 1-4 2-5 7-3 11 27 55 49 111 64 166 1 4 5 7 10 6 4-1 7-6 6-10-15-56-37-114-66-170-1-3-4-4-7-4z m-55 15c-5 0-9 4-9 9l0 2 2 2c33 51 55 102 64 153l0 0c13 46 8 95 4 146-4 38-7 76-4 116 3 43 14 74 35 94 3 3 8 3 11 0 3-4 3-9 0-12-17-17-28-45-30-83-3-38 0-76 4-113 4-53 9-103-5-152-9-52-32-105-66-157-1-3-3-5-6-5z m116 758l-102 0 0 8c0 20 15 35 35 35l31 0c20 0 36-16 36-35l0-8z m-84 16l65 0c-3 7-9 11-17 11l-31 0c-7 0-14-5-17-11z m85-154l-105 0-44 33-66 0 0 60 66 0 44 33 105 0 44-33 66 0 0-60-66 0-44-33z m-99 16l94 0 44 33 55 0 0 28-55 0-44 33-94 0-44-33-55 0 0-28 55 0 44-33z m165-50l-236 0-44 35 0 118 44 35 236 0 44-35 0-118-44-35z m-230 17l224 0 34 26 0 102-34 27-224 0-34-27 0-102 34-26z m186-618l-148 0 0 8c1 91 9 157 17 220 6 43 11 84 14 130 5 100 7 172-6 250l-2 10 101 0-1-10c-14-78-11-149-6-250 2-46 7-86 13-129 8-64 17-129 17-221l1-8z m-132 16l115 0c-1 86-9 149-17 210-6 43-11 84-13 131-5 83-9 162 4 244l-63 0c13-76 10-147 5-244-2-47-8-88-13-131-8-61-16-124-18-210z" horiz-adv-x="1000" />
<glyph glyph-name="construction-15" unicode="&#xe80e;" d="m767 138c-20 0-37 16-37 36 0 21 17 37 37 37 21 0 37-16 37-37 0-20-16-36-37-36z m0 57c-11 0-20-9-20-21 0-11 9-20 20-20 11 0 21 9 21 20 0 12-10 21-21 21z m0 69c-20 0-37 17-37 37 0 20 17 37 37 37 21 0 37-17 37-37 0-20-16-37-37-37z m0 57c-11 0-20-9-20-20 0-11 9-20 20-20 11 0 21 9 21 20 0 12-10 20-21 20z m0 70c-20 0-37 17-37 37 0 21 17 37 37 37 21 0 37-16 37-37 0-20-16-37-37-37z m0 58c-11 0-20-10-20-21 0-11 9-20 20-20 11 0 21 9 21 20 0 11-10 21-21 21z m-129-332c-20 0-37 16-37 37 0 20 17 36 37 36 20 0 37-16 37-36 0-21-17-37-37-37z m0 57c-11 0-20-9-20-20 0-11 9-21 20-21 11 0 20 10 20 21 0 11-9 20-20 20z m0 70c-20 0-37 16-37 37 0 20 17 37 37 37 20 0 37-17 37-37 0-21-17-37-37-37z m0 57c-11 0-20-9-20-21 0-11 9-20 20-20 11 0 20 9 20 20 0 12-9 21-20 21z m0 70c-20 0-37 16-37 37 0 20 17 36 37 36 20 0 37-16 37-36 0-21-17-37-37-37z m0 57c-11 0-20-9-20-20 0-12 9-21 20-21 11 0 20 9 20 21 0 11-9 20-20 20z m-138-285c-20 0-37 16-37 37 0 20 17 36 37 36 21 0 37-16 37-36 0-21-17-37-37-37z m0 57c-11 0-20-9-20-20 0-12 9-21 20-21 11 0 21 9 21 21 0 11-10 20-21 20z m0 70c-20 0-37 16-37 36 0 21 17 37 37 37 21 0 37-16 37-37 0-20-17-36-37-36z m0 57c-11 0-20-9-20-21 0-11 9-20 20-20 11 0 21 9 21 20 0 12-10 21-21 21z m0 70c-20 0-37 16-37 36 0 21 17 37 37 37 21 0 37-16 37-37 0-20-17-36-37-36z m0 57c-11 0-20-9-20-21 0-11 9-20 20-20 11 0 21 9 21 20 0 12-10 21-21 21z m-134-267c-20 0-37 16-37 37 0 20 17 36 37 36 20 0 37-16 37-36 0-21-17-37-37-37z m0 57c-11 0-20-9-20-20 0-12 9-21 20-21 11 0 20 9 20 21 0 11-9 20-20 20z m0 70c-20 0-37 16-37 36 0 21 17 37 37 37 20 0 37-16 37-37 0-20-17-36-37-36z m0 57c-11 0-20-9-20-21 0-11 9-20 20-20 11 0 20 9 20 20 0 12-9 21-20 21z m0 70c-20 0-37 16-37 36 0 21 17 37 37 37 20 0 37-16 37-37 0-20-17-36-37-36z m0 57c-11 0-20-9-20-21 0-11 9-20 20-20 11 0 20 9 20 20 0 12-9 21-20 21z m-137-283c-20 0-37 17-37 37 0 21 17 37 37 37 20 0 37-16 37-37 0-20-17-37-37-37z m0 57c-11 0-20-9-20-20 0-11 9-20 20-20 11 0 20 9 20 20 0 11-9 20-20 20z m0 70c-20 0-37 17-37 37 0 20 17 37 37 37 20 0 37-17 37-37 0-20-17-37-37-37z m0 57c-11 0-20-9-20-20 0-11 9-20 20-20 11 0 20 9 20 20 0 11-9 20-20 20z m0 70c-20 0-37 17-37 37 0 20 17 37 37 37 20 0 37-17 37-37 0-20-17-37-37-37z m0 57c-11 0-20-9-20-20 0-11 9-20 20-20 11 0 20 9 20 20 0 11-9 20-20 20z m451-535c-114 0-208 28-298 56-82 25-168 50-271 54-4 0-8 4-7 9 0 4 4 8 8 8 105-5 191-31 275-56 93-28 181-54 293-54 100 0 165 19 202 60 3 3 8 3 12 0 3-3 3-8 0-11-40-45-108-66-214-66z m-568 110c-5 0-8 4-8 8l0 558 7 1c111 5 196-23 286-53 52-17 105-35 162-46 41-7 81-11 121-11 92 0 178 36 201 84 2 4 7 6 11 4 4-2 6-7 4-11-26-54-116-94-216-94-42 0-82 4-124 12-59 11-112 29-164 46-87 29-169 56-272 52l0-542c0-4-4-8-8-8z m606 509c-38 0-103 7-103 32 0 26 65 33 103 33 38 0 102-7 102-33 0-25-64-32-102-32z m-86 32c4-5 32-16 86-16 54 0 82 11 86 16-4 6-32 16-86 16-54 0-82-10-86-16z m91-65c-84 0-173 23-173 66 0 19 19 36 54 48 32 11 74 18 119 18 84 0 174-23 174-66 0-20-19-37-54-49-32-11-75-17-120-17z m0 115c-92 0-157-26-157-50 0-23 65-49 157-49 93 0 157 26 157 49 0 24-64 50-157 50z m-165-139c-5 0-8 4-8 9l0 83c0 5 3 8 8 8 5 0 8-3 8-8l0-83c0-5-3-9-8-9z m330-499c-4 0-8 3-8 8l0 576c0 5 4 8 8 8 5 0 9-3 9-8l0-576c0-5-4-8-9-8z" horiz-adv-x="1000" />
<glyph glyph-name="construction-16" unicode="&#xe80f;" d="m220-1c-25 0-45 20-45 45l0 133c0 4 4 8 8 8 5 0 8-4 8-8l0-133c0-16 13-29 29-29 15 0 28 13 28 28l0 73c0 5 3 8 8 8 5 0 8-3 8-8l0-73c0-24-20-44-44-44z m436 0c-25 0-45 20-45 44l0 298c0 15-12 27-28 27l0 0c-15 0-28-12-28-28l0-297c0-24-20-45-45-45l-5 0c-22 0-39 18-39 40l0 302c0 13-10 25-24 27l0 0c-2 1-3 1-5 1-4 0-8 3-8 8 0 4 4 8 8 8l1 0c2 0 5 0 7-1 22-3 37-22 37-44l0-302c0-12 10-22 23-22l5 0c16 0 28 12 28 28l0 297c0 24 20 44 45 44l0 0c25 0 44-19 44-44l0-297c0-16 13-28 28-28 16 0 29 12 29 28l0 297c0 24 19 44 44 44l0 0c25 0 45-20 45-45l0-133c0-4-4-8-9-8-4 0-8 4-8 8l0 133c0 16-12 29-28 29l0 0c-16 0-28-13-28-28l0-297c0-24-20-44-44-44z m-289 0c-25 0-44 20-45 44 0 12 0 28 0 45l0 28c0 5 3 8 8 8 5 0 8-3 8-8l1-28c0-18 0-33 0-46 0-15 12-27 27-27 15 0 27 12 27 26l0 75c0 5 4 8 8 8 5 0 8-3 8-8l0-74c0-24-19-43-42-43z m406 426l-277 0 0 277 277 0 0-277z m-260 16l243 0 0 244-243 0 0-244z m-61-333l-277 0 0 277 277 0 0-277z m-261 16l244 0 0 244-244 0 0-244z m261 301l-277 0 0 277 277 0 0-277z m-261 16l244 0 0 244-244 0 0-244z m592-329c-4 0-8 3-8 8l0 31c0 4 4 8 8 8 5 0 9-4 9-8l0-31c0-5-4-8-9-8z m-37 0c-4 0-8 3-8 8l0 31c0 4 4 8 8 8 5 0 9-4 9-8l0-31c0-5-4-8-9-8z m79 30l-121 0 1 9c1 32 28 57 60 57 32 0 58-26 60-57l0-9z m-103 16l85 0c-5 20-22 34-42 34-21 0-38-14-43-34z m-471 86c-2 0-5 1-6 2-4 4-4 9 0 12l40 40c3 4 9 4 11 0 4-3 4-8 0-11l-40-41c-1-1-4-2-5-2z m85-48c-2 0-4 1-6 2-3 3-3 9 0 12l40 40c4 3 9 3 12 0 3-3 3-8 0-11l-41-41c-1-1-3-2-5-2z m-73-4c-2 0-4 0-6 2-3 3-3 8 0 11l93 93c3 4 9 4 11 0 4-3 4-8 0-11l-92-93c-2-2-4-2-6-2z m309 377c-2 0-5 0-6 2-4 3-4 8 0 11l40 41c3 3 9 3 12 0 3-4 3-9 0-12l-41-40c-1-2-3-2-5-2z m85-49c-2 0-4 1-6 3-3 3-3 8 0 11l40 40c4 4 9 4 12 0 3-3 3-8 0-11l-40-40c-2-2-4-3-6-3z m-73-4c-2 0-4 1-5 2-4 4-4 9 0 12l92 93c4 3 9 3 12 0 3-4 3-9 0-12l-93-93c-1-1-4-2-6-2z m-333 53c-2 0-5 0-6 2-4 3-4 8 0 11l40 41c3 3 9 3 11 0 4-4 4-9 0-12l-40-40c-1-2-4-2-5-2z m85-49c-2 0-4 1-6 3-3 3-3 8 0 11l40 40c4 4 9 4 12 0 3-3 3-8 0-11l-41-40c-1-2-3-3-5-3z m-73-4c-2 0-4 1-6 2-3 4-3 9 0 12l93 93c3 3 9 3 11 0 4-4 4-9 0-12l-92-93c-2-1-4-2-6-2z" horiz-adv-x="1000" />
<glyph glyph-name="construction-17" unicode="&#xe810;" d="m500-85c-5 0-8 4-8 8l0 37c0 4 3 8 8 8 5 0 8-4 8-8l0-37c0-4-4-8-8-8z m62 26c-2 0-4 1-5 2l-21 21c-3 3-3 9 0 12 3 3 8 3 11 0l21-21c3-3 3-9 0-12-1-1-4-2-6-2z m-125 0c-2 0-4 1-6 2-3 4-3 9 0 12l21 21c3 3 9 3 12 0 3-4 3-9 0-12l-21-21c-1-1-4-2-6-2z m123 407c-5 0-8 4-8 9l0 53c0 4 3 8 8 8 4 0 8-4 8-8l0-53c0-5-4-9-8-9z m-60 0c-5 0-8 4-8 9l0 53c0 4 3 8 8 8 5 0 8-4 8-8l0-53c0-5-4-9-8-9z m-60 0c-5 0-8 4-8 9l0 53c0 4 3 8 8 8 5 0 8-4 8-8l0-53c0-5-3-9-8-9z m226-204l-342 0c-5 0-8 4-8 8 0 5 3 9 8 9l342 0c4 0 8-4 8-9 0-4-4-8-8-8z m-166-147c-51 0-91 40-93 91 0 4 4 8 8 8 5 0 9-3 9-8 1-41 35-74 76-74 42 0 75 33 76 74 0 5 4 8 9 8 4 0 8-4 8-8-2-51-42-91-93-91z m270 83l-540 0 125 380 290 0 125-380z m-518 16l496 0-115 348-266 0-115-348z m248 348c-5 0-8 4-8 8l0 208c0 5 3 9 8 9 5 0 8-4 8-9l0-208c0-4-4-8-8-8z m0 208c-72 0-135 52-148 123l-1 10 299 0-2-10c-14-71-76-123-148-123z m-129 116c15-58 68-99 129-99 61 0 114 41 129 99l-258 0z" horiz-adv-x="1000" />
<glyph glyph-name="construction-18" unicode="&#xe811;" d="m200 134l-32 0c-5 0-8 4-8 8 0 5 3 9 8 9l32 0c4 0 8-4 8-9 0-4-4-8-8-8z m0 55l-32 0c-5 0-8 3-8 8 0 4 3 8 8 8l32 0c4 0 8-4 8-8 0-5-4-8-8-8z m0 55l-32 0c-5 0-8 3-8 8 0 4 3 8 8 8l32 0c4 0 8-4 8-8 0-5-4-8-8-8z m0 54l-32 0c-5 0-8 3-8 8 0 4 3 8 8 8l32 0c4 0 8-4 8-8 0-5-4-8-8-8z m0 54l-32 0c-5 0-8 4-8 8 0 5 3 9 8 9l32 0c4 0 8-4 8-9 0-4-4-8-8-8z m0 55l-32 0c-5 0-8 3-8 8 0 4 3 8 8 8l32 0c4 0 8-4 8-8 0-5-4-8-8-8z m14-327l-47 0c-4 0-8 4-8 8 0 5 4 8 8 8l47 0c5 0 8-3 8-8 0-4-3-8-8-8z m0 381l-47 0c-4 0-8 4-8 8 0 5 4 9 8 9l47 0c5 0 8-4 8-9 0-4-3-8-8-8z m395-364l-343 0 0 340 343-340z m-327 17l287 0-287 283 0-283z m528-121l-650 0 0 650 650-650z m-634 16l594 0-594 595 0-595z m574 322c-2 0-5 1-6 3l-205 204c-3 3-3 9 0 12 4 3 9 3 12 0l204-205c3-3 3-8 0-11-1-2-3-3-5-3z m30-118c-2 0-4 1-5 2-4 4-4 9 0 12l43 43c4 4 9 4 12 0 3-3 3-8 0-11l-44-44c-1-1-4-2-6-2z m-341 291c-2 0-4 0-6 2-3 3-3 8 0 11l95 95c3 3 8 3 11 0 3-4 3-9 0-12l-94-94c-2-1-4-2-6-2z m-24 24c-2 0-5 1-6 2-4 4-4 9 0 12l94 94c3 3 9 3 11 0 4-3 4-8 0-11l-94-95c-1-1-3-2-5-2z m307-307c-2 0-5 1-6 2-4 4-4 9 0 12l94 94c3 3 9 3 12 0 3-3 3-8 0-11l-95-95c-1-1-3-2-5-2z m119-17l-123 18-366 365c-18 19-18 49 0 67l39 39c9 9 21 14 34 14 13 0 24-5 33-14l366-365 17-124z m-116 33l97-13-14 96-361 362c-6 5-14 9-22 9-9 0-17-4-22-9l-40-40c-12-12-12-31 0-43l362-362z" horiz-adv-x="1000" />
<glyph glyph-name="construction-19" unicode="&#xe812;" d="m547-19l-94 0c-39 0-70 31-70 70l0 137c0 4 3 8 8 8 5 0 8-4 8-8l0-137c0-29 24-54 54-54l94 0c30 0 54 24 54 54l0 137c0 4 4 8 8 8 5 0 9-4 9-8l0-137c0-39-32-70-71-70z m303 406l-700 0c-4 0-8 3-8 8 0 4 4 8 8 8l700 0c5 0 8-4 8-8 0-5-3-8-8-8z m-259 55c-5 0-8 4-8 8l0 45c0 4 3 8 8 8 5 0 8-4 8-8l0-45c0-4-3-8-8-8z m48 45l-96 0 0 48 96 0 0-48z m-80 16l64 0 0 16-64 0 0-16z m-167-61c-5 0-8 4-8 8l0 45c0 4 3 8 8 8 5 0 8-4 8-8l0-45c0-4-4-8-8-8z m48 45l-97 0 0 48 97 0 0-48z m-80 16l64 0 0 16-64 0 0-16z m132-61c-5 0-9 4-9 8l0 180c0 50 40 89 89 89 47 0 85-37 85-84l0-12c0-5-4-8-9-8-4 0-8 3-8 8l0 12c0 37-30 68-68 68-40 0-72-33-72-73l0-180c0-4-4-8-8-8z m8-276c-97 0-188 30-257 83-69 53-108 125-109 201l0 9 732 0 0-9c-1-76-40-148-109-201-69-53-160-83-257-83z m-349 276c4-68 40-132 102-180 66-51 154-80 247-80 188 0 342 116 350 260l-699 0z" horiz-adv-x="1000" />
<glyph glyph-name="construction-20" unicode="&#xe813;" d="m473 137c-5 0-8 4-8 8l0 31c0 5 3 9 8 9 5 0 8-4 8-9l0-31c0-4-3-8-8-8z m67 291l-80 0 40 90 40-90z m-54 16l29 0-15 33-14-33z m164 52c-21 0-37 17-37 37 0 5 3 8 8 8 5 0 8-3 8-8 0-11 9-20 21-20 11 0 20 9 20 20 0 5 4 8 8 8 5 0 8-3 8-8 1-20-16-37-36-37z m-300 0c-20 0-36 17-36 37 0 5 3 8 8 8 5 0 8-3 8-8 0-11 9-20 20-20 12 0 21 9 21 20 0 5 3 8 8 8 5 0 8-3 8-8 0-20-16-37-37-37z m238 83c-21 0-37 16-37 37 0 4 3 8 8 8 5 0 8-4 8-8 0-11 9-21 21-21 11 0 20 10 20 21 0 4 4 8 8 8 5 0 8-4 8-8 0-21-16-37-36-37z m-175 0c-20 0-37 16-37 37 0 4 4 8 8 8 5 0 9-4 9-8 0-11 9-21 20-21 11 0 20 10 20 21 0 4 4 8 8 8 5 0 9-4 9-8 0-21-17-37-37-37z m295 0c-20 0-37 16-37 37 0 4 4 8 8 8 5 0 9-4 9-8 0-11 9-21 20-21 11 0 20 10 20 21 0 4 4 8 9 8 4 0 8-4 8-8 0-21-17-37-37-37z m-416 0c-20 0-36 16-36 37 0 4 3 8 8 8 4 0 8-4 8-8 0-11 9-21 20-21 12 0 21 10 21 21 0 4 3 8 8 8 5 0 8-4 8-8 0-21-16-37-37-37z m481-83c-20 0-36 17-36 37 0 5 3 8 8 8 4 0 8-3 8-8 0-11 9-20 20-20 12 0 21 9 21 20 0 5 3 8 8 8 5 0 8-3 8-8 0-20-16-37-37-37z m-546 0c-21 0-37 17-37 37 0 5 4 8 8 8 5 0 8-3 8-8 0-11 10-20 21-20 11 0 20 9 20 20 0 5 4 8 8 8 5 0 8-3 8-8 1-20-16-37-36-37z m631-390l-291 0c-5 0-8 3-8 8 0 5 3 8 8 8l291 0c5 0 9-3 9-8 0-5-4-8-9-8z m-425 0l-291 0c-5 0-9 3-9 8 0 5 4 8 9 8l291 0c5 0 8-3 8-8 0-5-3-8-8-8z m142-84l-150 0 0 264 150 0 0-264z m-134 16l118 0 0 232-118 0 0-232z m302 192l-73 0 0 72 73 0 0-72z m-56 16l39 0 0 39-39 0 0-39z m-357-16l-72 0 0 72 72 0 0-72z m-56 16l39 0 0 39-39 0 0-39z m508-56l-150 0 0 151 150 0 0-151z m-134 17l117 0 0 117-117 0 0-117z m-279-17l-150 0 0 151 150 0 0-151z m-134 17l117 0 0 117-117 0 0-117z m178 221c-1 0-3 0-4 1-4 2-5 7-3 11l94 183 95-183c2-4 0-9-4-11-4-2-9-1-11 3l-80 155-80-155c-2-2-4-4-7-4z m506 0l-331 0c-5 0-9 3-9 8 0 5 4 8 9 8l307 0-91 218-608 0-90-218 307 0c4 0 8-3 8-8 0-5-4-8-8-8l-332 0 104 250 630 0 104-250z m-52-406l-734 0 0 422 280 0c4 0 8-3 8-8 0-5-4-8-8-8l-263 0 0-390 700 0 0 390-262 0c-5 0-9 3-9 8 0 5 4 8 9 8l279 0 0-422z m-292 284l-158 0 0 46 158 0 0-46z m-142 16l126 0 0 13-126 0 0-13z m315-267c-2 0-4 1-6 2-3 4-3 9 0 12l16 16c3 3 9 3 11 0 4-4 4-9 0-12l-15-16c-2-1-4-2-6-2z m-49 0c-2 0-5 1-6 2-4 4-4 9 0 12l15 16c4 3 9 3 12 0 3-4 3-9 0-12l-16-16c-1-1-3-2-5-2z m-50 0c-2 0-4 1-6 2-3 4-3 9 0 12l16 16c3 3 9 3 12 0 3-4 3-9 0-12l-16-16c-1-1-4-2-6-2z m-352 0c-2 0-4 1-6 2-3 4-3 9 0 12l16 16c3 3 8 3 11 0 4-4 4-9 0-12l-15-16c-2-1-4-2-6-2z m-49 0c-2 0-5 1-6 2-3 4-3 9 0 12l16 16c3 3 8 3 11 0 3-4 3-9 0-12l-16-16c-1-1-3-2-5-2z m-50 0c-2 0-4 1-6 2-3 4-3 9 0 12l16 16c3 3 9 3 11 0 4-4 4-9 0-12l-15-16c-2-1-4-2-6-2z" horiz-adv-x="1000" />
</font>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 270 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 68 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 793 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 863 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 647 KiB

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 493 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 455 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 556 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 591 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 481 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 687 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 639 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 529 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 550 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 555 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 555 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 KiB

Some files were not shown because too many files have changed in this diff Show More