diff --git a/.isort.cfg b/.isort.cfg index fa7bf9110bbfa48aa8333161e9f876c5c86602b3..4bc63e296238bfc0ff94f6b4eb593407b659709c 100644 --- a/.isort.cfg +++ b/.isort.cfg @@ -4,4 +4,4 @@ line_length = 88 multi_line_output = 3 default_section = "THIRDPARTY" include_trailing_comma = true -known_third_party = arrow,bleach,bs4,captcha,django,environ,faker,ics,markdown,modelcluster,pirates,pytest,pytz,requests,sentry_sdk,snapshottest,taggit,wagtail,wagtailmetadata,weasyprint +known_third_party = PyPDF2,arrow,bleach,bs4,captcha,django,environ,faker,ics,markdown,modelcluster,pirates,pytest,pytz,requests,sentry_sdk,snapshottest,taggit,wagtail,wagtailmetadata,weasyprint diff --git a/elections2021/management/commands/export_program.py b/elections2021/management/commands/export_program.py index 265c423c3647e0d504d7202d66bb6f0cafa29087..8f5047962aa77f684fa6554318f3136147b03a00 100644 --- a/elections2021/management/commands/export_program.py +++ b/elections2021/management/commands/export_program.py @@ -1,59 +1,143 @@ import re +from pathlib import Path -from django.core.management.base import BaseCommand +from django.core.management.base import BaseCommand, CommandError from django.template.loader import render_to_string from django.utils import timezone -from weasyprint import CSS, HTML +from PyPDF2 import PdfFileMerger +from weasyprint import CSS, HTML, default_url_fetcher +from weasyprint.fonts import FontConfiguration from ...constants import BENEFITS_CHOICES, MINISTRY_CHOICES, MINISTRY_CODES from ...models import Elections2021ProgramPointPage +FORMAT_PDF = "pdf" +FORMAT_HTML = "html" + +STATICS_DIR = (Path(__file__).parent / "../../static/elections2021/pdf/").resolve() + def get_ministry_points(ministry): weight = f"weight_ministry_{MINISTRY_CODES[ministry]}" return Elections2021ProgramPointPage.filter_by_weights([weight]) +def local_fetcher(url): + if url.startswith("file://"): + file = Path(url[7:]) + if not file.is_absolute(): + file = STATICS_DIR / (url[7:]) + return dict(file_obj=file.open(mode="rb")) + return default_url_fetcher(url) + + +def plain_export(output_file, output_format): + benefits_titles = dict(BENEFITS_CHOICES) + + toc = [] + body = [] + + for ministry, title in MINISTRY_CHOICES: + sub_toc = [] + points = [] + for page in get_ministry_points(ministry): + value = render_to_string( + "elections2021/export_program_point.html", + {"page": page, "benefits_titles": benefits_titles}, + ) + value = re.sub(r'href="#zdroje"', f'href="#zdroje_{page.id}"', value) + points.append(value) + sub_toc.append({"anchor": page.slug, "title": page.title}) + + body.append({"anchor": ministry, "title": title, "points": points}) + toc.append({"anchor": ministry, "title": title, "sub_toc": sub_toc}) + + content = render_to_string( + "elections2021/export_program.html", + { + "toc": toc, + "body": body, + "now": timezone.localtime().strftime("%d.%m.%Y %H:%M"), + }, + ) + + if output_format == FORMAT_PDF: + font_config = FontConfiguration() + html = HTML(string=content) + css = CSS( + string=""" + @page { + size: A4; + margin: 1cm; + } + @font-face { + font-family: "Roboto Condensed"; + src: url("https://github.com/google/fonts/blob/main/apache/roboto/static/RobotoCondensed-Regular.ttf?raw=true"); + } + """, + font_config=font_config, + ) + html.write_pdf(output_file, stylesheets=[css], font_config=font_config) + + elif output_format == FORMAT_HTML: + with open(output_file, "w") as file: + file.write(content) + + +def fancy_export(output_file): + tmp_file = f"{output_file}.tmp" + benefits_titles = dict(BENEFITS_CHOICES) + + points = [] + + for ministry, title in MINISTRY_CHOICES: + for page in get_ministry_points(ministry): + value = render_to_string( + "elections2021/export_program_point_fancy.html", + {"page": page, "benefits_titles": benefits_titles}, + ) + value = re.sub(r'href="#', f'href="#{page.id}_', value) + value = re.sub(r'id="', f'id="{page.id}_', value) + points.append(value) + + content = render_to_string( + "elections2021/export_program_fancy.html", {"points": points} + ) + + font_config = FontConfiguration() + html = HTML(string=content, url_fetcher=local_fetcher) + css = CSS(str(STATICS_DIR / "style.css"), font_config=font_config) + document = html.render(stylesheets=[css], font_config=font_config) + document.write_pdf(tmp_file) + + merger = PdfFileMerger() + merger.append(str(STATICS_DIR / "beginning.pdf")) + merger.append(tmp_file, pages=(2, len(document.pages))) + merger.append(str(STATICS_DIR / "ending.pdf")) + merger.write(output_file) + merger.close() + + Path(tmp_file).unlink() + + class Command(BaseCommand): def add_arguments(self, parser): parser.add_argument("output", type=str, help=".pdf nebo .html soubor") + parser.add_argument("--fancy", action="store_true") def handle(self, *args, **options): - benefits_titles = {num: title for num, title in BENEFITS_CHOICES} - - toc = [] - body = [] - - for ministry, title in MINISTRY_CHOICES: - sub_toc = [] - points = [] - for page in get_ministry_points(ministry): - value = render_to_string( - "elections2021/export_program_point.html", - {"page": page, "benefits_titles": benefits_titles}, - ) - value = re.sub(r'href="#zdroje"', f'href="#zdroje_{page.id}"', value) - points.append(value) - sub_toc.append({"anchor": page.slug, "title": page.title}) - - body.append({"anchor": ministry, "title": title, "points": points}) - toc.append({"anchor": ministry, "title": title, "sub_toc": sub_toc}) - - content = render_to_string( - "elections2021/export_program.html", - { - "toc": toc, - "body": body, - "now": timezone.localtime().strftime("%d.%m.%Y %H:%M"), - }, - ) + output_file = options["output"] + + if output_file.endswith(".pdf"): + output_format = FORMAT_PDF + elif output_file.endswith(".html"): + output_format = FORMAT_HTML + else: + raise CommandError("Jako výstup zadej soubor .html nebo .pdf") - if options["output"].endswith(".pdf"): - html = HTML(string=content) - css = CSS(string="@page { size: A4; margin: 1cm; }") - html.write_pdf(options["output"], stylesheets=[css]) - elif options["output"].endswith(".html"): - with open(options["output"], "w") as file: - file.write(content) + if options["fancy"]: + if output_format != FORMAT_PDF: + raise CommandError("Fancy export lze udělat jen do .pdf") + fancy_export(output_file) else: - print("ERROR: Jako výstup zadej soubor .html nebo .pdf") + plain_export(output_file, output_format) diff --git a/elections2021/static/elections2021/pdf/beginning.pdf b/elections2021/static/elections2021/pdf/beginning.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8ebd88318a7ce065e7d56668f08b5d4b8ca6d54e Binary files /dev/null and b/elections2021/static/elections2021/pdf/beginning.pdf differ diff --git a/elections2021/static/elections2021/pdf/ending.pdf b/elections2021/static/elections2021/pdf/ending.pdf new file mode 100644 index 0000000000000000000000000000000000000000..11b069b0b052d65f3b1aa20860520da28801cc03 Binary files /dev/null and b/elections2021/static/elections2021/pdf/ending.pdf differ diff --git a/elections2021/static/elections2021/pdf/font/BebasNeue-Regular.ttf b/elections2021/static/elections2021/pdf/font/BebasNeue-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c328c6e08b20a20a1de47d823e007ee73812a438 Binary files /dev/null and b/elections2021/static/elections2021/pdf/font/BebasNeue-Regular.ttf differ diff --git a/elections2021/static/elections2021/pdf/font/Roboto-Black.ttf b/elections2021/static/elections2021/pdf/font/Roboto-Black.ttf new file mode 100644 index 0000000000000000000000000000000000000000..43a00e0df0d6183c8e88476c411d2060229ed967 Binary files /dev/null and b/elections2021/static/elections2021/pdf/font/Roboto-Black.ttf differ diff --git a/elections2021/static/elections2021/pdf/font/Roboto-BlackItalic.ttf b/elections2021/static/elections2021/pdf/font/Roboto-BlackItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5082cdc4e84fe18eb2e4983af0f6365878494421 Binary files /dev/null and b/elections2021/static/elections2021/pdf/font/Roboto-BlackItalic.ttf differ diff --git a/elections2021/static/elections2021/pdf/font/Roboto-Bold.ttf b/elections2021/static/elections2021/pdf/font/Roboto-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3742457900d51ae5c34ed53657ed8a72f17f19c6 Binary files /dev/null and b/elections2021/static/elections2021/pdf/font/Roboto-Bold.ttf differ diff --git a/elections2021/static/elections2021/pdf/font/Roboto-BoldItalic.ttf b/elections2021/static/elections2021/pdf/font/Roboto-BoldItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e85e7fb9e31759763af6294c925f9c06a0f9e84a Binary files /dev/null and b/elections2021/static/elections2021/pdf/font/Roboto-BoldItalic.ttf differ diff --git a/elections2021/static/elections2021/pdf/font/Roboto-Italic.ttf b/elections2021/static/elections2021/pdf/font/Roboto-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c9df607a4d373e3468599aaf6d96823459a4f6ec Binary files /dev/null and b/elections2021/static/elections2021/pdf/font/Roboto-Italic.ttf differ diff --git a/elections2021/static/elections2021/pdf/font/Roboto-Light.ttf b/elections2021/static/elections2021/pdf/font/Roboto-Light.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0e977514ff6de041957632eabca77c2f59f6ea99 Binary files /dev/null and b/elections2021/static/elections2021/pdf/font/Roboto-Light.ttf differ diff --git a/elections2021/static/elections2021/pdf/font/Roboto-LightItalic.ttf b/elections2021/static/elections2021/pdf/font/Roboto-LightItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3ad14fa7c4c70ed7774d63b4d133a10c193c1cbe Binary files /dev/null and b/elections2021/static/elections2021/pdf/font/Roboto-LightItalic.ttf differ diff --git a/elections2021/static/elections2021/pdf/font/Roboto-Medium.ttf b/elections2021/static/elections2021/pdf/font/Roboto-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e89b0b79a2910f0ac309a1845a9f733bcb568792 Binary files /dev/null and b/elections2021/static/elections2021/pdf/font/Roboto-Medium.ttf differ diff --git a/elections2021/static/elections2021/pdf/font/Roboto-MediumItalic.ttf b/elections2021/static/elections2021/pdf/font/Roboto-MediumItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a5a41d3d00295049c15eea2a84a10f9b22b38ca9 Binary files /dev/null and b/elections2021/static/elections2021/pdf/font/Roboto-MediumItalic.ttf differ diff --git a/elections2021/static/elections2021/pdf/font/Roboto-Regular.ttf b/elections2021/static/elections2021/pdf/font/Roboto-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3d6861b42396c609e26f38f129383c558e332281 Binary files /dev/null and b/elections2021/static/elections2021/pdf/font/Roboto-Regular.ttf differ diff --git a/elections2021/static/elections2021/pdf/font/Roboto-Thin.ttf b/elections2021/static/elections2021/pdf/font/Roboto-Thin.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7d084aed88451b9ace90558113db803815c14d3f Binary files /dev/null and b/elections2021/static/elections2021/pdf/font/Roboto-Thin.ttf differ diff --git a/elections2021/static/elections2021/pdf/font/Roboto-ThinItalic.ttf b/elections2021/static/elections2021/pdf/font/Roboto-ThinItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c17338960cfa6a6b5a056ab5bcab32d8db2d19a8 Binary files /dev/null and b/elections2021/static/elections2021/pdf/font/Roboto-ThinItalic.ttf differ diff --git a/elections2021/static/elections2021/pdf/font/pirati-ui.eot b/elections2021/static/elections2021/pdf/font/pirati-ui.eot new file mode 100644 index 0000000000000000000000000000000000000000..eeeda8e287290acde465e7b209e79d80d919a8c1 Binary files /dev/null and b/elections2021/static/elections2021/pdf/font/pirati-ui.eot differ diff --git a/elections2021/static/elections2021/pdf/font/pirati-ui.svg b/elections2021/static/elections2021/pdf/font/pirati-ui.svg new file mode 100644 index 0000000000000000000000000000000000000000..c564867d5f3ebfb02dcc0caf990272331ef371a6 --- /dev/null +++ b/elections2021/static/elections2021/pdf/font/pirati-ui.svg @@ -0,0 +1,75 @@ +<?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>Generated by IcoMoon</metadata> +<defs> +<font id="pirati-ui" horiz-adv-x="1024"> +<font-face units-per-em="1024" ascent="960" descent="-64" /> +<missing-glyph horiz-adv-x="1024" /> +<glyph unicode=" " horiz-adv-x="512" d="" /> +<glyph unicode="" glyph-name="gplus" d="M325.8 502.6v-111.8h184.8c-7.4-48-55.8-140.6-184.8-140.6-111.2 0-202 92.2-202 205.8s90.8 205.8 202 205.8c63.4 0 105.6-27 129.8-50.2l88.4 85.2c-56.8 53-130.4 85.2-218.2 85.2-180.2-0.2-325.8-145.8-325.8-326s145.6-325.8 325.8-325.8c188 0 312.8 132.2 312.8 318.4 0 21.4-2.4 37.8-5.2 54h-307.6zM1024 512h-96v96h-96v-96h-96v-96h96v-96h96v96h96z" /> +<glyph unicode="" glyph-name="twitter1" d="M1024 733.6c-37.6-16.8-78.2-28-120.6-33 43.4 26 76.6 67.2 92.4 116.2-40.6-24-85.6-41.6-133.4-51-38.4 40.8-93 66.2-153.4 66.2-116 0-210-94-210-210 0-16.4 1.8-32.4 5.4-47.8-174.6 8.8-329.4 92.4-433 219.6-18-31-28.4-67.2-28.4-105.6 0-72.8 37-137.2 93.4-174.8-34.4 1-66.8 10.6-95.2 26.2 0-0.8 0-1.8 0-2.6 0-101.8 72.4-186.8 168.6-206-17.6-4.8-36.2-7.4-55.4-7.4-13.6 0-26.6 1.4-39.6 3.8 26.8-83.4 104.4-144.2 196.2-146-72-56.4-162.4-90-261-90-17 0-33.6 1-50.2 3 93.2-59.8 203.6-94.4 322.2-94.4 386.4 0 597.8 320.2 597.8 597.8 0 9.2-0.2 18.2-0.6 27.2 41 29.4 76.6 66.4 104.8 108.6z" /> +<glyph unicode="" glyph-name="facebook" d="M608 768h160v192h-160c-123.514 0-224-100.486-224-224v-96h-128v-192h128v-512h192v512h160l32 192h-192v96c0 17.346 14.654 32 32 32z" /> +<glyph unicode="" glyph-name="linkedin" d="M928 960h-832c-52.8 0-96-43.2-96-96v-832c0-52.8 43.2-96 96-96h832c52.8 0 96 43.2 96 96v832c0 52.8-43.2 96-96 96zM384 128h-128v448h128v-448zM320 640c-35.4 0-64 28.6-64 64s28.6 64 64 64c35.4 0 64-28.6 64-64s-28.6-64-64-64zM832 128h-128v256c0 35.4-28.6 64-64 64s-64-28.6-64-64v-256h-128v448h128v-79.4c26.4 36.2 66.8 79.4 112 79.4 79.6 0 144-71.6 144-160v-288z" /> +<glyph unicode="" glyph-name="github1" d="M512.008 947.358c-282.738 0-512.008-229.218-512.008-511.998 0-226.214 146.704-418.132 350.136-485.836 25.586-4.738 34.992 11.11 34.992 24.632 0 12.204-0.48 52.542-0.696 95.324-142.448-30.976-172.504 60.41-172.504 60.41-23.282 59.176-56.848 74.916-56.848 74.916-46.452 31.778 3.51 31.124 3.51 31.124 51.4-3.61 78.476-52.766 78.476-52.766 45.672-78.27 119.776-55.64 149.004-42.558 4.588 33.086 17.852 55.68 32.506 68.464-113.73 12.942-233.276 56.85-233.276 253.032 0 55.898 20.004 101.574 52.76 137.428-5.316 12.9-22.854 64.972 4.952 135.5 0 0 43.006 13.752 140.84-52.49 40.836 11.348 84.636 17.036 128.154 17.234 43.502-0.198 87.336-5.886 128.256-17.234 97.734 66.244 140.656 52.49 140.656 52.49 27.872-70.528 10.35-122.6 5.036-135.5 32.82-35.856 52.694-81.532 52.694-137.428 0-196.654-119.778-239.95-233.79-252.624 18.364-15.89 34.724-47.046 34.724-94.812 0-68.508-0.596-123.644-0.596-140.508 0-13.628 9.222-29.594 35.172-24.566 203.322 67.776 349.842 259.626 349.842 485.768 0 282.78-229.234 511.998-511.992 511.998z" /> +<glyph unicode="" glyph-name="at" d="M696.32 283.136c-46.612-48.782-112.182-79.108-184.835-79.108-141.102 0-255.488 114.386-255.488 255.488 0 0.451 0.001 0.902 0.004 1.353v-0.070c0 141.385 114.615 256 256 256 57.921 0 111.348-19.235 154.244-51.667l-0.644 0.467v51.2h102.4v-332.8c0-42.415 34.385-76.8 76.8-76.8s76.8 34.385 76.8 76.8v0 76.8c-0.167 226.090-183.487 409.307-409.6 409.307-226.216 0-409.6-183.384-409.6-409.6s183.384-409.6 409.6-409.6c66.818 0 129.898 15.999 185.62 44.376l-2.325-1.074 46.080-91.648c-66.813-34.208-145.753-54.255-229.376-54.255-282.77 0-512 229.23-512 512s229.23 512 512 512c282.596 0 511.718-228.948 512-511.478v-0.027h-0.512v-76.8c0.001-0.159 0.001-0.346 0.001-0.534 0-98.969-80.231-179.2-179.2-179.2-61.529 0-115.815 31.010-148.083 78.253l-0.398 0.617zM512 307.2c84.831 0 153.6 68.769 153.6 153.6s-68.769 153.6-153.6 153.6v0c-84.831 0-153.6-68.769-153.6-153.6s68.769-153.6 153.6-153.6v0z" /> +<glyph unicode="" glyph-name="location" d="M512 960c-176.732 0-320-143.268-320-320 0-320 320-704 320-704s320 384 320 704c0 176.732-143.27 320-320 320zM512 448c-106.040 0-192 85.96-192 192s85.96 192 192 192 192-85.96 192-192-85.96-192-192-192z" /> +<glyph unicode="" glyph-name="phone" d="M704 320c-64-64-64-128-128-128s-128 64-192 128-128 128-128 192 64 64 128 128-128 256-192 256-192-192-192-192c0-128 131.5-387.5 256-512s384-256 512-256c0 0 192 128 192 192s-192 256-256 192z" /> +<glyph unicode="" glyph-name="city" d="M810 298.667v86h-84v-86h84zM810 128.667v84h-84v-84h84zM554 640.667v84h-84v-84h84zM554 468.667v86h-84v-86h84zM554 298.667v86h-84v-86h84zM554 128.667v84h-84v-84h84zM298 468.667v86h-84v-86h84zM298 298.667v86h-84v-86h84zM298 128.667v84h-84v-84h84zM640 468.667h256v-426h-768v598h256v84l128 128 128-128v-256z" /> +<glyph unicode="" glyph-name="beer" d="M426.667 234.667c0-11.733-9.6-21.333-21.333-21.333s-21.333 9.6-21.333 21.333v256c0 11.733 9.6 21.333 21.333 21.333s21.333-9.6 21.333-21.333v-256zM512 234.667c0-11.733-9.6-21.333-21.333-21.333s-21.333 9.6-21.333 21.333v256c0 11.733 9.6 21.333 21.333 21.333s21.333-9.6 21.333-21.333v-256zM597.333 234.667c0-11.733-9.6-21.333-21.333-21.333s-21.333 9.6-21.333 21.333v256c0 11.733 9.6 21.333 21.333 21.333s21.333-9.6 21.333-21.333v-256zM789.333 682.667h-21.333v42.667c0 47.104-38.229 85.333-85.333 85.333h-384c-47.104 0-85.333-38.229-85.333-85.333v-554.667c0-70.656 57.344-128 128-128h298.667c70.656 0 128 57.344 128 128h21.333c82.347 0 149.333 66.987 149.333 149.333v213.333c0 82.347-66.987 149.333-149.333 149.333zM298.667 725.334h384v-42.667h-189.611l-5.035-14.165c-6.997-19.541-28.288-31.147-47.659-27.648l-14.848 2.475-7.381-13.099c-11.392-20.267-32.64-32.896-55.467-32.896-35.285 0-64 28.715-64 64v64zM682.667 170.667c0-23.552-19.115-42.667-42.667-42.667h-298.667c-23.552 0-42.667 19.115-42.667 42.667v405.76c17.877-13.525 39.936-21.76 64-21.76 33.451 0 64.896 16.043 84.864 42.667 31.061 0 59.008 16.683 74.069 42.667h161.067v-469.334zM853.333 320c0-35.285-28.715-64-64-64h-64v341.333h64c35.285 0 64-28.715 64-64v-213.333z" /> +<glyph unicode="" glyph-name="thermometer" d="M543.553 218.694c37.519-13.052 64.447-48.728 64.447-90.694 0-53.019-42.981-96-96-96s-96 42.981-96 96c0 41.961 26.922 77.635 64.435 90.69-0.286 1.727-0.435 3.5-0.435 5.309v480.003c0 17.448 14.327 31.999 32 31.999 17.796 0 32-14.326 32-31.999v-480.003c0-1.803-0.153-3.576-0.447-5.305v0zM576 238.876v593.009c0 35.41-28.407 64.115-64 64.115-35.346 0-64-28.472-64-64.115v-593.009c-38.259-22.132-64-63.498-64-110.876 0-70.692 57.308-128 128-128s128 57.308 128 128c0 47.378-25.741 88.744-64 110.876zM638.996 272.003c39.862-35.181 65.004-86.656 65.004-144.003 0-106.039-85.961-192-192-192s-192 85.961-192 192c0 57.346 25.141 108.82 65.002 144.002-0.661 5.27-1.002 10.639-1.002 16.088v543.82c0 70.556 57.308 128.090 128 128.090 70.549 0 128-57.348 128-128.090v-543.82c0-5.447-0.342-10.816-1.004-16.087v0 0z" /> +<glyph unicode="" glyph-name="paw" horiz-adv-x="951" d="M445.714 681.143c0-64-33.143-140-106.857-140-92.571 0-148.571 116.571-148.571 196.571 0 64 33.143 140 106.857 140 93.143 0 148.571-116.571 148.571-196.571zM250.286 405.143c0-55.429-29.143-113.143-92-113.143-91.429 0-158.286 112-158.286 194.857 0 55.429 29.714 113.714 92 113.714 91.429 0 158.286-112.571 158.286-195.429zM475.429 420.571c140 0 329.143-201.714 329.143-336.571 0-72.571-59.429-84-117.714-84-76.571 0-138.286 51.429-211.429 51.429-76.571 0-141.714-50.857-224.571-50.857-55.429 0-104.571 18.857-104.571 83.429 0 135.429 189.143 336.571 329.143 336.571zM612 541.143c-73.714 0-106.857 76-106.857 140 0 80 55.429 196.571 148.571 196.571 73.714 0 106.857-76 106.857-140 0-80-56-196.571-148.571-196.571zM858.857 600.571c62.286 0 92-58.286 92-113.714 0-82.857-66.857-194.857-158.286-194.857-62.857 0-92 57.714-92 113.143 0 82.857 66.857 195.429 158.286 195.429z" /> +<glyph unicode="" glyph-name="power" d="M384 960l-384-512h384l-256-512 896 640h-512l384 384z" /> +<glyph unicode="" glyph-name="pirati" horiz-adv-x="968" d="M458.203 826.435c-109.449 0-211.478-42.667-287.536-118.725-77.913-76.058-120.58-179.942-120.58-287.536 0-109.449 42.667-211.478 118.725-289.391 77.913-76.058 179.942-118.725 287.536-118.725 109.449 0 211.478 42.667 287.536 118.725 77.913 76.058 118.725 179.942 118.725 287.536 0 109.449-42.667 211.478-118.725 287.536-74.203 79.768-176.232 120.58-285.681 120.58zM458.203 51.014c-204.058 0-369.159 165.101-369.159 369.159s165.101 369.159 369.159 369.159c204.058 0 369.159-165.101 369.159-369.159s-165.101-369.159-369.159-369.159zM335.768 661.333v57.507h-35.246v-66.783c-24.116-7.42-38.957-14.841-35.246-20.406 7.42 1.855 20.406 3.71 35.246 1.855v-341.333c-37.101-70.493 16.696-179.942 16.696-179.942s-38.957 116.87 48.232 172.522c79.768 50.087 358.029 27.826 356.174 183.652-1.855 220.754-257.855 220.754-385.855 192.928zM448.928 446.145c-12.986-59.362-76.058-89.043-115.014-115.014v298.667c64.928-14.841 140.986-64.928 115.014-183.652z" /> +<glyph unicode="" glyph-name="open-source" d="M512 943.712c-282.304 0-512-229.696-512-512 0-210.624 132.032-402.432 328.448-477.248 8.192-3.264 17.408-2.752 25.344 1.088 7.936 3.904 13.952 10.816 16.576 19.264l96 306.56c4.544 14.528-1.728 30.272-15.040 37.568-41.536 22.912-67.328 66.112-67.328 112.768 0 70.592 57.408 128 128 128s128-57.408 128-128c0-46.656-25.792-89.856-67.328-112.832-13.312-7.296-19.648-23.040-15.040-37.568l96-306.56c2.624-8.448 8.64-15.36 16.576-19.264 4.416-2.112 9.216-3.2 13.952-3.2 3.84 0 7.744 0.704 11.392 2.112 196.48 74.88 328.448 266.688 328.448 477.312 0 282.304-229.696 512-512 512z" /> +<glyph unicode="" glyph-name="stackshare" horiz-adv-x="1150" d="M994.848 306.216c-58.718 0-109.37-35.183-132.020-85.575h-183.898l-72.283 228.341 73.252 227.035h182.664c22.489-50.736 73.322-86.245 132.285-86.245 79.789 0 144.685 64.908 144.685 144.691s-64.9 144.685-144.685 144.685c-56.185 0-104.953-32.216-128.915-79.128h-230.524c-0.002 0-0.004 0-0.008 0-27.142 0-50.216-17.435-58.626-41.723l-0.133-0.436-83.594-247.536h-204.86c-22.127 51.614-73.405 87.843-133.036 87.843-79.769 0-144.685-64.9-144.685-144.685 0-79.769 64.915-144.669 144.685-144.669 55.549 0 103.843 31.476 128.078 77.501h208.838l83.616-247.536c8.523-24.715 31.583-42.159 58.717-42.159 0.010 0 0.022 0 0.027 0h231.176c23.823-47.274 72.793-79.769 129.228-79.769 79.789 0 144.685 64.9 144.685 144.685 0 79.769-64.9 144.669-144.685 144.669zM994.848 801.65c37.045 0 67.183-30.143 67.183-67.183s-30.143-67.183-67.183-67.183c-37.046 0-67.162 30.151-67.162 67.183 0 37.045 30.116 67.183 67.162 67.183zM155.163 386.326c-37.045 0-67.162 30.143-67.162 67.162 0 37.052 30.116 67.183 67.162 67.183s67.183-30.137 67.183-67.183c0-37.017-30.143-67.162-67.183-67.162zM994.848 94.37c-37.045 0-67.162 30.143-67.162 67.183s30.116 67.162 67.162 67.162c37.046 0 67.183-30.116 67.183-67.162s-30.143-67.183-67.183-67.183z" /> +<glyph unicode="" glyph-name="link1" d="M726 640.667c118 0 212-96 212-214s-94-214-212-214h-172v82h172c72 0 132 60 132 132s-60 132-132 132h-172v82h172zM342 384.667v84h340v-84h-340zM166 426.667c0-72 60-132 132-132h172v-82h-172c-118 0-212 96-212 214s94 214 212 214h172v-82h-172c-72 0-132-60-132-132z" /> +<glyph unicode="" glyph-name="arrow-down" d="M316 604.667l196-196 196 196 60-60-256-256-256 256z" /> +<glyph unicode="" glyph-name="link" d="M440.236 324.234c-13.31 0-26.616 5.076-36.77 15.23-95.134 95.136-95.134 249.934 0 345.070l192 192c46.088 46.086 107.36 71.466 172.534 71.466s126.448-25.38 172.536-71.464c95.132-95.136 95.132-249.934 0-345.070l-87.766-87.766c-20.308-20.308-53.23-20.308-73.54 0-20.306 20.306-20.306 53.232 0 73.54l87.766 87.766c54.584 54.586 54.584 143.404 0 197.99-26.442 26.442-61.6 41.004-98.996 41.004s-72.552-14.562-98.996-41.006l-192-191.998c-54.586-54.586-54.586-143.406 0-197.992 20.308-20.306 20.306-53.232 0-73.54-10.15-10.152-23.462-15.23-36.768-15.23zM256-52c-65.176 0-126.45 25.38-172.534 71.464-95.134 95.136-95.134 249.934 0 345.070l87.764 87.764c20.308 20.306 53.234 20.306 73.54 0 20.308-20.306 20.308-53.232 0-73.54l-87.764-87.764c-54.586-54.586-54.586-143.406 0-197.992 26.44-26.44 61.598-41.002 98.994-41.002s72.552 14.562 98.998 41.006l192 191.998c54.584 54.586 54.584 143.406 0 197.992-20.308 20.308-20.306 53.232 0 73.54 20.306 20.306 53.232 20.306 73.54-0.002 95.132-95.134 95.132-249.932 0.002-345.068l-192.002-192c-46.090-46.088-107.364-71.466-172.538-71.466z" /> +<glyph unicode="" glyph-name="search" d="M1014.88 33.504c12.192-12.192 12.192-31.968 0-44.192l-44.192-44.192c-12.224-12.192-32-12.192-44.192 0l-309.376 309.376c-3.36 3.36-5.6 7.328-7.104 11.552-63.456-46.368-141.376-74.048-226.016-74.048-212.064 0-384 171.936-384 384s171.936 384 384 384c212.064 0 384-171.936 384-384 0-84.64-27.68-162.56-74.048-226.016 4.224-1.504 8.192-3.712 11.552-7.104l309.376-309.376zM384 832c-141.376 0-256-114.624-256-256s114.624-256 256-256 256 114.624 256 256c0 141.376-114.624 256-256 256z" /> +<glyph unicode="" glyph-name="map" d="M0 768l320 128v-768l-320-128zM384 928l320-192v-736l-320 160zM768 736l256 192v-768l-256-192z" /> +<glyph unicode="" glyph-name="compass" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM96 448c0 229.75 186.25 416 416 416 109.574 0 209.232-42.386 283.534-111.628l-411.534-176.372-176.372-411.534c-69.242 74.302-111.628 173.96-111.628 283.534zM585.166 374.834l-256.082-109.75 109.75 256.082 146.332-146.332zM512 32c-109.574 0-209.234 42.386-283.532 111.628l411.532 176.372 176.372 411.532c69.242-74.298 111.628-173.958 111.628-283.532 0-229.75-186.25-416-416-416z" /> +<glyph unicode="" glyph-name="folder-open" d="M832 0l192 512h-832l-192-512zM128 576l-128-576v832h288l128-128h416v-128z" /> +<glyph unicode="" glyph-name="folder" d="M448 832l128-128h448v-704h-1024v832z" /> +<glyph unicode="" glyph-name="drawer" d="M1016.988 307.99l-256 320c-6.074 7.592-15.266 12.010-24.988 12.010h-448c-9.72 0-18.916-4.418-24.988-12.010l-256-320c-4.538-5.674-7.012-12.724-7.012-19.99v-288c0-35.346 28.654-64 64-64h896c35.348 0 64 28.654 64 64v288c0 7.266-2.472 14.316-7.012 19.99zM960 256h-224l-128-128h-192l-128 128h-224v20.776l239.38 299.224h417.24l239.38-299.224v-20.776zM736 448h-448c-17.672 0-32 14.328-32 32s14.328 32 32 32h448c17.674 0 32-14.328 32-32s-14.326-32-32-32zM800 320h-576c-17.672 0-32 14.326-32 32s14.328 32 32 32h576c17.674 0 32-14.326 32-32s-14.326-32-32-32z" /> +<glyph unicode="" glyph-name="stop" d="M128 832h768v-768h-768z" /> +<glyph unicode="" glyph-name="github" d="M512.008 947.358c-282.738 0-512.008-229.218-512.008-511.998 0-226.214 146.704-418.132 350.136-485.836 25.586-4.738 34.992 11.11 34.992 24.632 0 12.204-0.48 52.542-0.696 95.324-142.448-30.976-172.504 60.41-172.504 60.41-23.282 59.176-56.848 74.916-56.848 74.916-46.452 31.778 3.51 31.124 3.51 31.124 51.4-3.61 78.476-52.766 78.476-52.766 45.672-78.27 119.776-55.64 149.004-42.558 4.588 33.086 17.852 55.68 32.506 68.464-113.73 12.942-233.276 56.85-233.276 253.032 0 55.898 20.004 101.574 52.76 137.428-5.316 12.9-22.854 64.972 4.952 135.5 0 0 43.006 13.752 140.84-52.49 40.836 11.348 84.636 17.036 128.154 17.234 43.502-0.198 87.336-5.886 128.256-17.234 97.734 66.244 140.656 52.49 140.656 52.49 27.872-70.528 10.35-122.6 5.036-135.5 32.82-35.856 52.694-81.532 52.694-137.428 0-196.654-119.778-239.95-233.79-252.624 18.364-15.89 34.724-47.046 34.724-94.812 0-68.508-0.596-123.644-0.596-140.508 0-13.628 9.222-29.594 35.172-24.566 203.322 67.776 349.842 259.626 349.842 485.768 0 282.78-229.234 511.998-511.992 511.998z" /> +<glyph unicode="" glyph-name="clock" d="M658.744 210.744l-210.744 210.746v282.51h128v-229.49l173.256-173.254zM512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM512 64c-212.078 0-384 171.922-384 384s171.922 384 384 384c212.078 0 384-171.922 384-384s-171.922-384-384-384z" /> +<glyph unicode="" glyph-name="calendar" d="M320 576h128v-128h-128zM512 576h128v-128h-128zM704 576h128v-128h-128zM128 192h128v-128h-128zM320 192h128v-128h-128zM512 192h128v-128h-128zM320 384h128v-128h-128zM512 384h128v-128h-128zM704 384h128v-128h-128zM128 384h128v-128h-128zM832 960v-64h-128v64h-448v-64h-128v64h-128v-1024h960v1024h-128zM896 0h-832v704h832v-704z" /> +<glyph unicode="" glyph-name="flickr" d="M928 960h-832c-52.8 0-96-43.2-96-96v-832c0-52.8 43.2-96 96-96h832c52.8 0 96 43.2 96 96v832c0 52.8-43.2 96-96 96zM288 288c-88.4 0-160 71.6-160 160s71.6 160 160 160 160-71.6 160-160-71.6-160-160-160zM736 288c-88.4 0-160 71.6-160 160s71.6 160 160 160c88.4 0 160-71.6 160-160s-71.6-160-160-160z" /> +<glyph unicode="" glyph-name="instagram" d="M512 867.8c136.8 0 153-0.6 206.8-3 50-2.2 77-10.6 95-17.6 23.8-9.2 41-20.4 58.8-38.2 18-18 29-35 38.4-58.8 7-18 15.4-45.2 17.6-95 2.4-54 3-70.2 3-206.8s-0.6-153-3-206.8c-2.2-50-10.6-77-17.6-95-9.2-23.8-20.4-41-38.2-58.8-18-18-35-29-58.8-38.4-18-7-45.2-15.4-95-17.6-54-2.4-70.2-3-206.8-3s-153 0.6-206.8 3c-50 2.2-77 10.6-95 17.6-23.8 9.2-41 20.4-58.8 38.2-18 18-29 35-38.4 58.8-7 18-15.4 45.2-17.6 95-2.4 54-3 70.2-3 206.8s0.6 153 3 206.8c2.2 50 10.6 77 17.6 95 9.2 23.8 20.4 41 38.2 58.8 18 18 35 29 58.8 38.4 18 7 45.2 15.4 95 17.6 53.8 2.4 70 3 206.8 3zM512 960c-139 0-156.4-0.6-211-3-54.4-2.4-91.8-11.2-124.2-23.8-33.8-13.2-62.4-30.6-90.8-59.2-28.6-28.4-46-57-59.2-90.6-12.6-32.6-21.4-69.8-23.8-124.2-2.4-54.8-3-72.2-3-211.2s0.6-156.4 3-211c2.4-54.4 11.2-91.8 23.8-124.2 13.2-33.8 30.6-62.4 59.2-90.8 28.4-28.4 57-46 90.6-59 32.6-12.6 69.8-21.4 124.2-23.8 54.6-2.4 72-3 211-3s156.4 0.6 211 3c54.4 2.4 91.8 11.2 124.2 23.8 33.6 13 62.2 30.6 90.6 59s46 57 59 90.6c12.6 32.6 21.4 69.8 23.8 124.2 2.4 54.6 3 72 3 211s-0.6 156.4-3 211c-2.4 54.4-11.2 91.8-23.8 124.2-12.6 34-30 62.6-58.6 91-28.4 28.4-57 46-90.6 59-32.6 12.6-69.8 21.4-124.2 23.8-54.8 2.6-72.2 3.2-211.2 3.2v0zM512 711c-145.2 0-263-117.8-263-263s117.8-263 263-263 263 117.8 263 263c0 145.2-117.8 263-263 263zM512 277.4c-94.2 0-170.6 76.4-170.6 170.6s76.4 170.6 170.6 170.6c94.2 0 170.6-76.4 170.6-170.6s-76.4-170.6-170.6-170.6zM846.8 721.4c0-33.91-27.49-61.4-61.4-61.4s-61.4 27.49-61.4 61.4c0 33.91 27.49 61.4 61.4 61.4s61.4-27.49 61.4-61.4z" /> +<glyph unicode="" glyph-name="twitter" d="M1024 733.6c-37.6-16.8-78.2-28-120.6-33 43.4 26 76.6 67.2 92.4 116.2-40.6-24-85.6-41.6-133.4-51-38.4 40.8-93 66.2-153.4 66.2-116 0-210-94-210-210 0-16.4 1.8-32.4 5.4-47.8-174.6 8.8-329.4 92.4-433 219.6-18-31-28.4-67.2-28.4-105.6 0-72.8 37-137.2 93.4-174.8-34.4 1-66.8 10.6-95.2 26.2 0-0.8 0-1.8 0-2.6 0-101.8 72.4-186.8 168.6-206-17.6-4.8-36.2-7.4-55.4-7.4-13.6 0-26.6 1.4-39.6 3.8 26.8-83.4 104.4-144.2 196.2-146-72-56.4-162.4-90-261-90-17 0-33.6 1-50.2 3 93.2-59.8 203.6-94.4 322.2-94.4 386.4 0 597.8 320.2 597.8 597.8 0 9.2-0.2 18.2-0.6 27.2 41 29.4 76.6 66.4 104.8 108.6z" /> +<glyph unicode="" glyph-name="newspaper" d="M896 704v128h-896v-704c0-35.346 28.654-64 64-64h864c53.022 0 96 42.978 96 96v544h-128zM832 128h-768v640h768v-640zM128 640h640v-64h-640zM512 512h256v-64h-256zM512 384h256v-64h-256zM512 256h192v-64h-192zM128 512h320v-320h-320z" /> +<glyph unicode="" glyph-name="cart" d="M384 32c0-53.019-42.981-96-96-96s-96 42.981-96 96c0 53.019 42.981 96 96 96s96-42.981 96-96zM1024 32c0-53.019-42.981-96-96-96s-96 42.981-96 96c0 53.019 42.981 96 96 96s96-42.981 96-96zM1024 448v384h-768c0 35.346-28.654 64-64 64h-192v-64h128l48.074-412.054c-29.294-23.458-48.074-59.5-48.074-99.946 0-70.696 57.308-128 128-128h768v64h-768c-35.346 0-64 28.654-64 64 0 0.218 0.014 0.436 0.016 0.656l831.984 127.344z" /> +<glyph unicode="" glyph-name="home" d="M1024 352l-192 192v288h-128v-160l-192 192-512-512v-32h128v-320h320v192h128v-192h320v320h128z" /> +<glyph unicode="" glyph-name="chevron-right" d="M414.165 140.502l256 256c16.683 16.683 16.683 43.691 0 60.331l-256 256c-16.683 16.683-43.691 16.683-60.331 0s-16.683-43.691 0-60.331l225.835-225.835-225.835-225.835c-16.683-16.683-16.683-43.691 0-60.331s43.691-16.683 60.331 0z" /> +<glyph unicode="" glyph-name="chevron-left" d="M670.165 200.832l-225.835 225.835 225.835 225.835c16.683 16.683 16.683 43.691 0 60.331s-43.691 16.683-60.331 0l-256-256c-16.683-16.683-16.683-43.691 0-60.331l256-256c16.683-16.683 43.691-16.683 60.331 0s16.683 43.691 0 60.331z" /> +<glyph unicode="" glyph-name="chevron-down" d="M225.835 524.502l256-256c16.683-16.683 43.691-16.683 60.331 0l256 256c16.683 16.683 16.683 43.691 0 60.331s-43.691 16.683-60.331 0l-225.835-225.835-225.835 225.835c-16.683 16.683-43.691 16.683-60.331 0s-16.683-43.691 0-60.331z" /> +<glyph unicode="" glyph-name="chevron-up" d="M798.165 328.832l-256 256c-16.683 16.683-43.691 16.683-60.331 0l-256-256c-16.683-16.683-16.683-43.691 0-60.331s43.691-16.683 60.331 0l225.835 225.835 225.835-225.835c16.683-16.683 43.691-16.683 60.331 0s16.683 43.691 0 60.331z" /> +<glyph unicode="" glyph-name="zoom_out_map" d="M896 298.667v-256h-256l98 98-124 122 62 62 122-124zM384 42.667h-256v256l98-98 122 124 62-62-124-122zM128 554.667v256h256l-98-98 124-122-62-62-122 124zM640 810.667h256v-256l-98 98-122-124-62 62 124 122z" /> +<glyph unicode="" glyph-name="pig" d="M789.568 258.912c0 0 106.56 72.896 106.56 216.672 0 214.016-226.816 293.152-348.768 291.040-121.984-2.144-158.336-34.24-158.336-34.24s-41.504 30.176-85.504 55.456c-33.664 13.12-41.472 15.008-64.864 7.488-18.72 0-6.944-31.168 0.576-42.4 7.456-11.232 43.712-73.28 43.712-73.28s-76.096-78.368-81.728-129.888c0 0.928-35.84 0.288-55.488 0.288s-17.792-21.408-17.792-21.408l0.544-150.848c0 0-1.216-21.408 16.608-21.408 17.792 0 55.616-0.416 55.616-0.416s53.216-77.28 86.944-91.328c0-0.928-29.152-80.096-29.152-80.096s-14.048-24.352 11.232-33.728c25.28-9.344 91.232-37.024 119.328-45.472 28.064-8.416 32.096 10.688 32.096 10.688l27.808 60.064 181.92-0.288 27.808-61.92c0 0 5.344-28.736 42.784-12.832 37.472 15.904 78.368 34.784 109.28 50.688 30.88 15.904 10.56 45.632 10.56 45.632l-31.744 61.536zM298.304 519.552c-17.056 0-30.88 13.856-30.88 30.912s13.824 30.88 30.88 30.88 30.912-13.824 30.912-30.88-13.856-30.912-30.912-30.912zM733.6 615.808c-9.856-11.68-16.288-3.072-24.224-0.736 0 0-33.632 31.2-83.040 45.76-51.168 15.040-105.024 7.776-105.024 7.776-7.936 2.336-17.568 2.592-17.632 14.848 0.416 15.136 18.784 15.264 18.56 15.776 0 0 60.608 5.6 111.328-9.312 49.888-14.656 88-46.528 88-46.528s20.384-14.048 12.032-27.584z" /> +<glyph unicode="" glyph-name="edit-pencil" d="M629.76 783.36l204.8-204.8-629.76-629.76h-204.8v204.8l629.76 629.76zM701.44 855.040l117.76 117.76 204.8-204.8-117.76-117.76-204.8 204.8z" /> +<glyph unicode="" glyph-name="bank" horiz-adv-x="1097" d="M548.571 950.857l548.571-219.429v-73.143h-73.143c0-20-17.714-36.571-39.429-36.571h-872c-21.714 0-39.429 16.571-39.429 36.571h-73.143v73.143zM146.286 585.143h146.286v-438.857h73.143v438.857h146.286v-438.857h73.143v438.857h146.286v-438.857h73.143v438.857h146.286v-438.857h33.714c21.714 0 39.429-16.571 39.429-36.571v-36.571h-950.857v36.571c0 20 17.714 36.571 39.429 36.571h33.714v438.857zM1057.714 36.571c21.714 0 39.429-16.571 39.429-36.571v-73.143h-1097.143v73.143c0 20 17.714 36.571 39.429 36.571h1018.286z" /> +<glyph unicode="" glyph-name="facebook-official" horiz-adv-x="878" d="M829.143 877.714c26.857 0 48.571-21.714 48.571-48.571v-780.571c0-26.857-21.714-48.571-48.571-48.571h-223.429v340h113.714l17.143 132.571h-130.857v84.571c0 38.286 10.286 64 65.714 64l69.714 0.571v118.286c-12 1.714-53.714 5.143-101.714 5.143-101.143 0-170.857-61.714-170.857-174.857v-97.714h-114.286v-132.571h114.286v-340h-420c-26.857 0-48.571 21.714-48.571 48.571v780.571c0 26.857 21.714 48.571 48.571 48.571h780.571z" /> +<glyph unicode="" glyph-name="close" horiz-adv-x="805" d="M741.714 195.428c0-14.286-5.714-28.571-16-38.857l-77.714-77.714c-10.286-10.286-24.571-16-38.857-16s-28.571 5.714-38.857 16l-168 168-168-168c-10.286-10.286-24.571-16-38.857-16s-28.571 5.714-38.857 16l-77.714 77.714c-10.286 10.286-16 24.571-16 38.857s5.714 28.571 16 38.857l168 168-168 168c-10.286 10.286-16 24.571-16 38.857s5.714 28.571 16 38.857l77.714 77.714c10.286 10.286 24.571 16 38.857 16s28.571-5.714 38.857-16l168-168 168 168c10.286 10.286 24.571 16 38.857 16s28.571-5.714 38.857-16l77.714-77.714c10.286-10.286 16-24.571 16-38.857s-5.714-28.571-16-38.857l-168-168 168-168c10.286-10.286 16-24.571 16-38.857z" /> +<glyph unicode="" glyph-name="anchor" d="M548.571 804.571c0 20-16.571 36.571-36.571 36.571s-36.571-16.571-36.571-36.571 16.571-36.571 36.571-36.571 36.571 16.571 36.571 36.571zM1024 274.286v-201.143c0-7.429-4.571-14.286-11.429-17.143-2.286-0.571-4.571-1.143-6.857-1.143-4.571 0-9.143 1.714-13.143 5.143l-53.143 53.143c-89.714-108-250.857-177.143-427.429-177.143s-337.714 69.143-427.429 177.143l-53.143-53.143c-3.429-3.429-8.571-5.143-13.143-5.143-2.286 0-4.571 0.571-6.857 1.143-6.857 2.857-11.429 9.714-11.429 17.143v201.143c0 10.286 8 18.286 18.286 18.286h201.143c7.429 0 14.286-4.571 17.143-11.429s1.143-14.286-4-20l-57.143-57.143c51.429-69.143 150.286-119.429 263.429-134.857v369.714h-109.714c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h109.714v93.143c-43.429 25.143-73.143 72-73.143 126.286 0 80.571 65.714 146.286 146.286 146.286s146.286-65.714 146.286-146.286c0-54.286-29.714-101.143-73.143-126.286v-93.143h109.714c20 0 36.571-16.571 36.571-36.571v-73.143c0-20-16.571-36.571-36.571-36.571h-109.714v-369.714c113.143 15.429 212 65.714 263.429 134.857l-57.143 57.143c-5.143 5.714-6.857 13.143-4 20s9.714 11.429 17.143 11.429h201.143c10.286 0 18.286-8 18.286-18.286z" /> +<glyph unicode="" glyph-name="feed" horiz-adv-x="805" d="M219.429 182.857c0-60.571-49.143-109.714-109.714-109.714s-109.714 49.143-109.714 109.714 49.143 109.714 109.714 109.714 109.714-49.143 109.714-109.714zM512 112.571c0.571-10.286-2.857-20-9.714-27.429-6.857-8-16.571-12-26.857-12h-77.143c-18.857 0-34.286 14.286-36 33.143-16.571 174.286-154.857 312.571-329.143 329.143-18.857 1.714-33.143 17.143-33.143 36v77.143c0 10.286 4 20 12 26.857 6.286 6.286 15.429 9.714 24.571 9.714h2.857c121.714-9.714 236.571-62.857 322.857-149.714 86.857-86.286 140-201.143 149.714-322.857zM804.571 111.428c0.571-9.714-2.857-19.429-10.286-26.857-6.857-7.429-16-11.429-26.286-11.429h-81.714c-19.429 0-35.429 14.857-36.571 34.286-18.857 332-283.429 596.571-615.429 616-19.429 1.143-34.286 17.143-34.286 36v81.714c0 10.286 4 19.429 11.429 26.286 6.857 6.857 16 10.286 25.143 10.286h1.714c200-10.286 388-94.286 529.714-236.571 142.286-141.714 226.286-329.714 236.571-529.714z" /> +<glyph unicode="" glyph-name="envelope" d="M1024 545.143v-453.714c0-50.286-41.143-91.429-91.429-91.429h-841.143c-50.286 0-91.429 41.143-91.429 91.429v453.714c17.143-18.857 36.571-35.429 57.714-49.714 94.857-64.571 190.857-129.143 284-197.143 48-35.429 107.429-78.857 169.714-78.857h1.143c62.286 0 121.714 43.429 169.714 78.857 93.143 67.429 189.143 132.571 284.571 197.143 20.571 14.286 40 30.857 57.143 49.714zM1024 713.143c0-64-47.429-121.714-97.714-156.571-89.143-61.714-178.857-123.429-267.429-185.714-37.143-25.714-100-78.286-146.286-78.286h-1.143c-46.286 0-109.143 52.571-146.286 78.286-88.571 62.286-178.286 124-266.857 185.714-40.571 27.429-98.286 92-98.286 144 0 56 30.286 104 91.429 104h841.143c49.714 0 91.429-41.143 91.429-91.429z" /> +<glyph unicode="" glyph-name="bubbles" horiz-adv-x="1152" d="M480 960v0c265.096 0 480-173.914 480-388.448s-214.904-388.448-480-388.448c-25.458 0-50.446 1.62-74.834 4.71-103.106-102.694-222.172-121.108-341.166-123.814v25.134c64.252 31.354 116 88.466 116 153.734 0 9.106-0.712 18.048-2.030 26.794-108.558 71.214-177.97 179.988-177.97 301.89 0 214.534 214.904 388.448 480 388.448zM996 89.314c0-55.942 36.314-104.898 92-131.772v-21.542c-103.126 2.318-197.786 18.102-287.142 106.126-21.14-2.65-42.794-4.040-64.858-4.040-95.47 0-183.408 25.758-253.614 69.040 144.674 0.506 281.26 46.854 384.834 130.672 52.208 42.252 93.394 91.826 122.414 147.348 30.766 58.866 46.366 121.582 46.366 186.406 0 10.448-0.45 20.836-1.258 31.168 72.57-59.934 117.258-141.622 117.258-231.676 0-104.488-60.158-197.722-154.24-258.764-1.142-7.496-1.76-15.16-1.76-22.966z" /> +<glyph unicode="" glyph-name="calculator" horiz-adv-x="951" d="M219.429 73.143c0 40.571-32.571 73.143-73.143 73.143s-73.143-32.571-73.143-73.143 32.571-73.143 73.143-73.143 73.143 32.571 73.143 73.143zM438.857 73.143c0 40.571-32.571 73.143-73.143 73.143s-73.143-32.571-73.143-73.143 32.571-73.143 73.143-73.143 73.143 32.571 73.143 73.143zM219.429 292.571c0 40.571-32.571 73.143-73.143 73.143s-73.143-32.571-73.143-73.143 32.571-73.143 73.143-73.143 73.143 32.571 73.143 73.143zM658.286 73.143c0 40.571-32.571 73.143-73.143 73.143s-73.143-32.571-73.143-73.143 32.571-73.143 73.143-73.143 73.143 32.571 73.143 73.143zM438.857 292.571c0 40.571-32.571 73.143-73.143 73.143s-73.143-32.571-73.143-73.143 32.571-73.143 73.143-73.143 73.143 32.571 73.143 73.143zM219.429 512c0 40.571-32.571 73.143-73.143 73.143s-73.143-32.571-73.143-73.143 32.571-73.143 73.143-73.143 73.143 32.571 73.143 73.143zM658.286 292.571c0 40.571-32.571 73.143-73.143 73.143s-73.143-32.571-73.143-73.143 32.571-73.143 73.143-73.143 73.143 32.571 73.143 73.143zM438.857 512c0 40.571-32.571 73.143-73.143 73.143s-73.143-32.571-73.143-73.143 32.571-73.143 73.143-73.143 73.143 32.571 73.143 73.143zM877.714 73.143v219.429c0 40-33.143 73.143-73.143 73.143v0c-40 0-73.143-33.143-73.143-73.143v-219.429c0-40 33.143-73.143 73.143-73.143v0c40 0 73.143 33.143 73.143 73.143zM658.286 512c0 40.571-32.571 73.143-73.143 73.143s-73.143-32.571-73.143-73.143 32.571-73.143 73.143-73.143 73.143 32.571 73.143 73.143zM877.714 694.857v146.286c0 20-16.571 36.571-36.571 36.571h-731.429c-20 0-36.571-16.571-36.571-36.571v-146.286c0-20 16.571-36.571 36.571-36.571h731.429c20 0 36.571 16.571 36.571 36.571zM877.714 512c0 40.571-32.571 73.143-73.143 73.143s-73.143-32.571-73.143-73.143 32.571-73.143 73.143-73.143 73.143 32.571 73.143 73.143zM950.857 877.714v-877.714c0-40-33.143-73.143-73.143-73.143h-804.571c-40 0-73.143 33.143-73.143 73.143v877.714c0 40 33.143 73.143 73.143 73.143h804.571c40 0 73.143-33.143 73.143-73.143z" /> +<glyph unicode="" glyph-name="strategy" horiz-adv-x="736" d="M704-48c0 8.832-7.168 16-16 16h-576c-8.832 0-16-7.168-16-16s7.168-16 16-16h576c8.832 0 16 7.168 16 16zM40.768 660.672c-13.376-8.896-33.664-35.968-14.432-74.432 15.968-31.904 49.28-70.944 84.704-81.248 18.048-5.312 35.84-3.104 51.36 6.272 35.168 21.056 76.704 49.536 94.304 61.76 22.208-11.232 50.24-13.568 78.72-6.24 0.128 0.032 0.256 0.096 0.384 0.128-1.664-52.832-19.552-85.824-107.008-167.040-77.952-72.352-124.192-167.392-123.744-254.272 0.32-56.992 21.088-105.92 60.16-141.408 2.976-2.72 6.816-4.192 10.784-4.192h448c8.832 0 16 7.168 16 16s-7.168 16-16 16h-441.632c-29.408 28.96-45.024 68.16-45.28 113.76-0.416 76.864 43.104 165.28 113.504 230.656 93.28 86.592 117.408 127.616 117.408 199.584 0 1.312-0.448 2.464-0.736 3.68 17.504 9.44 32.64 21.92 42.976 37.024 12.96 18.88 40.864 67.36 20.16 110.272-3.84 7.904-13.408 11.264-21.376 7.424-7.936-3.84-11.296-13.408-7.424-21.376 9.312-19.296 2.688-48.544-17.728-78.24-11.776-17.152-32.832-31.008-56.352-37.024-23.904-6.112-46.624-3.424-62.464 7.424-5.536 3.776-12.8 3.744-18.272-0.128-0.576-0.384-56.864-40.032-100.768-66.368-8.032-4.8-16.512-5.824-25.984-3.008-24.768 7.232-52 38.784-65.024 64.832-10.528 21.056 0.256 31.104 5.152 34.688 110.304 95.264 165.664 194.24 167.936 198.432 2.112 3.904 2.56 8.512 1.152 12.768-0.16 0.48-11.2 34.016-17.28 65.056 33.472-20.16 91.040-48.32 150.976-48.32 83.328 0 277.056-31.104 277.056-319.232 0-1.568-0.288-158.208-63.040-330.464-3.040-8.288 1.248-17.472 9.568-20.512 1.824-0.608 3.648-0.928 5.472-0.928 6.528 0 12.672 4.032 15.040 10.528 64.672 177.536 64.992 334.912 64.96 341.472 0 325.856-236.576 351.168-309.056 351.168-80.288 0-160.384 60.896-161.152 61.536-4.896 3.68-11.36 4.288-16.864 1.632-5.472-2.688-8.928-8.256-8.928-14.336 0-31.392 14.88-82.176 20.672-100.704-13.376-22.336-66.112-104.992-155.904-182.624zM559.52 910.72c-51.232 34.528-108.512 49.28-191.52 49.28-8.832 0-16-7.168-16-16s7.168-16 16-16c76.16 0 128.096-13.088 173.664-43.808 74.048-49.984 162.336-149.568 162.336-340.192 0-46.432 0-110.016-31.52-236.128-2.112-8.576 3.072-17.248 11.648-19.392 1.312-0.32 2.592-0.48 3.872-0.48 7.2 0 13.728 4.832 15.52 12.128 32.48 129.888 32.48 195.776 32.48 243.872 0 204.672-95.968 312.416-176.48 366.72z" /> +<glyph unicode="" glyph-name="menu" d="M128 384h768c23.552 0 42.667 19.115 42.667 42.667s-19.115 42.667-42.667 42.667h-768c-23.552 0-42.667-19.115-42.667-42.667s19.115-42.667 42.667-42.667zM128 640h768c23.552 0 42.667 19.115 42.667 42.667s-19.115 42.667-42.667 42.667h-768c-23.552 0-42.667-19.115-42.667-42.667s19.115-42.667 42.667-42.667zM128 128h768c23.552 0 42.667 19.115 42.667 42.667s-19.115 42.667-42.667 42.667h-768c-23.552 0-42.667-19.115-42.667-42.667s19.115-42.667 42.667-42.667z" /> +<glyph unicode="" glyph-name="users, group, team, members, community, collaborate" horiz-adv-x="1152" d="M768 189.388v52.78c70.498 39.728 128 138.772 128 237.832 0 159.058 0 288-192 288s-192-128.942-192-288c0-99.060 57.502-198.104 128-237.832v-52.78c-217.102-17.748-384-124.42-384-253.388h896c0 128.968-166.898 235.64-384 253.388zM327.196 164.672c55.31 36.15 124.080 63.636 199.788 80.414-15.054 17.784-28.708 37.622-40.492 59.020-30.414 55.234-46.492 116.058-46.492 175.894 0 86.042 0 167.31 30.6 233.762 29.706 64.504 83.128 104.496 159.222 119.488-16.914 76.48-61.94 126.75-181.822 126.75-192 0-192-128.942-192-288 0-99.060 57.502-198.104 128-237.832v-52.78c-217.102-17.748-384-124.42-384-253.388h279.006c14.518 12.91 30.596 25.172 48.19 36.672z" /> +<glyph unicode="" glyph-name="book, read, reading" d="M896 832v-832h-672c-53.026 0-96 42.98-96 96s42.974 96 96 96h608v768h-640c-70.398 0-128-57.6-128-128v-768c0-70.4 57.602-128 128-128h768v896h-64zM224.056 128v0c-0.018-0.002-0.038 0-0.056 0-17.672 0-32-14.326-32-32s14.328-32 32-32c0.018 0 0.038 0.002 0.056 0.002v-0.002h607.89v64h-607.89z" /> +<glyph unicode="" glyph-name="youtube" d="M1013.8 652.8c0 0-10 70.6-40.8 101.6-39 40.8-82.6 41-102.6 43.4-143.2 10.4-358.2 10.4-358.2 10.4h-0.4c0 0-215 0-358.2-10.4-20-2.4-63.6-2.6-102.6-43.4-30.8-31-40.6-101.6-40.6-101.6s-10.2-82.8-10.2-165.8v-77.6c0-82.8 10.2-165.8 10.2-165.8s10-70.6 40.6-101.6c39-40.8 90.2-39.4 113-43.8 82-7.8 348.2-10.2 348.2-10.2s215.2 0.4 358.4 10.6c20 2.4 63.6 2.6 102.6 43.4 30.8 31 40.8 101.6 40.8 101.6s10.2 82.8 10.2 165.8v77.6c-0.2 82.8-10.4 165.8-10.4 165.8zM406.2 315.2v287.8l276.6-144.4-276.6-143.4z" /> +<glyph unicode="" glyph-name="cross" d="M1014.662 137.34c-0.004 0.004-0.008 0.008-0.012 0.010l-310.644 310.65 310.644 310.65c0.004 0.004 0.008 0.006 0.012 0.010 3.344 3.346 5.762 7.254 7.312 11.416 4.246 11.376 1.824 24.682-7.324 33.83l-146.746 146.746c-9.148 9.146-22.45 11.566-33.828 7.32-4.16-1.55-8.070-3.968-11.418-7.31 0-0.004-0.004-0.006-0.008-0.010l-310.648-310.652-310.648 310.65c-0.004 0.004-0.006 0.006-0.010 0.010-3.346 3.342-7.254 5.76-11.414 7.31-11.38 4.248-24.682 1.826-33.83-7.32l-146.748-146.748c-9.148-9.148-11.568-22.452-7.322-33.828 1.552-4.16 3.97-8.072 7.312-11.416 0.004-0.002 0.006-0.006 0.010-0.010l310.65-310.648-310.65-310.652c-0.002-0.004-0.006-0.006-0.008-0.010-3.342-3.346-5.76-7.254-7.314-11.414-4.248-11.376-1.826-24.682 7.322-33.83l146.748-146.746c9.15-9.148 22.452-11.568 33.83-7.322 4.16 1.552 8.070 3.97 11.416 7.312 0.002 0.004 0.006 0.006 0.010 0.010l310.648 310.65 310.648-310.65c0.004-0.002 0.008-0.006 0.012-0.008 3.348-3.344 7.254-5.762 11.414-7.314 11.378-4.246 24.684-1.826 33.828 7.322l146.746 146.748c9.148 9.148 11.57 22.454 7.324 33.83-1.552 4.16-3.97 8.068-7.314 11.414z" /> +<glyph unicode="" glyph-name="checkbox-checked" d="M896 960h-768c-70.4 0-128-57.6-128-128v-768c0-70.4 57.6-128 128-128h768c70.4 0 128 57.6 128 128v768c0 70.4-57.6 128-128 128zM448 165.49l-237.254 237.256 90.51 90.508 146.744-146.744 306.746 306.746 90.508-90.51-397.254-397.256z" /> +<glyph unicode="" glyph-name="quill, feather, write, edit" d="M0-64c128 384 463 1024 1024 1024-263-211-384-704-576-704s-192 0-192 0l-192-320h-64z" /> +<glyph unicode="" glyph-name="sphere, globe, internet" d="M480 896c-265.096 0-480-214.904-480-480 0-265.098 214.904-480 480-480 265.098 0 480 214.902 480 480 0 265.096-214.902 480-480 480zM751.59 256c8.58 40.454 13.996 83.392 15.758 128h127.446c-3.336-44.196-13.624-87.114-30.68-128h-112.524zM208.41 576c-8.58-40.454-13.996-83.392-15.758-128h-127.444c3.336 44.194 13.622 87.114 30.678 128h112.524zM686.036 576c9.614-40.962 15.398-83.854 17.28-128h-191.316v128h174.036zM512 640v187.338c14.59-4.246 29.044-11.37 43.228-21.37 26.582-18.74 52.012-47.608 73.54-83.486 14.882-24.802 27.752-52.416 38.496-82.484h-155.264zM331.232 722.484c21.528 35.878 46.956 64.748 73.54 83.486 14.182 10 28.638 17.124 43.228 21.37v-187.34h-155.264c10.746 30.066 23.616 57.68 38.496 82.484zM448 576v-128h-191.314c1.88 44.146 7.666 87.038 17.278 128h174.036zM95.888 256c-17.056 40.886-27.342 83.804-30.678 128h127.444c1.762-44.608 7.178-87.546 15.758-128h-112.524zM256.686 384h191.314v-128h-174.036c-9.612 40.96-15.398 83.854-17.278 128zM448 192v-187.34c-14.588 4.246-29.044 11.372-43.228 21.37-26.584 18.74-52.014 47.61-73.54 83.486-14.882 24.804-27.75 52.418-38.498 82.484h155.266zM628.768 109.516c-21.528-35.876-46.958-64.746-73.54-83.486-14.184-9.998-28.638-17.124-43.228-21.37v187.34h155.266c-10.746-30.066-23.616-57.68-38.498-82.484zM512 256v128h191.314c-1.88-44.146-7.666-87.040-17.28-128h-174.034zM767.348 448c-1.762 44.608-7.178 87.546-15.758 128h112.524c17.056-40.886 27.344-83.806 30.68-128h-127.446zM830.658 640h-95.9c-18.638 58.762-44.376 110.294-75.316 151.428 42.536-20.34 81.058-47.616 114.714-81.272 21.48-21.478 40.362-44.938 56.502-70.156zM185.844 710.156c33.658 33.658 72.18 60.932 114.714 81.272-30.942-41.134-56.676-92.666-75.316-151.428h-95.898c16.138 25.218 35.022 48.678 56.5 70.156zM129.344 192h95.898c18.64-58.762 44.376-110.294 75.318-151.43-42.536 20.34-81.058 47.616-114.714 81.274-21.48 21.478-40.364 44.938-56.502 70.156zM774.156 121.844c-33.656-33.658-72.18-60.934-114.714-81.274 30.942 41.134 56.678 92.668 75.316 151.43h95.9c-16.14-25.218-35.022-48.678-56.502-70.156z" /> +<glyph unicode="" glyph-name="wikipedia, brand" d="M966.8 726.4c0-3.2-1-6.2-3-9-2-2.6-4.2-4-6.8-4-20-2-36.4-8.4-49-19.2-12.8-10.8-25.8-31.8-39.2-62.4l-206.4-465.4c-1.4-4.4-5.2-6.4-11.4-6.4-4.8 0-8.6 2.2-11.4 6.4l-115.8 242-133.2-242c-2.8-4.4-6.4-6.4-11.4-6.4-6 0-9.8 2.2-11.8 6.4l-202.6 465.2c-12.6 28.8-26 49-40 60.4s-33.6 18.6-58.6 21.2c-2.2 0-4.2 1.2-6 3.4-2 2.2-2.8 4.8-2.8 7.8 0 7.6 2.2 11.4 6.4 11.4 18 0 37-0.8 56.8-2.4 18.4-1.6 35.6-2.4 51.8-2.4 16.4 0 36 0.8 58.4 2.4 23.4 1.6 44.2 2.4 62.4 2.4 4.4 0 6.4-3.8 6.4-11.4s-1.4-11.2-4-11.2c-18-1.4-32.4-6-42.8-13.8s-15.6-18-15.6-30.8c0-6.4 2.2-14.6 6.4-24.2l167.4-378.4 95.2 179.6-88.6 185.8c-16 33.2-29 54.6-39.2 64.2s-25.8 15.4-46.6 17.6c-2 0-3.6 1.2-5.4 3.4s-2.6 4.8-2.6 7.8c0 7.6 1.8 11.4 5.6 11.4 18 0 34.6-0.8 49.8-2.4 14.6-1.6 30-2.4 46.6-2.4 16.2 0 33.2 0.8 51.4 2.4 18.6 1.6 37 2.4 55 2.4 4.4 0 6.4-3.8 6.4-11.4s-1.2-11.2-4-11.2c-36.2-2.4-54.2-12.8-54.2-30.8 0-8 4.2-20.6 12.6-37.6l58.6-119 58.4 108.8c8 15.4 12.2 28.4 12.2 38.8 0 24.8-18 38-54.2 39.6-3.2 0-4.8 3.8-4.8 11.2 0 2.8 0.8 5.2 2.4 7.6s3.2 3.6 4.8 3.6c13 0 28.8-0.8 47.8-2.4 18-1.6 33-2.4 44.6-2.4 8.4 0 20.6 0.8 36.8 2 20.4 1.8 37.6 2.8 51.4 2.8 3.2 0 4.8-3.2 4.8-9.6 0-8.6-3-13-8.8-13-21-2.2-38-8-50.8-17.4s-28.8-30.8-48-64.4l-78.2-143.2 105.2-214.4 155.4 361.4c5.4 13.2 8 25.4 8 36.4 0 26.4-18 40.4-54.2 42.2-3.2 0-4.8 3.8-4.8 11.2 0 7.6 2.4 11.4 7.2 11.4 13.2 0 28.8-0.8 47-2.4 16.8-1.6 30.8-2.4 42-2.4 12 0 25.6 0.8 41.2 2.4 16.2 1.6 30.8 2.4 43.8 2.4 4 0 6-3.2 6-9.6z" /> +<glyph unicode="" glyph-name="tasks" d="M585.143 146.286h365.714v73.143h-365.714v-73.143zM365.714 438.857h585.143v73.143h-585.143v-73.143zM731.429 731.428h219.429v73.143h-219.429v-73.143zM1024 256v-146.286c0-20-16.571-36.571-36.571-36.571h-950.857c-20 0-36.571 16.571-36.571 36.571v146.286c0 20 16.571 36.571 36.571 36.571h950.857c20 0 36.571-16.571 36.571-36.571zM1024 548.571v-146.286c0-20-16.571-36.571-36.571-36.571h-950.857c-20 0-36.571 16.571-36.571 36.571v146.286c0 20 16.571 36.571 36.571 36.571h950.857c20 0 36.571-16.571 36.571-36.571zM1024 841.143v-146.286c0-20-16.571-36.571-36.571-36.571h-950.857c-20 0-36.571 16.571-36.571 36.571v146.286c0 20 16.571 36.571 36.571 36.571h950.857c20 0 36.571-16.571 36.571-36.571z" /> +<glyph unicode="" glyph-name="app" d="M372.342 960h-279.257c-51.383-0.067-93.019-41.703-93.086-93.079v-279.263c0.067-51.383 41.703-93.019 93.079-93.086h279.263c51.383 0.067 93.019 41.703 93.086 93.079v279.263c-0.067 51.383-41.703 93.019-93.079 93.086h-0.006zM930.856 960h-279.257c-51.383-0.067-93.019-41.703-93.086-93.079v-279.263c0.067-51.383 41.703-93.019 93.079-93.086h279.263c51.383 0.067 93.019 41.703 93.086 93.079v279.263c-0.067 51.383-41.703 93.019-93.079 93.086h-0.006zM372.342 401.487h-279.257c-51.383-0.067-93.019-41.703-93.086-93.079v-279.263c0.067-51.383 41.703-93.019 93.079-93.086h279.263c51.383 0.067 93.019 41.703 93.086 93.079v279.263c-0.067 51.383-41.703 93.019-93.079 93.086h-0.006zM907.584 215.315h-69.814v69.814c0 12.95-10.498 23.447-23.447 23.447v0h-46.543c-12.95 0-23.447-10.498-23.447-23.447v0-69.814h-69.814c-12.95 0-23.447-10.498-23.447-23.447v0-46.543c0-12.95 10.498-23.447 23.447-23.447v0h69.814v-69.814c0-12.95 10.498-23.447 23.447-23.447v0h46.543c12.95 0 23.447 10.498 23.447 23.447v0 69.814h69.814c12.95 0 23.447 10.498 23.447 23.447v0 46.543c0 12.95-10.498 23.447-23.447 23.447v0z" /> +<glyph unicode="" glyph-name="download" d="M1024-15.93c0-0.072 0.001-0.157 0.001-0.243 0-26.377-21.382-47.759-47.759-47.759-0.085 0-0.171 0-0.256 0.001h-927.985c-0.062 0-0.135 0-0.208 0-26.396 0-47.794 21.398-47.794 47.794 0 0.073 0 0.146 0 0.219v-0.011 224.028c0 0.062 0 0.135 0 0.208 0 26.396 21.398 47.794 47.794 47.794 0.073 0 0.146 0 0.219 0h293.944l98.008-98.008c18.379-18.531 43.851-30.003 72.002-30.003s53.623 11.472 71.995 29.996l98.015 98.015h293.955c0.072 0 0.157 0.001 0.243 0.001 26.377 0 47.759-21.382 47.759-47.759 0-0.085 0-0.171-0.001-0.256v0.013zM592.025 960.069c0.062 0 0.135 0 0.208 0 26.396 0 47.794-21.398 47.794-47.794 0-0.073 0-0.146 0-0.219v0.011-336.008h175.992c0.495 0.024 1.075 0.038 1.658 0.038 15.98 0 29.533-10.392 34.27-24.787l0.073-0.255c2.343-4.704 3.714-10.247 3.714-16.109 0-10.613-4.493-20.177-11.681-26.892l-0.021-0.020-304.018-303.984c-7.056-7.397-16.988-11.996-27.995-11.996s-20.939 4.599-27.98 11.981l-0.014 0.015-304.018 303.984c-7.209 6.735-11.702 16.299-11.702 26.912 0 5.862 1.371 11.405 3.81 16.324l-0.096-0.215c4.809 14.65 18.362 25.042 34.343 25.042 0.583 0 1.163-0.014 1.74-0.041l-0.081 0.003h175.992v336.008c0 0.062 0 0.135 0 0.208 0 26.396 21.398 47.794 47.794 47.794 0.073 0 0.146 0 0.219 0h-0.011zM764.006 60.049c-6.923 6.602-16.319 10.665-26.663 10.665-21.353 0-38.664-17.31-38.664-38.664s17.31-38.664 38.664-38.664c21.349 0 38.656 17.303 38.664 38.65v0.001c0 0.035 0 0.076 0 0.117 0 10.976-4.603 20.878-11.983 27.879l-0.017 0.016zM891.962 60.049c-6.923 6.602-16.319 10.665-26.663 10.665-21.353 0-38.664-17.31-38.664-38.664s17.31-38.664 38.664-38.664c21.349 0 38.656 17.303 38.664 38.65v0.001c0 0.049 0 0.107 0 0.164 0 10.955-4.589 20.838-11.95 27.832l-0.016 0.016z" /> +<glyph unicode="" glyph-name="check" horiz-adv-x="1379" d="M1226.070 957.402c5.96 5.858-9.882 0 0 0s43.042 5.858 50.938 0l50.938-101.875c7.997-5.96 50.938 9.882 50.938 0s-42.94-42.991-50.938-50.938l-865.94-865.94c-5.909-5.858-41.056 0-50.938 0s7.946-5.858 0 0l-407.501 356.564c-7.946 5.858 0 41.056 0 50.938s0 0 0 0l101.875 101.875c0 0-9.882 0 0 0s45.029 7.946 50.938 0l254.688-305.626z" /> +<glyph unicode="" glyph-name="thincross" horiz-adv-x="975" d="M585.060 472.45l388.099-388.099c5.821-7.81 0-38.81 0-48.512s5.821 5.821 0 0l-48.512-97.025c-5.821-5.821-38.81 0-48.512 0s7.81-5.821 0 0l-388.099 388.099-388.099-388.099c-7.908-5.821 9.702 0 0 0s-42.691-5.821-48.512 0l-48.512 97.025c-5.919 5.821 0-9.702 0 0s-5.919 40.702 0 48.512l388.099 388.099-388.099 339.587c-5.919 7.908 0 38.81 0 48.512s-5.919-5.821 0 0l48.512 97.025c5.821 5.919 38.81 0 48.512 0s-7.908 5.919 0 0l388.099-388.099 388.099 388.099c7.81 5.919-9.702 0 0 0s42.691 5.919 48.512 0l48.512-97.025c5.821-5.821 0 9.702 0 0s5.821-40.605 0-48.512z" /> +</font></defs></svg> diff --git a/elections2021/static/elections2021/pdf/font/pirati-ui.ttf b/elections2021/static/elections2021/pdf/font/pirati-ui.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3f117073818b8f5b40ce042a83de9afdf3454c3e Binary files /dev/null and b/elections2021/static/elections2021/pdf/font/pirati-ui.ttf differ diff --git a/elections2021/static/elections2021/pdf/font/pirati-ui.woff b/elections2021/static/elections2021/pdf/font/pirati-ui.woff new file mode 100644 index 0000000000000000000000000000000000000000..6e7085f590cd0d66361cb08389301185d5580297 Binary files /dev/null and b/elections2021/static/elections2021/pdf/font/pirati-ui.woff differ diff --git a/elections2021/static/elections2021/pdf/img/benefits/1.jpg b/elections2021/static/elections2021/pdf/img/benefits/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..845222887107333c684ae2a04fa11e9855d4bd57 Binary files /dev/null and b/elections2021/static/elections2021/pdf/img/benefits/1.jpg differ diff --git a/elections2021/static/elections2021/pdf/img/benefits/10.jpg b/elections2021/static/elections2021/pdf/img/benefits/10.jpg new file mode 100644 index 0000000000000000000000000000000000000000..53186f6802a5eab05a8008759f77ada79a59f8ef Binary files /dev/null and b/elections2021/static/elections2021/pdf/img/benefits/10.jpg differ diff --git a/elections2021/static/elections2021/pdf/img/benefits/11.jpg b/elections2021/static/elections2021/pdf/img/benefits/11.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8fa6d81053ccb5e62ebeea38f9060bc65460be36 Binary files /dev/null and b/elections2021/static/elections2021/pdf/img/benefits/11.jpg differ diff --git a/elections2021/static/elections2021/pdf/img/benefits/12.jpg b/elections2021/static/elections2021/pdf/img/benefits/12.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4f7d5afb5d7d9ba6507b8f814476dbd408904965 Binary files /dev/null and b/elections2021/static/elections2021/pdf/img/benefits/12.jpg differ diff --git a/elections2021/static/elections2021/pdf/img/benefits/13.jpg b/elections2021/static/elections2021/pdf/img/benefits/13.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dcfab0d9e23b969c0467b8362be652c14e7d968c Binary files /dev/null and b/elections2021/static/elections2021/pdf/img/benefits/13.jpg differ diff --git a/elections2021/static/elections2021/pdf/img/benefits/2.jpg b/elections2021/static/elections2021/pdf/img/benefits/2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8c3ffa2a65182917ff84f7baa5433c337316ef3c Binary files /dev/null and b/elections2021/static/elections2021/pdf/img/benefits/2.jpg differ diff --git a/elections2021/static/elections2021/pdf/img/benefits/3.jpg b/elections2021/static/elections2021/pdf/img/benefits/3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ca6465d03c95686b7bb1d7fb07cbabc80e0765c0 Binary files /dev/null and b/elections2021/static/elections2021/pdf/img/benefits/3.jpg differ diff --git a/elections2021/static/elections2021/pdf/img/benefits/4.jpg b/elections2021/static/elections2021/pdf/img/benefits/4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6cb168763f7949caec68e510ccef7503dedf395d Binary files /dev/null and b/elections2021/static/elections2021/pdf/img/benefits/4.jpg differ diff --git a/elections2021/static/elections2021/pdf/img/benefits/5.jpg b/elections2021/static/elections2021/pdf/img/benefits/5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ea7901322243212484e1ed72591ad4a01b36638a Binary files /dev/null and b/elections2021/static/elections2021/pdf/img/benefits/5.jpg differ diff --git a/elections2021/static/elections2021/pdf/img/benefits/6.jpg b/elections2021/static/elections2021/pdf/img/benefits/6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ad83602149e1658df1bf8872922b6e68fe04cc39 Binary files /dev/null and b/elections2021/static/elections2021/pdf/img/benefits/6.jpg differ diff --git a/elections2021/static/elections2021/pdf/img/benefits/7.jpg b/elections2021/static/elections2021/pdf/img/benefits/7.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1fa59a4e28d5aecd987bfaa84b4cd964716a1f95 Binary files /dev/null and b/elections2021/static/elections2021/pdf/img/benefits/7.jpg differ diff --git a/elections2021/static/elections2021/pdf/img/benefits/8.jpg b/elections2021/static/elections2021/pdf/img/benefits/8.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e92045a340db0fcf55e704127dd1e6b5b7b4fac8 Binary files /dev/null and b/elections2021/static/elections2021/pdf/img/benefits/8.jpg differ diff --git a/elections2021/static/elections2021/pdf/img/benefits/9.jpg b/elections2021/static/elections2021/pdf/img/benefits/9.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e30bcfa9b33625973ed6cb391897bffe0620f25b Binary files /dev/null and b/elections2021/static/elections2021/pdf/img/benefits/9.jpg differ diff --git a/elections2021/static/elections2021/pdf/img/cross.svg b/elections2021/static/elections2021/pdf/img/cross.svg new file mode 100644 index 0000000000000000000000000000000000000000..8ef3c1fd1c512f61c71861dc91a6092896c84b04 --- /dev/null +++ b/elections2021/static/elections2021/pdf/img/cross.svg @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + id="svg2416" + version="1.1" + viewBox="0 0 30.961092 30.961096" + height="30.961096mm" + width="30.961092mm" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + <defs + id="defs2410" /> + <metadata + id="metadata2413"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + transform="translate(-140.67127,-64.93764)" + id="layer1"> + <path + id="path1761" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.0846635" + d="m 161.26041,80.419181 9.57824,-9.578236 c 1.05829,-1.058296 1.05829,-2.774057 0,-3.830699 l -1.2769,-1.2769 c -1.05863,-1.058626 -2.77439,-1.058626 -3.83103,0 l -9.57791,9.577905 -9.57823,-9.579889 c -1.0583,-1.058296 -2.77406,-1.058296 -3.8307,0 l -1.27888,1.276899 c -1.0583,1.058627 -1.0583,2.774388 0,3.83103 l 9.57988,9.57989 -9.5779,9.577904 c -1.05863,1.058627 -1.05863,2.774388 0,3.831031 l 1.2769,1.276898 c 1.05829,1.058296 2.77406,1.058296 3.8307,0 l 9.57823,-9.578235 9.57791,9.578235 c 1.05863,1.058296 2.77439,1.058296 3.83103,0 l 1.2769,-1.276898 c 1.05829,-1.058627 1.05829,-2.774389 0,-3.831031 z" /> + </g> +</svg> diff --git a/elections2021/static/elections2021/pdf/img/greentick.svg b/elections2021/static/elections2021/pdf/img/greentick.svg new file mode 100644 index 0000000000000000000000000000000000000000..1339ec6098f07cad72656049e2c09b14a6eed83f --- /dev/null +++ b/elections2021/static/elections2021/pdf/img/greentick.svg @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + id="svg716" + version="1.1" + viewBox="0 0 7.8807473 6.190033" + height="6.190033mm" + width="7.8807473mm" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + <defs + id="defs710" /> + <metadata + id="metadata713"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + transform="translate(54.689716,33.544622)" + id="layer1"> + <g + id="g246" + transform="matrix(0.08466362,0,0,0.08466362,-93.722452,-49.869496)"> + <path + d="m 543.9502,193.0015 c 0.41418,-0.40744 2.62329,0 3.30682,0 0.6839,0 -0.54572,-0.40744 0,0 l 6.61377,6.61375 c 0.55218,0.41425 0,-0.68379 0,0 0,0.68361 0.55218,2.75488 0,3.3069 l -59.52356,62.83038 c -0.4079,0.40757 -2.62302,0 -3.30689,0 -0.68344,0 0.55216,0.40757 0,0 l -29.76178,-29.76181 c -0.55215,-0.40751 0,0.68367 0,0 0,-0.68365 -0.55215,-2.76127 0,-3.30679 l 6.77341,-4.80899 c 0.54566,-0.55214 2.7395,0.94995 3.14728,1.5021 l 19.84109,19.84121 z" + style="fill:#adc90e;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path248" /> + </g> + </g> +</svg> diff --git a/elections2021/static/elections2021/pdf/img/logo-koalicni.svg b/elections2021/static/elections2021/pdf/img/logo-koalicni.svg new file mode 100644 index 0000000000000000000000000000000000000000..82acbda133704779bb4dd1a9ff779689ea871412 --- /dev/null +++ b/elections2021/static/elections2021/pdf/img/logo-koalicni.svg @@ -0,0 +1,123 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + width="95.855" + height="54" + viewBox="0 0 95.855 54" + version="1.1" + id="svg123" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <defs + id="defs127" /> + <g + transform="translate(429.214 -712.274)" + id="g121"> + <path + d="M-225.381,756.58l-1.51,2.466h1.644l2.266-2.466Z" + transform="translate(-110.681 -24.238)" + fill="#fff" + id="path79" /> + <path + d="M-229.861,766.062h4.221V763.84h-6.665v15.551h6.665v-2.222h-4.221v-4.554h3.355v-2.221h-3.355Z" + transform="translate(-107.719 -28.209)" + fill="#fff" + id="path81" /> + <path + d="M-251.255,763.84h-2.465l2.4,15.551h3.643l2.4-15.551h-2.244l-1.866,12.685Z" + transform="translate(-96.004 -28.209)" + fill="#fff" + id="path83" /> + <g + transform="translate(-429.214 712.274)" + id="g119"> + <path + d="M-272.321,775.443c0,2.488,1.31,3.91,3.709,3.91s3.711-1.422,3.711-3.91v-8.086c0-2.489-1.31-3.91-3.711-3.91s-3.709,1.422-3.709,3.91Zm2.443-8.242c0-1.111.489-1.533,1.266-1.533s1.267.422,1.267,1.533v8.4c0,1.111-.489,1.533-1.267,1.533s-1.266-.422-1.266-1.533Z" + transform="translate(343.386 -740.268)" + fill="#fff" + id="path85" /> + <path + d="M-290.419,766.062h2.554v13.329h2.444V766.062h2.555V763.84h-7.553Z" + transform="translate(353.286 -740.483)" + fill="#fff" + id="path87" /> + <path + d="M-307.373,767.358c0,4.443,4.776,5.042,4.776,8.242,0,1.111-.489,1.511-1.266,1.511s-1.266-.4-1.266-1.511v-1.111h-2.311v.955c0,2.488,1.244,3.91,3.644,3.91s3.644-1.422,3.644-3.91c0-4.443-4.776-5.043-4.776-8.242,0-1.111.444-1.533,1.221-1.533s1.222.422,1.222,1.533v.645h2.311v-.489c0-2.488-1.222-3.91-3.6-3.91s-3.6,1.421-3.6,3.91" + transform="translate(362.597 -740.269)" + fill="#fff" + id="path89" /> + <path + d="M-326.293,775.443c0,2.488,1.311,3.91,3.71,3.91s3.711-1.422,3.711-3.91v-8.086c0-2.489-1.311-3.91-3.711-3.91s-3.71,1.422-3.71,3.91Zm2.444-8.242c0-1.111.489-1.533,1.266-1.533s1.266.422,1.266,1.533v8.4c0,1.111-.489,1.533-1.266,1.533s-1.266-.422-1.266-1.533Z" + transform="translate(372.911 -740.268)" + fill="#fff" + id="path91" /> + <path + d="M-342.12,766.061c.867,0,1.244.489,1.244,1.6v1.533c0,1.244-.555,1.644-1.467,1.644h-.955v-4.776Zm3.976,13.329a4.581,4.581,0,0,1-.266-1.888v-2.4c0-1.622-.4-2.8-1.622-3.31,1.088-.511,1.6-1.555,1.6-3.155v-1.222c0-2.4-1.088-3.576-3.621-3.576h-3.687v15.551h2.443v-6.331h.844c1.111,0,1.6.534,1.6,1.977v2.444a4.785,4.785,0,0,0,.222,1.911Z" + transform="translate(383.55 -740.483)" + fill="#fff" + id="path93" /> + <path + d="M-363.249,766.594l1.177,7.865h-2.354Zm1.911-2.754h-3.576l-2.488,15.551h2.243l.422-2.821h3l.422,2.821h2.466Z" + transform="translate(395.4 -740.483)" + fill="#fff" + id="path95" /> + <path + d="M-383.08,766.062h2.554v13.329h2.444V766.062h2.555V763.84h-7.553Z" + transform="translate(403.976 -740.483)" + fill="#fff" + id="path97" /> + <path + d="M-400.308,767.358c0,4.443,4.776,5.042,4.776,8.242,0,1.111-.489,1.511-1.266,1.511s-1.266-.4-1.266-1.511v-1.111h-2.311v.955c0,2.488,1.244,3.91,3.643,3.91s3.644-1.422,3.644-3.91c0-4.443-4.776-5.043-4.776-8.242,0-1.111.444-1.533,1.221-1.533s1.222.422,1.222,1.533v.645h2.311v-.489c0-2.488-1.222-3.91-3.6-3.91s-3.6,1.421-3.6,3.91" + transform="translate(413.438 -740.269)" + fill="#fff" + id="path99" /> + <path + d="M-425.126,764.367l2.71,10.886h-5.354Zm2.8,11.331.911,3.665h.488l-3.844-15.573h-.689l-3.754,15.573h.445l.91-3.665Z" + transform="translate(429.214 -740.456)" + fill="#fff" + id="path101" /> + <rect + width="2.444" + height="15.551" + transform="translate(51.412 3.287)" + fill="#fff" + id="rect103" /> + <path + d="M-334.777,721.753h2.555v13.33h2.444v-13.33h2.554v-2.221h-7.553Z" + transform="translate(377.552 -716.245)" + fill="#fff" + id="path105" /> + <path + d="M-348.175,712.274l-1.51,2.465h1.644l2.266-2.465Zm-.333,6.042,1.177,7.864h-2.354Zm1.911-2.755h-3.577l-2.488,15.551h2.244l.422-2.821h3l.422,2.821h2.466Z" + transform="translate(387.337 -712.274)" + fill="#fff" + id="path107" /> + <path + d="M-367.489,721.753c.866,0,1.244.489,1.244,1.6v1.533c0,1.244-.555,1.644-1.467,1.644h-.955v-4.776Zm3.976,13.33a4.582,4.582,0,0,1-.267-1.888v-2.4c0-1.622-.4-2.8-1.622-3.311,1.089-.511,1.6-1.555,1.6-3.154v-1.222c0-2.4-1.088-3.576-3.621-3.576h-3.687v15.551h2.443v-6.331h.844c1.111,0,1.6.533,1.6,1.977v2.444a4.786,4.786,0,0,0,.222,1.911Z" + transform="translate(397.428 -716.245)" + fill="#fff" + id="path109" /> + <rect + width="2.444" + height="15.551" + transform="translate(22.251 3.287)" + fill="#fff" + id="rect111" /> + <path + d="M-395.058,721.753c.777,0,1.2.356,1.2,1.467v2.333c0,1.111-.423,1.466-1.2,1.466h-1.155v-5.266Zm0-2.221h-3.6v15.551h2.444v-5.843h1.155c2.444,0,3.643-1.356,3.643-3.844v-2.021c0-2.488-1.2-3.843-3.643-3.843" + transform="translate(412.498 -716.245)" + fill="#fff" + id="path113" /> + <path + d="M-396.555,818.74a5.252,5.252,0,0,0,5.223-5.28,5.251,5.251,0,0,0-5.223-5.28,5.251,5.251,0,0,0-5.223,5.28,5.252,5.252,0,0,0,5.223,5.28" + transform="translate(414.205 -764.74)" + fill="#fff" + id="path115" /> + <rect + width="10.446" + height="10.559" + transform="translate(25.843 43.441)" + fill="#fff" + id="rect117" /> + </g> + </g> +</svg> diff --git a/elections2021/static/elections2021/pdf/img/logomini.svg b/elections2021/static/elections2021/pdf/img/logomini.svg new file mode 100644 index 0000000000000000000000000000000000000000..517898b140b00e542d4086c63eee7a47db5781ea --- /dev/null +++ b/elections2021/static/elections2021/pdf/img/logomini.svg @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + id="svg1547" + version="1.1" + viewBox="0 0 5.4863515 2.4279351" + height="2.4279351mm" + width="5.4863515mm" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + <defs + id="defs1541" /> + <metadata + id="metadata1544"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + transform="translate(44.904168,-0.34755079)" + id="layer1"> + <g + id="g72" + transform="matrix(0.08466364,0,0,0.08466364,-10.888184,-68.075879)"> + <path + d="m -387.59375,836.85706 c 7.83447,0 14.1842,-6.41993 14.1842,-14.33814 0,-7.91797 -6.34973,-14.33789 -14.1842,-14.33789 -7.83447,0 -14.1842,6.41992 -14.1842,14.33789 0,7.91821 6.34973,14.33814 14.1842,14.33814" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path74" /> + </g> + <g + id="g76" + transform="matrix(0.08466364,0,0,0.08466364,-41.819592,0.34755079)"> + <path + d="M 0,0 H 28.368444 V 28.675777 H 0 Z" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path78" /> + </g> + </g> +</svg> diff --git a/elections2021/static/elections2021/pdf/img/staticclock.svg b/elections2021/static/elections2021/pdf/img/staticclock.svg new file mode 100644 index 0000000000000000000000000000000000000000..5a3a52243be4b7f8dea4e5a15c39310683a441ef --- /dev/null +++ b/elections2021/static/elections2021/pdf/img/staticclock.svg @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + id="svg5069" + version="1.1" + viewBox="0 0 33.569122 32.595505" + height="32.595505mm" + width="33.569122mm" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + <defs + id="defs5063" /> + <metadata + id="metadata5066"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + transform="translate(-106.57538,-132.82724)" + id="layer1"> + <path + id="path4592" + style="fill:none;stroke:#4c4c4c;stroke-width:0.0846635;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 108.50147,132.86957 h 29.71694 v 32.51084 h -29.71694 z" /> + <path + id="path4596" + style="fill:#f5f5f5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.0846635" + d="m 106.63887,134.39352 h 33.44214 v 29.46294 h -33.44214 z" /> + <path + id="path4598" + style="fill:none;stroke:#4c4c4c;stroke-width:0.0846635;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 106.63887,134.39352 h 33.44214 v 29.46294 h -33.44214 z" /> + <path + id="path4608" + style="fill:none;stroke:#4c4c4c;stroke-width:0.0846635;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 106.61771,149.10382 h 33.48446 v 0.0423 h -33.48446 z" /> + </g> +</svg> diff --git a/elections2021/static/elections2021/pdf/img/tick.svg b/elections2021/static/elections2021/pdf/img/tick.svg new file mode 100644 index 0000000000000000000000000000000000000000..607c2881aba5e2242e0db65278564460dc11116f --- /dev/null +++ b/elections2021/static/elections2021/pdf/img/tick.svg @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + id="svg888" + version="1.1" + viewBox="0 0 92.029366 71.459557" + height="71.459557mm" + width="92.029366mm" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + <defs + id="defs882" /> + <metadata + id="metadata885"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + transform="translate(-58.925901,-148.49999)" + id="layer1"> + <g + id="g751-2" + transform="matrix(0.08466363,0,0,0.08466363,58.925901,148.4656)"> + <path + d="m 416.23273,828.18683 c -10.37607,10.43701 -24.53266,16.26019 -39.2381,16.26019 -14.70538,0 -28.86197,-5.82318 -39.23804,-16.26019 L 24.390425,514.76984 c -32.5205663,-32.5206 -32.5205663,-85.2547 0,-117.71433 l 39.238092,-39.24826 c 32.530731,-32.52054 85.203883,-32.52054 117.724453,0 L 376.99463,553.45911 905.64691,24.796677 c 32.53076,-32.5205692 85.2547,-32.5205692 117.72439,0 l 39.2383,39.248253 c 32.5205,32.520568 32.5205,85.24453 0,117.71429 z" + style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path753-5" /> + </g> + </g> +</svg> diff --git a/elections2021/static/elections2021/pdf/style.css b/elections2021/static/elections2021/pdf/style.css new file mode 100644 index 0000000000000000000000000000000000000000..92d180f797136c6342d4b1b47d435515cb8fa84c --- /dev/null +++ b/elections2021/static/elections2021/pdf/style.css @@ -0,0 +1,1030 @@ +/*template for exporting with WeasyPrint*/ + +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + src: url('font/Roboto-Regular.ttf') format('truetype'); +} +@font-face { + font-family: 'Roboto'; + font-weight: 600; + src: url('font/Roboto-Bold.ttf') format('truetype'); +} +@font-face { + font-family: 'Bebas Neue'; + font-style: normal; + font-weight: 400; + src: url(font/BebasNeue-Regular.ttf) format('truetype'); +} +/*@font-face { + font-family: 'pirati-ui'; + src: url('font/pirati-ui.eot?771b799f40ffd207e5b655696931496d'); + src: url('font/pirati-ui.eot?771b799f40ffd207e5b655696931496d#iefix') format('embedded-opentype'), url('font/pirati-ui.ttf?771b799f40ffd207e5b655696931496d') format('truetype'), url('font/pirati-ui.woff?771b799f40ffd207e5b655696931496d') format('woff'), url('font/pirati-ui.svg?771b799f40ffd207e5b655696931496d#pirati-ui') format('svg'); + font-weight: 400; + font-style: normal; +}*/ +@page { + size: A4; /* Change from the default size of A4 */ + margin: 14.4mm 14.2mm 20.4mm 14.2mm; /* Set margin on each page */ + + @bottom-left{ + background-color: #ffe501; + background-image: url("img/logomini.svg"); + background-repeat: no-repeat; + background-position: center; + width: 100%; + content: string(chapter); + height: 5.5mm; + text-align: left; + padding: 2.2mm 3mm 1.8mm; + box-sizing: border-box; + font-family: 'Bebas Neue', Helvetica, Arial, sans-serif; + font-size: 9pt; + letter-spacing: 0.2pt; + } + @bottom-right{ + width: 100%; + content: counter(page); + height: 5.5mm; + text-align: right; + z-index: 99; + padding: 2mm 3mm; + box-sizing: border-box; + font-size: 8pt; + font-family: 'Roboto', Arial, sans-serif; + } + +} +@page ideal{ + background-color: #ffe501; +} + + +td{ + margin: 0!important; +} +table,tr{ + border-spacing: 0!important; +} + +#chaptertitle{ + string-set: chapter content(); + font-size: 16.5mm; + line-height: 1.1; +} + +.contentsrow{ + display: flex; + width: 100%; + padding: 2mm 0; +} +.contentsrow a:first-child{ + white-space: nowrap; + text-decoration: none; +} +.contentsnum{ + text-decoration: none; +} +.contentsnum::after{ + content: target-counter(attr(href), page); +} +.contentsline{ + border-bottom:1px solid rgba(0,0,0,0.1); + width: 100%; + margin-left: 20mm;margin-right: 2mm; +} + +.static-clock{ + display: block; + padding-top: 1.5mm; + width: 33.569mm; + height: 33.569mm; + line-height: 32.069mm; + text-align: center; + background-image: url("img/staticclock.svg"); + background-position: center center; + background-repeat: no-repeat; + display: inline-block; +} +.static-clock div{ + width: 100%; + position: relative; + top: -14mm; + line-height: normal; +} + +[class^=ico--] { + /*font-family: 'pirati-ui'!important;*/ + speak: never; + font-style: normal; + font-weight: 400; + font-variant: normal; + text-transform: none; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.ico--thincross:before { + content: "\e940"; +} +.ico--check:before { + content: ""; + width: 28px; + height: 34px; + background-image: url('img/greentick.svg'); + background-size: 100% auto; + background-repeat: no-repeat; +} +.ico--chevron-right:before { + content: "\e923"; +} +.ico--chevron-down:before { + content: "\e925"; +} +*, +::after, +::before { + box-sizing: border-box; +} +html{ + font-family: Roboto, Helvetica, Arial, sans-serif; + font-weight: 400; +} +body { + margin: 0; +} +b { + font-weight: bolder; +} +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -.5em; +} +button { + font-family: inherit; + font-size: 100%; + line-height: 1.15; + margin: 0; +} +button { + text-transform: none; +} +[type=button], +button { + -webkit-appearance: button; +} +blockquote, +figure, +h1, +h2, +h3, +h4, +p { + margin: 0; +} +button { + background-color: transparent; + background-image: none; +} +ol, +ul { + list-style: none; + margin: 0; + padding: 0; +} +body { + font-family: inherit; + line-height: inherit; +} +*, +::after, +::before { + box-sizing: border-box; + border-width: 0; + border-style: solid; + border-color: currentColor; +} +img { + border-style: solid; +} +button { + cursor: pointer; +} +h1, +h2, +h3, +h4 { + font-size: inherit; + font-weight: inherit; +} +a { + color: inherit; +} +button { + padding: 0; + line-height: inherit; + color: inherit; +} +img { + display: block; + vertical-align: middle; +} +img { + max-width: 100%; + height: auto; +} +.container { + width: 100%; + margin-right: auto; + margin-left: auto; +} +.btn { + display: inline-block; + text-align: center; + font-weight: 400; + max-width: 20rem; + text-decoration: none; +} +.btn__body { + display: flex; + height: 100%; + align-items: center; + justify-content: center; + padding: .75em 2em; +} +.btn__icon { + display: flex; + align-items: center; + border-left-width: 1px; + padding: 0 1rem; + border-color: #4c4c4c; +} +.btn__body, +.btn__icon { + transition-property: color, background-color, border-color; + transition-duration: .2s; + color: #fff; +} +.btn__body, +.btn__icon { + background-color: #000; +} +.btn--icon .btn__body-wrap { + display: flex; +} +.card__body { + padding: 2rem; +} +.card-headline { + /*font-family: Roboto Condensed, Helvetica, Arial, sans-serif;*/ + font-weight: 700; + font-size: 1.3rem; + line-height: 1.25; + overflow-wrap: break-word; +} +.icon-card { + background-repeat: no-repeat; + background-position: 90% 13%; + background-size: 60px; +} +.icon-card h1 { + max-width: 75%; + word-wrap: normal; +} +[data-archetype=zemedelstvi] { + background-image: url(http://localhost:3000/images/archetype/zemedelstvi.svg); +} +.accordeon-row { + background-color: rgba(240, 240, 240, 1); + margin-bottom: 4mm; +} +.accordeon-row-head { + cursor: pointer; + padding: 2rem; + position: relative; +} +.accordeon-row-head .accordeon-row-heading { + margin: 0; + padding-top: 1px; +} +.accordeon-row--fadeout .accordeon-row-head { + padding-bottom: 1rem; +} +.accordeon-row--fadeout .accordeon-row-head i { + --tw-translate-y: 0px; +} +.accordeon-row-body { + line-height: 1; + overflow: hidden;/*removing this breaks fonts for some reason!*/ +} +.accordeon-row-body>div { + box-sizing: border-box; + padding-left: 2rem; + padding-right: 2rem; + padding-bottom: 2.5rem; +} +.accordeon-row.accordeon-row--fadeout .accordeon-row-body>div { + padding-top: 0; + padding-bottom: 0; +} +.accordeon-row:not(.accordeon-row--open):not(.accordeon-row--preview):not(.accordeon-row--fadeout) .accordeon-row-body { + max-height: 0!important; +} +.accordeon-row.accordeon-row--fadeout:not(.accordeon-row--open) { + position: relative; +} +.accordeon-row.accordeon-row--fadeout:not(.accordeon-row--open) .accordeon-row-body { + max-height: 220px!important; + overflow: hidden; +} +.accordeon-row.accordeon-row--fadeout:not(.accordeon-row--open) .accordeon-row-body::after { + content: ""; + background-image: linear-gradient(to top, #f0f0f0 4rem, rgba(240, 240, 240, 0) 220px); + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: inherit; +} +.accordeon-row.accordeon-row--fadeout:not(.accordeon-row--open) .btn { + display: block; +} +.container-collapsible:not(.container-collapsible-open) .container-collapsible-content { + overflow: hidden; +} +.container-collapsible:not(.container-collapsible-open) .container-collapsible-content::after { + content: ""; + background-image: linear-gradient(to top, #fff 4.5rem, rgba(255, 255, 255, 0) 20rem); + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: inherit; +} +.container-collapsible:not(.container-collapsible-open) .container-collapsible-button { + transform: translateY(-50%); +} +.figure { + position: relative; +} +.figure img { + width: 100%; +} +.figure figcaption { + display: flex; + align-items: flex-end; + height: 100%; + font-size: .875rem; + line-height: 1.25; + padding-top: 1rem; + padding-bottom: 1rem; + padding-left: 1rem; + padding-right: 1rem; + position: absolute; + bottom: 0; + left: 0; + --tw-text-opacity: 1; + color: rgba(255, 255, 255, 1); + width: 100%; + z-index: 10; +} +.figure figcaption:before { + display: block; + opacity: 1; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + content: ""; + z-index: -1; + background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .8)); +} +.figure:focus figcaption:before, +.figure:hover figcaption:before { + opacity: 0; +} +.head-alt-lg { + /*font-family: Bebas Neue, Helvetica, Arial, sans-serif;*/ + font-weight: 400; + font-size: 4rem; +} +.head-alt-lg { + line-height: .96; +} +.head-alt-md { + font-family: 'Bebas Neue', Helvetica, Arial, sans-serif; + font-weight: 400; + font-size: 2.45rem; +} +.head-alt-md { + line-height: .96; +} +.head-alt-base { + font-weight: 400; + font-size: 1.875rem; +} +.head-alt-base { + line-height: .96; +} +.content-block .head-alt-sm, +.head-alt-sm { + font-family: Bebas Neue, Helvetica, Arial, sans-serif; + font-weight: 400; + font-size: 1.6rem; +} +.content-block .head-alt-sm, +.head-alt-sm { + line-height: .96; +} +.content-block .head-alt-xs, +.head-alt-xs { + /*font-family: Bebas Neue, Helvetica, Arial, sans-serif;*/ + font-weight: 400; + font-size: 1.3rem; +} +.content-block .head-alt-xs, +.head-alt-xs { + line-height: .96; +} +.head-heavy-base { + /*font-family: Roboto Condensed, Helvetica, Arial, sans-serif;*/ + font-weight: 700; + font-size: 1.875rem; + line-height: 1.25; +} +.ordered-list { + padding-left: 1rem; +} +.unordered-list li { + list-style-type: none; + position: relative; + padding-left: 1em; + font-size: 1.1rem; + line-height: 1.5rem; +} +.unordered-list li:before { + position: absolute; + left: 0; + --tw-text-opacity: 1; + color: rgba(0, 0, 0, 1); + /*font-family: 'pirati-ui';*/ + content: ""; + height: 6pt; + width: 6pt; + margin-top: 7pt !important; + background: #adc90e; +} +.ordered-list { + list-style-type: decimal; +} +.ordered-list-squared { + list-style-type: none; + margin-bottom: 5rem; + padding-left: 0; +} +.ordered-list-squared { + counter-reset: ol-counter; +} +.ordered-list-squared>li { + font-weight: 700; + font-size: 1.3rem; + line-height: 1.5rem; + counter-increment: ol-counter; +} +.ordered-list-squared>li:last-child .unordered-list-colored { + border-left-width: 0; +} +.ordered-list-squared>li:last-child .unordered-list-colored li:last-child { + margin-bottom: 0; +} +.ordered-list-squared>li::before { + display: inline-flex; + align-items: center; + justify-content: center; + font-weight: 700; + height: 10mm; + margin-right: 1.25rem; + width: 10mm; + padding-top: 2px; + /*font-family: Bebas Neue, Helvetica, Arial, sans-serif;*/ + font-weight: 400; + font-size: .8rem; + content: counter(ol-counter); + background-color: #adc90e; + color: #000; + vertical-align: top; + position: relative; + top: -2mm; + z-index: 99; +} +.ordered-list-squared .unordered-list.unordered-list-colored li:before { + margin-top: .6ex; +} +.ordered-list-squared .unordered-list-colored { + border-left-width: 1px; + font-weight: 400; + font-size: 1rem; + line-height: 1.5; + margin-left: 4.5mm; + border-color: #f5f5f5; + min-height: .5rem; + position: relative; + top: -2mm; +} +.ordered-list-squared .unordered-list-colored li { + margin-left: 12mm; + padding-left: 1.25rem; +} +.ordered-list-squared .unordered-list-colored li:first-child { + padding-top: 1mm; +} +.ordered-list-squared .unordered-list-colored li:last-child { + padding-bottom: 10mm; +} +.unordered-list-colored li { + padding-left: 2rem; +} +.unordered-list-colored li::before { + color: #adc90e; +} +.unordered-list-checks li { + line-height: 1.1; + padding-left: 2.75rem; + padding-bottom: 4mm; +} +.unordered-list-checks li { + padding-top: .65rem; +} +.unordered-list-checks li::before { + top: 0; +} +.unordered-list-checks li::before { + + content: ""; + width: 28px; + height: 34px; + background-image: url('img/greentick.svg'); + background-size: 100% auto; + background-repeat: no-repeat; + margin-top: 12pt; + background-color: transparent; +} +.content-block p, +.para { + /*font-family: Roboto, Helvetica, Arial, sans-serif;*/ + font-weight: 400; + line-height: 1.5; +} +p a { + text-decoration: underline; +} +.content-block a:not(.contact-line):not(.content-block--nostyle) sup, +.content-block a:not(.contact-line):not(.content-block--nostyle)[id^=reference], +a sup, +a[id^=reference] { + text-decoration: none; + font-size: 10pt; + /*font-weight: 600;*/ /*destroys font export*/ +} +.content-block a:not(.contact-line):not(.content-block--nostyle) sup, +.content-block a:not(.contact-line):not(.content-block--nostyle)[id^=reference], +a sup, +a[id^=reference] { + color: #adc90e; +} +.bg-acidgreen a sup { + --tw-text-opacity: 1; + color: rgba(0, 0, 0, 1); +} +.quote { + border-color: rgba(0, 0, 0, 1); + border-left-width: 2px; + line-height: 1.625; + margin-left: 1.5rem; + padding-top: .5rem; + padding-bottom: .5rem; + padding-left: 1rem; + font-style: italic; +} +.quote { + width: 80%; + max-width: 60em; +} +.quote-pirati-stan { + --tw-border-opacity: 1!important; + border-color: rgba(173, 201, 14, 1)!important; + border-left-width: 4px!important; + margin-left: 0!important; + padding-left: 1.25rem!important; +} + +.content-block h2, +.content-block h3 { + /*font-family: Roboto Condensed, Helvetica, Arial, sans-serif;*/ + font-weight: 700; + line-height: 1.25; +} +.content-block h2, +.content-block h3 { + margin-bottom: .4em; +} +.content-block h2 { + font-size: 1.6rem; +} +.content-block h3 { + font-size: 1.3rem; +} +.content-block a:not(.contact-line):not(.content-block--nostyle) { + text-decoration: underline; +} +.content-block p { + line-height: 1.5; +} +.content-block p:not(:last-child) { + margin-bottom: 1em; +} +.program-detail-benefity .card{ + display: inline-block; + width: 48%; + margin-bottom: 4mm; + vertical-align: top; + min-height: 70mm; +} + +.program-detail-benefity .card:nth-child(even){ + margin-left: 4mm; +} + +.program-detail-benefity h3{ + width: 100%; + display: inline-block; +} +.benefit { + display: inline-block; + vertical-align: top; + width: 48%; + margin-bottom: 4mm; +} +.benefit:nth-child(even){ + margin-left: 4mm; +} +.benefit img { + width: 100%; +} +.benefit .text-sm { + line-height: 20px; + margin-top: 6px; +} +.benefit .head-heavy-base { + line-height: 1.8rem; + font-size: 1.5rem; +} +.benefit .benefit-detail { + padding-left: 1rem; + padding-right: 1rem; + padding-top: 1.75rem; + padding-bottom: 1.75rem; + min-height: 70mm; +} +.problem-cross { + background-color: rgba(0, 0, 0, 1); + height: 2.5rem; + width: 2.5rem; + position: absolute; + display: flex; + justify-content: center; + align-items: center; +} + +.ideal-check { + background-color: rgba(173, 201, 14, 1); + height: 2.5rem; + width: 2.5rem; + position: absolute; + display: flex; + justify-content: center; + align-items: center; +} +.problem-inner { + padding-bottom: 2rem; + margin-left: 19px; + border-left: 2px solid #000; + padding-left: 2.75rem; + padding-top: 10px; +} +.problem-inner .accordeon-row-body>div, +.problem-inner .accordeon-row-head { + padding-left: 1rem; + padding-right: 1rem; +} +.problem-inner .text-base { + padding-right: 37px; +} +.ideal-inner { + page: ideal; + padding-bottom: 2rem; + padding-left: 37px; + padding-right: 37px; + padding-top: 20px; +} +.bg-black { + background-color: rgba(0, 0, 0, 1); +} +.bg-lemon { + background-color: #ffe501; +} +.bg-acidgreen { + background-color: #99cf16; +} +.bg-grey-125 { + background-color: rgba(240, 240, 240, 1); +} +.bg-grey-800 { + background-color: rgba(31, 31, 31, 1); +} +.border-grey-500 { + border-color: rgba(48, 49, 50, 1); +} +.block { + display: block; +} +.inline-block { + display: inline-block; +} +.flex { + display: flex; +} +.flex-col { + flex-direction: column; +} +.items-center { + align-items: center; +} +.flex-grow { + flex-grow: 1; +} +.font-alt { + font-family: Bebas Neue, Helvetica, Arial, sans-serif; +} +.font-bold { + font-weight: 700; +} +.h-full { + height: 100%; +} +.text-xs { + font-size: .75rem; +} +.text-sm { + font-size: .875rem; +} +.text-base { + font-size: 1rem; +} +.text-lg { + font-size: 1.125rem; +} +.text-xl { + font-size: 1.3rem; +} +.text-2xl { + font-size: 1.6rem; +} +.text-3xl { + font-size: 1.875rem; +} +.leading-4 { + line-height: 1rem; +} +.leading-tight { + line-height: 1.25; +} +.leading-loose { + line-height: 2; +} +.mx-auto { + margin-left: auto; + margin-right: auto; +} +.mb-0 { + margin-bottom: 0; +} +.mt-1 { + margin-top: .25rem; +} +.mb-3 { + margin-bottom: .75rem; +} +.mb-4 { + margin-bottom: 1rem; +} +.mt-8 { + margin-top: 2rem; +} +.mb-8 { + margin-bottom: 2rem; +} +.mt-9 { + margin-top: 2.25rem; +} +.mb-9 { + margin-bottom: 2.25rem; +} +.mt-10 { + margin-top: 2.5rem; +} +.mb-10 { + margin-bottom: 2.5rem; +} +.mb-16 { + margin-bottom: 4rem; +} +.mt-20 { + margin-top: 5rem; +} +.mb-20 { + margin-bottom: 5rem; +} +.mt-24 { + margin-top: 6rem; +} +.max-w-2xl { + max-width: 42rem; +} +.py-4 { + padding-top: 1rem; + padding-bottom: 1rem; +} +.px-4 { + padding-left: 1rem; + padding-right: 1rem; +} +.py-8 { + padding-top: 2rem; + padding-bottom: 2rem; +} +.px-8 { + padding-left: 2rem; + padding-right: 2rem; +} +.py-10 { + padding-top: 2.5rem; + padding-bottom: 2.5rem; +} +.pt-4 { + padding-top: 1rem; +} +.pr-8 { + padding-right: 2rem; +} +.pb-8 { + padding-bottom: 2rem; +} +.pl-11 { + padding-left: 2.75rem; +} +.pb-20 { + padding-bottom: 5rem; +} +.absolute { + position: absolute; +} +.relative { + position: relative; +} +.bottom-8 { + bottom: 2rem; +} +.left-8 { + left: 2rem; +} +.-bottom-20 { + bottom: -5rem; +} +* { + --tw-shadow: 0 0 #0000; +} +* { + --tw-ring-inset: var(--tw-empty, ); + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgba(59, 130, 246, 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; +} +.text-center { + text-align: center; +} +.text-black { + --tw-text-opacity: 1; + color: rgba(0, 0, 0, 1); +} +.text-white { + --tw-text-opacity: 1; + color: rgba(255, 255, 255, 1); +} +.text-acidgreen { + --tw-text-opacity: 1; + color: rgba(173, 201, 14, 1); +} +.text-fxactivecolor { + --tw-text-opacity: 1; + color: rgba(173, 201, 14, 1); +} +.underline { + text-decoration: underline; +} +.hover\:no-underline:hover { + text-decoration: none; +} +.align-top { + vertical-align: top; +} +.w-9 { + width: 2.25rem; +} +.w-full { + width: 100%; +} +body { + font-weight: 400; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + font-size: 1rem; +} + +.source .inline-block { + display: inline; +} + + +/*! CSS Used from: http://localhost:3000/styleguide/css/styleguide.min.css?1623160844365 ; media=all */ + +@media all { + * { + -webkit-box-sizing: border-box; + box-sizing: border-box; + } +} + + + + + +/*! CSS Used fontfaces */ +/* +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 300; + src: url(https://fonts.gstatic.com/s/roboto/v27/KFOjCnqEu92Fr1Mu51TjASc3CsTKlA.woff2) format('woff2'); +} +*/ +/* + +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + src: url(https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2) format('woff2'); +} + + +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + src: url(https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2) format('woff2'); +} + +@font-face { + font-family: 'Roboto Condensed'; + font-style: normal; + font-weight: 300; + src: url(https://fonts.gstatic.com/s/robotocondensed/v19/ieVi2ZhZI2eCN5jzbjEETS9weq8-33mZGCkYb8td.woff2) format('woff2'); +} + + +@font-face { + font-family: 'Roboto Condensed'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/robotocondensed/v19/ieVl2ZhZI2eCN5jzbjEETS9weq8-19-7DRs5.woff2) format('woff2'); +} + + +@font-face { + font-family: 'Roboto Condensed'; + font-style: normal; + font-weight: 700; + src: url(https://fonts.gstatic.com/s/robotocondensed/v19/ieVi2ZhZI2eCN5jzbjEETS9weq8-32meGCkYb8td.woff2) format('woff2'); +} +*/ diff --git a/elections2021/templates/elections2021/export_program_fancy.html b/elections2021/templates/elections2021/export_program_fancy.html new file mode 100644 index 0000000000000000000000000000000000000000..183cf25ae21bb3690fb949fca8ef890541e9ff47 --- /dev/null +++ b/elections2021/templates/elections2021/export_program_fancy.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html class="" lang="cs"> +<head> + <title>Program koalice Piráti a Starostové</title> + <meta charset="UTF-8"> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> + <meta name="viewport" content="width=device-width" /> +</head> +<body> + +{# two empty pages which will be replaced by beginning.pdf #} + +<div style="page-break-after: always;"> </div> +<div style="page-break-after: always;"> </div> + +{% for point in points %} + {{ point|safe }} +{% endfor %} + +</body> +</html> diff --git a/elections2021/templates/elections2021/export_program_point_fancy.html b/elections2021/templates/elections2021/export_program_point_fancy.html new file mode 100644 index 0000000000000000000000000000000000000000..6f84f545d70843feb699824ab6f44900212bfd41 --- /dev/null +++ b/elections2021/templates/elections2021/export_program_point_fancy.html @@ -0,0 +1,216 @@ +{% load wagtailcore_tags elections2021_extras %} +<div> + <div class="w-full"> + <div> + <table style="width:100%" cellpadding="0" cellspacing="0"> + <tr> + <td class="px-8 py-8 bg-lemon" rowspan="2" style="width:120mm;"> + <h1 id="chaptertitle" class="head-alt-md md:head-alt-lg" style="font-family: 'Bebas Neue';">{{ page.title }}</h1> + </td> + <td class="px-4 bg-acidgreen" style="font-family: 'Bebas Neue';padding-top: 6.5mm;padding-bottom: 5.5mm;font-size: 14pt;">2021</td> + </tr> + <tr> + <td class="px-4 py-4 text-center" style="background: #000;"><img src="file://./img/logo-koalicni.svg" style="height: 17mm;margin:0 auto;" /></td> + </tr> + </table> + <h2 class="head-alt-sm md:head-alt-md mb-20 mt-9" style="font-size:40pt; line-height: 1.3;"> + {{ page.annotation|richtext|format_sources }} + </h2> + </div> + + <div class="px-4 py-4 bg-acidgreen" style="display:inline-block;"> + <div style="font-family: 'Bebas Neue';">Obsah</div> + </div> + <div style="padding-left: 2rem;border-left:1px solid #ccc;"> + <br><br> + + <div class="contentsrow"> + <a href="#takhle-to-dal-nejde">Takhle to dál nejde</a> + <div class="contentsline"></div> + <a class="contentsnum" href="#takhle-to-dal-nejde"></a> + </div> + <div class="contentsrow"> + <a href="#v-cem-je-problem">V čem je problém</a> + <div class="contentsline"></div> + <a class="contentsnum" href="#v-cem-je-problem"></a> + </div> + <div class="contentsrow"> + <a href="#nase-vize">Naše vize</a> + <div class="contentsline"></div> + <a class="contentsnum" href="#nase-vize"></a> + </div> + <div class="contentsrow"> + <a href="#jak-to-chceme-udelat">Jak to chceme udělat?</a> + <div class="contentsline"></div> + <a class="contentsnum" href="#jak-to-chceme-udelat"></a> + </div> + <div class="contentsrow"> + <a href="#kolik-potrebujeme-casu">Kolik na to chceme času?</a> + <div class="contentsline"></div> + <a class="contentsnum" href="#kolik-potrebujeme-casu"></a> + </div> + <div class="contentsrow"> + <a href="#co-to-prinese">Pro koho to chceme hlavně</a> + <div class="contentsline"></div> + <a class="contentsnum" href="#co-to-prinese"></a> + </div> + <div class="contentsrow"> + <a href="#co-jsme-uz-odpracovali">Co pro to už děláme</a> + <div class="contentsline"></div> + <a class="contentsnum" href="#co-jsme-uz-odpracovali"></a> + </div> + <div class="contentsrow"> + <a href="#casto-kladene-otazky">Na co se nás často ptáte</a> + <div class="contentsline"></div> + <a class="contentsnum" href="#casto-kladene-otazky"></a> + </div> + <div class="contentsrow"> + <a href="#zdroje">Klidně si to ověřte</a> + <div class="contentsline"></div> + <a class="contentsnum" href="#zdroje"></a> + </div> + + </div> + </div> +</div> + +<!--page problem --> +<div style="page-break-before: always;"> + <div class="problem-pack"> + <section id="takhle-to-dal-nejde" class="program-detail-problem-solution mb-20"> + <img src="file://./img/cross.svg" style="margin-bottom: 16mm;" /> + <div class="content-block"> + <h2 class="head-alt-sm md:head-alt-md mb-9" style="font-size:30pt;">Takhle to dál nejde</h2> + <p class="text-base mb-8 para" style="font-size: 17pt;line-height: 1.2;"> + {{ page.problem|richtext|format_sources }} + </p> + <div id="v-cem-je-problem"> + <div class="accordeon-row accordeon-row--open h-full"> + <div class="accordeon-row-head"> + <h3 class="accordeon-row-heading head-alt-xs mb-0 font-alt" style="font-size:19pt;">V čem je problém</h3> + </div> + <div class="accordeon-row-body accordeon-row-body--fadeout"> + <div> + {{ page.context|richtext|format_sources }} + </div> + </div> + </div> + </div> + </div> + </section> + </div> +</div> + +<!--page ideál --> +<div id="nase-vize" style="page-break-before: always;"> + <div class="problem-pack"> + <section class="program-detail-problem-solution mb-20"> + <div class="ideal-inner content-block text-center"> + <h2 class="head-alt-sm md:head-alt-md mb-9" style="margin-top:50mm; font-size: 36pt;">Ideál</h2> + <div class="font-alt" style="font-size: 20pt; max-width: 160mm; margin-left:auto; margin-right: auto;"> + {{ page.ideal|richtext|format_sources }} + </div> + </div> + </section> + <img src="file://./img/tick.svg" style="display:block;margin: 0 auto;"> + </div> +</div> + +<!--page opatreni--> +<div style="page-break-before: always;"> + <h3 id="jak-to-chceme-udelat" class="head-alt-md mb-8 leading-tight">Jak to chceme udělat?</h3> + <div class="content-block"> + {{ page.proposal|richtext|format_sources|style_h4 }} + </div> + + <div id="kolik-potrebujeme-casu" class="grid grid-cols-1 gap-8 mt-20"> + {% if page.time_horizon_number %} + <table class="bg-grey-125 text-black px-8 py-4 lg:px-10 countdown-small" style="width:100%;"> + <tr> + <td style="text-align:left;"> + <h1 class="head-alt-sm flex-grow lg:text-left mb-0 mt-1 text-left" style="font-size:30pt">Kolik na to chceme času?</h1> + </td> + <td style="text-align:right;"> + <div class="static-clock"> + <span class="font-alt" style="font-size:46pt;">{{ page.time_horizon_number }}</span> + <div class="font-alt" style="font-size:16pt;">{{ page.time_horizon_unit }}</div> + </div> + </td> + </tr> + </table> + {% endif %} + {% if page.time_horizon_text %} + <div class="card shadow-none bg-grey-125" style="margin-top: 4mm;"> + <div class="card__body"> + <h1 class="card-headline mb-8 head-alt-sm">Kolik na to chceme času?</h1> + <div class="card-body-text para"> + {{ page.time_horizon_text|richtext|format_sources }} + </div> + </div> + </div> + {% endif %} + </div> +</div> + +<!--page benefity--> +<div style="page-break-before: always;"> + <div class="program-detail-benefity"> + <h3 id="co-to-prinese" class="head-alt-base mb-8 font-alt" style="font-size:30pt;">Pro koho to chceme hlavně</h3><br> + {% for block in page.benefits_main %} + <div class="benefit"> + <img src="file://./img/benefits/{{ block.value.variant }}.jpg" /> + <div class="benefit-detail bg-acidgreen"> + <p class="head-heavy-base w-full mb-4">{{ benefits_titles|dictitem:block.value.variant }}</p> + <div class="content-block"> + {{ block.value.text|richtext|format_sources }} + </div> + </div> + </div> + {% endfor %} + </div> + <div class="program-detail-benefity"> + {% for block in page.benefits %} + <div class="card shadow-none bg-acidgreen text-black card--hoveractive"> + <div class="card__body"> + <h1 class="card-headline mb-4">{{ block.value.title }}</h1> + <div class="card-body-text content-block"> + {{ block.value.text|richtext|format_sources }} + </div> + </div> + </div> + {% endfor %} + </div> +</div> + +<!--page starting with quote--> +<div style="page-break-before: always;"> + {% if page.benefit_for_all %} + <h3 class="head-alt-lg mb-20 text-3xl md:text-5xl leading-tight font-alt" style="font-size:30pt;">{{ page.benefit_for_all|richtext|format_sources }}</h3> + {% endif %} + <h3 id="co-jsme-uz-odpracovali" class="head-alt-base mb-10 font-alt" style="font-size:30pt;">Co pro to už děláme</h3> + <div class="content-block"> + {{ page.already_done|richtext|format_sources|style_h4 }} + </div> +</div> + +<div style="page-break-before: always;"> + <h3 id="casto-kladene-otazky" class="head-alt-base mb-8 mt-8 font-alt" style="font-size:30pt;">Na co se nás často ptáte</h3> + {% for block in page.faq %} + <div class="accordeon-row accordeon-row--open"> + <div class="accordeon-row-head"> + <h3 class="accordeon-row-heading head-alt-xs font-alt" style="font-size:19pt;">{{ block.value.question }}</h3> + </div> + <div class="accordeon-row-body accordeon-row-body--classic content-block"> + <div>{{ block.value.answer|richtext|format_sources }}</div> + </div> + </div> + {% endfor %} +</div> + +<!--page zdroje --> +<div style="page-break-before: always; page-break-after: always;"> + <h3 id="zdroje" class="head-alt-base mb-8 mt-8 font-alt" style="font-size:30pt;">Klidně si to ověřte</h3> + <div class="content-block text-sm"> + {{ page.sources|richtext|format_sources_block }} + </div> +</div> diff --git a/requirements/base.in b/requirements/base.in index 06c40912da5b0a0949bf088f6977efd2668ca0f0..56e150c268a4367e217df9e23eeb8e826b931b41 100644 --- a/requirements/base.in +++ b/requirements/base.in @@ -19,3 +19,4 @@ beautifulsoup4 bleach ipython weasyprint +pypdf2 diff --git a/requirements/base.txt b/requirements/base.txt index 9e96671d35d62edae090d951215a689d873e263e..34da3a6dadfd962519ab55b5415367b9b6efc437 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -139,9 +139,9 @@ pillow==8.2.0 # weasyprint pirates==0.5.0 # via -r base.in -prompt-toolkit==3.0.18 +prompt-toolkit==3.0.19 # via ipython -psycopg2-binary==2.8.6 +psycopg2-binary==2.9.1 # via -r base.in ptyprocess==0.7.0 # via pexpect @@ -153,6 +153,8 @@ pyopenssl==20.0.1 # via josepy pyparsing==2.4.7 # via packaging +pypdf2==1.26.0 + # via -r base.in pyphen==0.10.0 # via weasyprint python-dateutil==2.8.1 @@ -208,7 +210,7 @@ urllib3==1.26.5 # sentry-sdk wagtail-metadata==3.4.0 # via -r base.in -wagtail==2.13.1 +wagtail==2.13.2 # via # -r base.in # wagtail-metadata diff --git a/requirements/dev.txt b/requirements/dev.txt index 71c8604e8a8f4f951c4713737fa1aadcf3273684..f94834f9fdc1ff1d27b66cd7264eecc15d81e9f2 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -10,7 +10,7 @@ coverage==5.5 # via pytest-cov factory-boy==3.2.0 # via pytest-factoryboy -faker==8.6.0 +faker==8.8.1 # via factory-boy fastdiff==0.3.0 # via snapshottest