#13 add website generation
Merged 3 years ago by jibecfed. Opened 3 years ago by jibecfed.

file modified
+2
@@ -1,4 +1,6 @@ 

  venv/

  srpms/

  results/

+ website/content/*

+ website/public/

  srpms_*.lst

file modified
+11 -8
@@ -45,10 +45,7 @@ 

          error_file = os.path.join(dest_folder, "stats.errors.txt")

  

          if os.path.isfile(stats_file):

-             os.remove(stats_file)

- 

-         if os.path.isfile(error_file):

-             os.remove(error_file)

+             continue

  

          for discover in discoveries:

              files = glob.glob(os.path.join(src_folder, discover["filemask"]))
@@ -83,9 +80,6 @@ 

      count = 0

  

      dest_folder = languages_stats_folder

-     if os.path.isdir(dest_folder):

-         shutil.rmtree(dest_folder)

-     os.makedirs(dest_folder)

  

      for language in sorted(languages):

          count += 1
@@ -98,6 +92,9 @@ 

          stats_file = os.path.join(dest_folder, lang + ".stats.csv")

          error_file = os.path.join(dest_folder, lang + ".stats.errors.txt")

  

+         if os.path.isfile(stats_file):

+             continue

+ 

          files = discoveries.get("po", [])

          if files:

              get_po_translation_level(files, stats_file, error_file)
@@ -108,8 +105,14 @@ 

  

      with open(stats_file, 'a') as stats:

          with open(error_file, 'a') as error:

-             subprocess.run(["pocount", "--csv"] + files,

+             try:

+                 subprocess.run(["pocount", "--csv"] + files,

                             stdout=stats, stderr=error, check=True)

+             except subprocess.CalledProcessError as e:

+                 print(" Pocount --csv failed.")

+                 print(e)

+                 print(files)

+                 exit()

  

  

  def get_json_translation_level(files, template, stats_file, error_file):

file added
+245
@@ -0,0 +1,245 @@ 

+ #!/usr/bin/env python3

+ """Consolidate each po files into compendium"""

+ 

+ import argparse

+ import jinja2

+ import json

+ import os

+ import pandas as pd

+ import shutil

+ 

+ 

+ def main():

+     """Handle params"""

+ 

+     parser = argparse.ArgumentParser(

+         description="")

+ 

+     parser.add_argument("--release", required=True, type=int, default=31,

+                         choices=[30, 31, 32],

+                         help="Provide the Fedora release to analyze")

+ 

+     args = parser.parse_args()

+ 

+     release_folder = "./results/f{v}/".format(v=args.release)

+     langs_log = os.path.join(release_folder, "build_language_list.log")

+     langs_stats = os.path.join(release_folder, "languages-stats")

+     packages_stats = os.path.join(release_folder, "packages-stats")

+ 

+     data_folder = os.path.join(release_folder, "website", "data")

+     data_langs_folder = os.path.join(data_folder, "languages")

+     data_pkgs_folder = os.path.join(data_folder, "packages")

+ 

+     static_folder = "./website/content/f{v}/".format(v=args.release)

+     static_langs_folder = os.path.join(static_folder, "language")

+     static_pkgs_folder = os.path.join(static_folder, "package")

+ 

+     # clean destination folders

+     for folder in [data_langs_folder, data_pkgs_folder, static_langs_folder, static_pkgs_folder]:

+         if os.path.isdir(folder):

+             shutil.rmtree(folder)

+ 

+         os.makedirs(folder)

+ 

+     # prepare json files for packages

+     print("prepare json files for packages")

+     packages = [d for d in os.listdir(packages_stats) if os.path.isdir(os.path.join(packages_stats, d))]

+     log_files = pd.read_csv(langs_log, header=None, skipinitialspace=True)

+     log_files = log_files.iloc[:, [0, 4]]

+     log_files.columns = ["Filename", "lang_code"]

+ 

+     packages_langs_results = dict()

+     for package in sorted(packages):

+         file_stats = os.path.join(packages_stats, package, "stats.csv")

+         if not os.path.isfile(file_stats):

+             print(" Package: {p} missing stats file {f}".format(p=package, f=file_stats))

+             continue

+ 

+         results = consolidate_package_stats(file_stats, log_files)

+         store_json_file(package, results, data_pkgs_folder)

+ 

+         langs_results = results.get("equalsormorethan80percent", []) + results.get("between50and80percent", []) + results.get("lessorequalto50percent", [])

+ 

+         for langs in langs_results:

+             val = packages_langs_results.get(langs["lang_code"], [])

+             val.append({"name": package, "progress": langs["progress"]})

+             packages_langs_results[langs["lang_code"]] = val

+ 

+     # prepare json files for languages

+     print("prepare json files for languages")

+     langs = [f for f in os.listdir(langs_stats) if os.path.isfile(os.path.join(langs_stats, f))]

+     for lang in sorted(langs):

+         if lang.endswith(".stats.csv"):

+             code = lang[:-len(".stats.csv")]

+             results = consolidate_language_stats(os.path.join(langs_stats, lang))

+             results["packages"] = packages_langs_results.get(code, dict())

+             store_json_file(code, results, data_langs_folder)

+ 

+     # generate static content for languages

+     print("generate static content for languages")

+     langs = [f for f in os.listdir(data_langs_folder) if os.path.isfile(os.path.join(data_langs_folder, f))]

+     for lang in sorted(langs):

+         code = lang[:-len(".json")]

+         dest = os.path.join(static_langs_folder, code + ".md")

+         with open(os.path.join(data_langs_folder, lang), "r") as read_file:

+             content = json.load(read_file)

+ 

+         generate_static_pages_langs(args.release, code, content, dest)

+ 

+     print("generate static content for packages")

+     # generate static content for packages

+     packages = [f for f in os.listdir(data_pkgs_folder) if os.path.isfile(os.path.join(data_pkgs_folder, f))]

+     for package in sorted(packages):

+         code = package[:-len(".json")]

+         dest = os.path.join(static_pkgs_folder, code + ".md")

+         with open(os.path.join(data_pkgs_folder, package), "r") as read_file:

+             content = json.load(read_file)

+ 

+         generate_static_pages_packages(args.release, code, content, dest)

+ 

+ 

+ def consolidate_language_stats(csv_file):

+     """ From a CSV file, return key indicators """

+     results = dict()

+ 

+     fieldnames = {"Filename": "str",

+                   "TranslatedMessages": "int",

+                   "TranslatedSourceWords": "int",

+                   "TranslatedTargetWords": "int",

+                   "FuzzyMessages": "int",

+                   "FuzzySourceWords": "int",

+                   "UntranslatedMessages": "int",

+                   "UntranslatedSource Words": "int",

+                   "TotalMessage": "int",

+                   "TotalSourceWords": "int",

+                   "ReviewMessages": "int",

+                   "ReviewSourceWords": "int"}

+ 

+     stats_df = pd.read_csv(csv_file, header=0, skipinitialspace=True)

+     stats_df.fillna(0, inplace=True)

+     stats_df.columns = fieldnames.keys()

+ 

+     stats_df["package"] = stats_df["Filename"].str.split("/", expand=True)[4]

+ 

+     results["packages"] = stats_df["package"].unique().tolist()

+     results["progress"] = round(stats_df["TranslatedSourceWords"].sum() / stats_df["TotalSourceWords"].sum() * 100, 1)

+ 

+     for kpi in ["TotalSourceWords", "TranslatedSourceWords"]:

+         results[kpi + "Sum"] = int(stats_df[kpi].sum())

+ 

+     return results

+ 

+ 

+ def consolidate_package_stats(csv_file, log_files):

+     """ From a CSV file, return key indicators """

+     results = dict()

+ 

+     fieldnames = {"Filename": "str",

+                   "TranslatedMessages": "int",

+                   "TranslatedSourceWords": "int",

+                   "TranslatedTargetWords": "int",

+                   "FuzzyMessages": "int",

+                   "FuzzySourceWords": "int",

+                   "UntranslatedMessages": "int",

+                   "UntranslatedSource Words": "int",

+                   "TotalMessage": "int",

+                   "TotalSourceWords": "int",

+                   "ReviewMessages": "int",

+                   "ReviewSourceWords": "int"}

+ 

+     try:

+         stats_df = pd.read_csv(csv_file, header=0, skipinitialspace=True)

+     except pd.errors.EmptyDataError as e:

+         print(" File {f} raised {e}".format(f=csv_file, e=e))

+         return results

+ 

+     stats_df.fillna(0, inplace=True)

+     stats_df.columns = fieldnames.keys()

+ 

+     stats_df_w_lang = pd.merge(stats_df, log_files, how="inner", on="Filename")

+     stats_df_no_lang = pd.merge(stats_df, log_files, how="outer", indicator=True).loc[lambda x: x["_merge"] == "left_only"]

+ 

+     try:

+         total_source_words = int(max(stats_df_w_lang["TotalSourceWords"]))

+     except ValueError as e:

+         print(" File {f} raised ValueError {e}".format(f=csv_file, e=e))

+         return results

+ 

+     temp = stats_df_w_lang.groupby(["lang_code"]).agg({"TranslatedSourceWords": ["sum"], }).reset_index().droplevel(1, axis=1).to_dict(orient="records")

+     for line in temp:

+         line["progress"] = 0

+         p = 0

+         if total_source_words == 0:

+             print(" File {f} has TranslatedSourceWords = 0".format(f=csv_file))

+             line["progress"] = p

+             continue

+         try:

+             p = round((int(line["TranslatedSourceWords"]) / total_source_words)*100)

+         except OverflowError:

+             print(" File {f} has Translated={t} and Source={tot}".format(

+                 f=csv_file,

+                 t=line["TranslatedSourceWords"],

+                 tot=total_source_words))

+ 

+         line["progress"] = p

+ 

+     results["TotalSourceWords"] = total_source_words

+     results["count_languages"] = len(pd.unique(stats_df_w_lang["lang_code"]))

+ 

+     for line in sorted(temp, key=lambda k: k["progress"], reverse=True):

+         del line["TranslatedSourceWords"]

+         if line["progress"] <= 50:

+             hop = results.get("lessorequalto50percent", [])

+             hop.append(line)

+             results["lessorequalto50percent"] = hop

+         elif line["progress"] < 80:

+             hop = results.get("between50and80percent", [])

+             hop.append(line)

+             results["between50and80percent"] = hop

+         else:

+             hop = results.get("equalsormorethan80percent", [])

+             hop.append(line)

+             results["equalsormorethan80percent"] = hop

+ 

+     results["no_languages"] = stats_df_no_lang["Filename"].tolist()

+ 

+     return results

+ 

+ 

+ def generate_static_pages_langs(release, code, content, dest):

+     data = content

+     data["release"] = release

+     data["lang_code"] = code

+ 

+     templateLoader = jinja2.FileSystemLoader(searchpath="./templates/")

+     templateEnv = jinja2.Environment(loader=templateLoader)

+     TEMPLATE_FILE = "language.md"

+     template = templateEnv.get_template(TEMPLATE_FILE)

+     outputText = template.render(data)

+ 

+     with open(dest, "w") as write_out:

+         write_out.write(outputText)

+ 

+ 

+ def generate_static_pages_packages(release, code, content, dest):

+     data = content

+     data["release"] = release

+     data["package"] = code

+ 

+     templateLoader = jinja2.FileSystemLoader(searchpath="./templates/")

+     templateEnv = jinja2.Environment(loader=templateLoader)

+     TEMPLATE_FILE = "package.md"

+     template = templateEnv.get_template(TEMPLATE_FILE)

+     outputText = template.render(data)

+ 

+     with open(dest, "w") as write_out:

+         write_out.write(outputText)

+ 

+ 

+ def store_json_file(code, content, dest):

+     with open(os.path.join(dest, code + ".json"), "w") as f:

+         f.write(json.dumps(content, indent=2))

+ 

+ 

+ if __name__ == "__main__":

+     main()

file modified
+1 -1
@@ -34,7 +34,7 @@ 

      with open(args.json) as f:

          data = json.load(f)

  

-     with open('out.csv', mode='w') as csv_file:

+     with open('results/out.csv', mode='w') as csv_file:

          csv_writer = csv.writer(csv_file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)

  

          row = ["package", "srpm", "tsearch", "tcopy"]

file modified
+20 -8
@@ -1,24 +1,36 @@ 

  #!/bin/bash

  

+ set -xe

+ 

  # this file is useful for end to end tests on a short corpus

  rm -rf ./results/f32/

  

  # parcourir tous les fichiers rpm d'une version et en extraire tous les fichiers de traduction

- # ~ 8 h

- podman run -it --rm -v ./:/src:z -v ./srpms:/srpms:z --tmpfs /tmp:size=4G fedlocstats:32 /src/build.py --keep-srpms gco.*

+ # ~ 3 h (without downloading time)

+ # time podman run -it --rm -v ./:/src:z -v ./srpms:/srpms:z --tmpfs /tmp:size=4G fedlocstats:32 /src/build.py --keep-srpms gco.*

+ time podman run -it --rm -v ./:/src:z -v ./srpms:/srpms:z --tmpfs /tmp:size=4G fedlocstats:32 /src/build.py --keep-srpms

  

  # déduire la liste de toutes les langues

  # ~ 25 m

- ./build_language_list.py --release 32 --refresh

+ time ./build_language_list.py --release 32 --refresh

  

  # générer un fichier d'analyse de la langue (quels fichiers, équipes, pluriels, etc.)

- # ~ 25 m

- ./build_language_list.py --release 32 --analyzealllang

+ # ~ 3 m

+ time ./build_language_list.py --release 32 --analyzealllang

  

  # générer par langue un compendium, une mémoire de traduction et une terminologie

  # ~ 3 h

- ./build_tm.py --release 32 --refresh

+ time ./build_tm.py --release 32 --compress

  

  # calculer des pourcentages d'avancement par paquet et langue

- # ~ 41 m

- ./build_stats.py --release 32

+ # ~ 

+ time ./build_stats.py --release 32

+ 

+ # générer le site statique

+ # 

+ time ./build_website.py --release 32

+ 

+ (

+     cd website

+     hugo server -D

+ )

@@ -0,0 +1,14 @@ 

+ ---

+ title: "{{ lang_code }}"

+ date: 2020-11-18T18:20:46+01:00

+ ---

+ Global progress for {{ lang_code }} in Fedora {{ release }} is {{ progress }}%.

+ 

+ | Source words to translate  | Translated words |

+ |---------------------------:|-----------------:|

+ | {{ TotalSourceWordsSum }}  | {{ TranslatedSourceWordsSum }} |

+ 

+ Packages:

+ {% for package in packages %}

+ * [{{ package.name }}]({{ '{{' }}< ref "/f{{ release }}/package/{{ package.name }}.md" >{{ '}}' }}) ({{ package.progress }})

+ {% endfor %}

file added
+26
@@ -0,0 +1,26 @@ 

+ ---

+ title: "{{ package }}"

+ date: 2020-11-18T18:20:46+01:00

+ ---

+ The package {{ package }} is transtlated into {{ count_languages }} languages in Fedora {{ release }}.

+ 

+ ## Languages with ≥80% words translated 

+ {% for stat in equalsormorethan80percent -%}

+ [{{ stat.lang_code }}]({{ '{{' }}< ref "/f{{ release }}/language/{{ stat.lang_code }}.md" >{{ '}}' }}) ({{ stat.progress }})

+ {% endfor %}

+ 

+ ## Languages with >50% and <80% words translated

+ {% for stat in between50and80percent -%}

+ [{{ stat.lang_code }}]({{ '{{' }}< ref "/f{{ release }}/language/{{ stat.lang_code }}.md" >{{ '}}' }}) ({{ stat.progress }})

+ {% endfor %}

+ 

+ ## Languages with ≤50% words translated

+ {% for stat in lessorequalto50percent -%}

+ [{{ stat.lang_code }}]({{ '{{' }}< ref "/f{{ release }}/language/{{ stat.lang_code }}.md" >{{ '}}' }}) ({{ stat.progress }})

+ {% endfor %}

+ 

+ 

+ List of files for which language detection were impossible:

+ {% for missing in no_languages -%}

+ * {{ missing }}

+ {% endfor %}

file modified
+19 -1
@@ -1,6 +1,14 @@ 

  # global

  

- support for json file

+ support for json files

+ stats computation in CSV isn't so useful, maybe a direct storage in JSON would make more sense.

+ results should be stored by discovered translation files, so that progress computation per language makes sens both at package level and file level.

+ 

+ # optimization

+ 

+ direct call to:

+ - pocount: https://github.com/translate/translate/blob/master/translate/tools/pocount.py

+ - 

  

  # build_tm.py

  
@@ -11,3 +19,13 @@ 

  - nb_no-compendium is missing

  - sk-compendium is missing

  - zh_hant-compendium is missing

+ 

+ # build_stats.py

+ 

+ roxterm triggers an error

+ 

+ # global

+ 

+ 

+ 

+ we may detect anomalies

@@ -0,0 +1,6 @@ 

+ ---

+ title: "{{ replace .Name "-" " " | title }}"

+ date: {{ .Date }}

+ draft: true

+ ---

+ 

file added
+4
@@ -0,0 +1,4 @@ 

+ baseURL = "https://jibecfed.fedorapeople.org/partage/fedora-localization-statistics/"

+ languageCode = "en-us"

+ title = "Temporary demo"

+ theme = "ananke"

@@ -0,0 +1,30 @@ 

+ # OS

+ .DS_Store

+ Thumbs.db

+ 

+ # IDEs

+ .buildpath

+ .project

+ .settings/

+ .build/

+ .idea/

+ public/

+ nbproject/

+ 

+ # Vagrant

+ .vagrant/

+ 

+ # FE Setup

+ .bin/node_modules/

+ /node_modules/

+ src/node_modules/

+ src/npm-debug.log.*

+ npm-debug.log

+ /npm-debug.log*

+ /dist/

+ /src/client.config.json

+ /styleguide/

+ /docs/

+ 

+ /junit.xml

+ partials/structure/stylesheet.html

@@ -0,0 +1,169 @@ 

+ # Changelog

+ 

+ All notable changes to this project will be documented in this file.

+ 

+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)

+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

+ 

+ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).

+ 

+ ## [v2.6.1](https://github.com/theNewDynamic/gohugo-theme-ananke/compare/v2.6.0...v2.6.1) - 2020-06-25

+ 

+ ### Commits

+ 

+ - Updated minimum theme to .55 [`df4c78a`](https://github.com/theNewDynamic/gohugo-theme-ananke/commit/df4c78adb2ed004c3780f7a76254e9756dd024b5)

+ 

+ ## [v2.6.0](https://github.com/theNewDynamic/gohugo-theme-ananke/compare/2.6.0...v2.6.0) - 2020-06-23

+ 

+ ### Merged

+ 

+ - Update spanish translations [`#304`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/304)

+ - Add automatic cover image support [`#303`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/303)

+ 

+ ## [2.6.0](https://github.com/theNewDynamic/gohugo-theme-ananke/compare/v2.5.5...2.6.0) - 2020-06-17

+ 

+ ### Merged

+ 

+ - Add translation for taxonomy page [`#299`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/299)

+ - Site logo [`#284`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/284)

+ - Add head partial [`#285`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/285)

+ -  Long urls or links extend beyond content and overlap sidebar [`#259`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/259)

+ - Use relative URL for favicon [`#251`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/251)

+ - Fix relURL for custom_css [`#252`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/252)

+ - Fixed a typo in form-contact.html [`#266`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/266)

+ - adding Bulgarian translation [`#267`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/267)

+ - Use | relLangURL for the base url in the site-navigation [`#277`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/277)

+ - RSS svg icon [`#282`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/282)

+ - Updated Windows instructions in README.md [`#276`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/276)

+ - Replace another 2 .URL occurrences with .Permalink [`#275`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/275)

+ - Add alternative method for running prod to the readme [`#273`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/273)

+ - Swap the page title and site title in page &lt;title&gt; elements [`#272`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/272)

+ - Add the post_content_classes param for changing post content font [`#260`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/260)

+ - Add sharing links for the posts [`#255`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/255)

+ - Safari Reader View lacks content [`#254`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/254)

+ - Add Keybase social icon [`#248`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/248)

+ - Add StackOverflow social [`#243`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/243)

+ - Fix to take care of multiple author list, or for setting the [`#221`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/221)

+ - Fix Slack icon size [`#237`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/237)

+ - Correct the original translation [`#241`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/241)

+ 

+ ## [v2.5.6](https://github.com/theNewDynamic/gohugo-theme-ananke/compare/v2.6.1...v2.5.6) - 2019-12-30

+ 

+ ### Merged

+ 

+ - Use Hugo's built in Site Config for copyright according to PR #199 [`#240`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/240)

+ - Add italian translation [`#239`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/239)

+ 

+ ## [v2.5.5](https://github.com/theNewDynamic/gohugo-theme-ananke/compare/2.5.1...v2.5.5) - 2019-11-15

+ 

+ ### Merged

+ 

+ - Remove stray grave accent [`#231`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/231)

+ - Add Slack to social options [`#236`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/236)

+ - Fix URL for menus [`#230`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/230)

+ - Fix word count heading typo in README.md [`#222`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/222)

+ - Add auto-changelog [`#228`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/228)

+ - Fix stackbit issues [`#226`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/226)

+ - Add Stackbit Configuration [`#223`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/223)

+ - Replace {{ .URL }} with {{ .Permalink }} [`#216`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/216)

+ - Adds an author to blog posts. [`#209`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/209)

+ - Fixes #212. [`#213`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/213)

+ - Add ukrainian translation [`#214`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/214)

+ - Add swedish translation [`#208`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/208)

+ - Deprecation messages fixes. [`#196`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/196)

+ - Fix README instructions [`#204`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/204)

+ - Use git submodules [`#183`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/183)

+ - Remove Google News meta tags [`#197`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/197)

+ 

+ ### Fixed

+ 

+ - Fix URL for menus (#230) [`#229`](https://github.com/theNewDynamic/gohugo-theme-ananke/issues/229)

+ - Add auto-changelog (#228) [`#227`](https://github.com/theNewDynamic/gohugo-theme-ananke/issues/227) [`#227`](https://github.com/theNewDynamic/gohugo-theme-ananke/issues/227)

+ - Fix stackbit issues (#226) [`#224`](https://github.com/theNewDynamic/gohugo-theme-ananke/issues/224)

+ - Add Stackbit Configuration (#223) [`#200`](https://github.com/theNewDynamic/gohugo-theme-ananke/issues/200)

+ - Fixes #212. (#213) [`#212`](https://github.com/theNewDynamic/gohugo-theme-ananke/issues/212)

+ - Deprecation messages fixes. (#196) [`#180`](https://github.com/theNewDynamic/gohugo-theme-ananke/issues/180)

+ 

+ ## 2.5.1 - 2019-08-12

+ 

+ ### Merged

+ 

+ - remove deprecated meta tags for old Windows Mobile and BlackBerry [`#191`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/191)

+ - localization for form-contact shortcode [`#185`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/185)

+ - Fix min_version [`#189`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/189)

+ - Add portuguese translation [`#179`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/179)

+ - Add commento [`#178`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/178)

+ - feat: add RU translation [`#177`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/177)

+ - Spanish Translation [`#175`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/175)

+ - Dutch translations. [`#171`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/171)

+ - Correcting issue with cached i18n menu [`#174`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/174)

+ - Create zh.toml [`#170`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/170)

+ - Fix TOC header [`#168`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/168)

+ - Optimisation "partialCached" [`#165`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/165)

+ - Add a link to "mastodon" [`#159`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/159)

+ - Create fr.toml [`#157`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/157)

+ - add i18n translation support [`#156`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/156)

+ - Support hiding the featured image header text. [`#155`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/155)

+ - enable localization/modification of "Recent" string [`#154`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/154)

+ - add basic support for post translations [`#144`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/144)

+ - Keep article padding throughout widths [`#152`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/152)

+ - Improve semantic structure of pages [`#151`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/151)

+ - Improve social link accessibility [`#147`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/147)

+ - Add explicit path to image example [`#146`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/146)

+ - Open social media links in new tab and add Medium icon [`#143`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/143)

+ - Make cover dimming class customisable. [`#140`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/140)

+ - Removed hardcoded theme sample hero image. This will allow the user to "blank" out the hero default set in the config. The if statement for blank was unreachable. [`#133`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/133)

+ - Use relative url function for custom CSS files [`#132`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/132)

+ - Add Gitlab to social icons [`#131`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/131)

+ - Add div to wrap social icons [`#128`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/128)

+ - Fix asset paths when baseURL has sub-folder [`#103`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/103)

+ - Add inheritance for social links. [`#107`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/107)

+ - Issue 98 [`#101`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/101)

+ - Replace Asset References with a data file instead of paths [`#96`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/96)

+ - Pre-2.0 Enhancements [`#94`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/94)

+ - Don't duplicate site title in home page TITLE tag [`#78`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/78)

+ - Fix pagination [`#76`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/76)

+ - #68|Parmeterize number of recent posts in index.html [`#69`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/69)

+ - Fix typo in single.html [`#67`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/67)

+ - Fixed line breaks in code (resolves budparr/gohugo-theme-ananke#56). [`#57`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/57)

+ - Favicons [`#54`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/54)

+ - indent fix [`#45`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/45)

+ - Social icon updates [`#51`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/51)

+ - Add GitHub social icon [`#48`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/48)

+ - Make Hero image work out-of-the box [`#40`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/40)

+ - Removed excess o in Facebook [`#34`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/34)

+ - Fixes #31 [`#32`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/32)

+ - Bp/fix now function Fixes #29 [`#30`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/30)

+ - fix clunky construction on home page to get section name [`#25`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/25)

+ - fix clunky construction on home page to get section name [`#24`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/24)

+ - fix clunky construction on home page to get section name [`#17`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/17)

+ - tweak hero default behavior [`#16`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/16)

+ - improve terms template [`#15`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/15)

+ - improve image handling for edge cases Fixes #11 [`#14`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/14)

+ - Improve featured image handling Ref #11 + minor homepage impvs [`#12`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/12)

+ - Dev changes [`#10`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/10)

+ - pull in dev changes [`#9`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/9)

+ - keeping things in order [`#8`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/8)

+ - Improve home page posts  [`#7`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/7)

+ - make form email comment make more sense. Ref #5 [`#6`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/6)

+ - use a cleaner way to include language code [`#3`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/3)

+ - update from DEV [`#2`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/2)

+ - add taxonomy templates [`#1`](https://github.com/theNewDynamic/gohugo-theme-ananke/pull/1)

+ 

+ ### Fixed

+ 

+ - Add blockquote styling [`#169`](https://github.com/theNewDynamic/gohugo-theme-ananke/issues/169)

+ - Keep article padding throughout widths (#152) [`#130`](https://github.com/theNewDynamic/gohugo-theme-ananke/issues/130)

+ - Update readme for formspree change [`#150`](https://github.com/theNewDynamic/gohugo-theme-ananke/issues/150)

+ - Improve semantic structure of pages (#151) [`#149`](https://github.com/theNewDynamic/gohugo-theme-ananke/issues/149)

+ - Add global background color class to footer [`#135`](https://github.com/theNewDynamic/gohugo-theme-ananke/issues/135)

+ - Add div to wrap social icons (#128) [`#127`](https://github.com/theNewDynamic/gohugo-theme-ananke/issues/127)

+ - Fix article padding on mobile [`#115`](https://github.com/theNewDynamic/gohugo-theme-ananke/issues/115)

+ - Make asset paths absolute [`#97`](https://github.com/theNewDynamic/gohugo-theme-ananke/issues/97)

+ - Fix linkedin icon to match the other social icons [`#70`](https://github.com/theNewDynamic/gohugo-theme-ananke/issues/70)

+ - Be smarter about linking to posts on home page. [`#50`](https://github.com/theNewDynamic/gohugo-theme-ananke/issues/50)

+ - Add body_classes parameter to body [`#43`](https://github.com/theNewDynamic/gohugo-theme-ananke/issues/43)

+ - Fixes #31 (#32) [`#31`](https://github.com/theNewDynamic/gohugo-theme-ananke/issues/31)

+ - Bp/fix now function Fixes #29 (#30) [`#29`](https://github.com/theNewDynamic/gohugo-theme-ananke/issues/29)

+ - Merge pull request #14 from budparr/dev [`#11`](https://github.com/theNewDynamic/gohugo-theme-ananke/issues/11)

+ - improve image handling for edge cases Fixes #11 [`#11`](https://github.com/theNewDynamic/gohugo-theme-ananke/issues/11)

@@ -0,0 +1,20 @@ 

+ The MIT License (MIT)

+ 

+ Copyright (c) 2016 Bud Parr

+ 

+ Permission is hereby granted, free of charge, to any person obtaining a copy of

+ this software and associated documentation files (the "Software"), to deal in

+ the Software without restriction, including without limitation the rights to

+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of

+ the Software, and to permit persons to whom the Software is furnished to do so,

+ subject to the following conditions:

+ 

+ The above copyright notice and this permission notice shall be included in all

+ copies or substantial portions of the Software.

+ 

+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS

+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR

+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER

+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN

+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

@@ -0,0 +1,203 @@ 

+ # Ananke, A theme for [Hugo](http://gohugo.io/), a framework for building websites.

+ 

+ The intent of this theme is to provide a solid starting place for Hugo sites with basic features and include best practices for performance, accessibility, and rapid development.

+ 

+ ![screenshot](https://raw.githubusercontent.com/budparr/gohugo-theme-ananke/master/images/screenshot.png)

+ 

+ [DEMO](https://gohugo-ananke-theme-demo.netlify.com/)

+ 

+ Features

+ 

+ - Responsive

+ - Accessible

+ - Contact form

+ - Custom Robots.txt (changes values based on environment)

+ - Internal templates for meta data, google analytics, and DISQUS or COMMENTO comments

+ - RSS Discovery

+ - Table of Contents (must declare `toc: true` in post parameter)

+ - Stackbit configuration ([Stackbit](https://www.stackbit.com))

+ 

+ Also includes examples of Hugo Features or Functions:

+ 

+ - Pagination (internal template)

+ - Taxonomies

+ - Archetypes

+ - Custom shortcode

+ - Related content

+ - Hugo built-in menu

+ - i18n

+ - `with`

+ - `HUGO_ENV`

+ - `first`

+ - `after`

+ - `sort`

+ - Site LanguageCode

+ - `where`

+ - Content Views

+ - Partials

+ - Template layouts (type "post" uses a special list template, single template,  and a content view)

+ - Tags

+ - `len`

+ - Conditionals

+ - `ge` (greater than or equal to)

+ - `.Site.Params.mainSections` to avoid hard-coding "blog," etc. [[release note](https://github.com/spf13/hugo/blob/66ec6305f6cb450ddf9c489854146bac02f7dca1/docs/content/meta/release-notes.md#enhancements)]

+ 

+ 

+ This theme uses the "Tachyons" CSS library. This will allow you to manipulate the design of the theme by changing class names in HTML without touching the original CSS files. For more information see the [Tachyons website](http://tachyons.io/).

+ 

+ 

+ 

+ ## Installation

+ 

+ ### As a Hugo Module (recommended)

+ 

+ Simply add the repo to your theme option:

+ 

+ ```yaml

+ theme:

+   - github.com/theNewDynamic/gohugo-theme-ananke

+ ```

+ 

+ ### As Git Submodule

+ 

+ Inside the folder of your Hugo site run:

+ 

+ ```

+ $ git submodule add https://github.com/theNewDynamic/gohugo-theme-ananke.git themes/ananke

+ ```

+ For more information read the official [setup guide](//gohugo.io/overview/installing/) of Hugo.

+ 

+ 

+ 

+ ## Getting started

+ 

+ After installing the theme successfully it requires a just a few more steps to get your site running.

+ 

+ 

+ ### The config file

+ 

+ Take a look inside the [`exampleSite`](https://github.com/theNewDynamic/gohugo-theme-ananke/tree/master/exampleSite) folder of this theme. You'll find a file called [`config.toml`](https://github.com/theNewDynamic/gohugo-theme-ananke/blob/master/exampleSite/config.toml). To use it, copy the [`config.toml`](https://github.com/theNewDynamic/gohugo-theme-ananke/blob/master/exampleSite/config.toml) in the root folder of your Hugo site. Feel free to change the strings in this theme.

+ 

+ You may need to delete the line: `themesDir = "../.."`

+ 

+ 

+ ### Add comments

+ 

+ To enable comments, add following to your config file:

+ 

+ - DISQUS: `disqusShortname = YOURSHORTNAME`

+ - COMMENTO:

+   ```

+   [params]

+     commentoEnable = true

+   ```

+ 

+ ### Change the hero background

+ 

+ For any page or post you can add a featured image by including the local path in front matter (see content in the `exampleSite/content/_readme.md` file for examples): `featured_image: '/images/gohugo-default-sample-hero-image.jpg'`

+ 

+ If you would like to hide the header text on the featured image on a page, set `omit_header_text` to `true`. See `exampleSite/content/contact.md` for an example.

+ 

+ You don't need an image though. The default background color is black, but you can change the color, by changing the default color class in the config.toml file. Choose a background color from any on the [Tachyons](http://tachyons.io/docs/themes/skins/) library site, and preface it with "bg-"

+ 

+ example: `background_color_class = "bg-blue"` or `background_color_class = "bg-gray"`

+ 

+ 

+ 

+ ### Activate the contact form

+ 

+ This theme includes a shortcode for a contact form that you can add to any page (there is an example on the contact page in the exampleSite folder). One option is to use [formspree.io](//formspree.io/) as proxy to send the actual email. Each month, visitors can send you up to one thousand emails without incurring extra charges. Visit the Formspree site to get the "action" link and add it to your shortcode like this:

+ 

+ ```

+ {{< form-contact action="https://formspree.io/your@email.com" >}}

+ ```

+ 

+ ### Update font or body classes

+ 

+ The theme is set, by default, to use a near-white background color and the "Avenir" or serif typeface. You can change these in your config file with the `body_classes` parameter, like this:

+ 

+ ```

+ [params]

+   body_classes = "avenir bg-near-white"

+ ```

+ 

+ which will give you a body class like this:

+ 

+ ```

+ <body class="avenir bg-near-white">

+ ```

+ 

+ note: The `body_classes` parameter will not change the font used in post content. To do this, you must use the `post_content_classes` parameter.

+ 

+ You can find a list of available typefaces [here](https://github.com/tachyons-css/tachyons/blob/v4.7.0/src/_font-family.css).

+ 

+ And a list of background colors [here](https://github.com/tachyons-css/tachyons/blob/v4.7.0/src/_skins.css#L96).

+ 

+ 

+ _n.b. in future versions we will likely separate the typeface and other body classes._

+ 

+ 

+ ### Custom CSS

+ 

+ You can override the built-in css by using your own. Just put your own css files in the `static` directory of your website (the one in the theme directory also works but is not recommended) and modify the `custom_css` parameter in your config file. The path referenced in the parameter should be relative to the `static` folder. These css files will be added through the `header` partial after the built-in css file.

+ 

+ For example, if your css files are `static/css/custom.css` and `static/css/custom2.css` then add the following to the config file:

+ 

+ ```

+     [params]

+       custom_css = ["css/custom.css","css/custom2.css"]

+ ```

+ 

+ ### Show Reading Time and Word Count

+ 

+ If you add a key of `show_reading_time` true to either the Config Params, a page or section's front matter, articles will show the reading time and word count.

+ 

+ 

+ ### Adding Scripts to the Page Head

+ 

+ Some scripts need to be added within the page head. To add your own scripts to the page head, simply insert them into the `head-additions.html` partial located in the `layouts/partials` folder.

+ 

+ 

+ ### Logo

+ 

+ You can replace the title of your site in the top left corner of each page with your own logo. To do that put your own logo into the `static` directory of your website, and add the `site_logo` parameter to the site params in your config file. For example:

+ 

+ ```

+ [params]

+   site_logo = "img/logo.svg"

+ ```

+ 

+ 

+ ### Nearly finished

+ 

+ In order to see your site in action, run Hugo's built-in local server.

+ 

+ `$ hugo server`

+ 

+ Now enter [`localhost:1313`](http://localhost:1313/) in the address bar of your browser.

+ 

+ ## Production

+ 

+ To run in production (e.g. to have Google Analytics show up), run `HUGO_ENV=production` before your build command. For example:

+ 

+ ```

+ HUGO_ENV=production hugo

+ ```

+ 

+ Note: The above command will not work on Windows. If you are running a Windows OS, use the below command:

+ 

+ ```

+ set HUGO_ENV=production

+ hugo

+ ```

+ 

+ ## Contributing

+ 

+ If you find a bug or have an idea for a feature, feel free to use the [issue tracker](https://github.com/theNewDynamic/gohugo-theme-ananke/issues) to let me know.

+ 

+ 

+ 

+ 

+ TODO:

+ 

+ - fix hard-coded link to [section](https://github.com/theNewDynamic/gohugo-theme-ananke/blob/master/layouts/index.html#L32)

@@ -0,0 +1,7 @@ 

+ ---

+ title: "{{ replace .TranslationBaseName "-" " " | title }}"

+ date: {{ .Date }}

+ tags: []

+ featured_image: ""

+ description: ""

+ ---

@@ -0,0 +1,6 @@ 

+ {

+   "app": {

+     "js": "js/app.3fc0f988d21662902933.js",

+     "css": "css/app.4fc0b62e4b82c997bb0041217cd6b979.css"

+   }

+ } 

\ No newline at end of file

@@ -0,0 +1,36 @@ 

+ title = "Notre-Dame de Paris"

+ baseURL = "https://example.com"

+ languageCode = "en-us"

+ theme = "gohugo-theme-ananke"

+ themesDir = "../.."

+ 

+ DefaultContentLanguage = "en"

+ SectionPagesMenu = "main"

+ Paginate = 3 # this is set low for demonstrating with dummy content. Set to a higher number

+ googleAnalytics = ""

+ enableRobotsTXT = true

+ 

+ [sitemap]

+   changefreq = "monthly"

+   priority = 0.5

+   filename = "sitemap.xml"

+ 

+ [params]

+   favicon = ""

+   site_logo = ""

+   description = "The last theme you'll ever need. Maybe."

+   facebook = ""

+   twitter = "https://twitter.com/GoHugoIO"

+   instagram = ""

+   youtube = ""

+   github = ""

+   gitlab = ""

+   linkedin = ""

+   mastodon = ""

+   slack = ""

+   stackoverflow = ""

+   rss = ""

+   # choose a background color from any on this page: http://tachyons.io/docs/themes/skins/ and preface it with "bg-"

+   background_color_class = "bg-black"

+   featured_image = "/images/gohugo-default-sample-hero-image.jpg"

+   recent_posts_number = 2 

\ No newline at end of file

@@ -0,0 +1,6 @@ 

+ ---

+ title: "Ananke: a Hugo Theme"

+ featured_image: '/images/gohugo-default-sample-hero-image.jpg'

+ description: "The last theme you'll ever need. Maybe."

+ ---

+ Welcome to my blog with some of my work in progress. I've been working on this book idea. You can read some of the chapters below.

@@ -0,0 +1,8 @@ 

+ ---

+ title: "About"

+ description: "A few years ago, while visiting or, rather, rummaging about Notre-Dame, the author of this book found, in an obscure nook of one of the towers, the following word, engraved by hand upon the wall: —ANANKE."

+ featured_image: ''

+ ---

+ {{< figure src="/images/Victor_Hugo-Hunchback.jpg" title="Illustration from Victor Hugo et son temps (1881)" >}}

+ 

+ _The Hunchback of Notre-Dame_ (French: _Notre-Dame de Paris_) is a French Romantic/Gothic novel by Victor Hugo, published in 1831. The original French title refers to Notre Dame Cathedral, on which the story is centered. English translator Frederic Shoberl named the novel The Hunchback of Notre Dame in 1833 because at the time, Gothic novels were more popular than Romance novels in England. The story is set in Paris, France in the Late Middle Ages, during the reign of Louis XI.

@@ -0,0 +1,14 @@ 

+ ---

+ title: Contact

+ featured_image: "images/notebook.jpg"

+ omit_header_text: true

+ description: We'd love to hear from you

+ type: page

+ menu: main

+ 

+ ---

+ 

+ 

+ This is an example of a custom shortcode that you can put right into your content. You will need to add a form action to the the shortcode to make it work. Check out [Formspree](https://formspree.io/) for a simple, free form service. 

+ 

+ {{< form-contact action="https://example.com"  >}}

@@ -0,0 +1,5 @@ 

+ ---

+ title: "Articles"

+ date: 2017-03-02T12:00:00-05:00

+ ---

+ Articles are paginated with only three posts here for example. You can set the number of entries to show on this page with the "pagination" setting in the config file.

@@ -0,0 +1,81 @@ 

+ ---

+ date: 2017-04-09T10:58:08-04:00

+ description: "The Grand Hall"

+ featured_image: "/images/Pope-Edouard-de-Beaumont-1844.jpg"

+ tags: ["scene"]

+ title: "Chapter I: The Grand Hall"

+ ---

+ 

+ Three hundred and forty-eight years, six months, and nineteen days ago

+ to-day, the Parisians awoke to the sound of all the bells in the triple

+ circuit of the city, the university, and the town ringing a full peal.

+ 

+ The sixth of January, 1482, is not, however, a day of which history has

+ preserved the memory. There was nothing notable in the event which thus

+ set the bells and the bourgeois of Paris in a ferment from early morning.

+ It was neither an assault by the Picards nor the Burgundians, nor a hunt

+ led along in procession, nor a revolt of scholars in the town of Laas, nor

+ an entry of “our much dread lord, monsieur the king,” nor even a pretty

+ hanging of male and female thieves by the courts of Paris. Neither was it

+ the arrival, so frequent in the fifteenth century, of some plumed and

+ bedizened embassy. It was barely two days since the last cavalcade of that

+ nature, that of the Flemish ambassadors charged with concluding the

+ marriage between the dauphin and Marguerite of Flanders, had made its

+ entry into Paris, to the great annoyance of M. le Cardinal de Bourbon,

+ who, for the sake of pleasing the king, had been obliged to assume an

+ amiable mien towards this whole rustic rabble of Flemish burgomasters, and

+ to regale them at his Hôtel de Bourbon, with a very “pretty morality,

+ allegorical satire, and farce,” while a driving rain drenched the

+ magnificent tapestries at his door.

+ 

+ What put the “whole population of Paris in commotion,” as Jehan de Troyes

+ expresses it, on the sixth of January, was the double solemnity, united

+ from time immemorial, of the Epiphany and the Feast of Fools.

+ 

+ On that day, there was to be a bonfire on the Place de Grève, a maypole at

+ the Chapelle de Braque, and a mystery at the Palais de Justice. It had

+ been cried, to the sound of the trumpet, the preceding evening at all the

+ cross roads, by the provost’s men, clad in handsome, short, sleeveless

+ coats of violet camelot, with large white crosses upon their breasts.

+ 

+ So the crowd of citizens, male and female, having closed their houses and

+ shops, thronged from every direction, at early morn, towards some one of

+ the three spots designated.

+ 

+ Each had made his choice; one, the bonfire; another, the maypole; another,

+ the mystery play. It must be stated, in honor of the good sense of the

+ loungers of Paris, that the greater part of this crowd directed their

+ steps towards the bonfire, which was quite in season, or towards the

+ mystery play, which was to be presented in the grand hall of the Palais de

+ Justice (the courts of law), which was well roofed and walled; and that

+ the curious left the poor, scantily flowered maypole to shiver all alone

+ beneath the sky of January, in the cemetery of the Chapel of Braque.

+ 

+ The populace thronged the avenues of the law courts in particular, because

+ they knew that the Flemish ambassadors, who had arrived two days

+ previously, intended to be present at the representation of the mystery,

+ and at the election of the Pope of the Fools, which was also to take place

+ in the grand hall.

+ 

+ It was no easy matter on that day, to force one’s way into that grand

+ hall, although it was then reputed to be the largest covered enclosure in

+ the world (it is true that Sauval had not yet measured the grand hall of

+ the Château of Montargis). The palace place, encumbered with people,

+ offered to the curious gazers at the windows the aspect of a sea; into

+ which five or six streets, like so many mouths of rivers, discharged every

+ moment fresh floods of heads. The waves of this crowd, augmented

+ incessantly, dashed against the angles of the houses which projected here

+ and there, like so many promontories, into the irregular basin of the

+ place. In the centre of the lofty Gothic* façade of the palace, the grand

+ staircase, incessantly ascended and descended by a double current, which,

+ after parting on the intermediate landing-place, flowed in broad waves

+ along its lateral slopes,—the grand staircase, I say, trickled

+ incessantly into the place, like a cascade into a lake. The cries, the

+ laughter, the trampling of those thousands of feet, produced a great noise

+ and a great clamor. From time to time, this noise and clamor redoubled;

+ the current which drove the crowd towards the grand staircase flowed

+ backwards, became troubled, formed whirlpools. This was produced by the

+ buffet of an archer, or the horse of one of the provost’s sergeants, which

+ kicked to restore order; an admirable tradition which the provostship has

+ bequeathed to the constablery, the constablery to the _maréchaussée_,

+ the _maréchaussée_ to our _gendarmeri_ of Paris.

@@ -0,0 +1,90 @@ 

+ ---

+ date: 2017-04-10T11:00:59-04:00

+ description: "Pierre Gringoire"

+ featured_image: ""

+ tags: []

+ title: "Chapter II: Pierre Gringoire"

+ ---

+ 

+ Nevertheless, as be harangued them, the satisfaction and admiration

+ unanimously excited by his costume were dissipated by his words; and when

+ he reached that untoward conclusion: “As soon as his illustrious eminence,

+ the cardinal, arrives, we will begin,” his voice was drowned in a thunder

+ of hooting.

+ 

+ “Begin instantly! The mystery! the mystery immediately!” shrieked the

+ people. And above all the voices, that of Johannes de Molendino was

+ audible, piercing the uproar like the fife’s derisive serenade: “Commence

+ instantly!” yelped the scholar.

+ 

+ “Down with Jupiter and the Cardinal de Bourbon!” vociferated Robin

+ Poussepain and the other clerks perched in the window.

+ 

+ “The morality this very instant!” repeated the crowd; “this very instant!

+ the sack and the rope for the comedians, and the cardinal!”

+ 

+ Poor Jupiter, haggard, frightened, pale beneath his rouge, dropped his

+ thunderbolt, took his cap in his hand; then he bowed and trembled and

+ stammered: “His eminence—the ambassadors—Madame Marguerite of

+ Flanders—.” He did not know what to say. In truth, he was afraid of

+ being hung.

+ 

+ Hung by the populace for waiting, hung by the cardinal for not having

+ waited, he saw between the two dilemmas only an abyss; that is to say, a

+ gallows.

+ 

+ Luckily, some one came to rescue him from his embarrassment, and assume

+ the responsibility.

+ 

+ An individual who was standing beyond the railing, in the free space

+ around the marble table, and whom no one had yet caught sight of, since

+ his long, thin body was completely sheltered from every visual ray by the

+ diameter of the pillar against which he was leaning; this individual, we

+ say, tall, gaunt, pallid, blond, still young, although already wrinkled

+ about the brow and cheeks, with brilliant eyes and a smiling mouth, clad

+ in garments of black serge, worn and shining with age, approached the

+ marble table, and made a sign to the poor sufferer. But the other was so

+ confused that he did not see him. The new comer advanced another step.

+ 

+ “Jupiter,” said he, “my dear Jupiter!”

+ 

+ The other did not hear.

+ 

+ At last, the tall blond, driven out of patience, shrieked almost in his

+ face,—

+ 

+ “Michel Giborne!”

+ 

+ “Who calls me?” said Jupiter, as though awakened with a start.

+ 

+ “I,” replied the person clad in black.

+ 

+ “Ah!” said Jupiter.

+ 

+ “Begin at once,” went on the other. “Satisfy the populace; I undertake to

+ appease the bailiff, who will appease monsieur the cardinal.”

+ 

+ Jupiter breathed once more.

+ 

+ “Messeigneurs the bourgeois,” he cried, at the top of his lungs to the

+ crowd, which continued to hoot him, “we are going to begin at once.”

+ 

+ “_Evoe Jupiter! Plaudite cives_! All hail, Jupiter! Applaud,

+ citizens!” shouted the scholars.

+ 

+ “Noel! Noel! good, good,” shouted the people.

+ 

+ The hand clapping was deafening, and Jupiter had already withdrawn under

+ his tapestry, while the hall still trembled with acclamations.

+ 

+ In the meanwhile, the personage who had so magically turned the tempest

+ into dead calm, as our old and dear Corneille puts it, had modestly

+ retreated to the half-shadow of his pillar, and would, no doubt, have

+ remained invisible there, motionless, and mute as before, had he not been

+ plucked by the sleeve by two young women, who, standing in the front row

+ of the spectators, had noticed his colloquy with Michel Giborne-Jupiter.

+ 

+ “Master,” said one of them, making him a sign to approach. “Hold your

+ tongue, my dear Liénarde,” said her neighbor, pretty, fresh, and very

+ brave, in consequence of being dressed up in her best attire. “He is not a

+ clerk, he is a layman; you must not say master to him, but messire.”

@@ -0,0 +1,100 @@ 

+ ---

+ date: 2017-04-11T11:13:32-04:00

+ description: "Monsieur the Cardinal"

+ featured_image: ""

+ tags: []

+ title: "Chapter III: Monsieur the Cardinal"

+ ---

+ 

+ Poor Gringoire! the din of all the great double petards of the Saint-Jean,

+ the discharge of twenty arquebuses on supports, the detonation of that

+ famous serpentine of the Tower of Billy, which, during the siege of Paris,

+ on Sunday, the twenty-sixth of September, 1465, killed seven Burgundians

+ at one blow, the explosion of all the powder stored at the gate of the

+ Temple, would have rent his ears less rudely at that solemn and dramatic

+ moment, than these few words, which fell from the lips of the usher, “His

+ eminence, Monseigneur the Cardinal de Bourbon.”

+ 

+ It is not that Pierre Gringoire either feared or disdained monsieur the

+ cardinal. He had neither the weakness nor the audacity for that. A true

+ eclectic, as it would be expressed nowadays, Gringoire was one of those

+ firm and lofty, moderate and calm spirits, which always know how to bear

+ themselves amid all circumstances (_stare in dimidio rerum_), and who

+ are full of reason and of liberal philosophy, while still setting store by

+ cardinals. A rare, precious, and never interrupted race of philosophers to

+ whom wisdom, like another Ariadne, seems to have given a clew of thread

+ which they have been walking along unwinding since the beginning of the

+ world, through the labyrinth of human affairs. One finds them in all ages,

+ ever the same; that is to say, always according to all times. And, without

+ reckoning our Pierre Gringoire, who may represent them in the fifteenth

+ century if we succeed in bestowing upon him the distinction which he

+ deserves, it certainly was their spirit which animated Father du Breul,

+ when he wrote, in the sixteenth, these naively sublime words, worthy of

+ all centuries: “I am a Parisian by nation, and a Parrhisian in language,

+ for _parrhisia_ in Greek signifies liberty of speech; of which I have

+ made use even towards messeigneurs the cardinals, uncle and brother to

+ Monsieur the Prince de Conty, always with respect to their greatness, and

+ without offending any one of their suite, which is much to say.”

+ 

+ There was then neither hatred for the cardinal, nor disdain for his

+ presence, in the disagreeable impression produced upon Pierre Gringoire.

+ Quite the contrary; our poet had too much good sense and too threadbare a

+ coat, not to attach particular importance to having the numerous allusions

+ in his prologue, and, in particular, the glorification of the dauphin, son

+ of the Lion of France, fall upon the most eminent ear. But it is not

+ interest which predominates in the noble nature of poets. I suppose that

+ the entity of the poet may be represented by the number ten; it is certain

+ that a chemist on analyzing and pharmacopolizing it, as Rabelais says,

+ would find it composed of one part interest to nine parts of self-esteem.

+ 

+ Now, at the moment when the door had opened to admit the cardinal, the

+ nine parts of self-esteem in Gringoire, swollen and expanded by the breath

+ of popular admiration, were in a state of prodigious augmentation, beneath

+ which disappeared, as though stifled, that imperceptible molecule of which

+ we have just remarked upon in the constitution of poets; a precious

+ ingredient, by the way, a ballast of reality and humanity, without which

+ they would not touch the earth. Gringoire enjoyed seeing, feeling,

+ fingering, so to speak an entire assembly (of knaves, it is true, but what

+ matters that?) stupefied, petrified, and as though asphyxiated in the

+ presence of the incommensurable tirades which welled up every instant from

+ all parts of his bridal song. I affirm that he shared the general

+ beatitude, and that, quite the reverse of La Fontaine, who, at the

+ presentation of his comedy of the “Florentine,” asked, “Who is the

+ ill-bred lout who made that rhapsody?” Gringoire would gladly have

+ inquired of his neighbor, “Whose masterpiece is this?”

+ 

+ The reader can now judge of the effect produced upon him by the abrupt and

+ unseasonable arrival of the cardinal.

+ 

+ That which he had to fear was only too fully realized. The entrance of his

+ eminence upset the audience. All heads turned towards the gallery. It was

+ no longer possible to hear one’s self. “The cardinal! The cardinal!”

+ repeated all mouths. The unhappy prologue stopped short for the second

+ time.

+ 

+ The cardinal halted for a moment on the threshold of the estrade. While he

+ was sending a rather indifferent glance around the audience, the tumult

+ redoubled. Each person wished to get a better view of him. Each man vied

+ with the other in thrusting his head over his neighbor’s shoulder.

+ 

+ He was, in fact, an exalted personage, the sight of whom was well worth

+ any other comedy. Charles, Cardinal de Bourbon, Archbishop and Comte of

+ Lyon, Primate of the Gauls, was allied both to Louis XI., through his

+ brother, Pierre, Seigneur de Beaujeu, who had married the king’s eldest

+ daughter, and to Charles the Bold through his mother, Agnes of Burgundy.

+ Now, the dominating trait, the peculiar and distinctive trait of the

+ character of the Primate of the Gauls, was the spirit of the courtier, and

+ devotion to the powers that be. The reader can form an idea of the

+ numberless embarrassments which this double relationship had caused him,

+ and of all the temporal reefs among which his spiritual bark had been

+ forced to tack, in order not to suffer shipwreck on either Louis or

+ Charles, that Scylla and that Charybdis which had devoured the Duc de

+ Nemours and the Constable de Saint-Pol. Thanks to Heaven’s mercy, he had

+ made the voyage successfully, and had reached home without hindrance. But

+ although he was in port, and precisely because he was in port, he never

+ recalled without disquiet the varied haps of his political career, so long

+ uneasy and laborious. Thus, he was in the habit of saying that the year

+ 1476 had been “white and black” for him—meaning thereby, that in the

+ course of that year he had lost his mother, the Duchesse de la

+ Bourbonnais, and his cousin, the Duke of Burgundy, and that one grief had

+ consoled him for the other.

@@ -0,0 +1,86 @@ 

+ ---

+ date: 2017-04-12T11:14:48-04:00

+ description: "Master Jacques Coppenole"

+ featured_image: ""

+ tags: ["scene"]

+ title: "Chapter IV: Master Jacques Coppenole"

+ ---

+ While the pensioner of Ghent and his eminence were exchanging very low

+ bows and a few words in voices still lower, a man of lofty stature, with a

+ large face and broad shoulders, presented himself, in order to enter

+ abreast with Guillaume Rym; one would have pronounced him a bull-dog by

+ the side of a fox. His felt doublet and leather jerkin made a spot on the

+ velvet and silk which surrounded him. Presuming that he was some groom who

+ had stolen in, the usher stopped him.

+ 

+ “Hold, my friend, you cannot pass!”

+ 

+ The man in the leather jerkin shouldered him aside.

+ 

+ “What does this knave want with me?” said he, in stentorian tones, which

+ rendered the entire hall attentive to this strange colloquy. “Don’t you

+ see that I am one of them?”

+ 

+ “Your name?” demanded the usher.

+ 

+ “Jacques Coppenole.”

+ 

+ “Your titles?”

+ 

+ “Hosier at the sign of the ‘Three Little Chains,’ of Ghent.”

+ 

+ The usher recoiled. One might bring one’s self to announce aldermen and

+ burgomasters, but a hosier was too much. The cardinal was on thorns. All

+ the people were staring and listening. For two days his eminence had been

+ exerting his utmost efforts to lick these Flemish bears into shape, and to

+ render them a little more presentable to the public, and this freak was

+ startling. But Guillaume Rym, with his polished smile, approached the

+ usher.

+ 

+ “Announce Master Jacques Coppenole, clerk of the aldermen of the city of

+ Ghent,” he whispered, very low.

+ 

+ “Usher,” interposed the cardinal, aloud, “announce Master Jacques

+ Coppenole, clerk of the aldermen of the illustrious city of Ghent.”

+ 

+ This was a mistake. Guillaume Rym alone might have conjured away the

+ difficulty, but Coppenole had heard the cardinal.

+ 

+ “No, cross of God?” he exclaimed, in his voice of thunder, “Jacques

+ Coppenole, hosier. Do you hear, usher? Nothing more, nothing less. Cross

+ of God! hosier; that’s fine enough. Monsieur the Archduke has more than

+ once sought his _gant_\* in my hose.”

+ 

+ _*  Got the first idea of a timing._

+ 

+ Laughter and applause burst forth. A jest is always understood in Paris,

+ and, consequently, always applauded.

+ 

+ Let us add that Coppenole was of the people, and that the auditors which

+ surrounded him were also of the people. Thus the communication between him

+ and them had been prompt, electric, and, so to speak, on a level. The

+ haughty air of the Flemish hosier, by humiliating the courtiers, had

+ touched in all these plebeian souls that latent sentiment of dignity still

+ vague and indistinct in the fifteenth century.

+ 

+ This hosier was an equal, who had just held his own before monsieur the

+ cardinal. A very sweet reflection to poor fellows habituated to respect

+ and obedience towards the underlings of the sergeants of the bailiff of

+ Sainte-Geneviève, the cardinal’s train-bearer.

+ 

+ Coppenole proudly saluted his eminence, who returned the salute of the

+ all-powerful bourgeois feared by Louis XI. Then, while Guillaume Rym, a

+ “sage and malicious man,” as Philippe de Comines puts it, watched them

+ both with a smile of raillery and superiority, each sought his place, the

+ cardinal quite abashed and troubled, Coppenole tranquil and haughty, and

+ thinking, no doubt, that his title of hosier was as good as any other,

+ after all, and that Marie of Burgundy, mother to that Marguerite whom

+ Coppenole was to-day bestowing in marriage, would have been less afraid of

+ the cardinal than of the hosier; for it is not a cardinal who would have

+ stirred up a revolt among the men of Ghent against the favorites of the

+ daughter of Charles the Bold; it is not a cardinal who could have

+ fortified the populace with a word against her tears and prayers, when the

+ Maid of Flanders came to supplicate her people in their behalf, even at

+ the very foot of the scaffold; while the hosier had only to raise his

+ leather elbow, in order to cause to fall your two heads, most illustrious

+ seigneurs, Guy d’Hymbercourt and Chancellor Guillaume Hugonet.

@@ -0,0 +1,17 @@ 

+ ---

+ date: 2017-04-13T11:15:58-04:00

+ description: "Quasimodo"

+ featured_image: ""

+ tags: []

+ title: "Chapter V: Quasimodo"

+ ---

+ 

+ In the twinkling of an eye, all was ready to execute Coppenole’s idea. Bourgeois, scholars and law clerks all set to work. The little chapel situated opposite the marble table was selected for the scene of the grinning match. A pane broken in the pretty rose window above the door, left free a circle of stone through which it was agreed that the competitors should thrust their heads. In order to reach it, it was only necessary to mount upon a couple of hogsheads, which had been produced from I know not where, and perched one upon the other, after a fashion. It was settled that each candidate, man or woman (for it was possible to choose a female pope), should, for the sake of leaving the impression of his grimace fresh and complete, cover his face and remain concealed in the chapel until the moment of his appearance. In less than an instant, the chapel was crowded with competitors, upon whom the door was then closed.

+ 

+ Coppenole, from his post, ordered all, directed all, arranged all. During the uproar, the cardinal, no less abashed than Gringoire, had retired with all his suite, under the pretext of business and vespers, without the crowd which his arrival had so deeply stirred being in the least moved by his departure. Guillaume Rym was the only one who noticed his eminence’s discomfiture. The attention of the populace, like the sun, pursued its revolution; having set out from one end of the hall, and halted for a space in the middle, it had now reached the other end. The marble table, the brocaded gallery had each had their day; it was now the turn of the chapel of Louis XI. Henceforth, the field was open to all folly. There was no one there now, but the Flemings and the rabble.

+ 

+ The grimaces began. The first face which appeared at the aperture, with eyelids turned up to the reds, a mouth open like a maw, and a brow wrinkled like our hussar boots of the Empire, evoked such an inextinguishable peal of laughter that Homer would have taken all these louts for gods. Nevertheless, the grand hall was anything but Olympus, and Gringoire’s poor Jupiter knew it better than any one else. A second and third grimace followed, then another and another; and the laughter and transports of delight went on increasing. There was in this spectacle, a peculiar power of intoxication and fascination, of which it would be difficult to convey to the reader of our day and our salons any idea.

+ 

+ Let the reader picture to himself a series of visages presenting successively all geometrical forms, from the triangle to the trapezium, from the cone to the polyhedron; all human expressions, from wrath to lewdness; all ages, from the wrinkles of the new-born babe to the wrinkles of the aged and dying; all religious phantasmagories, from Faun to Beelzebub; all animal profiles, from the maw to the beak, from the jowl to the muzzle. Let the reader imagine all these grotesque figures of the Pont Neuf, those nightmares petrified beneath the hand of Germain Pilon, assuming life and breath, and coming in turn to stare you in the face with burning eyes; all the masks of the Carnival of Venice passing in succession before your glass,—in a word, a human kaleidoscope.

+ 

+ The orgy grew more and more Flemish. Teniers could have given but a very imperfect idea of it. Let the reader picture to himself in bacchanal form, Salvator Rosa’s battle. There were no longer either scholars or ambassadors or bourgeois or men or women; there was no longer any Clopin Trouillefou, nor Gilles Lecornu, nor Marie Quatrelivres, nor Robin Poussepain. All was universal license. The grand hall was no longer anything but a vast furnace of effrontry and joviality, where every mouth was a cry, every individual a posture; everything shouted and howled. The strange visages which came, in turn, to gnash their teeth in the rose window, were like so many brands cast into the brazier; and from the whole of this effervescing crowd, there escaped, as from a furnace, a sharp, piercing, stinging noise, hissing like the wings of a gnat.

@@ -0,0 +1,99 @@ 

+ ---

+ date: 2017-04-14T11:25:05-04:00

+ description: "Esmeralda"

+ featured_image: "/images/esmeralda.jpg"

+ tags: []

+ title: "Chapter VI: Esmeralda"

+ disable_share: false

+ ---

+ We are delighted to be able to inform the reader, that during the whole of

+ this scene, Gringoire and his piece had stood firm. His actors, spurred on

+ by him, had not ceased to spout his comedy, and he had not ceased to

+ listen to it. He had made up his mind about the tumult, and was determined

+ to proceed to the end, not giving up the hope of a return of attention on

+ the part of the public. This gleam of hope acquired fresh life, when he

+ saw Quasimodo, Coppenole, and the deafening escort of the pope of the

+ procession of fools quit the hall amid great uproar. The throng rushed

+ eagerly after them. “Good,” he said to himself, “there go all the

+ mischief-makers.” Unfortunately, all the mischief-makers constituted the

+ entire audience. In the twinkling of an eye, the grand hall was empty.

+ 

+ To tell the truth, a few spectators still remained, some scattered, others

+ in groups around the pillars, women, old men, or children, who had had

+ enough of the uproar and tumult. Some scholars were still perched astride

+ of the window-sills, engaged in gazing into the Place.

+ 

+ “Well,” thought Gringoire, “here are still as many as are required to hear

+ the end of my mystery. They are few in number, but it is a choice

+ audience, a lettered audience.”

+ 

+ An instant later, a symphony which had been intended to produce the

+ greatest effect on the arrival of the Virgin, was lacking. Gringoire

+ perceived that his music had been carried off by the procession of the

+ Pope of the Fools. “Skip it,” said he, stoically.

+ 

+ He approached a group of bourgeois, who seemed to him to be discussing his

+ piece. This is the fragment of conversation which he caught,—

+ 

+ “You know, Master Cheneteau, the Hôtel de Navarre, which belonged to

+ Monsieur de Nemours?”

+ 

+ “Yes, opposite the Chapelle de Braque.”

+ 

+ “Well, the treasury has just let it to Guillaume Alixandre, historian, for

+ six hivres, eight sols, parisian, a year.”

+ 

+ “How rents are going up!”

+ 

+ “Come,” said Gringoire to himself, with a sigh, “the others are

+ listening.”

+ 

+ “Comrades,” suddenly shouted one of the young scamps from the window, “La

+ Esmeralda! La Esmeralda in the Place!”

+ 

+ This word produced a magical effect. Every one who was left in the hall

+ flew to the windows, climbing the walls in order to see, and repeating,

+ “La Esmeralda! La Esmeralda?” At the same time, a great sound of applause

+ was heard from without.

+ 

+ “What’s the meaning of this, of the Esmeralda?” said Gringoire, wringing

+ his hands in despair. “Ah, good heavens! it seems to be the turn of the

+ windows now.”

+ 

+ He returned towards the marble table, and saw that the representation had

+ been interrupted. It was precisely at the instant when Jupiter should have

+ appeared with his thunder. But Jupiter was standing motionless at the foot

+ of the stage.

+ 

+ “Michel Giborne!” cried the irritated poet, “what are you doing there? Is

+ that your part? Come up!”

+ 

+ “Alas!” said Jupiter, “a scholar has just seized the ladder.”

+ 

+ Gringoire looked. It was but too true. All communication between his plot

+ and its solution was intercepted.

+ 

+ “The rascal,” he murmured. “And why did he take that ladder?”

+ 

+ “In order to go and see the Esmeralda,” replied Jupiter piteously. “He

+ said, ‘Come, here’s a ladder that’s of no use!’ and he took it.”

+ 

+ This was the last blow. Gringoire received it with resignation.

+ 

+ “May the devil fly away with you!” he said to the comedian, “and if I get

+ my pay, you shall receive yours.”

+ 

+ Then he beat a retreat, with drooping head, but the last in the field,

+ like a general who has fought well.

+ 

+ And as he descended the winding stairs of the courts: “A fine rabble of

+ asses and dolts these Parisians!” he muttered between his teeth; “they

+ come to hear a mystery and don’t listen to it at all! They are engrossed

+ by every one, by Chopin Trouillefou, by the cardinal, by Coppenole, by

+ Quasimodo, by the devil! but by Madame the Virgin Mary, not at all. If I

+ had known, I’d have given you Virgin Mary; you ninnies! And I! to come to

+ see faces and behold only backs! to be a poet, and to reap the success of

+ an apothecary! It is true that Homerus begged through the Greek towns, and

+ that Naso died in exile among the Muscovites. But may the devil flay me if

+ I understand what they mean with their Esmeralda! What is that word, in

+ the first place?—‘tis Egyptian!”

@@ -0,0 +1,35 @@ 

+ [more]

+ other = "Още"

+ 

+ [allTitle]

+ other = "Всички {{.Title }}"

+ 

+ [recentTitle]

+ other = "Последни {{.Title }}"

+ 

+ [readMore]

+ other = "виж още"

+ 

+ [whatsInThis]

+ other = "Съдържание {{ .Type }}"

+ 

+ [related]

+ other = "Подобни"

+ 

+ [yourName]

+ other = "Вашето име"

+ 

+ [emailAddress]

+ other = "Адрес на елекронна поща"

+ 

+ [message]

+ other = "Съобщение"

+ 

+ [emailRequiredNote]

+ other = "Задължително е да предоставите адрес на електронна поща."

+ 

+ [send]

+ other = "Изпрати"

+ 

+ [taxonomyPageList]

+ other = "Below you will find pages that utilize the taxonomy term “{{ .Title }}”" 

\ No newline at end of file

@@ -0,0 +1,35 @@ 

+ [more]

+ other = "Mehr"

+ 

+ [allTitle]

+ other = "Alle {{.Title }}"

+ 

+ [recentTitle]

+ other = "Neuste {{.Title }}"

+ 

+ [readMore]

+ other = "weiterlesen"

+ 

+ [whatsInThis]

+ other = "Was ist in dieser {{ .Type }}"

+ 

+ [related]

+ other = "Ähnliches"

+ 

+ [yourName]

+ other = "Dein Name"

+ 

+ [emailAddress]

+ other = "Email Adresse"

+ 

+ [message]

+ other = "Nachricht"

+ 

+ [emailRequiredNote]

+ other = "Eine Email Adresse wird benötigt."

+ 

+ [send]

+ other = "Senden"

+ 

+ [taxonomyPageList]

+ other = "Below you will find pages that utilize the taxonomy term “{{ .Title }}”" 

\ No newline at end of file

@@ -0,0 +1,35 @@ 

+ [more]

+ other = "More"

+ 

+ [allTitle]

+ other = "All {{.Title }}"

+ 

+ [recentTitle]

+ other = "Recent {{.Title }}"

+ 

+ [readMore]

+ other = "read more"

+ 

+ [whatsInThis]

+ other = "What's in this {{ .Type }}"

+ 

+ [related]

+ other = "Related"

+ 

+ [yourName]

+ other = "Your Name"

+ 

+ [emailAddress]

+ other = "Email Address"

+ 

+ [message]

+ other = "Message"

+ 

+ [emailRequiredNote]

+ other = "An email address is required."

+ 

+ [send]

+ other = "Send"

+ 

+ [taxonomyPageList]

+ other = "Below you will find pages that utilize the taxonomy term “{{ .Title }}”" 

\ No newline at end of file

@@ -0,0 +1,35 @@ 

+ [more]

+ other = "Más"

+ 

+ [allTitle]

+ other = "Todos los {{.Title }}"

+ 

+ [recentTitle]

+ other = "{{.Title }} recientes"

+ 

+ [readMore]

+ other = "Leer más"

+ 

+ [whatsInThis]

+ other = "Qué hay en este {{ .Type }}"

+ 

+ [related]

+ other = "Relacionado"

+ 

+ [yourName]

+ other = "Tu nombre"

+ 

+ [emailAddress]

+ other = "Dirección de correo electrónico"

+ 

+ [message]

+ other = "Mensaje"

+ 

+ [emailRequiredNote]

+ other = "Se requiere una dirección de correo electrónico."

+ 

+ [send]

+ other = "Enviar"

+ 

+ [taxonomyPageList]

+ other = "A continuación encontrará las páginas asociadas a “{{ .Title }}”" 

\ No newline at end of file

@@ -0,0 +1,35 @@ 

+ [more]

+ other = "Plus"

+ 

+ [allTitle]

+ other = "Tous les {{.Title }}"

+ 

+ [recentTitle]

+ other = "{{.Title }} récents"

+ 

+ [readMore]

+ other = "lire plus"

+ 

+ [whatsInThis]

+ other = "Ce qui est dans {{ .Type }}"

+ 

+ [related]

+ other = "Lié"

+ 

+ [yourName]

+ other = "Votre nom"

+ 

+ [emailAddress]

+ other = "Adresse e-mail"

+ 

+ [message]

+ other = "Message"

+ 

+ [emailRequiredNote]

+ other = "Une adresse e-mail est requise."

+ 

+ [send]

+ other = "Envoyer"

+ 

+ [taxonomyPageList]

+ other = "Below you will find pages that utilize the taxonomy term “{{ .Title }}”" 

\ No newline at end of file

@@ -0,0 +1,35 @@ 

+ [more]

+ other = "Több"

+ 

+ [allTitle]

+ other = "További {{.Title }}"

+ 

+ [recentTitle]

+ other = "Friss {{.Title }}"

+ 

+ [readMore]

+ other = "Részletek"

+ 

+ [whatsInThis]

+ other = "{{ .Type }}"

+ 

+ [related]

+ other = "Ajánlott cikkek"

+ 

+ [yourName]

+ other = "Név"

+ 

+ [emailAddress]

+ other = "E-mail cím"

+ 

+ [message]

+ other = "Üzenet"

+ 

+ [emailRequiredNote]

+ other = "E-mail cím megadása kötelező."

+ 

+ [send]

+ other = "Küldés"

+ 

+ [taxonomyPageList]

+ other = "Ezen a lapon a(z) {{ .Title }} kategóriába tartozó cikkeket találod" 

\ No newline at end of file

@@ -0,0 +1,35 @@ 

+ [more]

+ other = "Altro"

+ 

+ [allTitle]

+ other = "Tutti {{.Title }}"

+ 

+ [recentTitle]

+ other = "Recenti {{.Title }}"

+ 

+ [readMore]

+ other = "leggi di più"

+ 

+ [whatsInThis]

+ other = "Cosa c'è in {{ .Type }}"

+ 

+ [related]

+ other = "Correlati"

+ 

+ [yourName]

+ other = "Il tuo nome"

+ 

+ [emailAddress]

+ other = "Indirizzo email"

+ 

+ [message]

+ other = "Messaggio"

+ 

+ [emailRequiredNote]

+ other = "Indirizzo email obbligatorio."

+ 

+ [send]

+ other = "Invia"

+ 

+ [taxonomyPageList]

+ other = "Below you will find pages that utilize the taxonomy term “{{ .Title }}”" 

\ No newline at end of file

@@ -0,0 +1,35 @@ 

+ [more]

+ other = "Meer"

+ 

+ [allTitle]

+ other = "Alle {{.Title }}"

+ 

+ [recentTitle]

+ other = "Recente {{.Title }}"

+ 

+ [readMore]

+ other = "meer lezen"

+ 

+ [whatsInThis]

+ other = "Inhoud van deze {{ .Type }}"

+ 

+ [related]

+ other = "Gerelateerd"

+ 

+ [yourName]

+ other = "Uw naam"

+ 

+ [emailAddress]

+ other = "E-mail adres"

+ 

+ [message]

+ other = "Boodschap"

+ 

+ [emailRequiredNote]

+ other = "Een e-mailadres is vereist."

+ 

+ [send]

+ other = "Stuur"

+ 

+ [taxonomyPageList]

+ other = "Below you will find pages that utilize the taxonomy term “{{ .Title }}”" 

\ No newline at end of file

@@ -0,0 +1,35 @@ 

+ [more]

+ other = "Mer"

+ 

+ [allTitle]

+ other = "Alle {{.Title }}"

+ 

+ [recentTitle]

+ other = "Nyeste {{.Title }}"

+ 

+ [readMore]

+ other = "Les mer"

+ 

+ [whatsInThis]

+ other = "Innhold av {{ .Type }}"

+ 

+ [related]

+ other = "Relaterte"

+ 

+ [yourName]

+ other = "Ditt navn"

+ 

+ [emailAddress]

+ other = "E-postadresse"

+ 

+ [message]

+ other = "beskjed"

+ 

+ [emailRequiredNote]

+ other = "E-postadresse er påkrevd"

+ 

+ [send]

+ other = "Sende"

+ 

+ [taxonomyPageList]

+ other = "Below you will find pages that utilize the taxonomy term “{{ .Title }}”" 

\ No newline at end of file

@@ -0,0 +1,35 @@ 

+ [more]

+ other = "Mais"

+ 

+ [allTitle]

+ other = "Todo o {{.Title }}"

+ 

+ [recentTitle]

+ other = "{{.Title }} Recentes"

+ 

+ [readMore]

+ other = "Leia mais"

+ 

+ [whatsInThis]

+ other = "O que há neste {{ .Type }}"

+ 

+ [related]

+ other = "Relacionado"

+ 

+ [yourName]

+ other = "O teu nome"

+ 

+ [emailAddress]

+ other = "Endereço de e-mail"

+ 

+ [message]

+ other = "Mensagem"

+ 

+ [emailRequiredNote]

+ other = "É necessário um endereço de e-mail."

+ 

+ [send]

+ other = "Enviar"

+ 

+ [taxonomyPageList]

+ other = "Abaixo você encontrará as páginas que utilizam o termo de taxonomia “{{ .Title }}”"

@@ -0,0 +1,35 @@ 

+ [more]

+ other = "Ещё"

+ 

+ [allTitle]

+ other = "Все {{.Title }}"

+ 

+ [recentTitle]

+ other = "Недавние {{.Title }}"

+ 

+ [readMore]

+ other = "читать дальше"

+ 

+ [whatsInThis]

+ other = "Содержание {{ .Type }}"

+ 

+ [related]

+ other = "Схожие"

+ 

+ [yourName]

+ other = "Ваше имя"

+ 

+ [emailAddress]

+ other = "Адрес электронной почты"

+ 

+ [message]

+ other = "Сообщение"

+ 

+ [emailRequiredNote]

+ other = "Требуется адрес электронной почты."

+ 

+ [send]

+ other = "Отправить"

+ 

+ [taxonomyPageList]

+ other = "Ниже вы найдете страницы, на которых используется термин таксономии “{{ .Title }}”"

@@ -0,0 +1,35 @@ 

+ [more]

+ other = "Mer"

+ 

+ [allTitle]

+ other = "Alla {{.Title }}"

+ 

+ [recentTitle]

+ other = "Senaste {{.Title }}"

+ 

+ [readMore]

+ other = "läs mer"

+ 

+ [whatsInThis]

+ other = "Innehåll i {{ .Type }}"

+ 

+ [related]

+ other = "Relaterad"

+ 

+ [yourName]

+ other = "Ditt namn"

+ 

+ [emailAddress]

+ other = "E-postadress"

+ 

+ [message]

+ other = "Meddelande"

+ 

+ [emailRequiredNote]

+ other = "En e-postadress krävs."

+ 

+ [send]

+ other = "Skicka"

+ 

+ [taxonomyPageList]

+ other = "Below you will find pages that utilize the taxonomy term “{{ .Title }}”" 

\ No newline at end of file

@@ -0,0 +1,35 @@ 

+ [more]

+ other = "Ще"

+ 

+ [allTitle]

+ other = "Усі {{.Title }}"

+ 

+ [recentTitle]

+ other = "Нещодавні {{.Title }}"

+ 

+ [readMore]

+ other = "читати далі"

+ 

+ [whatsInThis]

+ other = "Зміст {{ .Type }}"

+ 

+ [related]

+ other = "Подібні"

+ 

+ [yourName]

+ other = "Ваше ім'я"

+ 

+ [emailAddress]

+ other = "Електронна пошта"

+ 

+ [message]

+ other = "Повідомлення"

+ 

+ [emailRequiredNote]

+ other = "Електронна пошта обов'язкова"

+ 

+ [send]

+ other = "Надіслати"

+ 

+ [taxonomyPageList]

+ other = "Below you will find pages that utilize the taxonomy term “{{ .Title }}”" 

\ No newline at end of file

@@ -0,0 +1,35 @@ 

+ [more]

+ other = "更多"

+ 

+ [allTitle]

+ other = "所有 {{.Title }}"

+ 

+ [recentTitle]

+ other = "最近 {{.Title }}"

+ 

+ [readMore]

+ other = "繼續閱讀"

+ 

+ [whatsInThis]

+ other = "更多關於 {{ .Type }}"

+ 

+ [related]

+ other = "相關內容"

+ 

+ [yourName]

+ other = "你的名字"

+ 

+ [emailAddress]

+ other = "Email"

+ 

+ [message]

+ other = "訊息"

+ 

+ [emailRequiredNote]

+ other = "必須填寫 Email"

+ 

+ [send]

+ other = "送出"

+ 

+ [taxonomyPageList]

+ other = "標籤為 “{{ .Title }}” 的頁面如下" 

\ No newline at end of file

@@ -0,0 +1,35 @@ 

+ [more]

+ other = "更多"

+ 

+ [allTitle]

+ other = "所有 {{.Title }}"

+ 

+ [recentTitle]

+ other = "最近 {{.Title }}"

+ 

+ [readMore]

+ other = "继续阅读"

+ 

+ [whatsInThis]

+ other = "这是什么 {{ .Type }}"

+ 

+ [related]

+ other = "相关內容"

+ 

+ [yourName]

+ other = "你的名字"

+ 

+ [emailAddress]

+ other = "电邮地址"

+ 

+ [message]

+ other = "信息"

+ 

+ [emailRequiredNote]

+ other = "需要电子邮件地址。"

+ 

+ [send]

+ other = "发送"

+ 

+ [taxonomyPageList]

+ other = "标签为“{{ .Title }}”的页面如下" 

\ No newline at end of file

empty or binary file added
empty or binary file added
@@ -0,0 +1,8 @@ 

+ {{ define "header" }}{{ partial "page-header.html" . }}{{ end }}

+ {{ define "main" }}

+     <article class="center cf pv5 measure-wide-l">

+       <h1>

+         This is not the page you were looking for

+       </h1>

+     </article>

+ {{ end }}

@@ -0,0 +1,58 @@ 

+ <!DOCTYPE html>

+ <html lang="{{ $.Site.LanguageCode | default "en" }}">

+   <head>

+     <meta charset="utf-8">

+     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

+     {{/* NOTE: the Site's title, and if there is a page title, that is set too */}}

