Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/rmaguiar/hugo-theme-color-your-world.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaphael Aguiar <rmaguiar@tuta.io>2021-06-10 03:14:55 +0300
committerRaphael Aguiar <rmaguiar@tuta.io>2021-06-10 05:00:33 +0300
commite00287cf947b87171f4ea52176e01c7a447f8abe (patch)
tree47df17da54fd3f458ac9287be91127a48109e164
parent72a805b8d8613225c3f855f5a2b4522afa3cf930 (diff)
Make a distinction between "copyright" and "footer text"
* .Site.Copyright will only be used in the RSS file * .Site.Params.footerText is self-explanatory (and an array) * Other minor changes
-rw-r--r--README.md21
-rw-r--r--assets/scss/main.scss18
-rw-r--r--exampleSite/config.toml12
-rw-r--r--exampleSite/content/posts/readme.md17
-rw-r--r--exampleSite/resources/_gen/assets/scss/scss/main.scss_6aeb36d4d7c7936764ce6e857ce87fb4.content2
-rw-r--r--layouts/partials/footer.html21
6 files changed, 60 insertions, 31 deletions
diff --git a/README.md b/README.md
index 8b1f2a8..aa7b181 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,14 @@
# Color Your World
-[Live demo (on Netlify)](https://color-your-world-demo.netlify.app/) | [Demo (on Hugo Themes)](https://themes.gohugo.io/theme/hugo-theme-color-your-world/)
+[![Hugo](https://img.shields.io/badge/Hugo-%5E0.73.0-ff4088?logo=hugo)](https://gohugo.io/)
+[![License](https://badgen.net/badge/license/MIT/blue)](https://gitlab.com/rmaguiar/hugo-theme-color-your-world/-/blob/master/LICENSE)
+[![Buy Me a Coffee](https://badgen.net/badge/icon/buy%20me%20a%20coffee?icon=buymeacoffee&label&color=ff5f5f)](https://www.buymeacoffee.com/rmaguiar)
+[![Netlify Status](https://api.netlify.com/api/v1/badges/fcc6d88f-4913-4716-be24-1888c3acaa03/deploy-status)](https://app.netlify.com/sites/color-your-world-demo/deploys)
-**Color Your World** is a [Hugo](https://gohugo.io) theme developed around a single experiment that led me to this:
+* [Live demo (on Netlify)](https://color-your-world-demo.netlify.app/)
+* [Demo (on Hugo Themes)](https://themes.gohugo.io/theme/hugo-theme-color-your-world/)
+
+**Color Your World** is a [Hugo](https://gohugo.io/) theme developed around a single experiment that led me to this:
![HTML color picker with 12 presets.](https://gitlab.com/rmaguiar/hugo-theme-color-your-world/-/raw/master/images/color-picker.png)
@@ -19,7 +25,7 @@ I've been working on this theme for so long that there are features I don't even
* Keyboard-friendly;
* Privacy-aware to an extent (no Google Analytics/Fonts, Disqus, etc);
* Social shortcode including centralized and decentralized platforms;
-* Contact form shortcode (via [Formspree](https://formspree.io));
+* Contact form shortcode (via [Formspree](https://formspree.io/));
* Open Graph, Twitter Cards and Structured Data (schema.org) meta tags;
* Responsive images via image processing;
* Basic search functionality via [Fuse.js](https://github.com/krisk/Fuse);
@@ -252,7 +258,7 @@ A **really** basic 404 page can be generated via config file by using:
* The site title can be replaced by creating a file named `layouts/partials/custom/site-title.html`;
* Custom favicons can be used by creating a file named `layouts/partials/custom/head-append.html`;
* Custom CSS can be imported into the main CSS file by creating a file named `static/css/custom.css` or `assets/scss/custom.scss`;
-* The `copyright` param can be replaced by creating a file named `layouts/partials/custom/copyright.html`.
+* The `footerText` param can be replaced by creating a file named `layouts/partials/custom/footer-text.html`.
### More params
@@ -268,6 +274,11 @@ More possible params for your config file (or front matter):
author = "John Doe"
authorDesc = "Some indescribable horror."
+ # Footer text
+ # Each value will become a paragraph
+ # Keep it as an array
+ footerText = [ "Generated with [Hugo](https://gohugo.io) using the [Color Your World](https://gitlab.com/rmaguiar/hugo-theme-color-your-world) theme." ]
+
# Site cover, for Open Graph, Twitter Cards and Schema.org
# It will be used if the current page doesn't have an image cover
# File will be picked from the "assets" directory
@@ -364,4 +375,4 @@ More possible params for your config file (or front matter):
If this repo was useful or helpful to you in any way, please consider buying me a coffee:
-<a href="https://www.buymeacoffee.com/rmaguiar" target="_blank" rel="noopener noreferrer"><img src="https://cdn.buymeacoffee.com/buttons/lato-orange.png" alt="Buy Me A Coffee" style="height: 51px !important;width: 217px !important;"></a>
+[![Buy Me a Coffee](https://cdn.buymeacoffee.com/buttons/v2/default-red.png)](https://www.buymeacoffee.com/rmaguiar)
diff --git a/assets/scss/main.scss b/assets/scss/main.scss
index b63098d..b160e3a 100644
--- a/assets/scss/main.scss
+++ b/assets/scss/main.scss
@@ -163,15 +163,11 @@ body {
}
> footer {
- padding: 1rem 3rem;
+ padding: 1.5rem 3rem 1rem;
p {
- line-height: 1.8rem;
- margin: .75rem 0;
-
- // HACK
- // Render "\n" as a line break in the copyright (from config)
- white-space: pre-wrap;
+ line-height: 1.5rem;
+ margin: .5rem 0;
}
a {
@@ -185,7 +181,7 @@ body {
}
section {
- padding: 6px 0 12px;
+ padding: 12px 0;
input {
border: 1px solid var(--fg);
@@ -244,11 +240,6 @@ body {
}
-// footer button,
-// footer input,
-// input[type=submit],
-// .search-box button,
-// .toc summary,
body a,
.outline-dashed {
outline: 2px dashed transparent;
@@ -918,6 +909,7 @@ video {
border: 1px solid var(--fg);
}
+ // NOTE
// Can be used to override the previous rule
&.borderless {
border: 0;
diff --git a/exampleSite/config.toml b/exampleSite/config.toml
index f628d66..a9ea420 100644
--- a/exampleSite/config.toml
+++ b/exampleSite/config.toml
@@ -3,7 +3,8 @@ languageCode = "en"
title = "Color Your World"
theme = "color-your-world"
-copyright = "Copyright © 2008–2020, Steve Francia and the Hugo Authors;\n All rights reserved."
+# Used only in the RSS file
+copyright = "Copyright © 2008–2021, Steve Francia and the Hugo Authors; All rights reserved."
enableEmoji = true
enableInlineShortcodes = true
@@ -31,6 +32,11 @@ paginate = 5
author = "John Doe"
authorDesc = "Some indescribable horror."
+ # Footer text
+ # Each value will become a paragraph
+ # Keep it as an array
+ footerText = [ "Generated with [Hugo](https://gohugo.io) using the [Color Your World](https://gitlab.com/rmaguiar/hugo-theme-color-your-world) theme." ]
+
# Site cover, for Open Graph, Twitter Cards and Schema.org
# It will be used if the current page doesn't have a image cover
# File will be picked from the "assets" directory
@@ -263,7 +269,7 @@ paginate = 5
languageName = "Português"
- copyright = "Copyright © 2008–2020, Steve Francia e os autores do Hugo;\n Todos os direitos reservados."
+ copyright = "Copyright © 2008–2021, Steve Francia e os autores do Hugo; Todos os direitos reservados."
[languages.pt.params]
description = "Sítio pessoal de João Ninguém"
@@ -271,6 +277,8 @@ paginate = 5
author = "João Ninguém"
authorDesc = "Algum horror indescritível."
+ footerText = [ "Gerado com [Hugo](https://gohugo.io) usando o tema [Color Your World](https://gitlab.com/rmaguiar/hugo-theme-color-your-world)." ]
+
[languages.pt.params.notFound]
title = "Página não encontrada"
description = "Essa página não foi encontrada."
diff --git a/exampleSite/content/posts/readme.md b/exampleSite/content/posts/readme.md
index 6347e17..e1c77b3 100644
--- a/exampleSite/content/posts/readme.md
+++ b/exampleSite/content/posts/readme.md
@@ -5,9 +5,10 @@ tags : [ extra, markdown ]
toc : true
---
-[Live demo (on Netlify)](https://color-your-world-demo.netlify.app/) | [Demo (on Hugo Themes)](https://themes.gohugo.io/theme/hugo-theme-color-your-world/)
+* [Live demo (on Netlify)](https://color-your-world-demo.netlify.app/)
+* [Demo (on Hugo Themes)](https://themes.gohugo.io/theme/hugo-theme-color-your-world/)
-**Color Your World** is a [Hugo](https://gohugo.io) theme developed around a single experiment that led me to this:
+**Color Your World** is a [Hugo](https://gohugo.io/) theme developed around a single experiment that led me to this:
![HTML color picker with 12 presets.](https://gitlab.com/rmaguiar/hugo-theme-color-your-world/-/raw/master/images/color-picker.png)
@@ -24,7 +25,7 @@ I've been working on this theme for so long that there are features I don't even
* Keyboard-friendly;
* Privacy-aware to an extent (no Google Analytics/Fonts, Disqus, etc);
* Social shortcode including centralized and decentralized platforms;
-* Contact form shortcode (via [Formspree](https://formspree.io));
+* Contact form shortcode (via [Formspree](https://formspree.io/));
* Open Graph, Twitter Cards and Structured Data (schema.org) meta tags;
* Responsive images via image processing;
* Basic search functionality via [Fuse.js](https://github.com/krisk/Fuse);
@@ -257,7 +258,7 @@ A **really** basic 404 page can be generated via config file by using:
* The site title can be replaced by creating a file named `layouts/partials/custom/site-title.html`;
* Custom favicons can be used by creating a file named `layouts/partials/custom/head-append.html`;
* Custom CSS can be imported into the main CSS file by creating a file named `static/css/custom.css` or `assets/scss/custom.scss`;
-* The `copyright` param can be replaced by creating a file named `layouts/partials/custom/copyright.html`.
+* The `footerText` param can be replaced by creating a file named `layouts/partials/custom/footer-text.html`.
### More params
@@ -273,6 +274,11 @@ More possible params for your config file (or front matter):
author = "John Doe"
authorDesc = "Some indescribable horror."
+ # Footer text
+ # Each value will become a paragraph
+ # Keep it as an array
+ footerText = [ "Generated with [Hugo](https://gohugo.io) using the [Color Your World](https://gitlab.com/rmaguiar/hugo-theme-color-your-world) theme." ]
+
# Site cover, for Open Graph, Twitter Cards and Schema.org
# It will be used if the current page doesn't have an image cover
# File will be picked from the "assets" directory
@@ -344,6 +350,7 @@ More possible params for your config file (or front matter):
socialIsFlex = true
# Keep anchor links hidden until it's focused/hovered
+ # They will always be visible in mobile devices, regardless the option
# The default is false
hideAnchors = true
@@ -368,4 +375,4 @@ More possible params for your config file (or front matter):
If this repo was useful or helpful to you in any way, please consider buying me a coffee:
-<a href="https://www.buymeacoffee.com/rmaguiar" target="_blank" rel="noopener noreferrer"><img src="https://cdn.buymeacoffee.com/buttons/lato-orange.png" alt="Buy Me A Coffee" style="height: 51px !important;width: 217px !important;"></a>
+[![Buy Me a Coffee](https://cdn.buymeacoffee.com/buttons/v2/default-red.png)](https://www.buymeacoffee.com/rmaguiar)
diff --git a/exampleSite/resources/_gen/assets/scss/scss/main.scss_6aeb36d4d7c7936764ce6e857ce87fb4.content b/exampleSite/resources/_gen/assets/scss/scss/main.scss_6aeb36d4d7c7936764ce6e857ce87fb4.content
index 9625484..a7fd357 100644
--- a/exampleSite/resources/_gen/assets/scss/scss/main.scss_6aeb36d4d7c7936764ce6e857ce87fb4.content
+++ b/exampleSite/resources/_gen/assets/scss/scss/main.scss_6aeb36d4d7c7936764ce6e857ce87fb4.content
@@ -1 +1 @@
-@font-face{font-family:oswald;font-style:normal;font-weight:700;font-display:swap;src:local("Oswald"),url(../fonts/oswald-v29-latin-700.woff2)format("woff2"),url(../fonts/oswald-v29-latin-700.woff)format("woff")}@font-face{font-family:open sans;font-style:normal;font-weight:400;font-display:swap;src:local("Open Sans Regular"),local("OpenSans-Regular"),url(../fonts/open-sans-v17-latin-regular.woff2)format("woff2"),url(../fonts/open-sans-v17-latin-regular.woff)format("woff")}@font-face{font-family:open sans;font-style:normal;font-weight:700;font-display:swap;src:local("Open Sans Bold"),local("OpenSans-Bold"),url(../fonts/open-sans-v17-latin-700.woff2)format("woff2"),url(../fonts/open-sans-v17-latin-700.woff)format("woff")}@font-face{font-family:open sans;font-style:italic;font-weight:400;font-display:swap;src:local("Open Sans Italic"),local("OpenSans-Italic"),url(../fonts/open-sans-v17-latin-italic.woff2)format("woff2"),url(../fonts/open-sans-v17-latin-italic.woff)format("woff")}:root{font-size:18px}html{scroll-behavior:smooth}html[data-mode=light]{--bg:#ddd;--fg:#444;--alt-bg:#d6d6d6;--alt-fg:#333;--dtl:#fdfdfd;--err:#c70000;--bgmod:rgba(0, 0, 0, 0.3);--input-bg:#fefefe;--input-fg:#111;--input-bd:#ccc;--lpress:rgba(0, 0, 0, 0.2);--rlpress:rgba(255, 255, 255, 0.2)}html[data-mode=light] .chroma,html[data-mode=light] pre,html[data-mode=light] p code,html[data-mode=light] li code{color:#93a1a1;background-color:#002b36}html[data-mode=light] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}html[data-mode=light] .chroma .lntable{border-spacing:0;margin:0;border:0;width:auto;display:block}html[data-mode=light] .chroma .hl{display:block;width:100%;background-color:rgba(0,0,0,.3)}html[data-mode=light] .chroma .nb{color:#b58900}html[data-mode=light] .chroma .ge{font-style:italic}html[data-mode=light] .chroma .gr{color:#e8625f;font-weight:700}html[data-mode=light] .chroma .gs{font-weight:700}html[data-mode=light] .chroma .x,html[data-mode=light] .chroma .kc,html[data-mode=light] .chroma .no,html[data-mode=light] .chroma .ni,html[data-mode=light] .chroma .ne,html[data-mode=light] .chroma .se,html[data-mode=light] .chroma .gh{color:#e9662f}html[data-mode=light] .chroma .lnt,html[data-mode=light] .chroma .ln{margin-right:.4em;padding:0 .4em;color:#848f8f}html[data-mode=light] .chroma .k,html[data-mode=light] .chroma .kn,html[data-mode=light] .chroma .kp,html[data-mode=light] .chroma .o,html[data-mode=light] .chroma .ow,html[data-mode=light] .chroma .cs,html[data-mode=light] .chroma .cp,html[data-mode=light] .chroma .cpf,html[data-mode=light] .chroma .gi{color:#859900}html[data-mode=light] .chroma .kd,html[data-mode=light] .chroma .kr,html[data-mode=light] .chroma .bp,html[data-mode=light] .chroma .nc,html[data-mode=light] .chroma .nd,html[data-mode=light] .chroma .nf,html[data-mode=light] .chroma .nt,html[data-mode=light] .chroma .nv,html[data-mode=light] .chroma .gu{color:#3294da}html[data-mode=light] .chroma .kt,html[data-mode=light] .chroma .sr,html[data-mode=light] .chroma .gd{color:#e8625f}html[data-mode=light] .chroma .s,html[data-mode=light] .chroma .sa,html[data-mode=light] .chroma .sc,html[data-mode=light] .chroma .dl,html[data-mode=light] .chroma .s2,html[data-mode=light] .chroma .si,html[data-mode=light] .chroma .sx,html[data-mode=light] .chroma .s1,html[data-mode=light] .chroma .ss,html[data-mode=light] .chroma .m,html[data-mode=light] .chroma .mb,html[data-mode=light] .chroma .mf,html[data-mode=light] .chroma .mh,html[data-mode=light] .chroma .mi,html[data-mode=light] .chroma .il,html[data-mode=light] .chroma .mo{color:#2aa198}html[data-mode=light] .chroma .sb,html[data-mode=light] .chroma .c,html[data-mode=light] .chroma .ch,html[data-mode=light] .chroma .cm,html[data-mode=light] .chroma .c1{color:#759299}html[data-mode=dark]{--bg:#1f1f1f;--fg:#bbb;--alt-bg:#1c1c1c;--alt-fg:#ddd;--dtl:#1a1a1a;--err:#ff3131;--bgmod:rgba(255, 255, 255, 0.3);--input-bg:#222;--input-fg:#f0f0f0;--input-bd:#262626;--lpress:rgba(255, 255, 255, 0.2);--rlpress:rgba(0, 0, 0, 0.2)}html[data-mode=dark] img{filter:contrast(.85)grayscale(.3)}html[data-mode=dark] .chroma,html[data-mode=dark] pre,html[data-mode=dark] p code,html[data-mode=dark] li code{color:#f8f8f2;background:#272822}html[data-mode=dark] .chroma .err{color:#eb0083;background-color:#1e0010}html[data-mode=dark] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}html[data-mode=dark] .chroma .lntable{border-spacing:0;margin:0;border:0;width:auto;display:block}html[data-mode=dark] .chroma .hl{display:block;width:100%;background-color:rgba(0,0,0,.3)}html[data-mode=dark] .chroma .ge{font-style:italic}html[data-mode=dark] .chroma .gs{font-weight:700}html[data-mode=dark] .chroma .lnt,html[data-mode=dark] .chroma .ln{margin-right:.4em;padding:0 .4em;color:#8e8e8e}html[data-mode=dark] .chroma .k,html[data-mode=dark] .chroma .kc,html[data-mode=dark] .chroma .kd,html[data-mode=dark] .chroma .kp,html[data-mode=dark] .chroma .kr,html[data-mode=dark] .chroma .kt,html[data-mode=dark] .chroma .no{color:#66d9ef}html[data-mode=dark] .chroma .kn,html[data-mode=dark] .chroma .nt,html[data-mode=dark] .chroma .o,html[data-mode=dark] .chroma .ow,html[data-mode=dark] .chroma .gd{color:#f94e8a}html[data-mode=dark] .chroma .na,html[data-mode=dark] .chroma .nc,html[data-mode=dark] .chroma .nd,html[data-mode=dark] .chroma .ne,html[data-mode=dark] .chroma .nf,html[data-mode=dark] .chroma .nx,html[data-mode=dark] .chroma .gi{color:#a6e22e}html[data-mode=dark] .chroma .l,html[data-mode=dark] .chroma .se,html[data-mode=dark] .chroma .m,html[data-mode=dark] .chroma .mb,html[data-mode=dark] .chroma .mf,html[data-mode=dark] .chroma .mh,html[data-mode=dark] .chroma .mi,html[data-mode=dark] .chroma .il,html[data-mode=dark] .chroma .mo{color:#ae81ff}html[data-mode=dark] .chroma .ld,html[data-mode=dark] .chroma .s,html[data-mode=dark] .chroma .sa,html[data-mode=dark] .chroma .sb,html[data-mode=dark] .chroma .sc,html[data-mode=dark] .chroma .dl,html[data-mode=dark] .chroma .sd,html[data-mode=dark] .chroma .s2,html[data-mode=dark] .chroma .sh,html[data-mode=dark] .chroma .si,html[data-mode=dark] .chroma .sx,html[data-mode=dark] .chroma .sr,html[data-mode=dark] .chroma .s1,html[data-mode=dark] .chroma .ss{color:#e6db74}html[data-mode=dark] .chroma .c,html[data-mode=dark] .chroma .ch,html[data-mode=dark] .chroma .cm,html[data-mode=dark] .chroma .c1,html[data-mode=dark] .chroma .cs,html[data-mode=dark] .chroma .cp,html[data-mode=dark] .chroma .cpf,html[data-mode=dark] .chroma .gu{color:#949076}body{margin:0;padding:0;font-family:open sans,sans-serif;background:var(--bg);color:var(--fg);display:flex;min-height:100vh;flex-direction:column}body a{color:var(--accent);outline-offset:2px;transition:opacity .2s ease-in-out,outline-color .2s ease-in-out;word-break:break-word}body a:hover{opacity:.75}body>header,body>footer{background:var(--alt-bg);color:var(--alt-fg);text-align:center}body>header{padding:0 1.5rem 1rem}body>header nav{margin:.5rem 0 0}body>header nav ul{margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center}body>header nav ul a{display:block;word-break:keep-all;margin:0 7.5px 15px;padding:9px 21px 12px;font-size:.75rem;font-weight:700;text-transform:uppercase}body>footer{padding:1rem 3rem}body>footer p{line-height:1.8rem;margin:.75rem 0;white-space:pre-wrap}body>footer a{transition:opacity .2s ease-in-out,outline-color .3s ease}body>footer a:hover{opacity:.75}body>footer section{padding:6px 0 12px}body>footer section input{border:1px solid var(--fg);outline-offset:3px;padding:0}body>footer section input::-webkit-color-swatch{border:none}body>footer section input::-webkit-color-swatch-wrapper{padding:0}body>footer section button{background:0;border:0;padding:3px 3px 0}body>footer section button svg{fill:var(--fg);stroke:var(--lpress);stroke-width:.6rem}body>footer section input,body>footer section button{margin:0 7.5px;transition:outline-color .2s ease-in-out,transform .2s ease-in-out}body>footer section input:hover,body>footer section button:hover{transform:scale(1.2)}body>footer section input::-moz-focus-inner,body>footer section button::-moz-focus-inner{border:0}body>footer section input,body>footer section button svg{width:42px;height:42px}body a,.outline-dashed{outline:2px dashed transparent}body a:focus,.outline-dashed:focus{outline-color:var(--accent)}ol,ul{list-style:none}h1{text-shadow:0 1px 0 var(--rlpress),1px 0 0 var(--rlpress)}hr{border:1px solid var(--lpress);margin:2.4rem 0 1.2rem}::selection{background:var(--accent);color:#f0f0f0;text-shadow:none}.filler{flex:1;align-items:center;justify-content:center}article>header h1{line-height:3rem}article>header img{margin:1rem 0 0}article>header p{font-size:.9rem;font-style:italic}#contact input[type=submit],.label-form,.toc summary,body>header>a,h6,h5,h4,h3,h2,h1{font-family:oswald,sans-serif;font-weight:700}h1{font-size:2.25rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}main p{line-height:1.65rem}code{font-family:monospace;overflow-wrap:break-word}body>header>a{transition:color .3s ease,opacity .2s ease-in-out,outline-color .3s ease;font-size:2.25rem;text-shadow:0 1px 0 var(--rlpress),1px 0 0 var(--rlpress);display:inline-block;margin:1.5rem 0 .75rem}article>header{margin:0 0 2rem}article>header h1{margin:9px 0}article>header p{margin:0}article h2,article h3{margin:2rem 0 1rem}article p{margin:1.5rem 0}h6+p,h5+p,h4+p,h3+p,h2+p,h1+p{margin-top:0}h6,h5,h4,h3,h2{padding-top:1rem}audio,img,video{margin:1.8rem auto}.anchor{float:right;position:relative;transform:none;margin:0 0 0 1.5rem}.anchor svg{fill:var(--accent);vertical-align:middle;width:24px;height:24px}h2 .anchor{margin-right:.65rem;outline-offset:7.5px}h2 .anchor svg{transform:scale(1.7)}h3 .anchor{margin-right:.55rem;outline-offset:6.25px}h3 .anchor svg{transform:scale(1.525)}h4 .anchor{margin-right:.45rem;outline-offset:5px}h4 .anchor svg{transform:scale(1.35)}h5 .anchor{margin-right:.35rem;outline-offset:3.75px}h5 .anchor svg{transform:scale(1.175)}h6 .anchor{margin-right:.25rem;outline-offset:2.5px}h6 .anchor svg{transform:scale(1)}@media(min-width:793px){.anchor{position:absolute;transform:translate(-150%)}h2 .anchor{margin:0 0 0 -.25rem}h3 .anchor{margin:0 0 0 -.15rem}h4 .anchor{margin:0 0 0 -.05rem}h5 .anchor{margin:0 0 0 .05rem}h6 .anchor{margin:0 0 0 .15rem}}label,summary,.footnote-ref,.lnt{user-select:none}article ol li,article ul li{margin-bottom:.45rem}ol{counter-reset:a-counter}ol li{counter-increment:a-counter}ol li::before{content:counter(a-counter)"";font-size:.85rem;font-weight:700;text-shadow:0 1px 0 var(--lpress),1px 0 0 var(--lpress);background:var(--fg);border:1px solid var(--lpress);border-radius:2px;color:var(--bg);margin-right:12px;padding:2px 7.5px}.footnotes{border-top:2px solid var(--fg);display:block;margin-top:2.4rem;padding:1rem 0 1.8rem}.footnotes h2{margin:0 0 2rem}.footnotes a{word-break:break-word}.footnotes ol li p:first-of-type{display:inline;margin-left:-6px}.footnotes .footnote-backref{margin:0 0 0 9px;padding:0 9px;vertical-align:middle}.footnotes .footnote-backref svg{fill:var(--dtl);stroke:var(--lpress);stroke-width:.6rem;width:18px;height:18px}.footnotes hr{display:none}sup{line-height:0}sup .footnote-ref{text-decoration:none}sup .footnote-ref::before{content:'['}sup .footnote-ref::after{content:']'}code,.chroma{transition:background-color .3s ease,color .3s ease}article>pre,.scroll,.katex-display,.highlight>pre,.highlight>div{overflow-x:auto;transition:background-color .3s ease,color .3s ease,outline-color .3s ease;outline:3px solid transparent}article>pre:focus,.scroll:focus,.katex-display:focus,.highlight>pre:focus,.highlight>div:focus{outline-color:var(--accent)}.scroll{border:1px solid var(--fg)}.scroll>table{border-collapse:collapse;color:var(--fg);font-family:open sans,sans-serif;min-width:600px;width:100%}.scroll>table td+td{border-left:1px solid var(--fg)}.scroll>table tr+tr{border-top:1px solid var(--fg)}.scroll>table td,.scroll>table th{padding:9px}.scroll>table th{background:var(--fg);color:var(--bg)}.scroll>table tr{transition:background .2s ease-in-out,color .2s ease-in-out}.scroll>table tr:nth-child(even){background:var(--alt-bg)}.scroll>table tr:nth-child(odd){background:var(--bg)}.scroll>table tr:hover{background:var(--accent);color:var(--dtl)}.highlight>div table{padding:0 24px;max-height:75vh}.chroma td:first-of-type{padding:0 18px 0 0}article>pre,.katex-display,.highlight>pre{padding:var(--hl-pad)}article>pre,.katex-display,.highlight>pre,.highlight>.chroma{border:1px solid #222;line-height:1.5rem;max-height:75vh}mark,p code,li code{border-radius:2px;padding:1px 3px}li a{word-break:break-all}article>header .terms{margin:.9rem 0 .6rem}article>header .terms ul{padding:0}article>header .terms li{display:inline}article>header .terms a{display:inline-block;margin:0 7.5px 9px 0;padding:6px 15px 9px}.posts{padding:0}.posts li{margin:.5rem 0}.posts a{background:var(--accent);color:var(--dtl);display:flex;margin:15px auto;padding:15px 30px 18px;text-decoration:none;align-items:center;word-break:break-word}.posts a p{flex:1;margin:0}.posts a time{background-image:linear-gradient(0,var(--bgmod),100%,transparent);border-radius:2px;font-size:.85rem;margin-left:1.8rem;padding:0 9px 2px}@media(max-width:768px){.posts a{flex-direction:column-reverse;align-items:unset}.posts a time{margin:.3rem 0}}.katex-display{border:1px dashed var(--alt-fg);overflow-x:auto;padding:15px 30px}.katex-display:focus{border:1px solid #222}img,figure,video{width:auto;height:auto}img{display:block;max-width:100%;max-height:75vh;outline:3px solid transparent;transition:border-color .3s ease,outline-color .3s ease,filter .3s ease}img.cover{border:1px solid var(--fg);object-fit:cover;width:100%}article p>img{display:block;margin:2rem auto;max-width:100%}figure{margin:1.8rem auto}figure img{display:block;margin:0 auto;max-width:90%}figure figcaption{font-size:.85rem;text-align:center;margin:.75rem;line-height:1.5rem}video{display:block;max-width:91%;max-height:75vh;outline:3px solid transparent;transition:border-color .3s ease,outline-color .3s ease}video:focus,video:hover{border-color:var(--accent);outline-color:var(--accent)}video.gifoid{margin:3rem auto;max-width:90%}audio{display:block;width:90%}img.border,video.border{border:1px solid var(--fg)}img.borderless,video.borderless{border:0}.toc{background:var(--alt-bg);color:var(--dtl);transition:background-color .3s ease,border .3s ease,linear-gradient .3s ease}.toc summary{background:var(--accent);border:1px solid rgba(0,0,0,.3);border-radius:2px;outline-offset:2px;padding:15px 30px 18.5px;box-shadow:inset 0 1px rgba(255,255,255,.2),inset 0 -3px rgba(0,0,0,.3);text-shadow:0 1px 0 var(--lpress),1px 0 0 var(--lpress);transition:color .3s ease,opacity .2s ease,outline-color .3s ease,padding .2s ease}.toc summary:hover{opacity:.75}.toc[open] summary{border-radius:2px 2px 0 0;box-shadow:inset 0 1px rgba(255,255,255,.2);padding:15px 30px}.toc[open] summary~*{animation:smoothReveal .3s ease-in-out}.toc nav#TableOfContents{border-style:solid;border-color:rgba(0,0,0,.3);border-width:0 1px 1px;border-radius:0 0 2px 2px;box-shadow:inset 0 -3px rgba(0,0,0,.3);padding:6px 15px 15px 9px}.toc nav#TableOfContents li:first-of-type{margin-top:.3rem}.toc nav#TableOfContents ul li:not(:last-of-type),.toc nav#TableOfContents ul li ul li:first-of-type,.toc nav#TableOfContents ul li ol li:first-of-type,.toc nav#TableOfContents ol li:not(:last-of-type),.toc nav#TableOfContents ol li ul li:first-of-type,.toc nav#TableOfContents ol li ol li:first-of-type{margin-bottom:.3rem}#TableOfContents,.footnotes ol,article>ul,article>ol{line-height:1.5rem}#TableOfContents ul,.footnotes ol{padding-left:24px}article>ul,article>ul ul,article>ol,article>ol ol{padding:0 24px}#TableOfContents ul li:before,article>ul li:before{content:'';margin-right:12px;background:var(--fg);border-radius:2px;width:18px;height:18px;display:inline-block;margin-bottom:-3px}@keyframes smoothReveal{0%{opacity:0}100%{opacity:1}}.btn,.footnote-backref,input[type=submit]{background:var(--accent);border:1px solid rgba(0,0,0,.3);border-radius:2px;color:var(--dtl);text-decoration:none;transition:background-color .3s ease,color .3s ease,opacity .2s ease-in-out,outline-color .3s ease;box-shadow:inset 0 1px rgba(255,255,255,.2),inset 0 -3px rgba(0,0,0,.3);text-shadow:0 1px 0 var(--lpress),1px 0 0 var(--lpress)}.btn:hover,.footnote-backref:hover,input[type=submit]:hover{opacity:.75}button,input[type=color],input[type=submit],summary{cursor:pointer}.category a{font-weight:700}.terms{display:flex;flex-wrap:wrap;padding:0}.terms a{display:flex;flex:1;align-items:center;margin:0 9px 9px 0;padding:7.5px 18px 10.5px;word-break:keep-all}.terms a span{background-image:linear-gradient(0,var(--bgmod),100%,transparent);border-radius:2px;margin-left:.45rem;padding:0 6px 1px;font-size:.85rem}.pagination{font-family:open sans,sans-serif;font-weight:700;text-align:center;margin:3rem auto 1rem;display:flex;flex-wrap:wrap;justify-content:center}.pagination li{display:inline-block;transition:background .2s ease-in-out,border .2s ease-in-out}.pagination li a,.pagination li.current p{display:block;margin:0 9px 9px 0;padding:7.5px 12px 10.5px;width:21px}.pagination li a{color:var(--dtl)}.pagination li.current p{background:var(--alt-bg);border:1px solid rgba(0,0,0,.45);border-radius:2px;color:var(--alt-fg);line-height:inherit;user-select:none;box-shadow:inset 0 1px rgba(255,255,255,.2),inset 0 -3px rgba(0,0,0,.3);text-shadow:0 1px 0 var(--lpress),1px 0 0 var(--lpress)}.pagination svg{display:inline-block;fill:currentColor;width:18px;height:18px;margin:auto auto -2px}.label-form{margin-top:1rem;font-size:.9rem;letter-spacing:.5px;text-transform:uppercase}.input-text{background:var(--input-bg);border:1px solid var(--input-bd);color:var(--input-fg);font-family:open sans,sans-serif;font-size:.9rem;line-height:1.5rem;transition:background-color .3s ease,border .3s ease,outline-color .2s ease-in-out;outline:2px solid transparent}.input-text:focus{outline-color:var(--accent)}.search-box form{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch}.search-box label{flex-basis:100%;line-height:2rem}.search-box input[name=q]{padding:6px 12px;flex:1;border-radius:2px 0 0 2px}.search-box button{border-radius:0 2px 2px 0;padding:6px 30px;outline-offset:2px}.search-box button svg{width:15px;height:15px;fill:currentColor;stroke:var(--lpress);stroke-width:9px}#search-info{margin:1rem 0 2rem}#search-info+ul{margin:0 0 6rem}.social{margin:1.5rem 0;display:flex;flex-wrap:wrap}.social a{display:flex;flex:1;align-items:center;margin:0 9px 9px 0;min-width:150px;padding:15px 21px;text-align:center}.social a svg{fill:currentColor;stroke:var(--lpress);stroke-width:9px;width:36px;height:36px}.social a p{flex:1;margin:0 12px;font-size:.75rem;font-weight:700;text-transform:uppercase;line-height:1rem}.social a:hover{opacity:.75}#contact{margin:1.5rem 0}#contact label{display:block;line-height:1.8rem}#contact input[name=name],#contact input[name=_replyto],#contact input[name=_subject],#contact select,#contact textarea{display:block;margin:3px 0;max-width:100%}#contact input[name=name],#contact input[name=_replyto],#contact input[name=_subject]{min-width:240px;padding:6px 12px}#contact select{min-width:210px;padding:6px}#contact textarea{padding:9px 15px;width:90%;height:auto}#contact input[type=submit]{font-size:.75rem;text-transform:uppercase;letter-spacing:.05rem;margin-top:1.2rem;padding:12px 42px 15px;outline-offset:2px;transition:background-color .3s ease,border .2s ease-in-out,color .3s ease,outline-color .2s ease-in-out,opacity .2s ease-in-out}#contact input[type=submit]::-moz-focus-inner{border:0}@supports(-moz-appearance:meterbar){#contact select{color:var(--fg);color:transparent;text-shadow:0 0 0 var(--fg)}}.error{color:var(--err)}mark{background:var(--accent);filter:contrast(1.2)invert(1)}abbr{text-decoration-style:solid}blockquote{background:var(--alt-bg);border-style:solid;border-width:1px 1px 1px 12px;color:var(--alt-fg);margin:var(--blk-mg);padding:0 30px}blockquote p{margin:1.2rem 0}kbd{background-color:#eee;border:1px solid #b4b4b4;border-radius:2px;box-shadow:0 1px 1px rgba(0,0,0,.2),0 2px rgba(255,255,255,.7)inset;color:#333;display:inline-block;font-size:.85em;font-weight:700;line-height:1;padding:2px;white-space:nowrap}kbd>kbd{margin:0 2px}main{margin:90px auto;padding:0 15px;max-width:660px}article{margin:90px auto 120px}html{--blk-mg:1.05rem .75rem;--il-pad:0 12px;--hl-pad:15.75px 18px}@media(min-width:769px){html{--blk-mg:2.1rem 1.5rem;--il-pad:6px 24px;--hl-pad:21px 24px}.footnotes{padding:1rem .5rem 1.8rem}}a.anchor:not(:focus){opacity:0}h6>a:focus+a.anchor,h6:hover>a.anchor,h5>a:focus+a.anchor,h5:hover>a.anchor,h4>a:focus+a.anchor,h4:hover>a.anchor,h3>a:focus+a.anchor,h3:hover>a.anchor,h2>a:focus+a.anchor,h2:hover>a.anchor{opacity:1}.noscript{font-weight:700}blockquote.twitter-tweet{border-color:#1da0f1;padding:0 30px 27px}h2#vimeo-simple-shortcode{margin-bottom:1rem}div.s_video_simple{margin:0 auto;width:96%}div.s_video_simple a{border:1px solid var(--fg);display:block;margin:6px;line-height:0}div.s_video_simple a:hover{opacity:.75}section.youtube{border:1px solid var(--fg);margin:2rem 0;padding-bottom:56.25%;position:relative;overflow:hidden;height:0}section.info img{border:3px solid var(--fg);border-radius:9px}article>pre::-webkit-scrollbar,.scroll::-webkit-scrollbar,.katex-display::-webkit-scrollbar,.highlight>pre::-webkit-scrollbar,.highlight>div::-webkit-scrollbar{width:12px;height:12px}article>pre::-webkit-scrollbar-track,.scroll::-webkit-scrollbar-track,.katex-display::-webkit-scrollbar-track,.highlight>pre::-webkit-scrollbar-track,.highlight>div::-webkit-scrollbar-track{background:var(--input-bg)}article>pre::-webkit-scrollbar-track:horizontal,.scroll::-webkit-scrollbar-track:horizontal,.katex-display::-webkit-scrollbar-track:horizontal,.highlight>pre::-webkit-scrollbar-track:horizontal,.highlight>div::-webkit-scrollbar-track:horizontal{border-top:1px solid var(--input-bd)}article>pre::-webkit-scrollbar-track:vertical,.scroll::-webkit-scrollbar-track:vertical,.katex-display::-webkit-scrollbar-track:vertical,.highlight>pre::-webkit-scrollbar-track:vertical,.highlight>div::-webkit-scrollbar-track:vertical{border-left:1px solid var(--input-bd)}article>pre::-webkit-scrollbar-thumb,.scroll::-webkit-scrollbar-thumb,.katex-display::-webkit-scrollbar-thumb,.highlight>pre::-webkit-scrollbar-thumb,.highlight>div::-webkit-scrollbar-thumb{background:var(--accent);border:1px solid rgba(0,0,0,.3)}article>pre::-webkit-scrollbar-corner,.scroll::-webkit-scrollbar-corner,.katex-display::-webkit-scrollbar-corner,.highlight>pre::-webkit-scrollbar-corner,.highlight>div::-webkit-scrollbar-corner{background:var(--input-bg);border-color:var(--input-bd);border-style:solid;border-width:1px 0 0 1px} \ No newline at end of file
+@font-face{font-family:oswald;font-style:normal;font-weight:700;font-display:swap;src:local("Oswald"),url(../fonts/oswald-v29-latin-700.woff2)format("woff2"),url(../fonts/oswald-v29-latin-700.woff)format("woff")}@font-face{font-family:open sans;font-style:normal;font-weight:400;font-display:swap;src:local("Open Sans Regular"),local("OpenSans-Regular"),url(../fonts/open-sans-v17-latin-regular.woff2)format("woff2"),url(../fonts/open-sans-v17-latin-regular.woff)format("woff")}@font-face{font-family:open sans;font-style:normal;font-weight:700;font-display:swap;src:local("Open Sans Bold"),local("OpenSans-Bold"),url(../fonts/open-sans-v17-latin-700.woff2)format("woff2"),url(../fonts/open-sans-v17-latin-700.woff)format("woff")}@font-face{font-family:open sans;font-style:italic;font-weight:400;font-display:swap;src:local("Open Sans Italic"),local("OpenSans-Italic"),url(../fonts/open-sans-v17-latin-italic.woff2)format("woff2"),url(../fonts/open-sans-v17-latin-italic.woff)format("woff")}:root{font-size:18px}html{scroll-behavior:smooth}html[data-mode=light]{--bg:#ddd;--fg:#444;--alt-bg:#d6d6d6;--alt-fg:#333;--dtl:#fdfdfd;--err:#c70000;--bgmod:rgba(0, 0, 0, 0.3);--input-bg:#fefefe;--input-fg:#111;--input-bd:#ccc;--lpress:rgba(0, 0, 0, 0.2);--rlpress:rgba(255, 255, 255, 0.2)}html[data-mode=light] .chroma,html[data-mode=light] pre,html[data-mode=light] p code,html[data-mode=light] li code{color:#93a1a1;background-color:#002b36}html[data-mode=light] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}html[data-mode=light] .chroma .lntable{border-spacing:0;margin:0;border:0;width:auto;display:block}html[data-mode=light] .chroma .hl{display:block;width:100%;background-color:rgba(0,0,0,.3)}html[data-mode=light] .chroma .nb{color:#b58900}html[data-mode=light] .chroma .ge{font-style:italic}html[data-mode=light] .chroma .gr{color:#e8625f;font-weight:700}html[data-mode=light] .chroma .gs{font-weight:700}html[data-mode=light] .chroma .x,html[data-mode=light] .chroma .kc,html[data-mode=light] .chroma .no,html[data-mode=light] .chroma .ni,html[data-mode=light] .chroma .ne,html[data-mode=light] .chroma .se,html[data-mode=light] .chroma .gh{color:#e9662f}html[data-mode=light] .chroma .lnt,html[data-mode=light] .chroma .ln{margin-right:.4em;padding:0 .4em;color:#848f8f}html[data-mode=light] .chroma .k,html[data-mode=light] .chroma .kn,html[data-mode=light] .chroma .kp,html[data-mode=light] .chroma .o,html[data-mode=light] .chroma .ow,html[data-mode=light] .chroma .cs,html[data-mode=light] .chroma .cp,html[data-mode=light] .chroma .cpf,html[data-mode=light] .chroma .gi{color:#859900}html[data-mode=light] .chroma .kd,html[data-mode=light] .chroma .kr,html[data-mode=light] .chroma .bp,html[data-mode=light] .chroma .nc,html[data-mode=light] .chroma .nd,html[data-mode=light] .chroma .nf,html[data-mode=light] .chroma .nt,html[data-mode=light] .chroma .nv,html[data-mode=light] .chroma .gu{color:#3294da}html[data-mode=light] .chroma .kt,html[data-mode=light] .chroma .sr,html[data-mode=light] .chroma .gd{color:#e8625f}html[data-mode=light] .chroma .s,html[data-mode=light] .chroma .sa,html[data-mode=light] .chroma .sc,html[data-mode=light] .chroma .dl,html[data-mode=light] .chroma .s2,html[data-mode=light] .chroma .si,html[data-mode=light] .chroma .sx,html[data-mode=light] .chroma .s1,html[data-mode=light] .chroma .ss,html[data-mode=light] .chroma .m,html[data-mode=light] .chroma .mb,html[data-mode=light] .chroma .mf,html[data-mode=light] .chroma .mh,html[data-mode=light] .chroma .mi,html[data-mode=light] .chroma .il,html[data-mode=light] .chroma .mo{color:#2aa198}html[data-mode=light] .chroma .sb,html[data-mode=light] .chroma .c,html[data-mode=light] .chroma .ch,html[data-mode=light] .chroma .cm,html[data-mode=light] .chroma .c1{color:#759299}html[data-mode=dark]{--bg:#1f1f1f;--fg:#bbb;--alt-bg:#1c1c1c;--alt-fg:#ddd;--dtl:#1a1a1a;--err:#ff3131;--bgmod:rgba(255, 255, 255, 0.3);--input-bg:#222;--input-fg:#f0f0f0;--input-bd:#262626;--lpress:rgba(255, 255, 255, 0.2);--rlpress:rgba(0, 0, 0, 0.2)}html[data-mode=dark] img{filter:contrast(.85)grayscale(.3)}html[data-mode=dark] .chroma,html[data-mode=dark] pre,html[data-mode=dark] p code,html[data-mode=dark] li code{color:#f8f8f2;background:#272822}html[data-mode=dark] .chroma .err{color:#eb0083;background-color:#1e0010}html[data-mode=dark] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}html[data-mode=dark] .chroma .lntable{border-spacing:0;margin:0;border:0;width:auto;display:block}html[data-mode=dark] .chroma .hl{display:block;width:100%;background-color:rgba(0,0,0,.3)}html[data-mode=dark] .chroma .ge{font-style:italic}html[data-mode=dark] .chroma .gs{font-weight:700}html[data-mode=dark] .chroma .lnt,html[data-mode=dark] .chroma .ln{margin-right:.4em;padding:0 .4em;color:#8e8e8e}html[data-mode=dark] .chroma .k,html[data-mode=dark] .chroma .kc,html[data-mode=dark] .chroma .kd,html[data-mode=dark] .chroma .kp,html[data-mode=dark] .chroma .kr,html[data-mode=dark] .chroma .kt,html[data-mode=dark] .chroma .no{color:#66d9ef}html[data-mode=dark] .chroma .kn,html[data-mode=dark] .chroma .nt,html[data-mode=dark] .chroma .o,html[data-mode=dark] .chroma .ow,html[data-mode=dark] .chroma .gd{color:#f94e8a}html[data-mode=dark] .chroma .na,html[data-mode=dark] .chroma .nc,html[data-mode=dark] .chroma .nd,html[data-mode=dark] .chroma .ne,html[data-mode=dark] .chroma .nf,html[data-mode=dark] .chroma .nx,html[data-mode=dark] .chroma .gi{color:#a6e22e}html[data-mode=dark] .chroma .l,html[data-mode=dark] .chroma .se,html[data-mode=dark] .chroma .m,html[data-mode=dark] .chroma .mb,html[data-mode=dark] .chroma .mf,html[data-mode=dark] .chroma .mh,html[data-mode=dark] .chroma .mi,html[data-mode=dark] .chroma .il,html[data-mode=dark] .chroma .mo{color:#ae81ff}html[data-mode=dark] .chroma .ld,html[data-mode=dark] .chroma .s,html[data-mode=dark] .chroma .sa,html[data-mode=dark] .chroma .sb,html[data-mode=dark] .chroma .sc,html[data-mode=dark] .chroma .dl,html[data-mode=dark] .chroma .sd,html[data-mode=dark] .chroma .s2,html[data-mode=dark] .chroma .sh,html[data-mode=dark] .chroma .si,html[data-mode=dark] .chroma .sx,html[data-mode=dark] .chroma .sr,html[data-mode=dark] .chroma .s1,html[data-mode=dark] .chroma .ss{color:#e6db74}html[data-mode=dark] .chroma .c,html[data-mode=dark] .chroma .ch,html[data-mode=dark] .chroma .cm,html[data-mode=dark] .chroma .c1,html[data-mode=dark] .chroma .cs,html[data-mode=dark] .chroma .cp,html[data-mode=dark] .chroma .cpf,html[data-mode=dark] .chroma .gu{color:#949076}body{margin:0;padding:0;font-family:open sans,sans-serif;background:var(--bg);color:var(--fg);display:flex;min-height:100vh;flex-direction:column}body a{color:var(--accent);outline-offset:2px;transition:opacity .2s ease-in-out,outline-color .2s ease-in-out;word-break:break-word}body a:hover{opacity:.75}body>header,body>footer{background:var(--alt-bg);color:var(--alt-fg);text-align:center}body>header{padding:0 1.5rem 1rem}body>header nav{margin:.5rem 0 0}body>header nav ul{margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center}body>header nav ul a{display:block;word-break:keep-all;margin:0 7.5px 15px;padding:9px 21px 12px;font-size:.75rem;font-weight:700;text-transform:uppercase}body>footer{padding:1.5rem 3rem 1rem}body>footer p{line-height:1.5rem;margin:.5rem 0}body>footer a{transition:opacity .2s ease-in-out,outline-color .3s ease}body>footer a:hover{opacity:.75}body>footer section{padding:12px 0}body>footer section input{border:1px solid var(--fg);outline-offset:3px;padding:0}body>footer section input::-webkit-color-swatch{border:none}body>footer section input::-webkit-color-swatch-wrapper{padding:0}body>footer section button{background:0;border:0;padding:3px 3px 0}body>footer section button svg{fill:var(--fg);stroke:var(--lpress);stroke-width:.6rem}body>footer section input,body>footer section button{margin:0 7.5px;transition:outline-color .2s ease-in-out,transform .2s ease-in-out}body>footer section input:hover,body>footer section button:hover{transform:scale(1.2)}body>footer section input::-moz-focus-inner,body>footer section button::-moz-focus-inner{border:0}body>footer section input,body>footer section button svg{width:42px;height:42px}body a,.outline-dashed{outline:2px dashed transparent}body a:focus,.outline-dashed:focus{outline-color:var(--accent)}ol,ul{list-style:none}h1{text-shadow:0 1px 0 var(--rlpress),1px 0 0 var(--rlpress)}hr{border:1px solid var(--lpress);margin:2.4rem 0 1.2rem}::selection{background:var(--accent);color:#f0f0f0;text-shadow:none}.filler{flex:1;align-items:center;justify-content:center}article>header h1{line-height:3rem}article>header img{margin:1rem 0 0}article>header p{font-size:.9rem;font-style:italic}#contact input[type=submit],.label-form,.toc summary,body>header>a,h6,h5,h4,h3,h2,h1{font-family:oswald,sans-serif;font-weight:700}h1{font-size:2.25rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}main p{line-height:1.65rem}code{font-family:monospace;overflow-wrap:break-word}body>header>a{transition:color .3s ease,opacity .2s ease-in-out,outline-color .3s ease;font-size:2.25rem;text-shadow:0 1px 0 var(--rlpress),1px 0 0 var(--rlpress);display:inline-block;margin:1.5rem 0 .75rem}article>header{margin:0 0 2rem}article>header h1{margin:9px 0}article>header p{margin:0}article h2,article h3{margin:2rem 0 1rem}article p{margin:1.5rem 0}h6+p,h5+p,h4+p,h3+p,h2+p,h1+p{margin-top:0}h6,h5,h4,h3,h2{padding-top:1rem}audio,img,video{margin:1.8rem auto}.anchor{float:right;position:relative;transform:none;margin:0 0 0 1.5rem}.anchor svg{fill:var(--accent);vertical-align:middle;width:24px;height:24px}h2 .anchor{margin-right:.65rem;outline-offset:7.5px}h2 .anchor svg{transform:scale(1.7)}h3 .anchor{margin-right:.55rem;outline-offset:6.25px}h3 .anchor svg{transform:scale(1.525)}h4 .anchor{margin-right:.45rem;outline-offset:5px}h4 .anchor svg{transform:scale(1.35)}h5 .anchor{margin-right:.35rem;outline-offset:3.75px}h5 .anchor svg{transform:scale(1.175)}h6 .anchor{margin-right:.25rem;outline-offset:2.5px}h6 .anchor svg{transform:scale(1)}@media(min-width:793px){.anchor{position:absolute;transform:translate(-150%)}h2 .anchor{margin:0 0 0 -.25rem}h3 .anchor{margin:0 0 0 -.15rem}h4 .anchor{margin:0 0 0 -.05rem}h5 .anchor{margin:0 0 0 .05rem}h6 .anchor{margin:0 0 0 .15rem}}label,summary,.footnote-ref,.lnt{user-select:none}article ol li,article ul li{margin-bottom:.45rem}ol{counter-reset:a-counter}ol li{counter-increment:a-counter}ol li::before{content:counter(a-counter)"";font-size:.85rem;font-weight:700;text-shadow:0 1px 0 var(--lpress),1px 0 0 var(--lpress);background:var(--fg);border:1px solid var(--lpress);border-radius:2px;color:var(--bg);margin-right:12px;padding:2px 7.5px}.footnotes{border-top:2px solid var(--fg);display:block;margin-top:2.4rem;padding:1rem 0 1.8rem}.footnotes h2{margin:0 0 2rem}.footnotes a{word-break:break-word}.footnotes ol li p:first-of-type{display:inline;margin-left:-6px}.footnotes .footnote-backref{margin:0 0 0 9px;padding:0 9px;vertical-align:middle}.footnotes .footnote-backref svg{fill:var(--dtl);stroke:var(--lpress);stroke-width:.6rem;width:18px;height:18px}.footnotes hr{display:none}sup{line-height:0}sup .footnote-ref{text-decoration:none}sup .footnote-ref::before{content:'['}sup .footnote-ref::after{content:']'}code,.chroma{transition:background-color .3s ease,color .3s ease}article>pre,.scroll,.katex-display,.highlight>pre,.highlight>div{overflow-x:auto;transition:background-color .3s ease,color .3s ease,outline-color .3s ease;outline:3px solid transparent}article>pre:focus,.scroll:focus,.katex-display:focus,.highlight>pre:focus,.highlight>div:focus{outline-color:var(--accent)}.scroll{border:1px solid var(--fg)}.scroll>table{border-collapse:collapse;color:var(--fg);font-family:open sans,sans-serif;min-width:600px;width:100%}.scroll>table td+td{border-left:1px solid var(--fg)}.scroll>table tr+tr{border-top:1px solid var(--fg)}.scroll>table td,.scroll>table th{padding:9px}.scroll>table th{background:var(--fg);color:var(--bg)}.scroll>table tr{transition:background .2s ease-in-out,color .2s ease-in-out}.scroll>table tr:nth-child(even){background:var(--alt-bg)}.scroll>table tr:nth-child(odd){background:var(--bg)}.scroll>table tr:hover{background:var(--accent);color:var(--dtl)}.highlight>div table{padding:0 24px;max-height:75vh}.chroma td:first-of-type{padding:0 18px 0 0}article>pre,.katex-display,.highlight>pre{padding:var(--hl-pad)}article>pre,.katex-display,.highlight>pre,.highlight>.chroma{border:1px solid #222;line-height:1.5rem;max-height:75vh}mark,p code,li code{border-radius:2px;padding:1px 3px}li a{word-break:break-all}article>header .terms{margin:.9rem 0 .6rem}article>header .terms ul{padding:0}article>header .terms li{display:inline}article>header .terms a{display:inline-block;margin:0 7.5px 9px 0;padding:6px 15px 9px}.posts{padding:0}.posts li{margin:.5rem 0}.posts a{background:var(--accent);color:var(--dtl);display:flex;margin:15px auto;padding:15px 30px 18px;text-decoration:none;align-items:center;word-break:break-word}.posts a p{flex:1;margin:0}.posts a time{background-image:linear-gradient(0deg,var(--bgmod),100%,transparent);border-radius:2px;font-size:.85rem;margin-left:1.8rem;padding:0 9px 2px}@media(max-width:768px){.posts a{flex-direction:column-reverse;align-items:unset}.posts a time{margin:.3rem 0}}.katex-display{border:1px dashed var(--alt-fg);overflow-x:auto;padding:15px 30px}.katex-display:focus{border:1px solid #222}img,figure,video{width:auto;height:auto}img{display:block;max-width:100%;max-height:75vh;outline:3px solid transparent;transition:border-color .3s ease,outline-color .3s ease,filter .3s ease}img.cover{border:1px solid var(--fg);object-fit:cover;width:100%}article p>img{display:block;margin:2rem auto;max-width:100%}figure{margin:1.8rem auto}figure img{display:block;margin:0 auto;max-width:90%}figure figcaption{font-size:.85rem;text-align:center;margin:.75rem;line-height:1.5rem}video{display:block;max-width:91%;max-height:75vh;outline:3px solid transparent;transition:border-color .3s ease,outline-color .3s ease}video:focus,video:hover{border-color:var(--accent);outline-color:var(--accent)}video.gifoid{margin:3rem auto;max-width:90%}audio{display:block;width:90%}img.border,video.border{border:1px solid var(--fg)}img.borderless,video.borderless{border:0}.toc{background:var(--alt-bg);color:var(--dtl);transition:background-color .3s ease,border .3s ease,linear-gradient .3s ease}.toc summary{background:var(--accent);border:1px solid rgba(0,0,0,.3);border-radius:2px;outline-offset:2px;padding:15px 30px 18.5px;box-shadow:inset 0 1px rgba(255,255,255,.2),inset 0 -3px rgba(0,0,0,.3);text-shadow:0 1px 0 var(--lpress),1px 0 0 var(--lpress);transition:color .3s ease,opacity .2s ease,outline-color .3s ease,padding .2s ease}.toc summary:hover{opacity:.75}.toc[open] summary{border-radius:2px 2px 0 0;box-shadow:inset 0 1px rgba(255,255,255,.2);padding:15px 30px}.toc[open] summary~*{animation:smoothReveal .3s ease-in-out}.toc nav#TableOfContents{border-style:solid;border-color:rgba(0,0,0,.3);border-width:0 1px 1px;border-radius:0 0 2px 2px;box-shadow:inset 0 -3px rgba(0,0,0,.3);padding:6px 15px 15px 9px}.toc nav#TableOfContents li:first-of-type{margin-top:.3rem}.toc nav#TableOfContents ul li:not(:last-of-type),.toc nav#TableOfContents ul li ul li:first-of-type,.toc nav#TableOfContents ul li ol li:first-of-type,.toc nav#TableOfContents ol li:not(:last-of-type),.toc nav#TableOfContents ol li ul li:first-of-type,.toc nav#TableOfContents ol li ol li:first-of-type{margin-bottom:.3rem}#TableOfContents,.footnotes ol,article>ul,article>ol{line-height:1.5rem}#TableOfContents ul,.footnotes ol{padding-left:24px}article>ul,article>ul ul,article>ol,article>ol ol{padding:0 24px}#TableOfContents ul li:before,article>ul li:before{content:'';margin-right:12px;background:var(--fg);border-radius:2px;width:18px;height:18px;display:inline-block;margin-bottom:-3px}@keyframes smoothReveal{0%{opacity:0}100%{opacity:1}}.btn,.footnote-backref,input[type=submit]{background:var(--accent);border:1px solid rgba(0,0,0,.3);border-radius:2px;color:var(--dtl);text-decoration:none;transition:background-color .3s ease,color .3s ease,opacity .2s ease-in-out,outline-color .3s ease;box-shadow:inset 0 1px rgba(255,255,255,.2),inset 0 -3px rgba(0,0,0,.3);text-shadow:0 1px 0 var(--lpress),1px 0 0 var(--lpress)}.btn:hover,.footnote-backref:hover,input[type=submit]:hover{opacity:.75}button,input[type=color],input[type=submit],summary{cursor:pointer}.category a{font-weight:700}.terms{display:flex;flex-wrap:wrap;padding:0}.terms a{display:flex;flex:1;align-items:center;margin:0 9px 9px 0;padding:7.5px 18px 10.5px;word-break:keep-all}.terms a span{background-image:linear-gradient(0deg,var(--bgmod),100%,transparent);border-radius:2px;margin-left:.45rem;padding:0 6px 1px;font-size:.85rem}.pagination{font-family:open sans,sans-serif;font-weight:700;text-align:center;margin:3rem auto 1rem;display:flex;flex-wrap:wrap;justify-content:center}.pagination li{display:inline-block;transition:background .2s ease-in-out,border .2s ease-in-out}.pagination li a,.pagination li.current p{display:block;margin:0 9px 9px 0;padding:7.5px 12px 10.5px;width:21px}.pagination li a{color:var(--dtl)}.pagination li.current p{background:var(--alt-bg);border:1px solid rgba(0,0,0,.45);border-radius:2px;color:var(--alt-fg);line-height:inherit;user-select:none;box-shadow:inset 0 1px rgba(255,255,255,.2),inset 0 -3px rgba(0,0,0,.3);text-shadow:0 1px 0 var(--lpress),1px 0 0 var(--lpress)}.pagination svg{display:inline-block;fill:currentColor;width:18px;height:18px;margin:auto auto -2px}.label-form{margin-top:1rem;font-size:.9rem;letter-spacing:.5px;text-transform:uppercase}.input-text{background:var(--input-bg);border:1px solid var(--input-bd);color:var(--input-fg);font-family:open sans,sans-serif;font-size:.9rem;line-height:1.5rem;transition:background-color .3s ease,border .3s ease,outline-color .2s ease-in-out;outline:2px solid transparent}.input-text:focus{outline-color:var(--accent)}.search-box form{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch}.search-box label{flex-basis:100%;line-height:2rem}.search-box input[name=q]{padding:6px 12px;flex:1;border-radius:2px 0 0 2px}.search-box button{border-radius:0 2px 2px 0;padding:6px 30px;outline-offset:2px}.search-box button svg{width:15px;height:15px;fill:currentColor;stroke:var(--lpress);stroke-width:9px}#search-info{margin:1rem 0 2rem}#search-info+ul{margin:0 0 6rem}.social{margin:1.5rem 0;display:flex;flex-wrap:wrap}.social a{display:flex;flex:1;align-items:center;margin:0 9px 9px 0;min-width:150px;padding:15px 21px;text-align:center}.social a svg{fill:currentColor;stroke:var(--lpress);stroke-width:9px;width:36px;height:36px}.social a p{flex:1;margin:0 12px;font-size:.75rem;font-weight:700;text-transform:uppercase;line-height:1rem}.social a:hover{opacity:.75}#contact{margin:1.5rem 0}#contact label{display:block;line-height:1.8rem}#contact input[name=name],#contact input[name=_replyto],#contact input[name=_subject],#contact select,#contact textarea{display:block;margin:3px 0;max-width:100%}#contact input[name=name],#contact input[name=_replyto],#contact input[name=_subject]{min-width:240px;padding:6px 12px}#contact select{min-width:210px;padding:6px}#contact textarea{padding:9px 15px;width:90%;height:auto}#contact input[type=submit]{font-size:.75rem;text-transform:uppercase;letter-spacing:.05rem;margin-top:1.2rem;padding:12px 42px 15px;outline-offset:2px;transition:background-color .3s ease,border .2s ease-in-out,color .3s ease,outline-color .2s ease-in-out,opacity .2s ease-in-out}#contact input[type=submit]::-moz-focus-inner{border:0}@supports(-moz-appearance:meterbar){#contact select{color:var(--fg);color:transparent;text-shadow:0 0 0 var(--fg)}}.error{color:var(--err)}mark{background:var(--accent);filter:contrast(1.2)invert(1)}abbr{text-decoration-style:solid}blockquote{background:var(--alt-bg);border-style:solid;border-width:1px 1px 1px 12px;color:var(--alt-fg);margin:var(--blk-mg);padding:0 30px}blockquote p{margin:1.2rem 0}kbd{background-color:#eee;border:1px solid #b4b4b4;border-radius:2px;box-shadow:0 1px 1px rgba(0,0,0,.2),0 2px rgba(255,255,255,.7)inset;color:#333;display:inline-block;font-size:.85em;font-weight:700;line-height:1;padding:2px;white-space:nowrap}kbd>kbd{margin:0 2px}main{margin:90px auto;padding:0 15px;max-width:660px}article{margin:90px auto 120px}html{--blk-mg:1.05rem .75rem;--il-pad:0 12px;--hl-pad:15.75px 18px}@media(min-width:769px){html{--blk-mg:2.1rem 1.5rem;--il-pad:6px 24px;--hl-pad:21px 24px}.footnotes{padding:1rem .5rem 1.8rem}}a.anchor:not(:focus){opacity:0}h6>a:focus+a.anchor,h6:hover>a.anchor,h5>a:focus+a.anchor,h5:hover>a.anchor,h4>a:focus+a.anchor,h4:hover>a.anchor,h3>a:focus+a.anchor,h3:hover>a.anchor,h2>a:focus+a.anchor,h2:hover>a.anchor{opacity:1}.noscript{font-weight:700}blockquote.twitter-tweet{border-color:#1da0f1;padding:0 30px 27px}h2#vimeo-simple-shortcode{margin-bottom:1rem}div.s_video_simple{margin:0 auto;width:96%}div.s_video_simple a{border:1px solid var(--fg);display:block;margin:6px;line-height:0}div.s_video_simple a:hover{opacity:.75}section.youtube{border:1px solid var(--fg);margin:2rem 0;padding-bottom:56.25%;position:relative;overflow:hidden;height:0}section.info img{border:3px solid var(--fg);border-radius:9px}article>pre::-webkit-scrollbar,.scroll::-webkit-scrollbar,.katex-display::-webkit-scrollbar,.highlight>pre::-webkit-scrollbar,.highlight>div::-webkit-scrollbar{width:12px;height:12px}article>pre::-webkit-scrollbar-track,.scroll::-webkit-scrollbar-track,.katex-display::-webkit-scrollbar-track,.highlight>pre::-webkit-scrollbar-track,.highlight>div::-webkit-scrollbar-track{background:var(--input-bg)}article>pre::-webkit-scrollbar-track:horizontal,.scroll::-webkit-scrollbar-track:horizontal,.katex-display::-webkit-scrollbar-track:horizontal,.highlight>pre::-webkit-scrollbar-track:horizontal,.highlight>div::-webkit-scrollbar-track:horizontal{border-top:1px solid var(--input-bd)}article>pre::-webkit-scrollbar-track:vertical,.scroll::-webkit-scrollbar-track:vertical,.katex-display::-webkit-scrollbar-track:vertical,.highlight>pre::-webkit-scrollbar-track:vertical,.highlight>div::-webkit-scrollbar-track:vertical{border-left:1px solid var(--input-bd)}article>pre::-webkit-scrollbar-thumb,.scroll::-webkit-scrollbar-thumb,.katex-display::-webkit-scrollbar-thumb,.highlight>pre::-webkit-scrollbar-thumb,.highlight>div::-webkit-scrollbar-thumb{background:var(--accent);border:1px solid rgba(0,0,0,.3)}article>pre::-webkit-scrollbar-corner,.scroll::-webkit-scrollbar-corner,.katex-display::-webkit-scrollbar-corner,.highlight>pre::-webkit-scrollbar-corner,.highlight>div::-webkit-scrollbar-corner{background:var(--input-bg);border-color:var(--input-bd);border-style:solid;border-width:1px 0 0 1px} \ No newline at end of file
diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html
index ec9b8de..e122729 100644
--- a/layouts/partials/footer.html
+++ b/layouts/partials/footer.html
@@ -1,10 +1,21 @@
-<!-- Custom or default copyright -->
-{{ if (templates.Exists "partials/custom/copyright.html") }}
- {{ partial "custom/copyright" . }}
+<!-- Custom or default footer text -->
+{{ if (templates.Exists "partials/custom/footer-text.html") }}
+ {{ partial "custom/footer-text" . }}
{{ else }}
- {{ with .Site.Copyright }}
- <p>{{ . | markdownify | emojify }}</p>
+
+ {{ with .Site.Params.footerText }}
+
+ {{ $processedFooterText := slice }}
+
+ {{ range . }}
+ {{ $currentParagraph := printf `<p>%s</p>` (. | markdownify | emojify) }}
+ {{ $processedFooterText = $processedFooterText | append $currentParagraph }}
+ {{ end }}
+
+ {{ delimit $processedFooterText "" }}
+
{{ end }}
+
{{ end }}
<!--