+     <title>{{ block "title" . }}{{ with .Params.Title }}{{ . }} | {{ end }}{{ .Site.Title }}{{ end }}</title>

+     <meta name="viewport" content="width=device-width,minimum-scale=1">

+     <meta name="description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end }}">

+     {{ hugo.Generator }}

+     {{/* NOTE: For Production make sure you add `HUGO_ENV="production"` before your build command */}}

+     {{ if eq (getenv "HUGO_ENV") "production" | or (eq .Site.Params.env "production")  }}

+       <META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">

+     {{ else }}

+       <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">

+     {{ end }}

+ 

+     {{ $stylesheet := .Site.Data.webpack_assets.app }}

+     {{ with $stylesheet.css }}

+       <link href="{{ relURL (printf "%s%s" "dist/" .) }}" rel="stylesheet">

+     {{ end }}

+ 

+     {{ range .Site.Params.custom_css }}

+       <link rel="stylesheet" href="{{ relURL (.) }}">

+     {{ end }}

+ 

+     {{ block "favicon" . }}

+       {{ partialCached "site-favicon.html" . }}

+     {{ end }}

+ 

+     {{ if .OutputFormats.Get "RSS" }}

+     {{ with .OutputFormats.Get "RSS" }}

+       <link href="{{ .RelPermalink }}" rel="alternate" type="application/rss+xml" title="{{ $.Site.Title }}" />

+       <link href="{{ .RelPermalink }}" rel="feed" type="application/rss+xml" title="{{ $.Site.Title }}" />

+       {{ end }}

+     {{ end }}

+     

+     {{/* NOTE: These Hugo Internal Templates can be found starting at https://github.com/gohugoio/hugo/tree/master/tpl/tplimpl/embedded/templates */}}

+     {{- template "_internal/opengraph.html" . -}}

+     {{- template "_internal/schema.html" . -}}

+     {{- template "_internal/twitter_cards.html" . -}}

+ 

+     {{ if eq (getenv "HUGO_ENV") "production" | or (eq .Site.Params.env "production")  }}

+       {{ template "_internal/google_analytics_async.html" . }}

+     {{ end }}

+ 	{{ block "head" . }}{{ partial "head-additions.html" . }}{{ end }}

+   </head>

+ 

+   <body class="ma0 {{ $.Param "body_classes"  | default "avenir bg-near-white"}}{{ with getenv "HUGO_ENV" }} {{ . }}{{ end }}">

+ 

+     {{ block "header" . }}{{ partial "site-header.html" .}}{{ end }}

+     <main class="pb7" role="main">

+       {{ block "main" . }}{{ end }}

+     </main>

+     {{ block "footer" . }}{{ partialCached "site-footer.html" . }}{{ end }}

+     {{ block "scripts" . }}{{ partialCached "site-scripts.html" . }}{{ end }}

+   </body>

+ </html>

@@ -0,0 +1,15 @@ 

+ {{ define "main" }}

+   <article class="pa3 pa4-ns nested-copy-line-height nested-img">

+     <section class="cf ph3 ph5-l pv3 pv4-l f4 tc-l center measure-wide lh-copy mid-gray">

+       {{- .Content -}}

+     </section>

+     <section class="flex-ns flex-wrap justify-around mt5">

+       {{ range .Paginator.Pages }}

+         <div class="relative w-100 w-30-l mb4 bg-white">

+           {{- partial "summary.html" . -}}

+         </div>

+       {{ end }}

+     </section>

+     {{- template "_internal/pagination.html" . -}}

+   </article>

+ {{ end }}

@@ -0,0 +1,66 @@ 

+ {{ define "header" }}

+    {{/* We can override any block in the baseof file be defining it in the template */}}

+   {{ partial "page-header.html" . }}

+ {{ end }}

+ 

+ {{ define "main" }}

+   {{ $section := .Site.GetPage "section" .Section }}

+   <article class="flex-l flex-wrap justify-between mw8 center ph3">

+     <header class="mt4 w-100">

+       <aside class="instapaper_ignoref b helvetica tracked">

+           {{/*

+           CurrentSection allows us to use the section title instead of inferring from the folder.

+           https://gohugo.io/variables/page/#section-variables-and-methods

+           */}}

+         {{with .CurrentSection.Title }}{{. | upper }}{{end}}

+       </aside>

+       {{ partial "social-share.html" . }}

+       <h1 class="f1 athelas mt3 mb1">

+         {{- .Title -}}

+       </h1>

+       {{ with .Params.author }}

+       <p class="tracked">

+           By <strong>

+           {{ if reflect.IsSlice . }}

+               {{ delimit . ", " | markdownify }}

+           {{else}}

+               {{ . | markdownify }}

+           {{ end }}

+           </strong>

+       </p>

+       {{ end }}

+       {{/* Hugo uses Go's date formatting is set by example. Here are two formats */}}

+       <time class="f6 mv4 dib tracked" {{ printf `datetime="%s"` (.Date.Format "2006-01-02T15:04:05Z07:00") | safeHTMLAttr }}>

+         {{- .Date.Format "January 2, 2006" -}}

+       </time>

+ 

+       {{/*

+           Show "reading time" and "word count" but only if one of the following are true:

+           1) A global config `params` value is set `show_reading_time = true`

+           2) A section front matter value is set `show_reading_time = true`

+           3) A page front matter value is set `show_reading_time = true`

+         */}}

+       {{ if (or (eq (.Param "show_reading_time") true) (eq $section.Params.show_reading_time true) )}}

+         <span class="f6 mv4 dib tracked"> - {{ .ReadingTime}} minutes read</span>

+         <span class="f6 mv4 dib tracked"> - {{ .WordCount}} words</span>

+       {{ end }}

+     </header>

+     <div class="nested-copy-line-height lh-copy {{ $.Param "post_content_classes"  | default "serif"}} f4 nested-links nested-img mid-gray pr4-l w-two-thirds-l">

+       {{- .Content -}}

+       {{- partial "tags.html" . -}}

+       <div class="mt6 instapaper_ignoref">

+       {{ if .Site.DisqusShortname }}

+         {{ template "_internal/disqus.html" . }}

+       {{ end }}

+       {{ if .Site.Params.commentoEnable }}

+         {{- partial "commento.html" . -}}

+       {{ end }}

+       </div>

+     </div>

+ 

+     <aside class="w-30-l mt6-l">

+       {{- partial "menu-contextual.html" . -}}

+     </aside>

+ 

+   </article>

+ {{ end }}

@@ -0,0 +1,16 @@ 

+ {{ define "main" }}

+   <article class="cf pa3 pa4-m pa4-l">

+     <div class="measure-wide-l center f4 lh-copy nested-copy-line-height nested-links nested-img mid-gray">

+       <p>{{i18n "taxonomyPageList" .}}</p>

+     </div>

+   </article>

+   <div class="mw8 center">    

+     <section class="flex-ns flex-wrap justify-around mt5">

+       {{ range  .Pages }}

+         <div class="relative w-100  mb4 bg-white">

+           {{ partial "summary.html" . }}

+         </div>

+       {{ end }}

+     </section>

+   </div>

+ {{ end }}

@@ -0,0 +1,22 @@ 

+ {{ define "main" }}

+     {{ $data := .Data }}

+   <article class="cf pa3 pa4-m pa4-l">

+     <div class="measure-wide-l center f4 lh-copy nested-copy-line-height nested-links nested-img mid-gray">

+       {{ .Content }}

+     </div>

+   </article>

+   <div class="mw8 center">

+     <section class="ph4">

+       {{ range $key, $value := .Data.Terms }}

+         <h2 class="f1">

+           <a href="{{ "/" | relLangURL }}{{ $.Data.Plural | urlize }}/{{ $key | urlize }}" class="link blue hover-black">

+             {{ $.Data.Singular | humanize }}: {{ $key }}

+           </a>

+         </h2>

+         {{ range $value.Pages }}

+           {{ partial "summary.html" . }}

+         {{ end }}

+       {{ end }}

+     </section>

+   </div>

+ {{ end }}

@@ -0,0 +1,55 @@ 

+ {{ define "main" }}

+   <article class="cf ph3 ph5-l pv3 pv4-l f4 tc-l center measure-wide lh-copy mid-gray">

+     {{ .Content }}

+   </article>

+   {{/* Define a section to pull recent posts from. For Hugo 0.20 this will default to the section with the most number of pages. */}}

+   {{ $mainSections := .Site.Params.mainSections | default (slice "post") }}

+   {{/* Create a variable with that section to use in multiple places. */}}

+   {{ $section := where .Site.RegularPages "Section" "in" $mainSections }}

+   {{/* Check to see if the section is defined for ranging through it */}}

+   {{ $section_count := len $section }}

+   {{ if ge $section_count 1 }}

+     {{/* Derive the section name  */}}

+     {{ $section_name := index (.Site.Params.mainSections) 0 }}

+ 

+     <div class="pa3 pa4-ns w-100 w-70-ns center">

+       {{/* Use $section_name to get the section title. Use "with" to only show it if it exists */}}

+        {{ with .Site.GetPage "section" $section_name }}

+           <h1 class="flex-none">

+             {{ $.Param "recent_copy" | default (i18n "recentTitle" .) }}

+           </h1>

+         {{ end }}

+ 

+       {{ $n_posts := $.Param "recent_posts_number" | default 3 }}

+ 

+       <section class="w-100 mw8">

+         {{/* Range through the first $n_posts items of the section */}}

+         {{ range (first $n_posts $section) }}

+           <div class="relative w-100 mb4">

+             {{ partial "summary-with-image.html" . }}

+           </div>

+         {{ end }}

+       </section>

+ 

+       {{ if ge $section_count (add $n_posts 1) }}

+       <section class="w-100">

+         <h1 class="f3">{{ i18n "more" }}</h1>

+         {{/* Now, range through the next four after the initial $n_posts items. Nest the requirements, "after" then "first" on the outside */}}

+         {{ range (first 4 (after $n_posts $section))  }}

+           <h2 class="f5 fw4 mb4 dib mr3">

+             <a href="{{ .Permalink }}" class="link black dim">

+               {{ .Title }}

+             </a>

+           </h2>

+         {{ end }}

+ 

+         {{/* As above, Use $section_name to get the section title, and URL. Use "with" to only show it if it exists */}}

+         {{ with .Site.GetPage "section" $section_name }}

+           <a href="{{ .Permalink }}" class="link db f6 pa2 br3 bg-mid-gray white dim w4 tc">{{ i18n "allTitle" . }}</a>

+         {{ end }}

+         </section>

+       {{ end }}

+ 

+       </div>

+   {{ end }}

+ {{ end }}

@@ -0,0 +1,18 @@ 

+ {{ define "header" }}{{ partial "page-header.html" . }}{{ end }}

+ {{ define "main" }}

+   <div class="flex-l mt2 mw8 center">

+     <article class="center cf pv5 ph3 ph4-ns mw7">

+       <header>

+         <p class="f6 b helvetica tracked">

+           {{ humanize .Section | upper  }}

+         </p>

+         <h1 class="f1">

+           {{ .Title }}

+         </h1>

+       </header>

+       <div class="nested-copy-line-height lh-copy f4 nested-links nested-img mid-gray">

+         {{ .Content }}

+       </div>

+     </article>

+   </div>

+ {{ end }}

@@ -0,0 +1,2 @@ 

+ <div id="commento"></div>

+ <script defer src="https://cdn.commento.io/js/commento.js"></script>

@@ -0,0 +1,35 @@ 

+ {{/* 

+     GetFeaturedImage

+ 

+     This partial gets the url for featured image for a given page. 

+     

+     If a featured_image was set in the page's front matter, then that will be used.

+ 

+     If not set, this will search page resources to find an image that contains the word

+     "cover", and if found, returns the path to that resource.

+ 

+     If no featured_image was set, and there's no "cover" image in page resources, then

+     this partial returns an empty string (which evaluates to false).

+ 

+     @return Permalink to featured image, or an empty string if not found.

+ 

+ */}}

+ 

+ {{/* Declare a new string variable, $linkToCover */}}

+ {{ $linkToCover := "" }}

+ 

+ {{/* Use the value from front matter if present */}}

+ {{ if .Params.featured_image }}

+     {{ $linkToCover = .Params.featured_image }}

+ 

+ {{/* Find the first image with 'cover' in the name in this page bundle. */}}

+ {{ else }}

+     {{ $img := (.Resources.ByType "image").GetMatch "*cover*" }}

+     {{ with $img }}

+         {{ $linkToCover = .Permalink }}

+     {{ end }}

+ {{ end }}

+ 

+ {{/* return either a permalink, or an empty string. Note that partials can only have a single

+ return statement, so this needs to be at the end of the partial (and not in the if block) */}}

+ {{ return $linkToCover }} 

\ No newline at end of file

@@ -0,0 +1,10 @@ 

+ {{ if .IsTranslated }}

+ <h4>{{ i18n "translations" }}</h4>

+ <ul class="pl0 mr3">

+     {{ range .Translations }}

+     <li class="list f5 f4-ns fw4 dib pr3">

+         <a class="hover-white no-underline white-90" href="{{ .RelPermalink }}">{{ .Lang }}</a>

+     </li>

+     {{ end}}

+ </ul>

+ {{ end }}

@@ -0,0 +1,33 @@ 

+ {{/*

+   Use Hugo's native Table of contents feature. You must set `toc: true` in your parameters for this to show.

+   https://gohugo.io/content-management/toc/

+ */}}

+ 

+ {{- if .Params.toc -}}

+   <div class="bg-light-gray pa3 nested-list-reset nested-copy-line-height nested-links">

+     <p class="f5 b mb3">{{ i18n "whatsInThis" . }}</p>

+       {{ .TableOfContents }}

+   </div>

+ {{- end -}}

+ 

+ {{/*

+   Use Hugo's native related content feature to pull in content that may have similar parameters, like tags. etc.

+   https://gohugo.io/content-management/related/

+ */}}

+ 

+ {{ $related := .Site.RegularPages.Related . | first 15 }}

+ 

+ {{ with $related }}

+   <div class="bg-light-gray pa3 nested-list-reset nested-copy-line-height nested-links">

+     <p class="f5 b mb3">{{ i18n "related" }}</p>

+     <ul class="pa0 list">

+ 	   {{ range . }}

+ 	     <li  class="mb2">

+           <a href="{{ .RelPermalink }}">

+             {{- .Title -}}

+           </a>

+         </li>

+ 	    {{ end }}

+     </ul>

+ </div>

+ {{ end }}

@@ -0,0 +1,2 @@ 

+ {{ $new_window_icon_size := "8px" }}

+ <span class="new-window">{{ partial "svg/new-window.svg" (dict "size" $new_window_icon_size) }}</span> 

\ No newline at end of file

@@ -0,0 +1,26 @@ 

+ {{ $featured_image := partial "func/GetFeaturedImage.html" . }}

+ {{ if $featured_image }}

+   {{/* Trimming the slash and adding absURL make sure the image works no matter where our site lives */}}

+   {{ $featured_image := (trim $featured_image "/") | absURL }}

+   <header class="cover bg-top" style="background-image: url('{{ $featured_image }}');">

+     <div class="pb3-m pb6-l bg-black-60">

+       {{ partial "site-navigation.html" . }}

+       <div class="tc-l pv6 ph3 ph4-ns">

+         {{ if not .Params.omit_header_text }}

+           <h1 class="f2 f1-l fw2 white-90 mb0 lh-title">{{ .Title | default .Site.Title }}</h1>

+           {{ with .Params.description  }}

+             <h2 class="fw1 f5 f3-l white-80 measure-wide-l center lh-copy mt3 mb4">

+               {{ . }}

+             </h2>

+           {{ end }}

+         {{ end }}

+       </div>

+     </div>

+   </header>

+ {{ else }}

+   <header>

+     <div class="{{ .Site.Params.background_color_class | default "bg-black" }}">

+       {{ partial "site-navigation.html" . }}

+     </div>

+   </header>

+ {{ end }}

@@ -0,0 +1,3 @@ 

+ {{ if .Site.Params.favicon }}

+ <link rel="shortcut icon" href="{{ relURL ($.Site.Params.favicon) }}" type="image/x-icon" />

+ {{ end }}

@@ -0,0 +1,8 @@ 

+ <footer class="{{ .Site.Params.background_color_class | default "bg-black" }} bottom-0 w-100 pa3" role="contentinfo">

+   <div class="flex justify-between">

+   <a class="f4 fw4 hover-white no-underline white-70 dn dib-ns pv2 ph3" href="{{ .Site.BaseURL }}" >

+     &copy; {{ with .Site.Copyright | default .Site.Title }} {{ . | safeHTML }} {{ now.Format "2006"}} {{ end }}

+   </a>

+     <div>{{ partial "social-follow.html" . }}</div>

+   </div>

+ </footer>

@@ -0,0 +1,36 @@ 

+ {{ $featured_image := .Param "featured_image"}}

+ {{ if $featured_image }}

+   {{/* Trimming the slash and adding absURL make sure the image works no matter where our site lives */}}

+   {{ $featured_image := (trim $featured_image "/") | absURL }}

+   <header class="cover bg-top" style="background-image: url('{{ $featured_image }}');">

+     <div class="{{ .Site.Params.cover_dimming_class | default "bg-black-60" }}">

+       {{ partial "site-navigation.html" .}}

+       <div class="tc-l pv4 pv6-l ph3 ph4-ns">

+         <h1 class="f2 f-subheadline-l fw2 white-90 mb0 lh-title">

+           {{ .Title | default .Site.Title }}

+         </h1>

+         {{ with .Params.description }}

+           <h2 class="fw1 f5 f3-l white-80 measure-wide-l center mt3">

+             {{ . }}

+           </h2>

+         {{ end }}

+       </div>

+     </div>

+   </header>

+ {{ else }}

+   <header>

+     <div class="pb3-m pb6-l {{ .Site.Params.background_color_class | default "bg-black" }}">

+       {{ partial "site-navigation.html" . }}

+       <div class="tc-l pv3 ph3 ph4-ns">

+         <h1 class="f2 f-subheadline-l fw2 light-silver mb0 lh-title">

+           {{ .Title | default .Site.Title }}

+         </h1>

+         {{ with .Params.description }}

+           <h2 class="fw1 f5 f3-l white-80 measure-wide-l center lh-copy mt3 mb4">

+             {{ . }}

+           </h2>

+         {{ end }}

+       </div>

+     </div>

+   </header>

+ {{ end }}

@@ -0,0 +1,26 @@ 

+ <nav class="pv3 ph3 ph4-ns" role="navigation">

+   <div class="flex-l justify-between items-center center">

+     <a href="{{ .Site.Home.RelPermalink }}" class="f3 fw2 hover-white no-underline white-90 dib">

+       {{ with .Site.Params.site_logo }}

+         <img src="{{ . }}" class="w100 mw5-ns" alt="{{ $.Site.Title }}" />

+       {{ else }}

+         {{ .Site.Title }}

+       {{ end }}

+     </a>

+     <div class="flex-l items-center">

+       {{ partial "i18nlist.html" . }}

+       {{ if .Site.Menus.main }}

+         <ul class="pl0 mr3">

+           {{ range .Site.Menus.main }}

+           <li class="list f5 f4-ns fw4 dib pr3">

+             <a class="hover-white no-underline white-90" href="{{ .URL }}" title="{{ .Name }} page">

+               {{ .Name }}

+             </a>

+           </li>

+           {{ end }}

+         </ul>

+       {{ end }}

+       {{ partialCached "social-follow.html" . }}

+     </div>

+   </div>

+ </nav>

@@ -0,0 +1,4 @@ 

+ {{ $script := .Site.Data.webpack_assets.app }}

+ {{ with $script.js }}

+   <script src="{{ relURL (printf "%s%s" "dist/" .) }}"></script>

+ {{ end }}

@@ -0,0 +1,80 @@ 

+ <!-- TODO: Add follow intents where available TODO: Revisit color and hover color -->

+ {{ $icon_size := "32px" }}

+ {{ with .Param "stackoverflow" }}

+ <a href="{{ . }}" target="_blank" class="link-transition stackoverflow link dib z-999 pt3 pt0-l mr1" title="Stack Overflow link" rel="noopener" aria-label="follow on Stack Overflow——Opens in a new window">

+   {{ partial "svg/stackoverflow.svg" (dict "size" $icon_size) }}

+   {{- partial "new-window-icon.html" . -}}

+ </a>

+ {{ end }}

+ {{ with .Param "facebook" }}

+ <a href="{{ . }}" target="_blank" class="link-transition facebook link dib z-999 pt3 pt0-l mr1" title="Facebook link" rel="noopener" aria-label="follow on Facebook——Opens in a new window">

+   {{ partial "svg/facebook.svg" (dict "size" $icon_size) }}

+   {{- partial "new-window-icon.html" . -}}

+ </a>

+ {{ end }}

+ {{ with .Param "twitter" }}

+ <a href="{{ . }}" target="_blank" class="link-transition twitter link dib z-999 pt3 pt0-l mr1" title="Twitter link" rel="noopener" aria-label="follow on Twitter——Opens in a new window">

+   {{ partial "svg/twitter.svg" (dict "size" $icon_size) }}

+   {{- partial "new-window-icon.html" . -}}

+ </a>

+ {{ end }}

+ {{ with .Param "instagram" }}

+ <a href="{{ . }}" target="_blank" class="link-transition instagram link dib z-999 pt3 pt0-l mr1" title="Instagram link" rel="noopener" aria-label="follow on Instagram——Opens in a new window">

+   {{ partial "svg/instagram.svg" (dict "size" $icon_size) }}

+   {{- partial "new-window-icon.html" . -}}

+ </a>

+ {{ end }}

+ {{ with .Param "youtube" }}

+ <a href="{{ . }}" target="_blank" class="link-transition youtube link dib z-999 pt3 pt0-l mr1" title="Youtube link" rel="noopener" aria-label="follow on Youtube——Opens in a new window">

+   {{ partial "svg/youtube.svg" (dict "size" $icon_size) }}

+   {{- partial "new-window-icon.html" . -}}

+ </a>

+ {{ end }}

+ {{ with .Param "linkedin" }}

+ <a href="{{ . }}" target="_blank" class="link-transition linkedin link dib z-999 pt3 pt0-l mr1" title="LinkedIn link" rel="noopener" aria-label="follow on LinkedIn——Opens in a new window">

+   {{ partial "svg/linkedin.svg" (dict "size" $icon_size) }}

+   {{- partial "new-window-icon.html" . -}}

+ </a>

+ {{ end }}

+ {{ with .Param "github" }}

+ <a href="{{ . }}" target="_blank" class="link-transition github link dib z-999 pt3 pt0-l mr1" title="Github link" rel="noopener" aria-label="follow on Github——Opens in a new window">

+   {{ partial "svg/github.svg" (dict "size" $icon_size) }}

+   {{- partial "new-window-icon.html" . -}}

+ </a>

+ {{ end }}

+ {{ with .Param "gitlab" }}

+ <a href="{{ . }}" target="_blank" class="link-transition gitlab link dib z-999 pt3 pt0-l mr1" title="Gitlab link" rel="noopener" aria-label="follow on Gitlab——Opens in a new window">

+   {{ partial "svg/gitlab.svg" (dict "size" $icon_size) }}

+   {{- partial "new-window-icon.html" . -}}

+ </a>

+ {{ end }}

+ {{ with .Param "keybase" }}

+ <a href="{{ . }}" target="_blank" class="link-transition keybase link dib z-999 pt3 pt0-l mr1" title="Keybase link" rel="noopener" aria-label="follow on Keybase——Opens in a new window">

+   {{ partial "svg/keybase.svg" (dict "size" $icon_size) }}

+   {{- partial "new-window-icon.html" . -}}

+ </a>

+ {{ end }}

+ {{ with .Param "medium" }}

+ <a href="{{ . }}" target="_blank" class="link-transition medium link dib z-999 pt3 pt0-l mr1" title="Medium link" rel="noopener" aria-label="follow on Medium——Opens in a new window">

+   {{ partial "svg/medium.svg" (dict "size" $icon_size) }}

+   {{- partial "new-window-icon.html" . -}}

+ </a>

+ {{ end }}

+ {{ with .Param "mastodon" }}

+ <a href="{{ . }}" target="_blank" class="link-transition mastodon link dib z-999 pt3 pt0-l mr1" title="Mastodon link" rel="noopener" aria-label="follow on Mastodon——Opens in a new window">

+   {{ partial "svg/mastodon.svg" (dict "size" $icon_size) }}

+   {{- partial "new-window-icon.html" . -}}

+ </a>

+ {{ end }}

+ {{ with .Param "slack" }}

+ <a href="{{ . }}" target="_blank" class="link-transition slack link dib z-999 pt3 pt0-l mr1" title="Slack link" rel="noopener" aria-label="follow on Slack——Opens in a new window">

+   {{ partial "svg/slack.svg" (dict "size" $icon_size) }}

+   {{- partial "new-window-icon.html" . -}}

+ </a>

+ {{ end }}

+ {{ with .Param "rss" }}

+ <a href="{{ . }}" target="_blank" class="link-transition rss link dib z-999 pt3 pt0-l mr1" title="RSS link" rel="noopener" aria-label="RSS——Opens in a new window">

+   {{ partial "svg/rss.svg" (dict "size" $icon_size) }}

+   {{- partial "new-window-icon.html" . -}}

+ </a>

+ {{ end }}

@@ -0,0 +1,26 @@ 

+ {{ $title := .Title }}

+ {{ $url := printf "%s" .Permalink | absLangURL }}

+ {{ $icon_size := "32px" }}

+ 

+ {{ if not .Params.disable_share }}

+   <div id="sharing" class="mt3">

+ 

+     {{ $facebook_href := printf "https://www.facebook.com/sharer.php?u=%s" $url }}

+     <a href="{{ $facebook_href }}" class="facebook no-underline" aria-label="share on Facebook">

+       {{ partialCached "svg/facebook.svg" (dict "size" $icon_size) $icon_size }}

+     </a>

+ 

+     {{ $twitter_href := printf "https://twitter.com/share?url=%s&text=%s" $url $title }}

+     {{ with .Site.Social.twitter }}

+       {{ $twitter_href = printf "%s&via=%s" $twitter_href . }}

+     {{ end }}

+     <a href="{{ $twitter_href }}" class="twitter no-underline" aria-label="share on Twitter">

+       {{ partialCached "svg/twitter.svg" (dict "size" $icon_size) $icon_size }}

+     </a>

+ 

+     {{ $linkedin_href := printf "https://www.linkedin.com/shareArticle?mini=true&url=%s&title=%s" $url $title }}

+     <a href="{{ $linkedin_href }}" class="linkedin no-underline" aria-label="share on LinkedIn">

+       {{ partialCached "svg/linkedin.svg" (dict "size" $icon_size) $icon_size }}

+     </a>

+   </div>

+ {{ end }}

@@ -0,0 +1,29 @@ 

+ {{ $featured_image := partial "func/GetFeaturedImage.html" . }}

+ <article class="bb b--black-10">

+   <div class="db pv4 ph3 ph0-l no-underline dark-gray">

+     <div class="flex flex-column flex-row-ns">

+       {{ if $featured_image }}

+           {{/* Trimming the slash and adding absURL make sure the image works no matter where our site lives */}}

+         {{ $featured_image := (trim $featured_image "/") | absURL }}

+         <div class="pr3-ns mb4 mb0-ns w-100 w-40-ns">

+           <a href="{{.Permalink}}" class="db grow">

+             <img src="{{ $featured_image }}" class="img" alt="image from {{ .Title }}">

+           </a>

+         </div>

+       {{ end }}

+       <div class="blah w-100{{ if $featured_image }} w-60-ns pl3-ns{{ end }}">

+         <h1 class="f3 fw1 athelas mt0 lh-title">

+           <a href="{{.Permalink}}" class="color-inherit dim link">

+             {{ .Title }}

+             </a>

+         </h1>

+         <div class="f6 f5-l lh-copy nested-copy-line-height nested-links">

+           {{ .Summary }}

+         </div>

+           <a href="{{.Permalink}}" class="ba b--moon-gray bg-light-gray br2 color-inherit dib f7 hover-bg-moon-gray link mt2 ph2 pv1">{{ $.Param "read_more_copy" | default (i18n "readMore") }}</a>

+         {{/* TODO: add author

+         <p class="f6 lh-copy mv0">By {{ .Author }}</p> */}}

+       </div>

+     </div>

+   </div>

+ </article>

@@ -0,0 +1,13 @@ 

+ <div class="relative w-100 mb4 bg-white nested-copy-line-height">

+   <div class="bg-white mb3 pa4 gray overflow-hidden">

+     <span class="f6 db">{{ humanize .Section }}</span>

+     <h1 class="f3 near-black">

+       <a href="{{ .Permalink }}" class="link black dim">

+         {{ .Title }}

+       </a>

+     </h1>

+     <div class="nested-links f5 lh-copy nested-copy-line-height">

+       {{ .Summary  }}

+     </div>

+   </div>

+ </div>

@@ -0,0 +1,1 @@ 

+ <svg{{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 67 67;" version="1.1" viewBox="0 0 67 67" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M28.765,50.32h6.744V33.998h4.499l0.596-5.624h-5.095  l0.007-2.816c0-1.466,0.14-2.253,2.244-2.253h2.812V17.68h-4.5c-5.405,0-7.307,2.729-7.307,7.317v3.377h-3.369v5.625h3.369V50.32z   M33,64C16.432,64,3,50.569,3,34S16.432,4,33,4s30,13.431,30,30S49.568,64,33,64z" style="fill-rule:evenodd;clip-rule:evenodd;"/></svg>

@@ -0,0 +1,3 @@ 

+ <svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 512 512;" version="1.1" viewBox="0 0 512 512" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >

+   <path d="M256,32C132.3,32,32,134.8,32,261.7c0,101.5,64.2,187.5,153.2,217.9c11.2,2.1,15.3-5,15.3-11.1   c0-5.5-0.2-19.9-0.3-39.1c-62.3,13.9-75.5-30.8-75.5-30.8c-10.2-26.5-24.9-33.6-24.9-33.6c-20.3-14.3,1.5-14,1.5-14   c22.5,1.6,34.3,23.7,34.3,23.7c20,35.1,52.4,25,65.2,19.1c2-14.8,7.8-25,14.2-30.7c-49.7-5.8-102-25.5-102-113.5   c0-25.1,8.7-45.6,23-61.6c-2.3-5.8-10-29.2,2.2-60.8c0,0,18.8-6.2,61.6,23.5c17.9-5.1,37-7.6,56.1-7.7c19,0.1,38.2,2.6,56.1,7.7   c42.8-29.7,61.5-23.5,61.5-23.5c12.2,31.6,4.5,55,2.2,60.8c14.3,16.1,23,36.6,23,61.6c0,88.2-52.4,107.6-102.3,113.3   c8,7.1,15.2,21.1,15.2,42.5c0,30.7-0.3,55.5-0.3,63c0,6.1,4,13.3,15.4,11C415.9,449.1,480,363.1,480,261.7   C480,134.8,379.7,32,256,32z"/>

+ </svg>

@@ -0,0 +1,1 @@ 

+ <svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 512 512;" version="1.1" viewBox="0 0 512 512" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="M29.782 199.732L256 493.714 8.074 309.699c-6.856-5.142-9.712-13.996-7.141-21.993l28.849-87.974zm75.405-174.806c-3.142-8.854-15.709-8.854-18.851 0L29.782 199.732h131.961L105.187 24.926zm56.556 174.806L256 493.714l94.257-293.982H161.743zm349.324 87.974l-28.849-87.974L256 493.714l247.926-184.015c6.855-5.142 9.711-13.996 7.141-21.993zm-85.404-262.78c-3.142-8.854-15.709-8.854-18.851 0l-56.555 174.806h131.961L425.663 24.926z"></path></svg>

@@ -0,0 +1,1 @@ 

+ <svg{{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 67 67;" version="1.1" viewBox="0 0 67 67" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M42.271,26.578v-0.006c0.502,0,1.005,0.01,1.508-0.002  c0.646-0.017,1.172-0.57,1.172-1.217c0-0.963,0-1.927,0-2.89c0-0.691-0.547-1.24-1.236-1.241c-0.961,0-1.922-0.001-2.883,0  c-0.688,0.001-1.236,0.552-1.236,1.243c-0.001,0.955-0.004,1.91,0.003,2.865c0.001,0.143,0.028,0.291,0.073,0.426  c0.173,0.508,0.639,0.82,1.209,0.823C41.344,26.579,41.808,26.578,42.271,26.578z M33,27.817c-3.384-0.002-6.135,2.721-6.182,6.089  c-0.049,3.46,2.72,6.201,6.04,6.272c3.454,0.074,6.248-2.686,6.321-6.043C39.254,30.675,36.462,27.815,33,27.817z M21.046,31.116  v0.082c0,4.515-0.001,9.03,0,13.545c0,0.649,0.562,1.208,1.212,1.208c7.16,0.001,14.319,0.001,21.479,0  c0.656,0,1.215-0.557,1.215-1.212c0.001-4.509,0-9.02,0-13.528v-0.094h-2.912c0.411,1.313,0.537,2.651,0.376,4.014  c-0.161,1.363-0.601,2.631-1.316,3.803s-1.644,2.145-2.779,2.918c-2.944,2.006-6.821,2.182-9.946,0.428  c-1.579-0.885-2.819-2.12-3.685-3.713c-1.289-2.373-1.495-4.865-0.739-7.451C22.983,31.116,22.021,31.116,21.046,31.116z   M45.205,49.255c0.159-0.026,0.318-0.049,0.475-0.083c1.246-0.265,2.264-1.304,2.508-2.557c0.025-0.137,0.045-0.273,0.067-0.409  V21.794c-0.021-0.133-0.04-0.268-0.065-0.401c-0.268-1.367-1.396-2.428-2.78-2.618c-0.058-0.007-0.113-0.02-0.17-0.03H20.761  c-0.147,0.027-0.296,0.047-0.441,0.08c-1.352,0.308-2.352,1.396-2.545,2.766c-0.008,0.057-0.02,0.114-0.029,0.171V46.24  c0.028,0.154,0.05,0.311,0.085,0.465c0.299,1.322,1.427,2.347,2.77,2.52c0.064,0.008,0.13,0.021,0.195,0.03H45.205z M33,64  C16.432,64,3,50.569,3,34S16.432,4,33,4s30,13.431,30,30S49.568,64,33,64z" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/></svg>

@@ -0,0 +1,3 @@ 

+ <svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 33 33;" version="1.1" viewBox="0 0 33 33" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

+     <path d="M16.1477825,0.840201442 C7.31178255,0.840201442 0.147782547,8.00420144 0.147782547,16.8402014 C0.147782547,25.6762014 7.31178255,32.8402014 16.1477825,32.8402014 C24.9837825,32.8402014 32.1477825,25.6762014 32.1477825,16.8402014 C32.1477825,8.00420144 24.9837825,0.840201442 16.1477825,0.840201442 Z M14.533,26.371 C14.533,26.899 14.105,27.324 13.579,27.324 C13.054,27.324 12.625,26.899 12.625,26.371 C12.625,25.845 13.053,25.417 13.578,25.417 C14.102,25.417 14.529,25.848 14.529,26.372 M14.75,5 L15.957,5.71 C15.361,6.981 15.428,7.453 15.461,7.558 C15.942,7.544 16.516,7.647 17.172,7.863 C18.254,8.223 19.119,8.988 19.61,10.023 C20.097,11.055 20.14,12.214 19.73,13.278 C19.719,13.306 19.707,13.334 19.695,13.361 L19.695,13.361 L19.925,13.439 C21.375,13.957 22.72,14.804 23.88,15.943 C23.898,15.962 23.915,15.978 23.93,15.996 L23.93,15.996 L24.065,16.127 L24.156,16.226 L24.232,16.306 C24.342,16.426 24.447,16.545 24.551,16.665 C24.598,16.721 24.647,16.773 24.692,16.834 C24.739,16.893 24.789,16.949 24.835,17.009 L24.835,17.009 L24.991,17.213 C26.389,19.066 27.174,21.288 27.175,23.487 C27.175,25.567 26.77,27.436 25.994,28.999 L25.994,28.999 L24.383,28.999 C25.508,27.174 25.763,25.05 25.763,23.487 C25.763,22.989 25.713,22.489 25.622,21.991 L25.622,21.991 L25.518,22.156 C24.605,23.452 22.85,23.945 21.045,23.413 C16.879,22.192 13.21,22.708 10.135,24.942 L10.135,24.942 L8.395,26.21 L9.38,23.119 L7.467,25.149 C7.728,26.571 8.314,27.883 9.147,28.997 L9.147,28.997 L7.45,28.997 C6.957,28.189 6.571,27.312 6.305,26.382 L6.305,26.382 L5,27.769 L5.0005667,25.4970384 C5.01020062,22.6453117 5.18361111,19.2052778 8.305,16.048 C9.379,14.965 10.619,14.126 11.965,13.564 C11.633,12.878 11.495,12.098 11.56,11.258 L11.56,11.258 L10.558,11.197 C9.53,11.133 8.742,10.247 8.803,9.218 L8.803,9.218 L8.803,9.215 L8.891,7.813 C8.951,6.829 9.771,6.058 10.761,6.058 C10.795,6.058 10.832,6.058 10.865,6.061 L10.865,6.061 L10.877,6.061 L12.273,6.147 C12.752,6.175 13.19,6.382 13.518,6.727 C13.815,6.294 14.133,5.854 14.463,5.399 L14.463,5.399 L14.75,5 Z M19.493,25.417 C20.019,25.417 20.447,25.848 20.447,26.372 L20.451,26.371 C20.451,26.899 20.023,27.324 19.496,27.324 C18.97,27.324 18.544,26.899 18.544,26.371 C18.544,25.845 18.967,25.417 19.493,25.417 Z M12.981,11.191 C13.104,10.189 13.559,9.242 14.211,8.221 C14.236,8.271 14.265,8.318 14.295,8.365 C14.559,8.763 15.008,8.99 15.494,8.97 C15.711,8.962 16.099,8.995 16.727,9.202 C17.441,9.438 18.013,9.946 18.335,10.627 C18.657,11.308 18.684,12.069 18.414,12.776 C18.241,13.221 17.96,13.596 17.608,13.885 L17.2,13.383 L17.198,13.38 C16.919,13.039 16.504,12.845 16.064,12.845 C15.729,12.845 15.4,12.962 15.139,13.175 C14.805,13.445 14.625,13.835 14.605,14.233 C13.405,13.692 12.805,12.59 12.977,11.192 L12.981,11.191 L12.981,11.191 Z M17.285,16.301 L16.766,16.726 C16.72,16.762 16.671,16.779 16.62,16.779 C16.554,16.779 16.487,16.749 16.443,16.694 L16.332,16.559 C16.249,16.459 16.265,16.309 16.366,16.225 L16.876,15.805 L15.821,14.506 C15.712,14.373 15.73,14.176 15.865,14.07 C15.923,14.022 15.991,13.998 16.059,13.998 C16.15,13.998 16.24,14.036 16.299,14.111 L19.262,17.756 C19.371,17.891 19.352,18.086 19.22,18.192 C19.181,18.221 19.138,18.245 19.094,18.255 C19.071,18.261 19.049,18.264 19.024,18.264 C18.934,18.264 18.846,18.224 18.784,18.151 L18.489,17.786 L17.444,18.64 C17.398,18.677 17.344,18.695 17.29,18.695 C17.222,18.695 17.151,18.665 17.104,18.605 L16.627,18.026 C16.545,17.924 16.559,17.774 16.662,17.69 L17.713,16.833 L17.287,16.3 L17.285,16.301 L17.285,16.301 Z M11.84,9.866 L10.644,9.791 C10.389,9.776 10.194,9.556 10.209,9.303 L10.299,7.902 C10.313,7.657 10.515,7.466 10.76,7.466 L10.784,7.466 L12.185,7.557 C12.308,7.563 12.421,7.617 12.502,7.709 C12.585,7.803 12.625,7.919 12.618,8.045 L12.611,8.146 C12.291,8.713 12.026,9.28 11.838,9.866 L11.84,9.866 L11.84,9.866 Z M24.364,21.347 C23.799,22.152 22.677,22.428 21.44,22.065 C17.554,20.924 14.044,21.162 10.972,22.766 L12.608,17.643 L7.317,23.252 C7.416,19.49 9.77,16.286 13.075,14.941 C13.546,15.314 14.109,15.601 14.748,15.782 C14.908,15.826 15.07,15.856 15.228,15.884 C15.045,16.342 15.109,16.881 15.438,17.291 L15.513,17.381 C15.341,17.831 15.408,18.356 15.734,18.755 L16.209,19.337 C16.475,19.662 16.868,19.85 17.288,19.85 C17.609,19.85 17.923,19.739 18.174,19.536 L18.459,19.304 C18.633,19.378 18.826,19.417 19.025,19.417 C19.138,19.417 19.247,19.407 19.355,19.382 C19.573,19.332 19.779,19.232 19.953,19.091 C20.576,18.581 20.673,17.656 20.162,17.031 L18.492,14.975 C18.637,14.858 18.773,14.731 18.9,14.594 C19.035,14.631 19.171,14.672 19.3,14.714 C19.566,14.811 19.833,14.912 20.095,15.029 C21.1,15.474 22.049,16.129 22.866,16.926 C22.895,16.956 22.925,16.981 22.951,17.009 L23.121,17.184 C23.159,17.223 23.197,17.263 23.232,17.304 C23.311,17.389 23.392,17.479 23.471,17.571 L23.597,17.721 C23.642,17.774 23.683,17.825 23.727,17.881 L23.841,18.031 C23.881,18.082 23.92,18.133 23.958,18.185 C24.796,19.334 24.945,20.514 24.362,21.342 L24.362,21.347 L24.364,21.347 Z M11.806,9.115 L10.971,9.064 L11.024,8.229 L11.858,8.28 L11.806,9.115 Z" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/>

+ </svg>

@@ -0,0 +1,3 @@ 

+ <svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 65 65;" version="1.1" viewBox="0 0 65 65" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

+   <path d="M50.837,48.137V36.425c0-6.275-3.35-9.195-7.816-9.195  c-3.604,0-5.219,1.983-6.119,3.374V27.71h-6.79c0.09,1.917,0,20.427,0,20.427h6.79V36.729c0-0.609,0.044-1.219,0.224-1.655  c0.49-1.22,1.607-2.483,3.482-2.483c2.458,0,3.44,1.873,3.44,4.618v10.929H50.837z M22.959,24.922c2.367,0,3.842-1.57,3.842-3.531  c-0.044-2.003-1.475-3.528-3.797-3.528s-3.841,1.524-3.841,3.528c0,1.961,1.474,3.531,3.753,3.531H22.959z M34,64  C17.432,64,4,50.568,4,34C4,17.431,17.432,4,34,4s30,13.431,30,30C64,50.568,50.568,64,34,64z M26.354,48.137V27.71h-6.789v20.427  H26.354z" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/>

+ </svg>

@@ -0,0 +1,4 @@ 

+ <svg{{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 230 230;" version="1.1" viewBox="0 0 230 230" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

+ <path d="M211.80683 139.0875c-3.1825 16.36625-28.4925 34.2775-57.5625 37.74875-15.16 1.80875-30.0825 3.47125-45.99875 2.74125-26.0275-1.1925-46.565-6.2125-46.565-6.2125 0 2.53375.15625 4.94625.46875 7.2025 3.38375 25.68625 25.47 27.225 46.3925 27.9425 21.115.7225 39.91625-5.20625 39.91625-5.20625l.86875 19.09s-14.77 7.93125-41.08125 9.39c-14.50875.7975-32.52375-.365-53.50625-5.91875C9.23183 213.82 1.40558 165.31125.20808 116.09125c-.36375-14.61375-.14-28.39375-.14-39.91875 0-50.33 32.97625-65.0825 32.97625-65.0825C49.67058 3.45375 78.20308.2425 107.86433 0h.72875c29.66125.2425 58.21125 3.45375 74.8375 11.09 0 0 32.97625 14.7525 32.97625 65.0825 0 0 .4125 37.13375-4.6 62.915" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/>

+ <path d="M65.68743 96.45938c0 9.01375-7.3075 16.32125-16.3225 16.32125-9.01375 0-16.32-7.3075-16.32-16.32125 0-9.01375 7.30625-16.3225 16.32-16.3225 9.015 0 16.3225 7.30875 16.3225 16.3225M124.52893 96.45938c0 9.01375-7.30875 16.32125-16.3225 16.32125-9.01375 0-16.32125-7.3075-16.32125-16.32125 0-9.01375 7.3075-16.3225 16.32125-16.3225 9.01375 0 16.3225 7.30875 16.3225 16.3225M183.36933 96.45938c0 9.01375-7.3075 16.32125-16.32125 16.32125-9.01375 0-16.32125-7.3075-16.32125-16.32125 0-9.01375 7.3075-16.3225 16.32125-16.3225 9.01375 0 16.32125 7.30875 16.32125 16.3225" fill="#fff"/>

+ </svg>

@@ -0,0 +1,3 @@ 

+ <svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 170 170;" version="1.1" viewBox="0 0 170 170" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >

+ <path d="M46.5340803,65.2157554 C46.6968378,63.6076572 46.0836,62.018231 44.8828198,60.93592 L32.6512605,46.2010582 L32.6512605,44 L70.6302521,44 L99.9859944,108.380952 L125.794585,44 L162,44 L162,46.2010582 L151.542017,56.2281011 C150.640424,56.9153477 150.193188,58.0448862 150.380019,59.1628454 L150.380019,132.837155 C150.193188,133.955114 150.640424,135.084652 151.542017,135.771899 L161.755369,145.798942 L161.755369,148 L110.38282,148 L110.38282,145.798942 L120.963119,135.527337 C122.002801,134.487948 122.002801,134.182246 122.002801,132.592593 L122.002801,73.0417402 L92.585901,147.755438 L88.6106443,147.755438 L54.3622782,73.0417402 L54.3622782,123.115814 C54.0767278,125.221069 54.7759199,127.3406 56.2581699,128.863022 L70.0186741,145.55438 L70.0186741,147.755438 L31,147.755438 L31,145.55438 L44.7605042,128.863022 C46.2319621,127.338076 46.8903838,125.204485 46.5340803,123.115814 L46.5340803,65.2157554 Z" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/>

+ </svg>

@@ -0,0 +1,3 @@ 

+ <svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 1000 1000;" version="1.1" viewBox="0 0 1000 1000" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >

+ <path d="M598 128h298v298h-86v-152l-418 418-60-60 418-418h-152v-86zM810 810v-298h86v298c0 46-40 86-86 86h-596c-48 0-86-40-86-86v-596c0-46 38-86 86-86h298v86h-298v596h596z" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/>

+ </svg>

@@ -0,0 +1,5 @@ 

+ <svg xmlns="http://www.w3.org/2000/svg" {{ with .size }}height="{{ . }}" width="{{ . }}"{{ end }} viewBox="0 0 24 24">

+     <circle cx="6.18" cy="17.82" r="2.18"/>

+     <path id="scale" d="M4 4.44v2.83c7.03 0 12.73 5.7 12.73 12.73h2.83c0-8.59-6.97-15.56-15.56-15.56zm0 5.66v2.83c3.9 0 7.07 3.17 7.07 7.07h2.83c0-5.47-4.43-9.9-9.9-9.9z"/>

+ </svg>

+ 

@@ -0,0 +1,27 @@ 

+ <svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 65 65 150 135;" version="1.1" viewBox="65 65 150 135" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">

+ <style type="text/css">

+ 	.st0{fill:#BABABA;}

+ </style>

+ <g>

+ 	<g>

+ 		<path class="st0" d="M99.4,151.2c0,7.1-5.8,12.9-12.9,12.9s-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9h12.9V151.2z"/>

+ 		<path class="st0" d="M105.9,151.2c0-7.1,5.8-12.9,12.9-12.9s12.9,5.8,12.9,12.9v32.3c0,7.1-5.8,12.9-12.9,12.9

+ 			s-12.9-5.8-12.9-12.9C105.9,183.5,105.9,151.2,105.9,151.2z"/>

+ 	</g>

+ 	<g>

+ 		<path class="st0" d="M118.8,99.4c-7.1,0-12.9-5.8-12.9-12.9s5.8-12.9,12.9-12.9s12.9,5.8,12.9,12.9v12.9H118.8z"/>

+ 		<path class="st0" d="M118.8,105.9c7.1,0,12.9,5.8,12.9,12.9s-5.8,12.9-12.9,12.9H86.5c-7.1,0-12.9-5.8-12.9-12.9

+ 			s5.8-12.9,12.9-12.9C86.5,105.9,118.8,105.9,118.8,105.9z"/>

+ 	</g>

+ 	<g>

+ 		<path class="st0" d="M170.6,118.8c0-7.1,5.8-12.9,12.9-12.9c7.1,0,12.9,5.8,12.9,12.9s-5.8,12.9-12.9,12.9h-12.9V118.8z"/>

+ 		<path class="st0" d="M164.1,118.8c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9V86.5c0-7.1,5.8-12.9,12.9-12.9

+ 			c7.1,0,12.9,5.8,12.9,12.9V118.8z"/>

+ 	</g>

+ 	<g>

+ 		<path class="st0" d="M151.2,170.6c7.1,0,12.9,5.8,12.9,12.9c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9v-12.9H151.2z"/>

+ 		<path class="st0" d="M151.2,164.1c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9h32.3c7.1,0,12.9,5.8,12.9,12.9

+ 			c0,7.1-5.8,12.9-12.9,12.9H151.2z"/>

+ 	</g>

+ </g>

+ </svg>

@@ -0,0 +1,8 @@ 

+ <svg{{ with .size }} height="{{ . }}" {{ end }}

+     style="enable-background:new 0 0 67 67;"

+     xmlns="http://www.w3.org/2000/svg"

+     viewBox="0 0 24 24"

+     width="{{ .size }}"

+ >

+     <path d="M12 0c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm.869 5.903l3.114 4.567-.975.665-3.115-4.567.976-.665zm-2.812 2.585l4.84 2.838-.6 1.017-4.842-2.838.602-1.017zm-1.276 2.724l5.413 1.521-.291 1.077-5.428-1.458.306-1.14zm-.588 2.461l5.687.569-.103 1.12-5.691-.513.107-1.176zm-.169 2.16h5.835v1.167h-5.835v-1.167zm7.976 3.167h-10v-6h1v5h8v-5h1v6zm.195-8.602l-.945-5.446 1.162-.202.947 5.446-1.164.202z"/>

+ </svg>

@@ -0,0 +1,1 @@ 

+ <svg{{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 67 67;" version="1.1" viewBox="0 0 67 67" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M37.167,22.283c-2.619,0.953-4.274,3.411-4.086,6.101  l0.063,1.038l-1.048-0.127c-3.813-0.487-7.145-2.139-9.974-4.915l-1.383-1.377l-0.356,1.017c-0.754,2.267-0.272,4.661,1.299,6.271  c0.838,0.89,0.649,1.017-0.796,0.487c-0.503-0.169-0.943-0.296-0.985-0.233c-0.146,0.149,0.356,2.076,0.754,2.839  c0.545,1.06,1.655,2.097,2.871,2.712l1.027,0.487l-1.215,0.021c-1.173,0-1.215,0.021-1.089,0.467  c0.419,1.377,2.074,2.839,3.918,3.475l1.299,0.444l-1.131,0.678c-1.676,0.976-3.646,1.526-5.616,1.568  C19.775,43.256,19,43.341,19,43.405c0,0.211,2.557,1.397,4.044,1.864c4.463,1.377,9.765,0.783,13.746-1.568  c2.829-1.673,5.657-5,6.978-8.221c0.713-1.716,1.425-4.851,1.425-6.354c0-0.975,0.063-1.102,1.236-2.267  c0.692-0.678,1.341-1.419,1.467-1.631c0.21-0.403,0.188-0.403-0.88-0.043c-1.781,0.636-2.033,0.551-1.152-0.402  c0.649-0.678,1.425-1.907,1.425-2.267c0-0.063-0.314,0.042-0.671,0.233c-0.377,0.212-1.215,0.53-1.844,0.72l-1.131,0.361l-1.027-0.7  c-0.566-0.381-1.361-0.805-1.781-0.932C39.766,21.902,38.131,21.944,37.167,22.283z M33,64C16.432,64,3,50.569,3,34S16.432,4,33,4  s30,13.431,30,30S49.568,64,33,64z" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/></svg>

@@ -0,0 +1,1 @@ 

+ <svg{{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 67 67;" version="1.1" viewBox="0 0 67 67" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M42.527,41.34c-0.278,0-0.478,0.078-0.6,0.244  c-0.121,0.156-0.18,0.424-0.18,0.796v0.896h1.543V42.38c0-0.372-0.062-0.64-0.185-0.796C42.989,41.418,42.792,41.34,42.527,41.34z   M36.509,41.309c0.234,0,0.417,0.076,0.544,0.23c0.123,0.155,0.185,0.383,0.185,0.682v4.584c0,0.286-0.053,0.487-0.153,0.611  c-0.1,0.127-0.256,0.189-0.47,0.189c-0.148,0-0.287-0.033-0.421-0.096c-0.135-0.062-0.274-0.171-0.415-0.313v-5.531  c0.119-0.122,0.239-0.213,0.36-0.271C36.26,41.335,36.383,41.309,36.509,41.309z M41.748,44.658v1.672  c0,0.468,0.057,0.792,0.17,0.974c0.118,0.181,0.313,0.269,0.592,0.269c0.289,0,0.491-0.076,0.606-0.229  c0.114-0.153,0.175-0.489,0.175-1.013v-0.405h1.795v0.456c0,0.911-0.217,1.596-0.657,2.059c-0.435,0.459-1.089,0.687-1.958,0.687  c-0.781,0-1.398-0.242-1.847-0.731c-0.448-0.486-0.676-1.157-0.676-2.014v-3.986c0-0.768,0.249-1.398,0.742-1.882  c0.493-0.484,1.128-0.727,1.911-0.727c0.799,0,1.413,0.225,1.843,0.674c0.429,0.448,0.642,1.093,0.642,1.935v2.264H41.748z   M38.623,48.495c-0.271,0.336-0.669,0.501-1.187,0.501c-0.343,0-0.646-0.062-0.912-0.192c-0.267-0.129-0.519-0.327-0.746-0.601  v0.681h-1.764V36.852h1.764v3.875c0.237-0.27,0.485-0.478,0.748-0.616c0.267-0.143,0.534-0.212,0.805-0.212  c0.554,0,0.975,0.189,1.265,0.565c0.294,0.379,0.438,0.933,0.438,1.66v4.926C39.034,47.678,38.897,48.159,38.623,48.495z   M30.958,48.884v-0.976c-0.325,0.361-0.658,0.636-1.009,0.822c-0.349,0.191-0.686,0.282-1.014,0.282  c-0.405,0-0.705-0.129-0.913-0.396c-0.201-0.266-0.305-0.658-0.305-1.189v-7.422h1.744v6.809c0,0.211,0.037,0.362,0.107,0.457  c0.077,0.095,0.196,0.141,0.358,0.141c0.128,0,0.292-0.062,0.488-0.188c0.197-0.125,0.375-0.283,0.542-0.475v-6.744h1.744v8.878  H30.958z M24.916,38.6v10.284h-1.968V38.6h-2.034v-1.748h6.036V38.6H24.916z M32.994,32.978c0-0.001,12.08,0.018,13.514,1.45  c1.439,1.435,1.455,8.514,1.455,8.555c0,0-0.012,7.117-1.455,8.556C45.074,52.969,32.994,53,32.994,53s-12.079-0.031-13.516-1.462  c-1.438-1.435-1.441-8.502-1.441-8.556c0-0.041,0.004-7.12,1.441-8.555C20.916,32.996,32.994,32.977,32.994,32.978z M42.52,29.255  h-1.966v-1.08c-0.358,0.397-0.736,0.703-1.13,0.909c-0.392,0.208-0.771,0.312-1.14,0.312c-0.458,0-0.797-0.146-1.027-0.437  c-0.229-0.291-0.345-0.727-0.345-1.311v-8.172h1.962v7.497c0,0.231,0.045,0.399,0.127,0.502c0.08,0.104,0.216,0.156,0.399,0.156  c0.143,0,0.327-0.069,0.548-0.206c0.22-0.137,0.423-0.312,0.605-0.527v-7.422h1.966V29.255z M31.847,27.588  c0.139,0.147,0.339,0.219,0.6,0.219c0.266,0,0.476-0.075,0.634-0.223c0.157-0.152,0.235-0.358,0.235-0.618v-5.327  c0-0.214-0.08-0.387-0.241-0.519c-0.16-0.131-0.37-0.196-0.628-0.196c-0.241,0-0.435,0.065-0.586,0.196  c-0.148,0.132-0.225,0.305-0.225,0.519v5.327C31.636,27.233,31.708,27.439,31.847,27.588z M30.408,19.903  c0.528-0.449,1.241-0.674,2.132-0.674c0.812,0,1.48,0.237,2.001,0.711c0.517,0.473,0.777,1.083,0.777,1.828v5.051  c0,0.836-0.255,1.491-0.762,1.968c-0.513,0.476-1.212,0.714-2.106,0.714c-0.858,0-1.547-0.246-2.064-0.736  c-0.513-0.492-0.772-1.152-0.772-1.983v-5.068C29.613,20.954,29.877,20.351,30.408,19.903z M24.262,16h-2.229l2.634,8.003v5.252  h2.213v-5.5L29.454,16h-2.25l-1.366,5.298h-0.139L24.262,16z M33,64C16.432,64,3,50.569,3,34S16.432,4,33,4s30,13.431,30,30  S49.568,64,33,64z" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/></svg>

@@ -0,0 +1,9 @@ 

+ <ul class="pa0">

+   {{ range .Params.tags }}

+    <li class="list">

+      <a href="{{ "/tags/" | relLangURL }}{{ . | urlize }}" class="link f5 grow no-underline br-pill ba ph3 pv2 mb2 dib black sans-serif">

+        {{- . -}}

+      </a>

+    </li>

+   {{ end }}

+ </ul>

@@ -0,0 +1,21 @@ 

+ {{ define "main" }}

+ {{/*

+   This template is the same as the default and is here to demonstrate that if you have a content directory called "post" you can create a layouts directory, just for that section.

+    */}}

+   <article class="pa3 pa4-ns nested-copy-line-height nested-img">

+     <section class="cf ph3 ph5-l pv3 pv4-l f4 tc-l center measure-wide lh-copy mid-gray">

+       {{ .Content }}

+     </section>

+     <aside class="flex-ns flex-wrap justify-around mt5">

+       {{ range .Paginator.Pages }}

+         <div class="relative w-100 w-30-l mb4 bg-white">

+           {{/*

+           Note we can use `.Render` here for items just in this section, instead of a partial to pull in items for the list page. https://gohugo.io/functions/render/

+           */}}

+           {{ .Render "summary" }}

+         </div>

+       {{ end }}

+     </aside>

+     {{ template "_internal/pagination.html" . }}

+   </article>

+ {{ end }}

@@ -0,0 +1,20 @@ 

+ <article class="bb b--black-10">

+   <a class="db pv4 ph3 ph0-l no-underline dark-gray dim" href="{{ .Permalink }}">

+     <div class="flex flex-column flex-row-ns">

+       {{ $featured_image := partial "func/GetFeaturedImage.html" . }}

+       {{ if $featured_image }}

+         <div class="pr3-ns mb4 mb0-ns w-100 w-40-ns">

+           <img src="{{ $featured_image }}" class="db" alt="image from {{ .Title }}">

+         </div>

+       {{ end }}

+       <div class="w-100{{ if $featured_image }} w-60-ns pl3-ns{{ end }}">

+         <h1 class="f3 fw1 athelas mt0 lh-title">{{ .Title }}</h1>

+         <div class="f6 f5-l lh-copy nested-copy-line-height">

+           {{ .Summary }}

+         </div>

+         {{/* TODO: add author

+         <p class="f6 lh-copy mv0">By {{ .Author }}</p> */}}

+       </div>

+     </div>

+   </a>

+ </article>

@@ -0,0 +1,15 @@ 

+   <div class="mb3 pa4 mid-gray overflow-hidden">

+     {{ if .Date }}

+       <div class="f6">

+         {{ .Date.Format "January 2, 2006" }}

+       </div>

+     {{ end }}

+     <h1 class="f3 near-black">

+       <a href="{{ .Permalink }}" class="link black dim">

+         {{ .Title }}

+       </a>

+     </h1>

+     <div class="nested-links f5 lh-copy nested-copy-line-height">

+       {{ .Summary  }}

+     </div>

+   </div>

@@ -0,0 +1,7 @@ 

+ User-agent: *

+ # robotstxt.org - if ENV production variable is false robots will be disallowed.

+ {{ if eq (getenv "HUGO_ENV") "production" | or (eq .Site.Params.env "production")  }}

+   Disallow:

+ {{ else }}

+   Disallow: /

+ {{ end }}

@@ -0,0 +1,20 @@ 

+ {{ $.Scratch.Add "labelClasses" "f6 b db mb1 mt3 sans-serif mid-gray" }}

+ {{ $.Scratch.Add "inputClasses" "w-100 f5 pv3 ph3 bg-light-gray bn" }}

+ 

+ <form class="black-80 sans-serif" accept-charset="UTF-8" action="{{ .Get "action" }}" method="POST" role="form">

+ 

+     <label class="{{ $.Scratch.Get "labelClasses" }}"  for="name">{{ i18n "yourName" }}</label>

+     <input type="text" id="name" name="name" class="{{ $.Scratch.Get "inputClasses" }}"  required placeholder=" "  aria-labelledby="name"/>

+ 

+     <label class="{{ $.Scratch.Get "labelClasses" }}" for="email">{{ i18n "emailAddress" }}</label>

+     <input type="email" id="email" name="email" class="{{ $.Scratch.Get "inputClasses" }}"  required placeholder=" "  aria-labelledby="email"/>

+     <div class="requirements f6 gray glow i ph3 overflow-hidden">

+       {{ i18n "emailRequiredNote" }}

+     </div>

+ 

+     <label class="{{ $.Scratch.Get "labelClasses" }}" for="message">{{ i18n "message" }}</label>

+     <textarea id="message" name="message" class="{{ $.Scratch.Get "inputClasses" }} h4" aria-labelledby="message"></textarea>

+ 

+     <input class="db w-100 mv2 white pa3 bn hover-shadow hover-bg-black bg-animate bg-black" type="submit" value="{{ i18n "send" }}" />

+ 

+ </form>

@@ -0,0 +1,132 @@ 

+ {

+   "name": "gohugo-default-theme",

+   "version": "2.5.6",

+   "lockfileVersion": 1,

+   "requires": true,

+   "dependencies": {

+     "auto-changelog": {

+       "version": "1.16.1",

+       "resolved": "https://registry.npmjs.org/auto-changelog/-/auto-changelog-1.16.1.tgz",

+       "integrity": "sha512-1OMUN5UWWhKtlEMpGUfbLFcZHDf4IXMNU4SsGs44xTlSBhjgTOx9ukbahoC7hTqIm6+sRAnlAbLY4UjbDZY18A==",

+       "dev": true,

+       "requires": {

+         "commander": "^3.0.1",

+         "core-js": "^3.2.1",

+         "handlebars": "^4.1.2",

+         "lodash.uniqby": "^4.7.0",

+         "node-fetch": "^2.6.0",

+         "parse-github-url": "^1.0.2",

+         "regenerator-runtime": "^0.13.3",

+         "semver": "^6.3.0"

+       }

+     },

+     "commander": {

+       "version": "3.0.2",

+       "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz",

+       "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==",

+       "dev": true

+     },

+     "core-js": {

+       "version": "3.3.4",

+       "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.3.4.tgz",

+       "integrity": "sha512-BtibooaAmSOptGLRccsuX/dqgPtXwNgqcvYA6kOTTMzonRxZ+pJS4e+6mvVutESfXMeTnK8m3M+aBu3bkJbR+w==",

+       "dev": true

+     },

+     "handlebars": {

+       "version": "4.4.5",

+       "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.4.5.tgz",

+       "integrity": "sha512-0Ce31oWVB7YidkaTq33ZxEbN+UDxMMgThvCe8ptgQViymL5DPis9uLdTA13MiRPhgvqyxIegugrP97iK3JeBHg==",

+       "dev": true,

+       "requires": {

+         "neo-async": "^2.6.0",

+         "optimist": "^0.6.1",

+         "source-map": "^0.6.1",

+         "uglify-js": "^3.1.4"

+       }

+     },

+     "lodash.uniqby": {

+       "version": "4.7.0",

+       "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz",

+       "integrity": "sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI=",

+       "dev": true

+     },

+     "minimist": {

+       "version": "0.0.10",

+       "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",

+       "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",

+       "dev": true

+     },

+     "neo-async": {

+       "version": "2.6.1",

+       "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",

+       "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==",

+       "dev": true

+     },

+     "node-fetch": {

+       "version": "2.6.0",

+       "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",

+       "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==",

+       "dev": true

+     },

+     "optimist": {

+       "version": "0.6.1",

+       "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",

+       "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",

+       "dev": true,

+       "requires": {

+         "minimist": "~0.0.1",

+         "wordwrap": "~0.0.2"

+       }

+     },

+     "parse-github-url": {

+       "version": "1.0.2",

+       "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz",

+       "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==",

+       "dev": true

+     },

+     "regenerator-runtime": {

+       "version": "0.13.3",

+       "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",

+       "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==",

+       "dev": true

+     },

+     "semver": {

+       "version": "6.3.0",

+       "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",

+       "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",

+       "dev": true

+     },

+     "source-map": {

+       "version": "0.6.1",

+       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",

+       "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",

+       "dev": true

+     },

+     "uglify-js": {

+       "version": "3.6.4",

+       "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.4.tgz",

+       "integrity": "sha512-9Yc2i881pF4BPGhjteCXQNaXx1DCwm3dtOyBaG2hitHjLWOczw/ki8vD1bqyT3u6K0Ms/FpCShkmfg+FtlOfYA==",

+       "dev": true,

+       "optional": true,

+       "requires": {

+         "commander": "~2.20.3",

+         "source-map": "~0.6.1"

+       },

+       "dependencies": {

+         "commander": {

+           "version": "2.20.3",

+           "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",

+           "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",

+           "dev": true,

+           "optional": true

+         }

+       }

+     },

+     "wordwrap": {

+       "version": "0.0.3",

+       "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",

+       "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",

+       "dev": true

+     }

+   }

+ }

@@ -0,0 +1,26 @@ 

+ {

+   "name": "gohugo-default-theme",

+   "version": "2.6.1",

+   "description": "Base Theme to start Hugo Sites",

+   "main": "index.js",

+   "repository": {

+     "type": "git",

+     "url": "git+https://github.com/theNewDynamic/thenewdynamic.com.git"

+   },

+   "scripts": {

+     "version": "auto-changelog -p --template keepachangelog --commit-limit 0 && git add CHANGELOG.md"

+   },

+   "keywords": [

+     "hugo",

+     "gohugo"

+   ],

+   "author": "budparr",

+   "license": "MIT",

+   "bugs": {

+     "url": "https://github.com/theNewDynamic/thenewdynamic.com/issues"

+   },

+   "homepage": "https://github.com/theNewDynamic/thenewdynamic.com#readme",

+   "devDependencies": {

+     "auto-changelog": "^1.16.1"

+   }

+ }

@@ -0,0 +1,24 @@ 

+ pre, .pre  {

+   overflow-x: auto;

+   overflow-y: hidden;

+   overflow:   scroll;

+ }

+ 

+ 

+ pre  code {

+   display: block;

+   padding: 1.5em 1.5em;

+   white-space: pre;

+   font-size: .875rem;

+   line-height: 2;

+ 

+ }

+ 

+ pre {

+   background-color: #222;

+   color: #ddd;

+   white-space: pre;

+ 

+   hyphens: none;

+   position: relative;

+ }

@@ -0,0 +1,31 @@ 

+ /* pagination.html: https://github.com/spf13/hugo/blob/master/tpl/tplimpl/template_embedded.go#L117 */

+ .pagination {

+   margin: 3rem 0;

+ }

+ 

+ .pagination li {

+   display: inline-block;

+   margin-right: .375rem;

+   font-size: .875rem;

+   margin-bottom: 2.5em;

+ }

+ .pagination li a {

+   padding: .5rem .625rem;

+   background-color: white;

+   color: #333;

+   border: 1px solid #ddd;

+   border-radius: 3px;

+   text-decoration: none;

+ }

+ .pagination li.disabled {

+   display: none;

+ }

+ .pagination li.active a:link,

+ .pagination li.active a:active,

+ .pagination li.active a:visited {

+   background-color: #ddd;

+ }

+ 

+ #TableOfContents ul li {

+   margin-bottom: 1em;

+ }

@@ -0,0 +1,64 @@ 

+ .facebook, .twitter, .instagram, .youtube, .github, .gitlab, .keybase, .linkedin, .medium, .mastodon, .slack, .stackoverflow, .rss {

+   fill: #BABABA;

+ }

+ 

+ .new-window {

+   opacity: 0;

+   display: inline-block;

+   vertical-align: top;

+ }

+ .link-transition:hover .new-window{

+   opacity: 1;

+ }

+ 

+ .facebook:hover {

+   fill: #3b5998;

+ }

+ 

+ .twitter:hover {

+   fill: #1da1f2;

+ }

+ 

+ .instagram:hover {

+   fill: #e1306c;

+ }

+ 

+ .youtube:hover {

+   fill: #cd201f;

+ }

+ 

+ .github:hover {

+   fill: #6cc644;

+ }

+ 

+ .gitlab:hover {

+   fill: #FC6D26;

+ }

+ 

+ .keybase:hover {

+   fill: #3d76ff;

+ }

+ 

+ .linkedin:hover {

+   fill: #0077b5

+ }

+ 

+ .medium:hover {

+   fill: #0077b5

+ }

+ 

+ .mastodon:hover {

+   fill: #3088d4;

+ }

+ 

+ .slack:hover {

+   fill: #E01E5A;

+ }

+ 

+ .stackoverflow:hover {

+   fill: #f48024;

+ }

+ 

+ .rss:hover{

+   fill: #ff6f1a;

+ }

@@ -0,0 +1,20 @@ 

+ /* Put your custom styles here and run `npm start` from the "src" directory on */

+ 

+ #TableOfContents ul li {

+   margin-bottom: 1em;

+ }

+ 

+ .lh-copy blockquote {

+   display: block;

+   font-size: .875em;

+   margin-left: 2rem;

+   margin-top: 2rem;

+   margin-bottom: 2rem;

+   border-left: 4px solid #ccc;

+   padding-left: 1rem;

+ 

+ }

+ 

+ .nested-links a{

+   overflow-wrap: break-word;

+ } 

\ No newline at end of file

@@ -0,0 +1,94 @@ 

+ /*! TACHYONS v4.9.1 | http://tachyons.io */

+ 

+ /*

+  *

+  *      ________            ______

+  *      ___  __/_____ _________  /______  ______________________

+  *      __  /  _  __ `/  ___/_  __ \_  / / /  __ \_  __ \_  ___/

+  *      _  /   / /_/ // /__ _  / / /  /_/ // /_/ /  / / /(__  )

+  *      /_/    \__,_/ \___/ /_/ /_/_\__, / \____//_/ /_//____/

+  *                                 /____/

+  *

+  *    TABLE OF CONTENTS

+  *

+  *    1. External Library Includes

+  *       - Normalize.css | http://normalize.css.github.io

+  *    2. Tachyons Modules

+  *    3. Variables

+  *       - Media Queries

+  *       - Colors

+  *    4. Debugging

+  *       - Debug all

+  *       - Debug children

+  *

+  */

+ 

+ 

+ /* External Library Includes */

+ @import 'tachyons/src/_normalize';

+ 

+ 

+ /* Modules */

+ @import 'tachyons/src/_box-sizing';

+ @import 'tachyons/src/_aspect-ratios';

+ @import 'tachyons/src/_images';

+ @import 'tachyons/src/_background-size';

+ @import 'tachyons/src/_background-position';

+ @import 'tachyons/src/_outlines';

+ @import 'tachyons/src/_borders';

+ @import 'tachyons/src/_border-colors';

+ @import 'tachyons/src/_border-radius';

+ @import 'tachyons/src/_border-style';

+ @import 'tachyons/src/_border-widths';

+ @import 'tachyons/src/_box-shadow';

+ @import 'tachyons/src/_code';

+ @import 'tachyons/src/_coordinates';

+ @import 'tachyons/src/_clears';

+ @import 'tachyons/src/_display';

+ @import 'tachyons/src/_flexbox';

+ @import 'tachyons/src/_floats';

+ @import 'tachyons/src/_font-family';

+ @import 'tachyons/src/_font-style';

+ @import 'tachyons/src/_font-weight';

+ @import 'tachyons/src/_forms';

+ @import 'tachyons/src/_heights';

+ @import 'tachyons/src/_letter-spacing';

+ @import 'tachyons/src/_line-height';

+ @import 'tachyons/src/_links';

+ @import 'tachyons/src/_lists';

+ @import 'tachyons/src/_max-widths';

+ @import 'tachyons/src/_widths';

+ @import 'tachyons/src/_overflow';

+ @import 'tachyons/src/_position';

+ @import 'tachyons/src/_opacity';

+ @import 'tachyons/src/_rotations';

+ @import 'tachyons/src/_skins';

+ @import 'tachyons/src/_skins-pseudo';

+ @import 'tachyons/src/_spacing';

+ @import 'tachyons/src/_negative-margins';

+ @import 'tachyons/src/_tables';

+ @import 'tachyons/src/_text-decoration';

+ @import 'tachyons/src/_text-align';

+ @import 'tachyons/src/_text-transform';

+ @import 'tachyons/src/_type-scale';

+ @import 'tachyons/src/_typography';

+ @import 'tachyons/src/_utilities';

+ @import 'tachyons/src/_visibility';

+ @import 'tachyons/src/_white-space';

+ @import 'tachyons/src/_vertical-align';

+ @import 'tachyons/src/_hovers';

+ @import 'tachyons/src/_z-index';

+ @import 'tachyons/src/_nested';

+ @import 'tachyons/src/_styles';

+ 

+ /* Variables */

+ /* Importing here will allow you to override any variables in the modules */

+ @import 'tachyons/src/_colors';

+ @import 'tachyons/src/_media-queries';

+ 

+ /* Debugging */

+ /* @import 'tachyons/src/_debug-children';

+ @import 'tachyons/src/_debug-grid'; */

+ 

+ /* Uncomment out the line below to help debug layout issues */

+ /* @import 'tachyons/src/_debug'; */

@@ -0,0 +1,5 @@ 

+ @import '_tachyons';

+ @import '_code';

+ @import '_hugo-internal-templates';

+ @import '_social-icons';

+ @import '_styles';

@@ -0,0 +1,8 @@ 

+ module.exports = {

+   plugins: {

+    'postcss-import': {},

+    'postcss-cssnext': {

+ 	   browsers: ['last 2 versions', '> 5%'],

+ 	  }

+ 	}  

+ };

@@ -0,0 +1,16 @@ 

+ import styles from './../css/main.css';

+ 

+ 

+ // NOTE: TO use Jquery, just call the modules you want

+ // var $ = require('jquery/src/core');

+ // require('jquery/src/core/init');

+ // require('jquery/src/manipulation');

+ 

+ // OR, use all of them

+ // var $ = require('jquery/src/jquery');

+ 

+ // And write your code

+ // $('body').append('<p>Jquery is working</p>');

+ //

+ // You can also "require" any script from its location in the node modules folder. Webpack often knows what to look for, but you can add a script directly like this:

+ // var javascriptthingy = require('name/folder/file.js');

The added file is too large to be shown here, see it at: website/themes/ananke/src/package-lock.json
@@ -0,0 +1,32 @@ 

+ {

+   "name": "gohugo-default-styles",

+   "version": "1.0.0",

+   "description": "Default Theme for Hugo Sites",

+   "main": "index.js",

+   "repository": "",

+   "author": "budparr",

+   "license": "MIT",

+   "scripts": {

+     "build:production": "rm -rf ../static/dist && webpack -p",

+     "build": "webpack --progress --colors --watch",

+     "start": "npm run build"

+   },

+   "devDependencies": {

+     "assets-webpack-plugin": "^3.9.10",

+     "babel-core": "^6.24.1",

+     "babel-loader": "^7.0.0",

+     "babel-preset-env": "^1.4.0",

+     "css-loader": "^0.28.0",

+     "cssnano": "^3.10.0",

+     "extract-text-webpack-plugin": "^2.1.0",

+     "file-loader": "^0.11.1",

+     "postcss": "^5.2.16",

+     "postcss-cssnext": "^2.10.0",

+     "postcss-import": "^9.1.0",

+     "postcss-loader": "^1.3.3",

+     "style-loader": "^0.16.1",

+     "tachyons": "^4.9.1",

+     "webpack": "^2.3.3"

+   },

+   "dependencies": {}

+ }

@@ -0,0 +1,39 @@ 

+ ## Welcome to the SRC folder for the Gohugo Ananke Theme.

+ 

+ The contents of this folder are used to generate CSS and javascript. You may never have to touch anything here,  unless you want to more deeply customize your styles.

+ 

+ ## Tools

+ 

+ ### Yarn

+ 

+ We use [Yarn](https://yarnpkg.com) for package managment (instead of NPM) because it's fast and generates a lock file to make dependency management more consistent. The theme's `.gitignore` file should be kept intact to make sure that all files in the `node_modules` folder are not pushed to the repository.

+ 

+ ### Webpack

+ 

+ We use Webpack to manage our asset pipeline. Arguably, Webpack is overkill for this use-case, but we're using it here because once it's set up (which we've done for you), it's really easy to use. If you want to use an external script, just add it via Yarn, and reference it in main.js. You'll find instructions in the js/main.js file.

+ 

+ ### PostCSS

+ PostCSS is just CSS. You'll find `postcss.config.js` in the css folder. There you'll find that we're using [`postcss-import`](https://github.com/postcss/postcss-import) which allows us import css files directly from the node_modules folder, [`postcss-cssnext`](http://cssnext.io/features/) which gives us the power to use upcoming CSS features today. If you miss Sass you can find PostCss modules for those capabilities, too.

+ 

+ 

+ ### Tachyons

+ 

+ This theme uses the [Tachyons CSS Library](http://tachyons.io/). It's about 15kb gzipped, highly modular, and each class is atomic so you never have to worry about overwriting your styles. It's a great library for themes because you can make most all the style changes you need right in your layouts.

+ 

+ ## How to Use

+ 

+ You'll find the commands to run in `src/package.json`.

+ 

+ For development, you'll need Node and Yarn installed:

+ 

+ ```

+ $ cd themes/gohugo-theme-ananke/src/

+ 

+ $ yarn install

+ 

+ $ npm start

+ 

+ ```

+ This will process both the postcss and scripts.

+ 

+ For production, instead of `npm start`, run `npm run build:production,` which will output minified versions of your files.

@@ -0,0 +1,57 @@ 

+ var path = require('path');

+ var ExtractTextPlugin = require('extract-text-webpack-plugin');

+ var webpack = require('webpack');

+ var AssetsPlugin = require('assets-webpack-plugin');

+ 

+ module.exports = {

+ 	entry: {

+ 		app: './js/main.js'

+ 	},

+ 	module: {

+ 		rules: [

+ 			{

+ 				test: /\.js$/,

+ 				exclude: /node_modules/,

+ 				use: {

+ 					loader: 'babel-loader',

+ 					options: {

+ 						presets: ['env']

+ 					}

+ 				}

+ 			},

+ 			{

+ 				test: /\.css$/,

+ 				use: ExtractTextPlugin.extract({

+ 					fallback: 'style-loader',

+ 					use: 'css-loader?importLoaders=1!postcss-loader'

+ 				})

+ 			}

+ 		]

+ 	},

+ 

+ 	output: {

+ 		path: path.join(__dirname, './../static/dist'),

+ 		filename: 'js/[name].[chunkhash].js'

+ 	},

+ 

+ 	resolve: {

+ 		modules: [path.resolve(__dirname, 'src'), 'node_modules']

+ 	},

+ 

+ 	plugins: [

+ 		new AssetsPlugin({

+ 			filename: 'webpack_assets.json',

+ 			path: path.join(__dirname, '../data'),

+ 			prettyPrint: true

+ 		}),

+ 		new ExtractTextPlugin({

+ 			filename: getPath => {

+ 				return getPath('css/[name].[contenthash].css');

+ 			},

+ 			allChunks: true

+ 		})

+ 	],

+ 	watchOptions: {

+ 		watch: true

+ 	}

+ };

@@ -0,0 +1,236 @@ 

+ stackbitVersion: ~0.2.39

+ ssgName: custom

+ publishDir: exampleSite/public

+ buildCommand: cd exampleSite && hugo --gc --baseURL "/" --themesDir ../.. && cd ..

+ uploadDir: uploads

+ staticDir: exampleSite/static

+ pagesDir: exampleSite/content

+ dataDir: exampleSite

+ models:

+   config:

+     type: data

+     label: Config

+     file: config.toml

+     fields:

+       - type: string

+         name: title

+         label: Title

+         required: true

+       - type: string

+         name: baseURL

+         label: Base URL

+         description: Hostname (and path) to the root

+         hidden: false

+       - type: string

+         name: languageCode

+         label: Language Code

+         hidden: true

+       - type: string

+         name: MetaDataFormat

+         label: MetaDataFormat

+         hidden: true

+       - type: string

+         name: DefaultContentLanguage

+         label: DefaultContentLanguage

+         hidden: true

+       - type: string

+         name: themesDir

+         label: Themes Directory

+         hidden: true

+       - type: string

+         name: theme

+         label: Theme Name

+         hidden: true

+       - type: string

+         name: SectionPagesMenu

+         label: Main Section

+         hidden: false

+       - type: number

+         name: Paginate

+         label: Paginate Per Page

+         hidden: false

+       - type: boolean

+         name: enableRobotsTXT

+         label: Enable Robots

+         hidden: true

+       - type: string

+         name: googleAnalytics

+         label: Google Analytics ID

+       - type: object

+         name: sitemap

+         label: sitemap

+         hidden: true

+         fields:

+           - type: string

+             name: changefreq

+             label: changefreq

+           - type: number

+             subtype: float

+             name: priority

+             label: priority

+           - type: string

+             name: filename

+             label: filename

+       - type: object

+         name: params

+         label: Params

+         description: Site parameters

+         required: true

+         fields:

+           - type: string

+             name: featured_image

+             label: Logo

+           - type: string

+             name: favicon

+             label: Favicon

+           - type: string

+             name: description

+             label: Description

+           - type: string

+             name: description

+             label: Description

+           - type: string

+             name: facebook

+             label: Facebook

+           - type: string

+             name: stackoverflow

+             label: StackOverflow

+           - type: string

+             name: twitter

+             label: Twitter

+           - type: string

+             name: instagram

+             label: Instagram

+           - type: string

+             name: youtube

+             label: Youtube

+           - type: string

+             name: github

+             label: Github

+           - type: string

+             name: gitlab

+             label: Gitlab

+           - type: string

+             name: linkedin

+             label: Linkedin

+           - type: string

+             name: mastodon

+             label: Mastodon

+           - type: string

+             name: slack

+             label: Slack

+           - type: string

+             name: background_color_class

+             label: background_color_class

+           - type: number

+             name: recent_posts_number

+             label: recent_posts_number

+   home:

+     type: page

+     label: Home

+     file: _index.md

+     hideContent: false

+     singleInstance: true

+     layout: index.html

+     fields:

+       - type: string

+         name: title

+         label: Title

+         description: The title of the page.

+         required: true

+       - type: image

+         name: featured_image

+         label: Featured Image

+         description: Image displayed at in the pages intro section

+       - type: string

+         name: description

+         label: Description

+       - type: string

+         name: layout

+         label: layout

+   basicpage:

+     type: page

+     label: Basic Page

+     match: "*.md"

+     exclude: _index.md

+     layout: page/single.html

+     fields:

+       - type: string

+         name: title

+         label: Title

+         description: The title of the page.

+       - type: string

+         name: type

+         label: type

+         default: page

+       - type: boolean

+         name: omit_header_text

+         label: omit_header_text

+         description: The title of the page.

+       - type: image

+         name: featured_image

+         label: Featured Image

+         description: Image displayed at in the pages intro section

+       - type: string

+         name: description

+         label: Description

+       - type: enum

+         name: menu

+         label: Menu

+         options:

+           - label: Main Menu

+             value: main

+             type: object

+   section:

+     type: page

+     label: Section

+     match: "*/_index.md"

+     layout: _default/list.html

+     fields:

+       - type: string

+         name: title

+         label: Title

+         description: The title of the page.

+       - type: image

+         name: featured_image

+         label: Featured Image

+         description: Image displayed at in the pages intro section

+       - type: string

+         name: description

+         label: Description

+       - type: date

+         name: date

+         label: Date

+       - type: enum

+         name: menu

+         label: menu

+         default: main

+         options:

+           - label: main

+             value: main

+   post:

+     type: page

+     label: Posts

+     folder: post

+     exclude: _index.md

+     layout: _default/single.html

+     fields:

+       - type: string

+         name: title

+         label: Title

+       - type: date

+         name: date

+         label: Date

+       - type: image

+         name: featured_image

+         label: Featured Image

+         description: Image displayed at in the pages intro section

+       - type: string

+         name: description

+         label: Description

+       - type: enum

+         name: tags

+         label: tags

+       - type: boolean

+         name: draft

+         label: Draft

@@ -0,0 +1,3 @@ 

+ /*! TACHYONS v4.9.1 | http://tachyons.io */

+ 

+ /*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}.border-box,a,article,aside,blockquote,body,code,dd,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,html,input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=url],legend,li,main,nav,ol,p,pre,section,table,td,textarea,th,tr,ul{box-sizing:border-box}.aspect-ratio{height:0;position:relative}.aspect-ratio--16x9{padding-bottom:56.25%}.aspect-ratio--9x16{padding-bottom:177.77%}.aspect-ratio--4x3{padding-bottom:75%}.aspect-ratio--3x4{padding-bottom:133.33%}.aspect-ratio--6x4{padding-bottom:66.6%}.aspect-ratio--4x6{padding-bottom:150%}.aspect-ratio--8x5{padding-bottom:62.5%}.aspect-ratio--5x8{padding-bottom:160%}.aspect-ratio--7x5{padding-bottom:71.42%}.aspect-ratio--5x7{padding-bottom:140%}.aspect-ratio--1x1{padding-bottom:100%}.aspect-ratio--object{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}@media screen and (min-width:30em){.aspect-ratio-ns{height:0;position:relative}.aspect-ratio--16x9-ns{padding-bottom:56.25%}.aspect-ratio--9x16-ns{padding-bottom:177.77%}.aspect-ratio--4x3-ns{padding-bottom:75%}.aspect-ratio--3x4-ns{padding-bottom:133.33%}.aspect-ratio--6x4-ns{padding-bottom:66.6%}.aspect-ratio--4x6-ns{padding-bottom:150%}.aspect-ratio--8x5-ns{padding-bottom:62.5%}.aspect-ratio--5x8-ns{padding-bottom:160%}.aspect-ratio--7x5-ns{padding-bottom:71.42%}.aspect-ratio--5x7-ns{padding-bottom:140%}.aspect-ratio--1x1-ns{padding-bottom:100%}.aspect-ratio--object-ns{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}}@media screen and (min-width:30em) and (max-width:60em){.aspect-ratio-m{height:0;position:relative}.aspect-ratio--16x9-m{padding-bottom:56.25%}.aspect-ratio--9x16-m{padding-bottom:177.77%}.aspect-ratio--4x3-m{padding-bottom:75%}.aspect-ratio--3x4-m{padding-bottom:133.33%}.aspect-ratio--6x4-m{padding-bottom:66.6%}.aspect-ratio--4x6-m{padding-bottom:150%}.aspect-ratio--8x5-m{padding-bottom:62.5%}.aspect-ratio--5x8-m{padding-bottom:160%}.aspect-ratio--7x5-m{padding-bottom:71.42%}.aspect-ratio--5x7-m{padding-bottom:140%}.aspect-ratio--1x1-m{padding-bottom:100%}.aspect-ratio--object-m{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}}@media screen and (min-width:60em){.aspect-ratio-l{height:0;position:relative}.aspect-ratio--16x9-l{padding-bottom:56.25%}.aspect-ratio--9x16-l{padding-bottom:177.77%}.aspect-ratio--4x3-l{padding-bottom:75%}.aspect-ratio--3x4-l{padding-bottom:133.33%}.aspect-ratio--6x4-l{padding-bottom:66.6%}.aspect-ratio--4x6-l{padding-bottom:150%}.aspect-ratio--8x5-l{padding-bottom:62.5%}.aspect-ratio--5x8-l{padding-bottom:160%}.aspect-ratio--7x5-l{padding-bottom:71.42%}.aspect-ratio--5x7-l{padding-bottom:140%}.aspect-ratio--1x1-l{padding-bottom:100%}.aspect-ratio--object-l{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}}img{max-width:100%}.cover{background-size:cover!important}.contain{background-size:contain!important}@media screen and (min-width:30em){.cover-ns{background-size:cover!important}.contain-ns{background-size:contain!important}}@media screen and (min-width:30em) and (max-width:60em){.cover-m{background-size:cover!important}.contain-m{background-size:contain!important}}@media screen and (min-width:60em){.cover-l{background-size:cover!important}.contain-l{background-size:contain!important}}.bg-center{background-position:50%}.bg-center,.bg-top{background-repeat:no-repeat}.bg-top{background-position:top}.bg-right{background-position:100%}.bg-bottom,.bg-right{background-repeat:no-repeat}.bg-bottom{background-position:bottom}.bg-left{background-repeat:no-repeat;background-position:0}@media screen and (min-width:30em){.bg-center-ns{background-position:50%}.bg-center-ns,.bg-top-ns{background-repeat:no-repeat}.bg-top-ns{background-position:top}.bg-right-ns{background-position:100%}.bg-bottom-ns,.bg-right-ns{background-repeat:no-repeat}.bg-bottom-ns{background-position:bottom}.bg-left-ns{background-repeat:no-repeat;background-position:0}}@media screen and (min-width:30em) and (max-width:60em){.bg-center-m{background-position:50%}.bg-center-m,.bg-top-m{background-repeat:no-repeat}.bg-top-m{background-position:top}.bg-right-m{background-position:100%}.bg-bottom-m,.bg-right-m{background-repeat:no-repeat}.bg-bottom-m{background-position:bottom}.bg-left-m{background-repeat:no-repeat;background-position:0}}@media screen and (min-width:60em){.bg-center-l{background-position:50%}.bg-center-l,.bg-top-l{background-repeat:no-repeat}.bg-top-l{background-position:top}.bg-right-l{background-position:100%}.bg-bottom-l,.bg-right-l{background-repeat:no-repeat}.bg-bottom-l{background-position:bottom}.bg-left-l{background-repeat:no-repeat;background-position:0}}.outline{outline:1px solid}.outline-transparent{outline:1px solid transparent}.outline-0{outline:0}@media screen and (min-width:30em){.outline-ns{outline:1px solid}.outline-transparent-ns{outline:1px solid transparent}.outline-0-ns{outline:0}}@media screen and (min-width:30em) and (max-width:60em){.outline-m{outline:1px solid}.outline-transparent-m{outline:1px solid transparent}.outline-0-m{outline:0}}@media screen and (min-width:60em){.outline-l{outline:1px solid}.outline-transparent-l{outline:1px solid transparent}.outline-0-l{outline:0}}.ba{border-style:solid;border-width:1px}.bt{border-top-style:solid;border-top-width:1px}.br{border-right-style:solid;border-right-width:1px}.bb{border-bottom-style:solid;border-bottom-width:1px}.bl{border-left-style:solid;border-left-width:1px}.bn{border-style:none;border-width:0}@media screen and (min-width:30em){.ba-ns{border-style:solid;border-width:1px}.bt-ns{border-top-style:solid;border-top-width:1px}.br-ns{border-right-style:solid;border-right-width:1px}.bb-ns{border-bottom-style:solid;border-bottom-width:1px}.bl-ns{border-left-style:solid;border-left-width:1px}.bn-ns{border-style:none;border-width:0}}@media screen and (min-width:30em) and (max-width:60em){.ba-m{border-style:solid;border-width:1px}.bt-m{border-top-style:solid;border-top-width:1px}.br-m{border-right-style:solid;border-right-width:1px}.bb-m{border-bottom-style:solid;border-bottom-width:1px}.bl-m{border-left-style:solid;border-left-width:1px}.bn-m{border-style:none;border-width:0}}@media screen and (min-width:60em){.ba-l{border-style:solid;border-width:1px}.bt-l{border-top-style:solid;border-top-width:1px}.br-l{border-right-style:solid;border-right-width:1px}.bb-l{border-bottom-style:solid;border-bottom-width:1px}.bl-l{border-left-style:solid;border-left-width:1px}.bn-l{border-style:none;border-width:0}}.b--black{border-color:#000}.b--near-black{border-color:#111}.b--dark-gray{border-color:#333}.b--mid-gray{border-color:#555}.b--gray{border-color:#777}.b--silver{border-color:#999}.b--light-silver{border-color:#aaa}.b--moon-gray{border-color:#ccc}.b--light-gray{border-color:#eee}.b--near-white{border-color:#f4f4f4}.b--white{border-color:#fff}.b--white-90{border-color:hsla(0,0%,100%,.9)}.b--white-80{border-color:hsla(0,0%,100%,.8)}.b--white-70{border-color:hsla(0,0%,100%,.7)}.b--white-60{border-color:hsla(0,0%,100%,.6)}.b--white-50{border-color:hsla(0,0%,100%,.5)}.b--white-40{border-color:hsla(0,0%,100%,.4)}.b--white-30{border-color:hsla(0,0%,100%,.3)}.b--white-20{border-color:hsla(0,0%,100%,.2)}.b--white-10{border-color:hsla(0,0%,100%,.1)}.b--white-05{border-color:hsla(0,0%,100%,.05)}.b--white-025{border-color:hsla(0,0%,100%,.025)}.b--white-0125{border-color:hsla(0,0%,100%,.0125)}.b--black-90{border-color:rgba(0,0,0,.9)}.b--black-80{border-color:rgba(0,0,0,.8)}.b--black-70{border-color:rgba(0,0,0,.7)}.b--black-60{border-color:rgba(0,0,0,.6)}.b--black-50{border-color:rgba(0,0,0,.5)}.b--black-40{border-color:rgba(0,0,0,.4)}.b--black-30{border-color:rgba(0,0,0,.3)}.b--black-20{border-color:rgba(0,0,0,.2)}.b--black-10{border-color:rgba(0,0,0,.1)}.b--black-05{border-color:rgba(0,0,0,.05)}.b--black-025{border-color:rgba(0,0,0,.025)}.b--black-0125{border-color:rgba(0,0,0,.0125)}.b--dark-red{border-color:#e7040f}.b--red{border-color:#ff4136}.b--light-red{border-color:#ff725c}.b--orange{border-color:#ff6300}.b--gold{border-color:#ffb700}.b--yellow{border-color:gold}.b--light-yellow{border-color:#fbf1a9}.b--purple{border-color:#5e2ca5}.b--light-purple{border-color:#a463f2}.b--dark-pink{border-color:#d5008f}.b--hot-pink{border-color:#ff41b4}.b--pink{border-color:#ff80cc}.b--light-pink{border-color:#ffa3d7}.b--dark-green{border-color:#137752}.b--green{border-color:#19a974}.b--light-green{border-color:#9eebcf}.b--navy{border-color:#001b44}.b--dark-blue{border-color:#00449e}.b--blue{border-color:#357edd}.b--light-blue{border-color:#96ccff}.b--lightest-blue{border-color:#cdecff}.b--washed-blue{border-color:#f6fffe}.b--washed-green{border-color:#e8fdf5}.b--washed-yellow{border-color:#fffceb}.b--washed-red{border-color:#ffdfdf}.b--transparent{border-color:transparent}.b--inherit{border-color:inherit}.br0{border-radius:0}.br1{border-radius:.125rem}.br2{border-radius:.25rem}.br3{border-radius:.5rem}.br4{border-radius:1rem}.br-100{border-radius:100%}.br-pill{border-radius:9999px}.br--bottom{border-top-left-radius:0;border-top-right-radius:0}.br--top{border-bottom-right-radius:0}.br--right,.br--top{border-bottom-left-radius:0}.br--right{border-top-left-radius:0}.br--left{border-top-right-radius:0;border-bottom-right-radius:0}@media screen and (min-width:30em){.br0-ns{border-radius:0}.br1-ns{border-radius:.125rem}.br2-ns{border-radius:.25rem}.br3-ns{border-radius:.5rem}.br4-ns{border-radius:1rem}.br-100-ns{border-radius:100%}.br-pill-ns{border-radius:9999px}.br--bottom-ns{border-top-left-radius:0;border-top-right-radius:0}.br--top-ns{border-bottom-right-radius:0}.br--right-ns,.br--top-ns{border-bottom-left-radius:0}.br--right-ns{border-top-left-radius:0}.br--left-ns{border-top-right-radius:0;border-bottom-right-radius:0}}@media screen and (min-width:30em) and (max-width:60em){.br0-m{border-radius:0}.br1-m{border-radius:.125rem}.br2-m{border-radius:.25rem}.br3-m{border-radius:.5rem}.br4-m{border-radius:1rem}.br-100-m{border-radius:100%}.br-pill-m{border-radius:9999px}.br--bottom-m{border-top-left-radius:0;border-top-right-radius:0}.br--top-m{border-bottom-right-radius:0}.br--right-m,.br--top-m{border-bottom-left-radius:0}.br--right-m{border-top-left-radius:0}.br--left-m{border-top-right-radius:0;border-bottom-right-radius:0}}@media screen and (min-width:60em){.br0-l{border-radius:0}.br1-l{border-radius:.125rem}.br2-l{border-radius:.25rem}.br3-l{border-radius:.5rem}.br4-l{border-radius:1rem}.br-100-l{border-radius:100%}.br-pill-l{border-radius:9999px}.br--bottom-l{border-top-left-radius:0;border-top-right-radius:0}.br--top-l{border-bottom-right-radius:0}.br--right-l,.br--top-l{border-bottom-left-radius:0}.br--right-l{border-top-left-radius:0}.br--left-l{border-top-right-radius:0;border-bottom-right-radius:0}}.b--dotted{border-style:dotted}.b--dashed{border-style:dashed}.b--solid{border-style:solid}.b--none{border-style:none}@media screen and (min-width:30em){.b--dotted-ns{border-style:dotted}.b--dashed-ns{border-style:dashed}.b--solid-ns{border-style:solid}.b--none-ns{border-style:none}}@media screen and (min-width:30em) and (max-width:60em){.b--dotted-m{border-style:dotted}.b--dashed-m{border-style:dashed}.b--solid-m{border-style:solid}.b--none-m{border-style:none}}@media screen and (min-width:60em){.b--dotted-l{border-style:dotted}.b--dashed-l{border-style:dashed}.b--solid-l{border-style:solid}.b--none-l{border-style:none}}.bw0{border-width:0}.bw1{border-width:.125rem}.bw2{border-width:.25rem}.bw3{border-width:.5rem}.bw4{border-width:1rem}.bw5{border-width:2rem}.bt-0{border-top-width:0}.br-0{border-right-width:0}.bb-0{border-bottom-width:0}.bl-0{border-left-width:0}@media screen and (min-width:30em){.bw0-ns{border-width:0}.bw1-ns{border-width:.125rem}.bw2-ns{border-width:.25rem}.bw3-ns{border-width:.5rem}.bw4-ns{border-width:1rem}.bw5-ns{border-width:2rem}.bt-0-ns{border-top-width:0}.br-0-ns{border-right-width:0}.bb-0-ns{border-bottom-width:0}.bl-0-ns{border-left-width:0}}@media screen and (min-width:30em) and (max-width:60em){.bw0-m{border-width:0}.bw1-m{border-width:.125rem}.bw2-m{border-width:.25rem}.bw3-m{border-width:.5rem}.bw4-m{border-width:1rem}.bw5-m{border-width:2rem}.bt-0-m{border-top-width:0}.br-0-m{border-right-width:0}.bb-0-m{border-bottom-width:0}.bl-0-m{border-left-width:0}}@media screen and (min-width:60em){.bw0-l{border-width:0}.bw1-l{border-width:.125rem}.bw2-l{border-width:.25rem}.bw3-l{border-width:.5rem}.bw4-l{border-width:1rem}.bw5-l{border-width:2rem}.bt-0-l{border-top-width:0}.br-0-l{border-right-width:0}.bb-0-l{border-bottom-width:0}.bl-0-l{border-left-width:0}}.shadow-1{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.shadow-2{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.shadow-3{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.shadow-4{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.shadow-5{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}@media screen and (min-width:30em){.shadow-1-ns{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.shadow-2-ns{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.shadow-3-ns{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.shadow-4-ns{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.shadow-5-ns{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}}@media screen and (min-width:30em) and (max-width:60em){.shadow-1-m{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.shadow-2-m{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.shadow-3-m{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.shadow-4-m{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.shadow-5-m{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}}@media screen and (min-width:60em){.shadow-1-l{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.shadow-2-l{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.shadow-3-l{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.shadow-4-l{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.shadow-5-l{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}}.pre{overflow-x:auto;overflow-y:hidden;overflow:scroll}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.top-1{top:1rem}.right-1{right:1rem}.bottom-1{bottom:1rem}.left-1{left:1rem}.top-2{top:2rem}.right-2{right:2rem}.bottom-2{bottom:2rem}.left-2{left:2rem}.top--1{top:-1rem}.right--1{right:-1rem}.bottom--1{bottom:-1rem}.left--1{left:-1rem}.top--2{top:-2rem}.right--2{right:-2rem}.bottom--2{bottom:-2rem}.left--2{left:-2rem}.absolute--fill{top:0;right:0;bottom:0;left:0}@media screen and (min-width:30em){.top-0-ns{top:0}.left-0-ns{left:0}.right-0-ns{right:0}.bottom-0-ns{bottom:0}.top-1-ns{top:1rem}.left-1-ns{left:1rem}.right-1-ns{right:1rem}.bottom-1-ns{bottom:1rem}.top-2-ns{top:2rem}.left-2-ns{left:2rem}.right-2-ns{right:2rem}.bottom-2-ns{bottom:2rem}.top--1-ns{top:-1rem}.right--1-ns{right:-1rem}.bottom--1-ns{bottom:-1rem}.left--1-ns{left:-1rem}.top--2-ns{top:-2rem}.right--2-ns{right:-2rem}.bottom--2-ns{bottom:-2rem}.left--2-ns{left:-2rem}.absolute--fill-ns{top:0;right:0;bottom:0;left:0}}@media screen and (min-width:30em) and (max-width:60em){.top-0-m{top:0}.left-0-m{left:0}.right-0-m{right:0}.bottom-0-m{bottom:0}.top-1-m{top:1rem}.left-1-m{left:1rem}.right-1-m{right:1rem}.bottom-1-m{bottom:1rem}.top-2-m{top:2rem}.left-2-m{left:2rem}.right-2-m{right:2rem}.bottom-2-m{bottom:2rem}.top--1-m{top:-1rem}.right--1-m{right:-1rem}.bottom--1-m{bottom:-1rem}.left--1-m{left:-1rem}.top--2-m{top:-2rem}.right--2-m{right:-2rem}.bottom--2-m{bottom:-2rem}.left--2-m{left:-2rem}.absolute--fill-m{top:0;right:0;bottom:0;left:0}}@media screen and (min-width:60em){.top-0-l{top:0}.left-0-l{left:0}.right-0-l{right:0}.bottom-0-l{bottom:0}.top-1-l{top:1rem}.left-1-l{left:1rem}.right-1-l{right:1rem}.bottom-1-l{bottom:1rem}.top-2-l{top:2rem}.left-2-l{left:2rem}.right-2-l{right:2rem}.bottom-2-l{bottom:2rem}.top--1-l{top:-1rem}.right--1-l{right:-1rem}.bottom--1-l{bottom:-1rem}.left--1-l{left:-1rem}.top--2-l{top:-2rem}.right--2-l{right:-2rem}.bottom--2-l{bottom:-2rem}.left--2-l{left:-2rem}.absolute--fill-l{top:0;right:0;bottom:0;left:0}}.cf:after,.cf:before{content:" ";display:table}.cf:after{clear:both}.cf{*zoom:1}.cl{clear:left}.cr{clear:right}.cb{clear:both}.cn{clear:none}@media screen and (min-width:30em){.cl-ns{clear:left}.cr-ns{clear:right}.cb-ns{clear:both}.cn-ns{clear:none}}@media screen and (min-width:30em) and (max-width:60em){.cl-m{clear:left}.cr-m{clear:right}.cb-m{clear:both}.cn-m{clear:none}}@media screen and (min-width:60em){.cl-l{clear:left}.cr-l{clear:right}.cb-l{clear:both}.cn-l{clear:none}}.dn{display:none}.di{display:inline}.db{display:block}.dib{display:inline-block}.dit{display:inline-table}.dt{display:table}.dtc{display:table-cell}.dt-row{display:table-row}.dt-row-group{display:table-row-group}.dt-column{display:table-column}.dt-column-group{display:table-column-group}.dt--fixed{table-layout:fixed;width:100%}@media screen and (min-width:30em){.dn-ns{display:none}.di-ns{display:inline}.db-ns{display:block}.dib-ns{display:inline-block}.dit-ns{display:inline-table}.dt-ns{display:table}.dtc-ns{display:table-cell}.dt-row-ns{display:table-row}.dt-row-group-ns{display:table-row-group}.dt-column-ns{display:table-column}.dt-column-group-ns{display:table-column-group}.dt--fixed-ns{table-layout:fixed;width:100%}}@media screen and (min-width:30em) and (max-width:60em){.dn-m{display:none}.di-m{display:inline}.db-m{display:block}.dib-m{display:inline-block}.dit-m{display:inline-table}.dt-m{display:table}.dtc-m{display:table-cell}.dt-row-m{display:table-row}.dt-row-group-m{display:table-row-group}.dt-column-m{display:table-column}.dt-column-group-m{display:table-column-group}.dt--fixed-m{table-layout:fixed;width:100%}}@media screen and (min-width:60em){.dn-l{display:none}.di-l{display:inline}.db-l{display:block}.dib-l{display:inline-block}.dit-l{display:inline-table}.dt-l{display:table}.dtc-l{display:table-cell}.dt-row-l{display:table-row}.dt-row-group-l{display:table-row-group}.dt-column-l{display:table-column}.dt-column-group-l{display:table-column-group}.dt--fixed-l{table-layout:fixed;width:100%}}.flex{display:-ms-flexbox;display:flex}.inline-flex{display:-ms-inline-flexbox;display:inline-flex}.flex-auto{-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;min-height:0}.flex-none{-ms-flex:none;flex:none}.flex-column{-ms-flex-direction:column;flex-direction:column}.flex-row{-ms-flex-direction:row;flex-direction:row}.flex-wrap{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-nowrap{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.flex-column-reverse{-ms-flex-direction:column-reverse;flex-direction:column-reverse}.flex-row-reverse{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.items-start{-ms-flex-align:start;align-items:flex-start}.items-end{-ms-flex-align:end;align-items:flex-end}.items-center{-ms-flex-align:center;align-items:center}.items-baseline{-ms-flex-align:baseline;align-items:baseline}.items-stretch{-ms-flex-align:stretch;align-items:stretch}.self-start{-ms-flex-item-align:start;align-self:flex-start}.self-end{-ms-flex-item-align:end;align-self:flex-end}.self-center{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.self-baseline{-ms-flex-item-align:baseline;align-self:baseline}.self-stretch{-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.justify-start{-ms-flex-pack:start;justify-content:flex-start}.justify-end{-ms-flex-pack:end;justify-content:flex-end}.justify-center{-ms-flex-pack:center;justify-content:center}.justify-between{-ms-flex-pack:justify;justify-content:space-between}.justify-around{-ms-flex-pack:distribute;justify-content:space-around}.content-start{-ms-flex-line-pack:start;align-content:flex-start}.content-end{-ms-flex-line-pack:end;align-content:flex-end}.content-center{-ms-flex-line-pack:center;align-content:center}.content-between{-ms-flex-line-pack:justify;align-content:space-between}.content-around{-ms-flex-line-pack:distribute;align-content:space-around}.content-stretch{-ms-flex-line-pack:stretch;align-content:stretch}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-last{-ms-flex-order:99999;order:99999}.flex-grow-0{-ms-flex-positive:0;flex-grow:0}.flex-grow-1{-ms-flex-positive:1;flex-grow:1}.flex-shrink-0{-ms-flex-negative:0;flex-shrink:0}.flex-shrink-1{-ms-flex-negative:1;flex-shrink:1}@media screen and (min-width:30em){.flex-ns{display:-ms-flexbox;display:flex}.inline-flex-ns{display:-ms-inline-flexbox;display:inline-flex}.flex-auto-ns{-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;min-height:0}.flex-none-ns{-ms-flex:none;flex:none}.flex-column-ns{-ms-flex-direction:column;flex-direction:column}.flex-row-ns{-ms-flex-direction:row;flex-direction:row}.flex-wrap-ns{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-nowrap-ns{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.flex-wrap-reverse-ns{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.flex-column-reverse-ns{-ms-flex-direction:column-reverse;flex-direction:column-reverse}.flex-row-reverse-ns{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.items-start-ns{-ms-flex-align:start;align-items:flex-start}.items-end-ns{-ms-flex-align:end;align-items:flex-end}.items-center-ns{-ms-flex-align:center;align-items:center}.items-baseline-ns{-ms-flex-align:baseline;align-items:baseline}.items-stretch-ns{-ms-flex-align:stretch;align-items:stretch}.self-start-ns{-ms-flex-item-align:start;align-self:flex-start}.self-end-ns{-ms-flex-item-align:end;align-self:flex-end}.self-center-ns{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.self-baseline-ns{-ms-flex-item-align:baseline;align-self:baseline}.self-stretch-ns{-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.justify-start-ns{-ms-flex-pack:start;justify-content:flex-start}.justify-end-ns{-ms-flex-pack:end;justify-content:flex-end}.justify-center-ns{-ms-flex-pack:center;justify-content:center}.justify-between-ns{-ms-flex-pack:justify;justify-content:space-between}.justify-around-ns{-ms-flex-pack:distribute;justify-content:space-around}.content-start-ns{-ms-flex-line-pack:start;align-content:flex-start}.content-end-ns{-ms-flex-line-pack:end;align-content:flex-end}.content-center-ns{-ms-flex-line-pack:center;align-content:center}.content-between-ns{-ms-flex-line-pack:justify;align-content:space-between}.content-around-ns{-ms-flex-line-pack:distribute;align-content:space-around}.content-stretch-ns{-ms-flex-line-pack:stretch;align-content:stretch}.order-0-ns{-ms-flex-order:0;order:0}.order-1-ns{-ms-flex-order:1;order:1}.order-2-ns{-ms-flex-order:2;order:2}.order-3-ns{-ms-flex-order:3;order:3}.order-4-ns{-ms-flex-order:4;order:4}.order-5-ns{-ms-flex-order:5;order:5}.order-6-ns{-ms-flex-order:6;order:6}.order-7-ns{-ms-flex-order:7;order:7}.order-8-ns{-ms-flex-order:8;order:8}.order-last-ns{-ms-flex-order:99999;order:99999}.flex-grow-0-ns{-ms-flex-positive:0;flex-grow:0}.flex-grow-1-ns{-ms-flex-positive:1;flex-grow:1}.flex-shrink-0-ns{-ms-flex-negative:0;flex-shrink:0}.flex-shrink-1-ns{-ms-flex-negative:1;flex-shrink:1}}@media screen and (min-width:30em) and (max-width:60em){.flex-m{display:-ms-flexbox;display:flex}.inline-flex-m{display:-ms-inline-flexbox;display:inline-flex}.flex-auto-m{-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;min-height:0}.flex-none-m{-ms-flex:none;flex:none}.flex-column-m{-ms-flex-direction:column;flex-direction:column}.flex-row-m{-ms-flex-direction:row;flex-direction:row}.flex-wrap-m{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-nowrap-m{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.flex-wrap-reverse-m{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.flex-column-reverse-m{-ms-flex-direction:column-reverse;flex-direction:column-reverse}.flex-row-reverse-m{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.items-start-m{-ms-flex-align:start;align-items:flex-start}.items-end-m{-ms-flex-align:end;align-items:flex-end}.items-center-m{-ms-flex-align:center;align-items:center}.items-baseline-m{-ms-flex-align:baseline;align-items:baseline}.items-stretch-m{-ms-flex-align:stretch;align-items:stretch}.self-start-m{-ms-flex-item-align:start;align-self:flex-start}.self-end-m{-ms-flex-item-align:end;align-self:flex-end}.self-center-m{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.self-baseline-m{-ms-flex-item-align:baseline;align-self:baseline}.self-stretch-m{-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.justify-start-m{-ms-flex-pack:start;justify-content:flex-start}.justify-end-m{-ms-flex-pack:end;justify-content:flex-end}.justify-center-m{-ms-flex-pack:center;justify-content:center}.justify-between-m{-ms-flex-pack:justify;justify-content:space-between}.justify-around-m{-ms-flex-pack:distribute;justify-content:space-around}.content-start-m{-ms-flex-line-pack:start;align-content:flex-start}.content-end-m{-ms-flex-line-pack:end;align-content:flex-end}.content-center-m{-ms-flex-line-pack:center;align-content:center}.content-between-m{-ms-flex-line-pack:justify;align-content:space-between}.content-around-m{-ms-flex-line-pack:distribute;align-content:space-around}.content-stretch-m{-ms-flex-line-pack:stretch;align-content:stretch}.order-0-m{-ms-flex-order:0;order:0}.order-1-m{-ms-flex-order:1;order:1}.order-2-m{-ms-flex-order:2;order:2}.order-3-m{-ms-flex-order:3;order:3}.order-4-m{-ms-flex-order:4;order:4}.order-5-m{-ms-flex-order:5;order:5}.order-6-m{-ms-flex-order:6;order:6}.order-7-m{-ms-flex-order:7;order:7}.order-8-m{-ms-flex-order:8;order:8}.order-last-m{-ms-flex-order:99999;order:99999}.flex-grow-0-m{-ms-flex-positive:0;flex-grow:0}.flex-grow-1-m{-ms-flex-positive:1;flex-grow:1}.flex-shrink-0-m{-ms-flex-negative:0;flex-shrink:0}.flex-shrink-1-m{-ms-flex-negative:1;flex-shrink:1}}@media screen and (min-width:60em){.flex-l{display:-ms-flexbox;display:flex}.inline-flex-l{display:-ms-inline-flexbox;display:inline-flex}.flex-auto-l{-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;min-height:0}.flex-none-l{-ms-flex:none;flex:none}.flex-column-l{-ms-flex-direction:column;flex-direction:column}.flex-row-l{-ms-flex-direction:row;flex-direction:row}.flex-wrap-l{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-nowrap-l{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.flex-wrap-reverse-l{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.flex-column-reverse-l{-ms-flex-direction:column-reverse;flex-direction:column-reverse}.flex-row-reverse-l{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.items-start-l{-ms-flex-align:start;align-items:flex-start}.items-end-l{-ms-flex-align:end;align-items:flex-end}.items-center-l{-ms-flex-align:center;align-items:center}.items-baseline-l{-ms-flex-align:baseline;align-items:baseline}.items-stretch-l{-ms-flex-align:stretch;align-items:stretch}.self-start-l{-ms-flex-item-align:start;align-self:flex-start}.self-end-l{-ms-flex-item-align:end;align-self:flex-end}.self-center-l{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.self-baseline-l{-ms-flex-item-align:baseline;align-self:baseline}.self-stretch-l{-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.justify-start-l{-ms-flex-pack:start;justify-content:flex-start}.justify-end-l{-ms-flex-pack:end;justify-content:flex-end}.justify-center-l{-ms-flex-pack:center;justify-content:center}.justify-between-l{-ms-flex-pack:justify;justify-content:space-between}.justify-around-l{-ms-flex-pack:distribute;justify-content:space-around}.content-start-l{-ms-flex-line-pack:start;align-content:flex-start}.content-end-l{-ms-flex-line-pack:end;align-content:flex-end}.content-center-l{-ms-flex-line-pack:center;align-content:center}.content-between-l{-ms-flex-line-pack:justify;align-content:space-between}.content-around-l{-ms-flex-line-pack:distribute;align-content:space-around}.content-stretch-l{-ms-flex-line-pack:stretch;align-content:stretch}.order-0-l{-ms-flex-order:0;order:0}.order-1-l{-ms-flex-order:1;order:1}.order-2-l{-ms-flex-order:2;order:2}.order-3-l{-ms-flex-order:3;order:3}.order-4-l{-ms-flex-order:4;order:4}.order-5-l{-ms-flex-order:5;order:5}.order-6-l{-ms-flex-order:6;order:6}.order-7-l{-ms-flex-order:7;order:7}.order-8-l{-ms-flex-order:8;order:8}.order-last-l{-ms-flex-order:99999;order:99999}.flex-grow-0-l{-ms-flex-positive:0;flex-grow:0}.flex-grow-1-l{-ms-flex-positive:1;flex-grow:1}.flex-shrink-0-l{-ms-flex-negative:0;flex-shrink:0}.flex-shrink-1-l{-ms-flex-negative:1;flex-shrink:1}}.fl{float:left}.fl,.fr{_display:inline}.fr{float:right}.fn{float:none}@media screen and (min-width:30em){.fl-ns{float:left}.fl-ns,.fr-ns{_display:inline}.fr-ns{float:right}.fn-ns{float:none}}@media screen and (min-width:30em) and (max-width:60em){.fl-m{float:left}.fl-m,.fr-m{_display:inline}.fr-m{float:right}.fn-m{float:none}}@media screen and (min-width:60em){.fl-l{float:left}.fl-l,.fr-l{_display:inline}.fr-l{float:right}.fn-l{float:none}}.sans-serif{font-family:-apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica neue,helvetica,ubuntu,roboto,noto,segoe ui,arial,sans-serif}.serif{font-family:georgia,times,serif}.system-sans-serif{font-family:sans-serif}.system-serif{font-family:serif}.code,code{font-family:Consolas,monaco,monospace}.courier{font-family:Courier Next,courier,monospace}.helvetica{font-family:helvetica neue,helvetica,sans-serif}.avenir{font-family:avenir next,avenir,sans-serif}.athelas{font-family:athelas,georgia,serif}.georgia{font-family:georgia,serif}.times{font-family:times,serif}.bodoni{font-family:Bodoni MT,serif}.calisto{font-family:Calisto MT,serif}.garamond{font-family:garamond,serif}.baskerville{font-family:baskerville,serif}.i{font-style:italic}.fs-normal{font-style:normal}@media screen and (min-width:30em){.i-ns{font-style:italic}.fs-normal-ns{font-style:normal}}@media screen and (min-width:30em) and (max-width:60em){.i-m{font-style:italic}.fs-normal-m{font-style:normal}}@media screen and (min-width:60em){.i-l{font-style:italic}.fs-normal-l{font-style:normal}}.normal{font-weight:400}.b{font-weight:700}.fw1{font-weight:100}.fw2{font-weight:200}.fw3{font-weight:300}.fw4{font-weight:400}.fw5{font-weight:500}.fw6{font-weight:600}.fw7{font-weight:700}.fw8{font-weight:800}.fw9{font-weight:900}@media screen and (min-width:30em){.normal-ns{font-weight:400}.b-ns{font-weight:700}.fw1-ns{font-weight:100}.fw2-ns{font-weight:200}.fw3-ns{font-weight:300}.fw4-ns{font-weight:400}.fw5-ns{font-weight:500}.fw6-ns{font-weight:600}.fw7-ns{font-weight:700}.fw8-ns{font-weight:800}.fw9-ns{font-weight:900}}@media screen and (min-width:30em) and (max-width:60em){.normal-m{font-weight:400}.b-m{font-weight:700}.fw1-m{font-weight:100}.fw2-m{font-weight:200}.fw3-m{font-weight:300}.fw4-m{font-weight:400}.fw5-m{font-weight:500}.fw6-m{font-weight:600}.fw7-m{font-weight:700}.fw8-m{font-weight:800}.fw9-m{font-weight:900}}@media screen and (min-width:60em){.normal-l{font-weight:400}.b-l{font-weight:700}.fw1-l{font-weight:100}.fw2-l{font-weight:200}.fw3-l{font-weight:300}.fw4-l{font-weight:400}.fw5-l{font-weight:500}.fw6-l{font-weight:600}.fw7-l{font-weight:700}.fw8-l{font-weight:800}.fw9-l{font-weight:900}}.input-reset{-webkit-appearance:none;-moz-appearance:none}.button-reset::-moz-focus-inner,.input-reset::-moz-focus-inner{border:0;padding:0}.h1{height:1rem}.h2{height:2rem}.h3{height:4rem}.h4{height:8rem}.h5{height:16rem}.h-25{height:25%}.h-50{height:50%}.h-75{height:75%}.h-100{height:100%}.min-h-100{min-height:100%}.vh-25{height:25vh}.vh-50{height:50vh}.vh-75{height:75vh}.vh-100{height:100vh}.min-vh-100{min-height:100vh}.h-auto{height:auto}.h-inherit{height:inherit}@media screen and (min-width:30em){.h1-ns{height:1rem}.h2-ns{height:2rem}.h3-ns{height:4rem}.h4-ns{height:8rem}.h5-ns{height:16rem}.h-25-ns{height:25%}.h-50-ns{height:50%}.h-75-ns{height:75%}.h-100-ns{height:100%}.min-h-100-ns{min-height:100%}.vh-25-ns{height:25vh}.vh-50-ns{height:50vh}.vh-75-ns{height:75vh}.vh-100-ns{height:100vh}.min-vh-100-ns{min-height:100vh}.h-auto-ns{height:auto}.h-inherit-ns{height:inherit}}@media screen and (min-width:30em) and (max-width:60em){.h1-m{height:1rem}.h2-m{height:2rem}.h3-m{height:4rem}.h4-m{height:8rem}.h5-m{height:16rem}.h-25-m{height:25%}.h-50-m{height:50%}.h-75-m{height:75%}.h-100-m{height:100%}.min-h-100-m{min-height:100%}.vh-25-m{height:25vh}.vh-50-m{height:50vh}.vh-75-m{height:75vh}.vh-100-m{height:100vh}.min-vh-100-m{min-height:100vh}.h-auto-m{height:auto}.h-inherit-m{height:inherit}}@media screen and (min-width:60em){.h1-l{height:1rem}.h2-l{height:2rem}.h3-l{height:4rem}.h4-l{height:8rem}.h5-l{height:16rem}.h-25-l{height:25%}.h-50-l{height:50%}.h-75-l{height:75%}.h-100-l{height:100%}.min-h-100-l{min-height:100%}.vh-25-l{height:25vh}.vh-50-l{height:50vh}.vh-75-l{height:75vh}.vh-100-l{height:100vh}.min-vh-100-l{min-height:100vh}.h-auto-l{height:auto}.h-inherit-l{height:inherit}}.tracked{letter-spacing:.1em}.tracked-tight{letter-spacing:-.05em}.tracked-mega{letter-spacing:.25em}@media screen and (min-width:30em){.tracked-ns{letter-spacing:.1em}.tracked-tight-ns{letter-spacing:-.05em}.tracked-mega-ns{letter-spacing:.25em}}@media screen and (min-width:30em) and (max-width:60em){.tracked-m{letter-spacing:.1em}.tracked-tight-m{letter-spacing:-.05em}.tracked-mega-m{letter-spacing:.25em}}@media screen and (min-width:60em){.tracked-l{letter-spacing:.1em}.tracked-tight-l{letter-spacing:-.05em}.tracked-mega-l{letter-spacing:.25em}}.lh-solid{line-height:1}.lh-title{line-height:1.25}.lh-copy{line-height:1.5}@media screen and (min-width:30em){.lh-solid-ns{line-height:1}.lh-title-ns{line-height:1.25}.lh-copy-ns{line-height:1.5}}@media screen and (min-width:30em) and (max-width:60em){.lh-solid-m{line-height:1}.lh-title-m{line-height:1.25}.lh-copy-m{line-height:1.5}}@media screen and (min-width:60em){.lh-solid-l{line-height:1}.lh-title-l{line-height:1.25}.lh-copy-l{line-height:1.5}}.link{text-decoration:none}.link,.link:active,.link:focus,.link:hover,.link:link,.link:visited{transition:color .15s ease-in}.link:focus{outline:1px dotted currentColor}.list{list-style-type:none}.mw-100{max-width:100%}.mw1{max-width:1rem}.mw2{max-width:2rem}.mw3{max-width:4rem}.mw4{max-width:8rem}.mw5{max-width:16rem}.mw6{max-width:32rem}.mw7{max-width:48rem}.mw8{max-width:64rem}.mw9{max-width:96rem}.mw-none{max-width:none}@media screen and (min-width:30em){.mw-100-ns{max-width:100%}.mw1-ns{max-width:1rem}.mw2-ns{max-width:2rem}.mw3-ns{max-width:4rem}.mw4-ns{max-width:8rem}.mw5-ns{max-width:16rem}.mw6-ns{max-width:32rem}.mw7-ns{max-width:48rem}.mw8-ns{max-width:64rem}.mw9-ns{max-width:96rem}.mw-none-ns{max-width:none}}@media screen and (min-width:30em) and (max-width:60em){.mw-100-m{max-width:100%}.mw1-m{max-width:1rem}.mw2-m{max-width:2rem}.mw3-m{max-width:4rem}.mw4-m{max-width:8rem}.mw5-m{max-width:16rem}.mw6-m{max-width:32rem}.mw7-m{max-width:48rem}.mw8-m{max-width:64rem}.mw9-m{max-width:96rem}.mw-none-m{max-width:none}}@media screen and (min-width:60em){.mw-100-l{max-width:100%}.mw1-l{max-width:1rem}.mw2-l{max-width:2rem}.mw3-l{max-width:4rem}.mw4-l{max-width:8rem}.mw5-l{max-width:16rem}.mw6-l{max-width:32rem}.mw7-l{max-width:48rem}.mw8-l{max-width:64rem}.mw9-l{max-width:96rem}.mw-none-l{max-width:none}}.w1{width:1rem}.w2{width:2rem}.w3{width:4rem}.w4{width:8rem}.w5{width:16rem}.w-10{width:10%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-33{width:33%}.w-34{width:34%}.w-40{width:40%}.w-50{width:50%}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-90{width:90%}.w-100{width:100%}.w-third{width:33.33333%}.w-two-thirds{width:66.66667%}.w-auto{width:auto}@media screen and (min-width:30em){.w1-ns{width:1rem}.w2-ns{width:2rem}.w3-ns{width:4rem}.w4-ns{width:8rem}.w5-ns{width:16rem}.w-10-ns{width:10%}.w-20-ns{width:20%}.w-25-ns{width:25%}.w-30-ns{width:30%}.w-33-ns{width:33%}.w-34-ns{width:34%}.w-40-ns{width:40%}.w-50-ns{width:50%}.w-60-ns{width:60%}.w-70-ns{width:70%}.w-75-ns{width:75%}.w-80-ns{width:80%}.w-90-ns{width:90%}.w-100-ns{width:100%}.w-third-ns{width:33.33333%}.w-two-thirds-ns{width:66.66667%}.w-auto-ns{width:auto}}@media screen and (min-width:30em) and (max-width:60em){.w1-m{width:1rem}.w2-m{width:2rem}.w3-m{width:4rem}.w4-m{width:8rem}.w5-m{width:16rem}.w-10-m{width:10%}.w-20-m{width:20%}.w-25-m{width:25%}.w-30-m{width:30%}.w-33-m{width:33%}.w-34-m{width:34%}.w-40-m{width:40%}.w-50-m{width:50%}.w-60-m{width:60%}.w-70-m{width:70%}.w-75-m{width:75%}.w-80-m{width:80%}.w-90-m{width:90%}.w-100-m{width:100%}.w-third-m{width:33.33333%}.w-two-thirds-m{width:66.66667%}.w-auto-m{width:auto}}@media screen and (min-width:60em){.w1-l{width:1rem}.w2-l{width:2rem}.w3-l{width:4rem}.w4-l{width:8rem}.w5-l{width:16rem}.w-10-l{width:10%}.w-20-l{width:20%}.w-25-l{width:25%}.w-30-l{width:30%}.w-33-l{width:33%}.w-34-l{width:34%}.w-40-l{width:40%}.w-50-l{width:50%}.w-60-l{width:60%}.w-70-l{width:70%}.w-75-l{width:75%}.w-80-l{width:80%}.w-90-l{width:90%}.w-100-l{width:100%}.w-third-l{width:33.33333%}.w-two-thirds-l{width:66.66667%}.w-auto-l{width:auto}}.overflow-visible{overflow:visible}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-auto{overflow:auto}.overflow-x-visible{overflow-x:visible}.overflow-x-hidden{overflow-x:hidden}.overflow-x-scroll{overflow-x:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-visible{overflow-y:visible}.overflow-y-hidden{overflow-y:hidden}.overflow-y-scroll{overflow-y:scroll}.overflow-y-auto{overflow-y:auto}@media screen and (min-width:30em){.overflow-visible-ns{overflow:visible}.overflow-hidden-ns{overflow:hidden}.overflow-scroll-ns{overflow:scroll}.overflow-auto-ns{overflow:auto}.overflow-x-visible-ns{overflow-x:visible}.overflow-x-hidden-ns{overflow-x:hidden}.overflow-x-scroll-ns{overflow-x:scroll}.overflow-x-auto-ns{overflow-x:auto}.overflow-y-visible-ns{overflow-y:visible}.overflow-y-hidden-ns{overflow-y:hidden}.overflow-y-scroll-ns{overflow-y:scroll}.overflow-y-auto-ns{overflow-y:auto}}@media screen and (min-width:30em) and (max-width:60em){.overflow-visible-m{overflow:visible}.overflow-hidden-m{overflow:hidden}.overflow-scroll-m{overflow:scroll}.overflow-auto-m{overflow:auto}.overflow-x-visible-m{overflow-x:visible}.overflow-x-hidden-m{overflow-x:hidden}.overflow-x-scroll-m{overflow-x:scroll}.overflow-x-auto-m{overflow-x:auto}.overflow-y-visible-m{overflow-y:visible}.overflow-y-hidden-m{overflow-y:hidden}.overflow-y-scroll-m{overflow-y:scroll}.overflow-y-auto-m{overflow-y:auto}}@media screen and (min-width:60em){.overflow-visible-l{overflow:visible}.overflow-hidden-l{overflow:hidden}.overflow-scroll-l{overflow:scroll}.overflow-auto-l{overflow:auto}.overflow-x-visible-l{overflow-x:visible}.overflow-x-hidden-l{overflow-x:hidden}.overflow-x-scroll-l{overflow-x:scroll}.overflow-x-auto-l{overflow-x:auto}.overflow-y-visible-l{overflow-y:visible}.overflow-y-hidden-l{overflow-y:hidden}.overflow-y-scroll-l{overflow-y:scroll}.overflow-y-auto-l{overflow-y:auto}}.static{position:static}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}@media screen and (min-width:30em){.static-ns{position:static}.relative-ns{position:relative}.absolute-ns{position:absolute}.fixed-ns{position:fixed}}@media screen and (min-width:30em) and (max-width:60em){.static-m{position:static}.relative-m{position:relative}.absolute-m{position:absolute}.fixed-m{position:fixed}}@media screen and (min-width:60em){.static-l{position:static}.relative-l{position:relative}.absolute-l{position:absolute}.fixed-l{position:fixed}}.o-100{opacity:1}.o-90{opacity:.9}.o-80{opacity:.8}.o-70{opacity:.7}.o-60{opacity:.6}.o-50{opacity:.5}.o-40{opacity:.4}.o-30{opacity:.3}.o-20{opacity:.2}.o-10{opacity:.1}.o-05{opacity:.05}.o-025{opacity:.025}.o-0{opacity:0}.rotate-45{transform:rotate(45deg)}.rotate-90{transform:rotate(90deg)}.rotate-135{transform:rotate(135deg)}.rotate-180{transform:rotate(180deg)}.rotate-225{transform:rotate(225deg)}.rotate-270{transform:rotate(270deg)}.rotate-315{transform:rotate(315deg)}@media screen and (min-width:30em){.rotate-45-ns{transform:rotate(45deg)}.rotate-90-ns{transform:rotate(90deg)}.rotate-135-ns{transform:rotate(135deg)}.rotate-180-ns{transform:rotate(180deg)}.rotate-225-ns{transform:rotate(225deg)}.rotate-270-ns{transform:rotate(270deg)}.rotate-315-ns{transform:rotate(315deg)}}@media screen and (min-width:30em) and (max-width:60em){.rotate-45-m{transform:rotate(45deg)}.rotate-90-m{transform:rotate(90deg)}.rotate-135-m{transform:rotate(135deg)}.rotate-180-m{transform:rotate(180deg)}.rotate-225-m{transform:rotate(225deg)}.rotate-270-m{transform:rotate(270deg)}.rotate-315-m{transform:rotate(315deg)}}@media screen and (min-width:60em){.rotate-45-l{transform:rotate(45deg)}.rotate-90-l{transform:rotate(90deg)}.rotate-135-l{transform:rotate(135deg)}.rotate-180-l{transform:rotate(180deg)}.rotate-225-l{transform:rotate(225deg)}.rotate-270-l{transform:rotate(270deg)}.rotate-315-l{transform:rotate(315deg)}}.black-90{color:rgba(0,0,0,.9)}.black-80{color:rgba(0,0,0,.8)}.black-70{color:rgba(0,0,0,.7)}.black-60{color:rgba(0,0,0,.6)}.black-50{color:rgba(0,0,0,.5)}.black-40{color:rgba(0,0,0,.4)}.black-30{color:rgba(0,0,0,.3)}.black-20{color:rgba(0,0,0,.2)}.black-10{color:rgba(0,0,0,.1)}.black-05{color:rgba(0,0,0,.05)}.white-90{color:hsla(0,0%,100%,.9)}.white-80{color:hsla(0,0%,100%,.8)}.white-70{color:hsla(0,0%,100%,.7)}.white-60{color:hsla(0,0%,100%,.6)}.white-50{color:hsla(0,0%,100%,.5)}.white-40{color:hsla(0,0%,100%,.4)}.white-30{color:hsla(0,0%,100%,.3)}.white-20{color:hsla(0,0%,100%,.2)}.white-10{color:hsla(0,0%,100%,.1)}.black{color:#000}.near-black{color:#111}.dark-gray{color:#333}.mid-gray{color:#555}.gray{color:#777}.silver{color:#999}.light-silver{color:#aaa}.moon-gray{color:#ccc}.light-gray{color:#eee}.near-white{color:#f4f4f4}.white{color:#fff}.dark-red{color:#e7040f}.red{color:#ff4136}.light-red{color:#ff725c}.orange{color:#ff6300}.gold{color:#ffb700}.yellow{color:gold}.light-yellow{color:#fbf1a9}.purple{color:#5e2ca5}.light-purple{color:#a463f2}.dark-pink{color:#d5008f}.hot-pink{color:#ff41b4}.pink{color:#ff80cc}.light-pink{color:#ffa3d7}.dark-green{color:#137752}.green{color:#19a974}.light-green{color:#9eebcf}.navy{color:#001b44}.dark-blue{color:#00449e}.blue{color:#357edd}.light-blue{color:#96ccff}.lightest-blue{color:#cdecff}.washed-blue{color:#f6fffe}.washed-green{color:#e8fdf5}.washed-yellow{color:#fffceb}.washed-red{color:#ffdfdf}.color-inherit{color:inherit}.bg-black-90{background-color:rgba(0,0,0,.9)}.bg-black-80{background-color:rgba(0,0,0,.8)}.bg-black-70{background-color:rgba(0,0,0,.7)}.bg-black-60{background-color:rgba(0,0,0,.6)}.bg-black-50{background-color:rgba(0,0,0,.5)}.bg-black-40{background-color:rgba(0,0,0,.4)}.bg-black-30{background-color:rgba(0,0,0,.3)}.bg-black-20{background-color:rgba(0,0,0,.2)}.bg-black-10{background-color:rgba(0,0,0,.1)}.bg-black-05{background-color:rgba(0,0,0,.05)}.bg-white-90{background-color:hsla(0,0%,100%,.9)}.bg-white-80{background-color:hsla(0,0%,100%,.8)}.bg-white-70{background-color:hsla(0,0%,100%,.7)}.bg-white-60{background-color:hsla(0,0%,100%,.6)}.bg-white-50{background-color:hsla(0,0%,100%,.5)}.bg-white-40{background-color:hsla(0,0%,100%,.4)}.bg-white-30{background-color:hsla(0,0%,100%,.3)}.bg-white-20{background-color:hsla(0,0%,100%,.2)}.bg-white-10{background-color:hsla(0,0%,100%,.1)}.bg-black{background-color:#000}.bg-near-black{background-color:#111}.bg-dark-gray{background-color:#333}.bg-mid-gray{background-color:#555}.bg-gray{background-color:#777}.bg-silver{background-color:#999}.bg-light-silver{background-color:#aaa}.bg-moon-gray{background-color:#ccc}.bg-light-gray{background-color:#eee}.bg-near-white{background-color:#f4f4f4}.bg-white{background-color:#fff}.bg-transparent{background-color:transparent}.bg-dark-red{background-color:#e7040f}.bg-red{background-color:#ff4136}.bg-light-red{background-color:#ff725c}.bg-orange{background-color:#ff6300}.bg-gold{background-color:#ffb700}.bg-yellow{background-color:gold}.bg-light-yellow{background-color:#fbf1a9}.bg-purple{background-color:#5e2ca5}.bg-light-purple{background-color:#a463f2}.bg-dark-pink{background-color:#d5008f}.bg-hot-pink{background-color:#ff41b4}.bg-pink{background-color:#ff80cc}.bg-light-pink{background-color:#ffa3d7}.bg-dark-green{background-color:#137752}.bg-green{background-color:#19a974}.bg-light-green{background-color:#9eebcf}.bg-navy{background-color:#001b44}.bg-dark-blue{background-color:#00449e}.bg-blue{background-color:#357edd}.bg-light-blue{background-color:#96ccff}.bg-lightest-blue{background-color:#cdecff}.bg-washed-blue{background-color:#f6fffe}.bg-washed-green{background-color:#e8fdf5}.bg-washed-yellow{background-color:#fffceb}.bg-washed-red{background-color:#ffdfdf}.bg-inherit{background-color:inherit}.hover-black:focus,.hover-black:hover{color:#000}.hover-near-black:focus,.hover-near-black:hover{color:#111}.hover-dark-gray:focus,.hover-dark-gray:hover{color:#333}.hover-mid-gray:focus,.hover-mid-gray:hover{color:#555}.hover-gray:focus,.hover-gray:hover{color:#777}.hover-silver:focus,.hover-silver:hover{color:#999}.hover-light-silver:focus,.hover-light-silver:hover{color:#aaa}.hover-moon-gray:focus,.hover-moon-gray:hover{color:#ccc}.hover-light-gray:focus,.hover-light-gray:hover{color:#eee}.hover-near-white:focus,.hover-near-white:hover{color:#f4f4f4}.hover-white:focus,.hover-white:hover{color:#fff}.hover-black-90:focus,.hover-black-90:hover{color:rgba(0,0,0,.9)}.hover-black-80:focus,.hover-black-80:hover{color:rgba(0,0,0,.8)}.hover-black-70:focus,.hover-black-70:hover{color:rgba(0,0,0,.7)}.hover-black-60:focus,.hover-black-60:hover{color:rgba(0,0,0,.6)}.hover-black-50:focus,.hover-black-50:hover{color:rgba(0,0,0,.5)}.hover-black-40:focus,.hover-black-40:hover{color:rgba(0,0,0,.4)}.hover-black-30:focus,.hover-black-30:hover{color:rgba(0,0,0,.3)}.hover-black-20:focus,.hover-black-20:hover{color:rgba(0,0,0,.2)}.hover-black-10:focus,.hover-black-10:hover{color:rgba(0,0,0,.1)}.hover-white-90:focus,.hover-white-90:hover{color:hsla(0,0%,100%,.9)}.hover-white-80:focus,.hover-white-80:hover{color:hsla(0,0%,100%,.8)}.hover-white-70:focus,.hover-white-70:hover{color:hsla(0,0%,100%,.7)}.hover-white-60:focus,.hover-white-60:hover{color:hsla(0,0%,100%,.6)}.hover-white-50:focus,.hover-white-50:hover{color:hsla(0,0%,100%,.5)}.hover-white-40:focus,.hover-white-40:hover{color:hsla(0,0%,100%,.4)}.hover-white-30:focus,.hover-white-30:hover{color:hsla(0,0%,100%,.3)}.hover-white-20:focus,.hover-white-20:hover{color:hsla(0,0%,100%,.2)}.hover-white-10:focus,.hover-white-10:hover{color:hsla(0,0%,100%,.1)}.hover-inherit:focus,.hover-inherit:hover{color:inherit}.hover-bg-black:focus,.hover-bg-black:hover{background-color:#000}.hover-bg-near-black:focus,.hover-bg-near-black:hover{background-color:#111}.hover-bg-dark-gray:focus,.hover-bg-dark-gray:hover{background-color:#333}.hover-bg-mid-gray:focus,.hover-bg-mid-gray:hover{background-color:#555}.hover-bg-gray:focus,.hover-bg-gray:hover{background-color:#777}.hover-bg-silver:focus,.hover-bg-silver:hover{background-color:#999}.hover-bg-light-silver:focus,.hover-bg-light-silver:hover{background-color:#aaa}.hover-bg-moon-gray:focus,.hover-bg-moon-gray:hover{background-color:#ccc}.hover-bg-light-gray:focus,.hover-bg-light-gray:hover{background-color:#eee}.hover-bg-near-white:focus,.hover-bg-near-white:hover{background-color:#f4f4f4}.hover-bg-white:focus,.hover-bg-white:hover{background-color:#fff}.hover-bg-transparent:focus,.hover-bg-transparent:hover{background-color:transparent}.hover-bg-black-90:focus,.hover-bg-black-90:hover{background-color:rgba(0,0,0,.9)}.hover-bg-black-80:focus,.hover-bg-black-80:hover{background-color:rgba(0,0,0,.8)}.hover-bg-black-70:focus,.hover-bg-black-70:hover{background-color:rgba(0,0,0,.7)}.hover-bg-black-60:focus,.hover-bg-black-60:hover{background-color:rgba(0,0,0,.6)}.hover-bg-black-50:focus,.hover-bg-black-50:hover{background-color:rgba(0,0,0,.5)}.hover-bg-black-40:focus,.hover-bg-black-40:hover{background-color:rgba(0,0,0,.4)}.hover-bg-black-30:focus,.hover-bg-black-30:hover{background-color:rgba(0,0,0,.3)}.hover-bg-black-20:focus,.hover-bg-black-20:hover{background-color:rgba(0,0,0,.2)}.hover-bg-black-10:focus,.hover-bg-black-10:hover{background-color:rgba(0,0,0,.1)}.hover-bg-white-90:focus,.hover-bg-white-90:hover{background-color:hsla(0,0%,100%,.9)}.hover-bg-white-80:focus,.hover-bg-white-80:hover{background-color:hsla(0,0%,100%,.8)}.hover-bg-white-70:focus,.hover-bg-white-70:hover{background-color:hsla(0,0%,100%,.7)}.hover-bg-white-60:focus,.hover-bg-white-60:hover{background-color:hsla(0,0%,100%,.6)}.hover-bg-white-50:focus,.hover-bg-white-50:hover{background-color:hsla(0,0%,100%,.5)}.hover-bg-white-40:focus,.hover-bg-white-40:hover{background-color:hsla(0,0%,100%,.4)}.hover-bg-white-30:focus,.hover-bg-white-30:hover{background-color:hsla(0,0%,100%,.3)}.hover-bg-white-20:focus,.hover-bg-white-20:hover{background-color:hsla(0,0%,100%,.2)}.hover-bg-white-10:focus,.hover-bg-white-10:hover{background-color:hsla(0,0%,100%,.1)}.hover-dark-red:focus,.hover-dark-red:hover{color:#e7040f}.hover-red:focus,.hover-red:hover{color:#ff4136}.hover-light-red:focus,.hover-light-red:hover{color:#ff725c}.hover-orange:focus,.hover-orange:hover{color:#ff6300}.hover-gold:focus,.hover-gold:hover{color:#ffb700}.hover-yellow:focus,.hover-yellow:hover{color:gold}.hover-light-yellow:focus,.hover-light-yellow:hover{color:#fbf1a9}.hover-purple:focus,.hover-purple:hover{color:#5e2ca5}.hover-light-purple:focus,.hover-light-purple:hover{color:#a463f2}.hover-dark-pink:focus,.hover-dark-pink:hover{color:#d5008f}.hover-hot-pink:focus,.hover-hot-pink:hover{color:#ff41b4}.hover-pink:focus,.hover-pink:hover{color:#ff80cc}.hover-light-pink:focus,.hover-light-pink:hover{color:#ffa3d7}.hover-dark-green:focus,.hover-dark-green:hover{color:#137752}.hover-green:focus,.hover-green:hover{color:#19a974}.hover-light-green:focus,.hover-light-green:hover{color:#9eebcf}.hover-navy:focus,.hover-navy:hover{color:#001b44}.hover-dark-blue:focus,.hover-dark-blue:hover{color:#00449e}.hover-blue:focus,.hover-blue:hover{color:#357edd}.hover-light-blue:focus,.hover-light-blue:hover{color:#96ccff}.hover-lightest-blue:focus,.hover-lightest-blue:hover{color:#cdecff}.hover-washed-blue:focus,.hover-washed-blue:hover{color:#f6fffe}.hover-washed-green:focus,.hover-washed-green:hover{color:#e8fdf5}.hover-washed-yellow:focus,.hover-washed-yellow:hover{color:#fffceb}.hover-washed-red:focus,.hover-washed-red:hover{color:#ffdfdf}.hover-bg-dark-red:focus,.hover-bg-dark-red:hover{background-color:#e7040f}.hover-bg-red:focus,.hover-bg-red:hover{background-color:#ff4136}.hover-bg-light-red:focus,.hover-bg-light-red:hover{background-color:#ff725c}.hover-bg-orange:focus,.hover-bg-orange:hover{background-color:#ff6300}.hover-bg-gold:focus,.hover-bg-gold:hover{background-color:#ffb700}.hover-bg-yellow:focus,.hover-bg-yellow:hover{background-color:gold}.hover-bg-light-yellow:focus,.hover-bg-light-yellow:hover{background-color:#fbf1a9}.hover-bg-purple:focus,.hover-bg-purple:hover{background-color:#5e2ca5}.hover-bg-light-purple:focus,.hover-bg-light-purple:hover{background-color:#a463f2}.hover-bg-dark-pink:focus,.hover-bg-dark-pink:hover{background-color:#d5008f}.hover-bg-hot-pink:focus,.hover-bg-hot-pink:hover{background-color:#ff41b4}.hover-bg-pink:focus,.hover-bg-pink:hover{background-color:#ff80cc}.hover-bg-light-pink:focus,.hover-bg-light-pink:hover{background-color:#ffa3d7}.hover-bg-dark-green:focus,.hover-bg-dark-green:hover{background-color:#137752}.hover-bg-green:focus,.hover-bg-green:hover{background-color:#19a974}.hover-bg-light-green:focus,.hover-bg-light-green:hover{background-color:#9eebcf}.hover-bg-navy:focus,.hover-bg-navy:hover{background-color:#001b44}.hover-bg-dark-blue:focus,.hover-bg-dark-blue:hover{background-color:#00449e}.hover-bg-blue:focus,.hover-bg-blue:hover{background-color:#357edd}.hover-bg-light-blue:focus,.hover-bg-light-blue:hover{background-color:#96ccff}.hover-bg-lightest-blue:focus,.hover-bg-lightest-blue:hover{background-color:#cdecff}.hover-bg-washed-blue:focus,.hover-bg-washed-blue:hover{background-color:#f6fffe}.hover-bg-washed-green:focus,.hover-bg-washed-green:hover{background-color:#e8fdf5}.hover-bg-washed-yellow:focus,.hover-bg-washed-yellow:hover{background-color:#fffceb}.hover-bg-washed-red:focus,.hover-bg-washed-red:hover{background-color:#ffdfdf}.hover-bg-inherit:focus,.hover-bg-inherit:hover{background-color:inherit}.pa0{padding:0}.pa1{padding:.25rem}.pa2{padding:.5rem}.pa3{padding:1rem}.pa4{padding:2rem}.pa5{padding:4rem}.pa6{padding:8rem}.pa7{padding:16rem}.pl0{padding-left:0}.pl1{padding-left:.25rem}.pl2{padding-left:.5rem}.pl3{padding-left:1rem}.pl4{padding-left:2rem}.pl5{padding-left:4rem}.pl6{padding-left:8rem}.pl7{padding-left:16rem}.pr0{padding-right:0}.pr1{padding-right:.25rem}.pr2{padding-right:.5rem}.pr3{padding-right:1rem}.pr4{padding-right:2rem}.pr5{padding-right:4rem}.pr6{padding-right:8rem}.pr7{padding-right:16rem}.pb0{padding-bottom:0}.pb1{padding-bottom:.25rem}.pb2{padding-bottom:.5rem}.pb3{padding-bottom:1rem}.pb4{padding-bottom:2rem}.pb5{padding-bottom:4rem}.pb6{padding-bottom:8rem}.pb7{padding-bottom:16rem}.pt0{padding-top:0}.pt1{padding-top:.25rem}.pt2{padding-top:.5rem}.pt3{padding-top:1rem}.pt4{padding-top:2rem}.pt5{padding-top:4rem}.pt6{padding-top:8rem}.pt7{padding-top:16rem}.pv0{padding-top:0;padding-bottom:0}.pv1{padding-top:.25rem;padding-bottom:.25rem}.pv2{padding-top:.5rem;padding-bottom:.5rem}.pv3{padding-top:1rem;padding-bottom:1rem}.pv4{padding-top:2rem;padding-bottom:2rem}.pv5{padding-top:4rem;padding-bottom:4rem}.pv6{padding-top:8rem;padding-bottom:8rem}.pv7{padding-top:16rem;padding-bottom:16rem}.ph0{padding-left:0;padding-right:0}.ph1{padding-left:.25rem;padding-right:.25rem}.ph2{padding-left:.5rem;padding-right:.5rem}.ph3{padding-left:1rem;padding-right:1rem}.ph4{padding-left:2rem;padding-right:2rem}.ph5{padding-left:4rem;padding-right:4rem}.ph6{padding-left:8rem;padding-right:8rem}.ph7{padding-left:16rem;padding-right:16rem}.ma0{margin:0}.ma1{margin:.25rem}.ma2{margin:.5rem}.ma3{margin:1rem}.ma4{margin:2rem}.ma5{margin:4rem}.ma6{margin:8rem}.ma7{margin:16rem}.ml0{margin-left:0}.ml1{margin-left:.25rem}.ml2{margin-left:.5rem}.ml3{margin-left:1rem}.ml4{margin-left:2rem}.ml5{margin-left:4rem}.ml6{margin-left:8rem}.ml7{margin-left:16rem}.mr0{margin-right:0}.mr1{margin-right:.25rem}.mr2{margin-right:.5rem}.mr3{margin-right:1rem}.mr4{margin-right:2rem}.mr5{margin-right:4rem}.mr6{margin-right:8rem}.mr7{margin-right:16rem}.mb0{margin-bottom:0}.mb1{margin-bottom:.25rem}.mb2{margin-bottom:.5rem}.mb3{margin-bottom:1rem}.mb4{margin-bottom:2rem}.mb5{margin-bottom:4rem}.mb6{margin-bottom:8rem}.mb7{margin-bottom:16rem}.mt0{margin-top:0}.mt1{margin-top:.25rem}.mt2{margin-top:.5rem}.mt3{margin-top:1rem}.mt4{margin-top:2rem}.mt5{margin-top:4rem}.mt6{margin-top:8rem}.mt7{margin-top:16rem}.mv0{margin-top:0;margin-bottom:0}.mv1{margin-top:.25rem;margin-bottom:.25rem}.mv2{margin-top:.5rem;margin-bottom:.5rem}.mv3{margin-top:1rem;margin-bottom:1rem}.mv4{margin-top:2rem;margin-bottom:2rem}.mv5{margin-top:4rem;margin-bottom:4rem}.mv6{margin-top:8rem;margin-bottom:8rem}.mv7{margin-top:16rem;margin-bottom:16rem}.mh0{margin-left:0;margin-right:0}.mh1{margin-left:.25rem;margin-right:.25rem}.mh2{margin-left:.5rem;margin-right:.5rem}.mh3{margin-left:1rem;margin-right:1rem}.mh4{margin-left:2rem;margin-right:2rem}.mh5{margin-left:4rem;margin-right:4rem}.mh6{margin-left:8rem;margin-right:8rem}.mh7{margin-left:16rem;margin-right:16rem}@media screen and (min-width:30em){.pa0-ns{padding:0}.pa1-ns{padding:.25rem}.pa2-ns{padding:.5rem}.pa3-ns{padding:1rem}.pa4-ns{padding:2rem}.pa5-ns{padding:4rem}.pa6-ns{padding:8rem}.pa7-ns{padding:16rem}.pl0-ns{padding-left:0}.pl1-ns{padding-left:.25rem}.pl2-ns{padding-left:.5rem}.pl3-ns{padding-left:1rem}.pl4-ns{padding-left:2rem}.pl5-ns{padding-left:4rem}.pl6-ns{padding-left:8rem}.pl7-ns{padding-left:16rem}.pr0-ns{padding-right:0}.pr1-ns{padding-right:.25rem}.pr2-ns{padding-right:.5rem}.pr3-ns{padding-right:1rem}.pr4-ns{padding-right:2rem}.pr5-ns{padding-right:4rem}.pr6-ns{padding-right:8rem}.pr7-ns{padding-right:16rem}.pb0-ns{padding-bottom:0}.pb1-ns{padding-bottom:.25rem}.pb2-ns{padding-bottom:.5rem}.pb3-ns{padding-bottom:1rem}.pb4-ns{padding-bottom:2rem}.pb5-ns{padding-bottom:4rem}.pb6-ns{padding-bottom:8rem}.pb7-ns{padding-bottom:16rem}.pt0-ns{padding-top:0}.pt1-ns{padding-top:.25rem}.pt2-ns{padding-top:.5rem}.pt3-ns{padding-top:1rem}.pt4-ns{padding-top:2rem}.pt5-ns{padding-top:4rem}.pt6-ns{padding-top:8rem}.pt7-ns{padding-top:16rem}.pv0-ns{padding-top:0;padding-bottom:0}.pv1-ns{padding-top:.25rem;padding-bottom:.25rem}.pv2-ns{padding-top:.5rem;padding-bottom:.5rem}.pv3-ns{padding-top:1rem;padding-bottom:1rem}.pv4-ns{padding-top:2rem;padding-bottom:2rem}.pv5-ns{padding-top:4rem;padding-bottom:4rem}.pv6-ns{padding-top:8rem;padding-bottom:8rem}.pv7-ns{padding-top:16rem;padding-bottom:16rem}.ph0-ns{padding-left:0;padding-right:0}.ph1-ns{padding-left:.25rem;padding-right:.25rem}.ph2-ns{padding-left:.5rem;padding-right:.5rem}.ph3-ns{padding-left:1rem;padding-right:1rem}.ph4-ns{padding-left:2rem;padding-right:2rem}.ph5-ns{padding-left:4rem;padding-right:4rem}.ph6-ns{padding-left:8rem;padding-right:8rem}.ph7-ns{padding-left:16rem;padding-right:16rem}.ma0-ns{margin:0}.ma1-ns{margin:.25rem}.ma2-ns{margin:.5rem}.ma3-ns{margin:1rem}.ma4-ns{margin:2rem}.ma5-ns{margin:4rem}.ma6-ns{margin:8rem}.ma7-ns{margin:16rem}.ml0-ns{margin-left:0}.ml1-ns{margin-left:.25rem}.ml2-ns{margin-left:.5rem}.ml3-ns{margin-left:1rem}.ml4-ns{margin-left:2rem}.ml5-ns{margin-left:4rem}.ml6-ns{margin-left:8rem}.ml7-ns{margin-left:16rem}.mr0-ns{margin-right:0}.mr1-ns{margin-right:.25rem}.mr2-ns{margin-right:.5rem}.mr3-ns{margin-right:1rem}.mr4-ns{margin-right:2rem}.mr5-ns{margin-right:4rem}.mr6-ns{margin-right:8rem}.mr7-ns{margin-right:16rem}.mb0-ns{margin-bottom:0}.mb1-ns{margin-bottom:.25rem}.mb2-ns{margin-bottom:.5rem}.mb3-ns{margin-bottom:1rem}.mb4-ns{margin-bottom:2rem}.mb5-ns{margin-bottom:4rem}.mb6-ns{margin-bottom:8rem}.mb7-ns{margin-bottom:16rem}.mt0-ns{margin-top:0}.mt1-ns{margin-top:.25rem}.mt2-ns{margin-top:.5rem}.mt3-ns{margin-top:1rem}.mt4-ns{margin-top:2rem}.mt5-ns{margin-top:4rem}.mt6-ns{margin-top:8rem}.mt7-ns{margin-top:16rem}.mv0-ns{margin-top:0;margin-bottom:0}.mv1-ns{margin-top:.25rem;margin-bottom:.25rem}.mv2-ns{margin-top:.5rem;margin-bottom:.5rem}.mv3-ns{margin-top:1rem;margin-bottom:1rem}.mv4-ns{margin-top:2rem;margin-bottom:2rem}.mv5-ns{margin-top:4rem;margin-bottom:4rem}.mv6-ns{margin-top:8rem;margin-bottom:8rem}.mv7-ns{margin-top:16rem;margin-bottom:16rem}.mh0-ns{margin-left:0;margin-right:0}.mh1-ns{margin-left:.25rem;margin-right:.25rem}.mh2-ns{margin-left:.5rem;margin-right:.5rem}.mh3-ns{margin-left:1rem;margin-right:1rem}.mh4-ns{margin-left:2rem;margin-right:2rem}.mh5-ns{margin-left:4rem;margin-right:4rem}.mh6-ns{margin-left:8rem;margin-right:8rem}.mh7-ns{margin-left:16rem;margin-right:16rem}}@media screen and (min-width:30em) and (max-width:60em){.pa0-m{padding:0}.pa1-m{padding:.25rem}.pa2-m{padding:.5rem}.pa3-m{padding:1rem}.pa4-m{padding:2rem}.pa5-m{padding:4rem}.pa6-m{padding:8rem}.pa7-m{padding:16rem}.pl0-m{padding-left:0}.pl1-m{padding-left:.25rem}.pl2-m{padding-left:.5rem}.pl3-m{padding-left:1rem}.pl4-m{padding-left:2rem}.pl5-m{padding-left:4rem}.pl6-m{padding-left:8rem}.pl7-m{padding-left:16rem}.pr0-m{padding-right:0}.pr1-m{padding-right:.25rem}.pr2-m{padding-right:.5rem}.pr3-m{padding-right:1rem}.pr4-m{padding-right:2rem}.pr5-m{padding-right:4rem}.pr6-m{padding-right:8rem}.pr7-m{padding-right:16rem}.pb0-m{padding-bottom:0}.pb1-m{padding-bottom:.25rem}.pb2-m{padding-bottom:.5rem}.pb3-m{padding-bottom:1rem}.pb4-m{padding-bottom:2rem}.pb5-m{padding-bottom:4rem}.pb6-m{padding-bottom:8rem}.pb7-m{padding-bottom:16rem}.pt0-m{padding-top:0}.pt1-m{padding-top:.25rem}.pt2-m{padding-top:.5rem}.pt3-m{padding-top:1rem}.pt4-m{padding-top:2rem}.pt5-m{padding-top:4rem}.pt6-m{padding-top:8rem}.pt7-m{padding-top:16rem}.pv0-m{padding-top:0;padding-bottom:0}.pv1-m{padding-top:.25rem;padding-bottom:.25rem}.pv2-m{padding-top:.5rem;padding-bottom:.5rem}.pv3-m{padding-top:1rem;padding-bottom:1rem}.pv4-m{padding-top:2rem;padding-bottom:2rem}.pv5-m{padding-top:4rem;padding-bottom:4rem}.pv6-m{padding-top:8rem;padding-bottom:8rem}.pv7-m{padding-top:16rem;padding-bottom:16rem}.ph0-m{padding-left:0;padding-right:0}.ph1-m{padding-left:.25rem;padding-right:.25rem}.ph2-m{padding-left:.5rem;padding-right:.5rem}.ph3-m{padding-left:1rem;padding-right:1rem}.ph4-m{padding-left:2rem;padding-right:2rem}.ph5-m{padding-left:4rem;padding-right:4rem}.ph6-m{padding-left:8rem;padding-right:8rem}.ph7-m{padding-left:16rem;padding-right:16rem}.ma0-m{margin:0}.ma1-m{margin:.25rem}.ma2-m{margin:.5rem}.ma3-m{margin:1rem}.ma4-m{margin:2rem}.ma5-m{margin:4rem}.ma6-m{margin:8rem}.ma7-m{margin:16rem}.ml0-m{margin-left:0}.ml1-m{margin-left:.25rem}.ml2-m{margin-left:.5rem}.ml3-m{margin-left:1rem}.ml4-m{margin-left:2rem}.ml5-m{margin-left:4rem}.ml6-m{margin-left:8rem}.ml7-m{margin-left:16rem}.mr0-m{margin-right:0}.mr1-m{margin-right:.25rem}.mr2-m{margin-right:.5rem}.mr3-m{margin-right:1rem}.mr4-m{margin-right:2rem}.mr5-m{margin-right:4rem}.mr6-m{margin-right:8rem}.mr7-m{margin-right:16rem}.mb0-m{margin-bottom:0}.mb1-m{margin-bottom:.25rem}.mb2-m{margin-bottom:.5rem}.mb3-m{margin-bottom:1rem}.mb4-m{margin-bottom:2rem}.mb5-m{margin-bottom:4rem}.mb6-m{margin-bottom:8rem}.mb7-m{margin-bottom:16rem}.mt0-m{margin-top:0}.mt1-m{margin-top:.25rem}.mt2-m{margin-top:.5rem}.mt3-m{margin-top:1rem}.mt4-m{margin-top:2rem}.mt5-m{margin-top:4rem}.mt6-m{margin-top:8rem}.mt7-m{margin-top:16rem}.mv0-m{margin-top:0;margin-bottom:0}.mv1-m{margin-top:.25rem;margin-bottom:.25rem}.mv2-m{margin-top:.5rem;margin-bottom:.5rem}.mv3-m{margin-top:1rem;margin-bottom:1rem}.mv4-m{margin-top:2rem;margin-bottom:2rem}.mv5-m{margin-top:4rem;margin-bottom:4rem}.mv6-m{margin-top:8rem;margin-bottom:8rem}.mv7-m{margin-top:16rem;margin-bottom:16rem}.mh0-m{margin-left:0;margin-right:0}.mh1-m{margin-left:.25rem;margin-right:.25rem}.mh2-m{margin-left:.5rem;margin-right:.5rem}.mh3-m{margin-left:1rem;margin-right:1rem}.mh4-m{margin-left:2rem;margin-right:2rem}.mh5-m{margin-left:4rem;margin-right:4rem}.mh6-m{margin-left:8rem;margin-right:8rem}.mh7-m{margin-left:16rem;margin-right:16rem}}@media screen and (min-width:60em){.pa0-l{padding:0}.pa1-l{padding:.25rem}.pa2-l{padding:.5rem}.pa3-l{padding:1rem}.pa4-l{padding:2rem}.pa5-l{padding:4rem}.pa6-l{padding:8rem}.pa7-l{padding:16rem}.pl0-l{padding-left:0}.pl1-l{padding-left:.25rem}.pl2-l{padding-left:.5rem}.pl3-l{padding-left:1rem}.pl4-l{padding-left:2rem}.pl5-l{padding-left:4rem}.pl6-l{padding-left:8rem}.pl7-l{padding-left:16rem}.pr0-l{padding-right:0}.pr1-l{padding-right:.25rem}.pr2-l{padding-right:.5rem}.pr3-l{padding-right:1rem}.pr4-l{padding-right:2rem}.pr5-l{padding-right:4rem}.pr6-l{padding-right:8rem}.pr7-l{padding-right:16rem}.pb0-l{padding-bottom:0}.pb1-l{padding-bottom:.25rem}.pb2-l{padding-bottom:.5rem}.pb3-l{padding-bottom:1rem}.pb4-l{padding-bottom:2rem}.pb5-l{padding-bottom:4rem}.pb6-l{padding-bottom:8rem}.pb7-l{padding-bottom:16rem}.pt0-l{padding-top:0}.pt1-l{padding-top:.25rem}.pt2-l{padding-top:.5rem}.pt3-l{padding-top:1rem}.pt4-l{padding-top:2rem}.pt5-l{padding-top:4rem}.pt6-l{padding-top:8rem}.pt7-l{padding-top:16rem}.pv0-l{padding-top:0;padding-bottom:0}.pv1-l{padding-top:.25rem;padding-bottom:.25rem}.pv2-l{padding-top:.5rem;padding-bottom:.5rem}.pv3-l{padding-top:1rem;padding-bottom:1rem}.pv4-l{padding-top:2rem;padding-bottom:2rem}.pv5-l{padding-top:4rem;padding-bottom:4rem}.pv6-l{padding-top:8rem;padding-bottom:8rem}.pv7-l{padding-top:16rem;padding-bottom:16rem}.ph0-l{padding-left:0;padding-right:0}.ph1-l{padding-left:.25rem;padding-right:.25rem}.ph2-l{padding-left:.5rem;padding-right:.5rem}.ph3-l{padding-left:1rem;padding-right:1rem}.ph4-l{padding-left:2rem;padding-right:2rem}.ph5-l{padding-left:4rem;padding-right:4rem}.ph6-l{padding-left:8rem;padding-right:8rem}.ph7-l{padding-left:16rem;padding-right:16rem}.ma0-l{margin:0}.ma1-l{margin:.25rem}.ma2-l{margin:.5rem}.ma3-l{margin:1rem}.ma4-l{margin:2rem}.ma5-l{margin:4rem}.ma6-l{margin:8rem}.ma7-l{margin:16rem}.ml0-l{margin-left:0}.ml1-l{margin-left:.25rem}.ml2-l{margin-left:.5rem}.ml3-l{margin-left:1rem}.ml4-l{margin-left:2rem}.ml5-l{margin-left:4rem}.ml6-l{margin-left:8rem}.ml7-l{margin-left:16rem}.mr0-l{margin-right:0}.mr1-l{margin-right:.25rem}.mr2-l{margin-right:.5rem}.mr3-l{margin-right:1rem}.mr4-l{margin-right:2rem}.mr5-l{margin-right:4rem}.mr6-l{margin-right:8rem}.mr7-l{margin-right:16rem}.mb0-l{margin-bottom:0}.mb1-l{margin-bottom:.25rem}.mb2-l{margin-bottom:.5rem}.mb3-l{margin-bottom:1rem}.mb4-l{margin-bottom:2rem}.mb5-l{margin-bottom:4rem}.mb6-l{margin-bottom:8rem}.mb7-l{margin-bottom:16rem}.mt0-l{margin-top:0}.mt1-l{margin-top:.25rem}.mt2-l{margin-top:.5rem}.mt3-l{margin-top:1rem}.mt4-l{margin-top:2rem}.mt5-l{margin-top:4rem}.mt6-l{margin-top:8rem}.mt7-l{margin-top:16rem}.mv0-l{margin-top:0;margin-bottom:0}.mv1-l{margin-top:.25rem;margin-bottom:.25rem}.mv2-l{margin-top:.5rem;margin-bottom:.5rem}.mv3-l{margin-top:1rem;margin-bottom:1rem}.mv4-l{margin-top:2rem;margin-bottom:2rem}.mv5-l{margin-top:4rem;margin-bottom:4rem}.mv6-l{margin-top:8rem;margin-bottom:8rem}.mv7-l{margin-top:16rem;margin-bottom:16rem}.mh0-l{margin-left:0;margin-right:0}.mh1-l{margin-left:.25rem;margin-right:.25rem}.mh2-l{margin-left:.5rem;margin-right:.5rem}.mh3-l{margin-left:1rem;margin-right:1rem}.mh4-l{margin-left:2rem;margin-right:2rem}.mh5-l{margin-left:4rem;margin-right:4rem}.mh6-l{margin-left:8rem;margin-right:8rem}.mh7-l{margin-left:16rem;margin-right:16rem}}.na1{margin:-.25rem}.na2{margin:-.5rem}.na3{margin:-1rem}.na4{margin:-2rem}.na5{margin:-4rem}.na6{margin:-8rem}.na7{margin:-16rem}.nl1{margin-left:-.25rem}.nl2{margin-left:-.5rem}.nl3{margin-left:-1rem}.nl4{margin-left:-2rem}.nl5{margin-left:-4rem}.nl6{margin-left:-8rem}.nl7{margin-left:-16rem}.nr1{margin-right:-.25rem}.nr2{margin-right:-.5rem}.nr3{margin-right:-1rem}.nr4{margin-right:-2rem}.nr5{margin-right:-4rem}.nr6{margin-right:-8rem}.nr7{margin-right:-16rem}.nb1{margin-bottom:-.25rem}.nb2{margin-bottom:-.5rem}.nb3{margin-bottom:-1rem}.nb4{margin-bottom:-2rem}.nb5{margin-bottom:-4rem}.nb6{margin-bottom:-8rem}.nb7{margin-bottom:-16rem}.nt1{margin-top:-.25rem}.nt2{margin-top:-.5rem}.nt3{margin-top:-1rem}.nt4{margin-top:-2rem}.nt5{margin-top:-4rem}.nt6{margin-top:-8rem}.nt7{margin-top:-16rem}@media screen and (min-width:30em){.na1-ns{margin:-.25rem}.na2-ns{margin:-.5rem}.na3-ns{margin:-1rem}.na4-ns{margin:-2rem}.na5-ns{margin:-4rem}.na6-ns{margin:-8rem}.na7-ns{margin:-16rem}.nl1-ns{margin-left:-.25rem}.nl2-ns{margin-left:-.5rem}.nl3-ns{margin-left:-1rem}.nl4-ns{margin-left:-2rem}.nl5-ns{margin-left:-4rem}.nl6-ns{margin-left:-8rem}.nl7-ns{margin-left:-16rem}.nr1-ns{margin-right:-.25rem}.nr2-ns{margin-right:-.5rem}.nr3-ns{margin-right:-1rem}.nr4-ns{margin-right:-2rem}.nr5-ns{margin-right:-4rem}.nr6-ns{margin-right:-8rem}.nr7-ns{margin-right:-16rem}.nb1-ns{margin-bottom:-.25rem}.nb2-ns{margin-bottom:-.5rem}.nb3-ns{margin-bottom:-1rem}.nb4-ns{margin-bottom:-2rem}.nb5-ns{margin-bottom:-4rem}.nb6-ns{margin-bottom:-8rem}.nb7-ns{margin-bottom:-16rem}.nt1-ns{margin-top:-.25rem}.nt2-ns{margin-top:-.5rem}.nt3-ns{margin-top:-1rem}.nt4-ns{margin-top:-2rem}.nt5-ns{margin-top:-4rem}.nt6-ns{margin-top:-8rem}.nt7-ns{margin-top:-16rem}}@media screen and (min-width:30em) and (max-width:60em){.na1-m{margin:-.25rem}.na2-m{margin:-.5rem}.na3-m{margin:-1rem}.na4-m{margin:-2rem}.na5-m{margin:-4rem}.na6-m{margin:-8rem}.na7-m{margin:-16rem}.nl1-m{margin-left:-.25rem}.nl2-m{margin-left:-.5rem}.nl3-m{margin-left:-1rem}.nl4-m{margin-left:-2rem}.nl5-m{margin-left:-4rem}.nl6-m{margin-left:-8rem}.nl7-m{margin-left:-16rem}.nr1-m{margin-right:-.25rem}.nr2-m{margin-right:-.5rem}.nr3-m{margin-right:-1rem}.nr4-m{margin-right:-2rem}.nr5-m{margin-right:-4rem}.nr6-m{margin-right:-8rem}.nr7-m{margin-right:-16rem}.nb1-m{margin-bottom:-.25rem}.nb2-m{margin-bottom:-.5rem}.nb3-m{margin-bottom:-1rem}.nb4-m{margin-bottom:-2rem}.nb5-m{margin-bottom:-4rem}.nb6-m{margin-bottom:-8rem}.nb7-m{margin-bottom:-16rem}.nt1-m{margin-top:-.25rem}.nt2-m{margin-top:-.5rem}.nt3-m{margin-top:-1rem}.nt4-m{margin-top:-2rem}.nt5-m{margin-top:-4rem}.nt6-m{margin-top:-8rem}.nt7-m{margin-top:-16rem}}@media screen and (min-width:60em){.na1-l{margin:-.25rem}.na2-l{margin:-.5rem}.na3-l{margin:-1rem}.na4-l{margin:-2rem}.na5-l{margin:-4rem}.na6-l{margin:-8rem}.na7-l{margin:-16rem}.nl1-l{margin-left:-.25rem}.nl2-l{margin-left:-.5rem}.nl3-l{margin-left:-1rem}.nl4-l{margin-left:-2rem}.nl5-l{margin-left:-4rem}.nl6-l{margin-left:-8rem}.nl7-l{margin-left:-16rem}.nr1-l{margin-right:-.25rem}.nr2-l{margin-right:-.5rem}.nr3-l{margin-right:-1rem}.nr4-l{margin-right:-2rem}.nr5-l{margin-right:-4rem}.nr6-l{margin-right:-8rem}.nr7-l{margin-right:-16rem}.nb1-l{margin-bottom:-.25rem}.nb2-l{margin-bottom:-.5rem}.nb3-l{margin-bottom:-1rem}.nb4-l{margin-bottom:-2rem}.nb5-l{margin-bottom:-4rem}.nb6-l{margin-bottom:-8rem}.nb7-l{margin-bottom:-16rem}.nt1-l{margin-top:-.25rem}.nt2-l{margin-top:-.5rem}.nt3-l{margin-top:-1rem}.nt4-l{margin-top:-2rem}.nt5-l{margin-top:-4rem}.nt6-l{margin-top:-8rem}.nt7-l{margin-top:-16rem}}.collapse{border-collapse:collapse;border-spacing:0}.striped--light-silver:nth-child(odd){background-color:#aaa}.striped--moon-gray:nth-child(odd){background-color:#ccc}.striped--light-gray:nth-child(odd){background-color:#eee}.striped--near-white:nth-child(odd){background-color:#f4f4f4}.stripe-light:nth-child(odd){background-color:hsla(0,0%,100%,.1)}.stripe-dark:nth-child(odd){background-color:rgba(0,0,0,.1)}.strike{text-decoration:line-through}.underline{text-decoration:underline}.no-underline{text-decoration:none}@media screen and (min-width:30em){.strike-ns{text-decoration:line-through}.underline-ns{text-decoration:underline}.no-underline-ns{text-decoration:none}}@media screen and (min-width:30em) and (max-width:60em){.strike-m{text-decoration:line-through}.underline-m{text-decoration:underline}.no-underline-m{text-decoration:none}}@media screen and (min-width:60em){.strike-l{text-decoration:line-through}.underline-l{text-decoration:underline}.no-underline-l{text-decoration:none}}.tl{text-align:left}.tr{text-align:right}.tc{text-align:center}.tj{text-align:justify}@media screen and (min-width:30em){.tl-ns{text-align:left}.tr-ns{text-align:right}.tc-ns{text-align:center}.tj-ns{text-align:justify}}@media screen and (min-width:30em) and (max-width:60em){.tl-m{text-align:left}.tr-m{text-align:right}.tc-m{text-align:center}.tj-m{text-align:justify}}@media screen and (min-width:60em){.tl-l{text-align:left}.tr-l{text-align:right}.tc-l{text-align:center}.tj-l{text-align:justify}}.ttc{text-transform:capitalize}.ttl{text-transform:lowercase}.ttu{text-transform:uppercase}.ttn{text-transform:none}@media screen and (min-width:30em){.ttc-ns{text-transform:capitalize}.ttl-ns{text-transform:lowercase}.ttu-ns{text-transform:uppercase}.ttn-ns{text-transform:none}}@media screen and (min-width:30em) and (max-width:60em){.ttc-m{text-transform:capitalize}.ttl-m{text-transform:lowercase}.ttu-m{text-transform:uppercase}.ttn-m{text-transform:none}}@media screen and (min-width:60em){.ttc-l{text-transform:capitalize}.ttl-l{text-transform:lowercase}.ttu-l{text-transform:uppercase}.ttn-l{text-transform:none}}.f-6,.f-headline{font-size:6rem}.f-5,.f-subheadline{font-size:5rem}.f1{font-size:3rem}.f2{font-size:2.25rem}.f3{font-size:1.5rem}.f4{font-size:1.25rem}.f5{font-size:1rem}.f6{font-size:.875rem}.f7{font-size:.75rem}@media screen and (min-width:30em){.f-6-ns,.f-headline-ns{font-size:6rem}.f-5-ns,.f-subheadline-ns{font-size:5rem}.f1-ns{font-size:3rem}.f2-ns{font-size:2.25rem}.f3-ns{font-size:1.5rem}.f4-ns{font-size:1.25rem}.f5-ns{font-size:1rem}.f6-ns{font-size:.875rem}.f7-ns{font-size:.75rem}}@media screen and (min-width:30em) and (max-width:60em){.f-6-m,.f-headline-m{font-size:6rem}.f-5-m,.f-subheadline-m{font-size:5rem}.f1-m{font-size:3rem}.f2-m{font-size:2.25rem}.f3-m{font-size:1.5rem}.f4-m{font-size:1.25rem}.f5-m{font-size:1rem}.f6-m{font-size:.875rem}.f7-m{font-size:.75rem}}@media screen and (min-width:60em){.f-6-l,.f-headline-l{font-size:6rem}.f-5-l,.f-subheadline-l{font-size:5rem}.f1-l{font-size:3rem}.f2-l{font-size:2.25rem}.f3-l{font-size:1.5rem}.f4-l{font-size:1.25rem}.f5-l{font-size:1rem}.f6-l{font-size:.875rem}.f7-l{font-size:.75rem}}.measure{max-width:30em}.measure-wide{max-width:34em}.measure-narrow{max-width:20em}.indent{text-indent:1em;margin-top:0;margin-bottom:0}.small-caps{font-feature-settings:"c2sc";font-variant:small-caps}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media screen and (min-width:30em){.measure-ns{max-width:30em}.measure-wide-ns{max-width:34em}.measure-narrow-ns{max-width:20em}.indent-ns{text-indent:1em;margin-top:0;margin-bottom:0}.small-caps-ns{font-feature-settings:"c2sc";font-variant:small-caps}.truncate-ns{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media screen and (min-width:30em) and (max-width:60em){.measure-m{max-width:30em}.measure-wide-m{max-width:34em}.measure-narrow-m{max-width:20em}.indent-m{text-indent:1em;margin-top:0;margin-bottom:0}.small-caps-m{font-feature-settings:"c2sc";font-variant:small-caps}.truncate-m{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media screen and (min-width:60em){.measure-l{max-width:30em}.measure-wide-l{max-width:34em}.measure-narrow-l{max-width:20em}.indent-l{text-indent:1em;margin-top:0;margin-bottom:0}.small-caps-l{font-feature-settings:"c2sc";font-variant:small-caps}.truncate-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.overflow-container{overflow-y:scroll}.center{margin-left:auto}.center,.mr-auto{margin-right:auto}.ml-auto{margin-left:auto}@media screen and (min-width:30em){.center-ns{margin-left:auto}.center-ns,.mr-auto-ns{margin-right:auto}.ml-auto-ns{margin-left:auto}}@media screen and (min-width:30em) and (max-width:60em){.center-m{margin-left:auto}.center-m,.mr-auto-m{margin-right:auto}.ml-auto-m{margin-left:auto}}@media screen and (min-width:60em){.center-l{margin-left:auto}.center-l,.mr-auto-l{margin-right:auto}.ml-auto-l{margin-left:auto}}.clip{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}@media screen and (min-width:30em){.clip-ns{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}@media screen and (min-width:30em) and (max-width:60em){.clip-m{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}@media screen and (min-width:60em){.clip-l{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}.ws-normal{white-space:normal}.nowrap{white-space:nowrap}.pre{white-space:pre}@media screen and (min-width:30em){.ws-normal-ns{white-space:normal}.nowrap-ns{white-space:nowrap}.pre-ns{white-space:pre}}@media screen and (min-width:30em) and (max-width:60em){.ws-normal-m{white-space:normal}.nowrap-m{white-space:nowrap}.pre-m{white-space:pre}}@media screen and (min-width:60em){.ws-normal-l{white-space:normal}.nowrap-l{white-space:nowrap}.pre-l{white-space:pre}}.v-base{vertical-align:baseline}.v-mid{vertical-align:middle}.v-top{vertical-align:top}.v-btm{vertical-align:bottom}@media screen and (min-width:30em){.v-base-ns{vertical-align:baseline}.v-mid-ns{vertical-align:middle}.v-top-ns{vertical-align:top}.v-btm-ns{vertical-align:bottom}}@media screen and (min-width:30em) and (max-width:60em){.v-base-m{vertical-align:baseline}.v-mid-m{vertical-align:middle}.v-top-m{vertical-align:top}.v-btm-m{vertical-align:bottom}}@media screen and (min-width:60em){.v-base-l{vertical-align:baseline}.v-mid-l{vertical-align:middle}.v-top-l{vertical-align:top}.v-btm-l{vertical-align:bottom}}.dim{opacity:1}.dim,.dim:focus,.dim:hover{transition:opacity .15s ease-in}.dim:focus,.dim:hover{opacity:.5}.dim:active{opacity:.8;transition:opacity .15s ease-out}.glow,.glow:focus,.glow:hover{transition:opacity .15s ease-in}.glow:focus,.glow:hover{opacity:1}.hide-child .child{opacity:0;transition:opacity .15s ease-in}.hide-child:active .child,.hide-child:focus .child,.hide-child:hover .child{opacity:1;transition:opacity .15s ease-in}.underline-hover:focus,.underline-hover:hover{text-decoration:underline}.grow{-moz-osx-font-smoothing:grayscale;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0);transition:transform .25s ease-out}.grow:focus,.grow:hover{transform:scale(1.05)}.grow:active{transform:scale(.9)}.grow-large{-moz-osx-font-smoothing:grayscale;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0);transition:transform .25s ease-in-out}.grow-large:focus,.grow-large:hover{transform:scale(1.2)}.grow-large:active{transform:scale(.95)}.pointer:hover,.shadow-hover{cursor:pointer}.shadow-hover{position:relative;transition:all .5s cubic-bezier(.165,.84,.44,1)}.shadow-hover:after{content:"";box-shadow:0 0 16px 2px rgba(0,0,0,.2);border-radius:inherit;opacity:0;position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;transition:opacity .5s cubic-bezier(.165,.84,.44,1)}.shadow-hover:focus:after,.shadow-hover:hover:after{opacity:1}.bg-animate,.bg-animate:focus,.bg-animate:hover{transition:background-color .15s ease-in-out}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}.z-4{z-index:4}.z-5{z-index:5}.z-999{z-index:999}.z-9999{z-index:9999}.z-max{z-index:2147483647}.z-inherit{z-index:inherit}.z-initial{z-index:auto}.z-unset{z-index:unset}.nested-copy-line-height ol,.nested-copy-line-height p,.nested-copy-line-height ul{line-height:1.5}.nested-headline-line-height h1,.nested-headline-line-height h2,.nested-headline-line-height h3,.nested-headline-line-height h4,.nested-headline-line-height h5,.nested-headline-line-height h6{line-height:1.25}.nested-list-reset ol,.nested-list-reset ul{padding-left:0;margin-left:0;list-style-type:none}.nested-copy-indent p+p{text-indent:1em;margin-top:0;margin-bottom:0}.nested-copy-separator p+p{margin-top:1.5em}.nested-img img{width:100%;max-width:100%;display:block}.nested-links a{color:#357edd;transition:color .15s ease-in}.nested-links a:focus,.nested-links a:hover{color:#96ccff;transition:color .15s ease-in}.pre,pre{overflow-x:auto;overflow-y:hidden;overflow:scroll}pre code{display:block;padding:1.5em;font-size:.875rem;line-height:2}pre,pre code{white-space:pre}pre{background-color:#222;color:#ddd;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;position:relative}.pagination{margin:3rem 0}.pagination li{display:inline-block;margin-right:.375rem;font-size:.875rem;margin-bottom:2.5em}.pagination li a{padding:.5rem .625rem;background-color:#fff;color:#333;border:1px solid #ddd;border-radius:3px;text-decoration:none}.pagination li.disabled{display:none}.pagination li.active a:active,.pagination li.active a:link,.pagination li.active a:visited{background-color:#ddd}.facebook,.github,.gitlab,.instagram,.keybase,.linkedin,.mastodon,.medium,.slack,.stackoverflow,.twitter,.youtube{fill:#bababa}.new-window{opacity:0;display:inline-block;vertical-align:top}.link-transition:hover .new-window{opacity:1}.facebook:hover{fill:#3b5998}.twitter:hover{fill:#1da1f2}.instagram:hover{fill:#e1306c}.youtube:hover{fill:#cd201f}.github:hover{fill:#6cc644}.gitlab:hover{fill:#fc6d26}.keybase:hover{fill:#3d76ff}.linkedin:hover,.medium:hover{fill:#0077b5}.mastodon:hover{fill:#3088d4}.slack:hover{fill:#e01e5a}.stackoverflow:hover{fill:#f48024}#TableOfContents ul li{margin-bottom:1em}.lh-copy blockquote{display:block;font-size:.875em;margin-left:2rem;margin-top:2rem;margin-bottom:2rem;border-left:4px solid #ccc;padding-left:1rem} 

\ No newline at end of file

@@ -0,0 +1,1 @@ 

+ !function(n){function t(e){if(r[e])return r[e].exports;var o=r[e]={i:e,l:!1,exports:{}};return n[e].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var r={};t.m=n,t.c=r,t.i=function(n){return n},t.d=function(n,r,e){t.o(n,r)||Object.defineProperty(n,r,{configurable:!1,enumerable:!0,get:e})},t.n=function(n){var r=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(r,"a",r),r},t.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},t.p="",t(t.s=1)}([function(n,t){},function(n,t,r){"use strict";var e=r(0);!function(n){n&&n.__esModule}(e)}]); 

\ No newline at end of file

@@ -0,0 +1,15 @@ 

+ # theme.toml template for a Hugo theme

+ # See https://github.com/spf13/hugoThemes#themetoml for an example

+ 

+ name = "Ananke Gohugo Theme"

+ license = "MIT"

+ licenselink = "https://github.com/theNewDynamic/gohugo-theme-ananke/blob/master/LICENSE.md"

+ description = "A Base theme for building full featured Hugo sites"

+ homepage = "https://github.com/theNewDynamic/gohugo-theme-ananke"

+ tags = ["website", "starter", "responsive", "Disqus", "blog", "Tachyons", "Multilingual", "Stackbit"]

+ features = ["posts", "shortcodes", "related content", "comments"]

+ min_version = "0.55.0"

+ 

+ [author]

+   name = "theNewDynamic"

+   homepage = "https://www.thenewdynamic.com/"

no initial comment

1 new commit added

  • fix website generation issues (with ugly workarounds)
3 years ago

3 new commits added

  • fix website generation issues (with ugly workarounds)
  • add first generation
  • add hugo website template
3 years ago

2 new commits added

  • store csv in results
  • apply flake
3 years ago

Pull-Request has been merged by jibecfed

3 years ago
Metadata
Changes Summary 114
+2 -0
file changed
.gitignore
+11 -8
file changed
build_stats.py
+245
file added
build_website.py
+1 -1
file changed
convertCSV.py
+20 -8
file changed
runall.sh
+14
file added
templates/language.md
+26
file added
templates/package.md
+19 -1
file changed
todo.md
+6
file added
website/archetypes/default.md
+4
file added
website/config.toml
+30
file added
website/themes/ananke/.gitignore
+169
file added
website/themes/ananke/CHANGELOG.md
+20
file added
website/themes/ananke/LICENSE.md
+203
file added
website/themes/ananke/README.md
+7
file added
website/themes/ananke/archetypes/default.md
+6
file added
website/themes/ananke/data/webpack_assets.json
+36
file added
website/themes/ananke/exampleSite/config.toml
+6
file added
website/themes/ananke/exampleSite/content/_index.md
+8
file added
website/themes/ananke/exampleSite/content/about/_index.md
+14
file added
website/themes/ananke/exampleSite/content/contact.md
+5
file added
website/themes/ananke/exampleSite/content/post/_index.md
+81
file added
website/themes/ananke/exampleSite/content/post/chapter-1.md
+90
file added
website/themes/ananke/exampleSite/content/post/chapter-2.md
+100
file added
website/themes/ananke/exampleSite/content/post/chapter-3.md
+86
file added
website/themes/ananke/exampleSite/content/post/chapter-4.md
+17
file added
website/themes/ananke/exampleSite/content/post/chapter-5.md
+99
file added
website/themes/ananke/exampleSite/content/post/chapter-6.md
+0
file added
website/themes/ananke/exampleSite/static/images/Pope-Edouard-de-Beaumont-1844.jpg
+0
file added
website/themes/ananke/exampleSite/static/images/Victor_Hugo-Hunchback.jpg
+0
file added
website/themes/ananke/exampleSite/static/images/esmeralda.jpg
+0
file added
website/themes/ananke/exampleSite/static/images/notebook.jpg
+35
file added
website/themes/ananke/i18n/bg.toml
+35
file added
website/themes/ananke/i18n/de.toml
+35
file added
website/themes/ananke/i18n/en.toml
+35
file added
website/themes/ananke/i18n/es.toml
+35
file added
website/themes/ananke/i18n/fr.toml
+35
file added
website/themes/ananke/i18n/hu.toml
+35
file added
website/themes/ananke/i18n/it.toml
+35
file added
website/themes/ananke/i18n/nl.toml
+35
file added
website/themes/ananke/i18n/no.toml
+35
file added
website/themes/ananke/i18n/pt.toml
+35
file added
website/themes/ananke/i18n/ru.toml
+35
file added
website/themes/ananke/i18n/sv.toml
+35
file added
website/themes/ananke/i18n/uk.toml
+35
file added
website/themes/ananke/i18n/zh-tw.toml
+35
file added
website/themes/ananke/i18n/zh.toml
+0
file added
website/themes/ananke/images/screenshot.png
+0
file added
website/themes/ananke/images/tn.png
+8
file added
website/themes/ananke/layouts/404.html
+58
file added
website/themes/ananke/layouts/_default/baseof.html
+15
file added
website/themes/ananke/layouts/_default/list.html
+66
file added
website/themes/ananke/layouts/_default/single.html
+16
file added
website/themes/ananke/layouts/_default/taxonomy.html
+22
file added
website/themes/ananke/layouts/_default/terms.html
+55
file added
website/themes/ananke/layouts/index.html
+18
file added
website/themes/ananke/layouts/page/single.html
+2
file added
website/themes/ananke/layouts/partials/commento.html
+35
file added
website/themes/ananke/layouts/partials/func/GetFeaturedImage.html
+0
file added
website/themes/ananke/layouts/partials/head-additions.html
+10
file added
website/themes/ananke/layouts/partials/i18nlist.html
+33
file added
website/themes/ananke/layouts/partials/menu-contextual.html
+2
file added
website/themes/ananke/layouts/partials/new-window-icon.html
+26
file added
website/themes/ananke/layouts/partials/page-header.html
+3
file added
website/themes/ananke/layouts/partials/site-favicon.html
+8
file added
website/themes/ananke/layouts/partials/site-footer.html
+36
file added
website/themes/ananke/layouts/partials/site-header.html
+26
file added
website/themes/ananke/layouts/partials/site-navigation.html
+4
file added
website/themes/ananke/layouts/partials/site-scripts.html
+80
file added
website/themes/ananke/layouts/partials/social-follow.html
+26
file added
website/themes/ananke/layouts/partials/social-share.html
+29
file added
website/themes/ananke/layouts/partials/summary-with-image.html
+13
file added
website/themes/ananke/layouts/partials/summary.html
+1
file added
website/themes/ananke/layouts/partials/svg/facebook.svg
+3
file added
website/themes/ananke/layouts/partials/svg/github.svg
+1
file added
website/themes/ananke/layouts/partials/svg/gitlab.svg
+1
file added
website/themes/ananke/layouts/partials/svg/instagram.svg
+3
file added
website/themes/ananke/layouts/partials/svg/keybase.svg
+3
file added
website/themes/ananke/layouts/partials/svg/linkedin.svg
+4
file added
website/themes/ananke/layouts/partials/svg/mastodon.svg
+3
file added
website/themes/ananke/layouts/partials/svg/medium.svg
+3
file added
website/themes/ananke/layouts/partials/svg/new-window.svg
+5
file added
website/themes/ananke/layouts/partials/svg/rss.svg
+27
file added
website/themes/ananke/layouts/partials/svg/slack.svg
+8
file added
website/themes/ananke/layouts/partials/svg/stackoverflow.svg
+1
file added
website/themes/ananke/layouts/partials/svg/twitter.svg
+1
file added
website/themes/ananke/layouts/partials/svg/youtube.svg
+9
file added
website/themes/ananke/layouts/partials/tags.html
+21
file added
website/themes/ananke/layouts/post/list.html
+20
file added
website/themes/ananke/layouts/post/summary-with-image.html
+15
file added
website/themes/ananke/layouts/post/summary.html
+7
file added
website/themes/ananke/layouts/robots.txt
+20
file added
website/themes/ananke/layouts/shortcodes/form-contact.html
+132
file added
website/themes/ananke/package-lock.json
+26
file added
website/themes/ananke/package.json
+24
file added
website/themes/ananke/src/css/_code.css
+31
file added
website/themes/ananke/src/css/_hugo-internal-templates.css
+64
file added
website/themes/ananke/src/css/_social-icons.css
+20
file added
website/themes/ananke/src/css/_styles.css
+94
file added
website/themes/ananke/src/css/_tachyons.css
+5
file added
website/themes/ananke/src/css/main.css
+8
file added
website/themes/ananke/src/css/postcss.config.js
+16
file added
website/themes/ananke/src/js/main.js
+6453
file added
website/themes/ananke/src/package-lock.json
+32
file added
website/themes/ananke/src/package.json
+39
file added
website/themes/ananke/src/readme.md
+57
file added
website/themes/ananke/src/webpack.config.js
+236
file added
website/themes/ananke/stackbit.yaml
+3
file added
website/themes/ananke/static/dist/css/app.1cb140d8ba31d5b2f1114537dd04802a.css
+5876
file added
website/themes/ananke/static/dist/css/app.4fc0b62e4b82c997bb0041217cd6b979.css
+5872
file added
website/themes/ananke/static/dist/css/app.7e7787cc1402d7de28bc90f7e65adf96.css
+5872
file added
website/themes/ananke/static/dist/css/app.e6e75cdafe2e909dacfabeb26857f994.css
+1
file added
website/themes/ananke/static/dist/js/app.3fc0f988d21662902933.js
+0
file added
website/themes/ananke/static/images/gohugo-default-sample-hero-image.jpg
+15
file added
website/themes/ananke/theme.toml